sterownik łazienkowy do bojlera, ogrzewania i wentylacji

W końcu stało się …

trzeba zbudować optymalny układ (sterownik łazienkowy) autonomicznie zarządzający:
– grzaniem wody użytkowej w bojlerze elektrycznym,
– uruchamianiem ogrzewania podłogowego,
– nadzorujący wentylator łazienkowy.

eksploatowane do tej pory sterowniki - około 20? lat

eksploatowane do tej pory sterowniki – około 15? lat

Wszystko przez zwiększoną awaryjność dotychczas stosowanych i wysłużonych sterowników. Zresztą w moim mniemaniu bardzo fajnych i udanych konstrukcji, produkcji firmy METRON. Zawodnym elementem jest układ kontroli i ładowania, oraz sam akumulatorek (z uwagi na upływ lat). Same urządzenia w postaci serii sterowników PCm są dobrze i funkcjonalnie skonstruowane – choć nastawy tych bardziej rozbudowanych funkcjonalnie pewno można by spróbować uprościć. Niemiłosiernemu procesowi starzenia ulegają też gumowe przyciski, powodując powstawanie piany na ustach podczas prób manipulacji nimi.

Gdy kupowałem pierwszy z nich PCm01 pamiętam, że był pioruńsko drogi, a udało mi się go nabyć w znakomitej cenie coś około 120PLN. Od zawsze pilnował, by bojler nie robił głupot 😉 drugi załączał pralkę gdy było to konieczne itd …

Tym razem opis będzie zawierał notatki konstruktorskie i zacznie się od chwili obmyślania projektu 😉

Tak więc:

po pierwsze będzie potrzebna funkcjonalność zegara z kalendarzem co jest zrozumiałe, + automatyczne przełączanie na czas letni, mam taryfę więc trzeba będzie to jakoś okiełznać, dodatkowo harmonogram przełączeń poszczególnych odbiorników też by się przydał. Rolę RTC pewno będzie pełnił zakupiony kiedyś moduł (I2C RTC DS1307 + AT24C32) o tyle fajny, że z podtrzymaniem zasilania zegarka, no i dodatkowy EEPROM też się na pewno przyda.

moduł Tiny RTC widok z góry

moduł Tiny RTC od góry

moduł Tiny RTC widok z dołu

moduł Tiny RTC od dołu

po drugie inicjacja wentylacji wymuszonej na podstawie wyników wilgotności otoczenia z sensora DHT21, bo jest w zupełności wystarczający pod względem precyzji i rozdzielczości pomiarów + jakieś zależności czasowe. Ten wentylator siedzi w łazience, do wentylatora za ścianą – ubikacja, już planuję inny sposób automatycznego załączania ;-D ha tu można by się jeszcze pokusić o sterowanie serwomechanizmem lub elektromagnesem otwierającym roletkę wentylatorów,
po trzecie główne pożeracze prądu w postaci bojlera i ogrzewania podłóg w łazience i ubikacji, nie będą działały samowolnie. Na myśli mam, aby zużywały energię w określonej taryfie i miały dodatkowo zależności związane z temperaturą. Jako sensory temperatury trzy x DS18B20 ze względu na niewielkie gabaryty i małą liczbę wyprowadzeń. Ale dla przyspieszenia pomiarów precyzję generowanego wyniku warto by przełączyć na mniejszą dziewięciobitową – uzyskana w ten sposób rozdzielczość pomiaru temperatury 0,5°C i tak jest duża. Za ich pomocą źródło energii było by indywidualnie odcinane, po osiągnięciu nastawionej temperatury przez konkretny odbiornik.

Prezentacja wyników pomiarów i nastaw musiała by być na jakimś wyświetlaczu … może na tym od Nokii bo się dużo treści zmieści. Do wyświetlenia będzie:
temperatura i wilgotność w łazience,
temperatura bojlera,
temperatura podłogi w łazience,
temperatura podłogi w ubikacji,
napięcie bateryjki zegarka,
godzina i data, i dzień tygodnia,
statusy grzałek podłogowych, bojlera i wentylatora.
Więc trochę tego jest. Na szczęście wyświetlacz ma 6 wierszy po 14 znaków. Wyświetlacz podświetlę LEDem RGB (Black Body Surface Mount Tricolor LED – ASMT-QTC0-0AA02D/C:0816 PLCC4) gdyż jest kilka takich w zapasie 😉 hhyyymmm działanie poszczególnych elementów grzejnych może być sygnalizowane odmiennym kolorem podświetlenia 😉 tryb konfiguracji mruganiem …

