[Controlli Automatici] Controllore PI che fa divergere il sistema

LowSlow
Salve a tutti, sto preparando una materia di un corso di laurea magistrale che contiene alcuni argomenti di "controlli automatici", quest'ultima purtroppo nella mia triennale di provenienza non si faceva e quindi mi sto ritrovando a studiare alcune cose senza averne le basi, e chiaramente sto avendo parecchie difficoltà.

Mi è stata assegnata una funzione di trasferimento e devo regolarla usando le tarature P, PI e PID (con Matlab e Simulink) ottenute con il metodo di Ziegler-Nichols a catena chiusa. Le configurazioni P e PID hanno qualche sovraelongazione, ma alla fine l'output del sistema sollecitato dal gradino converge. Con la configurazione PI, invece, purtroppo diverge.

Premetto che usando il metodo di Ziegler-Nichols a catena chiusa ottengo valori abbastanza alti, valore della costante dell'azione propozionale (Kp) circa 1200 e costante dell'azione integrale (Ki) circa 2950. Mi sono accorto che se abbasso manualmente Ki sotto 1000, la risposta del sistema converge, quindi a occhio e croce mi sembra di capire che il problema sta nel fatto che ottengo una Ki con un valore alto.

Ho fatto delle prove su Matlab, ho creato la funzione di trasferimento complessiva moltiplicando la fdt del controllore PI con la fdt del sistema da controllare, e poi mettendole in retroazione (con la funzione feedback di Matlab), mi sono accorto che con Ki = 2950 alcuni dei poli della fdt complessiva diventano positivi (e ovviamente diverge), mentre se abbasso Ki i poli tornano ad essere tutti negativi (e quindi la risposta del sistema converge).

Mi sembra di capire che questo comportamento sia normale (ho fatto prove con altre fdt, usando un controllore PI con Ki molto alta e succede la stessa cosa), però non capisco come spiegarlo.
Ho letto alcuni paper in cui mi è sembrato di capire che le costanti del controllore PI agiscono sullo smorzamento, che nel caso vada sotto 0, il sistema diverge. Per caso sta in questo la risposta al mio quesito oppure potrebbe esserci qualche altro motivo per cui succede questo? Come mai all'aumentare della costante Ki del controllore, alcuni dei poli del della fdt complessiva diventano positivi?

Ringrazio in ancipo chiunque possa aiutarmi o almeno possa darmi qualche dritta.

