Hi, fällt jemanden ein fertiges Bauteil ein mit dem ich den aktuell vorherrschenden Schalldruckpegel in dB(A) in den Arduino bekomme? Vorzugsweise I²C oder per ADC. Die ersten Versuche mit Elektretmikro und MPC3008 waren nicht wirklich erfolgreich, die Werte vom ADC geben nicht die Lautstärke wieder... schwankt sehr stark. Ich tippe mal drauf ich brauche noch irgend einen Verstärker für das Mikro und ggf. etwas Mathefoo um die Peaks rauszurechnen?
Nötiger Frequenzbereich? Falls 0-15kHz ausreichen: Lautsprecher an ADC anschließen, samplen, MATLAB (das ist der Fachbegriff für Mathefoo). Beachte, dass gefühlte Lautheit Frequenzabhängig ist. Ein 3kHz Sinus hört sich mindestens doppelt so laut an wie ein 50Hz Brummen gleicher Amplitude.
THOR schrieb: > Nötiger Frequenzbereich? > > Falls 0-15kHz ausreichen: > > Lautsprecher an ADC anschließen, samplen, MATLAB (das ist der > Fachbegriff für Mathefoo). > > Beachte, dass gefühlte Lautheit Frequenzabhängig ist. Ein 3kHz Sinus > hört sich mindestens doppelt so laut an wie ein 50Hz Brummen gleicher > Amplitude. Der Frequenzbereich passt, sollte halt alles von der stillen Blumenwiese (etwa 40dB?) bis zum Presslufthammer abgedeckt werden können. Matlab bedingt doch aber wieder einen 2. Rechner + Rechenleistung? Wäre Vorteilhaft wenn der Arduino das alles selbst hinkriegen würde. Ich dachte jetzt eher dran einen Spannungspegel zu messen und den Wert dann anhand einer Schalldrucktabelle umzurechnen. Kommt da nicht aufs Dezibel an, aber so +-5dB wäre an Genauigkeit schon schön. Oder gibt es fertige (und günstige) kompakte Schalldruckpegelmesser die I2C oder so haben? Mir ist nicht so ganz klar ob das hier brauchbare Werte liefert: https://learn.adafruit.com/adafruit-microphone-amplifier-breakout/measuring-sound-levels
:
Bearbeitet durch User
Denni D. schrieb: > Die ersten Versuche mit Elektretmikro und MPC3008 waren nicht wirklich > erfolgreich, die Werte vom ADC geben nicht die Lautstärke wieder... > schwankt sehr stark. Ich tippe mal drauf ich brauche noch irgend einen Selbstverständlich schwankt das, es gibt keinen Ton ohne Frequenz. So etwas kann man nur mit Drucksensor messen. Entweder nur die Peak Werte nehmen oder Durchschnitt über einen gewissen Zeitraum ausrechnen.
Denni D. schrieb: > Der Frequenzbereich passt, sollte halt alles von der stillen Blumenwiese > (etwa 40dB?) bis zum Presslufthammer abgedeckt werden können. Nen AAF brauchst du zwingend, die Oberwellen vom Presslufthammer werden dann weggefiltert. Aber die tragen auch kaum zum Schalldruckpegel bei. Denni D. schrieb: > Matlab bedingt doch aber wieder einen 2. Rechner + Rechenleistung? > Wäre Vorteilhaft wenn der Arduino das alles selbst hinkriegen würde. Bis 20kHz kann ein Atmega noch selbst samplen und nen simplen FIR darstellen. Da kommts ein bischen auf deine Anforderungen an und deine MATLAB/Programmierkünste. Programmierung vermutlich in nacktem C ohne Arduino wegen Overhead. Denni D. schrieb: > Ich dachte jetzt eher dran einen Spannungspegel zu messen und den Wert > dann anhand einer Schalldrucktabelle umzurechnen. Kommt da nicht aufs > Dezibel an, aber so +-5dB wäre an Genauigkeit schon schön. Spannungspegel und Schalldruckpegel haben mit sehr geringer Wahrscheinlichkeit einen linearen Zusammenhang. Könntest du das Gerät kalibrieren? Denni D. schrieb: > Oder gibt es fertige (und günstige) kompakte Schalldruckpegelmesser die > I2C oder so haben? Jo, so VU-Meter Sachen. OPV + Hüllkurvendemodulator. Inwiefern die Peak-Amplitude der Spannung Rückschlüsse über den Schalldruckpegel liefern kann weiss ich nicht. Da der Schalldruckpegel als Eingangsgröße den Effektivwert des Schalldrucks hat, funktioniert das bestimmt nur bei reinem Sinuston und Technobässen ausreichend gut. Denni D. schrieb: > Mir ist nicht so ganz klar ob das hier brauchbare Werte liefert: > > https://learn.adafruit.com/adafruit-microphone-amplifier-breakout/measuring-sound-levels Naja. Bei der Samplingrate eher nicht. Aber die Software kannst du ja anpassen. Aber das Ding ist halt auch nicht viel: Mikrophon, Verstärker. Arduino ist halt oft Blinki-Bunti Spielerei. Sachen fürs Auge. Messtechnik bekommst du bei Adafruit nicht.
Marc V. schrieb: > Selbstverständlich schwankt das, es gibt keinen Ton ohne Frequenz. > So etwas kann man nur mit Drucksensor messen. Es schwankte auch bei Testtönen, da hätte ich halbwegs konstante Werte erwartet... nunja. > Entweder nur die Peak Werte nehmen oder Durchschnitt über einen > gewissen Zeitraum ausrechnen. Und wie? Ich nehme mal an es ist schlauer das analog zu bauen und dann erst in den ADC einzuspeisen? THOR schrieb: > Nen AAF brauchst du zwingend, die Oberwellen vom Presslufthammer werden > dann weggefiltert. Aber die tragen auch kaum zum Schalldruckpegel bei. AAF? > Bis 20kHz kann ein Atmega noch selbst samplen und nen simplen FIR > darstellen. Da kommts ein bischen auf deine Anforderungen an und deine > MATLAB/Programmierkünste. > Programmierung vermutlich in nacktem C ohne Arduino wegen Overhead. Programmierkünst? Ich? Gar keine. :) Und nun? Klingt für mich so als sollte die Schaltung das Signal schon als Durchschnittswert liefern damit der ADC nur noch die generelle Stärke messen muss? > Spannungspegel und Schalldruckpegel haben mit sehr geringer > Wahrscheinlichkeit einen linearen Zusammenhang. Könntest du das Gerät > kalibrieren? Keine Ahnung. Auf Ebay und Amazon verramschen die für 10-20€ Schallpegelmessgeräte. Ob die gut genug sind? Wie testet man das ansonsten? Sinuston auf die Boxen und dann Messgerät + Selbstbausensor messen lassen und gucken dass man es angleicht? > Jo, so VU-Meter Sachen. OPV + Hüllkurvendemodulator. Inwiefern die > Peak-Amplitude der Spannung Rückschlüsse über den Schalldruckpegel > liefern kann weiss ich nicht. > Da der Schalldruckpegel als Eingangsgröße den Effektivwert des > Schalldrucks hat, funktioniert das bestimmt nur bei reinem Sinuston und > Technobässen ausreichend gut. Hilft also nicht? > Naja. Bei der Samplingrate eher nicht. Aber die Software kannst du ja > anpassen. Aber das Ding ist halt auch nicht viel: Mikrophon, Verstärker. Anpassen ist gut wenn ich keine AHnung von nichts habe. ;)
Denni D. schrieb: > Anpassen ist gut wenn ich keine AHnung von nichts habe. ;) Für absolut alles was du in deinem Leben tun willst, ist das eine sehr schlechte Vorraussetzung. Vorschlag: Du baust den Adafruit Bausatz nach, passt ihn an deine Wünsche an und entweder reicht das oder nicht. In beiden Fällen hast du dich von deiner selbstverschuldeten Unmündigkeit befreit, ggf. auch Lehrgeld bezahlt. Denni D. schrieb: > Sinuston auf die Boxen und dann Messgerät + Selbstbausensor messen > lassen und gucken dass man es angleicht? Ja, das ist die Definition von Kalibrierung. Bis auf den Sinuston, da ist der Effektivwert ja denkbar einfach. Mehrere überlagerte Sinustöne mit Rauschen, da wirds spannend. Es gibt auch Musik die super als Testsignal geeignet ist: Iron Maiden Solos, King of my castle. Auf letzteres kannste sogar ein Oszi triggern :P So Messgeräte (also Gute jetzt) gibts in der Veranstaltungstechnik. Geh mal auf ein Festival und frag die Jungs am Soundturm. Stadtverwaltungen werden sowas auch haben, wenn du da jemand kennst...
https://www.elv.de/multifunktions-umweltmessgeraet.html "Schallpegel bis 130 dB, Messcharakteristik A, fast (an die Hörpsychologie angepasste Frequenzkurve, erlaubt auch das Erfassen kurzer Pegelspitzen)" 54,95€ mit RS232-Schnittstelle, wäre auch eine Möglichkeit. Für dB-lineare Darstellung gibt es die True-RMS-ICs von Analog.com, AD536/636 und andere, teilweise schon mit dB-Ausgang.
Denni D. schrieb: > Hi, > > fällt jemanden ein fertiges Bauteil ein mit dem ich den aktuell > vorherrschenden Schalldruckpegel in dB(A) in den Arduino bekomme? Spielzeug, Werkzeug oder Messzeug? In der Kategorie Messzeug: https://www.bksv.com/~/media/literature/Catalogue/bf0236.ashx?la=en
So, ein paar Tage krank gewesen und trotzdem noch nicht weiter. :) Sebastian: ich finde da jetzt aber auch irgendwie nichts an kleinen Bauteilen dass mir hinten ein serielles Signal mit dem dBA-Wert ausspuckt, oder bin ich blind? Was ich jetzt aktuell hier liegen habe: ein Elektretmikro, einen MCP3008 8-Kanal 10-Bit ADC, irgend ein OpAmp (MCP oder so, muss ich nachsehen), diverse Widerstände und Kondensatoren. Braucht es da jetzt noch was an Antialaisingfilter vor dem Digitalisieren um den Pegel zu mitteln oder geht das auch so? Ich hab parallel auch zwei China-Pegelmesser die beide dBA messen besorgt. Leider erkenne ich laut Datenblätter bei denen auch keine Möglichkeit irgend ein Datensignal abzugreifen. Scheinbar machen die Microcontroller genau den Job, den ich für meinen Arduino vorgesehen habe: http://i.imgur.com/qq50XTN.jpg http://i.imgur.com/szOt3SH.jpg
Denni D. schrieb: > Der Frequenzbereich passt, sollte halt alles von der stillen Blumenwiese > (etwa 40dB?) bis zum Presslufthammer abgedeckt werden können. Denni D. schrieb: > Was ich jetzt aktuell hier liegen habe: ein Elektretmikro, einen MCP3008 > 8-Kanal 10-Bit ADC, irgend ein OpAmp (MCP oder so, muss ich nachsehen), > diverse Widerstände und Kondensatoren. > > Braucht es da jetzt noch was an Antialaisingfilter vor dem > Digitalisieren um den Pegel zu mitteln oder geht das auch so? Wenn dein Presslufthammer nicht hundert Meter entfernt stehen soll, rechne dir mal aus, welche Dynamik dein ADC hat und auf welche Dynamik es dein Signal bringt. Das könnte als direkte, lineare Messung zumindest knapp werden, ganz abgesehen von den Anforderungen an Mikrophon nebst Vorverstärker.
Du kannst den Schalldruck nur als Wert bei einer bestimmten Frequenz messen. Diese A-Kurve dus der dB-Norm gibt den Empfindlichkeitsverlauf des menschlichen OHres wieder.
:
Bearbeitet durch User
Wolfgang schrieb: > Wenn dein Presslufthammer nicht hundert Meter entfernt stehen soll, Die nächste Schallquelle wird wohl so 3-4m weg sein, die lauteste wohl so 15m (zumindest das, was im Nahbereich so passiert) > rechne dir mal aus, welche Dynamik dein ADC hat und auf welche Dynamik > es dein Signal bringt. Das könnte als direkte, lineare Messung zumindest > knapp werden, ganz abgesehen von den Anforderungen an Mikrophon nebst > Vorverstärker. Linear messen (also von 1-1023 vom ADC) scheint hier ja keine plausiblen Ergebnisse zu geben. Ich habe schon Codebeispiele für Arduino und dBA gefunden, allerdings basieren die auf einem anderen MCP mit 12bit. Bringt Extra-Auflösung bei der Thematik was? Magst du mir erklären wie ich ausrechne welche Dynamik ich mit Mikro + Verstärker wohl erreiche? Ich habe das Mikro: http://www.produktinfo.conrad.com/datenblaetter/300000-324999/301990-da-01-en-MIKROFONKAPSEL_EM3.pdf Als Mikroverstärker hab ich u.a. dies hier als Anhalspunkt: http://davidegironi.blogspot.de/2014/02/a-simple-sound-pressure-level-meter-spl.html#.WOBq6lXyhhE Allerdings weiß ich nicht wie ich die Signalverarbeitung die dort in Processing passiert in den Arduino kriege... R. F. schrieb: > Du kannst den Schalldruck nur als Wert bei einer bestimmten Frequenz > messen. Diese A-Kurve dus der dB-Norm gibt den Empfindlichkeitsverlauf > des menschlichen OHres wieder. Darum geht es doch, soll ja gemessen werden ob es für Menschen zu laut ist. :) Ich hab hier zwei Pegelmesser, die benutzen auch nur Microcontroller + ADC, aber nirgendwo lässt sich da ein fertiges Signal abgreifen. Bei dem einen wird das LCD direkt vom Microcontroller angesteuert, beim anderen ein Displaytreiber, Nutzdaten bekomme ich da aber so leider nicht raus.
:
Bearbeitet durch User
Denni D. schrieb: > Linear messen (also von 1-1023 vom ADC) scheint hier ja keine plausiblen > Ergebnisse zu geben. Du wirst aber damit leben müssen, das logarithmische Verstärker heutzutage eher Nischenprodukte sind. Da SPL aber ein logarithmisches Mass für das Verhältnis zweier Schalldrücke ist, musst du irgendwo in deiner Signalkette den Logarithmus bilden. Ob das aber vor dem ADC, im ADC oder während der Berechnung des SPL passiert, ist für das Ergebnis egal. Kurz: Wenn du von "Graswachsen" bis "Presslufthammer-in-3m" alles erfassen möchtest, müssen Mikrophon, Vorverstärker, ADC und Berechnungsalgorithmus eine entsprechende Dynamik besitzen. R. F. schrieb: > Du kannst den Schalldruck nur als Wert bei einer bestimmten Frequenz > messen. Diese A-Kurve dus der dB-Norm gibt den Empfindlichkeitsverlauf > des menschlichen OHres wieder. Der Schalldruckpegel hat mit der A-Kurve für den Empfindlichkeitsverlauf des menschlichen Ohres erstmal wenig zu tun, außer dass bei der Festlegung des Referenzwertes für 0dB zu 20µPa die Idee war, hier den Schalldruckpegel zu verwenden, der der Hörschwelle bei 1kHz entspicht (was aber nicht ganz gelungen ist). Da die gewünschte Einheit der Messgröße "dB(A)" sein soll, geht es bei den Messungen anscheinend nicht um den gemessenen Schalldruckpegel, sondern um den bewerteter Schalldruckpegel. Der Schalldruckpegel muss also frequenzaufgelöst gemessen werden und mit der gewünschten Bewertungskurve gewichtet werden. https://de.wikipedia.org/wiki/Frequenzbewertung
Denni D. schrieb: > Bringt Extra-Auflösung bei der Thematik was? Sind dir nicht mal die Grundzüge dessen bekannt, was du messen willst ? dB ist eine logarithmische Kurve, +20 ist jeweils eine ver-10-fachung. dB(A) gar eine frequenzgefilterte. Du siehst das kommerzielle Gerät, erkennst daß dort einige Bauteile drin verbaut sind, und glaubst, FÜR DICH gäbe es das auch in einfacher ? Warum denkst du hat der Hersteller die Bauteile eingebaut, weil er sie übrig hatte ? Oder nicht vielleicht doch weil sie zu einer billigen aber korrekten Lösung des Problem nötig waren. Dein Mikro liefert eine Spannung von 1.8mV Spitze-Spitze bei 94dB (SPL) bei 1kHz. Das 10-fache bei 114dB und 1/10 bei 74dB. Wenn du einen 10 bit A/D-Wandler einsetzt, wäre nicht mehr als ein 50dB Bereich anzeigbar. Das ist wohl nicht ganz so schlimm, da das miese Mikro auch bloss 40dB Rauschabstand hat. Was mir beim Mikro fehlt, ist eine Angabe welchen maximalen Schalldruckpegel es denn noch linear verarbeiten kann. http://www.sengpielaudio.com/Rechner-db-volt.htm http://www.sengpielaudio.com/Rechner-schallpegel.htm Es gibt jetzt die Möglichkeit, das Mikrosignal bloss zu verstärken und von einem SCHNELLEN A/D-Wandler (über 100ksps) zu erfassen, dann digital im uC nach A-Kurve zu filtern und Spitzenwert zu bilden, oder die A-Bewertung http://sound.whsites.net/project17.htm und Spitzenwertgleichrichtung http://sound.whsites.net/project60.htm (Figure 4) extern mit OpAmps vorzunehmen bevor man das Ergebnis langsamer digitalisiert.
:
Bearbeitet durch User
THOR schrieb: > Denni D. schrieb: >> Sinuston auf die Boxen und dann Messgerät + Selbstbausensor messen >> lassen und gucken dass man es angleicht? > > Ja, das ist die Definition von Kalibrierung. Da täuscht du dich. Eine Kalibrierung erfasst erstmal nur die Abweichungen gegenüber einem Normal.
Denni D. schrieb: > Sebastian: ich finde da jetzt aber auch irgendwie nichts an kleinen > Bauteilen dass mir hinten ein serielles Signal mit dem dBA-Wert > ausspuckt, oder bin ich blind? Brüel & Kjær macht Messzeug. Da gibt es Komponenten. Mikrofonkapsel-Mikrofonverstärker-Transducer und Kalibrator deren Zusammensetzung auf die Anwendung abgestimmt werden. Rechne damit dass du für jedes Teil einen 4stelligen EUR Betrag bezahlen sollst. Die Kabel um es zu verbinden ca. einen kleinen schlagen noch einmal mit einem 3-stelligen EUR Betrag zu Buche. Eierlegende Wollmilchsäue haben die aber auch: https://bksv.com/en/products/sound-and-vibration-meters/sound-level-meters-and-vibration-meters Aber bitte nicht das Kalibrierwerkzeug vergessen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.