Elementami wykonawczymi niech będą triaki BT138 (maksymalne napięcie 600V; maksymalny prąd 12A; prąd bramki 35-100 mA; obudowa TO220) lub BT139 (maksymalne napięcie 800V; maksymalny prąd 16A; prąd bramki 25mA; obudowa TO220) wyzwalane w zerze sieci optotriakami MOC3041 (napięcie przebicia 7,5 kV, przeznaczony do pracy w obwodach 230 V, synchronizacja przejścia przez ”0”). Potrzebne 4 sztuki. tym sposobem nie będzie przekaźników pobierających spory prąd podczas działania.

Trzeba by piny IO podliczyć do wszystkich peryferiów … na razie wersja „wielopinowa” więc DS-y każdy podłączony indywidualnie. To po to by uniknąć w kodzie całego bałaganu z numerami ID adresowaniem sensorów itd …

4 piny sensory temperatury (1xDTH i 3xDS)
2 piny moduł I2C,
3 piny LED RGB,
6 pinów wyświetlacz LCD,
4 piny sterowanie odbiorników (bojler podłoga1 i podłoga2, wentylator)
1 pin pomiar napięcia bateryjki RTC

razem 20 pinów – a jak mi się zachce komunikacji przez RS z komputerem to +2 piny

jeszcze potrzebne są jakieś przyciski do obsługi … a TQFP32 (MEGA8 – 328) nie ma wszystkich nóg użytkowych … choć 24 nogi są do dyspozycji, w tym dwie wyłącznie ADC. Jakby użyć impulsator wtedy nie trzeba wielu przycisków, zużyje się 3 piny. Ale gdyby była możliwość bezpośredniego załączania (przełączania ON/OFF/ON…) wentylatora i bojlera bez grzebania w menu było by nieźle ;-D Dodatkowo 2 piny mogą odpaść z tytułu podłączenia rezonatora kwarcowego.

Funkcjonalność użytkowa:

bojler – w zadanym czasie znaczy w określonych godzinach możliwe podgrzewanie wody do zadanej temperatury, oraz utrzymywanie nastawionej temperatury, dodatkowo możliwość „ręcznego wyłączenia programu”
podłoga1 – w określonych godzinach możliwe ogrzewanie do zadanej temperatury, oraz utrzymywanie nastawionej temperatury, dodatkowo możliwość „ręcznego wyłączenia programu”
podłoga2 – w określonych godzinach możliwe ogrzewanie do zadanej temperatury, oraz utrzymywanie nastawionej temperatury, dodatkowo możliwość „ręcznego wyłączenia programu”, tu się muszę zastanowić czy nie zrobić jednej nastawy temperatury zadanej dla  „obu podług” oraz wspólnego „zezwolenia” na ogrzewanie,
wentylator – 😉 o ile w końcu po paru latach udało mi się nauczyć niektórych członków rodziny do jego załączania podczas kąpieli o tyle „jak lubisz to se go wyłączaj sam” i tutaj najlepiej abym wykombinował dobry patent do załączania i wyłączania zarazem. Ponieważ będzie czujnik wilgotności względnej o tyle inicjacja pracy nie będzie stanowiła problemu … natomiast raczej nikt nie będzie zadowolony gdy przez pół nocy wentylator będzie pracował … dlatego myślę też o uzależnieniu czasowym wyłączenia wentylatora, a np roletka mogła by pozostać otwarta dłużej …. znowu dodatkowy pin będzie niezbędny do sterowania otwieraniem i zamykaniem roletki wentylatora … aby było konkretnie powinno być jeszcze „obczajanie” pozycji roletki w sensie ON/OFF … i znowu pin pochłonięty ;-d
harmonogram zezwoleń ogrzewania – tutaj będzie chyba najtrudniej dla mnie, trzeba oprogramować „punkty” kiedy mają nastąpić zezwolenia włączenia lub wyłączenia stosownego odbiornika w każdym dniu indywidualnie, oraz zapamiętać wszystko w pamięci nieulotnej,
zadana temperatura – nastawiam temperaturę maksymalną dla każdego medium indywidualnie i zapamiętuję ją w pamięci nieulotnej,
zadana wilgotność – ma określić próg kiedy trzeba załączyć wentylator, wartość również do zapamiętania w pamięci nieulotnej, jak ma nastąpić wyłączenie muszę wymyślić i przemyśleć,
komunikacja z „babajagą” i pozostałymi szkodnikami 😉
– zawartość wyświetlacza ->
wiersz nr 6 – znaczniki przełączeń w poszczególnych dniach, coś w rodzaju kalendarza,
wiersz nr 5 – znaczniki przełączeń w poszczególnych dniach, coś w rodzaju kalendarza,
wiersz nr 4 – temperatura zadana i bieżąca dla ogrzewania podług, sygnalizacja pracy automatycznej lub „wyłączenia ręcznego”,
wiersz nr 3- warunki „klimatyczne” w pomieszczeniu, próg załączenia wentylatora,
wiersz nr 2 – temperatura zadana i bieżąca dla wody użytkowej w bojlerze, sygnalizacja pracy automatycznej lub „wyłączenia ręcznego”,
wiersz nr 1 – ?
podświetlenie wyświetlacza – LED RGB sygnalizujący różne funkcje i stany
dodatkowe kontrolki zadziałania obwodu wykonawczego – w postaci LED szeregowych połączonych z optotriakiem

