czwartek, 13 kwietnia 2017

Proste i tanie pompą CWU sterowanie

Uwaga! Post reklamowy ;) 


Dokładnie rok temu postawiłem na tym blogu zadanie - zbudować prosty i tani system do bezprzewodowego sterowania pompą obiegową cyrkulacji CWU (a przy okazji nauczyć się programowania mikroprocesorów).
A po co ta cała cyrkulacja i kombinacje z mikroprocesorami? A po to >>>>.  Systemy oparte na włączniku czasowym lub czujnikach temperaturowych w moim przypadku słabo się sprawdzały. Albo cyrkulacja była wyłączona gdy akurat była potrzebna (sterowanie czasem) albo trzeba było pamiętać by po wejściu do łazienki na chwilę odkręcić kran dla zadziałania czujki temperaturowej na rurze i włączenia cyrkulacji (u mnie czas obiegu ciepłej wody to ok 2-3 min). To nie było to!
Potrzebowałem układu działającego dokładnie wtedy gdy był potrzebny i nie wymagający jakiegokolwiek działania ze strony użytkownika.
Padło więc na bezprzewodową czujkę ruchu w łazience  i mikroprocesorowy sterownik pompy cyrkulacyjnej CWU. I warunek - wszystko bezprzewodowe i w pełni automatyczne. Szkoda tylko, że nie był to mój pomysł (Artur dziękuję!).  Inni też z tym kombinowali (tu>>> i tu>>>> i tu>>>>) ale nie znalazłem gotowego rozwiązania. Trzeba było więc samemu zakasać rękawy i .....



Panie Prezesie melduję wykonanie zadania! .....chciałoby się rzec za św.p. LK

Przyznam, że dla mnie to jeden z trudniejszych etapów w działaniach elektronika - podjąć decyzję o zakończeniu prac nad danym projektem uznając jakąś z wersji za produkt finalny i skończony.

Na szczęście pewne rzeczy dzieją się same bez naszego udziału. Jeśli coś działa bez żadnego problemu przez kilka kolejnych miesięcy samo przez się - przez zasiedzenie - staje się wersją ostateczną. Tak jest i z projektem domowego IoT, w który nieopatrzenie przekształcił był się pierwotny projekt sterowania pompą  cyrkulacji CWU. Działa dokładnie tak jak zaplanowałem więc z ostrożności niczego w nim już nie zmieniam.

Roczna zabawia mikroprocesorami to brazylijski serial w obsadzie:
- Arduino NANO   -     główna rola
- ESP8266              -     rola drugoplanowa
- moduły 433MHz  -    halabardziści
- BLYNK                -    scenografia
- Arduino IDE         -    scenariusz

Poniżej wspólne zdjęcie aktorów na planie filmowym.  Schemat i PCB domowego IoT tutaj

Domowe centrum IoT - Arduino NANO + ESP8266

I kolejny kadr z ekranu telefonu sterowania systemem IoT w aplikacji BLYNK. Szczegóły opisane w postach oznaczonych jako IoT i BRAMA



Najnowsza wersja scenariusza, wg której od pół roku pracuje ten system znajduje się na GitHubie

W zakresie sterowania pompą obiegową cyrkulacji CWU system Iot pracuje następująco:
Czujka ruchu generuje kod transmisji w paśmie 433MHz dekodowany przez sterownik. Sterownik załącza zdalnie pompę  na 180 sek. Załączenie następuje kodem także na paśmie 433 MHz akceptowanym przez przełącznik ELRO AB440. Jeśli w między czasie czujka wyśle kolejne sygnały ruchu w łazience czas załączenia pompy odliczany jest od początku. Zdalnie z aplikacji w telefonie można pompę załączyć ręcznie przyciskiem POMPA. Można również ustawić przedział czasu, w którym pompa będzie wyłączona (noc) mimo detekcji ruchu w łazience. Pompa włączana jest niezależnie od czujki ruchu co 12 h dla sanitarnego nagrzania wody do temperatury 55oC w systemie cyrkulacji CWU w przypadku dłuższej nieobecności domowników (funkcja dezynfekcji obiegu cyrkulacji) .
System pracuje z gazowym piecem dwufunkcyjnym CO/CWU z wewnętrznym zasobnikiem CWU.



Ot i wszystko. Czy prosto - to zależy od punktu widzenia. Nie za drogo - jeśli policzyć koszt bezpośrednio zastosowanych elementów w całym gotowym systemie IoT (ok 150 zł). Jeśli natomiast dodać do tego czas poświęcony na naukę, budowę i testowanie systemu - rzecz staje się wręcz bezcenna.

Bardziej obszerne wnioski na temat funkcjonowania domowego IoT wkrótce - dziś jeszcze tylko kilka dodatkowych uwag o systemie sterowania pompą CWU.

