www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Schalldruckmessung


Autor: Chris S. (p41145)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

Ich wollte ein wenig Hilfe haben bezüglich Schalldruckmessung.

Ich wollte ein Schallsensor bauen, mit ein Messbereich von 130-150db in 
0,2db schritten.
Zu messende Frequenz wäre zwischen 30-60Hz.

Grundlage warum ich es brauch ist mein Hobby dB Drag. Die dort 
verwendeten Messgeräte kosten ca.700 Euro und nennen sich Termlab. Die 
haben aber ein weit größeren Messbereich und sind ziemlich genau.

Die dort verwendeten Drucksensoren sind MPXS4100A.

Ich hab ein FPN-07PG zur Verfügung.
Wollte mit ein OP das Ausgangssignal verstärken und zum ATtiny26 
schicken.

Nun kommen 2 Probleme auf:

1. Ich weiß nicht genau wieviel kPA/mV der Sensor rausgibt, da ich das 
Datenblatt nicht genau verstehe:

http://pdf1.alldatasheet.com/datasheet-pdf/view/20...

2. Also die Sinuswelle einlesen sollte mit dem Attiny kein Problem sein, 
aber den Wert logarithmisch von kpa in db umzurechnen ist für mich ein 
Problem.

Kann mir jemand helfen, oder Tipps geben?

MfG Christian

Autor: Raimund Rabe (corvuscorax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu 1):
Da der FPN-07PG einen Messbereich von ±48,26 kPa hat, würde ich das 
Datenblatt so verstehen, daß als Ausgangsspannung der Brücke die 
angegebene "Full Scale Span Voltage" von irgendwas zw. 40 und 130mV bei 
rauskommt. Meiner Einschätzung nach unterliegt dieses Teil damit einer 
recht großen Fertigungstoleranz - aber das nur als Randbemerkung.
In Relation zum MPXS4100A, der mit 54 mV/kPa angegeben ist, würde ich 
für den FPN-07PG irgendwas im Bereich von 0,414... mV/kPa bis 1,346... 
mV/kPa errechnen. Sein "Full Scale" Messbereich geht ja von -48,26 kPa 
bis +48,26 kPa, was einen "Full Scale"-Bereich von 96,52 kPa ergeben 
würde.
Damit ist der MPXS4100A um bis zu etwa 100-fach empfindlicher als der 
von Dir angedachte FPN-07PG!
Wenn man jetzt noch hochrechnet, welche Meßspannung sich bei den z.B. 
150dB ergeben würde, so steht Dein Sensor denkbar schlecht da.
MPXS4100A => 54 mV/kPa     * 0,63 kPa = 34,02 mV
FPN-07PG  =>  0,414 mV/kPa * 0,63 kPa = 0,26...mV
Bedenke also, daß Du mit Pegeln im µV-Bereich arbeitest, wo Rauschen 
schon eine große Rolle spielt.
Mein Tip: Beiß lieber in den sauren Apfel und nimm 'nen gescheiten, und 
vor allem empfindlichen, Sensor - auch wenn der um einiges teurer ist.


Zu 2):
Die Angabe "dB" ist eine Relation von zwei Werten. Die Dezibel, die man 
in der Audio-Technik bei Lautsprechern verwendet, legen als 
(Luft-)Referenzwert 20 µPa fest. In andern Medien, wie z.B. Wasser nimmt 
man einen anderen Wert (1 µPa).
Wenn Du mal nach http://de.wikipedia.org/wiki/Schalldruck gehen würdest, 
und nach (fast) ganz unten scrollst, kommst Du zu einer 
(Schalldruck-)Tabelle.
Nehmen wir mal das Düsenflugzeug auf 30m Entfernung, das einen 
Schalldruck p von 630 Pa erzeugt.
Setzen wir diese Werte in die (Dir hoffentlich bekannte) Gleichung ein:
20 * LOG (630Pa / 20µPa) = 149,966...dB
Das stimmt ganz auffallend mit dem Wert in der Spalte des 
Schalldruckpegels Lp überein.

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich wäre da ein Elektret Mikrophon besser. Die gehen auch in dem 
Frequenzbereich den Du suchst.

Das mit den logarithmieren ist eigentlich ganz einfach.

1. Du bildest den RMS-Wert, beispielsweise in dem Du die Werte 
quadrierst und dann tiefpassfilterst. Ein Filter 1. Ordnung sollte 
reichen.

