69
Elektor
12/98
Der verwendete ISP-Mikrocontroller
bietet zwar einen Flash-ROM-Speicher
für das Programm, 12 KByte aber sind
nicht genug, um alle realisierten Funk-
tionen unterzubringen. Aus diesem
Grund stehen für die Höhenmesser-
funktion zwei Programmversionen zur
Wahl (die Barometerfunktion ist bei
beiden Versionen identisch):
NORMAL.HEX
ist der Höhenmesser für Wanderer
und Bergsteiger, bei dem als Bezugs-
punkt eine Referenzhöhe eingestellt
wird.
VSL.HEX (Virtual Sea Level)
ist der Höhenmesser für Flieger, bei
dem als Bezugspunkt ein Referenzdruck
eingestellt wird.
C
O N T R O L L E R
P R O G R A M M I E R E N
Um nun den Controller zu program-
mieren, benötigt man die Softwaredis-
kette EPS 986031-1. Die Disk wird
zunächst auf die Festplatte oder ein
anderes Speichermedium kopiert, das
nicht schreibgeschützt ist.
À Im echten DOS-Modus (nicht im
DOS-Fenster von Windows) startet
man das Programm SISP (Serial In
System Programmable).
Das Meßgerät ist fer-
tig aufgebaut, nun
können wir ihm Leben
einhauchen. Dazu
muß man zunächst
den Controller pro-
grammieren, was hier
selbst für “blutige
Laien” ein Kinderspiel
ist, und anschließend
auf die richtige Refe-
renz kalibrieren.
Präzisionsbarometer/
Höhenmesser
Teil 2: Software und Bedienung
MESSEN & TESTEN
70
Elektor
12/98
Barometer
xxxx.x hPa
FUNCTION
Altimeter
xxxx meter
FUNCTION
FUNCTION
Datalogger
Enter for menu
FUNCTION
ENTER
ESC
Datalogger
menu
ENTER
ESC
Enter
Sample time
ENTER
ESC
Set altimode
ENTER
ESC
Enter new
value
Preferences
Enter for menu
ENTER
ESC
Preferences
menu
MAIN MENU
Sample time
Enter to set
FUNCTION
Clear datalogger
Enter to clear
FUNCTION
FUNCTION
Pres. logger on/off
Enter to switch
FUNCTION
Pressure logger
Enter to send
FUNCTION
Pressure logger
Enter to view
ENTER
ESC
View logger
DATALOGGER MENU
ENTER:
clear datalogger
ENTER:
swich datalogger
on/off
+:
select pressure/altitude
-:
select pressure/altitude
ENTER:
transmit datalogger info
to PC
+:
select pressure/altitude
-:
select pressure/altitude
+:
select pressure/altitude
-:
select pressure/altitude
Interval
h:mm:ss
FUNCTION
Interval
h:mm:ss
FUNCTION
FUNCTION
Interval
h:mm:ss
FUNCTION
Interval
h:mm: ss
FUNCTION
Interval
h:mm:ss
ENTER SAMPLE TIME
day: d
xxxx.x
hh:mm:ss
hPa.mbar
VIEW LOGGER
ENTER:
set new interval
ESCAPE:
keep old interval
+:
current digit + 1
-:
current digit - 1
ENTER:
set new value
ENTER:
set sea-level pressure
to 1013.25 hPa
ENTER:
switch send direct
on/off
ENTER:
set default calibration
ESCAPE:
keep old value
+:
current digit + 1
-:
current digit - 1
+:
next time
-:
previous time
SET ALTIMODE
: select absolute/relative altitude
: select absolute/relative altitude
Pressure
xxxx.x hPa
FUNCTION
Pressure
xxxx.x hPa
FUNCTION
FUNCTION
Pressure
xxxx.x hPa
FUNCTION
Pressure
xxxx.x hPa
FUNCTION
Pressure
xxxx.x hPa
ENTER NEW VALUE
Altitude mode
Enter to set
FUNCTION
Ref. altitude
Enter to set
FUNCTION
FUNCTION
Rest. sea-lvl P
Enter to restore
FUNCTION
Send direct: on/off
Enter to switch
PREFERENCES MENU
ENTER
ESC
Enter new
value
P at sea level
Enter to set
ENTER
ESC
Enter new
value
ENTER
ESC
Enter new
value
Calibration 1
Enter to CAL
Altitude mode
abs./rel. alt.
FUNCTION
FUNCTION
FUNCTION
Calibration 2
Enter to CAL
FUNCTION
FUNCTION
Default CAL
Enter to restore
Ref. altitude
xxxxx meter
FUNCTION
Ref. altitude
xxxxx meter
FUNCTION
FUNCTION
Ref. altitude
xxxxx meter
FUNCTION
Ref. altitude
xxxxx meter
FUNCTION
Ref. altitude
xxxxx meter
980097 - 2 - 11
Bild 1. Das Hauptmenü
weist vier Untermenüs
auf: Neben der Luft-
druck- und Höhenan-
zeige verzweigt das
Menü in das Datenlog-
ger- und das Vorgaben-
Menü (Preferences).
Á Bei Option 5 ist das “input file”
NORMAL.HEX oder VSL.HEX ein-
zugeben.
 Bei Option 5 ist die gewünschte seri-
