Go Down

Topic: Höhen- und Entfernungsmessung. Wie am besten realisieren? (Read 7984 times) previous topic - next topic

uwefed

Achtung: IP67 ist luftdicht darum funktioniert der Duckmesser nicht (Höhenmessung)
Grüße Uwe

DanielHD80


Achtung: IP67 ist luftdicht darum funktioniert der Duckmesser nicht (Höhenmessung)

Jepp ist klar! Das ist halt die höchste "Ausbaustufe" für das Gehäuse! Aber ich denke da werde ich mal schauen was am besten ist, wenn es soweit ist. Ich denke irgendwie so IP44 sollte passen und noch "undicht" genug für das Barometer. Oder?

Für alle die es interessiert: Seit 5 Minuten wird das Projekt auf meinem Blog dokumentiert. Ich werde Euch natürlich aber auch hier auf dem laufenden halten bzw. immer wieder Fragen stellen *g* Aber jetzt ist erst mal warten auf die Lieferung angesagt...

Gruss Daniel

sschultewolter

#17
Oct 11, 2013, 01:43 am Last Edit: Oct 11, 2013, 01:47 am by sschultewolter Reason: 1
Nein, IP 44 ist defentiv auch zu viel.

Du benötigst etwas in der Richtung von IPX1 - IPX3. Sprich Schutz vor Spritzwasser von oben bzw. bis 60° Neigung des Gerätes.

Alternativ müsstest du einen Drucksensor nehmen, der durch eine Metrische/PG Verschrauben nach aussengeführt ist. Das Kabel sollte dann von der Verschraubung ausreichend eingedichtet sein. Sollten dann bei einem IP44 auch entsprechend wasserdicht bleiben ;)

Um den Sensor zu schützen, würde dieser noch innerhalb der Verschraubung sitzen. Schutz ist dann aber nur gegen Stoß bei diesem Sensor gegeben. Eventuell musst du dabei schon im Industriebedarf schauen. Denn meist sind IPXX Drucksensoren zwar wasser/staubgeschützt. Jedoch bezieht sich das auf die Verschaltung, nicht aber auf die Messapperatur (Membran). Einen Drucksensor der für flüssige Medien (z.B. Wasser) ausgelegt ist, sollte das keine Probleme machen.

P.S.: Bzgl. des Blogs. Die ganze Sache wird später eher durch einen Pro Mini o.ä. bzw. einer eigenen Platine ersetzt, nicht durch den Mega. Auf Spatzen mit Kanonen schießen  ;)
Orginal Atmel AVRISP mkII zu verkaufen. Anfrage per PN ;)

DanielHD80

Mein BMP085 ist eingetroffen. Und ich bin zu tiefst enttäuscht... Drei Stunden Höhendaten geloggt ohne das Board zu berühren und was kommt raus? Differenzen von über 6 Metern... Wieso? Taugt der Sensor doch nichts für mein Projekt?

Hier ein Diagramm meiner geloggten Werte:
http://d-hecker.de/bmp085-genauigkeit-mangelhaft/

Gruss Daniel

jurs

#19
Oct 22, 2013, 10:47 pm Last Edit: Oct 23, 2013, 11:47 pm by jurs Reason: 1

Mein BMP085 ist eingetroffen. Und ich bin zu tiefst enttäuscht... Drei Stunden Höhendaten geloggt ohne das Board zu berühren und was kommt raus? Differenzen von über 6 Metern... Wieso? Taugt der Sensor doch nichts für mein Projekt?


Das ist vollkommen normal.

Kannst Du Dich erinnern, dass ich ganz am Anfang des Threads das gefragt habe:
Frage: Wie lang ist die typische/maximale Messdauer zwischen dem Zeitpunkt, an dem der Startknopf gedrückt wird, bis am Ziel der Alarm "maximaler Druckunterschied erreicht" ausgelöst werden soll?

Die "Zeit" ist ein ganz entscheidender Faktor wie ich auch versuchte zu erklären.
Der Luftdruck ändert sich (ständig!) mit dem Wetter, mal haben wir Tiefdruck und mal haben wir Hochdruck, dazwischen schwankt der Luftdruck. Mal mehr, mal weniger. Und diese Schwankungen werden zwangsläufig in Höhenänderungen umgerechnet, das ist bei barometrischen Höhenmessern unvermeidlich.

Was Du also tun mußt für eine hohe Genauigkeit:
- Entweder Du hältst die Messdauer kurz (z.B. 15 Minuten), so dass innerhalb der Messzeit keine großen Luftdruckänderungen auftreten.
- Oder Du berücksichtigst die meteoroligischen Luftdruckschwankungen, etwa indem Du von einer ortsfesten Luftdruckstation in Deiner Nähe die Werte "Luftdruck bei Messbeginn" und "Luftdruck nach Zeit x" berücksichtigen kannst. Das wird ohne eine aktive Internetanbindung aber kaum möglich sein.

Natürlich kannst Du auch "Schätzwerte" für die Luftdruckänderung als Parameter für das Skript vorsehen, also dass Du beispielsweise beim DWD die Luftdruckänderung der letzten Stunde im Internet abfragst und dann einfach so tust, als würde die aktuelle Luftdruckänderungsrate identisch sein zur Luftdruckänderungsrate der vergangenen Stunde.

Oder Du siehst einen "Kalibriermodus vor": Im Kalibriermodus muß das Gerät z.B. 10 Minuten an Ort und Stelle liegen gelassen werden, das Gerät ermittelt dabei (grob) die aktuelle Luftdruckänderungsrate und bei der anschließenden Messung wird diese Luftdruckänderungsrate zugrunde gelegt. Wenn Du die 10 Minuten für eine Kalibrierphase auf die aktuelle Luftdruckänderungsrate nicht hast und sofort losmessen möchtest, mußt Du Dich eben beeilen und die Messtrecke möglichst in 15 Minuten zurücklegen, so dass der Fehler durch Luftdruckänderungen klein ist.

Deine Messkurve scheint soweit in Ordnung, Du hast "Höhenmeter" aufgetragen, oder?
Allerdings scheint die Kurve ein bisschen zu "zappelig" zu sein, d.h. Du bekommst von Messung zu Messung Schwankungen von einem Höhenmeter. Dies könntest Du vermeiden durch:
- Verwendung der höchsten Sensorauflösung beim Messen
- Maximales eingebautes "Oversampling" des Sensors verwenden
- Die Werte selbst durch zig bis tausendfache Messung nacheinander mitteln oder glätten

Wegen der Einbeziehung der Temperatur vom BMP085 in Deine Höhenformel allerdings mal eine Rückfrage:
Hast Du das Messgerät draussen unter freiem Himmel liegen gehabt, so dass Du als Temperatur die Außentemperatur eingerechnet hast? Ich würde eher empfehlen, die Temperatur NICHT in die Höhenformel einzurechnen, und nur die Luftdruckänderungen zu berücksichtigen, mit folgender Berechnung:
    float pressure=aktuellGemessenerLuftdruck; // in hPa, durch Mittelwertbildung geglättet vom BMP085
    float altitude=(1 - pow(pressure / 1013.25,1/5.255))*288.15/0.0065;

Go Up