PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Altimeter m. MPL3115A2



RoboHolIC
07.10.2015, 02:55
Hallo an alle interessierten Leser.


Ich stelle euch hier mein Eigenbau-Altimeter im handlichen Ziegelstein-Format vor.
Es ermöglicht anhand des Umgebungsluftdrucks die Bestimmung der Ortshöhe.

Eine Bemerkung vorweg:
Es war mir zunächst nicht gelungen, die Bilder etwas dezenter im Vorschauformat einzubinden; stattdessen drängelten sich alle nach vorne. :oops:
Zwischenzeitlich hab ich den Trick zwar rausgefunden, aber ändern tu ich das jetzt nicht mehr.
Vielleicht lehnt Ihr Euch einfach zurück und stellt Euch vor, es sei eine Powerpoint-Präsentation ...


Das ist also das Gerät:
https://www.roboternetz.de/community/attachment.php?attachmentid=30750&d=1444139474


Das Herzstück: Der Barometer- und Altimeterbaustein MPL3115A2 von Freescale.
Er ist unangenehm klein, spricht I2C und muss irgendwie kontaktiert werden. Die Drähte haben 0,2mm Durchmesser.
Wegen mehrerer Projekte und Reservewunsch habe ich fünf solche "dead bugs" gelötet und alle leben !!!
https://www.roboternetz.de/community/attachment.php?attachmentid=30757&d=1444139622


Die Metamorphose zur Wanze ist vollendet.
https://www.roboternetz.de/community/attachment.php?attachmentid=30754&d=1444139545



Die Konzeption: auswechselbare Sensor-Breakouts mit integrierten Abblockkondensatoren.
https://www.roboternetz.de/community/attachment.php?attachmentid=30758&d=1444139655


Das Anlöten der Drähte hab ich sicherheitshalber mit Pinzette als Wärmesenke vollzogen, damit nicht das Lot am anderen Drahtende ebenfalls schmilzt.
https://www.roboternetz.de/community/attachment.php?attachmentid=30759&d=1444139662


Nach einem ersten Funktionstest folgte die mechanische Stabilisierung, ganz fachgerecht mit Heißklebepistole.
https://www.roboternetz.de/community/attachment.php?attachmentid=30760&d=1444139672


Hiermit werden Spannungersorgung und Buspegel von 5V auf 3V angepasst.
https://www.roboternetz.de/community/attachment.php?attachmentid=30761&d=1444139686


Das steckfertige Sensormodul.
https://www.roboternetz.de/community/attachment.php?attachmentid=30762&d=1444140023


Die andere fummelige Baustelle: das kleine LCD-Modul.
Zwar sind die beiden Kontaktreihen in sich im 0,1"-Raster, nicht aber die Reihen zueinander.
Daher mussten 14 Löcher geschlitzt werden, um das Display auf die Leiterplatte zu kriegen.
https://www.roboternetz.de/community/attachment.php?attachmentid=30755&d=1444139566


Einzeladern wegen der Elastizität
https://www.roboternetz.de/community/attachment.php?attachmentid=30753&d=1444139506


Jetzt noch Tasteneinheit, Stromversorgung und eine minimalistische Zentraleinheit dazu, ...
https://www.roboternetz.de/community/attachment.php?attachmentid=30751&d=1444139482


... dann vermittelt die Plastinat-Konfiguration bereits einen Eindruck ...
https://www.roboternetz.de/community/attachment.php?attachmentid=30756&d=1444139608


... vom fertigen Gerät:
https://www.roboternetz.de/community/attachment.php?attachmentid=30752&d=1444139491

Das LCD-Glas wird von einem Stückchen aus transparentem Wurstblister gegen Verkratzen geschützt.
Die Tasten sind zum Schutz gegen ungewollte Bedieneingriffe versenkt angebracht und durch Bohrungen zugänglich. Die vorgesetzte rötliche Folie lenkt schief eingebrachte Tastendrücke auf den jeweils nächstliegenden Tastennippel.

Deckel drauf und fertig (siehe oben) !


