Człony P/I/D w izolacji i razem, tuning Z-N, anti-windup, derivative kick, feed-forward.
Trzy człony, jedna definicja, każdy z jasną rolą:
Iteracja kontrolera: . Dynamika plant: . Schemat Euler: , .
| k | t | x | ẋ | e | I | ė | u | ẍ |
|---|---|---|---|---|---|---|---|---|
| 0 | 0.0000 | 0.0000 | 0.0000 | 1.0000 | 0.0000 | 0.0000 | 8.0000 | 8.0000 |
| 1 | 0.0100 | 0.0000 | 0.0800 | 1.0000 | 0.0100 | 0.0000 | 8.0400 | 7.8800 |
| 2 | 0.0200 | 0.0008 | 0.1588 | 0.9992 | 0.0200 | −0.0800 | 7.9136 | 7.5928 |
| 3 | 0.0300 | 0.0024 | 0.2347 | 0.9976 | 0.0300 | −0.1588 | 7.7832 | 7.3043 |
| 4 | 0.0400 | 0.0047 | 0.3078 | 0.9953 | 0.0400 | −0.2347 | 7.6300 | 7.0234 |
Z wiersza mamy , , . Aktualizacja Euler:
Cztery konfiguracje na tym samym plant (mass-spring-damper z modułu 1), pod tym samym skokiem referencji. Pokazują, co każdy człon robi w izolacji i jak składają się razem.
Ziegler i Nichols zaproponowali w 1942 dwie recepty empiryczne — z ich pomocą można dostroić PID bez znajomości modelu. Pierwsza, którą tu prezentujemy, polega na doprowadzeniu zamkniętej pętli do oscylacji na granicy stabilności i odczytaniu dwóch liczb: wzmocnienia krytycznego i okresu drgań .
Dla naszego prostego mass-spring-damper'a Z-N nie zadziała — układ drugiego rzędu z dodatnim tłumieniem nigdy nie osiąga granicznych oscylacji pod sterowaniem czysto proporcjonalnym (bieguny pozostają w lewej półpłaszczyźnie dla ). Potrzebujemy plant wyższego rzędu; tutaj używamy kanonicznego , dla którego i s.
Recepta Zieglera-Nicholsa (zamknięta pętla, 1942). Procedura w trzech krokach:
Recepta jest punktem startowym, nie końcowym — daje typowo ~25% przeregulowania, co dla wielu zastosowań jest za dużo. Standardowo dostraja się dalej ręcznie albo wybiera wariant „no overshoot" / „some overshoot". Dla układów z dużym opóźnieniem transportowym (procesowych) bardziej miarodajna jest druga metoda Z-N — z odpowiedzi skokowej w otwartej pętli (parametry , ). Tutaj pokazujemy wariant z domkniętą pętlą jako pedagogicznie najprostszy.
Spróbuj: wybierz preset „P @ K_u" — zobaczysz oscylacje stałej amplitudy z okresem ≈ 3.63 s. Dla wartości nieco większej niż układ się rozbiega; mniejszej — oscylacje wygasają. Punkt krytyczny jest „na ostrzu noża".
Każdy aktuator fizyczny ma graniczne wartości — silnik prądu stałego nie wytwa moment większy niż , zawór nie otworzy się więcej niż na 100%. Z perspektywy regulatora to saturacja: przycinane do .
W obecności saturacji zwykłe PID popełnia subtelny błąd: integrator dalej akumuluje, mimo że jego wkład nie ma wpływu na faktyczne sterowanie. Po wyjściu z saturacji regulator musi „odkręcić" zgromadzone napięcie — odpowiedź ma długi ogon i często duże przeregulowanie. Anti-windup to dwie standardowe poprawki: clamping (warunkowa integracja) i back-calculation.
MSD (m=1, c=2, k=4), saturacja u ∈ [-1.5, 1.5], skok r=1 w t=0, zaburzenie d=−1.5 w t=5 s. Trzy regulatory na tych samych wzmocnieniach, różniące się tylko strategią obsługi saturacji.
Wind-up (rozbieganie integratora) pojawia się, gdy wpada w saturację, ale błąd nadal jest niezerowy — integrator akumuluje, mimo że dodatkowy wkład nie ma wpływu na sterowanie. Kiedy saturacja ustaje, regulator musi „odkręcić" zgromadzony zapas — to długi ogon w odpowiedzi.
Clamping (warunkowa integracja): gdy jest na granicy i błąd pcha sterowanie głębiej w saturację, integrator po prostu zatrzymuje się — nie przyrasta i nie maleje. Prosta i niezawodna technika; standard w PLC.
Back-calculation: integrator dostaje aktywną korektę proporcjonalną do różnicy (nasza „dziura"):
Domyślnie . Daje gładsze przejścia w obie strony saturacji niż clamping, kosztem dodatkowego parametru do dostrojenia. Spójrz na panel członu I — bez AW całka osiąga ekstremalne wartości po impulsie zaburzenia, podczas gdy z AW pozostaje w sensownym przedziale i odbicie y do referencji jest szybsze.
Druga klasyczna pułapka PID: derivative kick. Gdy referencja zmienia się skokowo, klasyczne generuje impulsowy strzał w sterowaniu, który może uszkodzić aktuator albo wprowadzić go w głęboką saturację. Dwa rozwiązania: liczyć D od pomiaru zamiast od błędu, lub przepuścić D przez filtr dolnoprzepustowy.
Ostry skok r w t=0.5s wymusza idealnie pochodną delty, której Kd · de/dt aproksymuje skokiem sięgającym aż 1/dt razy większym niż w wariancie z D na −y.
Derivative kick. Klasyczne PID liczy . Gdy jest sygnałem skokowym, jest impulsem Diraca, a w jednej chwili sięga — w cyfrowej implementacji równe , czyli setki razy większe niż wartości robocze. Aktuator dostaje krótki potężny impuls, co może uszkodzić sprzęt albo wyjść w saturację głęboko.
Rozwiązanie 1: D na pomiarze. Zauważ, że . Dla układu z ciągłą dynamiką jest gładkie. Możemy więc liczyć — sterowanie zadziała tak samo dla zaburzeń (gdzie i tak), ale nie zareaguje impulsowo na skok referencji. Ten wariant nazywa się formalnieI-PD albo typu B (P + I po e, D po −y).
Rozwiązanie 2: filtr dolnoprzepustowy na D. Zostawiamy , ale przepuszczamy przez filtr 1. rzędu o paśmie :
Filtr zamienia idealną pochodną na pochodną „pasmowo-ograniczoną" — dla skoku , osiąga maksimum (nie nieskończoności), a potem opada eksponencjalnie. Im większe , tym ostrzejszy filtr; odzyskuje idealne D.
W praktyce: D-na-y używa się gdy referencja jest „brutalna" (skoki, kwadratowe sygnały), filtra — gdy mamy szum pomiarowy i łagodne referencje. Często łączy się obie techniki naraz.