Risposte
Quinzio
Puoi scrivere la fdt del sistema da controllare (l'impianto che di solito di chiama "P") ?

LowSlow
"Quinzio":
Puoi scrivere la fdt del sistema da controllare (l'impianto che di solito di chiama "P") ?


Ecco la fdt del sistema da controllare:


Quinzio
Allora, la risposta che ti do e' tutt'altro che rigorosa, anche perche' non sono affatto un esperto in queste cose, ma vorrei darti un assaggio di cosa vuol dire configurare un PID o un regolatore.
Del resto perche' si usano i PID ? Perche' si e' visto che nella maggior parte delle applicazioni reali un PID, o anche solo un PI e' tutto cio' che serve per fare un lavoro decente, senza sbattersi troppo in calcoli, poli e zeri che poi alla fine conducono a qualcosa di molto simile a un PID.
Poi pero' come lo tariamo il PID ? Servirebbero altri calcoli, poli e zeri e anche qui si e' visto che alla fine bastano alcuni metodi generici che nella maggior parte dei casi funzionano, tipo lo Ziegler-Nichols (ZN).
Quindi stiamo usando dei metodi generici e acchiappa-tutto che tante volte funzionano, ma altre volte no, e quando non funzionano bisogna andare a vedere un po' da vicino cosa fanno e perche' sbagliano.

Innazitutto lo ZN ci chiede di applicare un guadagno $K_p$ al P chiuso in retroazione e vedere quando oscilla.

Dalla teoria di base sappiamo che l'oscillazione avviene quando $K_p P $ ha fase $-180$ gradi.

Analizzando $P = 6.63 / (s^3+101.7 s^2+171s+6.63)$ con $s = j\omega$, vediamo che la parte immaginaria viene da $s^3+171s$. Forzando la parte immaginaria a zero, vediamo che $s^2 = 171$.

Quindi con fase $-180$, il guadagno di $P$ e' $P = 6.63 / (-101.7 \omega^2 +6.63) \approx -6.63 / (101.7 * 171 )$.

Se vogliamo che oscilli, $K_p P = -1$ e quindi $K_p \approx (101.7 * 171 )/6.63 \approx 2600$.

Come hai trovato anche tu.

Per usare lo ZN, possiamo fare riferimento a qui:
https://en.wikipedia.org/wiki/Ziegler%E ... ols_method
e ad esempio applicare $K_p = 1200$.

Intanto possiamo andare a vedere come si comporta $P$ alle varie frequenze, ad esempio qui:
https://www.wolframalpha.com/input?i=Ny ... %2B6.63%29

Vediamo 2 cose: che a fase -180, il modulo e' di poco sotto lo 0 (in dB), che e' quello che si ottiene con il $K_p$ che abbiamo applicato.
Poi si vede che il modulo fa un bel giro da $0$ a $-270$ gradi e che il modulo decresce molto rapidamente, a causa dell $s^3$ al denominatore.

Ora, se aggiungiamo anche l'integratore per fare un PI, quello che succede in pratica e' che moltiplichiamo tutto per un fattore $1+1/( T_i s)$ .
Se fai due conti e vai a vedere modulo e fase di questo fattore che aggiungiamo, e dimensioni il $T_i$ con ZN, si vedono due cose.
Gia' alla frequenza dei $-180$ il fattore integrale amplifica il modulo e questo e' un problema, siccome eravamo di poco sotto allo 0, con il solo $K_p$.
Ma soprattutto il problema piu' grosso e' che introduce una rotazione di fase di -90 circa, e quindi la curva che si vede qui viene quasi tutta ruotata di 90 gradi. Questo fa in modo che, dei moduli di guadagno alti, che prima erano nella zona -90, -110 gradi, ora si trovano nella zona -180, con un modulo molto alto, come dicevamo.
Questo fa si che il tutto si metta ad oscillare.

Quindi la conclusione e' che l'integrale non va bene, oppure si mette un $T_i $ molto alto, in modo da non causare i due effetti catastrofici che dicevamo prima: la rotazione di fase e l'amplificazione.

LowSlow
"Quinzio":
Allora, la risposta che ti do e' tutt'altro che rigorosa, anche perche' non sono affatto un esperto in queste cose, ma vorrei darti un assaggio di cosa vuol dire configurare un PID o un regolatore.
Del resto perche' si usano i PID ? Perche' si e' visto che nella maggior parte delle applicazioni reali un PID, o anche solo un PI e' tutto cio' che serve per fare un lavoro decente, senza sbattersi troppo in calcoli, poli e zeri che poi alla fine conducono a qualcosa di molto simile a un PID.
Poi pero' come lo tariamo il PID ? Servirebbero altri calcoli, poli e zeri e anche qui si e' visto che alla fine bastano alcuni metodi generici che nella maggior parte dei casi funzionano, tipo lo Ziegler-Nichols (ZN).
Quindi stiamo usando dei metodi generici e acchiappa-tutto che tante volte funzionano, ma altre volte no, e quando non funzionano bisogna andare a vedere un po' da vicino cosa fanno e perche' sbagliano.

Innazitutto lo ZN ci chiede di applicare un guadagno $K_p$ al P chiuso in retroazione e vedere quando oscilla.

Dalla teoria di base sappiamo che l'oscillazione avviene quando $K_p P $ ha fase $-180$ gradi.

Analizzando $P = 6.63 / (s^3+101.7 s^2+171s+6.63)$ con $s = j\omega$, vediamo che la parte immaginaria viene da $s^3+171s$. Forzando la parte immaginaria a zero, vediamo che $s^2 = 171$.

Quindi con fase $-180$, il guadagno di $P$ e' $P = 6.63 / (-101.7 \omega^2 +6.63) \approx -6.63 / (101.7 * 171 )$.

Se vogliamo che oscilli, $K_p P = -1$ e quindi $K_p \approx (101.7 * 171 )/6.63 \approx 2600$.

Come hai trovato anche tu.

Per usare lo ZN, possiamo fare riferimento a qui:
https://en.wikipedia.org/wiki/Ziegler%E ... ols_method
e ad esempio applicare $K_p = 1200$.

Intanto possiamo andare a vedere come si comporta $P$ alle varie frequenze, ad esempio qui:
https://www.wolframalpha.com/input?i=Ny ... %2B6.63%29

Vediamo 2 cose: che a fase -180, il modulo e' di poco sotto lo 0 (in dB), che e' quello che si ottiene con il $K_p$ che abbiamo applicato.
Poi si vede che il modulo fa un bel giro da $0$ a $-270$ gradi e che il modulo decresce molto rapidamente, a causa dell $s^3$ al denominatore.

Ora, se aggiungiamo anche l'integratore per fare un PI, quello che succede in pratica e' che moltiplichiamo tutto per un fattore $1+1/( T_i s)$ .
Se fai due conti e vai a vedere modulo e fase di questo fattore che aggiungiamo, e dimensioni il $T_i$ con ZN, si vedono due cose.
Gia' alla frequenza dei $-180$ il fattore integrale amplifica il modulo e questo e' un problema, siccome eravamo di poco sotto allo 0, con il solo $K_p$.
Ma soprattutto il problema piu' grosso e' che introduce una rotazione di fase di -90 circa, e quindi la curva che si vede qui viene quasi tutta ruotata di 90 gradi. Questo fa in modo che, dei moduli di guadagno alti, che prima erano nella zona -90, -110 gradi, ora si trovano nella zona -180, con un modulo molto alto, come dicevamo.
Questo fa si che il tutto si metta ad oscillare.

Quindi la conclusione e' che l'integrale non va bene, oppure si mette un $T_i $ molto alto, in modo da non causare i due effetti catastrofici che dicevamo prima: la rotazione di fase e l'amplificazione.

Ti ringrazio tantissimo per la tua spiegazione, che sto cercando di comprendere piano piano perchè purtroppo ancora non ho chiarissimo come si leggono i diagrammi di bode (come dicevo nel primo post, provengo da una triennale in cui queste cose non si facevano e quindi non ho confidenza).
Già che ci sono, se possibile, volevo chiederti un'altra cosa: come mai con il regolatore PI la risposta del sistema diverge e invece con il regolare PID (tarato con la stessa procedura di ZN) converge?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.