elle Schnittstelle (COM-Port) einzu-
tragen.
à Das Barometer wird mit einem
RS232-Kabel (1:1) an den PC ange-
schlossen. Noch nicht das Meßgerät
einschalten!
Ä Jumper JP2 in Stellung I (ISP)
stecken.
Å Jetzt erst das Meßgerät einschalten.
Æ JP1 wird gesteckt.
Ç Option 1 von SISP (write code
memory) wählen und abwarten, bis
der Programmiervorgang abge-
schlossen ist.
È Bei einer Fehlermeldung JP1 entfer-
nen, das Meßgerät abschalten und
ab Punkt 6 wiederholen.
É JP2 in Stellung R (RS232) stecken
und JP1 entfernen.
K
A L I B R I E R E N
Ohne Kalibrierung ist das Barometer
nicht sehr genau. Dann nämlich ver-
wendet das Programm die vom Her-
steller angegebenen, aber mit einer
relativ hohen Toleranz behafteten Stan-
dardwerte für Steilheit (0,01059) und
Offset (0,1518) des Sensors, um den
Druck zu berechnen. Außerdem findet
keine Kompensation der Spannungs-
teiler-Toleranzen statt.
Es gibt zwei Möglichkeiten, das Baro-
meter einzustellen, nämlich die Ein-
und die Zweipunkt-Kalibrierung. Bei
der Einpunkt-Kalibrierung wird einzig
der Offset korrigiert, die Druck/Aus-
gangsspannungskurve in der Höhe
verschoben. Zur Einpunktkalibrierung
benötigt man den aktuellen Luft-
druckwert, den man beim nächstgele-
genen Wetteramt oder Flugplatz erfra-
gen kann. Dieser Wert wird im Prefe-
renzen-Menü bei CALIBRATION 1
eingetragen, das Programm ermittelt
dann im Vergleich mit dem zuvor
gemessenen Wert einen neuen (kor-
71
Elektor
12/98
rekten) Offsetwert, der im EEPROM
gespeichert wird.
Bei der Zweipunktkalibrierung wird
nicht nur der Offset, sondern auch die
Steilheit des Sensors berücksichtigt.
Dazu gibt man im nächsten Menü-
schritt CALIBRATION 2 einen zweiten
Wert ein, der sich vom ersten Wert um
mindestens 5 hPa unterscheidet. Die
Software benötigt diese Marge, um
den Effekt von Rundungsfehlern
und/oder Störungen zu verringern. Je
mehr der zweite Wert vom ersten
abweicht, desto genauer berechnet der
Controller die Steilheit. Und woher
bekommt man den zweiten Wert?
Ganz einfach: Warten, bis der Luft-
druck gegenüber dem ersten Wert aus-
reichend gestiegen oder gefallen ist,
genauen Wert vom Wetteramt/Flug-
platz erfragen und bei CALIBRATION
2 eingeben.
B
E D I E N U N G
Bevor es ans Messen geht, sollte man
dem Gerät etwa zwei Minuten Auf-
wärmzeit geben. Dann zeigt das Baro-
meter einen vertrauenswürdigen Wert
an. Die Bedienung erfolgt über fünf
Tasten,
die durch ein ausgedehntes Menü-
system führen, das in Bild 1 darge-
stellt ist.
Das Hauptmenü weist vier Unter-
menüs auf: Neben der Luftdruck- und
Höhenanzeige verzweigt das Menü in
das Datenlogger- und das Vorgaben-
Menü (Preferences). Die Erläuterungen
im Bild sprechen für sich.
Im Datenlogger-Menü (Input sample
time) läßt sich das Sample-Intervall auf
eine beliebige Zeit zwischen 10 s und 8
h (Auflösung 1 s) einstellen. Die vom
Datenlogger gespeicherten Meßergeb-
nisse lassen sich unter View logger auf
dem Display darstellen.
Im umfangreichen Menü Preferences
sind die beiden Softwarevarianten
NORMAL (Ref. altitude) und VSL (P at
sealevel) berücksichtigt. Die einzuge-
benden Werte trägt man immer Ziffer
für Ziffer unter input new value ein. Für
beide Programmvarianten gilt auch:
Set altimode entscheidet, ob die relative
oder die absolute Höhe gezeigt wird.
Bei der absoluten Höhenmessung wird
die Höhe über NN, bei der relativen
die Höhe über dem eingestellten Refe-
renzwert angegeben. Mit Rest. sea lvl P
setzt man das Meßgerät auf den Stan-
dardwert von 1013,25 hPa für den
Druck auf Meereshöhe zurück. Eine
ähnliche Funktion hat Default CAL.
Hier werden die Kalibriereinträge
gelöscht und wieder die Standard-
werte eingesetzt.
Der Unterschied zwischen den Pro-
grammvarianten NORMAL und VSL
besteht in dem einzugebenden Refe-
renzwert. Beim “normalen” Höhen-
messerprogramm wird unter dem
Menüpunkt Ref. altitude die aktuelle
Höhe (über NN) als Referenzhöhe ein-
gegeben. Von diesem Ausgangspunkt
aus (der natürlich intern in einen Refe-
renzdruck umgerechnet wird) mißt
der Höhenmesser dann die Höhe und
zeigt - wie beschrieben mit SET ALTI-
MODE umschaltbar - wahlweise die
Höhe über NN oder in Bezug auf die
Referenzhöhe.
Beim VSL-Höhenmesserprogramm
wird unter dem Menüpunkt P at seale-
vel der aktuelle Luftdruckwert (vom
Flugplatz/Wetteramt) als Referenzdruck
eingegeben. Von diesem Ausgangs-
punkt aus (mit dem das Programm
gleichzeitig die momentane Höhe
ermittelt und als Referenzhöhe defi-
niert) mißt der Höhenmesser dann die
Höhe und zeigt wieder wahlweise die
Höhe über NN oder in Bezug auf die
Referenzhöhe an. Kurze Erklärung für
Flieger: Man stellt den QNH ein.
Geschieht dies am Boden, ist die Platz-
höhe die Referenzhöhe, so daß man
mit SET ALTIMODE per Tastendruck
zwischen QNH- und QFE-Einstellung
umschalten kann - jedenfalls beim
Platzrundenfliegen. Mit der Funktion
Rest. sea-lvl P erfolgt die Umschaltung
auf Standarddruck (1013,25) und damit
auf Flugfläche statt Höhe.
Über die Meßwertanzeige im LC-Dis-
play gibt es nicht viel zu berichten. Der
Luftdruck wird fünfstellig in Hekto-
pascal, die Höhe vierstellig in Metern
angegeben. Zwei Indikatoren (Pfeil
nach unten und nach oben) zeigt die
Tendenz der Meßwerte an. Wenn der
Datenlogger aktiv ist, so erscheint ein
Sternchen im Display.
D
A T E N Z U M
P C
Die Kommunikation des Meßgeräts
mit dem PC erfolgt im Format 8 bit,
9600 Baud, kein Paritätsbit, kein
Handshake. Geeignet ist im Prinzip
jedes Terminalprogramm, auch das in
Windows 95 integrierte.
Es gibt zwei Varianten, Daten zum PC
zu übertragen. Wählt man im Prefe-
rences-Menü die Funktion Send direct,
wird permanent übertragen - sobald
ein Meßergebnis vorliegt, wird es aus-
gegeben. Mit der Funktion Enter to
send am Ende des Datalogger-Menüs
kann man den Inhalt des Datenlog-
gers hingegen in einem Rutsch zum
PC übertragen. Für Flieger sei noch
angemerkt, daß der Datenlogger als
digitaler Barograph verwendet wer-
den kann, wenn man mit dem PC eine
entsprechende grafische Auswertung
vornimmt (z.B. mit Excel).
(980097-2)rg
Software
selbstgestrickt
Spezialisten können die eigenen Wünsche und besondere Funktionen ver-
wirklichen, da die Diskette auch den Sourcecode der Software enthält, benöti-
gen dazu aber die Tasking C Entwicklungsumgebung. Ein Demo des C-Com-
pilers ist kostenlos unter der Internet-Adresse www.tasking.com erhältlich.
Für die Kommunikation mit dem Display ist in die basale Funktion _IOWRITE
aufgenommen. Dadurch können die Standard-Druckbefehle der Sprache C
verwendet werden. Konversionen müssen also nicht selbst geschrieben wer-
den. Auch die Druckformate werden durch den FPRINTF() unterstützt. Glei-
chermaßen findet auch die Kommunikation über die RS232-Schnittstelle durch
_IOREAD() und _IOWRITE() statt. Die gesamte Palette von I/O-Routinen, die
C zur Verfügung stellt, kommt zum Einsatz.
S2
FUNCTION
Hiermit werden die Funktionen eines jeden Menüs im Kreis
durchlaufen.
S3
UP (+)
Erhöhung des selektierten Digits
S4
DOWN (-)
Verringerung des selektierten Digits.
S5
ENTER
Bestätigung einer Selektion oder Änderung (Speichern im
EEPROM)
S6
ESCAPE
Zurück zur höheren Menü-Lage, ohne Änderungen zu spei-
chern,
Besuchen Sie unsere Homepage:
http://www.elektor.de