2. Du nimmst einige der Werte (Schritt 1 führst Du ja für jeden 
Abtastwert durch) und machst damit folgenden Algorithmus:
l:=0;
while (msb(wert)=0) DO
  BEGIN
    inc(l);
    wert:=wert SHL;
  END;
An dieser Stelle ist nun wert ganz nach links geschoben, und in l steht 
drin, wie weit das war. Somit hast Du schon mal ganz grob den 
Logarithmus. Willst Du den noch genauer haben, so schau Dir mal den Rest 
in wert an, und wie der zu verrechnen ist. Eine einfache quadratische 
Annäherung ist schon sehr genau.

Autor: Chris S. (p41145)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für die Tipps!
Mit dem Mikrofon hab ich auch schon überlegt, Sollen allerdings nicht so 
gut bei über 140db sein, Da nehmen alle Hersteller die ich kenn 
Drucksensoren für. Und die Hersteller haben sich da bestimmt was bei 
gedacht.

Ich hab mir jetzt ein Durcksensor bestellt: MPXHZ6115A6U

http://www.datasheetcatalog.com/datasheets_pdf/M/P...

Der hat eine höhere Auflösung und hat nicht so eine große 
Fertigungstoleranz.

Laut Datenblatt gibt er mir nur positive Spannungen. Könnte man so am µC 
anschließen und berechnen. Bei dem ADC Eingang(10bit) wären die Schritte 
im unterem Bereich so um die 6db, erst im höheren Bereich wirds genauer.

Deswegen wollte ich 1,4V oder gegebenenfalls 0,7V als Referenzspannung 
nehmen, Leider ist der Nullpunkt vom Sensor ca. bei 4V (Durch dem 
Luftdruck).
Einfach einmalig mit ein OP Offset verschieben funktioniert 
warscheinlich nicht, da der Luftdruck schwankt.

Hat jemand eine Idee, oder hab ich ein gedanklichen Fehler?

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahh, Du brauchst einen Hochpass. Den setzt Du dann einfach auf weniger 
als die tiefste Frequenz die Du messen möchtest und Du bekommst Dein 
Signal.

Autor: Chris S. (p41145)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian Berger schrieb:
> Ahh, Du brauchst einen Hochpass. Den setzt Du dann einfach auf weniger
> als die tiefste Frequenz die Du messen möchtest und Du bekommst Dein
> Signal.

So hat sich einiges getan. Der Sensor ist mit den Hochpass und 
Multimeter ca. +-1db genau.

Leider ist durch Hochpass frequenzabhängig. und wenn die Trennfrequenz 
zu weit unten ist, ist es auch noch träge.
Mein Multimeter ist nicht sehr genau, sowieso nicht in µV Bereich.

Das Signal was ich bekomm ist bei ca. 4V Offset und ist ein Sinus von 
0-20mV, je nach dem, wie laut es ist.
Passend dazu hab ich eine Tabelle, die, wo ich mV in dB nachschauen 
kann.

Wollte am liebsten, das es in Echtzeit angezeigt wird, mit Attiny26 
einlesen und auf LCD anzeigen.

Hab ich kein Ansatz, wie ich am besten das mV Signal zum µC bekomm, ohne 
frequenzabhängigen Hochpass.

Und einmalig die 4V Offset rauskompensieren geht nicht, da der relative 
Luftdruck schwankt. Also ist wohl nichts anderes als Hochpass+Verstärker 
möglich, oder?

Autor: Chris S. (p41145)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner eine Idee?

Autor: Michael Lenz (hochbett)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem Preis würde ich nicht basteln:

http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=D13...

Autor: Chris S. (p41145)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich auch schon nach gesucht, aber die messen nicht linear sondern 
nach einer bestimmten Kennlinie (A oder C). Es gibt absolute 
Schallmesser (SPL), aber die gibts erst ab 700€ aufwärts.

Und mein zu messender Bereich sollte zwischen 120 - 155dB liegen, weit 
über dem von Reichelt.

Mein Sensor läuft ja, aber es kommt eine Mischspannung raus.

3,6-4,4V DC Anteil und 1-50mV AC Anteil
Ich will nur den DC Anteil rausbekommen so das ich den AC Anteil von 
20-80Hz mit ein µC auswerten kann.

Einmalig Offset einstellen geht nicht, da der DC Anteil im Tagesverlauf 
schwankt.

Ohne Hochpass ist es wohl nicht möglich das zu messen, oder?

Autor: Michael Lenz (hochbett)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

jetzt muß ich doch mal genauer lesen, was Du da vorhast. Ein 
Schalldruckpegel von 155dB dürfte in der Nähe dessen sein, bei dem der 
"Lautsprecher" Vakuum zieht.

20 * log_10(p/2E-5Pa) = 155 dB

<=>

p = 2E-5 Pa * 10^(155/20) = 1124 Pa

Wenn ich richtig gerechnet habe, ist der Umgebungsdruck (1013 
Hekto-Pascal) noch etwa 100x größer als die akustische Druckschwankung. 
Trotzdem ist das schon sehr laut.

> Hab ich auch schon nach gesucht, aber die messen nicht linear sondern
> nach einer bestimmten Kennlinie (A oder C). Es gibt absolute
> Schallmesser (SPL), aber die gibts erst ab 700€ aufwärts.
Wenn Du bandbegrenzt mißt, sollte Dich das nicht sonderlich stören. Die 
A- und C-Kennlinien sind keine Geheimnisse.

> Und mein zu messender Bereich sollte zwischen 120 - 155dB liegen, weit
> über dem von Reichelt.
Ok, das ist ein Grund.

> Mein Sensor läuft ja, aber es kommt eine Mischspannung raus.
>
> 3,6-4,4V DC Anteil und 1-50mV AC Anteil
> Ich will nur den DC Anteil rausbekommen so das ich den AC Anteil von
> 20-80Hz mit ein µC auswerten kann.
>
> Einmalig Offset einstellen geht nicht, da der DC Anteil im Tagesverlauf
> schwankt.
>
> Ohne Hochpass ist es wohl nicht möglich das zu messen, oder?
Vielleicht wäre es sinnvoll zu untersuchen, weshalb der Gleichanteil so 
schwankt. Wenn der Sensor auf Gleichdrücke reagiert, kann das sogar 
akustische Gründe haben (Stichwort: Langevinscher" 
Schallstrahlungsdruck).

(Bei hohen Wechseldrücken, wie sie bei Dir vorliegen, verhält sich die 
Luft stark nichtlinear. Die lineare Akustik geht schließlich von der 
Linearisierung der Adiabatengleichung pv^(kappa)=konstant aus, also 
einer Gleichung, die von sich aus kein bißchen linear ist. Das Resultat 
ist, daß ein Lautsprecher dann im Bereich maximaler Amplitude ständig 
Luft von sich weg drückt; der Kolben drückt gewissermaßen mehr Luft weg, 
als er später "zurücksaugt".)

Wenn die starken Schwankungen nicht auf einen Meß- oder 
Konstruktionsfehler zurückgehen, müßtest Du irgendwas Hochpaßähnliches 
bauen. Ich würde wahrscheinlich eine analoge Variante bevorzugen, die 
ungefähr folgendermaßen aussieht:
- Sensorspannung puffern (OPV mit Verstärkung 1) und das Signal auf zwei 
Pfade senden
1.) über einem Tiefpaß (Zeitkonstante von >10s). Dieser Tiefpaß liefert 
den aktuell gültigen Gleichanteil.
2.) Signal unverändert lassen

Anschließend würde ich beide Signale 1.) und 2.) mit einem 
OPV-Subtrahierer oder einem Differenzverstärker (Elektrometerverstärker, 
z. B. INA114 und folgende - je nachdem, was am besten paßt) verstärken.

Wenn Du diese Operation im µC realisisest, ist es am besten, wenn Du den 
Mittelwert über ein sehr langes Signal (Vorsicht: evtl. Probleme mit 
Speicher im Atiny) oder besser noch über ein Vielfaches der 
Periodendauer des Signals bestimmst.


Gruß,
  Michael

Autor: Chris S. (p41145)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal danke für den Beitrag,

Also der Gleichstromanteil schwankt so, da der Athmosphärendruck 
schwankt.
Also je nach Wetterlage, vermute ich mal.
Desswegen kann ich den "Offset" nicht einmalig wegjustieren, weil wie du 
schon sagtest der Luftdruck 100x so hoch ist, und nicht konstant bleibt.

Momentan läuft es so: Sensor --- Hochpass --- AC Spannungsmesser (mit 
100µV Auflösung)

Und es ist im Vergleich zum 700€ Termlab Messgerät "nur" 1dB daneben.

