
Witam.
Zanim przejdę do prezentacji sterownika, chciałbym najpierw trochę napisać o projekcie w aspekcie historycznym.
Projekt PCB powstał jako pierwsze zaprojektowane przeze mnie urządzenie, gdzie jeszcze nie znałem żadnego środowiska projektowego PCB. Projekt miał być jako sterownik do 1-fazowych elektrycznych urządzeń grzewczych z 3 wyjściami w pełni konfigurowalnymi. Założenie było, by sterować ciepłem poprzez regulację mocy obciążenia, a nie na zasadzie termostatu, jaki jest stosowany najczęściej w tanich grzejnikach czy bojlerach. PCB zostało wykonane i jakaś część programu. Projekt trafił do szuflady. Kilka lat później, a dokładnie 2 lata temu przeprowadziłem się do domu, gdzie ogrzewanie zrealizowane jest na starym piecu zasypowym. Pierwsza połowa okresu zimowego szybko zachęciła mnie do reaktywacji projektu.

Jak pisałem na wstępie, to były moje początki zarówno projektowania elektroniki, jak i programowania systemów wbudowanych.
Przedstawiam projekt, który jest wciąż rozwijany od 3 sezonów grzewczych. Jeżeli chodzi o pomiar wielkości, to nic nadzwyczajnego w tym projekcie nie ma. Pomiar temperatury dokonywany jest w oparciu o bardzo popularne cyfrowe czujniki temperatury firmy Dallas DS18B20.
Przystępując do pracy, nie miałem najmniejszego pojęcia na temat sterowania piecami grzewczymi.
Pierwsze założenia:
- zabezpieczenie przed zbyt wysoką temperaturą wody grzewczej
- pomiar temperatury na piecu(wody C.O.)
- ustawienie żądanej temperatury na piecu, by nie trzeba było co chwilę schodzić do kotłowni, by przymknąć lub otworzyć drzwi
- jak najmniejsze różnice temperatury ustawionej do rzeczywistej
Kolejne założenia:
- pomiar temperatury w domu
- automatyczne sterowanie temperaturą wody grzewczej w celu utrzymania temperatury zadanej w domu
Kolejne założenia
- jak najmniejszym kosztem osiągać i utrzymać zadaną temperaturę w domu
- funkcja rozpalania
Aktualnie sterownik posiada takie parametry jak:
- temperatura na zewnątrz
- zadana temperatura wewnątrz
- aktualna temperatura wewnątrz
- zadana temperatura wody grzewczej
- aktualna temperatura wody grzewczej
- aktualna temperatura wody w bojlerze
- status pompy on/off
- status dmuchawy on/off
- status bojlera on/off
- tendencja temperatury wody grzewczej delta zmian temperatury
- aktualna data i godzina
Ponadto posiada takie funkcje jak:
- możliwość sterowania bojlerem, pompą, dmuchawą, stycznikiem dowolnym z trzech wyjść o obciążeniu do 2kW
- regulacja siły nadmuchu dmuchawy
- wysyłania danych po USB do komputera
- bootloader w celu programowania poprzez złącze USB
- informacja o stanie pracy poprzez miganie podświetlenia wyświetlacza sterownika
Budowa
Tak jak wspomniałem na początku projekt oparty już na istniejącej płycie PCB, który na pokładzie posiada takie możliwości jak:
- detektor fazy 0
- 3 wyjścia sterowane triakiem o mocy do 2kW/kanał
- klawiaturę 4 przyciskową do nawigacji
- wyświetlacz alfanumeryczny 2x16 znaków
- 4 czujniki temperatury
- zegar czasu rzeczywistego wbudowanego w mikrokontroler Atmega328P
Wszystko zamknięte w dużej obudowie Z17, zdjęcie poniżej. Nie wygląda to ładnie, gdyż chciałem wykorzystać LCD na taśmie, by się go pozbyć. Gdy sterownik już działał, to zrodziła się chęć podglądu zdalnego aktualnego stanu i tak sterownik został wyposażony jeszcze w konwerter mojego projektu UART/USB w oparciu o driver FTDI232C do wysyłania danych do komputera, który leży w kotłowni i pełni funkcję bazy danych oraz wysyła pliki na serwer.
Z tego względu, że jestem raczej raczkującym programistą aplikacji komputerowych i sieciowych, powstał prosty program na komputer, który leży w kotłowni podłączony przez USB do sterownika. Program wyświetla aktualne informacje, ale również posiada możliwość sterowania sterownikiem na dwa sposoby. Za pomocą strzałek kierunkowych emuluje klawiaturę oraz za pomocą komend, można dokonywać bezpośrednich zmian parametrów.
Dzięki bazie danych jestem w stanie nie tylko monitorować aktualny stan, ale i wracać do historii pomiarów. Baza danych tworzona jest jeszcze z jednego aspektu, by zaimplementować w sterownik Machine Learning tak, by program uczył się i podejmował działania jak najszybciej.
Zastosowana dmuchawa zbudowana jest w oparciu o silnik indukcyjny, przez co regulacja wypełnienia sinusa fazy niewiele wpływa na regulację mocy dmuchawy. Jednakże dla regulacji piecem nie jest istotne aż tak regulowanie w sposób bardzo precyzyjny dmuchawą, dlatego regulacja jest zrealizowana na zasadzie PWM, gdzie minimalny stopień regulacyjny szerokości PWM to jeden przebieg sinusa. Drugie zdjęcie przedstawia ustawienie na 10% szerokości.


Zdjęcia programu do zarządzania i podglądu stanu przez internet


Zdjęcia aparatury


Podsumowanie
Algorytm sterowania okazał się tak sprawny, że generalnie niczego nie muszę pilnować, ustawiać, jedynie podkładać i co jakiś czas przeczyścić piec. Podgląd służy mi więc głównie do tego, by podjąć decyzję, czy po pracy jechać do domu rozpalać, czy mogę jechać na zakupy.
Gdyby ktoś był zainteresowany, to mogę udostępnić hex i rozpis pinów mikrokontrolera, bo modernizacje odbiegły nieco od schematu ideowego.
Cool? Ranking DIY