Higrometr
Pomiar wilgotności powietrza oparłem o czujnik HIH4021 oraz układ DS2438.
Zastosowałem w tym celu gotowy moduł z Hobby-Boards
humidity 1-wire.
Układ ten jest o tyle przyjemny że nie wymaga kalibracji.
Należy zwrócić uwagę na miejsce zamontowania czujnika - powinien znajdować
się w cieniu. Z tego względu nie polecam kupowania modułu razem z
czujnikiem promieniowania słonecznego
(który siłą rzeczy musi być wystawiony na
działanie promieni słonecznych). Jeśli jednak już się zdecydujemy
na taki zestaw to warto diodę pomiarową
(CLD240) wylutować z płytki i połączyć za pomocą przewodu. W ten sposób
można cały układ umieścić w cieniu a sam czujnik promieniowania wystawić na
słońce.
Pierwotnie czujnik wilgotności umieściłem w hermetycznej puszce elektrycznej
(z dziurą od dołu) na północnej ścianie komina (na dachu). Pojawiły się
jednak dwa problemy:
- temperatura w tym miejscu jest o 2-3°C wyższa,
- przez około 1 godzinę słońce pada jednak w to miejsce fałszując
wyniki.
Przeniosłem więc czujnik w to samo miejsce, gdzie mam pomiar temperatury
zewnętrznej. Jest to wlot powietrza (tzw. zetka) do domu umiejscowiony na
północnej ścianie. Na zdjęciu po lewej widać moduł do pomiaru wilgotności a
po prawej już po montażu na ścianie (mały, czarny punkt na środku to
czujnik temperatury).
Cały moduł (z wyjątkiem samego czujnika) potraktowałem oczywiście specjalną
farbą do zabezpieczania układów drukowanych przed korozją.
Odczytu wilgotności dokonujemy komendą:
owread 26.nr_czujnika/HIH4000/humidity
Jest to wilgotność względna. Na poniższym wykresie znajdują się wyniki
odczytu mojego higrometru:
Jeśli nasz układ nie ma zainstlowanej diody do pomiaru nasłonecznienia
to warto wyłaczyć próbkowanie wejścia do pomiaru prądu:
owwrite 26.nr_czujnika/IAD 0
Niezależnie od posiadanej wersji można wyłączyć (nie wiem czy coś to
pomaga):
# wyłącza "current accumulator"
owwrite 26.nr_czujnika/CA 0
# wyłącza eeprom dla "current accumulator"
owwrite 26.nr_czujnika/EE 0
Oprócz odczytu wilgotności warto z tego układu odczytać również
temperaturę:
owread 26.nr_czujnika/temperature
Punkt rosy
Mając te dwie wielkości możemy obliczyć punkt rosy (dewpoint).
Podstawy teoretyczne (po angielsku):
model ITS-90
formuła Berry
formuła Magnusa
Można użyć w tym celu formuły Berry:
EW = 10^ ( 0.66077+7.5*T/ (237.3+T) ); // this is the saturation vapor pressure over water.
EW_RH = EW * RH / 100; // multiply with relative humidity
Dp = ((0.66077-log10(EW_RH))*237.3) / (log10(EW_RH)-8.16077); // this is the dewpoint
po uproszczeniu:
LogEW = ( 0.66077+7.5*T/ (237.3+T)+(log10(RH)-2)
Dp = ((0.66077-logEW)*237.3) / (logEW-8.16077); // this is the dewpoint
Ja użyłem w tym celu formuły Magnusa (nowszej):
H = (log10(RH)-2)/0.4343 + (17.62*T)/(243.12+T);
Dp = 243.12*H/(17.62-H); // this is the dew point in °C
Trzeba ją trochę przerobić bo w bc nie ma operacji log10:
DewP=`echo "scale=20 ;l10=l($H)/l(10); h=(((l10 - 2) / 0.4343) + \
((17.62 * $T) / (243.12 + $T))); \
(243.12 * h) / (17.62 - h)" | bc -l`
Gdzie H zawiera odczytaną wilgotność względną a T odczytaną temperaturę w
°C. Wynik (w zmiennej DewP) jest również w °C.
Do tego możemy sobie jak zwykle domalować ulubiony wykres:
Domowa stacja pogody.
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-12