per la meccatronica
Parte I
q(t ) = a0 + a1t + a 2 t 2 + K + a n t n
a2 =
( ) (
− 3 qi − q f − 2q& i + q& f t f)
t 2f
a3 =
( ) ( )
2 qi − q f + q& i + q& f t f
t 3f
30
30
20
gradi/s
gradi
20
10
10
0
0 -10
-0.2 0 0.2 0.4 0.6 0.8 1 -0.2 0 0.2 0.4 0.6 0.8 1
t(s)
Accelerazione
150
100
50
gradi/s2
-50
-100
-150
-0.5 0 0.5 1 1.5
t(s)
q(t ) = a0 + a1 (t − ti ) + a 2 (t − ti )2 + a3 (t − ti )3
si ha:
a 0 = qi
a1 = q& i
a2 =
( ) ( )(
− 3 qi − q f − 2q& i + q& f t f − ti )
(t f − ti )2
2(qi − q f ) + (q& i + q& f )(t f − ti )
a3 =
(t f − ti )3
Queste formule sono utili per generare traiettorie che passano per una sequenza
di punti intermedi: si divide la traiettoria in n tratti, per ciascuno dei quali si
specificano istanti, posizioni e velocità iniziali e finali.
Posizione Velocità
50 20
40
10
30
gradi/s
gradi
20 0
10
-10
0
-10 -20
-2 0 2 4 6 8 10 12 -2 0 2 4 6 8 10 12
t(s)
Accelerazione
40
t0 = 0 t1 = 2 t2 = 4 t3 = 8 t 4 = 10
20
q0 = 10° q1 = 20° q 2 = 0° q3 = 30° q4 = 40°
gradi/s2
-20
-40
-5 0 5 10 15
t(s)
Posizione Velocità
50 20
40
10
30
gradi/s
gradi
20 0
10
-10
0
-10 -20
-2 0 2 4 6 8 10 12 -2 0 2 4 6 8 10 12
t(s)
Accelerazione
30
t0 = 0 t1 = 2 t2 = 4 t3 = 8 t 4 = 10
20
10
q0 = 10° q1 = 20° q 2 = 0° q3 = 30° q 4 = 40°
gradi/s2
-10
-20
-30
-2 0 2 4 6 8 10 12
t(s)
a3 =
( ) ( ) (
20 q f − qi − 8q& f + 12q& i T − 3q&& f − q&&i T 2 )
2T 3
a4 =
(
30 qi − q f ) ( ) (
+ 14q& f + 16q& i T + 3q&& f − 2q&&i T 2 )
2T 4
a5 =
( ) ( ) ( )
12 q f − qi − 6 q& f + q& i T − q&& f − q&&i T 2
T = t f − ti
2T 5
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [14]
Polinomio di grado cinque: esempio
ti = 0, t f = 1s, qi = 10°, q f = 30°, q& i = q& f = 0° / s, q&&i = q&& f = 0° / s 2
Posizione Velocità
40 40
30
30
20
gradi/s
gradi
20
10
10
0
0 -10
-0.2 0 0.2 0.4 0.6 0.8 1 -0.2 0 0.2 0.4 0.6 0.8 1
t(s)
Accelerazione
150
100
50
gradi/s2
-50
-100
-150
-0.5 0 0.5 1 1.5
t(s)
40
10
30
gradi/s
gradi
20 0
10
-10
0
-10 -20
-2 0 2 4 6 8 10 12 -2 0 2 4 6 8 10 12
t(s)
Accelerazione
30
20
La traiettoria è più “smooth” di quella
10
ottenuta con la cubica.
gradi/s2
-10
-20
-30
-2 0 2 4 6 8 10 12
t(s)
q& (t ) =
(
π q f − qi ) ⎛ π(t − ti ) ⎞
sin ⎜ ⎟
2(t f − ti ) ⎜ t f − ti ⎟
⎝ ⎠
π 2 (q f − qi ) ⎛ π(t − ti ) ⎞
q&&(t ) = cos⎜ ⎟
2(t f − ti )2 ⎜ t f − ti ⎟
⎝ ⎠
π 3 (q f − qi ) ⎛ π(t − ti ) ⎞
j (t ) = − sin ⎜ ⎟
2(t f − ti )3 ⎜ t f − ti ⎟
⎝ ⎠ (jerk)
8 1.5
gradi/s
1
gradi
4
0.5
2
0 0
-2 0 2 4 6 8 10 -2 0 2 4 6 8 10
Accelerazione Jerk
1 0.05
0
0.5 -0.05
-0.1
gradi/s2
gradi/s3
0 -0.15
-0.2
-0.5 -0.25
-0.3
-1
-2 0 2 4 6 8 10 -2 0 2 4 6 8 10
t(s) t(s)
⎛ t −t ⎛ 2π(t − ti ) ⎞ ⎞
(
q(t ) = q f − qi ⎜) i
−
1
sin ⎜
⎜ t f − t i 2π ⎜ t f − t i ⎟ ⎟
⎟ ⎟ + qi
⎝ ⎝ ⎠⎠
q f − qi ⎛⎜ ⎛ 2π(t − ti ) ⎞ ⎞
q& (t ) = 1 − cos⎜ ⎟⎟
t f − ti ⎜ ⎜ t f − ti ⎟ ⎟
⎝ ⎝ ⎠⎠
q&&(t ) =
(
2 π q f − qi ) sin⎛⎜ 2π(t − ti ) ⎞⎟
(t f − ti )2 ⎜⎝ t f − ti ⎟⎠
4π 2 (q f − qi ) ⎛ 2π(t − ti ) ⎞
j (t ) = cos⎜ ⎟
(t f − ti )3 ⎜ t f − ti ⎟
⎝ ⎠
10 2.5
8 2
6 1.5
gradi/s
gradi
4 1
2 0.5
0 0
-2 0 2 4 6 8 10 -2 0 2 4 6 8 10
t(s)
Accelerazione Jerk
1 1
0.5 0.5
gradi/s2
gradi/s3
0 0
-0.5 -0.5
-1 -1
-2 0 2 4 6 8 10 -2 0 2 4 6 8 10
t(s) t(s)
Spesso la durata ta della fase di accelerazione (fase 1) è posta uguale alla durata
della fase di decelerazione (fase 3): si ottiene in questo modo una traiettoria
simmetrica rispetto all’istante medio tra quelli iniziale e finale. Naturalmente deve
essere ta≤(tf – ti) /2.
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [21]
P.v.t.: equazioni traiettoria
Fase di accelerazione Fase di velocità costante
t ∈ [ti , ti + t a ]
[
t ∈ ti + t a , t f − t a ]
⎧ q&v
⎪ &
q&(t ) = ⎧
⎪ ta ⎪q&&(t ) = 0
⎪ q&v ⎪
⎨ &
q (t ) = (t − ti ) ⎨q& (t ) = q&v
⎪ t a
⎪ ⎛ ta ⎞
⎪
q (t ) = q +
q&v
(t − t )2 ⎪ q (t ) = q + &
q v⎜ t − t − ⎟
⎪ i i
⎩
i
⎝
i
2 ⎠
⎩ 2t a
Fase di decelerazione
[
t ∈ t f − ta , t f ]
⎧ q&v
⎪ &
q&(t ) = −
⎪ ta
⎪
⎨ &
q (t ) =
q&v
ta
(tf −t )
⎪
⎪
⎪ q (t ) = q f −
q&v
(
tf −t )2
⎩ 2t a
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [22]
P.v.t.: esempio
ti = 0, t f = 4 s, t a = 1s, qi = 0°, q f = 30°, q& v = 10° / s
Posizione Velocità
12
30
10
25
8
20
6
gradi/s
gradi
15
4
10
2
5
0
0
-2
-1 0 1 2 3 4 5 -1 0 1 2 3 4 5
t(s)
Accelerazione
10
5
gradi/s2
-5
-10
-1 0 1 2 3 4 5
t(s)
4h
(deve essere: q&& ≥ )
2
T
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [25]
P.v.t.: accelerazione e velocità max
Se si vogliono imporre i valori massimi di velocità ed accelerazione consentiti
dall’attuatore, si pone:
⎧ q& max
⎪t a = tempo di accelerazione
⎨ &&
q max
⎪⎩h = q& max (T − t a ) distanza percorsa
La durata del moto (che non è imposta) vale quindi: h q& max
T= +
&q max q&&max
da cui:
⎧
⎪ q i +
1
&
q&max (t − t i )2
ti ≤ t < ti + t a
2
⎪
⎪ ⎛ t ⎞
q (t ) = ⎨qi + q&&max t a ⎜ t − ti − a ⎟ ti + t a ≤ t < t f − t a
⎪ ⎝ 2⎠
⎪
⎪⎩ q f −
1
2
q ( )
&&max t f − t 2 t f − ta ≤ t ≤ t f
2
q& max
Attenzione: il tratto lineare esiste se e solo se: h ≥
q&&max
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [26]
P.v.t.: velocità max non raggiunta
2
q& max
Se: h<
q&&max
⎧ h
si impone: ⎪t a =
⎨ q&&max
⎪ T = 2t
⎩ a
da cui:
⎧
q +
1
⎪ i 2 max&
q& (t − t )2
ti ≤ t < ti + t a
q (t ) = ⎨
i
1
(
⎪q f − q&&max t f − t 2
⎩ 2
) t f − ta ≤ t ≤ t f
h
T = 2t a = 2
q&&max
h q& max
T= +
q& max q&&max
gradi/s
gradi
30
60
40 20
20 10
0 0
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
Accelerazione Jerk
100 500
50
gradi/s2
gradi/s3
0 0
-50
-100 -500
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
t(s) t(s)
Con questa modalità di pianificazione della traiettoria non si impone la durata del
posizionamento. Esso risulta dalla seguente formula (valida nel caso si raggiungano
i valori massimi di velocità ed accelerazione):
T = 2T1 + T2
con:
Vmax ⎛ A ⎞
T1 = T j + ⎜ T j = max ⎟
⎜ ⎟
Amax ⎝ J max ⎠
q f − VmaxT1
T2 =
Vmax
Una volta pianificata una traiettoria è spesso necessario scalarla per soddisfare i
vincoli del sistema di attuazione, che si manifestano in termini di saturazioni.
Si parla in particolare di:
1) Messa in scala cinematica: si deve fare in modo che la traiettoria rispetti vincoli
sulla massima velocità e sulla massima accelerazione;
2) Messa in scala dinamica: si deve fare in modo che agli attuatori del sistema
meccanico non vengano richieste coppie superiori alle coppie massime erogabili.
Di seguito faremo qualche cenno alla messa in scala cinematica, con riferimento
naturalmente a quei profili di traiettoria (cubica, armonica, ecc.) per i quali tali
valori non sono imposti nella pianificazione.
σ(τ ) = a0 + a1τ + a 2 τ 2 + a3 τ 3
Imponendo le condizioni al contorno σ'(0)=0, σ'(1)=0 (oltre a σ (0)=0, σ (1)=1):
a0 = 0, a1 = 0, a 2 = 3, a3 = −2
da cui:
σ(τ ) = 3τ 2 − 2τ 3 σ′′(τ ) = 6 − 12τ
σ′(τ ) = 6τ − 6τ 2 σ′′′(τ ) = −12
I valori massimi di velocità ed accelerazione sono quindi:
σ′max = σ′(0.5) =
3 3h
⇒ q& max = Operando sulla durata T della traiettoria
2 2T possiamo rispettare i vincoli su velocità ed
′ = σ′′(0 ) = 6
6h
σ′max ⇒ q&&max = accelerazione.
T2
σ(τ ) = a0 + a1τ + a 2 τ 2 + a3 τ 3 + a 4 τ 4 + a5 τ 5
Imponendo le condizioni al contorno σ (0)=0, σ (1)=1, σ'(0)=0, σ'(1)=0, σ''(0)=0,
σ'' (1)=0 :
a0 = 0, a1 = 0, a 2 = 0, a3 = 10, a 4 = −15, a5 = 6
da cui:
σ(τ ) = 10τ 3 − 15τ 4 + 6τ 5 σ′′(τ ) = 60τ − 180τ 2 + 120τ 3
σ′(τ ) = 30τ 2 − 60τ 3 + 30τ 4 σ′′′(τ ) = 60 − 360τ + 360τ 2
I valori massimi di velocità, accelerazione e jerk sono quindi:
σ′max = σ′(0.5) =
15 15h
⇒ q& max =
8 8T
′ = σ′′(0.2123) =
10 3 10 3h
σ′max ⇒ q&&max =
3 3T 2
′′ = σ′′′(0 ) = 60
h
σ′max ⇒ jmax = 60 3
T
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [37]
Traiettoria armonica
La traiettoria può essere parametrizzata con la funzione:
σ(τ ) = τ −
1
sin 2πτ
2π
da cui:
σ′(τ ) = 1 − cos 2πτ
σ′′(τ ) = 2π sin 2πτ
σ′′′(τ ) = 4π 2 cos 2πτ
⎪⎩ 2T 2 ⎪⎩ 160
⎧ h ⎧ 2h
⎪⎪ q& max = 2 ⎪⎪T = 30 = 2.667
T
Cicloidale ⎨ ⎨ 2.667
⎪T = 2πh = 1.772
h
⎪q&&max = 2π 2
⎪⎩ T ⎪⎩ 80
Parte II
R L
I
V E alloggiamento
statore
1
(magnete)
V
V (t ) = RI (t ) + LI&(t ) + E (t )
E
E (t ) = Kωm (t )
1
τ(t ) = KI (t )
τ(t ) = J m ω
& m (t )
q& m (t ) = ωm (t ) K
E
V+ − 1 I τm 1 ωm 1 qm
Traducibili nello schema a blocchi: sL+R
K Jms s
Vista la dinamica veloce legata ai transitori elettrici si potrà progettare RI(s) per
ottenere una banda passante molto ampia, dell’ordine delle migliaia di rad/s.
Nel progetto del regolatore di corrente si potrà inoltre assumere la forza
controelettromotrice come un disturbo di bassa frequenza.
Una volta chiuso l’anello di controllo della corrente, questo potrà ritenersi
praticamente istantaneo ai fini del progetto del controllore di posizione esterno:
τ m (t ) = KI (t ) ≈ KI o (t )
Potremo quindi assumere come variabile di controllo per il controllo
posizione/velocità direttamente la coppia motrice τm
τlr .
τm + qm 1 qm
Gv(s) s
con:
Gv (s ) =
1
Dm + s (J m + J lr )
⎛ ⎞ 1 + sTiv
RPI (s ) = K pv ⎜⎜1 +
1
⎟ = K pv 70
⎟
⎝ sTiv ⎠ sTiv 60
50
Funzione d’anello: 40
K pv µ 1 + sTiv
Lv (s ) = RPI (s )Gv (s ) =
30
dB
20
s sTiv 10
w (rad/s)
10
2
10
3
10 ωcp ωcv
Fv (s ) ≈
1 0
1 + s ωcv -10
-20
La funzione d’anello è quindi:
dB
-30
K pp
L p (s ) = K pp Fv (s ) =
1 -40
s s (1 + s ωcv )
-50
-60
-70
garantire una banda sull’anello di posizione ωcp≈ Kpp. L’integratore tra velocità
e posizione assicura inoltre la precisione statica a fronte di riferimenti costanti
a regime.
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [50]
Anticipo di velocità
s
τlr .
qom +
Kpp + + R (s) τm +
Gv(s)
qm
1/s
qm
− −
PI
τlr .
q m+
o
τm + qm qm
RPID(s) Gv(s) 1/s
−
qom +
Kpp + + R (s) τm
− −
PI
s
qm
PI m ( m pp m (
Risulta: τ (s ) = R (s ) sq o (s ) − sq (s ) + K q o (s ) − q (s ) =
m m ))
⎛
= K pv ⎜⎜1 +
1 ⎞
( )( ) (
⎟⎟ s + K pp qmo (s ) − qm (s ) = RPID (s ) qmo (s ) − qm (s ) )
⎝ sTiv ⎠
⎛ ⎞ ⎧ ⎛ 1 ⎞
RPID (s ) = K P ⎜⎜1 +
1
+ sTD ⎟⎟ ⎪ K P = K pv ⎜⎜ K pp + ⎟ (formule per il
⎝ sTI ⎠ ⎪ ⎝ Tiv ⎟⎠
⎪⎪ passaggio dal P/PI al
K pv
⎨ DT = PID)
⎪ Kp
⎪ K pTiv
⎪ IT =
⎪⎩ K pp K pv
Schema a blocchi: .
1 ql 1 τl
s Jls + − È un sistema di
ql ordine 4 (ci sono 4
n
n variabili di stato)
.
τm + qm qm + τ lm
1 1 −
Dels+Kel
− Jms + Dm s
Del s + K el
Gvl ( s ) =
J lr J m s 3 + (JDel + J lr Dm )s 2 + (JK el + Dm Del )s + Dm K el
⎡ Jl ⎤
⎢ J lr = , J = J lr + J m ⎥
⎣ n2 ⎦ Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [56]
Parametri notevoli
Poniamo Dm=0 ed introduciamo i seguenti parametri:
J
ρ = lr (rapporto di inerzia)
Jm
K el D 1
ωz = , ζ z = el (puls. naturale e smorzamento degli zeri)
J lr 2 J lr K el
Si ottiene:
ζ zs s2 ζzs
1+ 2 + 2 1+ 2
µ ωz ωz µ ωz
Gvm ( s ) = Gvl ( s ) =
s ζ ps s2 s ζ ps s2
⎡ 1⎤ 1+ 2 + 2 1+ 2 + 2
⎢µ = J ⎥ ωp ωp ωp ωp
⎣ ⎦
ζzs
1+ 2
ωz
dove: Glm ( s ) =
ζ zs s2
1+ 2 + 2
ωz ωz
Jm Jl
Il sistema libero oscilla alla pulsazione Del
dei poli di Gvm, ossia ωp: questa
pulsazione è detta natural frequency.
K el
ζ zs s2
1+ 2 + 2
µ ωz ωz
Gvm ( s ) =
s ζ ps s2
1+ 2 + 2
ωp ωp
Im ωp ζp
= = 1+ ρ > 1
ωz ζz
ωp ωz
−ζpω p −ζ zω z Re
I poli sono a
più alta
frequenza e più
smorzati
ζz=0.1 30
20
risonanza
|G vm|
10
-10
-20
10
-2 -1
10 10
0
10
1 antirisonanza
w/wz
s
.
qom +
Kpp + + R (s) τm
Gvm(s)
qm
1/s
qm
Glm(s)
nql
− −
PI
⎛ ⎞ 1 + sTiv
RPI (s ) = K pv ⎜⎜1 +
1
⎟ = K pv
⎟
⎝ sTiv ⎠ sTiv
Funzione d’anello: ζ zs s2
1+ 2 + 2
K pv µ 1 + sTiv ωz ωz
Lv (s ) = RPI (s )Gvm (s ) =
s sTiv ζ ps s2
1+ 2 + 2
ωp ωp
100 150
100
50
dB
dB
50
0
0
Il margine di
-50 -3 -50 -3
10 10
-2
10
-1
10
0
10
1
10 10
-2
10
-1
10
0
10
1
fase è
100 100
elevato
0 0
deg
deg
-100 -100
-200 -3 -2 -1 0 1
-200 -3 -2 -1 0 1
10 10 10 10 10 10 10 10 10 10
ω ωz ω ωz
ρ=1
ζz=0.1 Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [63]
Criterio di Bode
Dal criterio di Bode risulta sempre margine di fase molto elevato. Non emergono
limiti significativi…
Guardiamo però la risposta in frequenza in anello chiuso lato motore e carico:
~ = 1.5
ω 10
cv motore
0 carico
-10
-20
-30
-40
-50
-60
-70
-80
-90 -2 -1 0 1 2
10 10 10 10 10
ωω
rad
z
C’è una risonanza lato carico che il criterio di Bode non coglie.
0
Lo smorzamento massimo si
-0.5 ottiene per:
~ ≈ 0.7
ω
-1 cv
-1.5
-1 -0.5 0 0.5 1
(ωcv ≈ 0.7ω z )
Real Axis
Lv (s )
Fv (s ) = Anello chiuso di velocità
1 + Lv (s )
Fv (s )
La funzione d’anello per il controllo di posizione è: L p (s ) = K pp
s
Introduciamo anche in questo caso un parametro di progetto
normalizzato:
K pp È la pulsazione critica di progetto, valutata sul modello
γ pp =
ωz rigido (Kpp), normalizzata alla pulsazione ωz.
3 3 3
2 2 2
1 1 1
Imag Axis
Imag Axis
Imag Axis
0 0 0
-1 -1 -1
-2 -2 -2
-3 -3 -3
-1 -0.5 0 0.5 1 -2 -1 0 1 2 -3 -2 -1 0 1 2
Real Axis Real Axis Real Axis
~ = 0.5
ω ~ = 2.5
ω
cv cv
1.6 1.8
motore motore
carico 1.6
1.4 carico
1.4
1.2
1.2
1
1
0.8
0.8
0.6 0.6
0.4 0.4
0.2 0.2
disturbo di coppia
0
0 0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1 t (s)
t (s)
τiv=10 -80
γpp=0.1 -100
-120 -1 0 1 2
10 10 10 10
wc/wz
z ~ 1+ ρ
2ω cv 5
Lv (s )
Fv (s ) = Anello chiuso di velocità: nulla cambia nel suo progetto
1 + Lv (s )
Fv (s )
L p (s ) = K pp Glm (s )
s
ζ s
1+ 2 z
ωz
Glm ( s ) =
ζ zs s2
1+ 2 + 2
ωz ωz
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [73]
Luogo delle radici
Fv (s )
L p (s ) = K pp Glm (s )
s
~
Tracciamo il luogo delle radici al variare di γpp, per diversi valori di ωcv:
~ = 0. 5
ω ~ =1
ω ~ = 1.5
ω
cv cv cv
3 3 3
2
γ pp max ≈ 1.07 2
γ pp max ≈ 0.63 2 γ pp max ≈ 0.5
1 1 1
Imag Axis
Imag Axis
Imag Axis
0 0 0
-1 -1 -1
-2 -2 -2
-3 -3 -3
-3 -2 -1 0 1 2 -3 -2 -1 0 1 2 -3 -2 -1 0 1 2
Real Axis Real Axis Real Axis
~ = 0.5
ω ~ = 2.5
ω
cv cv
1.4
motore 1.8
motore
1.2 carico 1.6 carico
1.4
1
1.2
0.8
1
0.6 0.8
0.4 0.6
0.4
0.2
0.2
0
disturbo di coppia
0 0.2 0.4 0.6 0.8 1 0
0 0.2 0.4 0.6 0.8 1
t (s)
t (s)
-1
-2
-3
-4
0 0.2 0.4 0.6 0.8 1
t (s)
nql ( s ) 40
= Flm ( s ) Il picco di
q mo ( s )
20
0 risonanza aumenta
~
ρ=1
-20
all’aumentare di ωcv
-40
ζz=0.03 -60
τiv=10 -80
γpp=0.1 -100
-120 -1 0 1 2
10 10 10 10
w/wz
1 ρ 25
ζz + ~ − 0.5γ pp
2ωcv 1 + ρ 20
ζˆ = 15
γ pp 1
1+ ~
10
ω 1+ ρ cv
5
-5 -1 0 1
10 10 10
wc/wz
Parte III
RD (s ) = K P
sTD
1 + sTD N
dove N è un parametro che determina la costante di tempo del polo di alta
frequenza. Più elevato è N, più ampia sarà la banda in cui l’azione derivativa
ideale verrà approssimata, ma più alta sarà anche l’amplificazione di eventuali
rumori di misura. Tipicamente si sceglie N=5÷10.
⎛ ⎞
G fb (s ) = K P ⎜⎜1 +
1 sTD
+ ⎟⎟
⎝ sTI 1 + sTD N ⎠
In questo modo si possono scegliere gli zeri della funzione di trasferimento dal
sepoint in modo opportuno. Se ad esempio il sistema sotto controllo è un
doppio integratore (G(s)=µ/s2), si ottiene:
Y (s ) G (s ) cs 2TDTI + bsTI + 1
= G ff (s ) =
Ysp (s ) 1 + G (s )G fb (s ) 3 TI
s + s 2TDTI + sTI + 1
µK P
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [84]
Il wind-up
Tutti gli attuatori presentano una saturazione, che può essere rappresentata
nel sistema di controllo come nel seguente schema :
yo + e u m y
R(s) Sat G(s)
−
m
Il blocco “Sat” costituisce una caratteristica di
uM
saturazione, che assumeremo simmetrica:
−uM u
uM
−uM
Facciamo riferimento al caso in cui il regolatore sia puramente integrale (R(s) = kI/s).
Supponiamo che l’errore e resti a lungo dello stesso segno, ad esempio positivo. La
variabile di stato dell’integratore, e quindi la variabile u, cresce indefinitamente e può
superare, anche di molto, il valore di saturazione uM, facendo operare l’attuatore in regime
di saturazione (m ≡ uM).
Quando, per effetto di questa azione di controllo perdurante al valore massimo, la variabile
di controllo y avrà superato il valore del suo riferimento yo, rendendo quindi l’errore e
negativo, sarebbe auspicabile che la variabile m lasciasse il valore massimo uM ed
assumesse valori inferiori.
Affinché ciò avvenga, tuttavia, è necessario attendere che la variabile u rientri dai valori
elevati raggiunti nella fase precedente, fino ad assumere valori inferiori al limite di
saturazione uM: questa fase di scarica, o desaturazione, dell’azione integrale, può essere di
durata rilevante e dà luogo ad un comportamento anomalo del sistema di controllo.
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [86]
Regolatori anti wind-up
Un primo modo di ovviare al problema del wind-up consiste nel realizzare il
regolatore in modo alternativo. Si supponga di dover implementare un regolatore
PI:
⎛ 1 ⎞
R(s ) = K P ⎜⎜1 + ⎟⎟ e
KP
q+ u
Sat
m
⎝ sTI ⎠ +
e se ne consideri il seguente schema anti-windup: z 1
1+sTI
Si supponga nuovamente che l’errore e rimanga dello stesso segno, ad esempio
positivo, a lungo. Se KP è positivo, anche q assumerà valori positivi. Si supponga
quindi l’attuatore in saturazione con m=uM. Poiché il blocco in retroazione ha
guadagno unitario, anche la variabile z si assesterà sul valore uM. Quando, per
effetto della prolungata azione dell’attuatore, l’errore cambia segno, anche la
variabile q cambierà segno, istantaneamente. Il fatto che q assuma valori negativi,
unito al fatto sopra ricordato che z= uM, implica poi che u assuma immediatamente
valori inferiori a uM, facendo subito uscire l’attuatore dalla saturazione,
ripristinandone quindi il comportamento lineare.
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [87]
Regolatori anti wind-up
e q+ u m
KP Sat
+
z 1
1+sTI
Si osservi che quando la saturazione non è raggiunta, il blocco Sat equivale ad un
guadagno unitario, e la funzione di trasferimento da e a m diventa:
⎛ 1 ⎞ Il comportamento dinamico nominale è
R(s ) = K P
1
⎜
= K P ⎜1 + ⎟⎟
1 ⎝ sTI ⎠ quindi quello del regolatore PI.
1−
1 + sTI
Se la variabile manipolabile m non è disponibile, si può fare riferimento alla
saturazione propria dell’uscita del regolatore:
e + u m' m
KP Sat Sat
+
1
1+sTI
Controlli automatici per la meccatronica - Controllo del moto - P. Rocco [88]
Integrazione condizionata
Un modo alternativo, di largo utilizzo, per far fronte al problema del wind-up
dell’integratore consiste nell’interrompere l’integrazione quando l’attuatore si
trova in saturazione (integrazione condizionata):
+ sTD
c − 1+sTD/N
+ ++ KP + U M
b − +
Sat
Ysp + KP/TI
=0 1 |.| |.|
− <0 s
−
Y +
0
Il modo più sicuro di implementare questo schema di anti-windup consiste nel far
uso di un sensore che rilevi quando l’attuatore entra in saturazione (ad esempio un
fine corsa elettrico per un motore). In assenza di questo, si può fare riferimento
alla saturazione dell’uscita propria del regolatore.
+ sTD I
c − 1+sTD/N
+ ++ KP + M U M
b − + A
Sat
Ysp + KP/TI
=0 1 |.| |.|
− <0 s
−
Y +
0
1
sinusoidal
0.5
sweep
per valutare i limiti di prestazione, 0
-0.5
-1
frequency
occorre disporre di stime di ζz, ωz e ρ.
-1.5
-2
0 5 10 15 20 25 30
response
Per identificarne sperimentalmente i qm I ref qm
+ + + G (s)
R(s)
valori, si possono utilizzare gli −
m
dB
-10
-20
Fm ( jω p ) 1 ρ 2
≈
-30
Fm ( jω z ) 4ζ 2z (1 + ρ)2 -40
-50
-1 0 1 2 3
10 10 10 10 10
w (rad/s)