Witajcie!
Sterowników do pieców C.O. przewinęła się już cała masa. Chciałbym Wam przedstawić swój autorski, swobodnie programowalny sterownik z miniserwerem http i możliwością obsługi i odczytu parametrów przez przeglądarkę/smartfona z ciepłej kanapy.
Co mnie skłoniło do budowy sterownika? Potrzeba i wrodzona oszczędność.
W ponad 100-letnim poniemieckim domu, w którym mieszkam, funkcję jednostki grzewczej spełnia piec (docelowo na miał), wyposażony w wentylator i pompę obiegową, który zaopatruje dom w ciepłą wodę użytkową trafiającą do kaloryferów i bojlera.
Piec od nowości zaopatrzony był w elektroniczny sterownik, który przez wiele lat spełniał swoją funkcję.
Obecnie rosnące ceny surowców powodują, że człowiek szuka oszczędności. Wiadomo, można podkładać mniej do pieca, chodzić po domu w swetrze i kąpać się w zimnej wodzie.
Można również szukać oszczędności w sposobie generacji energii, jaką niewątpliwie jest ciepło i w odpowiednim, świadomym i inteligentnym sposobie sterowania procesem spalania węgla.
Na czym mi zależało?
1. Na możliwości sterowania temperaturą, przy której załączona zostanie pompa obiegowa. W mojej instalacji c.o. woda krąży po systemie w sposób grawitacyjny i nie wymaga dodatkowego "dopalacza". Odpowiednie jednak sterowanie pracą pompy pozwala zarówno zapobiec zagotowaniu się wody, jak i nadmiernemu wychłodzeniu kotła.
2. Na możliwości sterowania pracą sterownika w zależności od godziny. W nocy nie ma potrzeby utrzymywania wysokiej temperatury. Nad ranem, w godzinach migracji do szkół i pracy, komfortową sytuacją jest to, że sterownik się sam załącza, podnosi temperaturę, następne w godzinach, gdy nikogo nie ma w domu, ponownie przechodzi w stan czuwania, ponieważ nieekonomiczne staje się ogrzewanie całego czy nawet części domu, gdy nikogo w nim nie ma.[/td]
3. Na łatwej możliwości konfigurowania różnych trybów pracy, bez konieczności przeprogramowywania sterownika (w moim przypadku wystarczają dwa tryby: normalny i weekendowy, gdyż podczas weekendu zmieniają się preferencje grzewcze).
4. Na obsłudze przez internet. Aby nie musieć co 30-60min schodzić do piwnicy w celu kontroli temperatury i aby będąc poza domem, móc zdalnie kontrolować temperaturę i móc przedsięwziąć jakieś działania, np. zmienić tryb pracy, załączyć pompę, wentylator.
5. Na możliwości regulacji temperatury granicznej/alarmowej.I mój sterownik oprócz zadań podstawowych, które powinien spełniać każdy sterownik, spełnia również te powyższe, na których mi zależało.
Zapewne są na rynku dostępne urządzenia robiące to samo, może nawet i lepiej, ale ich koszt na pewno przekracza 300-400zł.
Całkowity koszt mojego sterownika, bez tworzenia dokładnych kosztorysów, wliczając nawet elementy, które posiadałem, z grubsza to może troszkę ponad 150zł + trochę czasu, chęci i umiejętności.
Koniec gadaniny. Czas przejść do technicznych konkretów.
Jednostka centralna sterownika to mikrokontroler Atmega1284. Dlaczego akurat taki, a nie Atmega32? Program, który napisałem (w C) jest nieco rozbudowany, głównie przez "Menu konfiguracyjne", które zżarło znaczne ilości miejsca, co spowodowało, że przestałem się mieścić na Atmedze32.
Do tego RTC PCF8583p, podtrzymanie bateryjne zegara w przypadku zaniku zasilania.
Czujnik temperatury – oczywiście DS18b20.
Wyświetlacz 4x20 zgodny z HD44780, co również zapewne nie jest zaskoczeniem.
Załączanie dmuchawy i pompy - na przekaźnikach.
Sterowanie i konfiguracja - za pomocą czterech przycisków umieszczonych bezpośrednio pod wyświetlaczem.
Druga część sterownika to moduł Ethernet ENC28j60 połączony z Atmegą32, na której "postawiony jest" miniserwerek obsługujący sprawę z obsługą przez internet związaną.
Drugi mikrokontroler tylko do obsługi internetu zastosowałem dlatego, że moduł ENC28j60 nie zawsze pracuje stabilnie i czasami lubi powodować zawieszenie procesora. Niedopuszczalnym zatem byłoby takie niechciane zawieszenie procesora obsługującego piec, zwłaszcza gdy nikogo nie ma w domu.
Spowodowane było to również tym, że nie chciałem obciążać głównego mikroprocesora. To jego stabilność pracy jest kluczowa.
Interfejs serwera jest bardzo prosty (aby nie obciążać Atmegi). Ważna jest użyteczność.
Napisałem również do tego prostą aplikację na smartfona.
Z racji tego, że ENC28j60 jest zasilany napięciem 3,3V, zdecydowałem się takim samym napięciem zasilić Atmegę 32, dzięki czemu uniknąłem buforów na liniach ISP.
Oba mikrokontrolery (1284 i 32) komunikują się ze sobą za pomocą UARTa. Tu oczywiście musiałem zastosować bufor. W moim przypadku padło na 74HC125.
Soft własnoręcznie pisany w C. Oczywiście korzystałem z gotowych, ogólnodostępnych bibliotek do obsługi wyświetlacza, I2C oraz stosu http.
I tak to sobie jakoś działa. Pierwsze testy mamy już za sobą. Drobne niedociągnięcia zostały wyeliminowane. Teraz tylko czekam na przeciągnięcie skrętki komputerowej w okolice pieca i będziemy zaczynać pracę na tym sterowniku. Wtedy to postaram się nagrać jakiś filmik prezentujący działanie sterownika "na żywo".
Dobra, starczy tego monologu. W załączeniu wrzucam kilka zdjęć. Zapraszam do dzielenia się opiniami, zadawania pytań i hejtowania. Cześć!