Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Automatyczny Sterownik Pieca C.O. ze zdalnym odczytem

Flaman11 05 Dec 2017 15:37 6774 21
Computer Controls
  • Automatyczny Sterownik Pieca C.O. ze zdalnym odczytem
    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.

    Automatyczny Sterownik Pieca C.O. ze zdalnym odczytem
    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.
    Automatyczny Sterownik Pieca C.O. ze zdalnym odczytemAutomatyczny Sterownik Pieca C.O. ze zdalnym odczytem

    Zdjęcia programu do zarządzania i podglądu stanu przez internet
    Automatyczny Sterownik Pieca C.O. ze zdalnym odczytemAutomatyczny Sterownik Pieca C.O. ze zdalnym odczytem


    Zdjęcia aparatury
    Automatyczny Sterownik Pieca C.O. ze zdalnym odczytemAutomatyczny Sterownik Pieca C.O. ze zdalnym odczytem

    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
    About Author
    Flaman11
    Level 17  
    Offline 
    Has specialization in: c#, asp.net, c++, bascom
    Flaman11 wrote 312 posts with rating 279, helped 1 times. Live in city Zgierz. Been with us since 2009 year.
  • Computer Controls
  • #2
    icer_cmg
    Level 12  
    Co do sterowania dmuchawa - proponujesz sterowanie grupowe? Czyli 50% to jeden sinus on jeden off a 20% to jeden on cztery off?
  • Computer Controls
  • #5
    Flaman11
    Level 17  
    Dzięki za info. W jakimś konkretnym celu, czy tylko tak informacyjnie? Zapoznałem się i widzę dużą rozbieżność w naszych rozwiązaniach. Pierwszy, to ilość parametrów wymaganych do konfiguracji, których jest cały 1, temperatura w domu. Pozostałe są jedynie opcjonalne, gdyby ktoś chciał. Drugi, by to osiągnąć należało znaleźć sposób na automatykę procesów, który zakłada nieistnienie czasu. Żaden parametr nie jest podporządkowany czasowi, a parametrom badanym. Modulowanie pracy dmuchawy, tego brakło mi w opisie o regulacji mocy :D Apka też znacznie lepiej dopracowana, widać poświęconego dużo czasu nad projektem. Co do jakości spalania, u mnie wchodzi tylko spalanie górne/dolne, inaczej kocioł zasypowy. Jak pali się brykiet, to jest spalanie czyste(czyli proces spalania trwa już jakiś czas). Przy pełnym piecu świeżego węgla nie jest to możliwe do osiągnięcia. Pozdrawiam
  • #6
    uzi18
    Level 24  
    Tak chcialem tylko zasygnalizowac, bo moze nie trzeba nic od zera robic :)
    Parametrow jest sporo bo kazdy troche inaczej korzysta ze sterownika - jest dosc uniwersalny, niedawno dodalem tryb zasypowy i tlokowy, sa w fazie testow.

    Modulacja dmuchawu sie bardzo przydaje ale dmuchawa sterujemy fazowo.

    Dane ze sterownika mozna zbierac w nettemp/Domoticz.

    Co do trybu zasypowego - przydaje sie alarm niskiej temperatury - ktory informuje aby podejsc i dolozyc do pieca ;)
  • #7
    Flaman11
    Level 17  
    Sterownik zbudowałem ponad 2 lata temu i pracuje trzeci sezon, więc już zbudowane. Parametrów również mam dość sporo, choć opis jest dość ubogi. Bazę danych plus proste zrzuty danych dostępny na dowolnym przez siebie wskazanym serwerze. Co znaczy dmuchawą sterujemy fazowo i tryb zasypowy? Co do alarmu również posiadam tę funkcję. Uniwersalność zrealizowana jest tak, że sterownik może sterować do 3 urządzeń jednocześnie(3 wyjścia 230V/1,5kW), ale w dowolnej funkcji, np. sterować 2 pompami i bojlerem. Dmuchawą, pompą, grzejnikiem elektrycznym lub oświetleniem z regulacją jasności. Użytkownik decyduje co chce podłączyć pod konkretne wyjście. A budowa została wykonana na już istniejącym PCB, więc niczego od zera nie robiłem. Czy możesz pokazać jak jest z dokładnością sterowania, jakaś tabela z jakiegoś okresu grzewczego? Pozdrawiam
  • #8
    uzi18
    Level 24  
    Lucek w sumie tez ma kilka lat.
    Tryb zasypowy - praca bez podajnika z sama regulacja nadmuchu.
    Sterowanie fazowe uzywamy do regulacji obrotow dmuchawy, Ty piszesz o grupowym.

    Trudno u mnie o dokladnosc sterowania - z prostej przyczyny prawie 100 letni nieocieplony budynek i wystepuja bardzo duze bezwladnosci.
    Do tego aktualnie zaimplementowane algorytmy to tak jak zauwazyles polautomaty bez autoregulacji.
    W kotlach z podajnikiem moze byc trudno zbudowac algorytm ktory bez chociaz okresowego kontrolowania jakosci spalania poprawnie sie wyreguluje.
    Jakosc opalu jest niestety coraz gorsza.

    Wykresy sa dostepne na esterownik pod moim loginem.
    Przykladem dokladnosci moze byc za to Wykres spod loginu Stan na tej samej platformie, tam jest nowoczesniejszy budynek i uruchomiony tryb wielomocowy w Lucjanie.
  • #9
    Flaman11
    Level 17  
    uzi18 wrote:
    ...Trudno u mnie o dokladnosc sterowania - z prostej przyczyny prawie 100 letni nieocieplony budynek i wystepuja bardzo duze bezwladnosci.
    Do tego aktualnie zaimplementowane algorytmy to tak jak zauwazyles polautomaty bez autoregulacji...


    Co do obiektu, to nie powinien mieć wpływu na dokładność, na tym polega prawidłowy algorytm sterujący. A z tymi algorytmami jakie wypracowaliście może jest cały pies pogrzebany.

    Masz moje odczyty Link
    i wykres tego okresu
    Link

    Nie rozumiem jak te Twoje wyniki zobaczyć.
  • #11
    Flaman11
    Level 17  
    Strona wygląda genialnie. To jest wasze, czy jakieś darmowe/komercyjne zewnętrzne środowisko? A coś w formie tabeli, by można zobaczyć jak się zachowują parametry? Aktualny odczyt nic za bardzo nie mówi.
  • #12
    uzi18
    Level 24  
    Nie to jest komercyjne, mamy sterowniki co wysylaja tam dane, za to realnie pali Lucjan.
    Ktory powstal bo producent zarzucil rozwoj naszych sterownikow.

    Zrobilismy programiki do wyciagania danych z tabel do xls/csv sa gdzies na forum, chociaz moze tez niekoniecznie bo ... producent zrobil czystki na forum.
  • #13
    Flaman11
    Level 17  
    Aha. To ja pliki z danymi i bazą danych tworzę samodzielnie, które przechowywane są na komputerze do którego podpięty jest sterownik i przesyłane na serwer, dzięki czemu nawet w orzypadku braku internetu wszystko jest zarejestrowane.
  • #17
    Flaman11
    Level 17  
    Dzięki spojrzałem sobie. Rozrzuty masz nie większe niż w sterownikach, które są na rynku. Z tego co widziałem, to temp. CO jest stała. Jak dostosowujesz pracę kotła, to temp. w domu? Tj. gdy temp. w domu zaczyna spadać lub rosnąć, co sterownik z tym robi, czy ty wtedy dokonujesz zmian w ustawieniach?
  • #18
    uzi18
    Level 24  
    Nic nie zmieniam, na piecu ustawiona jest stala temp, sterownik reguluje zaworem 4D na dom (grzejniki) w zaleznosci od krzywej grzania w funkcji temp zewnętrznej.
    Od 2 lat nie zmienialem parametrow pracy pieca, no moze delikatnie krzywa grzania :)
  • #20
    uzi18
    Level 24  
    Tak, czujnikow mozna sporo podpiac.
    Do Lucka podpinasz tylko to co potrzebujesz, nic ponadto.

    Dodano po 4 [godziny] 4 [minuty]:

    MOC3043 nie pozwala na sterowanie fazowe chyba ze na innym testowales, wg moich doswiadczen sterowanie fazowe pozwala na precyzyjna regulacje mocy dmuchawy.
  • #21
    Flaman11
    Level 17  
    uzi18 wrote:

    MOC3043 nie pozwala na sterowanie fazowe chyba ze na innym testowales, wg moich doswiadczen sterowanie fazowe pozwala na precyzyjna regulacje mocy dmuchawy.


    Nie pozwala na przesunięcie fazowe ze względu na 0 crossing. Do sterowania silnikami indukcyjnymi są wymagane falowniki, bo regulacja napięciowa nie wiele daje, wręcz wpływa negatywnie na pracę silnika. Mam bez 0-crossing, ale to jest bez znaczenia, bo wcale wypełnieniem fazowym nie steruje. Który pomiar, to Twoja temp. w domu, bo nie widzę tam nic takiego. Niby jest wewnętrzny, ale to jest wysoka temperatura. Z tego co się dowiadywałem, to temp podłogówki sięga do 40 st., u ciebie widać nawet powyżej 50, taka jest, czy czujnik nie mierzy tej temp. bezpośrednio z podłogi? Pytam dużo, bo widzę że projekt masz ciekawy.