Czy można uprościć powyższy system tylko do funkcji sterownika pompy? Oczywiście można choć dużych oszczędności w warstwie sprzętowej się nie uzyska.
- Można zrezygnować ze zdalnego (w telefonie) nadzoru systemu rezygnując z połączenia systemu z Internetem. ( ESP, stabilizator i kilka oporników  -20 zł )
- odjąć funkcję sterowania bramą garażową (2 transoptory i dwa oporniki  -2zł)
- zrezygnować z pomiaru temperatury (czujnik ds18b20  - 5zł)
I to praktycznie wszystko co można odjąć od obecnego systemu IoT zarządzającego szeregiem innych funkcji.
Oczywiście największa oszczędność będzie w warstwie programowej. Docelowy kod sterownika pompy byłby 10-20 x chudszy niż obecny. Ale jak to przełożyć na pieniądze?


Ale istnieje możliwość radykalnego obniżenia kosztów i czasu budowy wydzielonego systemu sterowania pompą obiegową CWU przy zachowaniu podstawowej jego funkcjonalności tj. załączania pompy w czasie przebywania domowników w łazience (łazienkach, kuchni) i braku konieczności układania kabli połączeniowych. Sposób ten opisany w dwu wcześniejszych postach bazuje na uniwersalnym procesorowym zdalnie sterowanym przekaźniku zawierającym już w sobie mikroprocesorową "inteligencję" jak raz znakomicie pasującą do budowy systemu sterowania pompy. I sprzęgniętym z nim bezprzewodowo czujnikiem ruchu.


 
 Te dwa popularne i tanie chińskie moduły - bezprzewodowa bateryjna czujka PIR i bezprzewodowy przekaźnik uzupełniony o dowolny zasilacz 12V wyczerpują w całości potrzeby budowy takiego systemu. No chyba że ktoś jest estetą i potrzebuje jakiejś prostej obudowy na przekaźnik.
Jak zaprogramować  przekaźnik - szczegóły tu>>>>  a filmik z programowania  tu>>>>.



A uzupełnione powyższego zestawu o dowolny pilot sterowania w paśmie 433Mhz (np. taki od bramy garażowej lub sterowania świateł) pozwala także na dodatkowe ręczne sterowanie pompą obiegową.



Jak to działa w praktyce?


Przekaźnik zaprogramowany został na funkcję załączenia z opóźnieniem wyłączenia 15 sek kodem z czujki PIR. Przekaźnik załącza  się każdorazowo przy wzbudzeniu czujki ruchu. Ilość czujek zamontowanych w systemie jest praktycznie dowolna - przekaźnik może zapamiętać do 50 kodów. Czujka ruchu ustawiona jest tak, że w przypadku detekcji ruchu ponawia wysyłanie sygnału nie częściej niż co 8 sek. Odebranie kodu z czujki w trakcie załączonego przekaźnika powoduje naliczenie czasu opóźnienia od początku - przekaźnik cały czas pozostaje włączony. Brak ruch przez czas dłuższy niż 15 sek powoduje wyłączenie przekaźnika.
 Oba moduły posiadają zewnętrzne antenki więc z zasięgiem w obrębie całego nawet dużego domu nie ma najmniejszych problemów.

Szybko - prosto - tanio!

Jakim kosztem ?


Czujka PIR  - 15 zł
Przekaźnik    - 7 zł
Zasilacz 12V - 0 zł - z pudła ze starym sprzętem elektronicznym
------------------------------------------------
Razem :         22 zł z darmową dostawą do domu

No prościej i taniej to już się chyba nie da!!!

A więc po roku zabaw z mikroprocesorami Arduino i ESP wyszło jak zawsze - najszybciej i najtaniej jest dobrać i kupić gotowe elementy z nieprzebranych zasobów Aliexpress i zestawić żądaną funkcjonalność. Tylko czy będzie się miało tyle frajdy i zabawy z tak zbudowanego układu w porównaniu z mozolnie składanym i oprogramowywanym mikroprocesorowym systemem DIY????

I oczywiście po czasie znalazłem też gotowe rozwiązanie takiego systemu a wszystko za 240 zł!!!

Więc wszystko już wymyślono ale ciąg dalszy tak czy inaczej niewątpliwie musi nastąpić....... 
 

