Controllo Sliding Mode
Esempio. Si consideri il seguente sistema:
˙x1 = x2
˙x2 = −a0x1 − a1x2 + u
e si analizzi il comportamento dinamico del sistema retroazionato nel caso in cui si utilizzi il seguente controllo:
u =
−αx1 se x1s > 0
αx1 se x1s < 0 dove s = c1x1 + x2
Utilizzare i seguenti parametri: a0 = 1, a1 = 2, α = 3, c2 = 1.5.
Soluzione. Il polinomio caratteristico del sistema senza retroazione `e: p(s) = s2 + a1s + a0. Il sistema proposto ha una “struttura variabile” nel senso che al variare del segno della funzione x1s il sistema ha comportamenti dinamici strutturalmente diversi. Il polinomio caratteristico del sistema retroazionato `e:
p(s) = s2 + a1s + a0 + α sign(x1s).
Traiettorie del sistema nel caso in cui sign(x1s) > 0 (fuoco stabile):
−1.5
−1
−0.5 0 0.5 1 1.5
Variabile x2(t)
Traiettorie quando u=−alpha*x1
s= 0
x1= 0
Traiettorie del sistema nel caso in cui sign(x1s) < 0 con α > a0 (sella):
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−1.5
−1
−0.5 0 0.5 1 1.5
Variabile x 1(t) Variabile x2(t)
Traiettorie quando u=+alpha*x1
s= 0
x1= 0
Utilizzando il controllo u = −αx1 sign(x1s) si ottengono le seguenti traiettorie:
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−1.5
−1
−0.5 0 0.5 1 1.5
Variabile x 1(t) Variabile x2(t)
Traiettorie quando u=−alpha*x1*sgn(x1*())
s= 0
x1= 0
Il sistema retroazionato risulta globalmente asintoticamente stabile.
Quando le traiettorie raggiungono la linea s = 0, cio`e x2 = −c1x1, il controllo u(t) incomincia a commutare a frequenza “infinita” e da quel punto in poi le traiettorie “scivolano” lungo la linea s = 0.
0 0.5 1 1.5 2 2.5 3 3.5 4
−4
−3
−2
−1 0 1
Variabile s(t)
0 0.5 1 1.5 2 2.5 3 3.5 4
−4
−2 0 2 4 6
Controllo u(t)
Time [s]
Ricordando che x2 = ˙x1, la dinamica del sistema in condizioni di sliding `e:
s = 0, → ˙x1 = −c1x1 → x1(t) = e−c1tx1(0)
cio`e le variabili di stato tendono a zero con una velocit`a (cio`e un tempo di assestamento) che non `e pi`u funzione dei parametri del sistema, ma `e funzione solamente dei coefficienti (in questo caso c1) della superficie di sliding s = 0.
−1
−0.5 0 0.5 1 1.5 2 2.5
Variabile x1(t)
−1
−0.5 0 0.5 1 1.5 2 2.5
Variabile x2(t)
La variabile di controllo u(t) commuta a frequenza infinita e in ogni istante assume un valore medio pari al controllo equivalente ueq necessario per man- tenere la traiettoria del sistema esattamente sulla superficie s = 0. Il controllo equivalente ueq si determina imponendo ˙s = 0:
˙s = 0 → c1˙x1 + ˙x2 = 0 → c1x2 − a0x1 − a1x2 + ueq = 0 da cui si ricava:
ueq = −c1x2 + a0x1 + a1x2
La tecnica di controllo Sliding Mode `e caratterizzata dai seguenti aspetti:
• E’ adatta solamente nei casi un cui la variabile di controllo u(t) possa commutare a frequenza molto elevata. `E adatta per esempio nel caso del controllo di motori elettrici dove u(t) tipicamente `e una tensione.
• Da un punto di vista pratico la frequenza di commutazione `e “finita”, per cui la superficie di sliding s = 0 viene inseguita con un piccolo errore.
• La commutazione “a frequenza finita” del controllo introduce un’oscilla- zione ad alta frequenza all’interno del sistema (“chattering”) che se non viene adeguatamente filtrata dal sistema pu`o causare vibrazioni o rumore all’ interno del sistema.
• I disturbi che agiscono sul sistema durante la fase di sliding e che non satu- rano il controllo vengono eliminati completamente e istantaneamente.
• La dinamica del sistema sulla superficie di sliding s = 0 `e funzione dei soli parametri della superficie stessa.
Interleaved Boost Converter with magnetic coupling
Let us consider the following physical system which describes an interleaved Boost Converter with magnetic coupling (m = 3):
Vg
L1
L2
L3
I1
I2
I3
D1
D2
D3
s1
s2
s3
Vc
C
R
The POG scheme of the Boost Converter is the following:
Vg
Idc r
r
Parallel inputs
BTm - Bm -
Inductive section
-
L−1m
1 s
?
?
?
Im
r -
Rm
6
6
-r -
Switching coupling
- STm -
Sm
Capacitive section
r -
1 C
1 s
6 6 6
V0
-
-r -
1 R
?
?
r0
r
Matrices Bm Lm, Rm, Sm and Im are defined as follows:
Bm =
1 1 1...
, Lm =
L1 M12 M13 . . . M1m M12 L2 M23 . . . M2m
M13 M23 L3 . . . M3m
... ... ... . .. ...
,
and
Rm =
R1 0 0 . . . 0 0 R2 0 . . . 0 0 0 R3 . . . 0 ... ... ... ... ...
0 0 0 . . . Rm
, Sm =
s1
s2
s3
...
sm
, Im =
I1
I2
I3
...
sm
where si are the control inputs:
si ∈ {0, 1}, i ∈ {1, 2, 3}
The corresponding state space description is the following:
Lm 0
0 C
| {z }
L
˙Im V˙0
| {z }
˙x
=
−Rm −Sm
Sm −R1
| {z }
A
Im V0
| {z }
x +
Bm 0
| {z }
B
Vg
| {z }
u
(1)
In a compact form it is:
L ˙x = A x + B u
The energy stored in the system Es and the dissipating power Pd can be easily computed as follows:
Es = 1
2xT L x, Pd = xT A x
The POG scheme of the Boost Converter when m = 3 is the following:
Vg
Idc r r
Parallel inputs
h
1 1 1i -
1 1 1
-
Inductive section
-
L−1
m
1 s
?
?
?
Im=
I1
I2
I3
r -
Rm 6
6
-r -
Switching coupling
- h
s1s2s3i -
s1
s2
s3
Capacitive section
r -
1 C
1 s
6 6 6 V0
-
-r -
1 R
?
? r0 r
From The POG scheme it is straightforward to obtain the following state space description:
L1 M12M13 0 M12 L2 M23 0 M13M23 L3 0
0 0 0 C
˙I1
˙I2
˙I3
V˙0
=
−R1 0 0 −s1
0 −R2 0 −s2
0 0 −R3 −s3
s1 s2 s3 −R1
I1
I2
I3
V0
+
1 1 1 0
Vg
The POG scheme can be directly introduced in Simulink:
T_dcm Bg’* uvec
Tensione1 Bg* uvec
Tensione
Im Tempo3 Idc
Tempo2
Vc Tempo1
t Tempo
[s1; s2; s3]
Subsystem1
[s1 s2 s3]
Subsystem
K*uvec Resistance 1/R Load
resistance 1
Integrator1 s
1 Integrator s
K*uvec Inductance
Sk Goto s1
Constant2
0 Constant1 Vg
Constant
Clock
1/C Capacitor
When m = 1 one obtains the following simplified model:
L1 ˙I1 = −R1I1 − s1V0 + Vg
C ˙V0 = s1I1 − R1 V0
(2) In matrix form it can be described as follows:
L1 0 0 C
˙I1
V˙0
=
−R1 −s1
s1 −R1
I1
Vo
+
1 0
Vg (3)
When s1 = 0, the two dynamic elements are de-coupled:
L1 ˙I1 = −R1I1 + Vg
C ˙V = −1 V ⇒
I1(t) = e−R1L1tI10 + RVg
1
1 − e−R1L1t
V (t) = e− t V
The state space trajectories when s1 = 0 are (see “Boost.m” and “Boo- st mdl.mdl”):
0 2 4 6 8 10 12 14 16 18 20
0 20 40 60 80 100 120 140 160 180 200
Corrente I1(t) Tensione V0(t)
Traiettorie nello spazio degli stati: s1 = 0
When s1 = 1, the two dynamic elements are coupled:
L1 ˙I1 = −R1I1 − V0 + Vg
C ˙V0 = I1 − R1 V0
The steady-state point is (I1, V0) = (RVg
1+R, RVgR
1+R). The state space trajecto- ries when s1 = 1 are:
0 2 4 6 8 10 12 14 16 18 20
0 20 40 60 80 100 120 140 160 180 200
Corrente I1(t) Tensione V0(t)
Traiettorie nello spazio degli stati: s1 = 1
Feedback control
Let Vref denote the desired output voltage and let us consider the following control law:
λ(V0) = Vref − V0 ⇒ s1 = 1 + sign(λ(V0))
2 =
1 if λ(V0) ≥ 0 0 if λ(V0) < 0 The obtained trajectories in the state space (I1, V0) are the following (see files
“Boost 3.m” and “Boost 3 mdl.mdl”):
0 2 4 6 8 10 12 14 16 18 20
0 20 40 60 80 100 120 140 160 180 200
Corrente I1(t) Tensione V0(t)
Traiettorie nello spazio degli stati
The dynamics of the system when the sliding surface λ(V0) = Vref − V0 = 0 is reached is obtained by imposing ˙λ(V0) = 0:
V˙0 = 0 → s1I1 − 1
R Vref = 0 → s1 = Vref
R I1
= ¯s1
The control variable s1 ∈ {0, , 1} theoretically switches at infinite frequen- cy with duty-cycle equal to ¯s1 ∈ [0, 1]. The duty-cycle cannot exceed the maximum value:
¯
s < 1 → I > Vref
obtains the following nonlinear differential equation:
˙I1 = −R1I1
L1
− Vref2 R L1I1
+ Vg L1
↔ ˙I1 = f (I1) (4) The equilibrium points I1a,1b∗ of this equation are obtained when ˙I1 = 0:
R1R I12− VgR I1+ Vref2 = 0 → I1∗a,1b = VgR ∓ rVg2R2 − 4 R1RVref2 2 R1R
The equilibrium points I1a,1b∗ are real only if:
Vg2R2 − 4 R1RVref2 > 0 → Vref <
vu uu t
R 4R1
Vg
Qualitative behavior of variable ˙I1 as a function of current I1, see eq. (4).
0 5 10 15 20 25 30
−5000
−4000
−3000
−2000
−1000 0 1000 2000 3000 4000 5000
Function ˙I1 = ˙I1(I1)
˙ I[A]1
I1 [A]
I1a∗ I1b∗
From this figure it is evident that the equilibrium point I1a∗ is unstable, while the equilibrium point I1b∗ is stable. Equation (4) can be linearized computing the Jacobian of function f (I1):
J(I1) = ∂f(I1)
∂I1
= −R1
L1
+ Vref2 R L1I12
One can easily verify that J(I1a∗ ) > 0 and J(I1b∗ ) < 0, that is point I1a∗ is unstable and point I1b∗ is stable.