English

  

elektronischer Höhenmesser:  Einen hochgenauen elektronischen Höhenmesser zu bauen ist nicht schwierig. Alles was man braucht ist ein Absolutdrucksensor, ein A/D-Wandler, ein Mikrokontroller und ein LCD-Display. Um einen Temperaturabgleich durchführen zu können ist noch ein Thermistor notwendig, welcher nach einem selbstkalibrierenden Verfahren betrieben wird.

Zur Hardware:    Der Aufbau erfolgte auf zwei, über Steckleisten verbundene, Platinen, getrennt nach Analog- und Digitalteil. 

Die Analogplatine enthält einen Motorola Drucksensor MPX4100 im SMD-Gehäuse. Diese sind bei verschiedenen Distributoren und sogar Conrad zu bestellen. Dieser Sensor beinhaltet bereits die Auswerteelektronik und ist kalibriert. 

Der Sensorausgang ist direkt an den Eingang eines hochauflösenden 16Bit AD-Wandlers angeschlossen. Da per Samplebestellung über die Homepage von Crystal (Cirrus Logic) der CS5509 leicht verfügbar war, kam dieser zum Einsatz. Eine Spannungsstabilisierung (7805) von Motorola, sowie Spannungsreferenz (REF195) von Analog Devices stellen die Spannungsversorgung dar. 

Um das "hineinstören" des Digitalteils in die Analogelektronik weitgehend zu vermeiden, wurde dieser auf einer zweiten Platine untergebracht und über eine Steckerleiste mit der Analogplatine verbunden. Der Digitalteil besteht aus dem PIC-Mikrokontroller, einem LCD-Display, 6 Tasten, einem D/A-Wandler zur Kontraststeuerung des Displays, einem Thermistor zur Temperaturmessung, einem EEPROM zur Speicherung von Kalibrierkoeffizienten und einer RS232-Schnittstelle.

Der PIC-Mikrokontroller ließt den A/D-Wandler aus und rechnet zusammen mit der Temperatur dessen Wert in eine Höhe um, die auf dem Display angezeigt wird. Da die Schaltung selbsterklärend ist, seien hier nur die EAGLE-Dateien zum Download zur Verfügung gestellt. Bemerkt sei, dass der verwendete PIC16C73A durch einen PIC16F876 ersetzt werden sollte. Dieser ist voll kompatibel zum 16C73A und ist darüber hinaus aber mit Flash Programmspeicher und EEPROM-Speicher ausgerüstet. Wird dieser PIC verwendet, so kann auf den externen EEPROM verzichtet werden.

Der Schaltungs- und Layoutentwurf zu diesem Projekt erfolgte komplett mit der Light-Version von EAGLE. Diese kann von der Cadsoft-Homepage heruntergeladen werden und demonstriert eindrucksvoll die Leitungsfähigkeit dieses PCB-Programms. Die Einschränkungen (nur zwei Ebenen, maximale Größe 10cm x 8cm) stellen keine Limitierung für die kleinen Platinen dar.

Sind die beiden kleinen Leiterplatten hergestellt und bestückt, so dürfte das Ergebnis wie auf obigen Photo aussehen.

Zur Firmware:

Ohne Firmware tut sich aber natürlich noch nichts. Den hier offengelegten Code habe ich mit HighTech PIC-C geschrieben. Damit sollte es jedem möglich sein, Hardwareänderungen/Erweiterungen vorzunehmen. Sollte mein Code an anderer Stelle weiterverwendet oder publiziert werden, so wäre ein Verweis auf den Ursprung und eine Nachricht an mich nett. Ich bin auch für daran interessiert, wenn jemanden Code besser oder schneller macht. Wer am Programm nichts ändern will und exakt die gleiche Hardware verwendet, kann direkt das HEX-File in den 16F876 oder 16C73A programmieren. 

Entwicklungsumgebung ist standardmäßig das Microchip-MPLAB.

Die Firmware besitzt eine recht komfortable Menuführung. Obige Abbildung stellt die Menuwege dar. Diese sind im dazugehörigen Eagle-File zu sehen. Das Programm sieht ebenfalls ein Überspielen der Kalibrierdaten vom PC vor. Da ich diese Daten direkt von der Firmware ins EEPROM schreibe und die Zeit lieber zum Bau eines E-Varios nutzen wollte, ist dieser Teil noch nicht fertig. Soll nur ein Höhenmesser gebaut werden, so ist diese Methode wohl auch für den Nachbau die unaufwendigste. Für die Produktion mehrerer Höhenmesser, sollte man sich die Zeit nehmen um diese Funktionen zu schreiben. Auf diese Art und Weise kann der Höhenmesser nachkalibriert werden, ohne dass ein Öffnen des Gerätes notwendig ist.

Die Kalibriermenus funktionieren. Sie sind notwendig, um z.B. den Temperatursensor abzugleichen. Die Auswertung der Daten und Berechnung der Koeffizienten erfolgt am besten mit Excel. Hier meine Messungen zum Vergleich.

Da ich den Höhenmesser während meines Praktikums in England (an den Wochenenden und nach Feierabend) entwickelt habe, musste ich die Einheiten umschaltbar machen - welcher Britte weiß schon wie hoch ein Meter ist ;-) .  Auf jeden Fall steckt all dies in der Firmware, genau so wie eine softwaregesteuerte Kontrastregelung des LCD-Displays, Auto-Zerro-Funktion,... und einige andere Sachen.

Die verwendete Formel zum Umrechnen der ADC-Werte in Höhe ist anhand des Datenblatts des MPX4100 sowie der Standardatmosphäre geschehen und soll hier kurz dargestellt werden. Besser jedoch als die Formel dieser Herleitung ist es natürlich, den Drucksensor zu vermessen und anhand dieser Ergebnisse eine Formel anzupassen. Nicht vergessen werden sollte, dass die Kalibrierung für den gesamten Temperaturbereich vorgenommen werden muß!

 

Barometrische Höhenformel :


Wenn nur der Druck in der Standardatmosphäre interessiert, dann ist h = 0 und ph = 101325Pa. Wenn die Höhe in der Standard Atmosphäre berechnet werden soll, dann ist die hierfür umgestellte Formel:

 

                                    Der Motorola Drucksensor MPX4100A gibt, laut Datenblatt, ein Spannungssignal nach folgender Beziehung ab:

 

Daraus ergibt sich mit einem 16bit ADC ein theoretischer ADC Wert von


Umgestellt nach dem Druck [Pa] erhält man dann, wenn man für Vref = 5V einsetzt

 
K1 = 0,69401565

K2 = 14334,2776

ErrorOffset = 0    (Idealfall)

Für die Berechnung der Höhe über einer bestimmten Druckfläche errechnet man die Höhe der Druckfläche in der Standard Atmosphäre und subtrahiert diese von der Höhe in der Standard Atmosphäre des gemessenen Drucks. 

Viel Spaß beim Weiterentwickeln!

  

Home

Impressum, Disclaimer & Datenschutz