Regolatori PID...Siemens PID pneumatico REX-C100 PID digitale (analogico) Automazione 3 Sistema di...

48
Automazione Alessandro De Luca Regolatori PID – strutture implementazione digitale sintonizzazione

Transcript of Regolatori PID...Siemens PID pneumatico REX-C100 PID digitale (analogico) Automazione 3 Sistema di...

Automazione

Alessandro De Luca

Regolatori PID –strutture

implementazione digitalesintonizzazione

Automazione 2

Dispositivi 𝑷𝑰𝑫 analogici e digitali

REX-C100 PID digitaleSiemens PID pneumatico(analogico)

Automazione 3

Sistema di controllo digitale

schema generale MIMO di controllo in feedback

(analogico = tempo continuo)

schema di controllo digitale- qui, caso scalare (SISO)- con passo di campionamento 𝑇%- con convertitori A/D e D/A- segnali a tempo continuo e discreto- utilizza un microprocessore (con codifica binaria) ⇒ digitale

Automazione 4

Campionamento e ricostruzione

conversione digitale-analogica (D/A):segnale ricostruito

da un organo di tenuta(qui, di ordine zero = ZOH)

ZOH = Zero-Order Hold

conversione analogico-digitale (A/D):segnale campionato ogni 𝑇%

e quantizzato in livelli(per troncamento o arrotondamento)

