Langue English Język Polski Kalkulator ciśnienia względnego

Barometr

Postanowiłem do palety rzeczy mierzonych dołączyć ciśnienie atmosferyczne. Miałem od znajomego barometr na 1-wire wykonany według schematu Davida W. Bray - nie mogłem się jednak jakoś zabrać za jego kalibrację. Postanowiłem więc wypróbować barometr ze stacji pogody by "tytan". Z prezentowanej przez niego stacji meteo wykorzystałem tylko DS2450 i MPX4115. Dodatkowo ze względu na dużą czułość układu na zmiany napięcia zasilającego (skaczą wtedy wyniki) zasiliłem całość z +12V poprzez stabilizator napięcia 78L05.
Układ DS2450 niestety nie potrafi wykryć czy ma dołączone zasilanie czy też nie. Tak więc musimy go ręcznie poinformować że ma doprowadzone zasilanie:
owwrite 20.nr_czujnika/power 1
Wyniki są całkiem, całkiem - ciśnienie trochę skacze i niestety nie mam dostępu do żadnych profesjonalnych barometrów aby zrobić jakieś porównania. Zrobiłem uśrednienianie danych (po 5 odczytów co 2 minuty na jeden wpis do bazy rrd) i to już prezentuje się znacznie lepiej.

Odczyt ciśnienia następuje poprzez odczyt napięcia z DS2450:
barometr_napiecie=`owread 20.nr_czujnika/volt.A`
Następnie przeliczamy napięcia na ciśnienie bezwzględne w hPa:
c_abs=`echo "scale=20 ;a=((($barometr_napiecie / 5.04) + 0.095) / 0.009) ;\
        scale=2 ;(a * 100) / 10" |bc`
Gdzie 5.04 - to napięcie odniesienia (napięcie zasilające nasz układ).
UWAGA! To napięcie należy jak najdokładniej zmierzyć.
Poprawkę w stosunku do jakiegoś wzorcowego barometru dodajemy na końcu obliczeń. Jeśli poprawkę zrobimy zmieniając wartość napięcia to uzyskamy odchyłkę, która będzie rosła w miarę oddalania się od punktu w którym skalibrowaliśmy barometr. U mnie poprawka wynosi -17,1 hPa.
c_abs - wynik - ciśnienie absolutne (bezwzględne) w hPa z dokładnością do dwóch miejsc po przecinku.

Aby uzyskać wskazania które można porównywać z innymi stacjami meteo musimy jeszcze przeliczyć uzyskany wynik na ciśnienie względne (normalizowane).
c_zn=`echo "g=9.780318 * (1 + 0.0053024 * (s($fi))^2 - \
        0.0000058 * (s(2 * $fi))^2) - \
        0.000003085 * $nh ;\
        t=((2 * ($temp + 273.15)) + ((0.6 * $nh)/100))/2 ;\
        kor=e ((g * $nh)/($nR * t)) ;\
        scale=2 ;($c_abs * kor * 10)/10" |bc -l`
gdzie:
fi - szerokość geograficzna w stopniach (np. 51.38)
nh - wysokość barometru w m npm (np. 52)
temp - temperatura powietrza w °C
nR="287.05" - stała gazowa
c_abs - ciśnienie absolutne (bezwzględne) - odczytane wyżej

Wynik otrzymujemy w zmiennej c_zn w hPa z dokładnością do dwóch miejsc po przecinku (dokładność możemy dać inną wpisując właściwą zamiast liczby "2" w "scale=2" (ostatnia linijka skryptu).

Przedstawiony sposób przeliczania uwzględnia zmianę stałej przyciągania ziemskiego w zależności od położenia (szerokość geograficzna) i wysokości npm, od gęstości powietrza (temperatura) i różnicy wysokości (czyli tak jak się to przelicza w stacjach meteo).

Można sobie również wyliczyć zmienną do zamiany ciśnienia bezwzględnego na względne i się nie przejmować tym że będzie ciut odbiegać od rzeczywistości przy zmianach temperatury.

Wzory na przeliczenie ciśnienia


Domowa stacja meteo
icon IPv4 Automatyka domowa www.tomkii.net/tech/pomiary/ - co, jak i czym mierzyć.
Moje forum o stacjach pogodowych forum.tomkii.net/forum-5.html

Kontakt e-mail: Napisz@Tomkii.net
Ostatnia modyfikacja: 2011-07-07