BMP085 starkes Rauschen

Gast #2098997
Lesenswert?

Hallo!

Ich experimentiere momentan mit einem BMP085-Drucksensor herum, aber 
kriege leider immer sehr starke Schwankungen in den Druckmessungen. Der 
Sensor sollte ja bei OSS=2 ein maximales Rauschen von 5 Pa haben, ich 
habe bei all meinen Messungen jeweils ein Noise-Level von 30 Pa.

Ich verwende die Code-Beispiele hier aus dem Forum bzw. eine auf den 
Code von JeeLab basierenden Version. Temperatur & Luftdruck stimmen zwar 
im "Groben" (d.h. auf hPa) Ebene gut mit realen Werten überein, aber da 
ich Höhenänderungen messen will ist das Rauschen mein Problem. Selbst 
die "rohen" Messwerte (vor dem Umrechnen in den realen Luftdruck) 
unterliegen diesen starken Schwankungen.

Wo dran könnte dieses Rauschen liegen? Ich habe schon versucht einige 
Kondensatoren verschiedener Größe direkt an die Spannungsversorgung des 
Sensors zu packen, und auch die ganze Schaltung nur über eine 3.3V 
Lithium Batterie zu versorgen. Alle Versuche irgendwelche "störenden" 
Wechselströme (PWM, ...) zu deaktivieren, haben auch nicht geholfen.

Ist der Sensor einfach defekt, oder überseh ich irgend etwas? Ich würde 
mich über Ratschläge & Ideen freuen!
Gast #2099042
Lesenswert?

>Der Sensor sollte ja bei OSS=2 ein maximales Rauschen von 5 Pa haben, ich
>habe bei all meinen Messungen jeweils ein Noise-Level von 30 Pa.

5Pa ist ein Effektivwert. Der Peak-Peak-Wert ist dagegen 6,6 x 5Pa = 
33Pa.

Warum machst du denn kein Software Averaging?
Gast #2099794
Lesenswert?

Was willst du genau erreichen? Höhenbestimmung? Wie schnell so das 
System reagieren? 30 Pa ist doch in Ordnung. Das entspricht einer 
Höhenänderung von ca. 25 cm. Besser kannst du das nur mit einen 
Mittelwert über mehr Werte erreichen. Wenn du die Höhenänderung genauer 
und schneller willst, darfst du eben keinen Drucksensor nehmen...
Gast #2100191
Lesenswert?

Hi!

Danke für alle eure Antworten. Entspricht in Nähe des Meeresspiegels 
(0-500m) eine Änderung von 11,7 Pa einer Höhenänderung von 1m? Da sind 
3m "Rauschen" schon ganz schön viel. Ich möchte im Endeffekt wirklich 
wie bei einem Variometer Höhen-Änderungen messen. Die grobe Tendenz 
bekomm ich zwar auch hin, aber das Rauschen zerstört die Messwerte 
einfach komplett.

Ich bin leider deshalb mit dem ganzen Problem auch noch nicht wirklich 
weiter. Selbst wenn ich über eine Sekunde lang Messwerte sample, erhalte 
ich immer noch ein Rauschen von etwa 3 Pa, also 26cm. Das ist zwar 
selber nun in einem akzeptablen Rahmen, aber 1 Hz ist nicht gerade die 
gewünschte Abtastrate ..

@XMega: Danke, das muss ich mir mal näher anschauen. Ich hab leider 
momentan keine passenden Drosseln/.. hier, aber eigentlich dürfte da 
auch kein so starkes Rauschen auf der Spannungsleitung sein -- 
schließlich hängt an dieser Schaltung zum Testen wirklich nur ein 
Lithium 3.3V Akku, und ein ATMega8L. Es könnte höchstens sein, dass der 
zum Testen verwendete UART Max232 noch ein Rauschen reinbringt. Hmm. Hab 
leider aber auch kein Oszilloskop hier.
Gast #2100232
Lesenswert?

Naja, wenn du uns Schaltplan und Layout nicht zeigst, können wir auch 
nicht helfen!

>@XMega: Danke, das muss ich mir mal näher anschauen. Ich hab leider
>momentan keine passenden Drosseln/.. hier, aber eigentlich dürfte da
>auch kein so starkes Rauschen auf der Spannungsleitung sein --
>schließlich hängt an dieser Schaltung zum Testen wirklich nur ein
>Lithium 3.3V Akku, und ein ATMega8L.

Natürlich kann da schon zu sarkes Rauschen sein! Spendiere dem VDDA 
Eingang wenigstens versuchshalber eine zusätzliche Siebung mit 10...100R 
und 47µF. Schirme das Teil außerdem vor Zugluft und Vibrationen ab.
Gast #2130531
Lesenswert?

Hallo nochmal!

Ich habe jetzt einige Zeit mit dem Sensor selber rumprobiert. Sowohl auf 
zwei verschiedenen Platinen, als auch auf Breadboardschaltungen und 
ähnlichem; mit Spannungsreglern, und ohne Spannungsreglern direkt an 
Batterien, ... - Unter die ~30 Pa Noise (Min <->) Max kommt man 
scheinbar nicht.

