Witam!
Tytułem wstępu kilka informacji o samym projeckie.
Jest to regulator temperatury(czujnik ds18b20) na bazie Atmega32, z temperaturą zadaną poprzez pilota (RC5). Calosc napisana w C.
Pytanie dotyczy histerezy. W tej chwili przebieg wartości temperatury wygląda następująco:
Otrzymałem polecenie dodanie histerezy do układu.
Czy moje rozumowanie zamieszczone poniżej jest porawne?
W chwili gdy wartość temperatury przekroczy wartość wielkości zadanej temperatury powiększoną o wartość połowy histerezy, wówczas następuje wyłączenie zasialania. Po zmniejszeniu się temperatury do wartości zadanej pomniejszonej o połowę wartości histerezy następuje załączenie zasialania, a więc ponowne wzrastanie temperatury.
Analziując powyższe, doszedłem do wniosku, że wartość maksymalna jaką osiąga temperatura wody zwiększy się, a minimalna zmaleje (grzanie i ochłdzanie nie ustępuje momentalnie, co można było zauważyć na wykresie przebiegu temperatury). Znaczy to, że bardziej oddale sie od wielkości zadanej, niż w przypadku regulatora bez histerezy, czyli takiego, w którym zmiany sterowania następują z chwilą osiągnięcia temperatury zadanej.
Czy dodanie histerezy nie pogorszy działania układu w sensie otrzymywanej wielkości wyjściowej, bardziej odbiegającej od zadanej niż w przypadku regulacji bez histerezy?
Jeszcze drugi problem odnośnie kształtu wykresu. Idealny wykres powinien być piłokształtny. Jak mogę uzyskąc taki wykres skoro woda charakteryzuje się dużą inercją i w momencie wyłaczanie zasialania zarówno grzałka jak i woda wciąż przez pewnien czas podnoszą temperaturę. Z kolei po włączeniu zasilania, grzałka zaczyna grzać od razu, przeciwstawiając sie samoczynnemu chłodzeniu wodu. Stad powstaje asymetria przebiegu tempertury względem temperatury zadanej. Więc nie ma tu mowy o uzyskaniu idealnego wykresu jak poniżej:
Jeśli znajdzie się jakaś osoba, która bezinteresowanie poprawi mój tok rozumowania byłbym bardzo wdzięczny.
Pozdrawiam
Tytułem wstępu kilka informacji o samym projeckie.
Jest to regulator temperatury(czujnik ds18b20) na bazie Atmega32, z temperaturą zadaną poprzez pilota (RC5). Calosc napisana w C.
Pytanie dotyczy histerezy. W tej chwili przebieg wartości temperatury wygląda następująco:
Otrzymałem polecenie dodanie histerezy do układu.
Czy moje rozumowanie zamieszczone poniżej jest porawne?
W chwili gdy wartość temperatury przekroczy wartość wielkości zadanej temperatury powiększoną o wartość połowy histerezy, wówczas następuje wyłączenie zasialania. Po zmniejszeniu się temperatury do wartości zadanej pomniejszonej o połowę wartości histerezy następuje załączenie zasialania, a więc ponowne wzrastanie temperatury.
Analziując powyższe, doszedłem do wniosku, że wartość maksymalna jaką osiąga temperatura wody zwiększy się, a minimalna zmaleje (grzanie i ochłdzanie nie ustępuje momentalnie, co można było zauważyć na wykresie przebiegu temperatury). Znaczy to, że bardziej oddale sie od wielkości zadanej, niż w przypadku regulatora bez histerezy, czyli takiego, w którym zmiany sterowania następują z chwilą osiągnięcia temperatury zadanej.
Czy dodanie histerezy nie pogorszy działania układu w sensie otrzymywanej wielkości wyjściowej, bardziej odbiegającej od zadanej niż w przypadku regulacji bez histerezy?
Jeszcze drugi problem odnośnie kształtu wykresu. Idealny wykres powinien być piłokształtny. Jak mogę uzyskąc taki wykres skoro woda charakteryzuje się dużą inercją i w momencie wyłaczanie zasialania zarówno grzałka jak i woda wciąż przez pewnien czas podnoszą temperaturę. Z kolei po włączeniu zasilania, grzałka zaczyna grzać od razu, przeciwstawiając sie samoczynnemu chłodzeniu wodu. Stad powstaje asymetria przebiegu tempertury względem temperatury zadanej. Więc nie ma tu mowy o uzyskaniu idealnego wykresu jak poniżej:
Jeśli znajdzie się jakaś osoba, która bezinteresowanie poprawi mój tok rozumowania byłbym bardzo wdzięczny.
Pozdrawiam