9 komentarzy:

  1. Bardzo fajny artykuł, spróbuję tego u siebie za jakiś czas.
    Mam jedną uwagę, odnośnik "Jak zaprogramować przekaźnik - szczegóły tu>>>> " źle przekierowuje.

    pzdr.,
    Tomek

    OdpowiedzUsuń
  2. Czy mógłbym Pan podać jaki konkretnie przekaźnik i czujnik PIR zastosował Pan u siebie (symbol, firma) i jak je zestroić?

    Proszę o odpowiedź na priv @ slawomirwojciechowski@wp.pl

    OdpowiedzUsuń
  3. Gratuluję pomysłu, realizacji i opisu rozwiązania. Trafiłem tutaj ponieważ mam podobny problem. Interesuje mnie jednak rozwiązanie przewodowe. Rzut mojego budynku jest bardzo podobny do przedstawionego powyżej. Są trzy pomieszczenia wymagające komfortowego dostępu do CWU: łazienka, WC i kuchnia. Do wszystkich, oprócz dodatkowej rury cyrkulacyjnej, został doprowadzony przewód dwużyłowy, pozwalający na ręczne sterowanie.

    Zaplanowałem 2 tryby działania (automatyczny i ręczny) oraz możliwość całkowitego wyłączenia systemu.

    1. Automatyczny - porównywałby temp. z zasobnika z temp. na końcu rury cyrkulacyjnej i włączał na kilka min. pompę. Najlepiej tylko w zadanych godzinach i dniach tygodnia.
    2. Ręczny - czekałby na chwilowe zamknięcie obwodu sterującego w jednym z pomieszczeń i również uruchamiał pompę na zadany czas.

    Czy podpowiedziałby ktoś, które z elementów powyższego opisu można pominąć, a jakie ewentualnie dokupić?

    OdpowiedzUsuń
  4. połączenie przewodowe to całkiem inny projekt - praktycznie nic z powyzszego nie da się wykorzystać. Na pocieszenie powiem że da się to prosto zrobić na jednym przekaźniku z ESP8266 dwu czujnikach temperatury DS18B20 trzech przyciskach monostabilnych i jakimkolwiek zasilaczu 5V. Jest tylko mały problem - trzeba sobie samemu umieć zaprogramować mikrokontroler. Albo poszukać w sieci jakiegoś gotowca - pewnie juz to ktoś wcześniej zrobił

    OdpowiedzUsuń
  5. Wbrew pozorom to dobra wiadomość. Wystarczy "aktor drugoplanowy" z Pana scenariusza, dwóch "zwiadowców", a reszta już właściwie jest. Podstawy programowania znam, więc widok kodu nie przyprawia mnie o mdłości. Rozejrzę się tylko po sieci za rozwiązaniami opartymi na ESP8266. Dziękuję za odpowiedź.

    OdpowiedzUsuń
  6. Cześć,

    Ja zastanawiałem się na zrobieniem cyrkulacji w oparciu o czujnik przepływowy w instalacji dający sygnał w momencie otwarcia kurka i zastosowanie pompy cyrkulacyjnej o większej wydajności która powodowałby przepompowanie części wychłodzonej CWU z instalacji wtempie około 0,1 ltr/sek. Pojemność mojej instalacji do trójnika gdzie odchodzi obieg cyrkulacji wynosi ok 2,5 litra. Jeśli zamontowałbym pompę o wydajności o,1 ltr na sek to po odkręceniu kurka (na minimum aby wymusić sygnał z czujnika przepływu) czekałbym na ciepłą wodę maksymalnie 25 sekund (na tyle też ustawiony byłby przerywacz sterujący pompą tak aby w instalacji cyrkulacji nie było ciepłej wody i nie powodować strat energii przez dalsze jej wychłodzenie). Ewentualnie upuszczam wodę odkręcając maksymalnie kran (wydajność ok. 6 ltr/min czyli 0,1 ltr/sek) i skracam czas oczekiwania w najdalszym punkcie czerpalnym o połowę (tracąc niestety ok 1,25 ltr wody). Taki mam pomysł aczkolwiek muszę go jeszcze zweryfikować ponieważ mam obawy jeśli chodzi o tak duży przepływ wody w rurach PP (mam połowę instalacji DN25 a drugą połowę DN20). Przepływ nominalny dla DN25 to 60ltr/min, a maksymalny 113ltr/min. Czyli zakładając że działa pompa i okręcony mam kurek na maksa jestem w okolicach przepływu maksymalnego dla DN25. Ale DN20 będzie miał mniejsze przepływy i takiego dużego przepływu nie obsłuży. Kwestia też poddawania instalacji takim ekstremalnym przepływom, czy to nie będzie wpływało negatywnie na połączenia. Chętnie usłyszę rady lub pomysły jeśli ktoś widzi to inaczej.

    Powiem tylko tyle że analizując rachunki za gaz (jednofunkcyjny piec kondensacyjny) w podobnych okresach w różnica miesięczna w zimie przy załączonej cyrkulacji w oparciu o pompę Wilo z czujnikiem temperatury wody (ustawionym na 30 stopni z histerezą 5 stopni oraz włącznikiem czasowym od 7-22) wynosiła 40 zł/msc. Niestety u mnie na rurach CWU zastosowano najcieńszą otulinę izolacyjną grubości 10mm, a instalacja została ułożona bezpośrednio na chudziaku.

    OdpowiedzUsuń
  7. u mnie różnica w rachunkach za gaz z cyrkulacją i bez wynosi jakieś 20 - 30 zł / 2 miesiące
    temperaturę wody w obiegu mam ustawioną na 55 st dla zniszczenia groźnych bakterii rozmnazjących sie do 50 st. system działa 3 lata bez uwag. Jedyny mankament to konieczność wymiany baterii w czujniku co pół roku. Ale to wiem od razu gdy woda w kranie jest zimna

    OdpowiedzUsuń
  8. Naprawdę bardzo fajnie napisano. Jestem pod wrażeniem.

    OdpowiedzUsuń