𝑥( = 𝑥 𝑘𝑇% [= 𝑥, 𝑘𝑇% ]

𝑡 ∈ [𝑘𝑇%, 𝑘 + 1 𝑇%)𝑥3 𝑡 = 𝑥 𝑘𝑇% ,

Automazione 5

Campionamento a impulsi

• campionamento = segnale a tempo continuo × treno di impulsi di Dirac

il tempo di campionamentoè un fattore di scala!

𝑥∗ 𝑡 = 𝑥 𝑡 𝛿67(𝑡) 𝛿67 𝑡 = 9(:;

<

𝛿(𝑡 − 𝑘𝑇%)

• dallo spettro X(jw) del segnale x(t) e dallo sviluppo in serie di Fourier del treno di impulsi di Dirac l’andamento spettrale del segnale campionato 𝑥∗ 𝑡 è

pulsazione di campionamento

𝑋∗ 𝑗𝜔 =1𝑇%

9A:B<

<

𝑋(𝑗𝜔 − 𝑗𝑛𝜔%) 𝜔% = 2𝜋/𝑇%

Automazione 6

Teorema di Shannon e aliasingspettro di un segnale limitato in banda a 𝜔G

spettro del relativosegnale campionato componente

primariacomponenti complementari

campionamentoa pulsazione𝜔% ≥ 2𝜔G

ricostruzione del segnale (idealmente) perfetta...Teorema di Shannon

comportamentoapprossimato dallo ZOH (per 𝑇% piccoloa sufficienza)

campionamentoa pulsazione𝜔% < 2𝜔G

...ricostruzione del segnale (sempre) corrottaTeorema di Shannon

fenomeno dialiasing

conclusione: i segnali hanno sempre componenti a frequenza sufficientemente alta (rumore) ⇒ filtraggio anti-aliasing

anche se usassimo un filtro ricostruttoreideale...

filtro ricostruttore ideale (non realizzabile)

𝐺K 𝑗𝜔 = L𝑇% 𝜔 ≤ 𝜔%/20 else

Automazione 7

Ricostruzione: Zero-Order Hold

risposta dello ZOHad un impulso unitarioin ingresso

• lo ZOH approssima il ricostruttore (recuperando la scala!) per 𝑇% sufficientemente piccolo

• lo ZOH introduce nell’anello di controllo un ritardo pari a 𝑇%/2, con problemi indotti di instabilità

Scelta del passo di campionamento• 𝑇% sufficientemente piccolo ⇒ evita perdita di informazione e instabilità• 𝑇% non troppo piccolo ⇒ cresce il costo computazionale (vincoli real time)

parametro di progetto𝛼𝜔G ≤ 𝜔S ≤ 10𝛼𝜔G

𝜋5𝛼𝜔G

≤ 𝑇% ≤2𝜋𝛼𝜔G

𝛼 ∈ 5 ÷ 10

(differenza di due gradini unitari, con il secondo ritardato)

ℎ; 𝑡 = 𝛿BW 𝑡 − 𝛿BW(𝑡 − 𝑇%) ⇒ (nel dominio dellafrequenza) 𝐻; 𝑗𝜔 =

1𝑗𝜔 −

1𝑗𝜔 𝑒

BZ[67 =1 − 𝑒BZ[67

𝑗𝜔

⇒𝐻; 𝑗𝜔 =1𝑗𝜔 −

1𝑗𝜔 𝑒

BZ[67 =𝑒Z[67\ − 𝑒B

Z[67\

𝑗𝜔 𝑒BZ[67\ = 𝑇%

sin 𝜔𝑇%/2𝜔𝑇%/2

𝑒BZ[67\ ⇒ 𝐻; 𝑗𝜔 = 𝑇%

sin 𝜔𝑇%/2𝜔𝑇%/2

≈ 𝑇% per 𝜔𝑇% ≪ 1

Automazione 8

Specifiche nel progetto di controllo

• stabilità asintotica !• prestazioni statiche

(errori a regime permanente)• prestazioni dinamiche

(sul transitorio)• spesso sulla risposta a gradino

(risposta indiciale), con legami da/per la risposta armonica

• specifiche riferimento-uscita• specifiche disturbo-uscita• sforzo di controllo• limiti fisici (attuatori)• realizzazione digitale

(passo di campionamento e altro)

Automazione 9

Specifiche sulla risposta indiciale

• tempo di salita 𝑇a(da 10% al 90% del regime)

• tempo di assestamento 𝑇b(errore inferiore al 3-5%)

• massima sovraelongazione 𝑆

• istante di massima sovraelongazione 𝑇d

𝑆 =𝑦 𝑇d − 𝑦<

𝑦<

Automazione

q Azione Proporzionale-Integrale-Derivativa (sull’errore)➨ soluzione industriale standard: oltre il 95% dei dispositivi di controllo in

uso, per lo più di tipo digitale, hanno una legge di controllo 𝑃𝐼𝐷➨ molteplici versioni e varietà di prodotti, differenti per feature aggiuntive➨ semplice taratura dei parametri (tuning), ora spesso automatica➨ facile interpretazione dei termini/effetti nella legge di controllo

10

Regolatore 𝑷𝑰𝑫

due espressioniequivalenti del 𝑃𝐼𝐷(in forma analogica)

𝑒 𝑡 = 𝑦3ij 𝑡 − 𝑦(𝑡)

𝑢(𝑡) = 𝐾m 𝑒 𝑡 +1𝑇in;

o

𝑒 𝜏 𝑑𝜏 + 𝑇r𝑑𝑒(𝑡)𝑑𝑡

𝑢(𝑡) = 𝐾m𝑒 𝑡 + 𝐾i n;

o

𝑒 𝜏 𝑑𝜏 + 𝐾r𝑑𝑒(𝑡)𝑑𝑡

𝑇i =𝐾m𝐾i

𝑇r =𝐾r𝐾m

tempo diintegrazione

tempo diderivazione

Automazione 11

Banda proporzionale

azione proporzionale

espressa in %

regolatore pneumatico

Siemens𝐾m =

𝑢(𝑡)𝑒(𝑡) =

Δ𝑢(𝑡)Δ𝑒(𝑡)

𝐾m𝐾At3d

=100𝐵m

⇔𝑠𝑜𝑙𝑜 𝑠𝑒

senzaoffset(𝑚𝑖𝑛𝑖𝑚𝑖 = 0!)

0.2 V 5 V𝑒

𝑢

1 bar

10 bar

𝐵m = 50%

0.2 V 5 V𝑒

𝑢

1 bar

10 bar

𝐵m = 25%

𝐾m =Δ𝑢(𝑡)/𝑢3bA��Δ𝑒(𝑡)/𝑒3bA��

� 𝐾At3d

⇔𝐾At3d =

𝑢3bA��𝑒3bA��

=94.8 = 1.875

barV

q Guadagno e Banda proporzionale➨ nella pratica industriale, si usa spesso il termine banda proporzionale 𝐵m al posto del

termine guadagno proporzionale 𝐾m➨ 𝐵m è la minima variazione dell’ingresso 𝑒 (espressa in percentuale) che porta l’uscita 𝑢

del regolatore dal valore minimo al valore di fondo scala (𝑟𝑎𝑛𝑔𝑒 = 𝑓𝑜𝑛𝑑𝑜 𝑠𝑐𝑎𝑙𝑎 – 𝑚𝑖𝑛𝑖𝑚𝑜)

normalizzazione del guadagno 𝐾m(rispetto al range del dispositivo)

2.4 V 1.2 V

Automazione

q Funzione di trasferimento di un 𝑃𝐼𝐷 (ideale)➨ trascuriamo per il momento la non realizzabilità dovuta alla presenza di

un derivatore (azione 𝐷) ideale➨ trasformando nel dominio di Laplace si ottiene

➨ con un polo in 𝑠 = 0 e due zeri a parte reale negativa, reali se e solo se 𝑇i ≥ 4 𝑇r (in particolare, coincidenti in −1/2𝑇r se 𝑇i = 4𝑇r −scelta spesso utile per semplificare il tuning…)

➨ in un progetto di controllo ‘analitico’, gli zeri possono essere scelti per cancellare poli stabili del processo (magari troppo lenti)

12

Regolatore 𝑷𝑰𝑫 ideale

𝑢(𝑡) = 𝐾m 𝑒 𝑡 +1𝑇in;

o

𝑒 𝜏 𝑑𝜏 + 𝑇r𝑑𝑒(𝑡)𝑑𝑡

𝑃𝐼𝐷𝑖𝑑𝑒𝑎𝑙𝑒 𝑠 =𝑢(𝑠)𝑒(𝑠)

= 𝐾m 1 +1𝑇i𝑠

+ 𝑇r𝑠 =𝐾m𝑇i

𝑇i𝑇r𝑠\ + 𝑇i𝑠 + 1𝑠

⇒ ℒ … ⇒

Automazione

q Funzione di trasferimento di un 𝑃𝐼𝐷 (reale)➨ si aggiunge un polo in alta frequenza sull’azione derivatrice (derivata

in banda fino alla pulsazione di taglio del polo aggiunto)➨ nel dominio di Laplace si ha

➨ con l’aggiunta di un secondo polo in 𝑠 = −𝑁/𝑇r (con 𝑁 intero grande) due zeri a parte reale negativa, certamente reali quando 𝑇i ≥ 4𝑇r!

➨ l’aggiunta di un polo in alta frequenza, per ottenere un’azione derivativa approssimata ma realizzabile, cambia di poco la posizione degli zeri rispetto al caso ideale

13

Regolatore 𝑷𝑰𝑫 reale

𝑃𝐼𝐷 𝑠 =𝑢(𝑠)𝑒(𝑠) = 𝐾m 1 +

1𝑇i𝑠

+𝑇r𝑠

1 + 𝑇r𝑁 𝑠=𝐾m𝑇i

𝑇i𝑇r 1 + 1𝑁 𝑠\ + 𝑇i +

𝑇r𝑁 𝑠 + 1

𝑠 1 + 𝑇r𝑁 𝑠

𝑧W,\ =− 𝑇r + 𝑁𝑇i ± 𝑁𝑇i + 𝑇r \ − 4𝑁(𝑁 + 1)𝑇r𝑇i

2𝑇r𝑇i 𝑁 + 1𝑁 → ∞ ≈ −

12𝑇r

±𝑇i\ − 4𝑇r𝑇i

2𝑇r𝑇i

Automazione

Diagrammi di Bode di un 𝑃𝐼𝐷 ideale vs reale

14

Confronto in risposta armonica

𝑃𝐼𝐷 𝑠 =𝐾m𝑇i

𝑇i𝑇r 1 + 1𝑁 𝑠\ + 𝑇i +

𝑇r𝑁 𝑠 + 1

𝑠 1 + 𝑇r𝑁 𝑠𝑃𝐼𝐷𝑖𝑑𝑒𝑎𝑙𝑒 𝑠 =

𝐾m𝑇i

𝑇i𝑇r𝑠\ + 𝑇i𝑠 + 1𝑠

10

15

20

25

30

35

40

45

Mag

nitu

de (d

B)10-2 10-1 100 101 102 103

-90

-45

0

45

Phas

e (d

eg)

PID reale con Kp= 5, Ti= 5, Td= 0.5, N= 5

Frequency (rad/s)

10

20

30

40

50

Mag

nitu

de (d

B)

10-2 10-1 100 101 102-90

-45

0

45

90

Phas

e (d

eg)

PID ideale con Kp= 5, Ti= 5, Td= 0.5

Frequency (rad/s)

Automazione 15

Regolatore 𝑷𝑰𝑫 digitalediscretizzazione con passo 𝑇% delle azioni del 𝑃𝐼𝐷 sull’errore 𝑒 𝑡 = 𝑦3ij 𝑡 − 𝑦(𝑡)

𝐾m𝑒 𝑡 ⇒ 𝐾m𝑒 𝑘𝑇% = 𝐾m 𝑒(

integrazione rettangolare in avanti(detta anche di Eulero a sinistra)𝐾m

1𝑇in;

o𝑒 𝜏 𝑑𝜏 ⇒

𝐾m𝑇i𝑇%9

Z:;

(

𝑒Z

derivazione all’indietro (backward)𝐾m𝑇r𝑑𝑒(𝑡)𝑑𝑡 ⇒ 𝐾m𝑇r

𝑒( − 𝑒(BW𝑇%

forma di posizione del 𝑃𝐼𝐷 digitale𝑢( = 𝐾m𝑒( +𝐾m𝑇%𝑇i

9Z:;

(

𝑒Z +𝐾m𝑇r𝑇%

𝑒( − 𝑒(BW

implementazione ricorsiva della forma di posizione del 𝑃𝐼𝐷 digitale

𝑢i,( = 𝑢i,(BW +𝐾m𝑇%𝑇i

𝑒(

𝑢( = 𝐾m𝑒( + 𝑢i,( +𝐾m𝑇r𝑇%

𝑒( − 𝑒(BW

Automazione 16

Regolatore 𝑷𝑰𝑫 digitale

forma di velocità del 𝑃𝐼𝐷 digitale

facendo la differenza di duecampioni di controllo successivi...

introducendo l’operatore di ritardo 𝑧BW = 1/𝑧 (di un passo 𝑇%) ...

espressionein 𝑧BW utile per la realizzazione

𝑢(BW = 𝐾m𝑒(BW +𝐾m𝑇%𝑇i

9Z:;

(BW

𝑒Z +𝐾m𝑇r𝑇%

𝑒(BW − 𝑒(B\

𝑢( = 𝐾m𝑒( +𝐾m𝑇%𝑇i

9Z:;

(

𝑒Z +𝐾m𝑇r𝑇%

𝑒( − 𝑒(BW

Δ𝑢( = 𝑢( − 𝑢(BW= 𝐾m 𝑒( − 𝑒(BW +

𝐾m𝑇%𝑇i

𝑒( +𝐾m𝑇r𝑇%

𝑒( − 2𝑒(BW + 𝑒(B\

𝑢( = 𝑢(BW + Δ𝑢(𝑦(BW = 𝑧BW 𝑦(

= 1 − 𝑧BW \1 − 𝑧BW 𝑢( = 𝐾m 1 − 𝑧BW 𝑒( +𝐾m𝑇%𝑇i

𝑒( +𝐾m𝑇r𝑇%

1 − 2𝑧BW + 𝑧B\ 𝑒(

𝑢( = 𝐾m +𝐾m𝑇i

𝑇%1 − 𝑧BW +

𝐾m𝑇%𝑇r 1 − 𝑧BW 𝑒( = 𝑃𝐼𝐷(𝑧)𝑒(

Automazione 17

Schema 𝑷𝑰𝑫 digitale

controllore 𝑃𝐼𝐷 digitale

𝑒( 𝑢(𝑢i,(

Automazione 18

Derivata filtrata in banda...

come già visto, il termine derivativo puro del 𝑃𝐼𝐷 non è realizzabile…

realizzazione solocon blocchi “causali”

nel passaggio dal tempo continuo al tempo discreto, si può interpretare come una media su 𝑁 campioni (con 5 ≤ 𝑁 ≤ 20)

+ −

𝐾m𝑁𝑒 𝑢r1

1 + 𝑇r𝑁 𝑠

…infatti la sua funzione di trasferimento èimpropria (non causale)

𝑢 𝑠 = 𝐾m 1 +1𝑇i𝑠

+ 𝑇r𝑠 =𝐾m𝑇i

𝑇i𝑇r𝑠\ + 𝑇i𝑠 + 1𝑠 𝑒(𝑠)

𝑢(𝑡) = 𝐾m 𝑒 𝑡 +1𝑇in;

o

𝑒 𝜏 𝑑𝜏 + 𝑇r𝑑𝑒(𝑡)𝑑𝑡

.. e si aggiunge un polo in alta frequenzaal termine derivativo (la derivazione delsegnale d’ingresso è filtrata in banda)

𝐾m𝑇r𝑠 ⟹ 𝐾m𝑇r𝑠

1 + (𝑇r/𝑁)𝑠

Automazione 19

...e sua realizzazione digitale

derivate realizzate con le differenze all’indietro

espressionein 𝑧BW utile per la realizzazione

𝑢r(𝑠) = 𝐾m𝑇r𝑠

1 + 𝑇r𝑁 𝑠𝑒(𝑠) 1 +

𝑇r𝑁𝑠 𝑢r 𝑠 = 𝐾m𝑇r𝑠𝑒(𝑠)⇒

𝑢r,( +𝑇r𝑁𝑢r,( − 𝑢r,(BW

𝑇%= 𝐾m𝑇r

𝑒( − 𝑒(BW𝑇%

𝑢r,( =1

1 + 𝑇r𝑁 𝑠

𝑇r𝑁𝑇%

𝑢r,(BW +𝐾m𝑇r𝑇%

𝑒( −𝐾m𝑇r𝑇%

𝑒(BW

insieme a 𝑢i,( = 𝑢i,(BW +��676�

𝑒( 𝑢( = 𝐾m𝑒( + 𝑢i,( + 𝑢r,(

⇒ usando l’operatore di ritardo 𝑧BW

1 +𝑇r𝑁𝑇%

1 − 𝑧BW 𝑢r,( =𝐾m𝑇r𝑇%

1 − 𝑧BW 𝑒(⇒

𝑢r,( =

𝐾m𝑇r𝑇%

1 − 𝑧BW

1 + 𝑇r𝑁𝑇%

− 𝑇r𝑁𝑇%

𝑧BW𝑒(⇒

𝑢( = 𝐾m +𝐾m𝑇i

𝑇%1 − 𝑧BW +

𝐾m𝑇r𝑇%

1 − 𝑧BW

1 + 𝑇r𝑁𝑇%

− 𝑇r𝑁𝑇%

𝑧BW𝑒(

= 𝑃𝐼𝐷∗(𝑧)𝑒(

Automazione 20

Schema 𝑷𝑰𝑫∗ digitale

controllore 𝑃𝐼𝐷 digitale con derivata filtrata in banda = 𝑃𝐼𝐷∗

𝑒( 𝑢(𝑢i,(

𝑢r,(

Automazione 21

𝑷𝑰𝑫 digitale: forme analitiche in 𝒛B𝟏 e 𝒛espressioni

in 𝑧BW utili per le realizzazioni

(i due 𝑃𝐼𝐷coincidono per

𝑁 → ∞)

espressionirazionali in 𝑧

che evidenzianopoli e zeri

(utili anche in una sintesi delcontrollore percancellazione)

𝑢( = 𝐾m +𝐾m𝑇i

𝑇%1 − 𝑧BW +

𝐾m𝑇r𝑇%

1 − 𝑧BW

1 + 𝑇r𝑁𝑇%

− 𝑇r𝑁𝑇%

𝑧BW𝑒( = 𝑃𝐼𝐷∗ 𝑧 𝑒(

𝑢( = 𝐾m +𝐾m𝑇i

𝑇%1 − 𝑧BW +

𝐾m𝑇%𝑇r 1 − 𝑧BW 𝑒( = 𝑃𝐼𝐷(𝑧)𝑒(

moltiplicando num/den per 𝑧 e riorganizzando

• 2 zeri nel cerchio unitario(controllore a fase minima)

• 1 polo in 𝑧 = 0• 1 polo in 𝑧 = 1⇔ azione integrale

𝑃𝐼𝐷 𝑧 = 𝐾m1 + 𝑇%𝑇i

+ 𝑇r𝑇%𝑧\ − 2𝑇r + 𝑇%𝑇%

𝑧 + 𝑇r𝑇%𝑧(𝑧 − 1)

𝑃𝐼𝐷∗ 𝑧 = 𝐾m𝑎\𝑧\ + 𝑎W𝑧 + 𝑎;

(𝑧 − 𝑇r𝑇r + 𝑁𝑇%

)(𝑧 − 1)

con 𝑎\ = 1 + 676�+ ¢6£

6£¤¢67, 𝑎W = − \¢ 6£¤67 ¤\6£¤676£/6�

6£¤¢67, 𝑎; =

6£6£¤¢67

(𝑁 + 1 − 676�)

• 2 zeri sempre interni al cerchio unitario (criterio di Jury) ⇔ 𝑎; < 𝑎\,𝑎; + 𝑎W + 𝑎\ > 0, 𝑎; − 𝑎W + 𝑎\ > 0

• 1 polo reale 'vicino’ a 𝑧 = 0 (per 𝑁 →∞)• 1 polo in 𝑧 = 1 ⇔ azione integrale

Automazione 22

Schemi realizzativi del 𝑷𝑰𝑫

azione derivativa 𝑫 calcolata solo sull’uscita(per riferimento costante a lungo o a tratti):

evita “spikes” dovuti a variazioni di 𝑟 a gradino

schema standard con tutte le azioni𝑷𝑰𝑫 sull’errore (𝐷∗ = derivata in banda)

quando 𝑒(𝑡) ≈ 0, a causa dei rumoridi misura 𝑛(𝑡), il rapporto S/N peggiora

P(s)

PI P(s)

PD

I P(s)

LeadPIe(t) u(t)

P(s)

azione 𝑷𝑫 calcolata sull’uscita(il solo termine integrale recupererà l’errore):

evita saturazioni da salto a gradino del riferimento(bumpless transfer)

𝑟 = 𝑐𝑜𝑠𝑡 ⇒𝑑𝑒(𝑡)𝑑𝑡 = −

𝑑𝑦(𝑡)𝑑𝑡

azione derivativa assimilata a quella di unarete anticipatrice opportuna: facilita il tuning del 𝑃𝐼𝐷

con le regole del “loop shaping” in frequenza

𝑃𝐼𝐷∗

𝑃𝐼𝐷¦∗

𝑃𝐼¦𝐷¦∗

Automazione 23

Esempio #1 – Confronto tra 𝑷𝑰𝑫q confronto tra 𝑃𝐼𝐷∗ e 𝑃𝐼𝐷¦∗q processo

q parametri del 𝑃𝐼𝐷 (ideale)

… è una scelta semplificatrice

… cancella due poli stabili del processoq risposta indiciale (gradino unitario a 𝑡 = 1)q sforzo di controllo tra 𝑃𝐼𝐷∗ e 𝑃𝐼𝐷¦∗

q effetto della presenza anche di un disturbo in uscita (rumore bianco), al variare di 𝑁(polo in alta frequenza nel termine 𝐷∗)

𝑃 𝑠 =1

𝑠 + 1 §

𝐾m = 2, 𝐾i = 𝐾r = 1 (𝑇 = 2, 𝑇© = 0.5)

𝑃𝐼𝐷 𝑠 =𝑠 + 1 \

𝑠

𝑃𝐼𝐷∗

𝑃𝐼𝐷¦∗

Automazione 24

Esempio #1 – Sforzo di controllo

0 2 4 6 8 10 12t

0

1

2

3

4

5

6

7

u

controllo con PID e PID*

0 2 4 6 8 10 12t

0

0.2

0.4

0.6

0.8

1

1.2

1.4y

uscita con PID e PID*

0 2 4 6 8 10 12t

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

e

errore con PID e PID*

q confronto tra 𝑃𝐼𝐷∗ e 𝑃𝐼𝐷¦∗ (con 𝑁 = 𝑁ªt«)q a fronte di prestazioni simili nella risposta

indiciale (tempo di salita, tempo di assestamento, sovraelongazione) …

q … sforzo di controllo molto ridotto con 𝑃𝐼𝐷¦∗

q si evita il picco in corrispondenza della discontinuità del riferimento (gradino a 𝑡 = 1)

Automazione 25

Esempio #1 – Effetto del rumore

0 2 4 6 8 10 12 14 16 18 20t

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4y

uscita usando PID*, con N = 5 e N = 30

0 2 4 6 8 10 12 14 16 18 20t

-10

-8

-6

-4

-2

0

2

4

6

8

10

y

controllo usando PID*, con N = 30

0 2 4 6 8 10 12 14 16 18 20t

-10

-8

-6

-4

-2

0

2

4

6

8

10

y

controllo usando PID*, con N = 5

q confronto tra 𝑃𝐼𝐷¦∗ per due valori del polo in alta frequenza per l’azione derivativa

q in presenza di un disturbo in uscita in forma di rumore bianco (a spettro uniforme, con potenza 0.5 � 10B§)

q a parità di comportamento in uscita …q … l’andamento del controllo è molto meno

sollecitato quando 𝑁 è ridotto

𝑁ªt« = 5, 𝑁¬i�¬ = 30

Automazione 26

Schema 𝑷𝑰𝑫𝒚∗ digitale sull’uscita

Controllore 𝑃𝐼𝐷¦∗ = 𝑃𝐼𝐷 digitale con derivata (filtrata in banda) calcolata sull’uscita➁

𝑒( 𝑢(𝑢i,(

𝑢r,(𝑦(

Automazione 27

Schema 𝑷𝑰𝑫 con feedforward

aggiunta dell’azione di feedforward (ffw) (per inseguimento di riferimento variabile

e/o compensazione di disturbi)

schema equivalente,con sole azioni di feedback (fbk) (dall’errore e dall’uscita misurata)

schema a due gradi di libertà (con parametri 𝛼, 𝛽)secondo lo standard ISA (Instrument Society of America)

r(t) y(t)u(t)+

+ −

da discretizzarecome prima per ottenere

un 𝑃𝐼𝐷 + ffw digitale

a = 0 b = 0 ➀

a = 0 b = 1 ➁

a = 1 b = 1 ➂

0<a<1 0<b<1 ...vedi schemi in slide #22

𝛼 + 𝛽𝑇r𝑠

𝐾m 𝑃(𝑠)1 +1𝑇i𝑠

+ 𝑇r𝑠

r(t) y(t)u(t)

+ +

−𝑃 𝑠

𝛼 + 𝛽𝑇r𝑠

𝐾m1 − 𝛼 +1𝑇i𝑠

+ 1 − 𝛽 𝑇r𝑠

Automazione 28

Saturazione dell’attuatore sotto 𝑷𝑰𝑫

il comando attuato NON dipende più dall’uscita del 𝑃𝐼𝐷(ossia dall’azione di controllo in feedbackcalcolata dall’errore)

come fosse ad anello aperto(o con una riduzione dei guadagni)

la saturazione del comando di controllo è criticase c’è un’azione integrale che “accumula” errore

anche quando l’attuatore è in saturazione

𝑃(𝑠)

ad esempio, attuatore saturato al suo valore massimo

𝑃(𝑠)

saturazione fisicadell’attuatore

(di solito simmetrica rispetto allo 0,ma non necessariamente)

𝑢b 𝑡 = °𝑢±, 𝑢± ≤ 𝑢(𝑡)𝑢 𝑡 , 𝑢² ≤ 𝑢 𝑡 ≤ 𝑢±𝑢², 𝑢 𝑡 ≤ 𝑢²

Automazione

0 5 10 15 20 25 30t

0

0.2

0.4

0.6

0.8

1

1.2

1.4

y

uscita nel caso lineare e con saturazione dell'attuatore

29

Esempio #2 – Saturazione da azione 𝑰

0 5 10 15 20 25 30t

-0.5

0

0.5

1

1.5

2

2.5

e, u

, u_a

errore, comando e comando saturato

q azione di controllo integrale, in presenza di una saturazione di attuazione

q risposta al gradino in 𝑡 = 1, con processo

q solo guadagno integrale: 𝐾i = 2q saturazione: 𝑢± = −𝑢² = 1.05 (simmetrica)

𝑃 𝑠 =1

𝑠 + 1

uscita in regime lineare e con saturazione errore, controllo e controllo saturato

l’errore è massimo in𝑡 = 1, poi decrescee diventa negativo da 𝑡 ≈ 4.4

il controllo integrale è perògià arrivato a valori elevati (accumulando l’errore > 0) …

risultato: ritardata convergenzadell’uscita al valore desiderato rispetto al caso lineare … ci vuole tempo per potere ‘’scaricare’’

l’integratore (con il segnale d’errore < 0) e uscire quindi dalla saturazione

Automazione 30

Esempio #3 – Saturazione da azione 𝑷𝑰q azione di controllo 𝑷𝑰, in presenza di una

saturazione di attuazione q risposta al gradino in 𝑡 = 1, con processo

q parametri del controllo PI: 𝐾m = 1, 𝐾i = 2q saturazione: 𝑢± = −𝑢² = 1.05 (simmetrica)

𝑃 𝑠 =1

𝑠 + 1

0 2 4 6 8 10 12 14 16 18 20t

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

e, u

, u_a

errore, comando e comando saturato

0 2 4 6 8 10 12 14 16 18 20t

0

0.2

0.4

0.6

0.8

1

1.2

y

uscita nel caso lineare e con saturazione dell'attuatore

uscita in regime lineare e con saturazione errore, controllo e controllo saturato

comportamentomolto simileal caso concontrollo 𝑃

Automazione 31

𝑷𝑰𝑫 con anti-windup

q si usa un modello algebrico dell’attuatore con stessi valori di saturazione (oppure si conosce una “misura” dell’effettivo segnale attuato 𝑢b ≠ dal controllo calcolato)

q analisi

➨ in linearità:

➨ in saturazione (con 𝐾m > 0): se 𝑒(𝑡) > 0 per un po’ ⇒ 𝑠 = 𝑢³¨ = 𝑢±; 𝑧 𝑡 → 𝑢± (non viene più integrato l’errore!); quando poi 𝑒(𝑡) < 0, anche 𝑞 < 0 ⇒ 𝑠 < 𝑢± si esce dalla saturazione

possibile implementazione di un𝑃𝐼𝐷¦∗ con azione di anti-windup

azione derivativadall’uscita conbanda limitata

‘copia’ dellasaturazione

𝑃(𝑠)

11 + 𝑠𝑇i 𝐾m𝑠𝑇r

1 + 𝑠𝑇r𝑁

𝑢±

𝑢²𝐾m

𝑢±

𝑢²

𝑦𝑢b𝑢+

+

+

+

𝑒𝑦r

attuatore consaturazione

𝑢³¨

𝑢©∗

𝑞 𝑠

𝑧

𝑢³¨ 𝑠 =1

1 − 11 + 𝑠𝑇i

𝑞 𝑠 =1 + 𝑠𝑇i𝑠𝑇i

𝑞 𝑠 = 𝐾m1 + 𝑠𝑇i𝑠𝑇i

𝑒 𝑠

azione PI quandonon in saturazione

𝑧 𝑠 =1

1 + 𝑠𝑇i𝑢³¨ 𝑠 =

𝐾m𝑠𝑇i

𝑒 𝑠 ⇒ 𝑧 𝑡 azione integrale

⇒ azione PI

Automazione 32

Effetto dell’anti-windup

simulazione di un controllo in retroazione di tipo 𝑃𝐼𝐷in presenza di saturazione dell’attuatore:

realizzazione standard (a-c)

uscitacontrollata

comandodi controllo(e versione

effettivamenteattuata)

con schemaanti-windup

e realizzazione anti-windup (b-d)

Automazione 33

Esempio #4 – Saturazione e anti-windupq azione di controllo 𝑷𝑰, in presenza di una

saturazione di attuazione e anti-windupq risposta al gradino in 𝑡 = 1, con processo

q parametri del controllo 𝑃𝐼: 𝐾m = 1, 𝐾i = 2q saturazione: 𝑢± = −𝑢² = 1.05 (simmetrica)q schema della slide #28 (senza azione 𝐷)

𝑃 𝑠 =1

𝑠 + 1

0 2 4 6 8 10 12 14 16 18t

0

0.2

0.4

0.6

0.8

1

1.2

y_d,

y, y

_s, y

_w

uscita nel caso lineare, con saturazione dell'attuatore, con anti-windup

0 2 4 6 8 10 12 14 16 18t

-0.2

0

0.2

0.4

0.6

0.8

1

e, e

_s, e

_w

errore nel caso lineare, con saturazione dell'attuatore, con anti-windup

0 2 4 6 8 10 12 14 16 18t

0

0.2

0.4

0.6

0.8

1

1.2

1.4

u, u

_a, u

_aw

comando attuale nel caso lineare, con saturazione dell'attuatore, con anti-windup

regime linearecon saturazione con anti-windup

uscita

errore

comando

Automazione 34

𝑷𝑰𝑫 digitale con anti-windup

ykek

w1,k

u1,kukwk

q in questo schema, due saturazioni: sulla sola azione 𝑃𝐷 e sul comando finaleq l’integrazione dell’errore viene bloccata automaticamente quando c’è saturazioneq non evita saturazioni, ma solo l’inutile “accumulo” dell’azione integrale sull’errore

➨ andrebbe poi “scaricata” quando l’errore ha cambiato segno, prima di poter rientrare nel dominio di linearità dell’attuatore

➨ si rallenterebbe quindi il recupero della corretta azione del 𝑃𝐼𝐷

una possibile realizzazioneanti-windup di un regolatore

𝑃𝐼𝐷 digitale

azione separata 𝑃𝐷, 𝑃𝐷∗, o 𝑃𝐷¦∗

Automazione 35

Analisi del 𝑷𝑰𝑫 digitale anti-windup

• entrambi i blocchi in saturazione (da almeno 1 passo di campionamento)

esegue l’azione 𝑃𝐷 + 𝐼 standard

NON integra più!

yk

ek

w1,k

u1,kukwk

ad esempio, attuatore saturato al suo valore massimo

• nella regione di linearità

azione separata 𝑃𝐷, 𝑃𝐷∗, o 𝑃𝐷¦∗

𝑢((= 𝑤() = 𝑢W,( +��676�

𝑒( + 𝑢(BW − 𝑢W,(BW = 1 − 𝑧BW 𝑢W,( +��676�

𝑒( + 𝑧BW𝑢(

𝑢( = 𝑢W,( +𝐾m𝑇%𝑇i

𝑒(1 − 𝑧BW

= 𝑤W,(

𝑤( = 𝑢± +𝐾m𝑇%𝑇i

𝑒( + 𝑢± − 𝑢± = 𝑢± +𝐾m𝑇%𝑇i

𝑒(

𝑢(BW = 𝑢± 𝑢W,( = 𝑢W,(BW = 𝑢±

se 𝑒( < 0 ⇒ 𝑤( < 𝑢±!

Automazione 36

Tuning del 𝑷𝑰𝑫 – 1o metodo di Z-N

esempi di deduzione per via grafica del modello di progetto 𝑃d(𝑠):processo del primo ordine (a) e processo di ordine superiore (b)

1o metodo di Z-N(Ziegler-Nichols)basato su unmodello semplice(guadagno, costante ditempo, ritardo finito)

che approssima ilprocesso fisico,ricavato da parametridella risposta ad ungradino Du

nel caso (b), a volte si preferisce definire 𝑡1 come l’istante in cuila risposta raggiunge il 63% del valore di regime

𝑃d 𝑠 =𝐾𝑒B¶a

1 + 𝜏𝑠

Automazione 37

Scelta dei parametri del 𝑷𝑰𝑫

nel caso di 𝑃𝐼𝐷 digitale, si tiene conto del passo di campionamento 𝑇𝑐 e si pone

𝑃𝐼𝐷 analogico (e sue varianti più semplici)

utilizzando nella tabella

1o metodo di

𝜃©

𝜏⟹ per 𝐾𝐾m, ⁄𝑇i 𝜏 , ⁄𝑇r 𝜏𝜃 → 𝜃© = 𝜃 +

𝑇%2

Automazione 38

Esempio #5 – Parametri di Z-Nprocesso

da controllare(asintoticamente stabile)

Nota: il modello matematico del processo non è dettoche sia perfettamente noto, anzi...

può essere rilevatasperimentalmente

(anche senza modello)

analisi grafica

risposta indiciale

𝐾 = 1𝜃 = 1.46 𝑠𝜏 = 3.34 [𝑠]

modello per il progettodel PID (uso delle tabelle) 𝑃d 𝑠 =

𝑒BW.¼½a

1 + 3.34𝑠

𝑃(𝑠) =1

(1 + 0.5𝑠) 1 + 𝑠 \(1 + 2𝑠)

𝝉𝜽

𝑲

Automazione 39

Esempio #5 – Prove con 𝑷𝑰𝑫processo

da controllare

vediamo prima cosa succedecon delle leggi di controllo progettate per “tentativi”...

con controllore solo proporzionale (qui 𝐾m = 2)

• tempo di salita più rapido (ts ≈ 3 s)• errore a regime permanente (≈ 33%)• sovraelongazione pronunciata (≈ 35%)• aumentando il guadagno, oscillazioni crescenti

con controllore 𝑷𝑰𝑫𝒚∗ (con derivata in banda)

• dopo molte prove: 𝐾m = 3, 𝑇i = 5, 𝑇r = 0.1• spesso instabile (con guadagni molto simili!)• sovraelongazione eccessiva e molte oscillazioni• tempo di assestamento troppo lungo (40÷50 s)

𝑃(𝑠) =1

(1 + 0.5𝑠) 1 + 𝑠 \(1 + 2𝑠)

Automazione 40

Esempio #5 – 𝑷𝑰𝑫 ‘tuned’ con Z-Nprocesso

da controllare

• tempo di salita rapido (ts ≈ 2,5 s)• errore a regime permanente nullo• poche oscillazioni• tempo di assestamento ≈ 16 s• sforzo di controllo limitato [vedi prossima slide]• sovraelongazione ancora elevata ...

controllore PID sintonizzato (‘tuned’)usando la tabella con il

1o metodo di Ziegler-Nichols

derivata limitata in banda

𝐾m = 2.75, 𝑇i = 2.92, 𝑇r = 0.73, 𝑁 = 5

𝑃𝐼𝐷∗ 𝑠 = 𝐾m 1 +1𝑇i𝑠

+𝑇r𝑠

1 + ⁄𝑇r 𝑁 𝑠

𝑃(𝑠) =1

(1 + 0.5𝑠) 1 + 𝑠 \(1 + 2𝑠)

Automazione 41

Esempio #5 – Versione digitale del 𝑷𝑰𝑫dall’analisi grafica

della risposta indicialeprocesso da controllare modello per il progetto del PID (uso delle tabelle)

regolatore 𝑷𝑰𝑫 digitale con

dalla tabella (1o metodo di Ziegler-Nichols)

rispostaindiciale

(a tempo continuo)

uscita delregolatore 𝑃𝐼𝐷

digitale[dopo organo ditenuta (ZOH)]

sforzo di controllo limitato anche nel transitorio

𝑃(𝑠) =1

(1 + 0.5𝑠) 1 + 𝑠 \(1 + 2𝑠) 𝑃d 𝑠 =𝑒W.¼½a

1 + 3.34𝑠

𝐾 = 1𝜃 = 1.46 𝑠𝜏 = 3.34 [𝑠]

𝑇% = 0.3𝑠 𝜃© = 𝜃 + ⁄𝑇% 2 = 1.46 + 0.15 = 1.61 ⁄⇒ 𝜃© 𝜏 = 0.482𝐾𝐾m = 2.4894, ⁄𝑇i 𝜏 = 0.9461, ⁄𝑇r 𝜏 = 0.241

⇒ 𝐾m= 2.4894, 𝑇i= 3.22, 𝑇r= 0.805

Automazione 42

Esempio #6 – Ritardo finito

modello per il progettodel 𝑃𝐼𝐷 (dalle tabelle) 𝑃d 𝑠 =

5.5 𝑒B\a

1 + 4𝑠

0 5 10 15 20 25 30 35 40 45 50t

0

1

2

3

4

5

6

y

risposta indiciale ad anello aperto

analisi grafica

risposta indiciale

𝐾 = 5.5𝜃 = 2 𝑠𝜏 = 4 [𝑠]

𝑲

𝜽

Supponiamo di rilevare sperimentalmente due risposte di un processo (avente un ritardo finito)

• risposta indiciale ad anello aperto (gradino unitario all’istante 𝑡 = 1 s)• risposta indiciale ad anello chiuso con un controllore proporzionale (𝐾m ≈ 0.54, di prova)

𝝉

0 5 10 15 20 25 30 35 40 45 50t

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

y

uscita e comando con controllo proporzionale con Kp=0.54545

uscita

comando 𝑃

ritardofinito

Automazione 43

Esempio #6 – Regolatori sintonizzatiProviamo in sequenza quattro regolatori: 𝑃, 𝑃𝐼, 𝑃𝐼𝐷∗ e 𝑃𝐼𝐷¦∗ (con derivata solo dall’uscita), in cui i guadagni sono dati dalla tabella di Ziegler-Nichols per ⁄𝜃 𝜏 = 0.5

0 5 10 15 20 25 30 35 40 45 50t

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

y

uscita e comando con controllo proporzionale con Kp=0.36364

uscita 𝑃ÁB¢

comando 𝑃ÁB¢

regolatori 𝑃𝐼𝐷∗ e 𝑃𝐼𝐷¦∗ : 𝐾m = 0.4364, 𝑇i = 4, 𝑇i = 1, 𝑁 = 20

0 5 10 15 20 25 30 35 40 45 50t

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

y

uscita con P, PI, PID e PID*

𝑃𝐼

𝑃𝐼𝐷∗

𝑃

𝑃𝐼𝐷¦∗

regolatore 𝑃: 𝐾m = 0.3636 regolatore 𝑃𝐼: 𝐾m = 0.3273, 𝑇i = 6.66

uscite

Automazione 44

Esempio #6 – Sforzo di controllo

0 5 10 15 20 25 30 35 40 45 50t

-2

0

2

4

6

8

10

y

comando con P, PI, PID e PID*

𝑃𝐼𝐷∗

Confronto tra sforzi di controllo con i quattro regolatori 𝑃, 𝑃𝐼, 𝑃𝐼𝐷∗ e 𝑃𝐼𝐷¦∗ (con derivata solo dall’uscita), in cui i guadagni sono dati dalla tabella di Ziegler-Nichols per ⁄𝜃 𝜏 = 0.5

gli altri tre regolatori sono fuori scala!

picco di controllo dovuto alla derivazione del gradino in 𝑡 = 1…

0 5 10 15 20 25 30 35 40 45 50t

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

y

comando con P, PI e PID*

𝑃𝐼

𝑃

𝑃𝐼𝐷¦∗sforzi di controllo

in questo intervallo di ‘ritardo’, le azioni integraliaccumulano solo il valore del riferimento costante …

Automazione 45

Esempio #6 – 𝑷𝑰 e 𝑷𝑰𝑫∗ ‘tuned’ con Z-NSchemi Simulink dei due migliori regolatori: 𝑃𝐼 e 𝑃𝐼𝐷¦∗

0 5 10 15 20 25 30 35 40 45 50t

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

e

errore con PI e PID*

0 5 10 15 20 25 30 35 40 45 50t

0

0.2

0.4

0.6

0.8

1

1.2

1.4

e

uscita con PI e PID*

uscite

errori

Automazione

(-1,j0)

w

.

46

Tuning del 𝑷𝑰𝑫 – 2o metodo di Z-N2o metodo di Ziegler-Nichols (ad anello chiuso)[posizione di tuning b] 1. si chiude l’anello di controllo con la sola azione proporzionale2. si aumenta il guadagno K fino al valore critico Kc che porta il sistema in oscillazione3. si ricava il periodo Pc dell’oscillazione critica[posizione di operazione a] 𝑃𝐼𝐷 (o sue varianti), dopo la scelta dei guadagni come da tabella

interpretazionesul diagramma

di Nyquist

yd

➚KPc = 2p/wc

Automazione 47

Esempio #7 – 𝑷𝑰𝑫 ‘tuned’ con 2o Z-Nprocesso

da controllare(lo stesso dell’Esempio #1)

• risultato molto simile al caso precedente (anche nella versione digitale)

controllore 𝑃𝐼𝐷 sintonizzatousando la tabella con il

2o metodo di Ziegler-Nichols

• controllore 𝑃 con guadagno critico 𝐾% = 5• periodo di oscillazione (tra picchi) 𝑃% = 6.27 s

𝑃(𝑠) =1

(1 + 0.5𝑠) 1 + 𝑠 \(1 + 2𝑠)

𝐾m = 3, 𝑇i = 3.13, 𝑇r = 0.78, 𝑁 = 5

𝑃𝐼𝐷∗ 𝑠 = 𝐾m 1 +1𝑇i𝑠

+𝑇r𝑠

1 + ⁄𝑇r 𝑁 𝑠

𝑃%

Automazione 48

Tuning del 𝑷𝑰𝑫 – Variante del 2o metodo di Z-N2o metodo di Ziegler-Nichols (schema alternativo ad anello chiuso)[posizione di tuning b] 1. si chiude l’anello con una funzione a relè di ampiezza d2. la retroazione non lineare innesca una oscillazione critica (ciclo limite) ... 3. dalla teoria delle funzioni descrittive (vedi anche appunti sul sito)

• il segnale di uscita a regime è periodico quasi-sinusoidale di periodo Pc• la prima armonica dell’uscita ha un’ampiezza A = 4d/p

4. si misura il periodo Pc dell’oscillazione critica e dall’ampiezza A dell’uscita si ricava Kc

[posizione di operazione a] 𝑃𝐼𝐷 (o sue varianti), dopo la scelta dei guadagni come da tabella

yd𝐾% =

4𝑑𝜋𝐴