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

Atmega 32 c.o. - Algorytm sterowania C.O. - program w bascomie

kshychu 18 Aug 2012 08:09 3315 0
Buderus
  • #1
    kshychu
    Level 11  
    Witam.
    Na temat sterowania CO z Atmegi i programów w bascomie jest w sieci dużo. Opisów i problemów różnych też. Ja mam może trochę bardziej nietypowy problem.

    Otóż po pierwsze chcę opracować skuteczny algorytm sterowania według (może przesadzonych0 ale według mnie ważnych parametrów.

    Prosty odręczny schemat w Pdf-ie.

    oto założenia:
    1. Dwa tryby pracy (ogrzewanie gazowe/ węglowe)
    GAZ
    1. Utrzymanie zadanej temperatury w mieszkaniu w oparciu o czujnik w pomieszczeniu

    2. Wcześniejsze załączenie kotła jeśli temp na zewnątrz spadnie - (i tu mam problem czy wziąć po uwagę wartość temp zewn. czy np. różnicę pomiedzy temp zew a temp wewn)

    3. Przeciwdziałanie zamarznięciu układu otwartego kotła węglowego (piwnica nieogrzewana)

    4. nastawienie na oszczędność zużycia gazu przy maksymalnej wydajności.

    TRYB WĘGIEL + CWU

    W układzie który mam (patrz rysunek) nie ma bojlera na CWU, ale wykombinowałem że jeśli grzeje kocioł węglowy i wtedy załączę gazowy (ustawiony na min. moc) i zaaczy się jego pompka wówczas grzeje cwu (przepływowo za małum zbiornikiem wewnątrz kotła). Oczywiście nie wyciągnie to niewiadomo jakiej sprawności ale te 5 litrów wody zagrzanej ("za free") będzie.

    tu jest jeden problem i nie wiem skąd się berze. Jeśli na piecu mam ok 90 st C (bardzo krótki obieg) na piecu gazowym termometr pokazuje ponad 100 (nie załączając palnika) i to tez by trzeba ograniczyć.

    Dalej....

    utrzymanie temperatury podobnie jak w przypadku gazu tyle ze tutaj etap 1 - Rozpalanie i etap 2 utrzymania .

    Kocioł węglowy nie ma dmuchawy tylko klapke którą mam zamiar sterować silnikiem krokowym. Oczywiście wszystko muszę uszczelnić żeby lewe powietrze sie nie dostawało. Podobnie regulacja ciągu też na silniku krokowym

    No i zabezpieczenie przed przegrzaniem pieca chce zrealizować przez dopuszxczenie zimnej wody do kotła. jest to obieg otwarty wiec nadmiar pójdzie w kanał.

    Mniej wiecej tak to widze

    urzadzenia:

    Kocioł gaz (nowy) Junkers 2 funkcyjny kondensat
    Kocioł węgiel - stary robiony przez firme uduś z udusiowa.

    sterownik - Płytka z Atmega 32 z 6 pk i czujnikami na 1-wire + LCD 2x16

    program (regulator C.O. v4.1 z NESTOR-electronic) ale nie bardzo pasuje pod mój układ. tak czy siak na jego podstawie chciałbym zrobić docelowy program.

    prosze o ocene....

    edit :) dodaje plik z rysunkiem



    Witam ponownie. Widze że mnóstwo wejść a żadnych odpowiedzi.

    Wobec tego napisze jak ja to wymyśliłem:

    Skróty jak na rysunku ale przypomnę:
    T1 - czujnik temp w mieszkaniu
    T2 - czujnik temp na zewnątrz
    T3 - czujnik temp na kotle węglowym
    T4 - czujnik temp na wymienniku W1
    T5 - czujnik temp na wymienniku W2 (dołożyłem czujnik.)
    Th - Histereza (póki co jedna dla wszystkich)
    Tz - Temperatura zadana

    W1 - Wymiennik przy kotle węglowym
    W2 - Wymiennik w kotle gazowym

    P1 - Pompa obiegowa w kotle gazowym
    P2 - Pompa obiegowa w układzie zamkniętym (układ kotła gazowego)
    P3 - pompa obiegowa w układzie otwartym (układ kotła węglowego)

    Z1 - Elektrozawór na kotle gazowym (otwiera się równocześnie z P1 przez
    załączenie kotła gazowego)
    Z4 - elektrozawór dopuszczający wodę do układu otwartego w przypadku
    przegrzania lub spadku ciśnienia /Docelowo (może na następny sezon) to
    będzie zawór trójdrożny dopuszczający wodę do obydwu układów)

    K1 - Klapa (przesłona) dopływu powietrza do kotła węglowego
    K2 - Przesłona odpływu spalin (regulacja ciągu kominowego)

    X1 - Styk załączający kocioł gazowy

    Oz - obieg zamknięty
    Oo - obieg otwarty




    ALGORYTM: (według mnie)

    I- tryb 1 ogrzewania gazem ; II tryb 2 ogrzewania węglem

    Jeśli tryb I to:

    - IF T1 => (Tz+Th) AND T1 < (Tz-Th) AND (T1-T2)=7 /wartość "7" do dobrania
    empirycznego/ THEN
    'nie rób nic' np. wyświetlenie godziny i temperatury wewnątrz i na zewnątrz

    /Przygotowanie do pracy/
    - IF T1 <= (Tz+Th) AND T1 < (Tz-Th) AND (T1-T2)>=7 AND T2<T1 THEN
    X1 = 1 t=x /na czas dobrany doświadczalnie/
    X1 = 0 t=y /na czas dobrany doświadczalnie/
    WYŚWIETL "Przygotowanie do pracy"

    Praca

    - IF T1 < (Tz+Th) AND T1 < (Tz-Th) AND THEN
    X1 = 1
    WYŚWIETL "PIEC ZAŁĄCZONY Tz, T1, T2"
    - IF T1 = (Tz+Th) AND X1=1 THEN
    X1 = 0 WYŚWIETL "PIEC WYŁĄCZONY - PODTRZYMANIE Tz, T1, T2"
    - IF T1 = (T-Th) AND X1=0 THEN
    GOTO Praca

    Wygaszanie

    - 'Praca'=1 AND (T1-T2)>=7 AND T2<T1 THEN
    X1 = 1 t=x /na czas dobrany doświadczalnie/
    WYŚWIETL "Wygaszanie Tz, T1, T2"
    IF T1 < (Tz+Th) AND T1 AND T2=>Tz AND T2>T1 THEN
    X1=0

    Przeciwzamarzanie układu otwartego
    Ponieważ układ przy kotle węglowym podczas grzania gazem nie będzie odbierał ciepła (zawory Z2 i Z3 zamknięte), istnieje ryzyko zamarznięcia znajdujazej sie tam wody.
    Widzę tu 3 rozwiązania: 1. zastosować glikol (tam jest ok 50 - 75 l), 2. Zaprogramować alarm informujacy o niskiej temperatrurze wody (np 2stC) i poleceniu otwarcia zaworów na wymiennik (ręcznego), lub 3. zastozować zawór termostatyczny sterowany elektrycznie i programowo.

    IF T3=2 Then Z(2,3) = 1 WYŚWIETL ALARM
    IF T3=5 Then Z(2,3) = 0

    end

    Tyle jeśli chodzi o tryb gazowy, natomiast algorytm weglowego jest troche bardziej złożony i zrobie go później....

    Prosze o ocene i sugestie również pod kątem bascom'a

    Dodano po 1 [godziny] 59 [minuty]:

    Dopisuje reszte
    tryb kotła węglowego

    IF Tryb II = 1 THEN
    WYŚWIETL „Otwórz zawory Z2 i Z3 i zapal w piecu ”
    IF T3 => 30 THEN /30 stC wartość ustawialna/
    P2=1
    P3=1
    K1=100% (max otwarcia)
    K2=100% (max otwarcia)
    WYŚWIETL „ROZPALANIE T1,T2,T3”
    ELSEIF
    P2=0
    P3=0
    K1=0
    K2=0
    WYŚWIETL „PIEC WYGASZONY”

    /PRACA/
    IF T3=>50 THEN /50 stC wartość ustawialna/
    P2=1
    P3=1
    K1=50% (max otwarcia)
    K2=50% (max otwarcia)
    WYŚWIETL „PRACA T1,T2,T3”
    IF PRACA=1 AND T3<50 THEN
    BUZZER
    WYŚWIETL „Dorzuć do pieca”
    /CWU/
    IF CWU=1 THEN AND PRACA=1 /Załączono tryb ciepłej wody użytkowej/
    X1=1
    IF T4 >98 THEN
    X1=0
    Elseif

    /PRZEGRZANIE/
    IF T3>90 THEN
    K1=0%
    K2=0% /Spaliny i „wydostaną” się przez nieszczelności przesłony/
    pętla
    IF T3>100 THEN
    Z4=1
    Wait 5
    Z4=0
    Wait5
    Pętla
    END
  • Buderus