A.D. 2014-07-24 wykonałem rewizję wiadomości o termometrze cyfrowym czego efektem jest artykuł szczegóły – opis DS18B20 vs DS18S20 zapoznałem się z obsługą DS1307 i powstał artykuł , powstaje zaczątek kodu dla zegara i konfiguracji termometru

A.D. 2014-07-27 powstał układ modelowy gdzie przekonfigurowany został termometr DS18B20 na rozdzielczość 0,5°C. Uruchomiony został moduł zegara RTC, wyposażony przeze mnie o wspomniany sensor temperatury. Za moment uruchomiony zostanie pomiar napięcia zasilania awaryjnego i impulsy wzorcowe dla µC, tak aby nie zajmować timerów. Ekran terminala z uruchomioną funkcjonalnością.

widok co układ modelowy wypluwa na konsolę terminala, prezentowana szersza funkcjonalność kodu niż prezentowana

widok co układ modelowy wypluwa na konsolę terminala, prezentowana szersza funkcjonalność kodu niż prezentowana

A.D. 2014-08-04 na tą chwilę działa pomiar napięcia baterii, odpalone impulsy wzorcowe z RTC. „Po drodze” rozwiązałem problem z zatrzymującym się zliczaniem czasu po przełączeniu na zasilanie backup (bateryjne). Zegar nie kasował się a przestawał inkrementować liczniki. Po powrocie zasilania głównego kontynuował zliczanie. W niedzielę udało mi się „wykończyć” mechanicznie jeden wyświetlacz ;-/ przez oderwanie padów z przylutowanymi przewodami.
Aktualnie mam problem z uciekającym prądem podczas braku zasilania głównego, przez pin µC odpowiedzialny za pomiar napięcia baterii.
Oraz do modelu dodany został expander IO aby poćwiczyć obsługę impulsatora za nim ;-D

A.D. 2014-08-05 Ponieważ wczoraj prawie zapomniałem iść spać zaowocowało to wyeliminowaniem niepożądanego rozładowywania baterii … pora na wnikliwe testy.

A.D. 2014-08-09 układ się rozwinął tym razem o impulsator – wszystko opisałem tutaj ->Impulsator i jego obsługa w Bascom według kaktusa 😉

A.D. 2014-08-19 opis Tiny RTC wielki – mały moduł oraz dodatkowe informacje o zamieszczonym tutaj schemacie ;-p

A.D. 2014-08-21 Hymmmm chyba przyszłą kolej na posklejanie tego do „kupy” … chyba wcześniej dopracuję obsługę DHT11 i DHT22 a potem zacznę sklejać zaplanowane i opanowane funkcjonalności w całość 😉 W między czasie przy okazji testów z LED-IC wygnałem boot loader z M328P i będę się do niego wprowadzać z całym tym „bałaganem”. W końcu zacznie się wyłaniać sterownik łazienkowy.

CDN


schemat modułu schemat_Tiny_RTC.pdf (293 pobrania)
nota katalogowa DS1307.pdf (558 pobrań)
nota katalogowa AT24C32.pdf (644 pobrania)
nota katalogowa DS18B20.pdf (328 pobrań)
nota katalogowa LED ASMT-QTC0-0AA02D.pdf (290 pobrań)

 

Share Button
Tagi , , , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

18 − eight =

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.