Zu Beginn jedes Einsatzes muss das Altimeter an den aktuellen Luftdruck angepasst werden.
Weil Luft kompressibel ist, ergibt sich - anders als unter Wasser - ein logarithmischer (bzw. exponentieller) Zusammenhang zwischen Höhenänderung und Druckdifferenz, die sogenannte "Barometrische Höhenformel". Der Altimeterchip beherrscht diese Formel und berechnet aus dem (fiktiven) Referenzdruck auf Meereshöhe und dem gemessenen örtlichen Luftdruck die Ortshöhe des Standorts.
Bei der Höhenjustierung tastet sich umgekehrt die Firmware iterativ an einen Referenzdruck heran, der zur Soll-Höhe und dem gemessenen Luftdruck passt.
Der so ermittelte Referenzwert (, der ja einen Kalibrierwert darstellt,) wird - logo! - sofort im EEPROM des Controllers abgelegt, damit man auch mal Strom sparen kann.
Der mittlere Stromverbrauch beträgt etwa 5mA.

Soviel für's Erste. Für Fragen stehe ich selbstverständlich zur Verfügung.

Gruß
Christian.

Geistesblitz
07.10.2015, 15:25
Hübsch gebaut, sieht schön übersichtlich und kompakt aus :)
Wie ist das eigentlich mit dem Luftdruck, der ändert sich ja nicht nur mit der Höhe sondern auch je nach Wetterlage (Hoch- bzw. Tiefdruckgebiet). Je nachdem würde da dann ja ein gewisser Fehler entstehen, ist der vernachlässigbar?

oberallgeier
07.10.2015, 17:05
.. Wie ist das eigentlich mit dem Luftdruck, der ändert sich ja nicht nur mit der Höhe sondern auch je nach Wetterlage ..Genau. Der Luftdruck ist ja - ganz simpel ausgedrückt - das Gewicht der Luftsäule, die über dem Druckmesser steht. Und dieses Gewicht ist abhängig von Druckverteilung die im Wesentlichen vom Temperaturverlauf über die Höhe beeinflusst wird und auch von den benachbarten Druckgebieten. Es gibt u.a. so etwas wie ne "Standardatmosphäre" die von der ICAO (http://www.deutscher-wetterdienst.de/lexikon/download.php?file=Standardatmosphaere.pdf) festgelegt wurde - die aber eben von standardisierten Parametern ausgeht.

Wenn ich beim Fliegen immer mit gleichem Luftdruck rechnen würde, wäre manche Landung etliche Meter über dem Landefeld, manche aber auch einige 10 Meter darunter. Deshalb wird beim Fliegen der Höhenmesser auf den Luftdruck des geplanten Landefeldes eingestellt.

Sehr praktisch machts mein Fahrradtacho (*ggg*) : wenn ich den Tacho vor der Abfahrt daheim resette, nimmt der die mit Meterangabe fest eingestellte "Heimhöhe" und fixierte sie mit dem aktuell daheim gemessenen Luftdruck als Bezugspunkt. Eine ähnliche Justiermöglichkeit wäre bei einem stationären Luftdruckmesser ganz praktisch, Christians hübscher Ziegelstein mit Display hat ja offensichtlich die entsprechende Möglichkeit.

RoboHolIC
07.10.2015, 17:27
Der wetterabhängige Fehler ist keinesfalls vernachlässigbar. Die Differenzen aufgrund des Wetters bewegen sich hier in Berlin bei realer Höhe von 60m (unsere Wohnung) locker um +/-100m.
Es ist also unbedingt ein Höhenabgleich auf den aktuellen Luftdruck nötig.

Das aktuelle Wetter/Luftdruck bildet sich im Referenzdruck (fiktiv, für Meereshöhe) ab. Aus diesem Referenzdruck und dem gemessenen Ist-Druck berechnet der Sensor gemäß der "Barometrischen Höhenformel" die Ist-Höhe.

Beim Höhenabgleich spielt die Firmware des Hosts nacheinander mit allen 16 Bits des Referenzdruckwertes, bis am Ende Referenzdruck, Ist-Druck und Ist-Höhe zusammenpassen. Dann stimmt die Höhenanzeige vorübergehend wieder :)