Correcteurs Numriques
Andrei Doncescu
LAAS-CNRS
1
2
Plan
n Correcteur Proportionnel
n Correcteur P.I.D.
Historique
Approche Frquentielle
1942 ZIEGLER NICHOLS
Approche Temporelle Rglage optimale du PID
1940 : BODE
1934 : BLACK
1932 : NYQUIST
1788 : WATT
1894 : HURWITZ Rgulateur de vitesse
1877 : ROUTH 1630 : DREBELL
Rgulateur de Temprature
Performance
+
Robustesse
Contrainte Performance/Robustesse
+ on va vite + le systme doit tre robuste
Performance
+ 6
Influence de la frquence
dchantillonnage sur la stabilit
n Considrons la fonction de transfert en B.O. , G(p) plac dans
une boucle retour unitaire, avec :
K
G( p) =
1+ p
s
T
T
s K 1 e
K(1 e )
G(z) = H (z) =
s
T T T
s s
ze z e + K 1 e
Remarque : Bien Noter que lon pas le droit de dduire la fonction de transfert
chantillonne en B.F. partir de la fonction de transfert continue en B.F
+ Le Systme en temps continu est toujours stable, le systme 7
Rle du Correcteur
Correcteur
E(z) S(z)
+ C(z) A(z)
-
B(z)
E(z) S(z)
+ C(z) Bo(p) A(z)
Te Te
-
B(z)
Te
W(p)
E(p)
+ C(p) + A(p) S(p)
-
W(p)
+ A-D C(z) D-A + A(p) S(p)
-
1 1 C( p)
C '(z) = (1 z )Z L
p
+ Problmes Spcifique lis aux 11
correcteurs numriques
n Principe dEquivalence :
1 1
Action intgrale : C( p) = C(z) =
p 1 z 1
-
+ 14
1+ C(z)GZAS (z) = 0
1+ K L(z) = 0
C(z) = fonction de transfert du correcteur
GZAS(z) = fonction de transfert du procd,
L(z) = gain de boucle
K = gain
Observations 15
Rapide Lent
Reel
0
Stable
Etude dun systme du premier ordre instable
1
G ( p) = pour pi = { 0.7 , 0.5}
p
1+
pi
On observer que:
-Le systme nest pas stable (dans le sens entre borne / sortie borne).
-Le systme est dautant plus rapide que le ple est grand en valeur absolue
Rapide Lent
Reel
0
Stable Instable
Exemple
1er ordre chantillonn:
T
ek
1 sk
B0
1 + p
" 1 %
F ( Z ) = (1 z 1 ).TZ $ '
$# p (1+ p ) '&
On sait que :
! 1 $ 1 1
TZ # &=
#" p (1+ p ) &% ples de
rsidus de
p (1+ p ) (1-z-1e pT )
1
p(1+p )
! $ ! 1 $
1 1 & +# &
= #
#" (1+ p ) (1-z e ) &%
-1 pT
# p (1-z e ) &%
-1 pT
p=0 " p= 1
1 1
=
(1-z ) )+1-z-1eT ,.
-1
* -
1
F ( Z ) = (1-Z )
-1 1 1 = Z Z Z
(1-Z ) -1
-1 T
Z Z 1
T
1-Z e Z-e
T
1 e
F (Z ) = T
Ze
+ Exemple 1 22
Solution
n Lieu des racines (MATLAB rlocus).
n Root locus: laxe rel entre les poles et les zros.
n Pour un Systme Discret Stable le lieu des racine doit se situer entre
(-1,0) and (1,0) dans le plan-z.
n Le Gain Critique Kcr est obtenu pour (-1,0).
n E.C. de la B.F. z - 1+ K = 0
n Substitution z = -1 donne Kcr= 2
+ 23
Systme du seconde ordre stable
Y ( p) B( p) b0 + b1 .p + b2 .p 2
= G( p) = =
U( p) A( p) a0 + a1 .p + a2 .p 2
Zeros de G : p / b0 + b1 .p + b2 .p 2 = 0
Ples de G : p / a0 + a1 .p + a2 .p 2 = 0
Etudions la rponse un chelon dun systme du second ordre
de la forme:
c
G ( p) =
( p2 + p + c)
pour c = {1, 0.4375 }
Oscillant Imaginaire
Rapide Lent
Reel
0
Stable Instable
Domaine de stabilit
B( p )
G ( p) = est stable {p / A( p) = 0 ( p) < 0}
A( p)
+Oscillant
Instable
+ Dynamique
Remarques : sur les zros
Im{z}
. .. . .
. . . .
. . . . .
.
. . x
. . x
. Re{z}
x x x x x x
. . . . .
. . x . .
. . . .
..
. .
36
e t , t 0 1 e kT , k 0 z
f (t ) = F( p) = f (kT ) = F ( z) =
0 , t < 0 p + 0 , k < 0 z e T
Fonctions Temporelles & 37
Continu e nt sin(d t ), t 0
f (t ) =
0 , t < 0
Transforme de F( p) =
d
( p + n )2 + d2
Laplace
Echantillonn e nkT sin(d kT ), k 0
f (kT ) =
0 , k < 0
Transforme-z sin(d T )e nT z
F ( z) = 2
z 2 cos(d T )e nT z + e 2nT
+ 38
Observation
Si
la Transforme Laplace F(p) dune fonction continue
f(t) a un ple ps,
alors
Transforme en z, F(z) de la fonction f(kT), ayant une
priode dchantillonnage T a un pole
ps T
pz = e
pz = e T e jdT
= e T e j (dT +k 2 ), k = 0,1, 2,...
39
Correspondance
s / 2
s / 2
Correcteur Proportionnel dun
40
systme numrique
( ze ( n + j d )T
)( ze ( n j d )T
) = z 2 2 cos ( d T ) enT z + e2nT
nT
Poles z1,2 = e dT
Les Pole dans le plane p et dans le 41
plane z
Constant : -Contours
j Im(z)
5 3
4
10
2
3
6
2 2
1
-2
1
-6
0 0 -10
-1
-1
-2
-3
-2
-4
-5 -3 Re(z)
-10 -5 0 5 10 -3 -2 -1 0 1 2 3
j 2
3/4 /2 /4
3/4
1
/2
/4 0 0
0
-1
/4
/2 -2
3/4 /2 /4
3/4
-3 Re(z)
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
Poles z1, 2 = e nT nT 1 2
n Spirale logarithmique petite pour des grandes valeurs de .
!
180!
1 2 1 2
z =e =e
Contours Constant n
|z| = magnitude du pole Pour obtenir
2
( nT ) 2
= angle du pole z =e lexpression, il faut
liminer
+ Caractristique des Spirales 46
Logarithmiques
1. Pour chaque courbe, | z | diminue de manire logarithmique
quand augmente.
1 2
= ln ( z )
+ MATLAB 47
% frequencies (frquences)
+ Design des Correcteurs dans le 48
Plan-z
n Design Similaire avec les correcteur en continu
n Approximations difficiles partir du continu
n Bas sur la slection des ples dans le plan z.
Temps de rponse
n Temps du Rgime
Transitoire (ex: 2% de la
valeur finale).
n Temps de rponse 2%
4
Ts =
1
n
=
n
Specification
n MATLAB rlocus
(c) Utilisation de .
1 1 .5 1 .5
n = ln = 10 ln = 1.571
T 2 cos(d T ) 2 cos(0.5)
2d = 2n (1 2 ) = 25
d2 1 2 25
= = = 0.3, n = 5.24 rad/s.
( n )2
2
(1.571)2
(b) = 0.5 s
11
n = = = 2 rad/s
0.5
nT
= 10 cos 1 (0.75e 0.2 ) = 4.127 rad/s
1 1 . 5e
d = cos 1
T 2
2
1 2
(4.127) 2
d
= =
( n ) 2
2
22
(c) = 0.7
Rsoudre numriquement
n = 3.63 rad/s
Exemple 4
Conception dun correcteur proportionnel
pour un systme de contrle numrique
ayant une priode dchantillonnage de
T=0.1 s et les caractristiques suivantes : 1
G( p) =
a) Erreur de vitesse e() = 10% p( p + 5)
b) = 0.7
+ 59
Solution
4.261 10 3 ( z + 0.847)
GZAS ( z) =
( z 1)( z 0.606)
1 + KGZAS ( z) = z 2 (1606
. 4.261 10 3 K )z + 0.606 3.608 10 3 K
= z 2 2 cos( d T )e n T z + e 2 n T
1 z 1 4.261 10 3 (1 + 0.847) K
Kv = KG ( z) = 10 K =
T z z =1 (1 0.606) 5
K 100 100
= Kv = = = 10
5 e()% 10
K = 50
Lieu des racines pour K=50
61
+ 62
Amlioration de la prcision
K
C(z) =
(1 z ) 1 n
Correcteur Intgral 66
1
p (t ) = p + 0 e (t *)dt *
t
I
Chapter 8
P ( s ) 1 I s + 1
= K c 1+ = Kc
E ( s) Is I s
+ 67
1 1
p = lim = lim = 0.2 = 20%
z1 1+ G(z) z1 2z
1+
z 0.5
n Introduisons un intgrateur dans la chane directe (B.O.) :
K 2z
G(z) = 1
. ,K = 1
1 z z 0.5
n F.T. en B.F.
2z 2 2z 2 2
H (z) = = =
(z 1)(z 0.5) + 2z 2 3z 2 1.5z + 0.5 3 1.5z 1 + 0.5z 2
+ 69
K 2 2Kz 2
G(z) = = ,K 1
1
1 z 1 0.5z 1
( z 0.5 )( z 0.5 )
2Kz 2
H (z) =
(1+ 2K ) z 2 1.5z + 0.5
= 0.25 4K
1
p1,2 = p1,2 = 0.25, K = 3.5
2 (1+ 2K )
7
H (z) =
8 1.5z 1 + 0.5z 2
sk = 0.1875sk1 0.0625sk1 + 0.875ek
+ 71
ek 1 1 1 1 1 1 1 1 1
sk 0.875 1.039 1.015 1.000 0.999 1.00 1.00 1.00 1.00
Action Drive
C(z) = K (1 z 1 ) , K > 0
n Soit A(z) un systme chantillonn plac dans une boucle
retour unitaire, avec un F.T. en B.F :
1
H (z) = ,
z + 0.9
p1 = 0.9
sk = 0.9sk1 + ek1
ek 1 1 1 1 1 1 1 1 1
sk 0 1 1.01 0.91 0.181 0.837 0.247 0.778 0.300
+
Remarque sur laction intgrale
Reset Windup
0.1 K + ( K 1)2 + 4K
p1 =
2
K 0.1+ ( K 1)2 + 4K
p2 =
2
+ 75
Action Drive
n Condition de stabilit => K<0.55
E(p)
+ C(z) Bo(p) A(p)
Te Te
- S(p)
G( p) = G(z) =
p pi pi z e piTs
1 1 1 e piTs
G(0) = G(1) =
0 pi pi 1 e piTs
Exemple
n On donne : K
G( p) = 3 ,K > 0
p
+ 1
10
+ Solution 79
( ) 15
= + c0 = 3arctg = 11
10
n Il est ncessaire dintroduire un correcteur de phase +34 :
1+ aTp
C( p) =
1+ Tp
a 1
max = arcsin a = 3.55
a +1
1
= c0 T = 0.035s
T a
1+ 0.124 p
C( p) =
1+ 0.035 p
+ Calcul du correcteur numrique 80
quivalent
n Equivalence la drivation (pour simplifier) :
1 z 1
p
Ts
1 z 1
1+ 0.124
Ts
C(z) =
1 z 1
1+ 0.035
Ts
n Choix de la frquence dchantillonnage : 6Bp:25Bp
(
G 2 f pas =) 5.86
4 2 f pas
2
3 =
1
2
f pas = 2.8Hz
+ 1
100
fs = 100Hz Ts = 0.01s
donc
1+ 12.4 (1 z 1 ) 13, 4z 12.4
C(z) = =
1+ 3.5 (1 z 1 ) 4.5z 3.5
+ Validation des rsultats 81
5.86 5.86
G(z) = =
(11 10z )
3 1 3
1 z1
10T + 1
s
78.5 72.5z 1
H (z) =
6.068 21066z 1 + 27555z 2 16050z 3 + 3500z 4
k 0 5 10 15 20 25 30 35 40
t 0 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40
ek 1 1 1 1 1 1 1 1 1
sk 0.013 0.389 0.978 1.225 1.044 0.761 0.672 0.785 0.920
G(z) =
(
K 1+ e2 nTs 2e nTs cos nTs 1 2 )
z 2 2ze nTs cos nTs 1 2 + 2e nTs
Donc en BF
H (z) =
(
K BF 1+ e2 BF nBFTs 2e BF nBFTs cos nBFTs 1 BF 2 )
z 2 2ze BF nBFTs cos nBFTs 1 BF 2 + 2e BF nBFTs
+ Synthse dun correcteur numrique par 84
mthode polynomiale
G(z) = C(z)A(z)
G(z)
C(z) =
A(z)
+ Exemple 85
p = 0;
t m = 0.8s
BF = 0.45 M = 45
D 20%
+ 86
Solution :
a
G(z) = ;z = 1 p = 0
( z 1)( z b )
a a
H (z) = = 2
( z 1)( z b ) + a z (1 b ) z + a + b
H (z) =
(
K BF 1+ e2 BF nBFTs 2e BF nBFTs cos nBFTs 1 BF 2 )
z 2 2ze BF nBFTs cos nBFTs 1 BF 2 + 2e BF nBFTs
0.39
avec : G(z) =
BF = 0.45 ( z 1)( z 0.12 )
3 G(z) 0.39 ( z 0.8 )
nBF = = 3.75rad / s n Gain statique gal 1 C(z) = =
tm A(z) ( z 1) ( z 0.12 ) ( z + 0.3)
0.39K BF n Puisque lerreur de
H (z) = 2
z 1.12z + 0.51
position nulle
1+ b = 1.12
a + b = 0.51
a = 0.39
b = 0.12