Hej
Czy udało Wam się uruchomić z pozytywnym skutkiem jakąś bibliotekę do autotuningu PIDow na Arduino?
Sciagnalem, na wejscie dalem temperature, wyjscie skierowalem na stycznik PWM - sama petla PID
dziala poprawnie, ale gdy zalaczyc autotuning to w zasadzie nic sie nie dzieje. W sensie ze nic sie
nie zmienia...
q
Arduino AutoTune PID
Moderatorzy: moderatorzy2014, moderatorzy
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Arduino AutoTune PID
I potrzebne to jest do .....?
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Arduino AutoTune PID
Do podgrzewania wody w wannie. Ma to jakieś znaczenie? :)
PS.
Veni vidi vici
Ogarnąłem temat chyyyyba.
Okazało się, że opisy są dla mięczaków, twardziele zawsze sobie radzą bez Wink
Skorzystałem z bibliotek:
#include <PID_v1.h>
#include <PID_AutoTune_v0.h>
I przykładowego program dołączonego do nich.
Zmodyfikowałem lekko - na wejściu dałem temperaturę z DSa, a na wyjście
podłączyłem funkcję sterującą stycznikiem załączającym zasilanie grzałki tak
jakby to był stycznik PWM. Podaje się wypełnienie od 0 do 1, czyli jak w %,
definiuje oczywiści długość cyklu PWM. Ja dałem 2s, ale to raczej bez znaczenia.
Testowy układ to termometr z przymocowanymi czteroma rezystorami, jeśli dobrze
pamiętam, w sumie dają 1W ciepła zasilane z 12V.
Auto tuning trwał jakieś pół godziny, wyniki są bardziej zachowawcze niż moje
własne PIDy ustawione na oko. Układ rozgrzewa się wolniej, ale za to nie wpada
w żadne oscylacje, u mnie ze dwa razy przelatywał, żeby później ustabilizować
się, przy PIDach z autotuningu nie przestrzeliwuje, ale wolniej się rozgrzewa.
Jak już dojdzie do temp. docelowej to trzyma jak skała z dokładnością jak
rozdzielczość termometru.
A cały problem polegał na tym, że domyślnie w kodzie ustawiony jest za wysoki
filtr szumów "aTuneNoise". Zmieniłem na 0.1 i bangla
Sprawdzę jeszcze w innym układzie - wsadzę "grzałkę" do około 100ml oleju...
Q
PS.
Veni vidi vici
Ogarnąłem temat chyyyyba.
Okazało się, że opisy są dla mięczaków, twardziele zawsze sobie radzą bez Wink
Skorzystałem z bibliotek:
#include <PID_v1.h>
#include <PID_AutoTune_v0.h>
I przykładowego program dołączonego do nich.
Zmodyfikowałem lekko - na wejściu dałem temperaturę z DSa, a na wyjście
podłączyłem funkcję sterującą stycznikiem załączającym zasilanie grzałki tak
jakby to był stycznik PWM. Podaje się wypełnienie od 0 do 1, czyli jak w %,
definiuje oczywiści długość cyklu PWM. Ja dałem 2s, ale to raczej bez znaczenia.
Testowy układ to termometr z przymocowanymi czteroma rezystorami, jeśli dobrze
pamiętam, w sumie dają 1W ciepła zasilane z 12V.
Auto tuning trwał jakieś pół godziny, wyniki są bardziej zachowawcze niż moje
własne PIDy ustawione na oko. Układ rozgrzewa się wolniej, ale za to nie wpada
w żadne oscylacje, u mnie ze dwa razy przelatywał, żeby później ustabilizować
się, przy PIDach z autotuningu nie przestrzeliwuje, ale wolniej się rozgrzewa.
Jak już dojdzie do temp. docelowej to trzyma jak skała z dokładnością jak
rozdzielczość termometru.
A cały problem polegał na tym, że domyślnie w kodzie ustawiony jest za wysoki
filtr szumów "aTuneNoise". Zmieniłem na 0.1 i bangla
Sprawdzę jeszcze w innym układzie - wsadzę "grzałkę" do około 100ml oleju...
Q
Ostatnio zmieniony piątek 03 maja 2019, 18:16 przez Jakub Jewuła, łącznie zmieniany 2 razy.
Re: Arduino AutoTune PID
do samej wanny nie znalazłem ale może taka do bojlera podpasuje.
https://www.egrzalki.pl/pl/c/GRZALKI-DO-BOJLERA/73
https://www.egrzalki.pl/pl/c/GRZALKI-DO-BOJLERA/73