Letztes Update 23.04.2003
Bild 1
Als Luftdrucksensor wird der MPXS 4100A von Motorola benutzt. Er besitzt einen integrierten Verstärker inklusive Temperaturkompensation. Der Meßbereich geht von 200 bis 1050 mBar (hPa). Die Ausgangsspannung berechnet sich nach folgender Gleichung:
Vo = Vcc * (P * 0,01059 - 0,1518) +/- (Pe * Tf * 0,01059 * Vcc)
Vcc = Versorgungsspannung = 5,00Volt
Pe = Luftdruck Fehler. Es gilt für folgende Temperaturbereiche
Pe = 1 - T * 0,05 für T < 0°C
Pe = 1,0 für T = 0 bis 85°C
Pe = T * 0,05 - 3,25 für T > 85°C
Tf = Temperatur Faktor
Tf liegt im Druckbereich von 200 bis 1050mBar im Bereich von +/- 15mBar und muß durch kalibrieren bestimmt werden.
Werden die Korrekturfaktoren mal weggelassen, dann bewegt sich das Ausgangssignal im Bereich von 0,3 bis 4,8 Volt für 200 bis 1050 mBar. Da nur der Bereich ab ca. 920mBar interessant ist, wird das Signal entsprechend angepaßt.
Gewünschter Meßbereich: 920 ... 1050 mBar
Ausgangsspannung: 4,1124 ... 4,80075 Volt
Subtrahiert wird die verfügbare Referenzspannung Ref1 von 4,096 Volt:
Ausgangsspannung: 0,0164 ... 0,70475 Volt
Und jetzt noch das Ganze um den Faktor 5,6 verstärken
Daraus ergibt sich ein Ausgangspannungbereich von 0,09184 ... 3,9466 Volt
Bild 2
In der Wetterstation befindet sich auf der Platine für die Energieversorgung eine Referenzspannungsquelle von 4,096 Volt für die ADC's. Sie wird mit dem LM4040 aufgebaut. Dieses IC ist jedoch nur schwer zu bekommen. Alternativ wird deshalb eine Referenzspannung mit dem TL431 aufgebaut. Mit der angegebenen Dimensionierung liegt sie bei ca. 4.09 Volt, anhängig von den Toleranzen der Widerstände. Der Kern der Schaltung ist der Subtrahierer IC1b, der von dem Drucksignal U1 die Referenzspannung abzieht. Durch R5/R6 und R7/R8 wird gleichzeitig der Verstärkungsfaktor auf 5,6 eingestellt. R9 und C1 bilden einen Tiefpaß um Schwankungen des Ausgangssignal zu unterdrücken.
Liegt noch nicht fest.
Bild 3
Die Kalibrierung wird hier mal etwas ausführlicher behandelt. Bild 3 zeigt in einem Blockdiagramm alle Komponenten, die bei der Kalibrierung berücksichtigt werden müssen. Jeder Block besitzt eine Eingangs- und eine Ausgangsgröße, die durch die zwei Parameter a und b nach folgender Gleichung beschrieben werden.
Output = Input * a + b
Für den Drucksensor ist diese Annahme zulässig, da es sich bei allen Blöcken um lineare Kennlinien handelt.
1. Druck
P = P1 * a0 + b0
P ist der Luftdruck über NN.
P1 ist der gemessene Luftdruck in der Höhe h.
a0 ist der Parameter für die Höhenkorrektur
Barometrische Höhenformel
P(h) ist der gemessene Luftdruck in der Höhe h
h die Höhe der Meßstation in Meter.
P0 ist der Luftdruck über NN
Durch Umstellung der Höhenformal nach P0 ergibt sich daraus a0 zu
a0 = 1,00744 für 59m über NN
b0 beschreibt die Abweichung vom tatsächlichen Luftdruck, hervorgerufen durch die Fertigungstoleranzen des Sensors. Bild 4 zeigt einen Auszug aus dem Datenblatt. Es handelt sich dabei um eine Verschiebung auf der Y-Achse.
Bild 4
b0 = 0 bis zum Vergleich mit einer anderen Wetterstation
Dieser Fehlerfaktor kann nur durch einen Vergleich mit einem bekannten Wert ermittelt werden. Dazu wird am besten von einer kalibrierten Wetterstation der aktuelle Wert aufgenommen, bzw. er wird beim lokalen Wetterdienst erfragt.
2. Sensor
U1 = P1 * a1 + b1
Diese Gleichung beschreibt den Zusammenhang zwischen dem Luftdruck, und der Ausgangsspannung, die der Sensor liefert und wird dem Datenblatt entnommen.
Da sich der Drucksensor im Gehäuse der Wetterstation befindet, liegt seine Umgebungstemperatur immer über 0 °C. Die Gleichung zur Berechnung des Luftdrucks reduziert sich deshalb auf:
U1 = Vcc * (P * 0,01059 - 0,1518) [kPa]
Die Therme für die Temperaturkorrektur < 0°C und > 85°C können weggelassen werden.
U1 = Ausgangsspannung des Sensors
P1 = Luftdruck
a1 = Vcc * 0,01059 * 0,1
Die Versorgungsspannung liegt bei 4,98 Volt
Der Faktor 0,1 ist für die Umrechnung von kPa in hPa.
a1 = 4,98 * 0,01059 * 0,1 = 0,00527382
b1 = Vcc * -0,1518 = -0,755964
3. Amp
U2 = U1 * a2 + b2
Hier werden die Parameter des Verstärkers beschrieben, wie er in Bild 2 aufgebaut ist. Der Sensor wird abgeklemmt und durch eine Spannungsquelle ersetzt. Daraus ergibt sich folgende Wertetabelle:
| U1 [V] | U2 [V] |
4,10 |
0,085 |
4,20 |
0,595 |
4,30 |
1,146 |
4,40 |
1,701 |
4,50 |
2,262 |
4,60 |
2,824 |
4,70 |
3,393 |
4,80 |
3,937 |
4,90 |
4,500 |
Durch die Gleichungen für die lineare Regression werden daraus die Koeffizienten der Kennlinie bestimmt:
a2 = 5,5505
b2 = - 22,7058
4. ADC
U3 = U2 * a3 + b3
Dieser Block beschreibt die Datenerfassung, also vom Eingang des ADC bis zur Anzeige der Spannung im Programm.
Da der ADC über seinen ganzen Messbereich linear ist, reichen hier zwei Meßpunkte.
| U2 [V] | U3 [V] |
| 1,593 | 1,602 |
| 3,188 | 3,208 |
Durch die Gleichungen für die lineare Regression werden daraus die Koeffizienten der Kennlinie bestimmt:
a3 = 1,006897
b3 = -0,0019862
5. Zusammenfassung
Es gibt jetzt zwei Möglichkeiten. Zur Berechnung des Luftdrucks werden alle vier Gleichungen der Reihe nach durchgerechnet, oder es wird eine große Gleichung daraus gemacht. Hier der Weg zur großen Gleichung:
P1 = P * a0 + b0 Gleichung 1
U1 = P1 * a1 + b1 Gleichung 2
U2 = U1 * a2 + b2 Gleichung 3
U3 = U2 * a3 + b3 Gleichung 4
Die Mathematik dazu ist sehr einfach. Eine Gleichung wird in die Andere eingesetzt:
Jetzt wird ausmultipliziert
Etwas übersichtlicher darstellen
Gleichung nach P1 auflösen
es gilt
a4 = 33,927944
b4 = 919,084457
dadurch vereinfacht sich die Gleichung zu
Gleichung 5
Jetzt wird das Ganze noch in Gleichung 1 eingesetzt
es gilt
Die endgültige Gleichung vereinfacht sich deshalb zu
Gleichung 6
a5 und b5 können jetzt berechnet werden
a5 = 17,077308
b5 = 925,224860
ohne Höhenkorrektur
a5 = 16,963972
b5 = 919,084456
6. Auflösung
Zur Berechnung wird a0 = 1 und b0 = 0 gesetzt, da nur ab Gleichung 2 mit Spannungen gearbeitet wird.
Wird der Arbeitsbereich des OP's unter Berücksichtigung des Ausgangsbereiches des Sensors in Gleichung 6 eingesetzt kann die Auflösung der Schaltung berechnet werden.
Arbeitsbereich von 0,1V bis 3,86V
Das entspricht einen Druckbereich von 922,478hPa bis 1050,046hPa
Die Auflösung des ADC liegt bei 1Bit/mV
Daraus ergibt sich die Auflösung des Schaltung zu
Es läßt sich also ohne weiteres mit einer Genauigkeit von 0,1 hPa arbeiten.
Bild 5
Bild 6
Bild 7
Die blaue Kurve sind die Meßwerte des SETRA Gerätes, die Rote ist der MPXS 4100 und die graue Kurve ist die Differenz zwischen den beiden Sensoren. Die Abweichungen liegen zwischen +/- 0,2 hPa. Dafür gibt es zwei Ursachen.
1. Das Rauschen des ADC. Parallel zum Drucksensor wurde auf einem weiteren Kanal eine Referenzspannungsquelle aufgezeichnet. Es zeigte sich ein Bitrauschen von +/- 2 Bit. Bei der berechneten Auflösung macht das +/- 0,068 hPa.
2. Der Filter zur Mittelwertbildung. Bild 8 zeigt einen Ausschnitt bei einem stark ansteigenden Luftdruck mit einer Mittelwertbildung über die letzten 5 Minuten. Diese Verzögerung ist deutlich zwischen der Roten (MPXS 4100) und der blauen Kurve (SETRA) zu erkennen. Die graue Kurve zeigt wieder die Differenz an.
Bild 8
Da die Datenerfassung im Minutentakt gelaufen ist, kann dieses Verhalten aber noch wesentlich verbessert werden, wenn die Filterkonstante von 5 Minuten runtergesetzt wird. Da der entgültiger Erfassungszyklus nachher bei 10 Sekunden liegen wird, sind hier noch Verbesserungen zu erwarten.
Vergleichsgerät: SETRA Model 370 |
|
| Accuracy | +/- 0,02% full scale |
| Non-Linearity | +/- 0,012% full scale |
| Hysteresis | 0,010% full scale |
| Non-Repeatability | +/- 0,010% full scale |
| Thermal Zero Shift | +/- 0,002%/°F |
| Thermal Sensitivity Shift | +/- 0,001%/°F |
| Altitude Resolution | 1 ft. |
| Stability | < +/- 0,005%, 24 hours |
Bild 9
Damit die angezeigten Druckwerte nicht so zappeln, wurde als erster Test noch ein 15 Minuten Mittelwert-Filter implementiert, der nach folgender Gleichung arbeitet:
n richtet sich nach der Erfassungszeit. Wird jede Minute ein Druckwert aufgenommen, dann ist n = 15. Wird alle 20 Sekunden ein Wert aufgenommen, ist n = 45, usw.
Um den Unterschied zu verdeutlichen, ist in Bild 9 das Originalsignal um 1 hPa nach oben verschoben.