Vous êtes sur la page 1sur 65

Ecole Nationale dIngenieurs de Tunis

COMMANDE NUM

ERIQUE
Support de cours
Joseph Hagg
`
ege
Matre de Conferences `a lENIT
2012
ii
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
Table des mati`eres
1 Introduction `a la commande numerique des processus 1
1.1 Structure de commande par calculateur . . . . . . . . . . . . . . . . . . . . 1
1.2 Caracteristiques de la commande numerique . . . . . . . . . . . . . . . . . 2
2 Echantillonnage des signaux Transformee en z 5
2.1 Principe de lechantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Analyse spectrale du signal echantillonne . . . . . . . . . . . . . . . . . . . 6
2.3 Reconstitution du signal continu . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 La transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Calcul de la transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Transformee en z inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7 Table de transformees en z . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Syst`emes echantillonnes 23
3.1 Fonction de transfert echantillonnee . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Calcul de fonctions de transfert echantillonnees . . . . . . . . . . . . . . . 25
3.3 Representation temporelle des syst`emes echantillonnes . . . . . . . . . . . 26
3.4 Exemples dapplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4 Analyse des syst`emes lineaires echantillonnes 31
4.1 Condition de stabilite des syst`emes lineaires echantillonnes . . . . . . . . . 31
4.2 Crit`eres algebriques de stabilite . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Crit`eres geometriques de stabilite . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Precision des syst`emes echantillonnes en boucle fermee . . . . . . . . . . . 44
5 Synth`ese des syst`emes asservis lineaires echantillonnes 47
5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Extension des methodes du continu . . . . . . . . . . . . . . . . . . . . . . 49
5.3 Methode des poles dominants (Methode de Zdan) . . . . . . . . . . . . . . 50
5.4 Synth`ese ` a temps de reponse minimum . . . . . . . . . . . . . . . . . . . . 53
5.5 Regulateurs RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Bibliographie 61
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
iv Table des mati`eres
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
Chapitre 1
Introduction `a la commande
numerique des processus
1.1 Structure de commande par calculateur
La commande numerique consiste ` a utiliser un calculateur numerique pour elaborer le
signal de commande applique au syst`eme :
+
-
CAN CNA
calculateur
capteur
systme
synchronisation
commande numrique
consigne sortie
perturbations
En pratique, on rencontre la structure suivante :
CAN
CNA
calculateur
capteur
systme consigne
sortie
perturbations
commande
mesure
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
2 Chapitre 1 - Introduction `a la commande numerique des processus
Le calculateur permet limplantation dun correcteur numerique sous la forme dun algo-
rithme :
+
-
calculateur
commande consigne
correcteur
numrique
mesure
1.2 Caracteristiques de la commande numerique
Le calculateur necessite un certain temps pour executer des calculs : il ne peut donc pas
traiter les signaux de mani`ere continue. Ceux-ci doivent donc etre echantillonnes dans le
temps :
signal
temps T 2T 3T kT
...
T = priode d'chantillonnage
Lechantillonnage consiste `a prelever la valeur du signal ` a des intervalles de temps reguliers.
Un signal analogique peut prendre une innite de valeurs alors que le calculateur poss`ede
une precision limitee pour representer les nombres. Lamplitude du signal doit donc etre
quantiee ou codee par le calculateur :
signal
temps T 2T 3T kT
...
N niveaux de
quantification
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
1.2 - Caracteristiques de la commande numerique 3
Un signal qui est echantillonne dans le temps et quantie en amplitude est un signal
numerique ou discret.
Remarque : un signal numerique obtenu ` a partir dun signal analogique est un signal
numerise ou discretise. Il existe des signaux qui sont naturellement discrets, par exemple :
un echo radar qui renvoie la position dun avion : linformation est disponible periodi-
quement avec la periode de rotation de lantenne ;
les images delivrees par une camera : limage est disponible avec une frequence de 24
image/seconde.
Un calculateur peut contr oler des syst`emes avec un grand nombre de variables :
CAN CNA
calculateur
systme
consignes
.
.
.
.
.
.
.

.

.
dmultiplexeur multiplexeur
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
4 Chapitre 1 - Introduction `a la commande numerique des processus
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
Chapitre 2
Echantillonnage des signaux
Transformee en z
2.1 Principe de lechantillonnage
Lechantillonnage dun signal continu f(t) consiste ` a remplacer f(t) par une suite de ses
valeurs f(nT) aux instants dechantillonnage t = nT, n = 0, 1, . . . Loperateur qui
eectue lechantillonnage est appele echantillonneur (de periode T).
f *(t)
t
T 2T3T kT
...
f(t)
t
signal continu signal chantillonn
f(t) f *(t)
chantillonneur
T
Mathematiquement, le signal echantillonne f

(t) est obtenu en multipliant f(t) par le


peigne de Dirac :

T
(t) =
+

n=
(t nT)
o` u (t nT) represente limpulsion de Dirac `a linstant t = nT.
t

T
(t)
0 T 2T nT T 2T nT
... ... ... ...
...
...
...
...
On a donc :
f

(t) = f(t)
+

n=
(t nT) =
+

n=
f(t)(t nT) =
+

n=
f(nT)(t nT)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
6 Chapitre 2 - Echantillonnage des signaux Transformee en z
Remarque : un signal discret peut etre directement deni comme une suite de valeurs f
k
disponibles aux instants t
0
, t
1
, . . ., t
k
, . . .
2.2 Analyse spectrale du signal echantillonne
Lechantillonnage entrane une perte dinformation par rapport au signal continu f(t).
Pour evaluer cette perte, on eectue lanalyse spectrale du signal echantillonne f

(t).
Decomposition en serie de Fourier du peigne de Dirac : le peigne de Dirac
T
(t) =

+
n=
(t nT) est periodique, on peut calculer son developpement en serie de Fou-
rier :
+

n=
(t nT) =
+

k=
c
k
e
j
2kt
T
avec :
c
k
=
1
T
T/2
_
T/2

T
(t)e
j
2kt
T
dt
Calcul des coecients c
k
:
c
k
=
1
T
T/2
_
T/2

T
(t)e
j
2kt
T
dt =
1
T
T/2
_
T/2
+

n=
(tnT)e
j
2kt
T
dt =
1
T
+

n=
T/2
_
T/2
(tnT)e
j
2kt
T
dt
Dans cette somme, seul le terme pour n = 0 est non nul car sur lintervalle [T/2, T/2],
les autres (t nT) sont nuls, do` u :
c
k
=
1
T
T/2
_
T/2
(t)e
j
2kt
T
dt =
1
T
+
_

(t)e
j
2kt
T
dt =
1
T
e
0
=
1
T
, k
On obtient ainsi la formule sommatoire de Poisson :
+

n=
(t nT) =
1
T
+

k=
e
j
2kt
T
Transformee de Fourier du signal echantillonne f

(t) :
F

() =
+
_

(t)e
j2t
dt =
+
_

f(t)
1
T
+

k=
e
j
2kt
T
e
j2t
dt =
1
T
+

k=
+
_

f(t)e
j2
(

k
T
)
t
dt
Do` u :
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.2 - Analyse spectrale du signal echantillonne 7
F

() =
1
T
+

k=
F
_

k
T
_
Representation spectrale de f

(t) :
N + N

|F()|
|F(0)|
N + N

|F*()|
|F(0)|
T
1
T
1
T

1
2T
1
2T

... ...
1
T
1
T
chantillonnage
de priode T
Ainsi, lechantillonnage a pour eet de dupliquer ` a linni (ou periodiser) le spectre du
signal continu.
On peut restituer le spectre principal (k = 1) en eectuant un ltrage passe-bas ideal ` a
condition davoir :
N <
1
2T
sinon les spectres lateraux recouvrent le spectre principal (repliement de spectre) et on
ne peut plus recuperer le spectre principal.
On en deduit le theor`eme de Shannon :
Lorsquon echantillonne un signal continu, on ne perd aucune information
si la frequence dechantillonnage est superieure au double de la plus haute
frequence contenue dans le signal initial.
Remarque : en pratique, le ltre passe-bas ideal est irrealisable physiquement ; le theor`eme
de Shannon donne un ordre de grandeur pour le choix de la periode dechantillonnage.
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
8 Chapitre 2 - Echantillonnage des signaux Transformee en z
2.3 Reconstitution du signal continu
N + N

|F*()|
1
T
1
T

1
2T
1
2T

... ...
filtrage
passe-bas
idal
F() = F

()
2T
()
avec :

2T
() = fonction porte =

1 si
1
2T

1
2T
0 sinon
do` u :
f(t) = f

(t) F
1
[
2T
()]
Or :
F
1
[
2T
()] =
1
T
sin
t
T
t
T
=
1
T
sinc
_
t
T
_
. .
sinus cardinal
do` u :
f(t) =
1
T
+
_

(t ) sinc
_

T
_
d =
1
T
+
_

n=
f(t ) (t nT ) sinc
_

T
_
d
=
1
T
+

n=
+
_

f(t ) sinc
_

T
_
(t nT ) d =
1
T
+

n=
f(nT)sinc
_
(t nT)
T
_
Ainsi, la reconstitution exacte de f(t) est obtenue au moyen du ltre cardinal :
filtre
cardinal
f *(t) f (t)
Reponse impulsionnelle du ltre cardinal :
h(t) = sinc
_
t
T
_
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.3 - Reconstitution du signal continu 9
t
h(t)
1
T T
Elle est non causale : h(t) = 0 pour t < 0 donc le ltre cardinal est irrealisable en pratique.
On peut cependant eectuer une reconstitution approchee du signal continu en utilisant
des ltres extrapolateurs, par exemple le bloqueur dordre zero (B.O.Z) :
t T 2T 3T 4T 5T 6T 7T 8T 9T
f
0
(t)
h
0
(t) f
0
(t)
f*(t)
signal
rel
signal
reconstitu
Le B.O.Z est deni par :
f
0
(t) = f(nT) pour nT t < (n + 1)T
Reponse impulsionnelle du B.O.Z :
h
0
(t)
t
1
t
1
t
1
chelon
T T
chelon retard de T

=
Fonction de transfert du B.O.Z :
H
0
(p) = L (h
0
(t)) =
1
p

e
Tp
p
=
1 e
Tp
p
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
10 Chapitre 2 - Echantillonnage des signaux Transformee en z
Do` u :
_
f
0
(t) = f

(t) h
0
(t)
F
0
(p) = F

(p) H
0
(p)
Autre ltre extrapolateur : le bloqueur dordre un :
t T
2T 3T 4T 5T 6T 7T 8T 9T
f
1
(t)
h
1
(t)
f
0
(t)
f*(t)
signal
rel
signal
reconstitu
Il est deni par :
f
1
(t) = f(nT) +
f(nT) f((n 1)T)
T
(t nT) pour nT t < (n + 1)T
avec = constante, 0 T.
Reponse impulsionnelle du bloqueur dordre un :
h
1
(t)
t
1
T 2T
/T
/T
Fonction de transfert :
H
1
(p) =
_
1 e
Tp
p
_
2
1 + Tp
T
pour = T
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.4 - La transformee en z 11
2.4 La transformee en z
Soit le signal echantillonne :
f

(t) =
+

n=
f(t)(t nT) =
+

n=
f(nT)(t nT)
La transformee de Laplace de f

(t) est :
F

(p) = L [f

(t)] =
+

n=
f(nT) e
nTp
On pose :
z = e
Tp
On obtient la transformee en z de f(t) :
Z[f(t)] = F(z) =
+

n=
f(nT) z
n
Remarque : on peut aussi denir la transformee en z ` a partir dune suite f
0
, f
1
, . . . , f
k
, . . . :
F(z) =
+

k=0
f
k
z
k
Proprietes de la transformee en z :
Linearite :
Z(f
1
(t) + f
2
(t)) = Z(f
1
(t)) +Z(f
2
(t))
Z(a f(t)) = a Z(f(t))
Translation temporelle de n periodes dechantillonnage :
Z(f(t nT)) = z
n
Z(f(t))
Demonstration analogique :
L(f

(t nT)) = e
nTp
L(f

(t)) =
_
e
Tp
_
n
L(f

(t))
T.Z
Z(f(t nT)) = z
n
Z(f(t))
Demonstration numerique :
Z(f
kn
) =
+

k=0
f
kn
z
k
= f
n
+ f
n+1
z
1
+ f
n+2
+ . . . + f
0
z
n
+ f
1
z
n1
+ . . .
= z
n
_
f
0
+ f
1
z
1
+ . . .

car f
k
= 0 pour k < 0 (signal causal)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
12 Chapitre 2 - Echantillonnage des signaux Transformee en z
= z
n
Z(f
k
)
Ainsi, z
1
est loperateur de retard dune periode dechantillonnage :
z
1
f
k
f
k1
F(z) z
1
F(z)
Avance dune periode dechantillonnage :
Z(f
k+1
) =
+

k=0
f
k+1
z
k
= z
+

k=0
f
k+1
z
k1
=
+

i=1
f
i
z
i
(changement de variable i = k + 1)
= z
_
+

i=0
f
i
z
i
f
0
_
= zF(z) zf(0)
Avance de n periodes dechantillonnage :
Z(f
k+n
) =
+

k=0
f
k+n
z
k
= z
n
+

i=n
f
i
z
i
(changement de variable i = k + n)
= z
n
F(z)
n1

i=0
f
i
z
ni
= z
n
F(z) z
n
f
0
z
n1
f
1
. . . f
n1
Theor`eme de la valeur initiale (pour un signal causal) :
f(0) = lim
z+
F(z)
Theor`eme de la valeur nale :
lim
t+
f

(t) = lim
n+
f(nT) = lim
z1
(1 z
1
)F(z)
Demonstration :
On pose :
F
k
= f
0
+ f
1
z
1
+ f
2
z
2
+ . . . + f
k
z
k
et F

k
= f
0
z
1
+ f
1
z
2
+ . . . + f
k1
z
k
F(z) = lim
k+
F
k
, z
1
F(z) = lim
k+
F

k
lim
z1
(1 z
1
)F(z) = lim
z1
lim
k+
(F
k
F

k
) = lim
k+
lim
z1
(F
k
F

k
)
= lim
k+
f
k
= lim
t+
f

(t)
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.4 - La transformee en z 13
Theor`eme de la somme :
+

k=0
f
k
= lim
z1
F(z)
Integration discr`ete :
On pose y
k
=
k

i=0
f
i
= integrale discr`ete de f
i
(approximation dune integrale par la
methode des rectangles). On a :
y
k
= y
k1
+ f
k
Z(y
k
) = Z(y
k1
) +Z(f
k
)
Y (z) = z
1
Y (z) + F(z)
(1 z
1
)Y (z) = F(z) Y (z) =
F(z)
1 z
1
=
z
z 1
F(z)
Convolution discr`ete :
Soient x
k
et y
k
deux suites. Produit de convolution : v
k
=
+

i=
x
i
y
ki
V (z) = Z(v
k
) =
+

k=
+

i=
x
i
y
ki
z
k
=
+

k=
+

i=
x
i
y
ki
z
i
z
(ki)
=
+

i=
x
i
z
i
+

k=
y
ki
z
(ki)
= X(z)Y (z)
Correspondance entre les plans p (variable de Laplace) et z :
f

(t) = f(t)
+

k=
(t kT) =
1
T
f(t)
+

k=
e
j
2kt
T
Dapr`es la propriete de la transformee de Laplace L (f(t)e
t
) = F(p ) :
F

(p) =
1
T
+

k=
F
_
p
j2k
T
_
Exemple : si F(p) poss`ede deux p oles p
1
et p
2
conjugues :
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
14 Chapitre 2 - Echantillonnage des signaux Transformee en z
Im
Re
F(p)
p
1
p
2
p
1
p
2
p
1
p
2
p
1
p
2
Im
Re
F
*
(p)

e
2

e
2

e
3
2

3
2

k =

1
k =

0
k =

e
T
=
2
: pulsation d'chantillonnage
chantillonnage
Passage au plan z : la transformation z = e
Tp
transforme le segment [

e
2
,

e
2
] de laxe
imaginaire en un cercle de rayon unite :
Im
Re
plan p

e
2

e
2
Transforme en z
Im
Re
plan z
1
p
1
p
2
e
Tp
1
e
Tp
2
Le demi-plan gauche du plan p se transforme en linterieur du cercle unite du plan z.
2.5 Calcul de la transformee en z
On peut calculer F(z) ` a partir de f(t) dapr`es la denition F(z) =
+

n=
f(nT) z
n
.
Exemples :
Transformee en z dune impulsion : f(t) = (t)
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.5 - Calcul de la transformee en z 15
1
f(t)
T 2T nT
t
... ... 0
F(z) =
+

n=0
f(nT)z
n
= f(0) = 1
Transformee en z dun echelon : f(t) = (t) (fonction de Heaviside).
...
1
f(t)
T 2T
...
nT
t
0
F(z) =
+

n=0
f(nT)
. .
=1 n
z
n
=
+

n=0
_
z
1
_
n
=
1
1 z
1
=
z
z 1
(somme dune suite geometrique)
Transformee en z dune exponentielle : f(t) = (t)e
at
...
1
f(t)
T 2T nT
t
0
F(z) =
+

n=0
e
anT
z
n
=
+

n=0
_
_
z e
aT
_
1
_
n
=
1
1 e
aT
z
1
=
z
z e
aT
On peut aussi calculer F(z) ` a partir de F(p). Pour cela, on montre quon a la relation
suivante :
F(z) =

p oles de F()
residus
F()
1 z
1
e
T
Pour un pole p
i
de multiplicite n, le residu r
i
relatif au p ole p
i
est :
r
i
=
1
(n 1)!
d
n1
d
n1
_
( p
i
)
n
F()
1 z
1
e
T
_
=p
i
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
16 Chapitre 2 - Echantillonnage des signaux Transformee en z
En general, F() =
N()
D()
. Si F() na que des p oles simples, alors :
F(z) =

p
i
N(p
i
)
D

(p
i
)
1
1 z
1
e
Tp
i
Exemples de calcul :
f(t) = t, F(p) =
1
p
2
, un p ole double : 0.
r
0
=
d
d
_

2
1

2
1
1 z
1
e
T
_
=0
=
T z
1
(1 z
1
)
2
=
Tz
(z 1)
2
F(z) =
Tz
(z 1)
2
f(t) = cos at, F(p) =
p
p
2
+ a
2
, deux p oles simples : ja et ja.
N() =
D() =
2
+ a
2
D

() = 2
_

N()
D

()
=
1
2
F(z) =
1
2
1
1 z
1
e
jaT
+
1
2
1
1 z
1
e
jaT
=
1 z
1
cos aT
1 2z
1
cos aT + z
2
=
z
2
z cos aT
z
2
2z cos aT + 1
f(t) = e
at
sin bt, F(p) =
b
(p + a)
2
+ b
2
, deux p oles simples : a + jb et a jb.
N() = b
D() = ( + a)
2
+ b
2
D

() = 2( + a)
_

N()
D

()
=
b
2( + a)
F(z) =
1
2j
1
1 z
1
e
(a+jb)T

1
2j
1
1 z
1
e
(ajb)T
=
z
1
e
aT
sin bT
1 2z
1
e
aT
cos bT + z
2
e
2aT
=
z e
aT
sin bT
z
2
2z e
aT
cos bT + e
2aT
2.6 Transformee en z inverse
A partir de F(z), on ne peut pas determiner une unique fonction f(t) car F(z) ne contient
que les valeurs de f(t) aux instants dechantillonnage :
t
f
1
(t)
f
2
(t)
...
T 2T
kT 0
...
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.6 - Transformee en z inverse 17
f
1
(t) = f
2
(t)
f
1
(kT) = f
2
(kT), k = 0, 1, . . .
_
la transformee en z inverse nest pas unique.
La transformee en z inverse est donc la suite des valeurs f(0), f(T), . . .f(kT), . . . et pas
la fonction continue f(t).
Calcul par la methode directe : on montre quon a la formule dinversion :
f(nT) =

p oles de F(z)
residus
_
F(z)z
n1
_
Exemple : F(z) =
2z
(z 1)(z 0.5)
r
1
=
_
(z 1)
2z
(z 1)(z 0.5)
z
n1
_
z=1
= 4
r
0.5
=
_
(z 0.5)
2z
(z 1)(z 0.5)
z
n1
_
z=0.5
= 4 (0.5)
n
_

_
f(nT) = 4 (1 (0.5)
n
)
Division selon les puissances croissantes de z
1
:
On a :
F(z) =
N(z)
D(z)
=
a
0
+ a
1
z
1
+ a
2
z
2
+ . . . + a
m
z
m
b
0
+ b
1
z
1
+ b
2
z
2
+ . . . + b
n
z
n
=
+

k=0
f(kT)z
k
Donc f(kT) est le coecient de z
k
dans la division de N(z) par D(z) selon les puissances
croissantes de z
1
.
Exemple : F(z) =
2z
(z 1)(z 0.5)
=
2z
1
1 1.5z
1
+ 0.5z
2
2
1
z

2 3
1 2 3
z z z

+
3
2 3
z z

3 4 5 1 5
2 3 4
z z z

+ . .
3 5 1 5
3 4
. . z z

1 1 5 0 5
1 2
+

. . z z
2 3 3 5
1 2 3
z z z

+ + + .
f(0) = 0, f(T) = 2, f(2T) = 3, f(3T) = 3.5, . . .
Methode de lequation aux dierences :
On a :
F(z) =
N(z)
D(z)
=
a
0
+ a
1
z
1
+ . . . a
m
z
m
b
0
+ b
1
z
1
+ . . . b
n
z
n
(n > m)
= f(0) + f(T)z
1
+ f(2T)z
2
+ . . .
a
0
+ a
1
z
1
+ . . . a
m
z
m
= (f(0) + f(T)z
1
+ f(2T)z
2
+ . . .)(b
0
+ b
1
z
1
+ . . . b
n
z
n
)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
18 Chapitre 2 - Echantillonnage des signaux Transformee en z
Par identication :
_

_
f(0)b
0
= a
0
f(T)b
0
+ b
1
f(0) = a
1
.
.
.
p

k=0
b
k
f((p k)T) = a
p
pour p m
p

k=0
b
k
f((p k)T) = 0 pour p > m

_
f(pT) =
1
b
0
_
a
p

k=1
b
k
f((p k)T)
_
pour p m
f(pT) =
1
b
0
p

k=1
b
k
f((p k)T) pour p > m
Exemple : F(z) =
2z
1
1 1.5z
1
+ 0.5z
2
a
0
= 0, a
1
= 2
b
0
= 1, b
1
= 1.5, b
2
= 0.5
f(0) =
a
0
b
0
= 0
f(T) =
1
b
0
[a
1
b
1
f(0)] = 2 + 1.5f(0) = 2
f(2T) =
1
b
0
[b
1
f(T) + b
2
f(0)] = 1.5f(T) 0.5f(0) = 3
.
.
.
f(kT) = 1.5f((k 1)T) 0.5f((k 2)T)
Methode iterative de Badgett :
On a : F(z) =
+

n=0
f(nT)z
n
Dapr`es le theor`eme de la valeur initiale :
f(0) = lim
z+
F(z)
f(T) = lim
z+
z(F(z) f(0))
. .
F
1
(z)=Z(f((k+1)T))
f(2T) = lim
z+
z(F
1
(z) f(T))
. .
F
2
(z)
.
.
.
f(nT) = lim
z+
z(F
n1
(z) f((n 1)T))
Methode du developpement en fractions elementaires :
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.6 - Transformee en z inverse 19
Pour les signaux continus, on a :
F(p) =

i
p + a
i
L
1
f(t) =

i
e
a
i
t
Pour les signaux echantillonnes :
Z
_
e
a
i
t
_
=
1
1 z
1
e
a
i
T
=
z
z e
a
i
T
On decompose
F(z)
z
en elements simples :
F(z)
z
=

i
z
i
Ainsi, F(z) secrit sous la forme dune somme de fractions elementaires :
F(z) =

i
z
z
i
avec
i
tel que e
a
i
T
=
i
Do` u :
f(nT) =

i
e
a
i
nT
=

n
i
Exemple : F(z) =
2z
(z 1)(z 0.5)
F(z)
z
=
2
(z 1)(z 0.5)
=
4z
z 1

4z
z 0.5
f(nT) = 4 1
n
4 0.5
n
= 4(1 0.5
n
)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
20 Chapitre 2 - Echantillonnage des signaux Transformee en z
2.7 Table de transformees en z
F(p) f(t), t > 0 F(z)
1 (t) 1
e
nTp
(t nT) z
n
1
p
(t) = 1
z
z1
1
p
2
t
Tz
(z1)
2
1
p
3
t
2
2
T
2
z(z+1)
2(z1)
3
1
p
n
t
n
n!
lim
a0
(1)
n
n!

n
a
n
_
z
ze
aT
_
1
p+a
e
at z
ze
aT
1
(p+a)
2
te
at Tze
aT
(ze
aT
)
2
1
(p+a)
n
t
n
n!
e
at
(1)
n
n!

n
a
n
_
z
ze
aT
_
a
p(p+a)
1 e
at
(1e
aT
)z
(z1)(ze
aT
)
a
p
2
(p+a)
t
1e
at
a
Tz
(z1)
2

(1e
aT
)z
a(z1)(ze
aT
)
a
p
3
(p+a)
t
2
2
+
t
a

1
a
2
(1 e
aT
)
T
2
z
(z1)
3
+
(aT2)Tz
2a(z1)
2
+
z
a
2
(z1)

z
a
2
(ze
aT
)
a
p
2
+a
2
sin at
z sin aT
z
2
2z cos aT+1
p
p
2
+a
2
cos at
z(zcos aT)
z
2
2z cos aT+1
a
p
2
a
2
sh at
z sh aT
z
2
2z chaT+1
p
p
2
a
2
ch at
z(achaT)
z
2
2z chaT+1
a
2
p(p
2
+a
2
)
1 cos aT
z
z1

z(zcos aT)
z
2
2z cos aT+1
a
2
p
2
(p
2
+a
2
)
t
1
a
sin aT
Tz
(z1)
2

1
a
z sin aT
z
2
2z cos aT+1
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
2.7 - Table de transformees en z 21
F(p) f(t), t > 0 F(z)
ba
(p+a)(p+b)
e
at
e
bt z
ze
aT

z
ze
bT
(ba)(p+c)
(p+a)(p+b)
(c a)e
at
(b c)e
bt
(ca)z
ze
aT

(bc)z
ze
bT
ab
p(p+a)(p+b)
1 +
b
ab
e
at

a
ab
e
bt z
z1
+
bz
(ab)(ze
aT
)

az
(ab)(ze
bT
)
a
2
p(p+a)
2
1 + (1 +at)e
at z
z1

z
ze
aT

aTe
aT
z
(ze
aT
)
2
a
2
(p+b)
p(p+a)
2
b be
at
+ a(a b)te
at bz
z1

bz
ze
aT
+
a(ab)Te
aT
z
(ze
aT
)
2
b
(p+a)
2
+b
2
e
at
sin bt
ze
aT
sin bT
z
2
2ze
aT
cos bT+e
2aT
p+a
(p+a)
2
+b
2
e
at
cos bt
z
2
ze
aT
cos bT
z
2
2ze
aT
cos bT+e
2aT
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
22 Chapitre 2 - Echantillonnage des signaux Transformee en z
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
Chapitre 3
Syst`emes echantillonnes
3.1 Fonction de transfert echantillonnee
Soit un syst`eme lineaire continu, de fonction de transfert H(p).
H(p)
U(p)
u(t)
T
U*(p)
u*(t)
T
Y*(p)
y*(t)
Y(p) = H(p)U*(p)
y(t)
chantillonneur fictif
On ne consid`ere que les valeurs de la sortie y(t) aux instants dechantillonnage, do` u
lintroduction dun echantillonneur ctif, synchrone avec celui de lentree.
Calcul de la sortie echantillonnee :
u

(t) =
+

n=0
u(nT)(t nT)
Cest une somme dimpulsions de Dirac espacees de T dans le temps.
Le syst`eme est lineaire, donc sa reponse ` a une somme de signaux est la somme des reponses
` a chaque signal (principe de superposition).
La reponse du syst`eme ` a une impulsion de Dirac (reponse impulsionnelle) est :
h(t) = L
1
(H(p))
y(t)
0 T 2T kT t
u(0)(t)
u(T)(tT)
u(2T)(t2T)
u(kT)(tkT)
h(t)u(0) h(tT)u(T) h(t2T)u(2T) h(tkT)u(kT)
... ...
... ...
y(t) =
+

k=0
h(t kT)u(kT)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
24 Chapitre 3 - Syst`emes echantillonnes
Aux instants dechantillonnage, on a :
y(nT) =
+

k=0
h((n k)T)u(kT)
Dautre part, on a :
y

(t) =
+

n=0
y(nT)(t nT)
L
Y

(p) =
+

n=0
y(nT)e
nTp
Do` u :
Y

(p) =
+

n=0
+

k=0
h((n k)T) u(kT)
. .
y(nT)
e
nTp
On eectue le changement de variable m = n k :
Y

(p) =
+

m=k
+

k=0
h(mT) u(kT) e
(m+k)Tp
=
+

m=0
+

k=0
h(mT) u(kT) e
(m+k)Tp
(car h(t) = 0 pour t < 0)
=
_
+

m=0
h(mT) e
mTp
_
. .
H

(p)
_
+

k=0
u(kT) e
kTp
_
. .
U

(p)
On a donc :
Y

(p) = H

(p)U

(p)
Ainsi :
Y

(p) = [H(p)U

(p)]

= H

(p)U

(p)
En prenant z = e
Tp
, on obtient :
Y (z) = H(z)U(z) H(z) =
Y (z)
U(z)
On denit ainsi la fonction de transfert echantillonnee H(z) du syst`eme comme etant la
transformee en z de la fonction de transfert continue H(p) :
H(z) = Z(H(p))
H(p)
T
U*(p)
u(kT)
Y*(p)
y(kT)
H(z)
U(z)
u(kT)
Y(z)
y(kT)
T
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
3.2 - Calcul de fonctions de transfert echantillonnees 25
Remarque : On ne peut pas toujours denir une fonction de transfert echantillonnee :
H(p)
T
u(t) y*(t)
Dans ce cas, on peut seulement ecrire :
Y (z) = Z(H(p)U(p))
3.2 Calcul de fonctions de transfert echantillonnees
Fonctions de transfert en serie :
1
er
cas :
H
1
(p)
T
U*(p)
X*(p)
T
U(p)
U(z)
X(p)
X(z)
H
1
(p)
Y*(p)
T
Y(p)
Y(z)
_
X(z) = H
1
(z)U(z)
Y (z) = H
2
(z)X(z)

Y (z)
U(z)
= H
1
(z)H
2
(z)
2
`eme
cas :
H
1
(p)
T
U*(p)
U(p)
U(z)
X(p)
H
2
(p)
Y*(p)
T
Y(p)
Y(z)
_
X(p) = H
1
(p)U

(p)
Y (p) = H
2
(p)X(p)
Y (p) = H
2
(p)H
1
(p)U

(p)
Y

(p) = [H
2
(p)H
1
(p)U

(p)]

= [H
2
(p)H
1
(p)]

(p)

(p)
U

(p)
= [H
2
(p)H
1
(p)]


Y (z)
U(z)
= Z(H
1
(p)H
2
(p)) =

H
1
H
2
(z)
Conclusion :
Si les deux fonctions de transfert sont separees par un echantillonneur, la fonction de
transfert echantillonnee equivalente est egale au produit des fonctions de transfert
echantillonnees.
Si les deux fonctions de transfert ne sont pas separees par un echantillonneur, la
fonction de transfert echantillonnee equivalente est egale ` a la transformee en z du
produit des fonctions de transfert continues.
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
26 Chapitre 3 - Syst`emes echantillonnes
Fonction de transfert dun syst`eme en boucle fermee :
Soit le syst`eme :
G(p)
T
R(p)
E(p)
H(p)
S*(p)
T
s(t)
S(z)
+

e(t)
r(t)
(p)
(t)
(z)

(t)
Dapr`es la linearite du comparateur :
G(p)
T
R(z)
E(p)
H(p)
T
S(z)
+

(z)
T
E(z)
S(p)
_
(z) = E(z) R(z)
R(z) =

HG (z)(z)
(z) =
E(z)
1+

HG (z)
S(z) = G(z)(z) =
G(z)
1+

HG (z)
E(z)
S(z)
E(z)
=
G(z)
1+

HG (z)
3.3 Representation temporelle des syst`emes echan-
tillonnes
Soit la fonction de transfert echantillonnee :
H(z) =
Y (z)
U(z)
=
b
0
+ b
1
z
1
+ b
2
z
2
+ + b
m
z
m
a
0
+ a
1
z
1
+ a
2
z
2
+ + a
n
z
n
avec n m.
On a :
_
a
0
+ a
1
z
1
+ a
2
z
2
+ + a
n
z
n
_
Y (z) =
_
b
0
+ b
1
z
1
+ b
2
z
2
+ + b
m
z
m
_
U(z)
do` u :
a
0
Y (z) + a
1
z
1
Y (z) + a
2
z
2
Y (z) + + a
n
z
n
Y (z)
= b
0
U(z) + b
1
z
1
U(z) + b
2
z
2
U(z) + + b
m
z
m
U(z)
En prenant la transformee en z inverse et en posant y
k
= y(kT) et u
k
= u(kT), on obtient :
a
0
y
k
+ a
1
y
k1
+ a
2
y
k2
+ + a
n
u
kn
= b
0
u
k
+ b
1
u
k1
+ b
2
u
k2
+ + b
m
u
km
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
3.4 - Exemples dapplications 27
ou encore :
n

i=0
a
i
y
ki
=
m

j=0
b
j
u
kj
Ainsi, dans le domaine temporel, un syst`eme echantillonne est represente par une equa-
tion aux dierences ou equation de recurrence
Dautre part, la relation entre lentree u
k
et la sortie y
k
se deduit de lexpression Y (z) =
H(z)U(z) :
y
k
= h
k
u
k
o` u h
k
= Z
1
(H(z)) est la reponse impulsionnelle du syst`eme.
Exemple : Determiner la reponse indicielle du syst`eme deni par lequation de recurrence :
y
k
+ ay
k1
= u
k
On a : Y (z) +az
1
Y (z) = U(z) avec U(z) =
1
1z
1
(transformee en z dun echelon), do` u :
Y (z)(1 + az
1
) =
1
1 z
1
Y (z) =
1
(1 + az
1
)(1 z
1
)
=
z
2
(z + a)(z 1)
=
a
a + 1
z
z + a
+
1
a + 1
z
z 1
En prenant la transformee en z inverse, on obtient :
y
k
=
a
a + 1
(a)
k
+
1
a + 1
=
a(a)
k
+ 1
a + 1
=
1 (a)
k+1
1 + a
3.4 Exemples dapplications
Syst`eme du 1
er
ordre muni dun bloqueur dordre zero :
BOZ
T
u(t) y(t)
1
1+ p
Fonction de transfert du bloqueur dordre zero :
B
0
(p) =
1 e
Tp
p
Fonction de transfert du syst`eme :
Y (z)
U(z)
= Z (B
0
(p)H(p)) = Z
_
1 e
Tp
p
H(p)
_
= Z
_
H(p)
p
_
Z
_
H(p)
p
e
Tp
_
= Z
_
H(p)
p
_
z
1
Z
_
H(p)
p
_
= (1 z
1
)Z
_
H(p)
p
_
=
z 1
z
Z
_
H(p)
p
_
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
28 Chapitre 3 - Syst`emes echantillonnes
=
z 1
z
Z
_
1
p(1 + p)
_
=
z 1
z
_
1 e

_
z
(z 1)
_
z e

_ =
1 e

z e

=
b
0
z + a
0
=
b
0
z
1
1 + a
0
z
1
Remarque : le bloqueur dordre zero ne change pas lordre du syst`eme.
Equation aux dierences :
y
k
+ a
0
y
k1
= b
0
u
k1
Reponse indicielle :
u
k
=
_
0, k < 0
1, k 0
On a :
y
k
= b
0
u
k1
a
0
y
k1
do` u :
y
0
= 0
y
1
= b
0
y
2
= b
0
a
0
b
0
y
3
= b
0
a
0
b
0
+ a
2
0
b
0
.
.
.
y
n
= b
0
(1 a
0
+ a
2
0
. . .)
Ainsi :
y
n
= b
0
1 (a
0
)
n
1 + a
0
Syst`eme `a inertie precede par un bloqueur dordre zero :
T
u(t)
y(t)
1

e
Tp
p
1
2
p
Z
_
1 e
Tp
p
3
_
=
_
1 z
1
_
Z
_
1
p
3
_
=
z 1
z
T
2
z(z + 1)
2(z 1)
3
=
T
2
(z + 1)
2(z 1)
2
Reponse indicielle (dapr`es la table des transformees en z) :
y(nT) =
(nT)
2
2

n+
+
Syst`eme asservi echantillonne : exemple dasservissement de position dun moteur ` a
courant continu :
u(t) K
p a +
1
p
(t) (t)
K
p p a +
( )
u(t) (t)
tension
d'induit
vitesse position
avec : K = 60, a = 5, T = 0,08 s.
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
3.4 - Exemples dapplications 29
Syst`eme en boucle fermee :
K
p p a +
( )
(t)
B p
0
( )
T
e(t)
+

T
(nT) (t)
G(z)
H(p)
Fonction de transfert en boucle ouverte :
G(z) = Z (B
0
(p)H(p)) =
z 1
z
Z
_
H(p)
p
_
Calcul de Z
_
H(p)
p
_
:
H(p)
p
=
K
p
2
(p + a)
=
K
a
a
p
2
(p + a)
do` u, dapr`es la table des transformees en z :
Z
_
H(p)
p
_
=
K
a
_
Tz
(z 1)
2

_
1 e
aT
_
z
a(z 1)(z e
aT
)
_
Ainsi :
G(z) =
K
a
_
T
z 1

1 e
aT
a(z e
aT
)
_
=
K
a
aT
_
z e
aT
_

_
1 e
aT
_
z + 1 e
aT
a(z 1) (z e
aT
)
=
K
a
2
_
aT 1 + e
aT
_
z + 1 e
aT
aTe
aT
z
2
(1 + e
aT
)z + e
aT
=
0,169z + 0,148
z
2
1,67z + 0,67
Fonction de transfert en boucle fermee :
F(z) =
(z)
E(z)
=
G(z)
1 + G(z)
=
0,169z + 0,148
z
2
1,501z + 0,818
Reponse indicielle du syst`eme en boucle fermee :
(z)
E(z)
=
0,169z
1
+ 0,148z
2
1 1,501z
1
+ 0,818z
2
do` u lequation aux dierences :

n
= 1,501
n1
0,818
n2
+ 0,169 e
n1
+ 0,148 e
n2
avec :
e
n
=
_
0, n < 0
1, n 0
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
30 Chapitre 3 - Syst`emes echantillonnes
n 0 1 2 3 4 5 6 7 8 9 10 . . .
e
n
1 1 1 1 1 1 1 1 1 1 1 . . .

n
0 0,17 0,56 0,99 1,33 1,48 1,44 1,27 0,87 0,78 0,78 . . .
. . . 11 12 13 14 15 16 17 . . .
. . . 1 1 1 1 1 1 1 . . .
. . . 0,78 0,84 0,94 1,04 1,09 1,11 1,09 . . .
0 T 2T 3T 4T 5T 6T 7T 8T 9T 10T 11T12T13T 14T 15T 16T 17T
t
0,5
1
1,5
Remarques :
Erreur en regime permanent :
lim
n+
(nT) = lim
z1
_
1 z
1
_
(z) = lim
z1
_
1 z
1
_
F(z)E(z)
= lim
z1
_
1 z
1
_
F(z)
z
z 1
= lim
z1
F(z) =
0,169 + 0,148
1 1,501 + 1,818
=
0,317
0,317
= 1
lim
n+
(nT) = 1 : lerreur en regime permanent est nulle.
Le syst`eme en boucle fermee a une reponse indicielle oscillatoire peu amortie.
Il faut donc introduire un correcteur dans la chane daction pour ameliorer la
reponse indicielle.
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
Chapitre 4
Analyse des syst`emes lineaires
echantillonnes : stabilite precision
4.1 Condition de stabilite des syst`emes lineaires echan-
tillonnes
Denition : un syst`eme est stable si, lorsquon lecarte de sa position dequilibre, il tend
a y revenir. Il est instable lorsquil tend ` a sen eloigner davantage.
Pour un syst`eme lineaire echantillonne, on sinteresse ` a la stabilite aux instants dechan-
tillonnage.
Condition de stabilite dapr`es la reponse impulsionnelle du syst`eme :
Pour les syst`emes continus, on a :
H(p) =

i
p p
i
avec p
i
: p oles de la fonction de transfert.
Reponse impulsionnelle :
h(t) = L
1
(H(p)) =

i
e
p
i
t
Le syst`eme est stable h(t)
t+
0 i, Re(p
i
) < 0 : tous les p oles doivent etre
` a partie reelle negative.
Pour les syst`emes echantillonnes :
H(z) =

i
z
z z
i
avec z
i
: p oles de la fonction de transfert echantillonnee.
Reponse impulsionnelle :
h(nT) = Z
1
(H(z)) =

i
z
n
i
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
32 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes
Le syst`eme est stable h(nT)
n+
0 i, |z
i
| < 1 : tous les poles doivent etre
de module strictement inferieur ` a 1.
Interpretation dans le plan complexe :
Im(p)
Re(p)
Im(z)
Re(z)
1
systme continu systme chantillonn
STABLE INSTABLE
STABLE
INSTABLE
z
Tp
= e
ples dans le
demi-plan gauche
ples
l'intrieur
du disque
unit
4.2 Crit`eres algebriques de stabilite
Ils permettent de localiser les poles dune fonction de transfert dans le plan complexe sans
avoir besoin de les calculer explicitement.
Crit`ere de Routh modie :
Pour pouvoir appliquer le crit`ere de Routh aux syst`emes echantillonnes, on eectue un
changement de variable (transformation conforme ou transformation homographique) en
posant :
w =
z 1
z + 1
z =
1 + w
1 w
Cette transformation applique linterieur du disque unite du plan z dans le demi-plan
gauche du plan w. Il sut donc dappliquer le crit`ere de Routh `a la fonction de transfert
H
_
1+w
1w
_
.
Rappel du crit`ere de Routh : un polyn ome P(x) = a
n
x
n
+ a
n1
x
n1
+ a
n2
x
n2
+ . . . +
a
1
x + a
0
a toutes ses racines situees dans le demi-plan gauche du plan complexe ` a deux
conditions :
tous les coecients a
i
sont de meme signe (et donc tous dierents de zero) ;
tous les termes de la premi`ere colonne du tableau de Routh sont de meme signe.
Construction du tableau de Routh :
a
n
a
n2
a
n4
. . .
a
n1
a
n3
a
n5
. . .
b
1
=
a
n1
a
n2
a
n
a
n3
a
n1
b
2
=
a
n1
a
n4
a
n
a
n5
a
n1
b
3
=
a
n1
a
n6
a
n
a
n7
a
n1
. . .
c
1
=
b
1
a
n3
b
2
a
n1
b
1
c
2
=
b
1
a
n5
b
3
a
n1
b
1
c
3
=
b
1
a
n7
b
4
a
n1
b
1
. . .
.
.
.
.
.
.
.
.
.
.
.
.
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
4.2 - Crit`eres algebriques de stabilite 33
Le nombre de p oles `a partie reelle positive est egal au nombre de changements de signe
dans la premi`ere colonne.
Remarque : Si le tableau de Routh poss`ede une ligne dont tous les coecients sont nuls,
alors le polynome poss`ede des racines imaginaires pures (cest-` a-dire situees sur laxe
imaginaire).
Exemple : asservissement de position dun moteur `a courant continu :
K
p p a +
( )
(t)
B p
0
( )
T
e(t)
+

T
(nT)
G(z)
avec : a = 5, T = 0,08 s et K variable.
Fonction de transfert en boucle ouverte :
G(z) =
K
a
2
_
aT 1 + e
aT
_
z + 1 e
aT
aTe
aT
z
2
(1 + e
aT
)z + e
aT
=
K
25
0,07z + 0,062
z
2
1,67z + 0,67
Fonction de transfert en boucle fermee :
F(z) =
(z)
E(z)
=
G(z)
1 + G(z)
Equation caracteristique :
1 + G(z) = 0 z
2
+ (0,0028K 1,67)z + (0,67 + 0,0025K) = 0
On pose z =
1 + w
1 w
:
_
1 + w
1 w
_
2
+ (0,0028K 1,67)
1 + w
1 w
+ 0,67 + 0,0025K = 0
1 + 2w + w
2
+ (0,0028K 1,67)(1 w
2
) + (0,67 + 0,0025K)(1 2w + w
2
) = 0
(3,337 + 0,0025K)w
2
+ (0,66 0,005K)w + 0,0053K = 0
Tableau de Routh :
3,337 + 0,0025K 0,0053K
0,66 0,005K 0
0,0053K
0
Conditions de stabilite :
_
_
_
3,337 + 0,0025K > 0
0,66 0,005K > 0
0,0053K > 0
0 < K < 132
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
34 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes
Remarque : le crit`ere de Routh modie reste lourd ` a appliquer.
Crit`ere de Jury :
Le crit`ere de Jury permet de determiner si les racines dun polyn ome sont de module
inferieur `a 1, cest-` a-dire situees ` a linterieur du disque unite.
Soit un polynome
P(z) = a
0
+ a
1
z + a
2
z
2
+ . . . + a
n
z
n
` a coecients reels avec a
n
> 0. On construit le tableau `a 2n 3 lignes suivant :
1 a
0
a
1
. . . a
nk
. . . a
n1
a
n
2 a
n
a
n1
. . . a
k
. . . a
1
a
0
3 b
0
b
1
. . . b
nk
. . . b
n1
4 b
n1
b
n2
. . . b
k
. . . b
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2n 5 p
0
p
1
p
2
p
3
2n 4 p
3
p
2
p
1
p
0
2n 3 q
0
q
1
q
2
avec :
b
0
=

a
0
a
n
a
n
a
0

, . . . , b
k
=

a
0
a
nk
a
n
a
k

, . . . , b
n1
=

a
0
a
1
a
n
a
n1

q
0
=

p
0
p
3
p
3
p
0

, q
1
=

p
0
p
2
p
3
p
1

, q
2
=

p
0
p
1
p
3
p
2

Les racines de P(z) sont de module inferieur ` a 1 ssi les n + 1 conditions suivantes sont
veriees (crit`ere de Jury) :
P(1) > 0
P(1) > 0 si n est pair ou P(1) < 0 si n est impair
|a
0
| < a
n
|b
0
| > |b
n1
|
.
.
.
|p
0
| > |p
3
|
|q
0
| > |q
2
|
Exemples :
P(z) = a
0
+ a
1
z (n = 1)
P(1) = a
0
+ a
1
> 0
P(1) = a
0
a
1
< 0
_
a
1
< a
0
< a
1
|a
0
| < a
1
P(z) = a
0
+ a
1
z + a
2
z
2
(n = 2)
P(1) = a
0
+ a
1
+ a
2
> 0
P(1) = a
0
a
1
+ a
2
> 0
|a
0
| < a
2
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
4.2 - Crit`eres algebriques de stabilite 35
P(z) = a
0
+ a
1
z + a
2
z
2
+ a
3
z
3
(n = 3)
P(1) = a
0
+ a
1
+ a
2
+ a
3
> 0
P(1) = a
0
a
1
+ a
2
a
3
< 0
|a
0
| < a
3
|a
2
0
a
2
3
| > |a
0
a
2
a
1
a
3
|
Etude de la stabilite de lasservissement de position dun moteur ` a courant continu :
P(z) = z
2
+ (0,0028K 1,67)z + (0,67 + 0,0025K) = 0
Conditions de stabilite :
_
_
_
1 + 0,0028K 1,67 + 0,67 + 0,0025K > 0
1 0,0028K 1,67 + 0,67 + 0,0025K > 0
|0,67 + 0,0025K| < 1

_
_
_
0,0053K > 0
3,34 > 0,0003K K < 11133,3
1 < 0,67 + 0,0025K < 1 668 < K < 132
0 < K < 132
On retrouve bien le meme resultat quavec le crit`ere de Routh modie.
Etude de la stabilite du syst`eme echantillonne suivant :
+

E(z) S(z)
H(z)
avec H(z) =
K(z + 0.5)
z(z + 1)(z 1)

Equation caracteristique : 1 + H(z) = 0 z


3
+ (K 1)z +
K
2
= 0
Application du crit`ere de Jury :
P(1) =
3K
2
> 0
P(1) =
K
2
< 0
_

_
K > 0
K
2
< 1 K < 2
K
2
K 1 0 1
1 0 K 1
K
2
K
2
4
1
K
2
(K 1) 1 K

K
2
4
1

> |1 K| 1
K
2
4
> |1 K|
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
36 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes

K
2
4
1 < 1 K < 1
K
2
4

_
_
_
K
2
4
+ K 2 < 0
K < 4

_
5,464 < K < 1,464
K < 4
Condition de stabilite : 0 < K < 1,464
4.3 Crit`eres geometriques de stabilite
Crit`ere de Nyquist :
Le crit`ere de Nyquist permet detudier la stabilite dun syst`eme en boucle fermee ` a partir
de la fonction de transfert en boucle ouverte.
Il est base sur le lemme de Cauchy :
Si C est un contour entourant Z zeros et P poles dune fonction F(z), parcouru dans le
sens des aiguilles dune montre, alors le lieu des points daxe F(z) entoure lorigine
un nombre T = P Z de fois dans le sens inverse des aiguilles dune montre lorsque z
parcourt le contour C.
Re (z)
Im (z)
Re(F(z))
Im (F(z))
C
: ples
: zros
Application ` a letude de la stabilite dun syst`eme echantillonne en boucle fermee :
+

e
s
G(p)
H(p)
La fonction de transfert en boucle fermee est :
F(z) =
G(z)
1+

GH(z)
Pour que le syst`eme soit stable en boucle fermee, il faut que tous les p oles de la fonction
de transfert en boucle fermee soient ` a linterieur du disque unite. Les poles de la fonction
de transfert en boucle fermee sont les zeros de lequation caracteristique du syst`eme en
boucle fermee :
1+

GH(z) = 0
Les poles de lequation caracteristique du syst`eme en boucle fermee sont les meme que
ceux de la fonction de transfert en boucle ouverte

GH(z).
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
4.3 - Crit`eres geometriques de stabilite 37
Pour determiner le nombre de zeros instables (c-`a-d situes `a lexterieur du disque unite)
de lequation caracteristique, on denit un contour dexclusion qui entoure lexterieur du
disque unite :
Re (z)
Im (z)
1

On montre que largument de la fonction 1+

GH(z) ne depend que des valeurs de z ap-


partenant au cercle unite. Ainsi, le lieu des points daxe 1+

GH(z) lorsque z parcourt le


cercle unite (lieu de Nyquist) entoure T = P Z fois lorigine, avec P et Z respectivement
le nombre de p oles et de zeros instables de 1+

GH(z), c-` a-d situes ` a linterieur du contour


dexclusion. Donc le nombre de zeros instables de 1+

GH(z) est Z = P T.
En pratique, on compte le nombre de tours du lieu des point daxe

GH(z) autour du
point daxe (1). Pour que le syst`eme soit stable en boucle fermee, il faut que Z = 0,
c-`a-d P = T. On en deduit le crit`ere de Nyquist :
Pour que le syst`eme echantillonne dont lequation caracteristique est 1+

GH (z) soit
stable, le trace de Nyquist de

GH(z) doit decrire autour du point (-1) un nombre de tours


egal au nombre de poles instables de

GH(z) dans le sens des aiguilles dune montre.


Remarque : si la fonction de transfert en boucle ouverte poss`ede des p oles de module egal
` a 1, c-` a-d situes sur le cercle unite, on modie le contour dexclusion pour les eviter :
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
38 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes
Re (z)
Im (z)
1
Exemple : etude du syst`eme echantillonne ` a retour unitaire deni par la fonction de
transfert en boucle ouverte suivante (asservissement de position dun moteur ` a courant
continu) :
G(z) =
K
25

0.07z + 0.062
z
2
1.67z + 0.67
=
K
25

0.07z + 0.062
(z 1)(z 0.67)
Le syst`eme en boucle ouverte poss`ede un p ole sur le cercle unite, on utilise donc un contour
dexclusion qui evite ce p ole.
Lieu de Nyquist de G(z) :
Re (z)
Im (z)
K
132

K
20.8

-1
Condition de stabilite : P = 0 T = 0 : le lieu de Nyquist ne doit pas entourer le point
(1) : 1 <
K
132
K < 132
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
4.3 - Crit`eres geometriques de stabilite 39
Lieu des racines (Root Locus, lieu dEvans) :
Soit le syst`eme asservi echantillonne suivant :
+

E(z) S(z)
K H(z)
La fonction de transfert en boucle fermee est :
S(z)
E(z)
=
KH(z)
1 + KH(z)
Lequation caracteristique du syst`eme en boucle fermee est :
1 + KH(z) = 0
Le lieu des racines (ou lieu dEvans) de cette equation est lensemble des points du plan
complexe qui sont les racines de lequation lorsque le gain K varie de 0 `a +.
Lequation caracteristique secrit :
H(z) =
1
K
On en deduit :
la condition des modules :
|H(z)| =
1
K
la condition des angles :
H(z) = + 2k
La fonction de transfert en boucle ouverte peut secrire :
H(z) =
N(z)
D(z)
=
(z z
1
)(z z
2
) . . . (z z
m
)
(z p
1
)(z p
2
) . . . (z p
n
)
o` u n et m sont respectivement le nombre de p oles et de zeros de H(z), comptes avec leur
ordre de multiplicite (en general, n m).
R`egles de construction du lieu des racines :
1. Nombre de branches du lieu des racines : il est egal au nombre de p oles de la fonction
de transfert en boucle ouverte.
2. Points de depart :
1 + KH(z) = 0 1 + K
N(z)
D(z)
= 0 D(z) + KN(z) = 0
Pour K = 0, les racines de lequation caracteristique sont les racines de D(z), cest-
` a-dire les n p oles de H(z).
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
40 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes
3. Points darrivee :
D(z) + KN(z) = 0
1
K
D(z) + N(z) = 0
Pour K +, les racines de lequation caracteristique sont les racines de N(z),
cest-`a-dire les m zeros de H(z). Il y a egalement n m directions asymptotiques.
4. Directions asymptotiques : le lieu des racines poss`ede nm directions asymptotiques
O

telles que :
(Ox, O

) =

n m
(1 + 2), = 0, 1, 2, . . . , n m1
Les asymptotes concourent sur laxe reel au point dabscisse tel que :
=
n

i=1
p
i

j=1
z
j
n m
5. Parties du lieu des racines sur laxe reel : un point de laxe reel appartient au lieu
des racines si et seulement si il y a un nombre impair de poles et de zeros reels
et nis situes ` a sa droite. Ainsi, les parties du lieu des racines sur laxe reel sont
enti`erement determinees par la position des poles et des zeros reels de la fonction
de transfert en boucle ouverte H(z).
6. Points de separation de laxe reel : les abscisses des points de separation de laxe
reel sont les solutions de lequation :
1
z
1
+
1
z
2
+ . . . +
1
z
m
=
1
p
1
+
1
p
2
+ . . . +
1
p
n
Les points de separation de laxe reel sont toujours compris entre deux poles ou deux
zeros.
En un point de separation de laxe reel, les branches du lieu des racines sont separees
par un angle de

q
o` u q est le nombre de branches qui concourent.
7. Intersections du lieu des racines avec le cercle unite : on les determine en appliquant
le crit`ere de Routh modie `a lequation caracteristique.
8. Symetrie du lieu des racines : le lieu des racines est toujours symetrique par rapport
` a laxe reel.
9. Determination du gain en un point du lieu des racines : le gain en un point daxe
appartenant au lieu des racines est obtenu en appliquant la condition des modules :
K =
1
|H()|
10. Somme des poles en boucle fermee : si n m 2, la somme des p oles en boucle
fermee est constante.
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
4.3 - Crit`eres geometriques de stabilite 41
11. Angles de depart et darrivee `a un pole ou un zero complexe : ils sont donnes par la
condition des angles appliquee en un point voisin du p ole ou du zero considere.

Etude de la stabilite dun syst`eme echantillonne en boucle fermee : cette etude se fait
en tracant le lieu des racines de lequation caracteristique et en cherchant les valeurs du
gain K pour lesquelles le lieu des racines est `a linterieur du disque unite dans le plan
complexe.
Notations :
p oles :
zeros :
racines de lequation caracteristique : 2
Exemples :
H(z) =
1
z 1
un p ole p
1
= 1 n = 1 une branche
pas de zero m = 0
n m = 1 une direction asymptotique (Ox, O) =
point de depart : pole p
1
= 1
point darrivee : direction asymptotique (Ox, O)
Re
Im
K = 0
K = 2
1 1
K +
cercle unit
intersection avec le cercle unite : z = 1 K =
1
|H(1)|
= 2
Le syst`eme est stable en boucle fermee ssi le lieu des racines est ` a linterieur du
disque unite, cest-`a-dire K < 2.
H(z) =
z
z 1
un p ole p
1
= 1 n = 1 une branche
un zero z
1
= 0 m = 1
n m = 0 pas de direction asymptotique
point de depart : pole p
1
= 1
point darrivee : zero z
1
= 0
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
42 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes
Re
Im
K = 0
1 1
K +
cercle unit
Le lieu des racines est toujours situe `a linterieur du disque unite donc K > 0, le
syst`eme en boucle fermee est stable.
H(z) =
z
(z a)
2
(a > 0)
deux p oles p
1
= p
2
= a n = 2 deux branches
un zero z
1
= 0 m = 1
n m = 1 une direction asymptotique (Ox, O) =
point de depart : poles p
1
= p
2
= a
points darrivee : zero z
1
= 0 et direction asymptotique (Ox, O)
point de separation de laxe reel :
1

=
1
a
+
1
a

1

=
2
a
= a
gain au point de separation de laxe reel :
K =
1
|H(a)|
= 4a
parties du lieu des racines sur laxe reel :
Re
a
a
0
point de
sparation
3 ples et zros droite
lieu des racines complexes : dapr`es la condition des angles :
arg H(z) = + 2k avec z = x + jy
arg(z) 2 arg(z a) = + 2k arctan
_
y
x
_
2 arctan
_
y
x a
_
=
arctan
_
y
x
_
arctan
_
y
x a
_
= arctan
_
y
x a
_
+
y
x

y
xa
1 +
y
2
x(xa)
=
y
x a

1
x

1
x a
=
1
x a
+
y
2
x(x a)
2

ax + a
2
x(x a)
2
=
x
2
ax + y
2
x(x a)
2
x
2
+ y
2
= a
2
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
4.3 - Crit`eres geometriques de stabilite 43
le lieu des racines complexes est un cercle de centre O et de rayon a.
Re
Im
K = 0
K = (1+a)
2
1 1 K +
cercle unit
a a
K +
K = 4a
Le syst`eme est stable en boucle fermee ssi le lieu des racines est ` a linterieur du
disque unite, cest-`a-dire K < (1 + a)
2
.
H(z) =
z + 0,5
z(z 1)(z + 1)
trois p oles : p
1
= 0, p
2
= 1, p
3
= 1 n = 3 trois branches
un zero z
1
= 0,5 m = 1
n m = 2 deux directions asymptotiques (Ox, O
1
) =

2
, (Ox, O
2
) =
3
2
intersection des asymptotes :
=
p
1
+ p
2
+ p
3
z
1
n m
=
0 + 1 1 (0,5)
3 1
= 0,25
points de separation de laxe reel :
1
+ 0,5
=
1

+
1
+ 1
+
1
1

1
+ 0,5
=
3
2
1

2
3
+ 1,5
2
0,5 = 0
cette equation admet une seule racine reelle : 0,455
gain au point de separation :
K =
1
|H()|
0,378
parties du lieu des racines sur laxe reel :
Re
1 0.5
0
point de sparation
3 ples et zros droite
1
0.455
1 ple droite
intersections avec le cercle unite : on applique le crit`ere de Routh modie ` a lequa-
tion caracteristique :
1 + KH(z) = 0 z
3
+ (K 1)z + 0,5K = 0
on pose z =
1+w
1w
0,5Kw
3
+ (4 + 0,5K)w
2
+ (4 2,5K)w + 15K = 0
Tableau de Routh :
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
44 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes
0,5K 4 2,5K
4 + 0,5K 1,5K
168K2K
2
4+0,5K
0
1,5K
z est sur le cercle unite w est imaginaire pur 168K2K
2
= 0 K = 1,464
Re
1
0.5
1 0.455
0.25
Im
K = 0 K +
K = 0 K = 0
K = 1.464
K = 1.464
K = 0.378
K +
K +
cercle unit
Le syst`eme est stable en boucle fermee ssi le lieu des racines est ` a linterieur du
disque unite, cest-`a-dire K < 1,464.
4.4 Precision des syst`emes echantillonnes en boucle
fermee
Soit le syst`eme echantillonne suivant :
y(t)
T
e(t)
+

T
y*(t) (t)
G(z)
G(p)
E(z)
(z)
Y(z)
(t)
Ce syst`eme est dautant plus precis que lerreur

(t) est faible.


Fonction de transfert de lerreur :
(z)
E(z)
=
1
1 + G(z)
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
4.4 - Precision des syst`emes echantillonnes en boucle fermee 45
Erreur en regime permanent :
() = lim
n
(nT)
Dapr`es le theor`eme de la valeur nale :
() = lim
z1
_
z 1
z
(z)
_
= lim
z1
_
z 1
z
E(z)
1 + G(z)
_
Lerreur en regime permanent depend :
du syst`eme ;
du signal dentree.
La fonction de transfert en boucle ouverte peut secrire :
G(z) =
N(z)
(z 1)
n
D(z)
avec n 0 (n entier), nombre de poles z = 1.
On applique au syst`eme des entrees canoniques :
e(t) = (t) (echelon) E(z) =
z
z 1
e(t) = t (rampe) E(z) =
Tz
(z 1)
2
e(t) = t
2
(acceleration) E(z) =
T
2
z(z + 1)
(z 1)
3
.
.
.
.
.
.
e(t) = t
m
E(z) =
T
m
zR(z)
(z 1)
m+1
avec R(1) = 0
Ainsi :
() = lim
z1
_
z 1
z
T
m
zR(z)
(z 1)
m+1
1
1 +
N(z)
(z1)
n
D(z)
_
= lim
z1
_
T
m
R(z)
(z 1)
m
(z 1)
n
D(z)
(z 1)
n
D(z) + N(z)
_
= lim
z1
_
(z 1)
nm
T
m
R(z)D(z)
(z 1)
n
D(z) + N(z)
_
Donc :
() =
_
_
_
0 si n > m
cste si n = m
si n < m
Exemples derreurs statiques :
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
46 Chapitre 4 - Analyse des syst`emes lineaires echantillonnes
h
h
h
h
h
h
h
h
h
h
h
h
h
h
h
h
hh
Entree
Nbre de p oles z = 1
n = 0 n = 1 n = 2
echelon (m = 0)
D(1)
D(1) + N(1)
=
1
1 + G(1)
0 0
rampe (m = 1)
TD(1)
N(1)
0
acceleration (m = 2)
2T
2
D(1)
N(1)
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
Chapitre 5
Synth`ese des syst`emes asservis
lineaires echantillonnes
5.1 Principe
La synth`ese dun syst`eme asservi consiste ` a introduire un correcteur pour ameliorer les
performances du syst`eme en termes de :
stabilite ;
precision ;
rapidite.
Correcteur continu :
+

e
B p
0
( )
s
T
R( p) G( p)

Fonction de transfert en boucle fermee :


F(z) =
S(z)
E(z)
=

B
0
RG(z)
1+

B
0
RG(z)
Probl`eme : la fonction de transfert R(z) du correcteur est indissociable de celle du proces-
sus, donc `a chaque modication du correcteur, on doit recalculer la fonction de transfert
en boucle fermee pour evaluer les performances de lasservissement : dicile en pratique.
Solution : separer la fonction de transfert du correcteur de celle du processus :
+

e
B p
0
( )
s
T
R( p) G( p)

B p
0
( )
T
H(z) C(z)
avec :
C(z) : correcteur echantillonne ;
H(z) : mod`ele discret du processus continu G(p).
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
48 Chapitre 5 - Synth`ese des syst`emes asservis lineaires echantillonnes
On peut egalement denir directement un correcteur numerique, sans passer par
lechantillonnage dun correcteur continu :
+

E(z)
S(z)
C( z) G( z)
(z)
U(z)
avec :
C(z) : correcteur numerique (calculateur) ;
H(z) : processus discretise.
On obtient ainsi un schema de commande numerique directe.
Le correcteur numerique C(z) est deni par sa fonction de transfert :
C(z) =
U(z)
(z)
=
b
m
z
m
+ b
m1
z
m1
+ . . . + b
0
a
n
z
n
+ a
n1
z
n1
+ . . . + a
0
avec a
n
= 0 et n m (causalite du correcteur).
Un correcteur numerique est un calculateur sur lequel est programmee lequation de re-
currence obtenue ` a partir de C(z) :
u(kT) = f ((kT), ((k 1)T), . . . , u((k 1)T), . . .)
Exemples de correcteurs numeriques :
correcteur proportionnel : C(z) = b
0
;
correcteur integral : C(z) =
b
1
z
z 1
;
correcteur proportionnel integral(PI) : C(z) =
b
1
z + b
0
z 1
;
correcteur proportionnel integral derive (PID) : C(z) =
b
2
z
2
+ b
1
z + b
0
z(z 1)
;
correcteur proportionnel derive (PD) : C(z) =
b
1
z + b
0
z
;
correcteur PD2 : C(z) =
b
2
z
2
+ b
1
z + b
0
z
2
.
Remarque : la regulation numerique est plus ecace que la regulation continue car on
nest pas limite par des contraintes de realisation materielle des correcteurs puisque ce
sont des algorithmes programmes sur un calculateur.
Il existe dierentes methodes de synth`ese des correcteurs numeriques :
extension des methodes du continu ;
methode des poles dominants ;
synth`ese ` a temps de reponse minimum;
regulateur RST . . .
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
5.2 - Extension des methodes du continu 49
5.2 Extension des methodes du continu
Le principe de lextension des methodes du continu consiste ` a transformer lasservissement
numerique en un asservissement continu equivalent, puis `a eectuer la synth`ese de cet as-
servissement continu et enn determiner un correcteur numerique par une transformation
inverse :
+

C( z) H( z)
dterminer

transformation
z p
+

C'( p) H'( p)
calcul de C

(p) en utilisant
les methodes du continu
(abaque de Black, marge de
gain, marge de phase, . . .)
transformation
inverse p z
= correcteur C(z)
Exemple de transformation z p :
z = e
Tp
=
e
Tp
2
e

Tp
2

1 +
Tp
2
1
Tp
2
p
2
T
z 1
z + 1
: transformation homographique (Tustin)
Si on pose w =
Tp
2
, on obtient la transformee en w :
z =
1 + w
1 w
w =
z 1
z + 1
La transformee en w constitue une approximation de la variable z dans le plan p.
Pour z = e
Tp
et p = j, on obtient :
w =
z 1
z + 1
=
e
jT
1
e
jT
+ 1
=
e
j
T
2
e
j
T
2
e
j
T
2
+ e
j
T
2
= j tan
T
2
En posant :
v = tan
T
2
on obtient :
w = jv
La variable v joue donc le r ole dune pulsation qui varie de 0 ` a + lorsque varie de 0
` a

T
=

e
2
(
e
: pulsation dechantillonnage).
On calcule donc H(w) = H(z)|
z=
1+w
1w
puis on prend w = jv et on trace les lieux de
Bode ou de Black de H(jv), ensuite on corrige la fonction de transfert H(jv) ` a laide
dun correcteur C(w) qui permet dimposer des marges de stabilite speciees et enn on
determine de correcteur numerique C(z) = C(w)|
w=
z1
z+1
.
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
50 Chapitre 5 - Synth`ese des syst`emes asservis lineaires echantillonnes
5.3 Methode des poles dominants (Methode de Zdan)
Cette methode consiste ` a determiner un correcteur C(z) tel que le syst`eme en boucle fer-
mee se comporte comme un syst`eme du second ordre deni par ses param`etres (amor-
tissement) et
0
(pulsation naturelle), en imposant lexistence de deux p oles dominants
complexes conjuges, les autre poles etant de module negligeable (< 0,1 par exemple).
Si la fonction de transfert en boucle fermee est :
F(z) =
A(z)
B(z)
on doit avoir :
B(z) = (z p
0
)(z p
0
)(z
1
) . . . (z
n
)
o` u p
0
et p
0
sont les p oles complexes conjugues dominants et les
i
sont les p oles de module
negligeable.
La methode des p oles dominants consiste ` a determiner un correcteur C(z) tel que :
C(z) compense les poles et zeros stables de la fonction de transfert en boucle ouverte
H(z) (poles et zeros de module inferieur ` a 1) ;
C(z) comporte autant de poles `a z = 1 que necessaire pour annuler lerreur en
regime permanent pour une entree echelon donnee (position, vitesse, . . .). Les p oles
` a z = 1 sont introduits sous la forme de facteurs
z
z1
(integrateurs) ;
C(z) contient un gain ajustable ;
C(z) contient une fraction rationelle du type
z+A
z+B
apportant les param`etres de re-
glage permettant de satisfaire les specications imposees en boucle fermee.
Exemple dapplication : asservissement de position dun moteur `a courant continu :
K
p p a + ( )
B p
0
( )
T
E(z)
+

H(z)
C(z)
U(z)
(z) S(z)
avec K = 60, a = 5 et T = 0,08.
On a :
H(z) =
0,169z + 0,148
z
2
1,67z + 0,67
= 0,169
z + 0,876
(z 1)(z 0,67)
Specications imposees : le syst`eme en boucle fermee se comporte comme un second ordre
caracterise par
0
= 15 rad/s et = 0,6, avec une erreur nulle pour une entree rampe.
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
5.3 - Methode des poles dominants (Methode de Zdan) 51
Structure du correcteur :
C(z) = K
c
..
gain
ajustable

z 0,67
z + 0,876
. .
compensation des
p oles et zeros
stables

z
z 1
. .
ajout dun
p ole ` a z = 1
pour annuler
lerreur ` a une
entree rampe

z + A
z + B
. .
param`etres
de reglage
Fonction de transfert en boucle fermee :
F(z) =
C(z)H(z)
1 + C(z)H(z)
On doit identier les racines de lequation caracteristique en boucle fermee :
1 + C(z)H(z) = 0
avec celles dun second ordre continu dequation caracteristique :
p
2
+ 2
0
p +
2
0
= 0
Les racines de cette equation sont :
_
p
1
=
0
+ j
0
_
1
2
= 9 + 12j
p
2
=
0
j
0
_
1
2
= 9 12j = p
1
Ainsi, le syst`eme echantillonne en boucle fermee doit posseder les deux p oles complexes
conjugues :
_
z
1
= e
Tp
1
= e
0,72+j0,96
z
2
= e
Tp
2
= e
0,72j0,96
= z
1
Equation caracteristique du syst`eme en boucle fermee :
1 + C(z)H(z) = 0 1 + 0,169K
c
z
(z 1)
2
z + A
z + B
= 0
(z 1)
2
(z + B) + 0,169K
c
z(z + A) = 0
Si on choisit le troisi`eme p ole egal `a 0, alors on a :
B = 0
et lequation caracteristique en boucle fermee devient :
(z 1)
2
+ 0,169K
c
(z + A) = 0 z
2
+ (0,169K
c
2)z + 0,169K
c
A + 1 = 0
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
52 Chapitre 5 - Synth`ese des syst`emes asservis lineaires echantillonnes
On identie cette equation avec lequation caracteristique imposee en boucle fermee :
(z z
1
)(z z
2
) = z
2
(z
1
+ z
2
)z + z
1
z
2
= 0
Ainsi :
0,169K
c
2 = (z
1
+ z
2
) = 2e
0,72
cos 0,96 = 0,56 K
c
= 8,5
et
0,169K
c
A + 1 = z
1
z
2
= e
20,72
= 0,24 A = 0,53
do` u la fonction de transfert du correcteur :
C(z) = 8,5
(z 0,67)(z 0,53)
(z + 0,876)(z 1)
On en deduit lequation de recurrence de la commande `a programmer :
C(z) =
U(z)
(z)
=
8,5z
2
10,2z + 3,02
z
2
0,124z 0,876
=
8,5 10,2z
1
+ 3,02z
2
1 0,124z
1
0,876z
2
u(kT) = 0,124u((k1)T)+0,876u((k2)T)+8,5(kT)10,2((k1)T)+3,02((k2)T)
Eet du correcteur sur le lieu des p oles du syst`eme en boucle fermee :
lieu des poles sans compensation :
+

E(z) S(z)
K
c
H(z)
Im
Re 0,876 0,67
1
limite de stabilit :
K
c
= 2,2
lieu des poles avec compensation :
+

E(z) S(z)
K
c
H(z) C'(z)
C(z)
avec
C

(z) =
(z 0,67)(z 0,53)
(z + 0,876)(z 1)
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
5.4 - Synth`ese `a temps de reponse minimum 53
Fonction de transfert en boucle ouverte avec compensation :
H
c
(z) = C(z)H(z) = K
c
0,169
z 0,53
(z 1)
2
0,53
1
Im
Re
gain du correcteur :
K
c
= 8,5
limite de stabilit :
K
c
= 15,5
compensation
ples et zros
stables
ples imposs
en boucle ferme
z
1
z
1
0,876 0,67
5.4 Synth`ese `a temps de reponse minimum
Cette methode consiste ` a determiner un corecteur tel que lerreur sannule en un nombre
ni et minimal de periodes dechantillonnage (syst`eme dead beat) et reste nulle par la
suite :
t
T 2T 3T
...
nT
...
consigne
Le syst`eme est dit ` a reponse plate ou reponse pile.
Determination du correcteur :
+

E(z) S(z)
H(z)
C(z)
(z)
Fonction de transfert en boucle fermee :
F(z) =
C(z)H(z)
1 + C(z)H(z)
=
S(z)
E(z)
F(z) + C(z)H(z)F(z) = C(z)H(z)
F(z) = C(z)H(z) [1 F(z)] C(z) =
1
H(z)
F(z)
1 F(z)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
54 Chapitre 5 - Synth`ese des syst`emes asservis lineaires echantillonnes
On recherche la fonction de transfert en boucle fermee F(z) `a imposer pour annuler lerreur
pour des entrees de reference :
echelon de position : e(t) = (t) E(z) =
z
z 1
echelon de vitesse : e(t) = t E(z) =
Tz
(z 1)
2
echelon dacceleration : e(t) = t
2
E(z) =
T
2
z(z + 1)
(z 1)
3
.
.
.
.
.
.
. . . e(t) = t
m
E(z) =
T
m
R(z)
(z 1)
m+1
=
T
m
z
m1
R(z)
(1 z
1
)
m+1
avec R(z) : polyn ome tel que R(1) = 0
En regime permanent :
(z) = E(z) S(z) = E(z) F(z)E(z) = [1 F(z)] E(z)
() = lim
z1
(1 z
1
)(z) = lim
z1
(1 z
1
) [1 F(z)] E(z)
= lim
z1
(1 z
1
) [1 F(z)]
T
m
z
m1
R(z)
(1 z
1
)
m+1
Pour avoir () = 0, il faut que :
[1 F(z)] = (1 z
1
)
m+1
Q(z)
Pour que lerreur sannule en un nombre ni de periodes dechantillonnage, Q(z) doit
etre un polynome, et pour que ce nombre soit minimal, il faut que le degre de Q(z) soit
minimal, do` u :
Q(z) = 1
Ainsi :
F(z) = 1 (1 z
1
)
m+1
Ces polyn omes sont appeles prototypes minimaux.
Exemples de prototypes minimaux :
erreur de position nulle (m = 0) F(z) = z
1
erreur de vitesse nulle (m = 1) F(z) = 2z
1
z
2
erreur dacceleration nulle (m = 2) F(z) = 3z
1
3z
2
+ z
3
Exemple : pour m = 0 (entree echelon de position) :
S(z) = z
1
E(z) s(kT) = e((k 1)T)
do` u :
s(0) = e(T) = 0
s(T) = e(0) = 1
s(2T) = e(T) = 1
.
.
.
s(nT) = e((n 1)T) = 1
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
5.4 - Synth`ese `a temps de reponse minimum 55
t
T 2T 3T
...
nT
...
e(t)
0
1
s(t)
La sortie suit lentree avec un retard dune periode dechantillonnage : temps de reponse
minimum.
Remarque : lerreur est nulle seulement aux instants dechantillonnage : il peut y avoir des
oscillations cachees entre deux periodes dechantillonnage :
t
T 2T 3T
...
nT
...
0
1
s(t)
sortie continue
sortie chantillonne
Exemple dapplication : asservissement de position dun moteur `a courant continu :
K
p p a + ( )
B p
0
( )
T
E(z)
+

H(z)
C(z)
U(z)
(z) S(z)
avec K = 60, a = 5 et T = 0,08.
On a :
H(z) =
0,169z + 0,148
z
2
1,67z + 0,67
=
0,169z
1
+ 0,148z
2
(1 z
1
)(1 0,67z
1
)
Specication imposee : temps de reponse minimum pour une entree echelon de vitesse,
do` u le prototype minimal :
F(z) = 2z
1
z
2
Fonction de transfert du correcteur :
C(z) =
1
H(z)
F(z)
1 F(z)
=
1
H(z)
2z
1
z
2
1 2z
1
+ z
2
=
(1 z
1
)(1 0,67z
1
)
0,169z
1
+ 0,148z
2
2z
1
z
2
(1 z
1
)
2
=
2z
1
(1 0,5z
1
)(1 0,67z
1
)
0,169z
1
(1 + 0,876z
1
)(1 z
1
)
= 11,8
1 1,17z
1
+ 0,335z
2
1 0,124z
1
0,876z
2
=
U(z)
(z)
do` u lequation de recurrence de la commande `a programmer :
u(kT) = 0,124u((k1)T)+0,876u((k2)T)+11,8(kT)13,8((k1)T)+3,95((k2)T)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
56 Chapitre 5 - Synth`ese des syst`emes asservis lineaires echantillonnes
5.5 Regulateurs RST
Un regulateur RST permet dimposer les p oles en boucle fermee. Sa structure est la
suivante :
+

+
+
T z

( )
1
R z

( )
1
1
1
S z

( )
H z

( )
1
v
k
u
k
p
k
y
k
rfrence
perturbation
sortie
rgulateur RST
o` u :
H(z
1
) =
B(z
1
)
A(z
1
)
: mod`ele discret du processus ` a commander ;

_
B(z
1
) = b
0
+ b
1
z
1
+ b
2
z
2
+ . . . + b
n
B
z
n
B
A(z
1
) = a
0
+ a
1
z
1
+ a
2
z
2
+ . . . + a
n
A
z
n
A
: polyn omes premiers entre eux ;

_
_
_
R(z
1
) = r
0
+ r
1
z
1
+ r
2
z
2
+ . . . + r
n
R
z
n
R
S(z
1
) = s
0
+ s
1
z
1
+ s
2
z
2
+ . . . + s
n
S
z
n
S
T(z
1
) = t
0
+ t
1
z
1
+ t
2
z
2
+ . . . + t
n
T
z
n
T
: poyn omes en z
1
` a determiner.
avec :
n
A
= deg(A), n
B
= deg(B), n
R
= deg(R), n
S
= deg(S), n
T
= deg(T)
La loi de commande u
k
appliquee au processus est telle que :
S(z
1
) U(z
1
)
. .
commande
= T(z
1
) V (z
1
)
. .
reference
R(z
1
) Y (z
1
)
. .
sortie
do` u :
u
k
=
1
s
0
[s
1
u
k1
s
2
u
k2
. . . s
n
S
u
kn
S
+ t
0
v
k
+ t
1
v
k1
+ . . . + t
n
T
v
kn
T
+r
0
y
k
+ r
1
y
k1
+ . . . + r
n
R
y
kn
R
]
Fonction de transfert en boucle fermee :
F(z
1
) =
Y (z
1
)
V (z
1
)
=
T(z
1
)
1
S(z
1
)
B(z
1
)
A(z
1
)
1 + R(z
1
)
1
S(z
1
)
B(z
1
)
A(z
1
)
=
T(z
1
)B(z
1
)
A(z
1
)S(z
1
) + B(z
1
)R(z
1
)
Le principe du regulateur RST consiste `a imposer les poles du syst`eme en boucle fermee,
cest-`a-dire le polyn ome caracteristique desire P(z
1
). On doit donc chercher R(z
1
) et
S(z
1
) tels que :
A(z
1
)S(z
1
) + B(z
1
)R(z
1
) = P(z
1
)
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
5.5 - Regulateurs RST 57
Cest une equation polynomiale ou equation diophantienne dans laquelle A, B et P sont
donnes, S et R sont les inconnues.
Resolution de lequation polyn omiale AX + BY = C :
Denitions :
On appelle degre de lequation polyn omiale le nombre :
N = sup(deg(AX), deg(BY ), deg(C))
Lequation AX + BY = C est dite reguli`ere si
deg(C)) < deg(A)) + deg(B))
La solution de AX +BY = C dans laquelle au moins un des deux polyn omes X et
Y est de degre minimal est appelee solution minimale.
Theor`emes :
Si lequation AX+BY = C est reguli`ere alors les solutions minimales X
0
et Y
0
sont
de degres respectifs :
_
deg(X
0
) = deg(B) 1
deg(Y
0
) = deg(A) 1
Une equation polyn omiale non reguli`ere admet deux solutions minimales :
une solution minimale en X, (X
0
, Y
1
) telle que :
deg(X
0
) = deg(B) 1 et deg(Y
1
) = deg(C) deg(B)
une solution minimale en Y , (X
1
, Y
0
) telle que :
deg(X
1
) = deg(C) deg(A) et deg(Y
0
) = deg(A) 1
Etant donnes un polynome Z et un couple de solutions de lequation AX+BY = C,
le couple (X + BZ, Y AZ) est aussi une solution.
Application au calcul des polynomes R et S du regulateur RST :
Lequation polynomiale reguli`ere A(z
1
)S(z
1
) + B(z
1
)R(z
1
) = P(z
1
) peut secrire
sous forme matricielle :
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
a
0
0 . . . 0 b
0
0 . . . 0
a
1
a
0
.
.
.
.
.
. b
1
b
0
.
.
.
.
.
.
a
2
a
1
.
.
.
0
.
.
. b
1
.
.
.
0
.
.
. a
2
.
.
.
a
0
.
.
.
.
.
.
.
.
.
b
0
a
n
A
.
.
.
.
.
.
a
1
b
n
B
.
.
. b
1
0 a
n
A
a
2
0 b
n
B
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 0 a
n
A
0 . . . 0 b
n
B
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
. .
M
_
_
_
_
_
_
_
_
_
_
_
_
_
s
0
s
1
.
.
.
s
n
S
r
0
r
1
.
.
.
r
n
R
_
_
_
_
_
_
_
_
_
_
_
_
_
. .
x
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
p
0
p
1
.
.
.
p
n
P
0
.
.
.
.
.
.
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
. .
p
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
58 Chapitre 5 - Synth`ese des syst`emes asservis lineaires echantillonnes
La matrice carree M de dimension (n
A
+n
B
)(n
A
+n
B
) est appelee matrice de Sylvester.
Donc, les polynomes A(z
1
), B(z
1
) et P(z
1
) etant donnes, les coecients des polynomes
R(z
1
) et S(z
1
) contenus dans le vecteur x sont donnes par :
x = M
1
p
La matrice M
1
existe si et seulement si les polyn omes A et B sont premiers entre eux.
Calcul du polyn ome T :
Cas de la regulation : la reference v
k
est constante et on veut avoir y
k
= v
k
en regime
permanent et en presence de perturbations.
La fonction de transfert en boucle fermee est :
F(z
1
) =
Y (z
1
)
V (z
1
)
=
T(z
1
)B(z
1
)
P(z
1
)
Pour avoir y
k
= v
k
en regime permanent, on doit avoir F(1) = 1 (gain statique unitaire en
boucle fermee). On peut donc choisir par exemple T(z
1
) = t
0
(= cste) tel que :
t
0
B(1)
P(1)
= 1
do` u :
T(z
1
) = t
0
=
P(1)
B(1)
Pour rejeter les perturbations, on peut imposer la forme du polynome S(z
1
) :
S(z
1
) = (1 z
1
)
m
S

(z
1
), avec deg(S

) = deg(S) m
en introduisant m p oles z = 1 (integrateurs) pour annuler une perturbation de type
echelon (m = 1), rampe (m = 2), . . .
y
t
consigne
sortie = consigne
en rgime permanent
(impos par T)
application d'une
perturbation
rejet de la
perturbation
dynamique
impose par
R et S
Cas de la poursuite : on veut que le syst`eme en boucle fermee se comporte comme un
mod`ele de reference impose, deni par la fonction de transfert :
H
m
(z
1
) =
B
m
(z
1
)
A
m
(z
1
)
avec H
m
(1) = 1
On impose ainsi la dynamique de poursuite dune consigne y
c
k
variable.
La reference v
k
est telle que :
V (z
1
) = H
m
(z
1
) Y
c
(z
1
)
. .
consigne
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
5.5 - Regulateurs RST 59
+

+
+
T z

( )
1
R z

( )
1
1
1
S z

( )
H z

( )
1
v
k
u
k
p
k
y
k
rfrence
perturbation
sortie
H z
m

( )
1
y
k
c
F z
T z B z
P z
1
1
1 1
1

( )
=
( ) ( )
( )
F z

( )
1
Si on choisit T(z
1
) = P(z
1
) alors F
1
(z
1
) = B(z
1
). On prend =
1
B(1)
pour avoir
un gain statique unitaire en boucle fermee. On a alors :
F(z
1
) =
B(z
1
)B
m
(z
1
)
A
m
(z
1
)
Si les zeros du syst`eme ` a commander sont stables, alors on peut les simplier en choisissant
S(z
1
) tel que :
S(z
1
) = S

(z
1
)B(z
1
)
do` u la fonction de transfert en boucle fermee :
F(z
1
) =
B
m
(z
1
)
A
m
(z
1
)
Ainsi, un regulateur RST permet de regler de mani`ere independante la dynamique de
regulation (rejet de perturbations) et celle de poursuite (suivi dune consigne variable).
Remarque : limplantation directe dun regulateur RST conduit souvent `a un signal de
commande dont lamplitude peut etre tr`es importante. An de garder cette amplitude
dans un intervalle admissible [U
min
, U
max
], on ajoute un dispositif danti-windup :
+

+
+
T z

( )
1
R z

( )
1
H z

( )
1
v
k
u
k
p
k
y
k
rfrence
perturbation
sortie
1
0
s
U
min
U
max
saturation
z S z

( )
1 1 *

anti-windup
avec S

(z
1
) tel que :
S(z
1
) = s
0
+ z
1
S

(z
1
)
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT
60 Chapitre 5 - Synth`ese des syst`emes asservis lineaires echantillonnes
ENIT cours de commande numerique J. HAGG
`
EGE - 2012
Bibliographie
[1] S. Belghith. Syst`emes echantillonnes. Notes de cours manuscrites, ENIT, 1996/97.
[2] E. Dieulesaint and D. Royer. Automatique Appliquee Syst`emes lineaires de
commande `a signaux echantillonnes, volume 2. Masson, Paris, 1990.
[3] M. Ksouri and P. Borne. La commande par calculateur Application aux procedes
industriels. Technip, Paris, 1999.
[4] I.D. Landau, R. Lozano, and M. MSaad. Adaptive Control. Springer, London,
1998.
[5] P. Lef
`
evre. Techniques analogiques et numeriques Analyse et synth`ese des syst`emes
lineaires echantillonnes. Ecole superieure delectricite, Paris, 1973.
[6] R. Lonchamp. Commande numerique de syst`emes dynamiques. Presses Polytech-
niques et Universitaires Romandes, Lausanne, 1995.
[7] Y. Sevely. Syst`emes et asservissements lineaires echantillonnes. Dunod, Paris, 1989.
[8] Ph. Vanheeghe, C. Sueur, and P. Borne. Automatique des syst`emes echantil-
lonnes. Technip, Paris, 2001.
J. HAGG
`
EGE - 2012 cours de commande numerique ENIT