Das ganze dient dem Bau eines kleinen Solarvarios, und funktioniert 
inzwischen auch ganz brauchbar. Das mit dem Noise stört jedoch schon. 
Ich frage mich nun, welches der beste Software-Averaging-Algorithm ist 
-- Alle haben scheinbar ihre Vor- und Nachteile.

Entweder ich habe selbst bei gleichbleibender Höhe ständiges 
unterschiedliches Piepsen (also "Höhenschwankungen"), oder das 
Variometer reagiert sehr träge (d.h. erst nach 1-2 Sekunden). Wie lösen 
die professionellen Variometer das Problem?

Momentan verwendee ich einen Algorithmus, der das Ganze in drei 
Schritten glättet:

(a) über 995ms Samples aufnehmen, und anschließend den Durchschnitt aus 
Minimal und Maximalwert errechnen, d.h. p = (max+min)/2. Ich nehme diese 
Version, da ich hier auf ein geringeres Rauschen komme (Kann das 
eigentlich überhaupt?)

(b) Eine kleine I-D-Stufe, welche die Änderungsgeschwindigkeit misst, 
und diese mit Averaging auch noch einbringt.

(c) Als letzter Schritt pDiffNeu = (pDiffAlt + pDiffNeu)/2

Hat jemand schon einmal damit rumexperimentiert und bessere Ideen?
Angehängte Dateien:
#2130619
Lesenswert?

>(a) über 995ms Samples aufnehmen, und anschließend den Durchschnitt aus
>Minimal und Maximalwert errechnen, d.h. p = (max+min)/2. Ich nehme diese
>Version, da ich hier auf ein geringeres Rauschen komme (Kann das
>eigentlich überhaupt?)

Was Du damit effektiv machst, ist Bandbreitenbegrenzung. Also nix 
anderes als ein Tiefpaß. Und sowas reduziert natürlich das Rauschen.
#2130758
Lesenswert?

Ich kenne kein Verfahren, was besser oder schlechter ist. Alles, was ich 
kenne, basiert auf Verringerung der effektiven Bandbreite. Klar kann man 
Spezialbehandlungen durchführen, wie z.B. extreme Ausreiser ignorieren, 
was quasi einer zeitlich begrenzten Verringerung der Bandbreite 
gleichkommen würde.
#3125303
Lesenswert?

Hallo,

ich weiss, der Thread ist schon alt. Ich habe aber genau das gleiche 
Problem mit dem BMP085 wie Jansen (starkes Rauschen trotz sauberer 
Betriebsspannung und korrekter Ansteuerung).

RMS Rauschen bei oss=2 sollte laut Datenblatt 5Pa sein. Peak-to-Peak 
wären das 5Pa * 1.4 = 7Pa. Ich sehe aber wie Jansen etwa 30Pa 
Peak-to-Peak Noise (Samplingrate 25Hz, kein Software-Averaging). Wenn 
ich das Loch vom Sensor mit einem Silikon-Oropax verschließe, verringert 
sich der Noise nur sehr geringfügig (etwa 10-20%). Betriebsspannung ist 
sauber (gemessen mit Oszi) und hat nach meinen Versuchen null Einfluß 
auf das Rauschen.

Gibt es vielleicht neue Ideen/Erkenntnisse hierzu?

Gruß, M.
Moderator (Firma: Titel) Persönliche Seite #3125334
Lesenswert?

Malte Ibs schrieb:
> Peak-to-Peak wären das 5Pa * 1.4 = 7Pa. Ich sehe aber wie Jansen
> etwa 30Pa Peak-to-Peak Noise (kein Software-Averaging).
> ich weiss, der Thread ist schon alt.
Ja, und hast du wenigstens den allerersten Antwortpost gelesen?
Martina schrieb:
>>>> 5Pa ist ein Effektivwert.
>>>> Der Peak-Peak-Wert ist dagegen 6,6 x 5Pa = 33Pa.

Hast du im Datenblatt gesehen, dass da als "Rauschwert" die 
Standardabweichung von 10 Messpunkten verwendet wurde? Du verwendest 
mit der Messmethode "Vergleich von Einzelwerten" den falschen Ansatz.

Hast du im Datenblatt den Abschnitt mit dem Verweis auf die Appnote
"noise in pressure sensor applications" gesehen?
Blöderweise findet man diese Appnote nicht, aber auch andere haben das 
Problem:
http://www.freescale.com/files/sensors/doc/app_note/AN1646.pdf
http://www.sensorica.ru/pdf/1_doc_15.pdf


Der BPM085 ist übrigens abgekündigt:
http://media.digikey.com/pdf/PCNs/Bosch/BMP085_Disc.pdf
#3126601
Lesenswert?

Malte Ibs schrieb:
> Gibt es vielleicht neue Ideen/Erkenntnisse hierzu?

andere Forumsteilnehmer haben das Problem auch, hier findest Du ein paar 
Messwerte:

Beitrag "BMP085 driftet"

Der von Bosch im DB angegebene Wert ist wie schon angemerkt zum einen 
die Standardabweichung, zum anderen ist der Wert nur "typical", wird 
also nicht garantiert.

Wie ich im obigen Thread schon geschrieben habe, ist das Teil sehr 
empfindlich für Temperaturdifferenzen. Wenn da was warmes in der Nähe 
ist, geht das Rauschen sofort hoch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren