Nessun titolo diapositiva

Transcript

Nessun titolo diapositiva
Lezione 27.
Legge di controllo PID
F. Previdi - Fondamenti di Automatica - Lez. 27
1
Schema
1. Definizione
2. Funzione di trasferimento di un PID “ideale”
3. Funzione di trasferimento di un PID “reale”
4. Diagrammi di Bode di un PID “reale”
5. Casi particolari
6. Metodi di taratura per un controllore PID
6.1 Procedura di progetto teorica
6.2 Metodi di taratura empirica
6.2.1 Metodo di Ziegler & Nichols in anello chiuso
6.2.2 Metodo di Ziegler & Nichols in anello aperto
7. Limitazione dell’azione derivativa
8. Saturazione dell’azione integrale (wind up) e implementazione
“anti-windup”
F. Previdi - Fondamenti di Automatica - Lez. 27
2
1. Definizione
Controllori PID → ad azione Proporzionale, Integrale, Derivativa.
e(t )
PID
u (t )
de(t )
u (t ) = K p e(t ) + K i ∫ e(τ )dτ + K d
0
dt
t
Coeff. Azione
Proporzionale
Coeff. Azione
Integrale

1
u (t ) = K p e(t ) +
Ti

Coeff. Azione
Derivativa

∫0 e(τ )dτ + Td e(t )

t
Tempo Azione
Integrale
Tempo Azione
Derivativa
F. Previdi - Fondamenti di Automatica - Lez. 27
Ti =
Kp
Ki
Kd
Td =
Kp
3
Interpretazione delle tre azioni
P
entità dell’errore
più errore
più controllo
I
valor medio dell’errore
polarizzazione (storia passata)
D
tendenza dell’errore
errore crescente
più controllo (storia futura)
F. Previdi - Fondamenti di Automatica - Lez. 27
4
2. Funzione di trasferimento di un PID “ideale”


1
+ Td s  E (s )
U (s ) = K p 1 +
 Ti s

Derivatore ideale
1 + Ti s + TiTd s 2
1 + Ti s + TiTd s 2
U (s )
= Kp
= Ki
R(s ) =
E (s )
Ti s
s
Se Ti − 4TiTd ≥ 0
2
(ovvero Ti ≥ 4Td )
allora i 2 zeri di R(s) risultano reali
R(s ) = K i
(1 + sτ1 )(1 + sτ2 )
s
Funzione di trasferimento
del PID “ideale”
 un polo nell’origine ⇒ precisione statica
 due zeri
⇒ precisione dinamica
⇒ guadagno d’anello
 guadagno
F. Previdi - Fondamenti di Automatica - Lez. 27
5
3. Funzione di trasferimento di un PID “reale”
 azione derivativa “ideale”
Td s
 azione derivativa “reale”
Td s
Td s
1+
N
Non realizzabile
Realizzabile
polo in
alta frequenza
s=−


Td s
1
+
U (s ) = K p 1 +
T
 Ti s 1 + d
N

N
, N = 5 ÷ 20
Td


 E (s )
s

Derivatore reale
F. Previdi - Fondamenti di Automatica - Lez. 27
6
 T
Ti s1 + d
U (s )
N

(
)
K
Rs =
= p
E (s )
  T 
s  + 1 + d s  + TiTd s 2
  N 
=
 Td 
Ti s1 + s 
 N 
 1
 Td

1 +  + Ti  s +  + 1TiTd s 2
N
N 



= Ki
 Td 
s 1 + s 
 N 
(
1 + sτ1 )(1 + sτ2 )
R(s ) = K i
s (1 + sτ3 )
Funzione di trasferimento
del PID “reale”
Con una scelta opportuna di N (grande) :
τ3 << τ1 , τ3 << τ2
polo in alta frequenza
τ1 ≅ τ1 , τ2 ≅ τ 2
zeri prossimi a quelli del PID “ideale”
F. Previdi - Fondamenti di Automatica - Lez. 27
7
4. Diagrammi di Bode di un PID “reale”
R ( jω )
−1
1 τ2
1 τ1
0
+1
1 τ3
ω
0
Rete “a sella” o
Rete a ritardo e anticipo
∠R( jω )
90
0
1 τ1
1 τ2
1 τ3
ω
− 90
F. Previdi - Fondamenti di Automatica - Lez. 27
8
5. Casi particolari
P
controllore proporzionale
R(s ) = K p
I
controllore integrale
R(s ) =
PI
controllore proporzionale-integrale
R(s ) = K i
PD
controllore proporzionale-derivativo
R(s ) = K p (1 + sTd )
Ki
s
(1 + sTi )
s
FdT “ideale”
F. Previdi - Fondamenti di Automatica - Lez. 27
9
6. Metodi per la taratura di un controllore PID
PID: Kp, Ti, Td
6.1 Teorica (loop shaping)
6.2 Empirica (taratura basata su esperimenti, in
assenza di informazioni a priori sul
sistema) → utile per taratura automatica
6.3 Ad autosintonia (self tuning)
Controlli Automatici
I anno LS
F. Previdi - Fondamenti di Automatica - Lez. 27
10
6.1 Procedura di progetto teorica
Esempio
100
Tarare un controllore PI per un sistema con fdt G (s ) =
1+ s
in modo tale da avere 1 ≤ ωc ≤ 10
La funzione di trasferimento del controllore è:

1 
1 + sTi K p 1 + sTi
1 + sTi
Ki
 = K p
R (s ) = K p +
=
= Ki
= K p 1 +
s
Ti s
Ti
s
s
 Ti s 
Quindi la funzione d’anello è:
1 + sTi 100
L(s ) = R (s )G (s ) = Ki
s 1+ s
La scelta è “obbligata”: si usa lo zero del regolatore per cancellare il
polo dominante del sistema. Scelgo Ti = 1 da cui ottengo
100 Ki
L(s ) = R (s )G (s ) =
s
F. Previdi - Fondamenti di Automatica - Lez. 27
11
100 Ki
ωc = 100 Ki rad/s
L(s ) = R (s )G (s ) =
s
Per es. per avere ωc = 5 rad/s bisogna scegliere Ki = 0.05
Kp
Essendo Ki =
si avrà K p = 0.05
Ti
Quindi i parametri del controllore (quelli da scrivere nel codice
del PLC) sono K p = 0.05 Ki = 0.05
F. Previdi - Fondamenti di Automatica - Lez. 27
12
6.2 Metodi di taratura empirica
approfondimento
Il PID è un regolatore “semplice” (con pochi gradi di libertà)
e quindi può tenere conto solo delle principali caratteristiche
dinamiche del processo.
Ciò significa però che si può fare un progetto adeguato anche
senza una conoscenza profonda del sistema sotto controllo.
I metodi di taratura empirica si basano sui risultati di
opportuni esperimenti presupponendo nessuna conoscenza sul
sistema sotto controllo oppure la conoscenza di un modello
molto semplice.
Due esempi sono:
Regola di Ziegler-Nichols in anello aperto
Regola di Ziegler-Nichols in anello chiuso
F. Previdi - Fondamenti di Automatica - Lez. 27
13
6.2.1 Regola di Ziegler-Nichols in anello chiuso
w
e
+
−
PID
u
S
y
approfondimento
(i). inserire il controllore con Ki = Kd = 0 e Kp = “piccolo”
(ii). osservare la risposta a w(t)=sca(t)
(iii). aumentare Kp finché y(t) diventa un’oscillazione
permanente di periodo T in corrispondenza di un valore
di Kp detto guadagno critico K p
(iv). Si determinano Kp,Ti, Td in funzione di T , K p
consultando un’apposita tabella
F. Previdi - Fondamenti di Automatica - Lez. 27
14
Kp
P
PI
PID
0.5 K p
Ti
-
0.45 K p
0.8T
0.6 K p
0.5T
Td
-
approfondimento
Ti = 4Td
0.125T
zeri coincidenti in
−4
T
ωc max
regole ottimizzate per ottenere 
ϕ m ≅ 30°
Più che regole rigide vanno intese come procedure per
individuare valori indicativi dei parametri (intorno ai quali
operare una taratura manuale fine).
F. Previdi - Fondamenti di Automatica - Lez. 27
15
Interpretazione
approfondimento
1
(il guadagno critico è il margine di guadagno)
◊ K p ≡ km =
G ( jω π )
cioè: trovare K p corrisponde a trovare G ( jωπ )
◊ T=
2π
ωπ
(le oscillazioni hanno pulsazione ωπ )
cioè: trovare T corrisponde a trovare la pulsazione ωπ
◊ Quindi:
K p , T ⇒ G ( jω π )
Modello usato = un punto di G ( jω )
Nota. La procedura non è applicabile quando:
- non si raggiunge mai il limite di stabilità (km= ∞)
- la presenza di oscillazioni può danneggiare l’impianto
F. Previdi - Fondamenti di Automatica - Lez. 27
16
Esempio
approfondimento
Ampiezza
1.8
1
G (s ) =
(s + 1)3
K p4
1.6
1.4
K p1 = 0.1
K p3
1.2
K p2 = 1
1
0.8
0.6
K p3 = 5
K p2
0.4
0.2
K p4 = 8 ← K p
K p1
00
5
(s + 1)
3
10
(
t [sec]
+ K p = (s + α ) s + ω
PID “ideale”
2
15
2
)→ K
20
T ≅ 3.6
25
= 8, α = 3, ω = 3 → T =
2
p
 K p = 0.6 K p = 4.8

T i= 0.5T = 1.8138
T = 0.125T = 0.4534
 d
2π
ω
= 3.6276
⇒ ω c ≅ 1.6, ϕ m ≅ 37 
F. Previdi - Fondamenti di Automatica - Lez. 27
17
6.2.2 Regola di Ziegler-Nichols in anello aperto
approfondimento
y
u
S
(i). Applicare u(t) = Usca(t)
(ii). Registrare la risposta y(t) e ricavare
alcuni parametri caratteristici (metodo della tangente)
τ = ritardo equivalente
T = costante di tempo equivalente
µ = Y/U = guadagno (Y = valore di regime di y(t))
(iii). Determinare Kp, Ti, Td in funzione di µ, τ, T
consultando un’apposita tabella.
F. Previdi - Fondamenti di Automatica - Lez. 27
18
y (t )
approfondimento
Y
Metodo della tangente
τ
Punto
di
flesso
t
T +τ
approssimazione: G (s ) =
Altri metodi:
• metodo delle aree
• metodo dei momenti
µ
1 + Ts
e −τs
(µ = Y/U)
E’ un metodo di identificazione!
F. Previdi - Fondamenti di Automatica - Lez. 27
19
Kp
P
T
PI
0.9T
PID
Ti
approfondimento
Td
µτ
1.2T
µτ
3τ
µτ
2τ
Ti = 4Td
0.5τ
zeri coincidenti in
−1
τ
 risultati analoghi alle regole in anello chiuso
 necessaria una taratura “manuale” fine
 procedura applicabile solo se la risposta è del tipo illustrato
F. Previdi - Fondamenti di Automatica - Lez. 27
20
Esempio
approfondimento
Ampiezza
1
G (s ) =
(s + 1)3
1
0.9
0.8
modello approssimante
(metodo della tangente):
0.7
0.6
risposta a scalino del
modello approssimante del
1° ordine con ritardo
0.5
0.4
0.3
Gˆ (s ) =
1
e −0.8 s
3.7 s + 1
µ = 1, T = 3.7, τ = 0.8
punto di
flesso
0.2
PID “ideale”:
0.1
0
0
5
t [sec]
10
15
K p = 5.55, Ti = 1.6, Td = 0.4
⇒ ω c ≅ 1.5, ϕ m ≅ 22
modello approssimante (metodo delle aree):µ = 1, T = 1.83, τ = 1.17
PID “ideale”: K p = 1.877, Ti = 2.34, Td = 0.59 ⇒ ω c ≅ 0.75, ϕ m ≅ 63

