Sei sulla pagina 1di 31

Regolatori

PID digitali

Automazione

Alessandro De Luca
Sistema di controllo digitale

schema generale MIMO


di controllo in feedback

schema di controllo digitale


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

Automazione 2
Campionamento e ricostruzione

conversione analogico-digitale (A/D):


segnale campionato ogni Tc
e quantizzato in livelli
(per troncamento o arrotondamento)
x k = x(kTc ) [ = x q (kTc )]

conversione
! digitale-analogica (D/A):
segnale ricostruito
da un organo di tenuta
(qui, di ordine zero = ZOH)

ZOH = x r (t) = x(kTc ), t " [kTc ,(k +1)Tc )


Zero-Order Hold

Automazione 3
!
Campionamento a impulsi

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


$
x * (t) = x(t)"Tc (t) "Tc (t) = % "(t # kTc )
k =0

•  dallo spettro X(j!) del segnale x(t)


e dallo sviluppo in serie di Fourier del treno di impulsi di Dirac
!
l’andamento spettrale del segnale campionato x*(t) è
!
$
1
X * ( j") =
Tc
% X( j" # jn" ) c " c = 2# /Tc
n =#$
il tempo di campionamento pulsazione di
è un fattore di scala! campionamento

Automazione ! 4
!
Teorema di Shannon e aliasing
spettro di un segnale
limitato in banda a !M

spettro del relativo campionamento fenomeno di


campionamento
segnale campionato componente
primaria
a pulsazione aliasing a pulsazione
componenti complementari !c " 2 !M !c < 2 !M

filtro ricostruttore ideale


(non realizzabile) anche se usassimo
$T " # " c /2 un filtro ricostruttore
GR ( j") = % c ideale...
&0 else

!
comportamento
approssimato dallo
ZOH (per Tc piccolo
a sufficienza)

ricostruzione del segnale (idealmente) perfetta... ...ricostruzione del segnale (sempre) corrotta
Teorema di Shannon Teorema di Shannon
conclusione: i segnali hanno sempre componenti a frequenza sufficientemente alta (rumore)
⇒ filtraggio anti-aliasing
Automazione 5
Ricostruzione: Zero-Order Hold

risposta dello ZOH


ad un impulso unitario
in ingresso

(differenza di due 1 1 # j"Tc 1 # e # j"Tc


(nel dominio della
gradini unitari, con h0 (t) = " #1 (t) # " #1 (t # Tc ) ⇒ frequenza)
H 0 ( j") = # e =
il secondo ritardato) j" j" j"

1 1 # j"Tc e j"Tc / 2 # e # j"Tc / 2 # j"Tc / 2 sin("Tc /2) # j"Tc / 2 sin("Tc /2)


⇒ H 0 ( j") = # e = e = Tc e ⇒ H 0 ( j") = Tc # Tc per "Tc << 1
!j" j" j" "Tc /2 "Tc /2
!

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


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

Scelta del passo di campionamento


•  Tc sufficientemente piccolo ⇒ evita perdita di informazione e instabilità
•  Tc non troppo piccolo ⇒ cresce il costo computazionale (vincoli real time)
" 2" " # [5 ÷10]
"# M $ # c $ 10"# M % Tc %
5#$ M #$ M parametro di progetto

Automazione 6
!
!
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 7
Specifiche sulla risposta indiciale

•  tempo di salita Ts
(da 10% al 90% del regime)
•  tempo di assestamento Ta
(errore inferiore al 3-5%)
•  massima sovraelongazione S
y(Tm ) " y #
S=
y#
•  istante di massima
sovraelongazione Tm

Automazione 8
Regolatore PID
!  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 PID
!  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

e(t) = y rif (t) " y(t)


$ 1 t
de(t) '
u(t) = K p &e(t) +
Ti
# e(" )d" + Td dt ) due espressioni
% 0 ( equivalenti del PID
! t
de(t) (in forma analogica)
u(t) = K p e(t) + K i # e(")d" + K d
0 dt
!
Automazione 9
Regolatore PID digitale
discretizzazione con passo Tc delle azioni del PID sull’errore e(t) = y rif (t) " y(t)

K p e(t) " K p e(kTc ) = K p ek


k
1 t Kp integrazione rettangolare in avanti
Kp # e(")d" $ Tc % e j !
Ti 0 Ti j =0 (detta anche di Eulero a sinistra)
! de(t) ek # ek #1
K p Td " K p Td derivazione all’indietro (backward)
dt Tc
!
k
K p Tc K p Td
uk = K p ek +
Ti
" e j + T (ek # ek #1) forma di posizione del PID digitale
! j =0 c

K p Tc
ui,k = ui,k "1 + ek
Ti implementazione ricorsiva della
K p Td forma di posizione del PID digitale
uk = K p ek + (ek " ek "1 ) + ui,k
Tc
Automazione 10
Regolatore PID digitale
k
K p Tc K p Td
uk = K p ek +
Ti
" e j + T (ek # ek #1) facendo la differenza di due
j =0 c

K p Tc k "1
K p Td campioni di controllo successivi...
uk "1 = K p ek "1 +
Ti
# e j + T (ek "1 " ek "2 )
j =0 c

"uk = uk # uk #1
K p Tc K p Td
= K p (ek # ek #1 ) +
Ti
ek +
Tc
(ek # 2ek #1 + ek #2 )

uk = uk "1 + #uk forma di velocità del PID digitale


"1
introducendo l’operatore di ritardo z-1=1/z (di un passo Tc) ... y k "1 = z y k
K p Tc K p Td
(1 " z ) u
"1
k = K p (1 " z "1
)e k +
Ti
ek +
Tc
(1 " 2z "1
+ z "2 ) ek
2
= (1 " z "1 )
!
# K p Tc Kp &
uk = %K p + "1 + Td (1 " z ) ( ek = PID(z)ek
"1

$ Ti 1 " z Tc '
! !
Automazione 11
Schema PID digitale

ui,k
ek uk

!
! ud ,k !

!
controllore PID digitale

Automazione 12
Derivata filtrata in banda...
$ 1 t
de(t) ' il termine derivativo puro del PID
u(t) = K p &e(t) +
% Ti
# e(" )d" + Td dt )( non è realizzabile
0

" 11 % K p ((1/Ti ) + s + Td s2 ) funzione di trasferimento


u(s) = K p $1 + + Td s' e(s) = e(s)
# Ti s & s impropria (non causale)

s aggiunta di un polo in alta frequenza


K p Td s " K p Td
1+ (Td /N) s (la derivazione viene filtrata in banda)

si considerano N campioni a tempo discreto con 5 " N " 20

!
+
realizzazione solo e KpN ! ud
1 #
con blocchi “causali”
Td
1+ s
N

Automazione ! ! 13
!
...e sua realizzazione digitale
s " Td %
ud (s) = K p Td e(s) $1+ s' ud (s) = K p Td s e(s)
Td # N &
1+ s
N derivate realizzate con le differenze all’indietro

T u " ud ,k "1 e "e # Td Td "1 & K p Td


ud ,k + d d ,k
N Tc
= K p Td k k "1
Tc
%1+ "
$ NTc NTc '
z ( ud ,k =
Tc
(1 " z "1 ) ek
!
! K p Td
1 # Td K p Td K p Td & Tc
(1 " z "1 )
ud ,k = u + ek " ek "1 ( ud ,k = e
! Td %$ NTc d ,k "1 Tc Tc ! ' Td Td "1 k
1+ 1+ " z
NTc NTc NTc
K p Tc
ui,k = ui,k "1 + e uk = K p ek + ui,k + ud ,k
Ti k
! !
# &
% K p Tc K p Td 1 " z "1 (
*
! uk = %K p !
+ + ( e = PID (z)ek
% T 1 " z "1
T T T k
i c 1+ d
" d z (
"1
%$ NTc NTc ('

Automazione 14
Schema PID* digitale

ui,k
ek uk

!
! ud ,k !

!
controllore PID digitale con derivata filtrata in banda = PID*

Automazione 15
Schemi realizzativi del PID
䙵 schema standard con tutte le azioni
P+I+D sull’errore

PD
quando e(t)!0, a causa dei rumori
di misura il rapporto S/N peggiora

PI
䙷 azione P+D calcolata sull’uscita
(il solo termine integrale recupererà l’errore):
evita saturazioni da salto a gradino del riferimento

e(t)! u(t)!
PI Lead

䙶 azione derivativa calcolata solo sull’uscita


(per riferimento costante a lungo o a tratti):
evita “spikes” dovuti a variazioni di r a gradino
䙸 azione derivativa assimilata a quella di una
de(t) dy(t) rete anticipatrice opportuna: facilita il tuning del PID
r = cost " =#
dt dt con le regole del “loop shaping” in frequenza
Automazione 16
Schema PID con feedforward
schema a due gradi di libertà (con parametri !, ") aggiunta di un’azione di feedforward (ffw)
" + #Td s (per inseguimento di riferimento variabile
e/o compensazione di disturbi)
r(t)! + # u(t)! y(t)!
1 +
1+ + Td s Kp G(s)
!# Ti s

da discretizzare
! ! come prima per ottenere
! schema equivalente
un PID + ffw digitale
con sole azioni di feedback (fbk)
(dall’errore e dall’uscita misurata)

r(t)! + 1 + u(t)! y(t)!


! = 0# " = 0# 䙵 (1 " #) + + (1 " $)Td s Kp G(s)
# Ti s #
! = 0# " = 1# 䙶
! = 1# " = 1# 䙷 " + #Td s
0<!<1# 0<"<1# ... ! !
!
vedi schemi pagina precedente
Automazione 17
!
Schema PID* sull’uscita

ek ui,k
uk

! yk !
ud ,k !

!
!
䙶 controllore PID digitale con derivata (filtrata in banda) calcolata sull’uscita = PID*y

Automazione 18
Saturazione dell’attuatore sotto PID
saturazione fisica
dell’attuatore G(s)
"u , u H & u(t)
$ H
ua (t) = # u(t), uL & u(t) & u H
$u , !
% L u(t) & uL
(di solito simmetrica rispetto allo 0,
ma non necessariamente)
ad esempio, attuatore saturato
il comando attuato al suo valore massimo
NON dipende più
dall’uscita del PID G(s)
(ossia dall’azione di
controllo in feedback
calcolata dall’errore)
!

la saturazione del comando di controllo è critica


come fosse ad anello aperto se c’è un’azione integrale che “accumula” errore
(o con una riduzione dei guadagni)
anche quando l’attuatore è in saturazione
Automazione 19
PID digitale anti-windup
una possibile realizzazione
anti-windup del regolatore
PID digitale

yk! w1,k!
ek! u1,k!
wk! uk!

azione separata
PD, PD*, o PD*y
!  si conosce una “misura” dell’effettivo segnale attuato ($ dal controllo calcolato)
oppure si usa un modello algebrico dell’attuatore con stessi valori di saturazione
!  nello schema, ci sono due saturazioni: sulla sola azione PD e sul comando finale
!  l’integrazione dell’errore viene bloccata automaticamente quando c’è saturazione
!  non evita saturazioni, ma solo l’inutile “accumulo” dell’azione integrale sull’errore
!  andrebbe poi “scaricata” quando l’errore si è ridotto, prima di poter rientrare nel dominio
di linearità dell’attuatore
!  si rallenterebbe quindi il recupero della corretta azione del PID
Automazione 20
Analisi del comportamento anti-windup
azione separata
PD, PD*, o PD*y
yk! w1,k!
ek! u1,k!
wk! uk!

•  nella regione di linearità


K p Tc K p Tc
uk = (w k =) u1,k + ek + ( uk "1 " u1.k "1 ) = (1 " z "1 ) u1,k + ek + z "1uk
Ti Ti
(= w1,k )
K p Tc ek
uk = u1,k + esegue l’azione PD+I standard
Ti 1 " z "1
!
•  entrambi i !
blocchi in saturazione (da almeno 1 passo di campionamento)
uk "1 = u H u1,k = u1,k "1 = u H ad esempio, attuatore saturato al suo valore massimo
!
K p Tc K p Tc
uk = u H + ek + ( u H " u H ) = u H + ek NON integra più!
Ti Ti
!
Automazione 21
Effetto dell’anti-windup nel PID

uscita
controllata

comando
di controllo
(e versione
effettivamente
attuata)

simulazione di un controllo in retroazione di tipo PID


in presenza di saturazione dell’attuatore:
realizzazione standard (a-c) e realizzazione anti-windup (b-d)
Automazione 22
Tuning del PID - 1

metodo basato su
un modello semplice
(guadagno, costante di
tempo, ritardo finito)
e "#s
G(s) = K
1+ $s
che approssima il
processo fisico,
ricavato da parametri
della risposta ad un
gradino $u

esempi di deduzione per via grafica del modello di progetto G(s):


processo del primo ordine (a) e processo di ordine superiore (b)
nel caso (b), a volte si preferisce definire t1 come l’istante in cui
la risposta raggiunge il 63% del valore di regime
Automazione 23
Scelta dei parametri del PID
1° metodo di

PID analogico (e sue varianti più semplici)


nel caso di PID digitale, si tiene conto del passo di campionamento Tc e si pone
T "D
" # "D =" + c utilizzando nella tabella $ per KK p , Ti /# , Td /#
2 #
Automazione 24
Esempio di tuning del PID
processo 1 Nota: il modello matematico
da controllare P(s) = del processo non è detto
(asintoticamente stabile) (1+ 0.5s)(1+ s) 2 (1+ 2s) che sia noto, anzi...

! analisi grafica
risposta indiciale

K =1
" = 1.46 s
può essere rilevata # = 3.34 s
sperimentalmente
(anche senza modello)

!
modello per il progetto e "1.46s
del PID (uso delle tabelle) G(s) =
1+ 3.34s
Automazione 25
Esempio di tuning del PID
1 vediamo prima cosa succede
processo P(s) = con delle leggi di controllo
da controllare (1+ 0.5s)(1+ s) 2 (1+ 2s) progettate per “tentativi”...

con controllore solo proporzionale (qui Kp = 2) con controllore PID* (con derivata in banda)
•  tempo di salita più rapido (ts ! 3 s) •  dopo molte prove: Kp = 3, Ti = 5, Td = 0.1
•  errore a regime permanente (! 33%) •  spesso instabile (con guadagni molto simili!)
•  sovraelongazione pronununciata (! 35%) •  sovraelongazione eccessiva e molte oscillazioni
•  aumentando il guadagno, oscillazioni crescenti •  tempo di assestamento troppo lungo (40÷50 s)

Automazione 26
Esempio di tuning del PID
processo 1
P(s) =
da controllare (1+ 0.5s)(1+ s) 2 (1+ 2s)
" 1 Td s %
controllore PID sintonizzato PID * (s) = K p $$1+ + '',
usando # Ti s 1+ (Td /N)s &
! la tabella con il
1° metodo di Ziegler-Nichols K p = 2.75, Ti = 2.92, Td = 0.73, N = 5

derivata
limitata in banda
!
•  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 ...

Automazione 27
Versione digitale del PID
1 dall’analisi grafica e "1.46s
P(s) = 2 G(s) = K (K = 1, # = 1.46 s, $ = 3.34 s)
(1+ 0.5s)(1+ s) (1+ 2s) della risposta indiciale 1+ 3.34s
processo da controllare modello per il progetto del PID (uso delle tabelle)

regolatore PID digitale con Tc = 0.3 s " # D = # + Tc /2 = 1.46 + 0.15 = 1.61 " # D /$ = 0.482
!
dalla tabella (1° metodo KK p = 2.4894, Ti /" = 0.9641, Td /" = 0.241
di Ziegler-Nichols) " K p = 2.4894, Ti = 3.22, Td = 0.805
!

!
risposta
!
indiciale
(a tempo continuo)

uscita del sforzo di controllo


regolatore PID limitato nel transitorio
digitale
(dopo organo ZOH)

Automazione 28
Tuning del PID - 2
2° metodo di Ziegler-Nichols (ad anello chiuso)
[posizione di tuning b]
1.  si chiude l’anello di controllo con la sola azione proporzionale
2.  si aumenta il guadagno K fino al valore critico Kc che porta il sistema in oscillazione
3.  si ricava il periodo Pc dell’oscillazione critica
[posizione di operazione a] PID (o sue varianti), dopo la scelta dei guadagni come da tabella

yd
Pc = 2%/&c
!K

(-1,j0)!.

interpretazione
! sul diagramma
di Nyquist

Automazione 29
Esempio di tuning del PID
stesso processo 1
P(s) =
da controllare (1+ 0.5s)(1+ s) 2 (1+ 2s)
" 1 Td s %
controllore PID sintonizzato PID * (s) = K p $$1+ + '',
usando la tabella con il # Ti s 1+ (Td /N)s &
2° metodo
! di Ziegler-Nichols K p = 3, Ti = 3.13, Td = 0.78, N = 5

•  controllore P con guadagno critico Kc = 5 •  risultato molto simile al caso precedente


•  periodo di oscillazione (tra picchi) Pc = 6.27 s (anche nella versione digitale)
Automazione 30
Tuning del PID - 2
2° 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 d
2.  la retroazione non lineare innesca una oscillazione critica...
3.  dalla teoria delle funzioni descrittive:
•  il segnale di uscita a regime è periodico quasi-sinusoidale di periodo Pc
•  la prima armonica dell’uscita ha un’ampiezza A = 4d/%
4.  si misura il periodo Pc dell’oscillazione critica e dall’ampiezza A dell’uscita si ricava Kc
[posizione di operazione a] PID (o sue varianti), dopo la scelta dei guadagni come da tabella

Kc = 4d/%A
yd

Automazione 31