Dann fang ich mal an, wie du beschreiben, zu Basteln, und mal sehen, wie 
genau es wird.

PS: Das der Lautsprecher Vakuum zieht, hab ich noch nicht bemerkt, aber 
ist auch eine Membranfläche von 1400cm².
Dennoch ist ein Starker Windzug im mein Auto, so das leichte Sachen im 
Auto durch die gegend schwirren. Natürlich Sitz ich dann nicht im Auto.

Autor: Sebastian Enz (senz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir stellt sich gerade die Frage, welchen Einfluß der Helmholtzresonator 
des Sensors hat?
Ist der überhaupt schnell genug?
den DC-Anteil kann man doch per AC-Kopplung mit C entfernen! Dann 
gleichrichten und zum ADC

Autor: Chris S. (p41145)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja Sensor ist schnell genug, auf ein Oszilloskop lässt sich sogar das 
Clipping von meiner Endstufe nachweisen, was mich schon sehr erstaunt 
hat, das man Clipping einer Endsufe an der Luftschwankung sehen kann.

Helmholtzresonation ist minimal --> großes, kurzes Loch im Gehäuse --> 
hohe Fequenz. Ich rechne die Frequenz trotzdem mal aus, nicht das ich 
mir irre.

Kondensator und AC Übertragung hat immer eine Verfälschung mit sich, die 
ich vermeiden will, und bei einer Spannung von 50mV ist das 
Gleichrichten auch nicht so einfach.

aber ich probier morgen mal das mit den OPV aus, wenn das klappt ist das 
Problem schon erledigt.

Aber danke, wenn ich noch ein extra Gehäuse um den Sensor bau muss ich 
wegen Resonation aufpassen, hab daran auch garnicht gedacht.

Autor: Michael Lenz (hochbett)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

>Also der Gleichstromanteil schwankt so, da der Athmosphärendruck
>schwankt.
Ok.

> Kondensator und AC Übertragung hat immer eine Verfälschung mit sich, die
> ich vermeiden will, und bei einer Spannung von 50mV ist das
> Gleichrichten auch nicht so einfach.
Hmm. Mein Vorschlag ist auch ein Hochpaß, sogar ein relativ 
umständlicher.
Ich hatte beim Schreiben die (falsche) Vorstellung im Kopf, daß man die 
Grenzfrequenz bei dem von mir vorgeschlagenen Weg mit kleineren 
Kondensatoren auskommen kann.

Wahrscheinlich kommen Deine Probleme daher, daß Du die Grenzfrequenz 
nicht niedrig genug gewählt hast und die Filterordnung zu gering ist.

Hochpaßfilter höherer Ordnung
-----------------------------

Eine Idee wäre daher, daß Du den Hochpaßfilter mit einem Filter 4. 
Ordnung statt wie ich vermute 1. Ordnung (RC-Glied) zu realisieren.
Eine Möglichkeit besteht in einer OPAMP-Schaltung (zwei 
hintereinandergeschaltete Hochpaßfilter.

Sehr bequem dürfte es sein, wenn Du einen sogenannten 
Switched-Capacitor-Filter verwendest:
http://para.maxim-ic.com/en/search.mvp?fam=filt&27...


IIR-Filter im µC
-----------------
Was Du im µC relativ gut realisieren kannst, ist ein IIR-Hochpaßfilter 
(IIR = Infinite Impulse Response); dann brauchst Du trotz hoher 
Mittelungszeit nicht den ganzen Speicher vollzuschreiben.

In der allereinfachsten Form führst Du nach der Aufnahme jedes 
Abtastwertes einen Befehl der Art:
mittelwert = 0.9999*mittelwert + 0.0001*abtastwert
druckwert = abtastwert - mittelwert

Dabei kommt dann sowas wie ein gleitender Mittelwert heraus; die 
Vorfaktoren kannst Du natürlich auch ändern.

Ganz ohne analogen Hochpaß wird es aber trotzdem kaum gehen, da Du vor 
dem Abtasten sicher den Gleichanteil von 4V zumindest näherungsweise 
weghaben willst, damit Du das Wechselsignal verstärken kannst und die 
Bits des AD-Wandlers maximal auszunutzt.

> aber ich probier morgen mal das mit den OPV aus, wenn das klappt ist das
> Problem schon erledigt.
Leider wahrscheinlich nicht.


Gruß,
  Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.