
Witam,
kilka lat temu stanąłem przed wyborem sposobu ogrzewania w nowym domu. Poniżej krótki opis tego, co finalnie zostało “poskładane” i działa już od kilku miesięcy. Nie wiem, czy temat jest ciekawy dla szerszego grona, dlatego starałem się ograniczyć opis detali. W przypadku większego zainteresowania mogę go uzupełnić.
Elementy zestawu:
- dwa rozdzielacze podłogówki, po osiem pętli grzewczych
- dwa bufory 500l połączone szeregowo
- gazowy piec kondensacyjny
- kominek z płaszczem wodnym
- Raspberry Pi jako sterownik
Schemat mniej więcej oddaje, jak to jest połączone:

Sterownik na podstawie zewnętrznej temperatury i krzywych grzewczych oblicza temperatury podłogówki dla każdej kondygnacji osobno (2 x thermostate_weather). Teraz w zależności od aktualnych temperatur, na rozdzielaczach modyfikowane są wypełnienia PWM dla siłowników. Z uwagi na dużą bezwładność, do porównania brane są temperatury średnie z kilku minut. Rozdzielacze zasilane są z bufora, który z kolei podgrzewany jest albo przez piec kondensacyjny, albo przez kominek. Za temperaturę w buforze odpowiada thermostate_buffer, który sprawdza, czy temperatura jest o kilka stopni wyższa niż obliczona przez termostaty pogodowe rozdzielaczy. Jeżeli jest niższa, podawany jest sygnał do pieca gazowego. Piec gazowy ma ustawioną własną grzywę grzewczą tak, aby grzać o kilka stopni więcej, niż wyliczają pogodówki podłogowe. Ma to zabezpieczyć przed sytuacją zbyt zimnej wody w buforze. Piec gazowy grzeje tylko jeden bufor (500l).
Kominek ma prosty termostat, który w momencie przekroczenia ustawionej temperatury zrzuca ciepłą wodę do bufora, dodatkowo pilnuje, aby zbytnio nie wychłodzić kominka podczas pracy z uwagi na kondensację wody (zabezpieczenie przed korozją). Nie jest to idealne rozwiązanie, ale nie mam zaworu mieszającego i lepsze to niż nic. Kominek grzeje dwa bufory 1000l.
Dodatkowe zadanie - zabezpiecza pompy i co jakiś czas uruchamia je na kilka minut. Ma to sens głównie latem, gdy normalnie pompy są wyłączone przez kilka miesięcy.
LCD 4x16 pozwala na szybki podgląd podstawowych parametrów: temperatury, stan pomp, siłowników. Jest dowolnie konfigurowalny i w przypadku, gdy potrzebujemy więcej danych wyświetlane komunikaty są przełączane co ustalony czas.
Serwer TCP umożliwia na komunikację z procesem sterownika podczas pracy. W szczególności służy do monitorowania temperatury, stanów zadań, stanów wyjść. A także pozwala na zmianę ustawień podczas pracy.
Serwer WWW pozwala na bieżąco podglądać aktualny stan (dane odświeżają się automatycznie), zmieniać ustawienia (wymagane hasło) oraz za pomocą wykresów przeglądać dane historyczne:
główna strona: http://maco.skalski.biz/
wykresy: http://maco.skalski.biz/charts.php

Proces sterownika napisany w C++. Każdy task jest osobnym wątkiem. Konfiguracja zapisywana jest w pliku XML. Jako bazę danych wybrałem SQLlite. Logowanie za pomocą Log4CPP. Rozwiązanie jest bardzo elastyczne i już teraz posiada wiele możliwości konfiguracji. W przypadku, gdy jakoś logika nie jest obsługiwana, można dopisać kolejny task i go po prostu użyć.
W takim kształcie układ działa pierwszy sezon i sprawdził się znakomicie. Po wyregulowaniu parametrów w zasadzie bezobsługowy.
Dodatkowo w salonie dorzuciłem czujnik wilgotności i temperatury, który komunikuje się bezprzewodowo (Wi-Fi) ze sterownikiem za pomocą ESP8266. W kotłowni za pomiar temperatury i ciśnienia atmosferycznego odpowiada BMP085.
Plany na przyszłość:
- Dorobić logikę do wyłączania niektórych obwodów (lub całego pietra), gdy rozpalony jest kominek, bo w salonie jest za ciepło. Zdawałem sobie z tego sprawę już na etapie planowania ogrzewania, ale nie chciałem rezygnować z kominka,
- Planuję założyć ogniwa fotowoltaiczne i w przypadku nadmiaru energii podgrzewać wodę w buforach (dodatkowa logika),
- Zreorganizować serwis WWW. Cały czas to jest zlepek kilku stron i funkcjonalności
- Dołożyć kilka dodatkowych czujników do monitorowania: np. temperatury czy wilgotności w pomieszczeniach,
- Część automatyki domowej zrealizowana jest poprzez centralkę alarmową, która obecnie jest niezależna i docelowo byłoby te dwa urządzenia połączyć.
rozdzielacz

siłownik termiczny - sterowany PWM

płytka z przekaźnikami, jeden został zastąpiony mosfet'em - PWM

cały sterownik, widoczna płytka z przekaźnikami (piec co, pompa kominek) oraz zasilacz (ładowarka telefonu)

przykładowe dane na wyświetlaczu

Cool? Ranking DIY