Nachdem inzwischen Temperatursensoren und Feuchtigkeitsmessung an meiner „Wetterstation“ recht gut funktionieren ist es Zeit für das nächste Modul: Ein Barometer. Passend dazu konnte ich einen MPX4115A von Motorola aus einem anderen Gerät ausschlachten. Dummerweise bewegen sich die interessanten Messwerte alle in einem sehr kleinen Bereich, was den 10Bit AD-Wandler des ATMega an seine Grenzen treibt. Zwar gibts ungefäre Messwerte, aber die Schwankungen waren für meinen Geschmack zu groß. Fündig wurde ich bei tuxgraphics, welche eine eigene „Wetterstation“ im Angebot haben. Auch dort kommt ein MPX4115A zum Einsatz, der wird aber mittels eines TLC272 entsprechend verstärkt. Der TLC272 kommt zum Einsatz, da dieser nicht wie die meisten eine negative Spannung benötigt, sonder sich auch mit einer einzelnen +5V-Spannung begnügt.
Da tuxgraphics die interne 1,1V-Referenz ihres ATMega88 nutzen musste ich etwas dran drehen, denn ich habe bei meinem ATMega8 nur die Wahl zwischen 2,56V oder 5V – da letztere nach einigen Berichten stabiler wäre kommen also +5V als Referenzspannung zum Einsatz.
Wirklich verstehen tue ich die Schaltung zwar nicht, aber ich denke, dass das ganze so einigermaßen stimmt – für die letzten 18 Stunden hatte ich auf jeden Fall den selben Luftdruckverlauf wie eine angrenzende Wetterstation. Werde das Ganze noch einige Zeit weiter beobachten.
Hier der ADC-Relevante Teil meiner Schaltung:
Die Formeln sehen momentan so aus:
$r1=100; $r2=11; $vcc=4.93; $ref=3.82; $offset=-2; //Druck Differenz zu NN und Messfehler //$adc=Messwert $vin=($ref+($vcc/1023*$adc/($r1/$r2+1))); $hpa=($vin/$vcc+0.095)*1111.11+$offset;
Ähm… sach mal… willste dem deutschen Wetterdienst Konkurenz machen oder haste einfach nur Langeweile? ^^
Naja, um an deren Messgenauigkeit zu kommen muss ich etwas teurere Sensoren kaufen und ein paar Häuser der Nachbarn abreißen 😉