16-05-2019, 21:00
(16-05-2019, 19:57)PierwszyWolnyLogin napisał(a): Przykład który wyłapałem to: 0.00x-40.81=nan A powinno chyba zero
U mnie wychodzi 0.00 .
(16-05-2019, 19:57)PierwszyWolnyLogin napisał(a): Chętnie pogadam o wersji PIDa do stabilizacji temperatury w układach z TAKIM LAGIEM
Typu ciężka grzałka i woda. Wyłączasz grzałkę, a temperatura rośnie jeszcze kilka minut
No regulatory PID właśnie po to stworzono.
Człon różniczkujący przewiduje przyszłą wartość i wpływa na człon proporcjonalny w taki sposób, aby nie przeskoczyć zadanej wartości.
Niedobrane parametry mogą dać nam coś takiego:
Przy odpowiednio dobranych parametrach będzie tak:
Pierwszy wykres jest dla regulacji PI (wyłączone D), drugi dla PID.
To są rzeczywiste wyniki pomiarów z mojego sterownika. Ta czerwona linia, to sygnał sterujący zwracany z funkcji PID, niebieska to zmierzona wartość (sterowana).
Regulator PID jest idealny do sterowania temperaturą cieczy, ponieważ likwiduje oscylacje i nie pozwala przekroczyć zadanej temperatury, czyli nie zagotuje oraz nie zamrozi obwodu.
Wszystko zależy od doboru nastaw. Przy idealnie dobranym członie różniczkującym, możesz się naprawdę zdziwić, że to tak pięknie pracuje. Jest kilka metod strojenia regulatorów PID. Proponuję poczytać o eksperymencie Zieglera-Nicholsa oraz o implementacji programowej. Tak, są programy do dobierania parametrów PID.
Można też zaimplementować algorytm autotuningu, ale to już na dłuższą pogadankę przy piwku w weekend, bo jest sporo teorii do opanowania.
Z chęcią pogadam, bo jest to temat iście fascynujący.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.