Salta al contenuto
Note per Studenti Problema di regolazione e sintesi per tentativi

Problema di regolazione e sintesi per tentativi

In questa pagina 4

Questa è la parte "applicativa" del corso: dato un processo G(s)G(s) e delle specifiche, progettare il controllore C(s)C(s) da inserire nello schema in retroazione (Schemi di controllo in retroazione e funzioni di trasferimentoNello schema in retroazione unitaria negativa (controllore $C$, processo $G$) la FdT in catena aperta è $\tilde G=CG$ e quella in catena chiusa $W=\frac{\tilde G}{1+\tilde G}$; l'errore è $E=\frac{R}{1+\tilde G}=(1-W)R$. Zeri di $W$ = zeri di $\tilde G$, poli di $W$ = zeri di $1+\tilde G$. La BIBO stabilità di $W$ è un'altra cosa dalla stabilità di $G$: la retroazione sposta i poli. Le cancellazioni di fattori instabili tra $C$ e $G$ sono proibite.Schemi di controllo in retroazione e funzioni di trasferimento →).

Il problema

Ipotesi sul processo. G∈R(s)G\in\mathbb R(s) propria, con G(0)≠0G(0)\ne0 (nessuno zero nell'origine) e nessun polo a parte reale positiva (sono ammessi poli nell'origine). Si scrive G(s)=KB(G)sr G1(s),r≥0,  G1(0)=1,  G1 senza poli in Re≥0.G(s)=\frac{K_B(G)}{s^r}\,G_1(s),\qquad r\ge0,\ \ G_1(0)=1,\ \ G_1\ \text{senza poli in}\ \mathrm{Re}\ge0.

  • Se G(0)=0G(0)=0 la funzione di trasferimento W=CG1+CGW=\frac{CG}{1+CG} avrebbe W(0)=0W(0)=0 (a meno di cancellazioni proibite): l'uscita a regime a un gradino sarebbe nulla e il problema di regolazione sarebbe irrisolubile.
  • Se GG ha poli instabili si progetta prima un controllore stabilizzante Cˉ\bar C (G′=CˉG1+CˉGG'=\frac{\bar CG}{1+\bar CG} stabile), spesso un semplice guadagno, e poi si applica il metodo sul sistema risultante (schema a doppio anello). Qui non lo si tratta.

Obiettivo. Problema di regolazione: far assumere all'uscita, asintoticamente, un valore finale desiderato per un riferimento a gradino. Si progetta C∈R(s)C\in\mathbb R(s) propria tale che W=CG1+CGW=\frac{CG}{1+CG} sia BIBO stabile e che:

  1. (Specifica di regime) WW sia di tipo kk con ∣erp(k+1)∣≤erp∗|e_{rp}^{(k+1)}|\le e_{rp}^* (Tipo e errore a regime di un sistema retroazionatoSe $W=\frac{\tilde G}{1+\tilde G}$ (con $\tilde G$ propria) è propria, BIBO stabile e $W(0)\ne0$, il tipo di $W$ coincide con il numero $h$ di poli nell'origine di $\tilde G$ (integratori in catena aperta). L'errore a regime corrispondente è $e_{rp}^{(h+1)}=\frac1{K_B(\tilde G)}$ per $h\ge1$ e $e_{rp}^{(1)}=\frac1{1+K_B(\tilde G)}$ per $h=0$. Per ridurre l'errore si alza il guadagno di Bode o si aggiungono integratori, compatibilmente con la stabilità.Tipo e errore a regime di un sistema retroazionato →).
  2. (Specifica di transitorio) tempo di salita tr≈tr∗t_r\approx t_r^* e sovraelongazione S≤S∗S\le S^*.

La seconda, usando le relazioni tra risposta al gradino e risposta in frequenza (Margine di fase, banda e picco di risonanzaPer $G$ strettamente propria, senza poli instabili, con $K_B>0$ e $\omega_A$ ben definita, la banda di $W=\frac G{1+G}$ è molto vicina a $\omega_A$ ($B_p\approx\omega_A$) e il tempo di salita si stima con $t_r\approx\frac{2{,}3}{\omega_A}$. Il margine di fase controlla le oscillazioni: $|W(j\omega_A)|=\frac1{2\sin(m_\varphi/2)}$, che approssima il picco di risonanza; per $\frac{\omega_n^2}{s(s+2\xi\omega_n)}$ si ha $m_\varphi\approx100,\xi$ gradi. Specifiche tipiche: $m_\varphi\ge45^\circ$ per poche oscillazioni, $m_\varphi\approx90^\circ$ per risposta tipo primo ordine.Margine di fase, banda e picco di risonanza →), si sostituisce con una specifica sulla catena aperta G~=CG\tilde G=CG:

2'. pulsazione di attraversamento ωA≃ωA∗\omega_A\simeq\omega_A^* e margine di fase mφ≥mφ∗m_\varphi\ge m_\varphi^*.

Nei temi d'esame le specifiche sono già in questa forma: tipo, errore, ωA∗\omega_A^*, mφ∗m_\varphi^*.

Strategia: la sintesi per tentativi

Si cerca C=C′⋅C′′C=C'\cdot C'' in due passi: C′C' soddisfa la specifica 1 (regime), C′′C'' la specifica 2' (transitorio) senza rovinare la prima.

Passo 1: tipo ed errore a regime

Si pone C′(s)=KB(C′)sα,C'(s)=\frac{K_B(C')}{s^{\alpha}}, cioè un guadagno con α\alpha integratori. La catena aperta diventa C′G=KB(C′)KB(G)sα+rG1C'G=\frac{K_B(C')K_B(G)}{s^{\alpha+r}}G_1, di tipo α+r\alpha+r (numero di poli nell'origine). Si impone α+r=k\alpha+r=k quando possibile e si ricava ∣KB(C′)∣|K_B(C')| dalla specifica di errore:

  • r≤kr\le k: α=k−r\alpha=k-r integratori.
    • k=0k=0 (quindi r=0r=0, α=0\alpha=0): ∣erp(1)∣=11+KB(C′)KB(G)≤e∗  ⟺  ∣KB(C′)∣≥1∣KB(G)∣(1e∗−1)|e_{rp}^{(1)}|=\frac1{1+K_B(C')K_B(G)}\le e^*\iff|K_B(C')|\ge\frac1{|K_B(G)|}\Big(\frac1{e^*}-1\Big).
    • k≥1k\ge1: ∣erp(k+1)∣=1∣KB(C′)KB(G)∣≤e∗  ⟺  ∣KB(C′)∣≥1∣KB(G)∣ e∗|e_{rp}^{(k+1)}|=\frac1{|K_B(C')K_B(G)|}\le e^*\iff|K_B(C')|\ge\frac1{|K_B(G)|\,e^*}.
  • r>kr>k: il sistema ha già un tipo maggiore del richiesto (e quindi errore nullo per il segnale di ordine k+1k+1): α=0\alpha=0 e ∣KB(C′)∣=1|K_B(C')|=1, con C′=±1C'=\pm1.

Si prende sempre l'uguaglianza (il valore più piccolo possibile): in seguito il guadagno di Bode della catena aperta potrà solo aumentare, mai diminuire. Il segno di KB(C′)K_B(C') si sceglie in modo che KB(C′G)=KB(C′)KB(G)>0K_B(C'G)=K_B(C')K_B(G)>0 (signKB(C′)=signKB(G)\mathrm{sign}K_B(C')=\mathrm{sign}K_B(G)): serve per il criterio di Bode.

Esempio 1 (tipo 0). G=s+1(s+10)2G=\dfrac{s+1}{(s+10)^2}: KB(G)=1100=0,01>0K_B(G)=\frac1{100}=0{,}01>0, r=0r=0. Tipo 00 con erp(1)≤0,01e^{(1)}_{rp}\le0{,}01: ∣KB(C′)∣≥10,01(10,01−1)=100⋅99=9900|K_B(C')|\ge\frac1{0{,}01}\Big(\frac1{0{,}01}-1\Big)=100\cdot99=9900, quindi C′=9900C'=9900 (nel corso si arrotonda a 10410^4).

Esempio 2 (tipo 1 con KB<0K_B<0). G=s−1s2+0,2s+1G=\dfrac{s-1}{s^2+0{,}2s+1}: KB(G)=−1K_B(G)=-1, r=0r=0. Tipo 11 con ∣erp(2)∣≤0,1|e^{(2)}_{rp}|\le0{,}1: α=1\alpha=1, ∣KB(C′)∣≥11⋅0,1=10|K_B(C')|\ge\frac1{1\cdot0{,}1}=10 e segno opposto a KB(G)K_B(G): C′=−10sC'=-\dfrac{10}s. Infatti C′G=−10s⋅s−1s2+0,2s+1=10(1−s)s(s2+0,2s+1)C'G=\frac{-10}{s}\cdot\frac{s-1}{s^2+0{,}2s+1}=\frac{10(1-s)}{s(s^2+0{,}2s+1)} ha KB=+10>0K_B=+10>0.

Passo 2: pulsazione di attraversamento e margine di fase

Si studia C′GC'G (con diagrammi di Bode). Si definisce mφ(ωA∗)=arg⁡[C′G(jωA∗)]+180∘,m_\varphi(\omega_A^*)=\arg\big[C'G(j\omega_A^*)\big]+180^\circ, cioè il margine di fase che si avrebbe se la pulsazione di attraversamento fosse ωA∗\omega_A^* (in generale non lo è). Si calcolano M=∣ ∣C′G(jωA∗)∣dB∣ (dB da guadagnare o perdere),Φ=mφ∗−mφ(ωA∗) (gradi di fase da guadagnare o perdere).M=\Big|\,|C'G(j\omega_A^*)|_{dB}\Big|\ (\text{dB da guadagnare o perdere}),\qquad\Phi=m_\varphi^*-m_\varphi(\omega_A^*)\ (\text{gradi di fase da guadagnare o perdere}). Quattro casi, a seconda di dove sta ωA\omega_A di C′GC'G rispetto a ωA∗\omega_A^* e di come sta la fase:

Caso Situazione Obiettivo in ωA∗\omega_A^* Controllore C′′C''
① ωA<ωA∗\omega_A<\omega_A^* e mφ(ωA∗)≥mφ∗m_\varphi(\omega_A^*)\ge m_\varphi^* alzare il modulo di MM dB, fase invariata guadagno KB(C′′)=10M/20>1K_B(C'')=10^{M/20}>1
② ωA<ωA∗\omega_A<\omega_A^* e mφ(ωA∗)<mφ∗m_\varphi(\omega_A^*)<m_\varphi^* alzare modulo di MM e fase di Φ\Phi rete anticipatrice (zeri stabili prima di ωA∗\omega_A^*) (Reti anticipatriciLa rete anticipatrice $C_{ant}(s)=\frac{1+s/z}{1+s/p}=\frac{1+sT}{1+\alpha Ts}$ con $0<z<p$ ($\alpha=\frac zp<1$) ha $K_B=1$, alza il modulo di $20\log\frac pz$ dB tra $z$ e $p$ e aggiunge fase (massimo $\arcsin\frac{1-\alpha}{1+\alpha}$ in $\sqrt{zp}$). Si usa nei casi ②, ④ (parte anticipatrice) della sintesi: con $\Phi\le90^\circ$ si mette uno zero $\frac M{20}$ decadi prima di $\omega_A^$; con $90^\circ<\Phi\le180^\circ$ due zeri a $\frac M{40}$ decadi; il polo (o i poli) almeno una o due decadi dopo $\omega_A^$ per rendere la rete propria.Reti anticipatrici →)
③ ωA>ωA∗\omega_A>\omega_A^* e mφ(ωA∗)≥mφ∗m_\varphi(\omega_A^*)\ge m_\varphi^* abbassare il modulo di MM dB, fase al più abbassata di Φ=mφ(ωA∗)−mφ∗\Phi=m_\varphi(\omega_A^*)-m_\varphi^* rete attenuatrice (Reti attenuatrici e reti a sellaLa rete attenuatrice $C_{att}=\frac{1+s/z}{1+s/p}$ con $0<p<z$ ha $K_B=1$ e abbassa il modulo di $20\log\frac zp$ dB oltre $z$ senza cambiare il guadagno in continua (a costo di un po' di fase persa, circa $\frac z{\omega_A^}$ rad). Caso ③: polo a $\frac M{20}$ decadi prima dello zero, zero $\ge1$ decade prima di $\omega_A^$. La rete a sella $C_{sella}=C_{att}C_{ant}$ ($p_1<z_1\le z_2<p_2$) abbassa il modulo e alza la fase: si progetta prima la parte anticipatrice (fase, con un guadagno extra $\Delta$), poi quella attenuatrice sufficientemente a sinistra per togliere $M+\Delta$ dB senza toccare la fase (caso ④).Reti attenuatrici e reti a sella →)
④ ωA>ωA∗\omega_A>\omega_A^* e mφ(ωA∗)<mφ∗m_\varphi(\omega_A^*)<m_\varphi^* abbassare il modulo di MM e alzare la fase di Φ\Phi rete a sella (anticipatrice + attenuatrice)

Perché non basta un guadagno per abbassare: un guadagno KB(C′′)<1K_B(C'')<1 ridurrebbe il guadagno di Bode di C′GC'G e violerebbe la specifica 1 (l'errore aumenterebbe). Perciò si abbassa il modulo solo ad alta frequenza con reti che non cambiano il guadagno in continua (KB(C′′)=1K_B(C'')=1).

Condizioni sui controllori C′′C'':

  • KB(C′′)>0K_B(C'')>0 e in particolare, per le reti (anticipatrici, attenuatrici, sella), KB(C′′)=1K_B(C'')=1 (non cambia tipo né errore a regime);
  • C′′C'' propria: per ogni zero introdotto si aggiunge almeno un polo stabile a pulsazione molto maggiore di ωA∗\omega_A^* (almeno una decade, meglio due), in modo che la fase in ωA∗\omega_A^* non cambi;
  • tutti zeri e poli di C′′C'' stabili (cancellazioni instabili proibite).

La stabilità è garantita dal criterio di Bode

Al termine, G~=C′C′′G\tilde G=C'C''G ha: KB(G~)>0K_B(\tilde G)>0; tutti i poli in Re≤0\mathrm{Re}\le0 (al più i poli nell'origine di C′C' e GG); è strettamente propria (basta aggiungere poli lontani). Se ωA\omega_A è ben definita e mφ≥mφ∗>0m_\varphi\ge m_\varphi^*>0, per il criterio di Bode (Pulsazione di attraversamento, margine di fase e criterio di BodeLa pulsazione di attraversamento $\omega_A$ è la $\omega>0$ in cui $|G(j\omega)|=1$ (0 dB); il margine di fase è $m_\varphi=180^\circ+\arg G(j\omega_A)$: quanta fase si può ancora perdere prima di arrivare a $-180^\circ$. Criterio di Bode: se $G$ è strettamente propria, ha guadagno di Bode $K_B>0$, nessun polo con $\mathrm{Re}>0$ e $\omega_A$ è ben definita (esiste ed è unica), allora $W=\frac G{1+G}$ è BIBO stabile $\iff m_\varphi>0$. Più $m_\varphi$ è grande, più il sistema è lontano dall'instabilità e meno oscilla.Pulsazione di attraversamento, margine di fase e criterio di Bode →) il sistema retroazionato WW è BIBO stabile. L'unicità di ωA\omega_A va controllata sul diagramma finale.

Verifica finale

Alla fine del progetto, sempre, si calcola (con i diagrammi di Bode o numericamente) la ωA\omega_A e il mφm_\varphi del sistema complessivo C′C′′GC'C''G e si controlla che soddisfino le specifiche. Il progetto è fatto con approssimazioni asintotiche (±3\pm3 dB, qualche grado), per questo le specifiche sono "≃\simeq" e "≥\ge".

Regole pratiche per il progetto con diagrammi asintotici

  • Uno zero stabile in zz aggiunge a ω\omega modulo 1+(ω/z)2\sqrt{1+(\omega/z)^2} e fase arctan⁡ωz\arctan\frac\omega z: con z=ωA∗10z=\frac{\omega_A^*}{10} danno 2020 dB e 84,3∘84{,}3^\circ; con z=ωA∗100z=\frac{\omega_A^*}{100} danno 4040 dB e 89,4∘89{,}4^\circ. Quindi MM dB si ottengono mettendo lo zero M20\frac M{20} decadi prima di ωA∗\omega_A^*, e la fase aggiunta è praticamente 90∘90^\circ se M≳20M\gtrsim20 dB.
  • Un polo stabile in pp è l'inverso: toglie modulo e fase. Va messo molto dopo ωA∗\omega_A^* per rendere propria la rete senza abbassare la fase (p=10ωA∗p=10\omega_A^* costa 5,7∘5{,}7^\circ, p=100ωA∗p=100\omega_A^* costa 0,6∘0{,}6^\circ).
  • Un controllore proprio si ottiene solo con tanti poli quanti zeri, quindi la rete anticipatrice ha 1 zero e 1 polo.

Esempio 3 (caso ②, riga completa). C′G=10(1+s)(1+s10)C'G=\dfrac{10}{(1+s)(1+\frac s{10})}, specifiche ωA∗=100\omega_A^*=100 rad/s, mφ∗=90∘m_\varphi^*=90^\circ. In ω=100\omega=100: ∣C′G∣=−40,04|C'G|=-40{,}04 dB, fase −arctan⁡100−arctan⁡10=−173,7∘-\arctan100-\arctan10=-173{,}7^\circ, quindi mφ(ωA∗)=6,3∘m_\varphi(\omega_A^*)=6{,}3^\circ: ωA<ωA∗\omega_A<\omega_A^* e mφ(ωA∗)<mφ∗m_\varphi(\omega_A^*)<m_\varphi^*: caso ② con M=40M=40 dB e Φ=83,7∘≤90∘\Phi=83{,}7^\circ\le90^\circ (un solo zero). Lo zero va 4020=2\frac{40}{20}=2 decadi prima di ωA∗\omega_A^*, cioè in 11, e il polo due decadi dopo, in 10410^4: C′′(s)=1+s1+s104.C''(s)=\frac{1+s}{1+\frac s{10^4}}. Verifica: C′C′′G=10(1+s10)(1+s104)C'C''G=\dfrac{10}{(1+\frac s{10})(1+\frac s{10^4})} ha ωA=99,5\omega_A=99{,}5 rad/s e fase −84,8∘-84{,}8^\circ, cioè mφ=95,2∘≥90∘m_\varphi=95{,}2^\circ\ge90^\circ ✓. Il sistema retroazionato è BIBO stabile per il criterio di Bode (KB=10>0K_B=10>0, poli stabili, strettamente propria, ωA\omega_A unica).

Errori comuni

  • Dimenticare di scegliere il segno di KB(C′)K_B(C') (deve rendere positivo KB(C′G)K_B(C'G)) o di mettere il valore assoluto.
  • Confondere la formula per il tipo 00 (1e∗−1\frac1{e^*}-1) con quella per i tipi k≥1k\ge1 (1e∗\frac1{e^*}).
  • Alzare il guadagno dopo il passo 1 con un controllore che cambia KBK_B: l'unico modo di abbassare il modulo senza violare l'errore sono le reti attenuatrici.
  • Non rendere CC propria: ogni zero richiede un polo successivo.
  • Dimenticare la verifica finale: l'approssimazione asintotica può far mancare il margine di qualche grado.

Versione ripasso

Esercizi su questo argomento

Teoria collegata