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!
>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?
Mach ich; aber bei 8 Samples/Messung läuft leider dennoch auf recht starke Schwankungen hinaus. Hmm.
Hallo, Jansen schrieb: > oder überseh ich irgend etwas schau dir mal die Stromversorgung an: http://www.pixelproc.net/pic24bmp085lcd.html Gruß XMEGA
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...
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.
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.
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?
>(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.
Aber warum ist es effektiver als einfach den Durchschnitt der Datenmenge zu nehmen? Welche Noise-Reduction-Verfahren sind generell bei soetwas zu bevorzugen?
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.
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.
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
Malte Ibs schrieb: > Wie kommt man auf den Faktor 6,6? Simple Wahrscheinlichkeitsrechnung. Damit liegen 99,9% aller Messungen innerhalb der Grenzen. Wenn Du den Faktor 5 nimmst den man auch oft liest sind es nur 99,0%. Gruß Anja
Malte Ibs schrieb: > (stimmt aber nur bei normalverteilten Werten...) Davon gehen die Jungs bei Bosch offenbar aus. Sonst wäre die Standardabweichung ohne weitere Angaben ein ungeeignetes Werkzeug...
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.
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.