Académique Documents
Professionnel Documents
Culture Documents
Cours
Cours
es
J.P. Chemla
Mars 2002
Jusqu`a present, les syst`emes asservis ont ete etudies dans leur etat naturel : a` temps continu. Nous les avons commandes a` laide de correcteurs
de meme nature (avance et retard de phase, PID, retour detat sont des
correcteurs a` temps continu).
Lav`enement du numerique nous pousse a` revoir lautomatique sous un
autre angle : la commande par calculateur. Plutot que de limiter cette
commande a` une imitation de correcteurs analogiques, il est plus interessant
de tout revoir sous les aspects numeriques et echantillonnes.
1
1.1
1.1.1
Un signal a` temps discret est une suite sd (k), k Z. Lorsque ce signal est
lechantillonnage dun signal continu sc (t) a` une periode , on a :
sd (k) = sc (k.)
Remarque : nous ne considererons dans la suite du cours que les signaux
causals, cest a` dire : sd (k) = 0
k < 0.
1.2
Signaux num
eriques fondamentaux
Dirac centr
e Cette fonction est definie par :
(k) = 0 k 6= 0;
(0) = 1
(k)
(k) = 1 k 0
(k)
r(k) = k
k > 0
r(k)
1.3
1.3.1
La transform
ee en z
D
efinition
s(k).z k
k=0
s(0) = 1;
s(1) = 1;
s(2) = 0.5
ak
1
S(z) =
=
1
k=0 z
a
z
z
=
za
si
<1
Cet exemple est important a` retenir car il peut permet davoir la transformee
en z des reponses des syst`emes continus du premier ordre en s(t) = et/ . En
echantillonne, cette reponse devient : s(k) = e.k/ . En posant a = e/ ,
on retrouve la transformee en z de cette reponse :
S(z) =
1.3.2
z e
Propri
et
es
Lin
earit
e T z(a.f + b.g) = a.F + b.G
Transforme la convolution en produit T z(f g) = F.G
Retard T z(f (k k0 ) = z k0 .F (z)
Avance Si y(k) = x(k + k0 ); on a
Y (z) = z k0 [X(z) x(0).z 0 x(1).z 1 . . . x(k0 1).z k0 +1 ]
Multiplication par ak T z(ak .f (k)) = F ( az )
1.3.3
Transform
ee en z de fonctions classiques
T z((k)) = 1
z
z1
z
T z(r(k)) =
(z 1)2
z
T z(ak ) =
za
T z((k)) =
Pour plus de transformees, voir table des transformees usuelles sur feuille
a` part.
1.3.4
Th
eor`
emes des valeurs initiales et finales
Recherche de loriginal
S(z)
z
2z
(z 1)(z 0, 5)
S(z)
4
4
=
z
z 1 z 0, 5
s(k) = 4 4.(0, 5)k
S(z) =
z
z2
+2
2
2 +4z 1
4z 1
z2
1 + 2.z 1 + 4.z 2 . . .
2
2.1
s(1) = 2;
s(2) =
Un syst`eme numerique est definit par une equation de recurrence entre son
entree e(k) et sa sortie s(k). Cette equation est de la forme :
s(k+n)+an1 s(k+n1)+. . .+a1 s(k+1)+a0 s(k) = b0 e(k)+b1 e(k+1)+. . .+bm e(k+m)
s(k + n) +
n
X
ai s(k + i) =
i=0
m
X
bj e(k + j)
j=0
b0 + b1 .z + . . . + bm .z m
S(z)
= n
E(z)
z + an1 .z n1 + . . . + a1 .z + a0
Comme pour les fonctions de transfert continues, cette fonction de transfert est une fonction rationnelle dont le degre du denominateur est superieur
au degre du numerateur.
On peut connaitre la reponse dun syst`eme a` une entree donnee en formant
la transformee en z inverse de T (z).E(z). Rappel : la transformee inverse
dune fonction de transfert seule na aucune signification.
Exemple : Soit un syst`eme defini par son equation de recurrence :
s(k + 1) 0, 5.s(k) = e(k)
On connait les conditions initiales : s(0) = 0. Lentree est un echelon
unitaire. Pour calculer la sortie s(k) k, on peut utiliser lequation de
recurrence de proche en proche ou utiliser la transformee en z.
De proche en proche : s(1) = 0, 5.s(0) + e(0) = 1
s(2) = 0, 5.s(1) + e(1) = 1, 5
s(3) = 0, 5.s(2) + e(2) = 1, 75 . . .
Avec la transform
ee en z : La fonction de transfert est :
G(z) =
1
z 0, 5
S(z) =
2.2
2.z
2.z
z 1 z 0, 5
S(z)
,
z
z
(z 1)(z 0, 5)
on trouve
Retards purs
Les syst`emes peuvent presenter un retard pur. Ils se manifestent dans lequation
de recurrence par lapparition de termes en e(k r) o`
u r est le retard en nombre de pas dechantiollonnage.
Exemple 1 Un syst`eme definit par :
s(k + 2) + a1 .s(k + 1) + a2 .s(k) = b.e(k 5)
avec des conditions initiales nulles ne donnerait un resultat (s(k) > 0) que
pour k 5.
Exemple 2 Un syst`eme definit par :
s(k + 3) + 3.s(k + 2) + 2.s(k + 1) + s(k) = e(k + 1) + 2.e(k) + e(k 1) + e(k 2)
est dordre 3 et presente un retard de 2 pas dechantillonnage (par la presence
du terme e(k 2).
6
2.3
Int
egration num
erique
2.4
Forme standard
K
r N (z)
.z
.
(z 1)m
D(z)
o`
u le gain K est :
K = lim (z 1)m .G(z)
z1
N (z)
=1
z1 D(z)
lim
3z 2 + 2z + 5
2
.z.
(1 z)2
4z + 6
7
2.5
P
oles et stabilit
e
Condition de stabilit
e
Un syst`
eme num
erique est stable si et seulement si tous les p
oles
de ce syst`
eme sont de module inf
erieur `
a 1 ; cest `
a dire si tous les
p
oles sont `
a lint
erieur du cercle de rayon 1 et de centre (0, 0) dans
le plan complexe.
Dans la figure 4, on trouvera quelques exemples de comportements de
syst`emes du premier ordre en fonction du lieu du pole. Un fichier polenz.sq
telechargeable a` ladresse : http://homepage.mac.com/jpchemla, dans le
repertoire Auto echantillonnee vous permet dexperimenter la reponse dun
syst`eme dordre 1 ou 2 en fonction du placement du ou des poles. Ce
fichier souvre avec lapplication Sysquake Le telechargeable a` ladresse :
http://www.calerga.com/.
1
0.9
0.8
0.7
rponse du systme
40
30
rponse du systme
20
0.6
0.5
0.4
0.3
10
0.2
0.1
-10
4
nb de pas
140
-20
120
-30
0
4
nb de pas
rponse du systme
100
80
60
40
20
4
nb de pas
1.2
10
0.6
rponse du systme
rponse du systme
0.8
0.4
0.2
-0.2
4
nb de pas
8
0
1.6
5
nb de pas
10
1.4
1.2
1.2
0.8
rponse du systme
rponse du systme
0.8
0.6
0.4
0.6
0.4
0.2
0.2
4
nb de pas
0.5
1.5
nb de pas
2.5
2.5.2
Crit`
ere de Jury
Il nest pas toujours facile de calculer les poles dune fonction de transfert surtout quand celle-ci se presente sous forme developpee. Un crit`ere
permet de determiner la stabilite dun syst`eme a` partir des coefficients du
denominateur.
Soit une fonction de transfert dont le denominateur secrit :
D(z) = an .z n + an1 .z n1 + . . . + a1 .z + a0
Le crit`ere necessite de former le tableau 1.
1
2
3
4
5
6
z0
a0
an
b0
bn1
c0
cn2
z1
a1
an1
b1
bn2
c1
cn3
...
...
...
...
...
...
...
...
...
...
...
...
cn2
c0
...
...
...
bn1
b0
0
0
zn
an
a0
0
0
0
0
...
2.6
z 0, 5
;
z 2 0, 9z + 0, 8
G2 (z) =
2.(z + 2)
z 2 + 3, 5z 2
Pr
ecision
E(z)
(z)
N(z)
K
m
(1-z)
Y(z)
D(z)
E(z)
N (z)
1
1 + K. (z1)
m . D(z)
1+K
a
0
k
0
0
echantillonn
e
Les syst`emes numeriques nexistent que sous forme de mod`ele dans un ordinateur. Notre objectif est de faire de la commande, par un processeur
(numerique), dun syst`eme reel continu par nature. Comme nous lavons dit
au debut du cours, on peut soit voir le correcteur numerique comme imitation
dun correcteur continu, soit voir le syst`eme reel continu comme un syst`eme
numerique, cest a` dire tel quil sera vu par le calculateur.
3.1
Principe g
en
eral
10
Numrique
Continu
commande
calcule
sortie numrise
Systme continu
commande
Echantillonneur
(CAN)
Elaboration de
la commande
par calculateur
Bloqueur
d'ordre zro
BOZ
consigne
sortie continue
sortie continue
Bloqueur
d'ordre zro
Entre numrique
E(z)
entre continue
E(p)
Entre numrique
E(z)
Systme continu
T(p)
Systme
numrique
G(z)
sortie continue
S(p)
Echantillonneur
(CAN)
Continu
BOZ
sortie numrique
S(z)
sortie numrique
S(z)
On attire lattention que cette equivalence nest pas entre T (p) et G(z) qui
sont de nature differente mais entre lensemble T (p), bloqueur et echantillonneur,
et G(z). On peut montrer que :
G(z) = T z[B(p).T (p)] = (1 z
"
T (p)
).T z
p
o`
u B(p) est la fonction de transfert du BOZ et T z[F (p)] designe la transformee en z de la transformee de Laplace inverse de F (p) echantillonnee. Un
tableau des fonctions classiques fourni en annexe permet de passer rapidement de F (p) a` T z[F (p)].
11
K
G(z) = (1 z 1 ).T z
p(1 + p)
Pour calculer la T z[. . .], nous pouvons commencer par calculer sa transformee
de Laplace inverse :
s(t) = T L1
"
t
K
= K.(1 e )
p(1 + p)
s(k) = K. 1 e
k.
"
z(1 a)
K
= S(z) = K.
Tz
p(1 + p)
(z 1)(z a)
On en deduit la fonction de transfert en z dun syst`eme du premier ordre
continu muni dun BOZ et dun echantillonneur :
G(z) =
K(1 a)
za
avec
a = e
3.2
PID num
erique
INTEGRATEUR
La fonction detransfert en continu de lintegrateur
est :
1
S(p)
= I(p) =
E(p)
Ti p
12
1
S(z)
= I(z) = (1 z 1 )T z
E(z)
Ti p 2
1
=
.
Ti z 1
DERIVATEUR
La fonction de transfert en continu dun derivateur
parfait est :
S(p)
= D(p) = Td p
E(p)
Ce derivateur analogique nexiste pas (il nest pas causal) puisque que sa
fonction de transfert a un numerateur de degre plus haut que le denominateur
(ici constant). On peut neamoins trouver le derivateur numerique equivalent.
Td
(e(k) e(k 1))
Td z 1
.
D(z) =
z
s(k) =
S(z)
Td
= D(z) = (1 z 1 )T z
E(z)
1 + TNd p
z1
N
= N.
avec : z0 = e Td
z z0
s(k)=N.z 0k
k
0
PID NUMERIQUE
Le correcteur le plus courant, en analogique est
le correcteur PID. Ce dernier est souvent utilise dans lindustrie et mis en
oeuvre par des PID numerique ou des cartes a` controleur ou des automates.
Toutes ces solutions sont en fait des calculateurs numeriques qui vont simuler
un correcteur analogique. Comment sont realises ces PID numeriques ? cest
ce que nous decrivons dans ce paragraphe.
La fonction de transfert dun PID analogique (avec derivateur filtre) est :
Td p
1
)
+
C(p) = K(1 +
Ti p 1 + TNd p
Son equivalent en numerique est (dapr`es les resultats precedents) :
1
z1
C(z) = K(1 + .
+ N.
)
Ti z 1
z z0
Les param`etres pratiques de ce correcteur sont :
N
4
4.1
tout faire en numerique. Le syst`eme continu sera vu, lui aussi, comme un
syst`eme numerique.
On distingue 4 etapes dans la mise en place dun asservissement numerique.
1. Le choix du pas dechantillonnage sur lequel seront regles : le calculateur, le BOZ et lechantillonneur. Une fois choisie, on peut calculer
la fonction de transfert du processus numerise.
2. Le choix du mod`ele numerique (fonction de transfert en z) a` atteindre
en boucle fermee apr`es correction.
3. On en deduit le correcteur necessaire.
4. On programme le calculateur pour quil realise la correction calculee
precedemment afin quil elabore la commande.
Si, par nature, un correcteur numerique est plus lent (car cadence par la
periode dechantillonnage) quun correcteur analogique, ses avantages sont
les suivants :
certaines corrections numeriques sont impossible a` realiser en analogique,
par sa capacite a` memoriser des signaux, la correction de syst`emes a`
retard est plus aisee,
la flexibilite de la programmation permet de realiser des corrections tr`es
fines, facilement r`eglables voire auto-ajustables (reglage automatique
du correcteur).
4.2
Choix du pas d
echantillonnage
15
4.3
4.3.1
Structures possibles
Correcteurs RST
X
i
ri u(k i) +
tj yc (k j) +
sl y(k l)
consigne yc(k)
T(z)
1/R(z)
BOZ
CAN
Systme continu
G(z)
S(z)
16
sortie y(k)
structure classique
consigne yc(k)
C(z)
u(k)
commande
calcule
BOZ
CAN
Systme continu
G(z)
4.3.3
D
emarche en boucle ouverte
La demarche est dobtenir une fonction de transfert en boucle ouverte (produit de G(z) et de C(z)) qui ait les proprietes requises pour avoir un bon
asservissement en boucle fermee. Ces proprietes sont :
C(z).G(z) doit avoir les integrateurs necessaires (1 si on veut une erreur
en position nulle, 2 pour avoir une erreur de vitesse nulle, . . . )
le gain est regle pour controler lamortissement
C(z) doit avoir les zeros necessaires pour reduire les temps de reponse.
4.3.4
D
emarche en boucle ferm
ee
m
On se fixe la fonction de transfert a` obtenir en boucle fermee (Hm (z) = B
).
Am
On en deduit le correcteur a` mettre pour y parvenir.
Le plus souvent, on choisit, comme fonction de transfert en BF on choisit
lun des deux mod`eles suivant :
17
sortie y(k)
1
[1 + an1 z 1 + . . . + a0 z n ]
1 + an1 + . . . + a0
Processus de type P1 ce sont les plus faciles a` corriger car ils ne presentent
pas de zero de module > 1 (tous les zeros sont stables) et ils verifient :
deg(denominateur) 1 deg(numerateur) deg(denominateur)
Processus de type P2 ils nont que des zeros stables et verifient
deg(denominateur) deg(numerateur) 2
Processus de type P3 ce sont les processus qui ont des zeros instables (de
module> 1)
4.4
4.4.1
R
egulation de processus de type P1
La consigne est en
echelon
18
K
z1
C(z) =
K
1
.
z 1 G(z)
K
z (1 K)
Le gain est de 1 (pas derreur statique), le syst`eme est stable pour 0 < K < 2.
Pour K = 1, la fonction de transfert en BF est H(z) = z 1 cest a` dire
que la sortie y(k) du syst`eme verifie y(k) = e(k 1). La sortie du syst`eme
est lentree retardee dun pas dechantillonnage ! On peut verifier leffet de
K sur le correcteur (commande et sortie) en utilisant le fichier corrP1 sur le
serveur habituel.
4.4.2
Pour avoir une erreur statique nulle, il faut 2 integrateurs dans la boucle
ouverte. La premi`ere idee serait de choisir le correcteur C(z) tel que :
C(z).G(z) =
K
K
H(z) = 2
2
(z 1)
z 2z + K + 1
O`
u H(z) serait la fonction de transfert en BF. Un simple calcul des poles
montre que ce syst`eme serait instable. Pour ameliorer la stabilite, on choisit
dintroduire un zero au numerateur, ce qui est equivalent a` introduire une
avance partielle.
C(z).G(z) =
K(z z0 )
(z 1)2
z2
K(z z0 )
+ (K 2)z + 1 K.z0
stable pour
19
4
1 + z0
s(1) = 0;
s(k) = 2.(k 1) (k 2) = k
k 2
4.5
R
egulation de processus de type P2
1
H(z)
.
G(z) 1 H(z)
est tel que le degre de son numerateur est egal a` celui de son denominateur.
4.6
R
egulation de processus de type P1 ou P2 avec
retard
Certains syst`emes presentent des retards intrins`eques entre lentree et la sortie. Leur fonction de transfert peut secrire :
G(z) = F (z).z n
20
o`
u F (z) est une fonction de transfert sans retard et n est le nombre de pas
dechantillonnage qui forme le retard. (on suppose ici que le retard est un
nombre entier de pas dechantillonnage). La methode dans ce cas est de
calculer le correcteur necessaire sur le syst`eme sans retard, puis on en deduit
le correcteur a` appliquer reellement.
On adopte par exemple une demarche en BF. Soit H(z) la fonction de
transfert que lon souhaite obtenir apr`es correction. H(z) presente naturellement le meme retard que le syst`eme en BO : H(z) = H 0 (z).z n . On calcule le
correcteur C 0 (z) qui permettrait dobtenir H 0 (z) en ne considerant que F (z),
cad :
C 0 (z).F (z)
= H 0 (z)
1 + C 0 (z).F (z)
On peut montrer que pour obtenir H(z) a` partir de G(z), il faut le correcteur
C(z) :
C 0 (z)
C(z) =
1 + C 0 (z).F (z).(1 z n )
4.7
R
egulateurs RST
Bm (z)
Am (z)
T (z).B(z)
A(z).R(z) + B(z).S(z)
avec
G(z) =
B(z)
A(z)
21
4.7.1
D
ecomposition de G(z)
B(z) contient des zeros stables (de module < 1) et des zeros instables. Ce
polynome peut donc se scinder en deux parties, lune contenant les zeros
stables :
Bs (z) = z m + am1 z m1 + . . .
et lautre contenant les zeros instables :
Bi (z) = K(z z0 )(z z1 ) . . .
On peut aussi inclure dans cette derni`ere partie les zeros dont la norme est
trop proche de 1
B(z) = Bi (z).Bs (z)
4.7.2
Le choix du mod`
ele `
a obtenir en BF H(z)
Propri
et
es de S, R et T
et
23