Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Atmega16][C/Eclipse]Trójstawna regulacja temperatury

sevotharte 26 Cze 2011 16:20 1242 8
  • #1 26 Cze 2011 16:20
    sevotharte
    Poziom 10  

    Witam.

    Mam takie zadanie, by zdziałać regulację temperatury i sterować zarówno wentylatorem jak i ogrzewaniem. Wymyśliłem na razie coś takiego:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    korzystam z czujnika DS18B20. Ustaliłem, że chciałbym temperaturę 22 stopni. Więc ochładzam powiedzmy z 24 stopni. Tylko, że wentylator wyłącza mi się przy 23 stopniach. Ma ktoś może jakiś pomysł jakby to inaczej zdziałać? jakiś algorytm słowny by mnie nakierował.

    Dzięki za pomoc![/code]

  • #2 26 Cze 2011 16:55
    acid12
    Poziom 21  

    mozesz sterowac tylko i wylacznie ON/OFF czy analogowo? czym jest twoj obiekt ktorym sterujesz? jakas charakterystyka, model, opis bezwladności.

    Jezeli masz do dyspozycji on/off to musisz zrobic trojstanowe sterowanie z histerezą (razem 4 strefy histerezy) i strefą martwa.

    narazie masz 2 strefy i to odwronie podlaczone,
    pozatym cos tu w warunku nie gra, nie zgodzisz się ?

    Kod: c
    Zaloguj się, aby zobaczyć kod

  • #4 26 Cze 2011 17:11
    acid12
    Poziom 21  

    ten temat powinien zostac przeniesiony do działu automatyka. Znajdz w necie albo w ksiazkach z podstaw automatyki sterowanie trojstanowe z histerezą albo dwustanowe z histerezą i ew. strefa martwą.

  • #5 26 Cze 2011 17:54
    janbernat
    Poziom 38  

    No nie- jakby automatyka była tak prosta...
    Jak x<22- włącz grzałkę i wyłącz wentylator.
    Jak x>23- wyłącz grzałkę i włacz wentylator
    jak x>22 i x<23 nie rób nic.
    A wzbudzić się to faktycznie może- jak ten obiekt ma małą pojemność cieplną.

  • #6 26 Cze 2011 17:57
    sevotharte
    Poziom 10  

    prosiłbym o poprawienie jeśli się mylę. Więc tak:

    zaczynam od warunków na ogrzewanie:
    -> gdy mam temp mniejszą niż 22 stopnie, to grzej do 22 stopni+histereza. Następnie wyłącz grzałkę. Gdy temperatura spadnie poniżej 22stopni - histereza włącz grzałkę.

    -> dla temp większych niż 22 stopnie (np.24), włącz wentylator do 22 stopni - histereza. Następnie wyłącz, a gdy wzrośnie powyżej 22 stopni + histereza to włącz wentylator.

    Oto chodzi?

    Pozdrawiam

  • #7 26 Cze 2011 17:59
    acid12
    Poziom 21  

    nic nie wiemy o tym układzie, taki dobór nastaw, bez histerezy wyłącznie ze strefa martwa może doprowadzić do niestabilności układu

  • #8 26 Cze 2011 18:23
    janbernat
    Poziom 38  

    No- piszę że się może wzbudzić.
    To co napisałem- to jest bez dodatkowej zmiennej histereza.
    I bez zmiennej uchyb.
    Tylko dla konkretnych temperatur.
    Histereza sama jakby sama z tego wynika.
    Tak jest łatwiej na początek.
    Bo po co na początek komplikować.
    Na poczatku dajesz:
    #define temperature_max
    #define temperature_min
    I dalej samo się robi- if albo switch.
    Ten uchyb na poczatek to nie jest potrzebny- bo przecież nie znasz parametrów wzmocnienia no i nie jest to PID.
    Algorytmy na PID albo nawet PI to w tych paru linijkach by się nie zmieściły.
    No i oszacowanie parametrów obiektu sterowanego to jest dużo dłuższa bajka.
    No i wzbudzić się może- ale w tak małym doświadczeniu będzie to i niegroźne i kształcące.

  • #9 26 Cze 2011 18:51
    gayetan
    Poziom 17  

    Mało danych ale...
    Jeśli dobrze zrozumiałem - moje skromne uwagi ( może się na coś przydadzą ):
    1/ histereza 0.5K na DS18B20 w tym układzie jest praktycznie nie do osiągnięcia - zwłaszcza przy zastosowaniu powietrza jako medium wymiany ciepła. DS ma za dużą bezwładność - to się nie uda!!!.
    2/ Jeśli chcesz dokładności bliskiej tej o jakiej wspominasz musisz DS'y skalibrować ( wszystko w nocie Dallas'a)
    3/ Zrób sobie dwa osobne niezależne układy termostatów do sterowania. Dla nich osobne parametry i algorytm rozgraniczający.
    4/ Nie komplikuj zbytnio to się zawsze żle kończy!!!

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME