Kolejnym prostym projektem, jaki postanowiłem opublikować, jest higrometr do ultradźwiękowego nawilżacza powietrza.W zeszłym roku podczas mrozów wilgotność spadała tak mocno, że mimo mojej generalnej odporności na różne dziwne warunki, stawało się to nieznośne. Ciągłe uczucie zapchanego nosa, suchości śluzówki, oczy szczypią, a na dodatek drewniana podłoga, jaką mamy w sypialni zaczęła się zwyczajnie kurczyć i rozłazić na łączeniach desek. Kupiony nawilżacz ultradźwiękowy, choć spełniał swoje zadanie, miał bardzo upierdliwą właściwość - trzeba było go pilnować. Postanowiłem zatem wykonać prosty układzik na jakimś małym mikrokontrolerze i tanim czujniku wilgotności, aby zrealizować na nim prosty higrometr.
Budowa
Jak widać - układ powstał na jednostronnej płytce drukowanej, tak naprawdę można by pokusić się o trawienie, ale jakoś ja nie mam do takich prac już siły ani nawet miejsca - standardowo już płytki zamówiłem. Na pcb znajdziemy liniowy stabilizator 5V, wyświetlacz multipleksowany, procesor ATTiny2313, dwa przyciski oraz przekaźnik sterujący pracą nawilżacza. Sam hardware jest banalny, tak więc chyba nie ma czego tłumaczyć.
Jedyną ew. ciekawostką jest zastosowanie zintegrowanego czujnika wilgotności i temperatury DHT11. Jest to czujnik b. prosty, średnio dokładny, ale cyfrowy i stosunkowo tani (ok. 15zł w PL detalu). Z procesorem połączony jest jednoprzewodową magistralą, ale nie jest to 1Wire Dallasa. Master wysyła żądanie odczytu temperatury i wilgotności poprzez jeden dłuższy impuls masy, a slave odpowiada ciągiem bitów, z których składamy 5 bajtów (2 bajty wilgotności, 2 bajty temperatury i bajt CRC). Dla zainteresowanych samym czujnikiem odsyłam do PDF'a.
Funkcjonalność
Program pisany w WinAVR, dane z DHT11 odczytywane są co 5 sekund, multiplexowanie oraz czas mierzony jest licznikiem T0, czasy impulsów podawanych przez DHT11 liczone są na liczniku T1. 3-krotne błędne odczytanie wartości z czujnika (brak odpowiedzi, błędna suma kontrolna) powoduje przejście w stan błędu (symbol Er na wyświetlaczu) oraz załączeniem nawilżacza na stałe. Jeżeli odczyt się uda, układ przechodzi normalnie do pracy. Drgania zestyków zrealizowane również na timer0, jest też szybkie auto-powtarzanie po przytrzymaniu przycisku. Trochę się przeliczyłem też z miejscem na program i ledwo udało mi się upchnąć wszystko w 2kB. Zabrakło możliwości ustawienia histerezy (jest teraz sztywna 2%) oraz nawet odczytu temperatury na wyświetlacz.
Możliwe jest ustawienie dwóch wartości:
-temperatury poniżej której nie będzie się włączał nawilżacz,
-wilgotności zadanej.
Oba te ustawienia przechowywane są w pamięci EEPROM. Przy normalnej pracy wyświetlana jest zmierzona wartość wilgotności. Miganie kropki w rogu wyświetlacza oznacza, że nawilżacz pracuje. Wciśnięcie przycisku S1 powoduje przejście w ustawienia temperatury (na sekundę przed modyfikowaną wartością wyświetlany jest "'C"). Naciśnięcie przycisku S2 powoduje przejście w nastawianie wilgotności (napis "rH" na sekundę). Gdy przestaniemy modyfikować wartość temperatury lub wilgotności, po 5 s układ przejdzie do pracy, zapisze ustawienia w EEPROM oraz wyświetli aktualną wilgotność.
Fotki z montażu całości do kupy
Na ostatnim zdjęciu widać podłączenie czujnika wilgotności wg zaleceń producenta nawilżacza podczas pracy powinien być postawiony gdzieś na wysokości ok. 1 metra. Gdybym się do tego stosował, najprawdopodobniej można by ten czujnik wbudować w nawilżacz. Mi jednak totalnie nie pasuje ustawianie go tak wysoko i stoi na podłodze koło kaloryfera. Powietrze zasysane przez wentylator zbierane jest wtedy właściwie z podłogi, gdzie opada duża część z wydalonej właśnie wody (nie to, że to widać, ale wilgotność w obrębie nawilżacza ostro rośnie, a np. już metr dalej jest o wiele niższa). Zatem, aby to zwyczajnie nie głupiało, czujnik DHT11 mam na 2-metrowym przewodzie i jest on położony właśnie na wysokości ok. 1m tak, że go ładnie nie widać. Przy okazji modyfikacji nawilżacza zmniejszyłem lekko obroty wentylatora, przez co urządzenia stało się bardziej ciche, a nadal wydajne.
Kosztorys (trochę z głowy):
- płytka ok. 20zł,
- Attiny2313 - ok. 5zł,
- stabilizator ok. 2zł,
- wyświetlacz ok. 2zł,
- DHT11 - 15 zł,
- drobnica ok. 3zł,
- przekaźnik ok. 2zł.
Suma to ok. ~50zł/moduł.
Teraz to tylko lać wodę, jak się skończy i nie zastanawiać się, czy nawilżacz włączyć czy jeszcze nie, itd. Zachęcam do modyfikacji, bo naprawdę ułatwia to życie.
Fajne? Ranking DIY