F. Previdi - Fondamenti di Automatica - Lez. 27
21
7. Limitazione dell’azione derivativa
de(t )
d
u (t ) =  + K d
=  + K d (w(t ) − y (t ))
dt
dt
Se w(t ) = sca (t )
u (t ) = imp(t )
Alternativa: u (t ) =  + K d
Indesiderabile!
d
dw(t )
dy (t )
(w(t ) − y(t )) =  + K d
− Kd
dt
dt
dt
La fdt d’anello è un filtro passa-basso.
Quindi l’uscita non ha mai variazioni a scalino!
F. Previdi - Fondamenti di Automatica - Lez. 27
22
Schema a derivazione dell’uscita
w(t )
+
−
e(t )
Kp
Ki
s
+
+
u (t )
+
−
d (t )
G (s )
+
+
y (t )
Kd s
 La funzione di trasferimento da d(t) a y(t) non cambia
 Nella funzione di trasferimento da w(t) a y(t) cambiano
solo gli zeri
 Non cambiano le proprietà di stabilità e il
comportamento statico.
F. Previdi - Fondamenti di Automatica - Lez. 27
23
Generalizzazione
U (s ) = K p E p (s ) +
dove
Ki
E (s ) + K d s Ed (s )
s
E (s ) = W (s ) − Y (s )
E p (s ) = αW (s ) − Y (s )
Ed (s ) = βW (s ) − Y (s )
α = β = 1 → PID standard
α = β = 0 → azioni derivativa e proporzionale calcolate solo su y(t)
Nota. α e β non influiscono su stabilità
e comportamento statico del sistema in anello chiuso.
F. Previdi - Fondamenti di Automatica - Lez. 27
24
8. Saturazione dell’azione integrale (wind-up)
Tutti gli attuatori hanno dei limiti sull’azione di controllo che
possono esercitare sul sistema sotto controllo.
Tali limiti sono ben modellabili mediante saturazione.
Quando la legge di controllo contiene un’azione integrale, la
presenza della saturazione può causare un effetto indesiderato
noto come wind-up.
F. Previdi - Fondamenti di Automatica - Lez. 27
25
w
Ki
s
e
u
Azione di controllo
integrale
m
uM
G(s)
y
-u M
Saturazione
Equazione della saturazione
− u M u (t ) < −u M

m(t ) =  u (t ) u (t ) ≤ u M
 u
 M u (t ) > u M
F. Previdi - Fondamenti di Automatica - Lez. 27
26
2.5
T1) e(t)>0 → u(t) cresce senza
limiti mentre m(t) cresce solo
fino a uM
u
2
1.5
m
T2) e(t)<0 → m(t) dovrebbe
diminuire, ma bisogna prima
attendere che u(t) decresca
fino a uM
1
0.5
e
0
-0.5
T1
0
T2
5
10
T3
15
20
t [sec]
25
30
T3) quando finalmente u(t)
raggiunge la soglia uM allora
anche m(t) può diminuire. Si
noti che basta un breve
transitorio per portare e(t) a 0
F. Previdi - Fondamenti di Automatica - Lez. 27
27
Implementazione anti wind-up (a derivazione dell’uscita)
w
e
+
_
Kp
q
u’
+
-u
+
z
u
m
uM
M
1
1 + sTi
+ _
G(s)
y
K p sTd
1+ sTd / N
Azione
proporzionale
Azione integrale
(con anti wind-up)
F. Previdi - Fondamenti di Automatica - Lez. 27
Azione derivativa
(a derivazione
dell’uscita)
28
e
Kp
u’
q
+
m
uM
-u
+
z
M
+
1
1 + sTi
 Quando il controllore opera nella zona lineare della
saturazione si ha:
m(t ) = u ' (t )
 1 + sTi 
K
1
M ( s)
 = K p + i Controllore PI
= Kp
= K p 
1
E ( s)
s
 sTi 
1−
1 + sTi
 Si supponga di operare in saturazione nelle seguenti condizioni:
m(t ) = u M con e(t ) > 0 e q(t ) > 0
Dopo un transitorio si ha : z (t ) = u M
 Però, appena l’errore cambia segno si ha:
e si torna
u ' (t ) = q(t ) + u M < u M
e(t ) < 0, q(t ) < 0
nella zona lineare.
F. Previdi - Fondamenti di Automatica - Lez. 27
29