Controlli automatici/Regolatori PID

Da WikiAppunti.
Jump to navigation Jump to search
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è 21. Regolatori PID.
/Regolatori PID}}  [[{{#ifcategory:Traduzioni||Controlli automatici|/Regolatori PID}}/Funzione di sensibilità{{#ifcategory:Traduzioni|/Regolatori PID||/Regolatori PID}}|19. Funzione di sensibilità]]/Regolatori PID}}#Controlli automatici  [[{{#ifcategory:Traduzioni|/Regolatori PID|Controlli automatici|/Regolatori PID}}#Controlli automatici|{{#ifcategory:Traduzioni||Controlli automatici|/Regolatori PID}} (Controlli automatici)]][[{{#ifcategory:Traduzioni||Controlli automatici|/Regolatori PID}}/Realizzazione dei controllori analogici{{#ifcategory:Traduzioni|/Regolatori PID||/Regolatori PID}}|22. Realizzazione dei controllori analogici]]  /Regolatori PID}}

Un regolatore ad azione proporzionale, integrale, derivativa (PID) permette di stabilizzare un sistema anche se non è completamente noto il modello matematico dinamico che lo rappresenta.

Modello dei regolatori PID[modifica | modifica sorgente]

10 La legge di controllo ideale nel dominio del tempo di un regolatore PID:

<math>\begin{cases} u(t) = K_P e(t) + K_I \int_{t_0}^t e \left( \tau \right) d \tau + K_D \frac{d e(t)}{dt} \\ u(s) = \underbrace{K_P e(s)}_{u_P(s)} + \underbrace{K_I \frac{e(s)}{s}}_{u_I(s)} + \underbrace{K_D s e(s)}_{u_D(s)} \end{cases}</math>

combina tre tipi di azioni:

  • 7 azione proporzionale: la legge di controllo ha un termine <math>u_P (s)</math> proporzionale all'errore di inseguimento;
  • 8 azione integrale: la legge di controllo ha un termine <math>u_I(s)</math> proporzionale all'integrale (valor medio nel tempo) dell'errore di inseguimento, che garantisce un errore di inseguimento in regime permanente nullo rispetto a ingressi di riferimento costanti;
  • 9 azione derivativa: la legge di controllo ha un termine <math>u_D(s)</math> proporzionale alla derivata dell'errore di inseguimento, che recupera la fase persa dal termine integrale.

Se il guadagno del processo da controllare è positivo, i guadagni <math>K_P</math>, <math>K_I</math> e <math>K_D</math> del regolatore sono positivi o nulli.

11 La funzione di trasferimento ideale <math>R_{\text{PID}} (s)</math> di un regolatore PID è data da:

<math>R_{\text{PID}} (s) = K_P + \frac{K_I}{s} + K_D s = \underbrace{K_P}_{R_P} + \underbrace{\frac{K_P}{T_I s}}_{R_I(s)} + \underbrace{K_P T_D s}_{R_D(s)}</math>

dove:

  • <math>T_I</math> è detto tempo integrale:
    <math>T_I = \frac{K_P}{K_I}</math>
  • <math>T_D</math> è detto tempo derivativo:
    <math>T_D = \frac{K_D}{K_P}</math>

Realizzazione pratica dei regolatori PID[modifica | modifica sorgente]

12-13-14 La funzione di trasferimento ideale <math>R_{\text{PID}} (s)</math> è impropria per <math>T_I \neq 4 T_D</math> → affinché il regolatore sia fisicamente realizzabile, si inserisce nel blocco derivativo un polo di chiusura <math>p_c</math>, cioè un polo che causa una perdita di fase a partire da una pulsazione molto superiore alla pulsazione di taglio <math>\omega_c</math> evitando di ridurre il margine di fase:

<math>R_{\text{PID}}^r (s) = K_P \left( 1 + \frac{1}{T_I s} + \frac{T_D s}{1+ \frac{T_D}{N} s} \right) , \quad p_c = - \frac{N}{T_D} \gg \omega_c</math>

Il parametro <math>N</math> non dev'essere troppo grande per non causare un eccessivo aumento dell'attività sul comando:

<math>u \left( 0 \right) \propto K_P \left( 1+N \right)</math>

Sottocasi[modifica | modifica sorgente]

  • 25 regolatore P: usato per sistemi semplici e stabili in catena aperta anche in assenza del polo nell'origine (azione integrale):
    <math>R_P = K_P , \quad K_I = K_D = 0</math>
  • 26 regolatore PI: usato per sistemi che richiedono nello stesso tempo un polo nell'origine (azione integrale) e un buon anticipo di fase (zero):
    <math>R_{PI} (s) = K_P \left( \frac{1+T_I s}{T_i s} \right) , \quad K_D = 0</math>
  • 27 regolatore PD: corrisponde a una rete anticipatrice con polo pari al polo di chiusura (molto grande):
    <math>R_{PD} (s) = K_P \left( 1+ \frac{T_D s}{1+ \frac{T_D s}{N}} \right) , \quad K_I = 0</math>

Accorgimenti realizzativi[modifica | modifica sorgente]

18 In presenza del regolatore PID <math>R_{\text{PID}}^r (s)</math>, la funzione di trasferimento del sistema in catena chiusa <math>W_y(s)</math> presenta come zeri quelli del regolatore PID <math>R_{\text{PID}}^r (s)</math> e quelli del sistema da controllare <math>F(s)</math>:

PID regulator for non-step inputs.png

Inoltre, in caso di un ingresso <math>y_{\text{des}}(t)</math> a gradino l'uscita del blocco derivativo <math>R_D(s)</math>, e di conseguenza il comando <math>u(t)</math>, si comporta nell'istante iniziale come un impulso che può facilmente mandare in saturazione l'attuatore, cioè il comando <math>u(t)</math> raggiunge il suo valore massimo. Spostando i blocchi derivativo <math>R_D(s)</math> e proporzionale <math>R_P(s)</math>, si dimostra tramite l'algebra dei blocchi che nella funzione <math>W_y (s)</math> rimangono i soli zeri del sistema da controllare <math>F(s)</math>:

Enhanced PID regulator.png

Ciò permette di limitare l'azione derivativa in caso di ingresso a gradino, e di ridurre la sovraelongazione nel transitorio.

23-24 Se il comando raggiunge il valore di saturazione, è necessario attendere la "scarica" del blocco integrale affinché l'attuatore ritorni ad operare in condizioni di linearità. Questo fenomeno, detto di wind-up, è risolvibile con l'inserimento di una caratteristica non lineare nella parte PI del regolatore (schema di desaturazione).

Metodi di taratura[modifica | modifica sorgente]

29 I parametri <math>K_P</math>, <math>T_I</math> e <math>T_D</math> del regolatore si determinano in via sperimentale tramite i metodi di taratura:

  • in anello chiuso: le prove sperimentali sono effettuate retroazionando il sistema con un regolatore P;
  • in anello aperto: le prove sperimentali sono effettuate direttamente sul sistema senza alcun tipo di controllo.
34-45-47-51 Determinazione dei parametri del regolatore tramite i metodi di taratura
Anello chiuso Anello aperto
Ziegler e Nichols Ziegler e Nichols Cohen e Coon IMC
Regolatore
P
<math>K_P</math> <math>0,5 {\bar K}_P</math> <math>\frac{\tau_G}{K_G \theta_G}</math> <math>\frac{3 \tau_G + \theta_G}{3 K_G \theta_G}</math>
Regolatore
PI
<math>K_P</math> <math>0,45 {\bar K}_P</math> <math>\frac{0,9 \tau_G}{K_G \theta_G}</math> <math>\frac{10,8 \tau_G + \theta_G}{12 K_G \theta_G}</math> <math>\frac{\tau_G}{K_G \left( \theta_G + T_g \right)}</math>
<math>T_I</math> <math>0,8 \bar T</math> <math>3 \theta_G</math> <math>\theta_G \cdot \frac{30 \tau_G + 3 \theta_G}{9 \tau_G + 20 \theta_G}</math> <math>\tau_G</math>
Regolatore
PID
<math>K_P</math> <math>0,6 {\bar K}_P</math> <math>\frac{1,2 \tau_G}{K_G \theta_G}</math> <math>\frac{16 \tau_G + 3 \theta_G}{12 K_G \theta_G}</math> <math>\frac{\tau_G + 0,5 \theta_G}{K_G \left( 0,5 \theta_G + T_g \right)}</math>
<math>T_I</math> <math>0,5 \bar T</math> <math>2 \theta_G</math> <math>\theta_G \cdot \frac{32 \tau_G + 6 \theta_G}{13 \tau_G + 8 \theta_G}</math> <math>\tau_G + 0,5 \theta_G</math>
<math>T_D</math> <math>0,125 \bar T = \frac{1}{4} T_I</math> <math>0,5 \theta_G = \frac{1}{4} T_I</math> <math>\frac{4 \tau_G \theta_G}{11 \tau_G + 2 \theta_G}</math> <math>\frac{0,5 \theta_G \tau_G}{0,5 \theta_G + \tau_G}</math>

74 I metodi di taratura più classici di Ziegler e Nichols danno in genere risultati poco soddisfacenti dal punto di vista delle prestazioni, anche se la stabilità è solitamente ottenuta. I metodi di taratura più avanzati, sia in anello aperto sia in anello chiuso, sono preferibili ogni volta in cui sia necessario garantire migliori indici di robustezza e/o un migliore comportamento del sistema durante il transitorio.

Metodo di Ziegler e Nichols in anello chiuso[modifica | modifica sorgente]

31 Il sistema viene chiuso in retroazione negativa unitaria con l'inserimento di un compensatore statico puramente proporzionale. Applicato un segnale di riferimento a gradino, il guadagno del compensatore aumenta fino a quando raggiunge il valore <math>{\bar K}_P</math> e l'uscita presenta permanentemente delle oscillazioni di periodo costante <math>\bar T</math>.

34 Una volta determinati <math>{\bar K}_P</math> e <math>\bar T</math>, si calcolano i parametri <math>K_P</math>, <math>T_I</math> e <math>T_D</math> del regolatore.

32 Quando viene raggiunto il valore <math>{\bar K}_P</math>, il sistema si trova ai limiti della stabilità, ovvero un ulteriore aumento del guadagno lo renderebbe instabile[1] → <math>{\bar K}_P</math> coincide con il margine di guadagno <math>m_G</math> del sistema →

  • 33 le oscillazioni di periodo <math>\bar T</math> hanno pulsazione <math>\omega_\pi</math>:
    <math>{\bar K}_P = m_G \Rightarrow \bar T = \tfrac{2 \pi}{\omega_\pi}</math>
  • il metodo è applicabile soltanto a sistemi aventi margine di guadagno finito.

Imposizione del margine di fase[modifica | modifica sorgente]

36 Il metodo di Ziegler-Nichols in anello chiuso porta spesso ad un margine di fase inferiore a 40° → la risposta al gradino del sistema controllato presenza oscillazioni poco smorzate.

37-38 È possibile imporre un margine di fase desiderato <math>m_\varphi</math> imponendo le seguenti condizioni sulla funzione d'anello <math>G_a(s)</math> (non nota) risultante dall'inserimento del regolatore PID:[2]

<math>\begin{cases} \angle G_a \left( j \omega_\pi \right) = \left( 1 - \frac{m_\varphi}{180} \right) \left( - \pi \right) \\ \left| G_a \left( j \omega_\pi \right) \right| = 1 \end{cases} \Rightarrow \begin{cases} K_P = {\bar K}_P \cos{m_\varphi} \\ T_I = \frac{\bar T}{\pi} \cdot \frac{1+ \sin{m_\varphi}}{\cos{m_\varphi}} \\ T_D = \frac{1}{4} T_I = \frac{\bar T}{4 \pi} \cdot \frac{1+ \sin{m_\varphi}}{\cos{m_\varphi}} \end{cases}</math>

Metodi di taratura in anello aperto[modifica | modifica sorgente]

40 I metodi di taratura in anello aperto permettono di determinare un modello approssimato al I ordine del processo da controllare <math>F(s)</math>:

<math>G(s) = \frac{K_G}{1+ \tau_G s} e^{- \theta_G s}</math>

dove:

  • <math>K_G</math> è il guadagno della funzione <math>G(s)</math>;
  • <math>\tau_G</math> è la costante di tempo del polo dominante;
  • <math>\theta_G</math> è il ritardo temporale della risposta al gradino.

41 Questi metodi sono applicabili a sistemi:

  • ben approssimabili a una funzione di trasferimento di tale forma;
  • asintoticamente stabili in catena aperta;
  • con risposta al gradino monotona.

42-43 Applicato un segnale di riferimento a gradino di ampiezza <math>\bar u</math>, si determinano <math>K_G</math>, <math>\tau_G</math> e <math>\theta_G</math> tramite il metodo della tangente:

Tangent method for open-loop calibration methods.png

Metodo di Ziegler e Nichols in anello aperto[modifica | modifica sorgente]

46 Anche il metodo di Ziegler e Nichols in anello aperto porta spesso ad un margine di fase basso → la risposta al gradino del sistema controllato presenza oscillazioni poco smorzate.

Metodo di Cohen e Coon[modifica | modifica sorgente]

47 Il metodo di Cohen e Coon impone una condizione sulle oscillazioni durante il transitorio della risposta al gradino: impone che ogni picco sia smorzato del 25% rispetto al picco precedente.

Metodo di controllo a modello interno[modifica | modifica sorgente]

48-49 Il metodo di controllo a modello interno (IMC) cerca di ricavare il regolatore confrontando il sistema da controllare <math>F(s)</math> con il suo modello approssimato <math>G(s)</math>:

IMC model.png
<math>R(s) = \frac{Q(s) R_G(s)}{1- Q(s) R_G (s) G(s)}</math>

dove:

  • <math>d_c</math> è la differenza tra il sistema da controllare <math>F(s)</math> e il suo modello approssimato <math>G(s)</math>;
  • <math>Q(s)</math> è l'inverso della parte a fase minima di <math>G(s)</math>;
  • <math>R_G(s)</math> è un filtro del I ordine:
    <math>R_G(s) = \frac{1}{1+ T_g s}</math>

50 Il blocco <math>G(s)</math> non è una funzione razionale a causa del termine di ritardo →

  • si ottiene un regolatore di tipo PI approssimando il termine di ritardo di <math>G(s)</math> nel seguente modo:
    <math>e^{-s \theta_G} \approx 1- s \theta_G</math>
  • si ottiene un regolatore di tipo PID approssimando il termine di ritardo di <math>G(s)</math> nel seguente modo:
    <math>e^{-s \theta_G} \approx \frac{1- s \frac{\theta_G}{2}}{1+ s \frac{\theta_G}{2}}</math>

All'aumentare del parametro <math>T_g >0</math> del filtro del I ordine <math>R_G(s)</math>, la banda passante <math>\omega_B</math> diminuisce e i margini di guadagno <math>m_G</math> e di fase <math>m_\varphi</math> aumentano.

Note[modifica | modifica sorgente]

  1. 35 Dato il rischio di giungere facilmente all'instabilità, al posto del controllore statico può essere impiegato un relè senza isteresi.
  2. Si suppongono zeri idealmente coincidenti:
    <math>T_I = 4 T_D</math>
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è 21. Regolatori PID.
/Regolatori PID}}  [[{{#ifcategory:Traduzioni||Controlli automatici|/Regolatori PID}}/Funzione di sensibilità{{#ifcategory:Traduzioni|/Regolatori PID||/Regolatori PID}}|19. Funzione di sensibilità]]/Regolatori PID}}#Controlli automatici  [[{{#ifcategory:Traduzioni|/Regolatori PID|Controlli automatici|/Regolatori PID}}#Controlli automatici|{{#ifcategory:Traduzioni||Controlli automatici|/Regolatori PID}} (Controlli automatici)]][[{{#ifcategory:Traduzioni||Controlli automatici|/Regolatori PID}}/Realizzazione dei controllori analogici{{#ifcategory:Traduzioni|/Regolatori PID||/Regolatori PID}}|22. Realizzazione dei controllori analogici]]  /Regolatori PID}}