Beruflich Dokumente
Kultur Dokumente
GPA-783
ASSERVISSEMENT NUMERIQUE EN TEMPS REEL
NOTES DE COURS
par
PASCAL BIGRAS
RÉFÉRENCES ..........................................................................................................................................195
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel v
Figure 2.10 : Schéma-blocs de l'exemple 2.9.1 avec un échantillonneur virtuel ....................... 42
Figure 2.11 : Parcours associés à l'exemple 2.9.1........................................................................... 42
Figure 2.12 : Étape 3) de la procédure de transformation pour l'exemple 2.9.1 ....................... 43
Figure 3.1 : Signaux échantillonnés ................................................................................................. 47
Figure 3.2 : Sous-système pour la méthode des équations récurrentes ...................................... 47
Figure 3.3 : Système hybride ............................................................................................................. 49
Figure 3.4 : Système échantillonné .................................................................................................. 49
Figure 3.5 : Réponse de système ...................................................................................................... 52
Figure 3.6 : Algorithme de simulation ............................................................................................. 53
Figure 3.7 : Système échantillonné .................................................................................................. 54
Figure 3.8 : Réponse du système ...................................................................................................... 55
Figure 3.9 : Algorithme de simulation ............................................................................................. 56
Figure 3.10 : Système de contrôle .................................................................................................... 57
Figure 3.11 : Algorithme de réalisation du compensateur............................................................ 58
Figure 3.12 : Exemple d'un compensateur de 2ième ordre ......................................................... 59
Figure 3.13 : Algorithme de réalisation du compensateur............................................................ 60
Figure 4.1 : Schéma blocs du compensateur PI. ............................................................................ 62
Figure 4.2 : Approximation rectangulaire. ...................................................................................... 63
Figure 4.3 : Approximation rectangulaire devancée. ..................................................................... 64
Figure 4.4 : Approximation trapézoïdale. ....................................................................................... 65
Figure 4.5 : Schéma bloc en z du compensateur PI. ..................................................................... 66
Figure 4.6 : Schéma bloc du compensateur PD. ........................................................................... 67
Figure 4.7 : Approximation de la dérivée. ...................................................................................... 67
Figure 4.8 : Schéma blocs en z du compensateur PID. ................................................................ 68
Figure 4.9 : Ordinogramme de l'implantation d'un compensateur PI. ....................................... 70
Figure 4.10 : Ordinogramme de l'implantation d'un compensateur PD. ................................... 72
Figure 4.11 : Ordinogramme de l'implantation d'un compensateur PID. ................................. 74
Figure 4.12 : Réponse à l’échelon du système en boucle ouverte. .............................................. 75
Figure 4.13 : Paramètres a et L de la méthode Ziegler-Nicols. ................................................... 75
Figure 4.14 :Système en chaîne ouverte. ......................................................................................... 76
Figure 4.15 : Réponse à l’échelon du système en chaîne ouverte. .............................................. 77
Figure 4.16 : Système en chaîne fermée avec le compensateur PI .............................................. 78
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel viii
Figure 6.15 :Commande par ordinateur d'un moteur CC à l'aide d'un PI et de compensateur
anticipatif. ................................................................................................................................. 122
Figure 6.16 : Transformation du compensateur anticipatif ....................................................... 123
Figure 6.17 : Schéma blocs en z du système. ............................................................................... 124
Figure 6.18 : Boucle de commande en cascade avec compensateur anticipatif. ..................... 127
Figure 6.19 : Boucle de commande simplifiée. ............................................................................ 128
Figure 6.20 : Trajectoire linéaire à portions quadratiques. ......................................................... 130
Figure 6.21 : Compensateur anticipatif idéal. ............................................................................... 131
Figure 6.22 : Système de compensateurs pour un suivi de trajectoire réel. ............................. 132
Figure 6.23 :Suivi de trajectoire avec conditions initiales. .......................................................... 133
Figure 6.24 : Transformation du compensateur anticipatif. ...................................................... 133
Figure 6.25 : Transformation des conditions initiales................................................................. 134
Figure 6.26 : Transformation de séparation. ................................................................................ 134
Figure 6.27 : Transformation de la boucle inférieure. ................................................................ 135
Figure 6.28 : Simplification ............................................................................................................. 135
Figure 6.29 : Schéma blocs de l'erreur de suivi. ........................................................................... 136
Figure 6.30 : Simplification du schéma blocs de l'erreur de suivi. ............................................ 136
Figure 6.31 : Réponse impulsionnelle d'un système de deuxième ordre. ................................. 137
Figure 6.32 : Satellite à commander............................................................................................... 138
Figure 6.33 : Système de commande par ordinateur. .................................................................. 140
Figure 6.34 : Schéma blocs en z du système. ............................................................................... 140
Figure 6.35 : Schéma blocs simplifié. ............................................................................................ 141
Figure 6.36 : Schéma blocs sous une forme qui permet le suivi de la trajectoire. .................. 142
Figure 6.37 : Boucle de dynamique de l'erreur. ............................................................................ 143
Figure 6.38 : Schéma SIMULINK sans compensateur anticipatif. ........................................... 145
Figure 6.39 : Résultats de simulation sans le compensateur anticipatif. ................................... 146
Figure 6.40 : Schéma SIMULINK avec le compensateur anticipatif. ...................................... 146
Figure 6.41 : Résultats de simulation avec le compensateur anticipatif. .................................. 147
Figure 6.42 : Erreur de suivi en présence du compensateur anticipatif. .................................. 147
Figure 6.43 : Erreur de suivi en présence du compensateur anticipatif. .................................. 148
Figure 7.1 : Schéma blocs du compensateur polynomial ........................................................... 154
Figure 7.2 : Système équivalant dans le domaine de z. ............................................................... 155
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel x
CHAPITRE 1
Conversion et échantillonnage
des signaux
1.1 Introduction
La notion de convertisseur numérique à analogique (N/A) et analogique à numérique (A/N)
est essentielle dans un cours d’asservissement numérique (Phillips, 1995, page 111). En effet,
comme l’indique la Figure 1.1, ces deux composants font partie de l’interface qui est utilisée
par l’ordinateur pour communiquer avec le procédé à commander. Le convertisseur A/N
est utilisé pour transmettre le signal de sortie mesuré de l’appareil de mesure vers l’ordinateur
tandis que le convertisseur N/A est utilisé pour transmettre le signal de commande de
l’ordinateur vers l’entrée du procédé. Les convertisseurs sont synchronisés avec une horloge
qui oscille à une fréquence fixe appelée fréquence d’échantillonnage. Les signaux des
convertisseurs sont donc échantillonnés. La théorie des signaux échantillonnés sera par
conséquent brièvement couverte dans ce chapitre. En particulier, nous verrons comment un
convertisseur A/N peut être modélisé à l’aide d’un simple échantillonneur et comment un
convertisseur N/A peut être modélisé à l’aide d’un mécanisme appelé bloqueur d’ordre zéro.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 2
horloge
Commande
Référence
Erreur
Sortie
Compensateur N/A Procédé
Mesure
Appareil
A/N de
mesure
-
Vs Sortie analogique
2R 4R 2nR +
Vn-1 Vn-2 V0
-VR Référence
an-1 an-2 a0
Entrée numérique
Chaque bit de l’entrée binaire peut prendre la valeur zéro ou un. Ainsi, chaque interrupteur
électronique est en position gauche ou droite selon la valeur du bit correspondant (à gauche
si le bit est à zéro et à droite s’il est à un). La tension de sortie de chaque interrupteur est
donc donnée par la relation suivante :
Vi a iVR pour i 0, , n 1 (1.1)
Aussi, selon le schéma électrique du convertisseur, la sortie Vs du sommateur est donnée par
la relation suivante:
n 1
R R R 1
Vs Vn 1 V n 2 n V 0 n i Vi (1.2)
2R 4R 2 R i 0 2
n 1
1 1
max(Vs ) V R
2n
2
i 0
i
VR
2 n
1 2 2 n 1
2 max(Vs ) VR
2
1
n
2
1
2
1
2 2 2 2 n VR n 1 2 2 n 1 VR n 2 n 1
1
1
max(Vs ) VR n 2 n 1 max(Vs ) VR 1 n
2 2
d’où
1
max(Vs ) V R 1 n (1.7)
2
1
V R 1 n
n
2 VR
KN/A n (1.8)
2 1 2
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 5
R R 2R
Référence -VR
2R 2R 2R
-
Vs Sortie analogique
an-1 an-2 a0 +
Entrée numérique
Entrée
analogique Ve +
Vs
Convertisseur
VR
N/A à n bits
Sortie
numérique R
A
Fin de la S horloge
conversion
début de la
conversion
horloge
VR
6/8 VR
4/8 VR Ve
Vs
2/8 VR
0 VR
Début de la
conversion
a2
a1
a0
Fin de la
conversion
2n 1 2n
(1.9)
K A/ N
VR 1 1 / 2 n VR
disque en
rotation disque fixe
Sources
lumineurses
Signal A
Signal B
région
transparente
90
région A
opaque
Senseurs
photoélectriques
B
Comme l’indique la Figure 1.6, les sources lumineuses et les senseurs A et B sont placés de
façon à ce que les signaux provenant de ces capteurs soient en quadrature; c’est à dire,
déphasés de 90 degrés. Cette particularité nous permet de déterminer le sens de rotation du
rotor. En effet, lorsque le rotor tourne dans un sens, le signal B est en avance sur le signal A
tandis que lorsqu’il tourne dans l’autre sens, B est en retard sur A. Le décodage des signaux
A et B peut donc se faire en utilisant un compteur branché sur le signal A ou B qui
s’incrémente si B est en avance sur A et qui se décrémente si B est en retard sur A. Pour
augmenter la précision de la mesure par un facteur de quatre, il est également possible de
compter tous les transitions des signaux A et B. Le gain du capteur est alors donné par :
1 tour
K E 4N t (1.10)
2 rad
où Nt est le nombre total de régions transparentes sur les disques de l’encodeur incrémental.
Le désavantage de l’encodeur incrémental est que la position mesurée est toujours relative à
la position du rotor du moteur au moment où le système a subi une remise à zéro. Pour
contourner ce problème, il est fréquent que l’encodeur incrémental possède un troisième
signal produisant une impulsion une seule fois par tour. Ce signal peut alors nous permettre
de prévoir un mécanisme d’initialisation permettant de placer le rotor à une position connue
lors de la remise à zéro. Il existe également d’autre type d’encodeur permettant de fournir
directement la position du rotor du moteur et non son déplacement. Ces encodeurs
beaucoup plus dispendieux sont appelés encodeurs absolus.
Horloge
Entrée T
Sortie
KA/N
signal continu signal échantillonné
Le gain du convertisseur peut facilement être déterminé grâce à la relation (1.9) où (1.10)
lorsqu’il s’agit d’un encodeur incrémental. Le quantificateur quant à lui limite le nombre de
valeur possible à sa sortie. En effet, la sortie du convertisseur ne peut prendre de valeur à des
intervalles plus petits que la résolution du convertisseur. Ainsi, selon la relation (1.6), l’effet
indésirable du quantificateur diminue rapidement lorsqu’on augmente le nombre de bit du
convertisseur. Pour cette raison, on néglige souvent le quantificateur dans le modèle du
convertisseur. L’échantillonneur est un élément important du convertisseur : il représente le
passage du signal du monde continu (procédé) au monde échantillonné (ordinateur).
L’échantillonneur est symbolisé par un interrupteur qui se ferme brièvement à chaque
période d’échantillonnage. Comme l’indique la Figure 1.9, cette symbolisation illustre bien la
transformation du signal continu f(t) en signal échantillonné f*(t).
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 11
Entrée T Sortie
f(t) f*(t)
signal continu signal échantillonné
t t
0 T 2T 3T 4T 5T 6T 7T 8T 0 T 2T 3T 4T 5T 6T 7T 8T
f * (t ) (t ) f (0) (t T ) f (T ) (t 2T ) f ( 2T ) (t kT ) f (kT ) (1.11)
k 0
où (t) est une fonction de Dirac et f(t) est le signal continu. La relation (1.11) sera d’une
importance capitale lorsque viendra le temps de faire l’analyse des systèmes échantillonnés.
En effet, au Chapitre 3, la transformée de Laplace de la relation (1.11) permettra de définir la
transformée en z qui sera l’outil par excellence pour l’analyser de ce type de systèmes.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 12
1
T (1.12)
2 f max
1 1
0
= 0
-1 -1
0,5
+ 0
-0,5
0,2
+ 0
-0,2
0,2
+ 0
-0,2
signaux sinusoïdaux mais la fréquence du signal sinusoïdale à partir duquel on considère que
l’amplitude est négligeable (Leigh, 1992, page 154). Par exemple, on sait qu’une fonction de
transfert de premier ordre de la forme suivante :
1 wc
G ( s)
s 1 s wc
où wc = 1/ est la fréquence de coupure en rad/s, à une réponse en fréquence telle
qu’illustrée par la Figure 1.12. À une fréquence de 4wc, l’amplitude de la réponse est
d’environs –12 db soit le quart de l’amplitude maximale. En générale, on considère que
l’amplitude est négligeable au-delà de cette fréquence. On pose donc
4wc 2wc 2
f max 4 f c
2
Ainsi, selon la relation (1.12), la période d’échantillonnage T doit être choisie en respectant
l’inégalité suivante :
1 1
T (1.13)
2 f max 8 f c 4 wc 4
où fc est la fréquence de coupure du système de premier ordre en Hz, wc est sa fréquence de
coupure en rad/s et est sa constante de temps en secondes. En utilisant les mêmes
arguments, on arrive à la conclusion que la sortie d’un système de deuxième ordre de la
forme suivante :
wn2
G ( s)
s 2 2wn s wn2
où on suppose que 1 , devrait être échantillonnée avec une période d’échantillonnage qui
respecte le critère suivant :
T
4 wn
-5
20 log(|G(jw)|)
-10
-12
-15
-20
-1 0 1
10 10 4 10
w/wc
Horloge
Le gain du convertisseur peut facilement être déterminé grâce à la relation (1.8). Comme
pour le convertisseur A/N, le quantificateur peut la plupart du temps être négligé.
Entrée Sortie
KN/A
signal échantillonné signal continu
Le filtre doit pour sa part transformer le signal échantillonné en signal continu. Il joue donc
le rôle inverse de l’échantillonneur. Selon Shannon, un signal échantillonné en respectant le
critère du théorème d’échantillonnage peut être parfaitement transformé en un signal
continu d’origine à l’aide d’un filtre ayant la réponse en fréquence illustrée par la Figure 1.15
(Kuo, 1980, page 62). Un tel filtre est évidemment irréalisable.
|Filtre(j2f)|
1 f (Hz)
2T
Figure 1.15 : Filtre idéal pour la transformation d'un signal échantillonné en signal
continu.
En réalité, le filtre qui est utilisé en pratique pour transformer le signal échantillonné en
signal continu est le bloqueur d’ordre zéro (Kuo, 1980, page 66). À chaque période
d’échantillonnage, le bloqueur mémorise la donnée à son entrée, la transfert à sa sortie et la
maintient jusqu’à la prochaine période d’échantillonnage. La Figure 1.16 illustre le
fonctionnement du bloqueur d’ordre 0.
B0
t t
0 T 2T 3T 4T 5T 6T 7T 8T 0 T 2T 3T 4T 5T 6T 7T 8T
Le bloqueur d’ordre 0 est en réalité une partie intégrante du convertisseur N/A qui est
réalisée grâce à un registre qui garde la valeur à convertir entre chaque période
d’échantillonnage. Le modèle du convertisseur N/A usuel prend donc la forme illustrée par
la Figure 1.17.
Entrée Sortie
B0 KN/A
signal échantillonné signal continu
Bloqueur Quantificateur Gain
d'ordre 0
où u(t) est la fonction échelon. La fonction de transfert du bloqueur d’ordre 0 est alors
donnée par :
Ly (t ) Lu (t ) u (t T )
B0 ( s ) Lu (t ) Lu (t T ) (1.15)
Le(t ) L (t )
En utilisant la propriété du retard de la transformée de Laplace, la fonction de transfert du
bloqueur d’ordre 0 prend la forme suivante (Kuo, 1980, page 67) :
1 e Ts
B0 ( s ) Lu (t ) e Ts Lu (1.16)
s
|B0( j2f )|
1 1 3 2 5 3 f (Hz)
2T T 2T T 2T T
CHAPITRE 2
Transformée en z
2.1 Introduction
La transformée de Laplace est généralement utilisée pour faire l’analyse des systèmes
dynamiques continus linéaires à paramètres invariants. En principe, elle pourrait également
l’être pour faire l’analyse des systèmes linéaires échantillonnés. Cependant, la transformé de
Laplace des signaux échantillonnés donne lieu à des sommes infinies de fonctions
exponentielles, ce qui alourdit considérablement les manipulations. Pour palier à ce
problème, on définit la transformée en z qui permet d’analyser beaucoup plus facilement les
systèmes de commande échantillonnés. Dans ce chapitre nous verrons que la transformée en
z peut-être utilisée pour analyser des systèmes comprenant non seulement des sous systèmes
discret mais également des sous-systèmes continus et des échantillonneurs. La méthode pour
analyser ce type de système hybride consistera à transformer les différents sous-systèmes
dans le domaine discret de façon à obtenir un système équivalent entièrement transformé
dans le domaine de z. Des schémas blocs comportant uniquement des fonctions de transfert
dans le domaine de z pourront alors être manipulés avec les mêmes règles que ceux
comportant uniquement des fonctions de transfert dans le domaine de s.
où f(t) est le signal continu, (t) est une impulsion de dirac et T est la période
d’échantillonnage. En général, dans le domaine de la commande continue et
échantillonnée, on suppose que les signaux considérés sont causaux; c’est à dire que
les signaux sont nuls lorsque le temps est négatif ( f(t) = 0 si t < 0 ). Dans le texte qui
suit, cette hypothèse sera maintenue à moins qu’il en soit précisé autrement. En prenant la
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 21
F * ( s ) L f * (t ) f (nT )e nTs (2.2)
n 0
La relation (2.2) est généralement lourde à utiliser puisqu’elle renferme une somme infinie de
fonctions exponentielles. Pour alléger les manipulations associées à cette relation, on définit
la variable complexe z de la façon suivante (Kuo, 1980, page 79) :
z e Ts (2.3)
Cette transformation complexe peut également être inversée de façon à exprimer s en
fonction de z de la façon suivante
s T1 ln( z ) (2.4)
La transformée en z est alors définie par la relation suivante (Kuo, 1980, page 79):
Z f (t ) F ( z ) L f * (t ) s T1 ln( z )
(2.5)
La relation (2.6) représente une série de puissance qui peut être résolue sous certaines
conditions. À cette fin, le paragraphe suivant présente un bref rappel sur la résolution des
séries géométriques.
rS r r 2 r 3 1 r r 2 r 3 1 S 1
d’où la relation (2.9).
Z e at e anT z n e aT z 1
n
n 0 n 0
Cette relation représente une série géométrique de la forme de celle donnée par la relation
(2.7) avec r e aT z 1 . La solution de cette série, donnée par la relation (2.9), nous permet
alors d’obtenir la transformée en z sous la forme rationnelle suivante :
Z e at
1 e
1
aT
z 1
z
z e aT
À condition que e aT z 1 1 ou de façon équivalante à condition que z e aT . La région
définie par z e aT est appelée région de convergence. Cette notion ne sera pas considérée
dans le cadre de ce cours. Dans les exemples suivants, cette condition ne sera pas prise en
compte.
Z te at nTe anT z n nT e aT z 1
n 2
T e aT z 1 2T e aT z 1
n 0 n 0
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 23
e aT
z 1 Z te at T e aT z 1
2
2T e aT z 1
3
1 e
T T e aT z 1
aT 2 n
z 1 Z te at T e aT z 1 T e aT z 1
n 0
Le membre de droite de cette relation représente une série géométrique de la forme de celle
donnée par la relation (2.7) avec r e aT z 1 . La solution de cette série, donnée par la
relation (2.9), nous permet alors d’obtenir la relation suivante :
T Te aT z 1 T Te aT z 1
1 e aT
z 1 Z te at T
T
1 e aT z 1
1 e aT z 1
1 e aT z 1
d’où
Te aT z 1 Te aT z
Z te at
1 e aT
z 1 z e
2 aT 2
1
1 2z e e
jwT
jwT
/2 z 2
1 2 z 1 cos( wT ) z 2
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 24
Z sin( wt )
sin( wT ) z
z 2 z cos( wT ) 1
2
f (t ) t m e at
m e at
,
a m
l’application de la transformée en z donnée par la relation (2.6) nous donne
Z t m e at
m e anT n m
m
n 0 a m
z
a m
e anT z n
n 0 a m
Z e at
z passe par une transformée de Laplace inverse, il est souvent souhaitable d’utiliser des
fractions partielles pour effectuer cette opération.
où
K n ( s n ) F ( s ) s (2.13)
n
Z e nt
z
z e nT
Il s’ensuit que la transformée en z de F(s) est donnée par la relation suivante :
k
Kn z
Z F ( s ) (2.14)
n 1 z e nT
Exemple 2.5.1
Obtenons la transformée en z de la fonction de transfert suivante :
1
F (s)
( s 1)( s 2)
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 26
Pour se faire, trouvons d’abord les pôles de F(s). En solutionnant l’équation caractéristique
suivante
( s ) ( s 1)( s 2) 0
on trouve les pôles suivants :
1 = -1 et 2 = -2
Les pôles sont donc simples ce qui nous permet d’utiliser les équations (2.13) et (2.14) pour
obtenir la transformée en z. Ainsi,
2
Kn z K1 z K2z
Z F ( s ) F ( z ) nT
T
n 1 ze ze z e 2T
où selon la relation (2.13),
K 1 ( s 1 ) F ( s ) s ( s 1)
1 1
1
1
( s 1)( s 2) s 1 s 2 s 1
K 2 ( s 2 ) F ( s ) s ( s 2)
1 1
1
2
( s 1)( s 2) s 2 s 1 s 2
Z F ( s ) F ( z )
z
z
z z e 2T z z e T
z e T e 2T
z e T z e 2T
z e T z e 2T
z e T z e 2T
2.5.2 Fractions partielles pour des pôles multiples
Soit la fonction de transfert à pôles multiples suivante :
N (s)
F (s) (2.15)
D(s)
où N(s) est le numérateur et D(s) est le dénominateur de la fonction de transfert. Si les pôles
de F(s) sont donnés par 1, 2, … , k avec respectivement les multiplicités m1, m2, …, mk,
une décomposition en fraction partielle permet de récrire la fonction de transfert
sous la forme suivante (Phillips, 1995, page 663) :
mp
k K pm
F ( s )
p 1 m 1 s p
m
où
K pm
1 m p m
m p m ( s p ) F ( s)
(m p m)! s
mp
(2.16)
s p
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 27
Sachant que
K pm K pm m 1 nt
L1 m
t e ,
s p (m 1)!
et sachant que selon l’exemple 2.4.4,
m
Z t m e at
z
a z e aT
m
Nous avons
m 1
mp
k K pm z
F ( z ) m 1 T
(2.17)
p 1 m 1 ( m 1)! p ze p
Exemple 2.5.2
Obtenons la transformée en z de la fonction de transfert suivante :
1
F (s)
s ( s 2)
2
Pour se faire, trouvons d’abord les pôles de F(s). En solutionnant l’équation caractéristique
suivante
( s ) s 2 ( s 2) 0
on trouve les pôles
1 = 0, 1 = 0 et 2 = -2
Parce qu’il y a un pôle double à 0 (m1 = 2) et un pôle simple à –2 (m2 = 1), on doit utiliser les
équations (2.16) et (2.17) pour obtenir la transformée en z de F(s). Ainsi,
m 1
mp
2 K pm z z z z
F ( z ) K 11 K 12 K 21
p 1 m 1 ( m 1)! p
m 1
ze
pT
ze 1T
1 z e 1T
z e 2T
OÙ
K 11 ( s 1 ) 2 F ( s )
s 2 2
1
1
1
1
s s 1 s s s 2 s 0 s s 2 s 0 s 2
2
s 0
4
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 28
K12 ( s 1 ) 2 F ( s) s 1 s 2 2
1 1
s 2
1
s s 2 s 0 s 0
2
K 21 ( s 2 ) F ( s)s 2 s 2 2
1 1 1
2
s s 2 s 2 s s 2 4
et où
zTe 1T
z
z z e1T Te
2 1T
1 z e 1T
z e 1T 2
1 z 1 zT 1 z
F ( z)
4 z 1 2 z 1 2
4 z e 2T
14 z z 1 z e 2T 12 T z z e 2T 14 z z 1 2
z e z 1 2 2T
z 1 e z e z T z e z z
1 3 2T 2 2T 1 2 2T 1 3
2z 2 z
4 2 4
z 1 z e 2 2T
T e z e Te z
1
2
1
4
1
4
2T 2 1
4
1 2T
4
1
2
2T
z 1 z e 2 2T
Exemple 2.6.1
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 29
Ainsi,
1/ 1/
F ( z ) Z F ( s ) Z K 2 KZ 2
s s 1 / s s 1 /
F ( z) K
z T e T / z e T / Te T /
z 1 z e
2 T
Exemple 2.6.2
Utilisons la table de transformée en z du Tableau 2-1 pour obtenir la transformée en z de la
fonction suivante :
2
wn
F ( s) , 1
s s 2wn s wn2
2
Parce que 1 , les pôles du facteur de deuxième ordre sont complexes. Ainsi, pour faire la
correspondance avec la table, on doit d’abord faire la complétion du carré. Pour se faire, on
pose l’égalité suivante :
de sorte que
a wn
wn2 a 2 w 2 w wn2 a 2 wn 1 2
w2 a 2
F (s)
s s a w 2
2
qui correspond exactement à l’entrée 16 de la table. La transformée en z de F(s) est donc
donnée par la relation suivante :
z Az B
z 1z 2 2e w T coswnT
n
1 2 z e 2wnT
où
A 1 e wnT cos wnT 1 2
1 2
e wnT sin wnT 1 2
B e 2wnT
1 2
e wnT sin wnT 1 2 e wnT cos wnT 1 2
Z f t nT Z f (t ) z n Z f (t )
1
n
z
Démonstration En appliquant la définition de la transformée en z donnée par la relation
(2.6), on obtient
Z f (t nT ) f (kT nT )z k f (kT nT )z n z ( k n )
k 0 k 0
m n m n
Z e at f (t ) e anT f (nT )z n f (nT ) ze aT Z f (t )z ze aT
n
n 0 n0
f kT z
k 0
k
f (0) f (T ) z 1 f (nT ) z n (2.18)
f kT T z
k 0
k
f (T ) f (0) z 1 f (T ) z 2 f (nT T ) z n
f kT T z
k 0
k
f (0) z 1 f (T ) z 2 f (nT T ) z n (2.19)
f kT T z k z 1 f kT z k
k 0 k 0
n n 1
lim f (nT ) lim lim f kT z k z 1 f kT z k
n z 1 n
k 0 k 0
z 1
lim f kT z k z 1 f kT z k lim 1 z 1 Z f (t ) lim F ( z)
z 1
k 0 k 0 z 1 z 1 z
Exemple 2.7.1
Trouvons la transformée en z du signal suivant
f (t ) 1 e ( t 2T ) / u s (t 2T )
Ce signal, illustré par la Figure 2.1, peut être récrit sous la forme suivante
f (t ) g (t 2T ) , g (t ) 1 e t /
de sorte qu’en utilisant la Propriété 3 et l’entrée 8 de la table de transformée en z du Tableau
2-1, on obtient
Z f (t ) Z g (t 2T )
1
1 1 e T / z 1 e T /
z 2 z 1z e T / z z 1z e T /
Z g (t )
z2
Remarquez que le délai ne fait qu’augmenter l’ordre de la fonction de transfert obtenue; il
n’introduit pas de fonction non rationnelle. Cette caractéristique des systèmes échantillonnés
est très avantageuse par rapport aux systèmes continus. En effet, selon la propriété du retard
de la transformée de Laplace, la transformée de Laplace du signal f(t) est donnée par la
relation suivante :
1,00 f(t)
0,63
2T 2T+ t
Exemple 2.7.2
La transformée en z du signal de l’exemple 2.7.1 est donnée par la relation suivante :
1 e T /
F ( z)
z z 1z e T /
On veut obtenir la valeur en régime permanent de ce signal sans avoir à faire une
transformée en z inverse pour obtenir le signal dans le domaine du temps. Pour ce faire, il
suffit simplement d’utiliser le théorème de la valeur finale donnée par la Propriété 5. Ainsi,
type de système est appelé hybride parce qu’il contient des signaux continus et
échantillonnés. La Figure 2.2 illustre un tel système dans lequel les gains des convertisseurs
ont été incorporés dans le procédé et la mesure et les quantificateurs ont été négligés.
Convertisseur
Compensateur N/A Procédé
R* E* M* C
Gc(z) Bo(s) Gp(s)
+
-
Cm* T Cm
H(s)
Convertisseur
A/N
Mesure
L’analyse de ce type de système dans sa forme hybride est relativement complexe. En effet,
l’algèbre des blocs ne peut généralement pas être utilisée pour manipuler ces systèmes. Pour
cette raison, il est souvent préférable de transformer les systèmes hybrides de façon à ce
qu’ils s’expriment entièrement dans le domaine échantillonné. Évidemment, seules les
variables échantillonnées feront alors partie intégrante du schéma blocs transformé.
L’avantage de cette méthodologie est que l’algèbre des blocs peut alors être appliquée sans
restriction.
G * ( s ) s 1 ln( z ) F * ( s ) s 1 ln( z ) G ( z ) F ( z )
T T
où
G ( z ) G * ( s) s 1 ln( z ) Z G ( s )
T
Système hybride
G(z)=Z{G(s)}
F(z) C(z)
G(z)
Système échantillonné
C1(s)
F*(s) T C2*(s)
G1(s) G2(s)
Convertisseur
A/N
F(z) C2(z)
G1G2(z)
G1G2(z)=Z{G1(s)G2(s)}
T C1*(s)
C1(s)
F*(s) T C2*(s)
G1(s) G2(s)
Convertisseur
A/N
C1(z)
G1(z)
G1(z)=Z{G1(s)}
F(z) C2(z)
G1G2(z)
G1G2(z)=Z{G1(s)G2(s)}
1) Ajouter des échantillonneurs virtuels à tous les signaux continus, n’étant pas déjà
échantillonnés, que vous souhaitez conserver dans le schéma-blocs transformé.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 41
2) Pour chaque signal sortant d’un échantillonneur (virtuel ou non), partez du signal
échantillonné correspondant et parcourez à rebours (dans le sens contraire des flèches) le
schéma-blocs jusqu’à la rencontre d’un signal échantillonné.
4) Ne modifiez pas les parties du schéma-blocs qui sont déjà dans le domaine
échantillonné.
Cette procédure s’applique à la majorité des systèmes hybrides. En particulier, elle s’applique
à tous les systèmes qui seront traités dans le cadre de ce cours.
Exemple 2.9.1
Trouvons le schéma-blocs équivalant en z du système hybride illustré par la Figure 2.9 en
considérant que l’on souhaite conserver le signal C. Dans ce schéma-blocs, on considère
également que la période d’échantillonnage est de T = 0.1 seconde.
R* E* 1.5z+1 M* 2 C
Bo(s)
+ z-1 s+2
-
Cm* T Cm 2
s+2
Convertisseur
A/N Mesure
H(s)
Parce que l’on souhaite conserver le signal C dans le schéma-blocs transformé, on doit selon
l’étape 1) de la procédure, ajouter un échantillonneur virtuel tel qu’illustré par la Figure 2.10.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 42
Cm* T Cm 2
s+2
Convertisseur
A/N Mesure
H(s)
Ensuite, selon l’étape 2), on doit tracer les parcours qui partent de chaque signal sortant des
échantillonneurs et qui se rendent à rebours jusqu’à un signal échantillonné. La Figure 2.11
illustre cette étape.
Cm* T Cm 2
s+2
Convertisseur
A/N Mesure
H(s)
E(z) C(z)
1.5z+1 M(z)
BoGp(z)
+ z-1
-
Cm(z)
BoGpH(z)
z 1 Gp( s) z 1 2
BoGp( z ) Z Bo( s)Gp( s ) Z Z
z s z ss 2
z 1 Gp( s) H ( s) z 1 2 2
BoGpH ( z ) Z Bo( s)Gp( s) H ( s) Z Z 2
z s z s s 2
z 1 (1 e 0, 2 ) z 0,1813
BoGp( z )
z z 1( z e ) z 0,8187
0, 2
BoGpH ( z )
z 1 z 1 e 0, 2 0,2e 0, 2 z e 0, 4 e 0, 2 0,2e 0, 2
0,0175 z 0,0153
z
z 1 z e 0
, 2 2
z 0,81872
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 44
6 t 2 at 1 T2 z z e
aT
aT
e e
2 s a 3 2 z e aT 3
10 e at e bt ba e e bT z
aT
13 cos(wt ) s z z cos( wT )
s w2
2
z 2 cos( wT ) z 1
2
14 e at sin(wt ) w ze aT sin( wT )
s a 2 w 2 z 2 2e aT cos( wT ) z e 2 aT
15 e at cos(wt ) sa z 2 ze aT cos( wT )
s a 2 w 2 z 2 2e aT cos( wT ) z e 2 aT
16 1 e at a 2 w2 z Az B
cos(wt ) wa sin(wt )
s s a w
2 2
z 1 z 2e aT cos( wT ) z e 2 aT
2
A 1 e aT cos( wT ) wa e aT sin( wT )
B e 2 aT wa e aT sin( wT ) e aT cos( wT )
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 46
CHAPITRE 3
Transformée en z inverse
3.1 Introduction
La transformée en z inverse est principalement utilisée pour résoudre des équations aux
différences, pour simuler des systèmes échantillonnés et pour réaliser des compensateurs.
Parce que ce cours porte sur la commande par ordinateur, ce chapitre sera consacré à la
transformée en z inverse appliquée à la simulation et à la réalisation des systèmes de
commande échantillonnée. Nous verrons principalement l’unicité de la transformée en z
inverse, la transformée en z inverse par la méthode des équations récurrentes et la réalisation
des compensateurs par l’implantation d’équations récurrentes.
La transformée en z inverse de F1(z) peut donc être donnée aussi bien par f1(t) que par f2(t).
Elle n’est donc pas unique. Pour contourner ce problème, on peut utiliser l’égalité suivante:
f1(kT) = f2(kT) pour k = 0, 1, 2, … La fonction obtenue de la transformée en z inverse est
donc unique si on considère seulement les instants t = 0, T, 2T, … Pour cette raison, on
redéfinit la transformée en z inverse de la façon suivante :
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 47
f1*(t) f2*(t)
t
0 T 2T 3T 4T 5T 6T 7T 8T
U(z) F(z)
G(z)
Le sous-système illustré par la Figure 3.2 peut toujours s’exprimer sous la forme suivante :
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 48
B( z )
F ( z) U ( z) (3.3)
A( z )
B ( z ) b0 b1 z bn z n (3.4b)
où n est l’ordre du système. En multipliant la relation (3.3) de part et d’autre par A(z), on
obtient
A( z ) F ( z ) B ( z )U ( z ) (3.5)
a 0 F ( z ) a1 zF ( z ) a n z n F ( z ) b0U ( z ) b1 zU ( z ) bn z nU ( z ) (3.6)
a 0 z n F ( z ) a1 z n 1 F ( z ) a n F ( z ) b0 z nU ( z ) a1 z n 1U ( z ) a nU ( z )
(3.7)
Z f t nT z n Z f (t ) z n F ( z ) (3.8)
Z 1 z n F ( z ) t kT Z 1 Z f t nT t kT f kT nT (3.9)
a 0 f (k n)T a1 f (k n 1)T a n f (kT ) b0 u (k n)T b1u (k n 1)T bn u (kT )
f (kT )
1
a 0 f (k n)T a1 f (k n 1)T a n1 f (k 1)T
an (3.10)
b0 u (k n)T b1u (k n 1)T bn u (kT )
L’équation (3.10) est dite récurrente puisque la sortie f(kT) peut être calculée à partir des
entrées aux instants kT, (k-1)T, …, (k-n)T et de la sortie aux instants (k-1)T, (k-2)T, …, (k-
n)T. Pour calculer f(kT) à l’aide de l’équation récurrente, on doit d’abord connaître les
conditions initiales f(-T), …, f(-nT+T), u(0),…,u(-nT). À partir de ces conditions initiales, on
peut calculer f(0) puis f(T), f(2T) et ainsi de suite.
T=0.1
U*(s) 10 Y*(s)
Bo(s)
s+5
U(z) Y(z)
G(z)
z 1 10 z 1 5 z 1 z (1 e 5T )
G( z) Z 2 Z 2
z s s 5 z s s 5 z z 1( z e 5T )
2(1 e 5T ) 0.7869
5T
( z e ) z 0.6065
Le système illustré par la Figure 3.4 est de la forme de celui de la Figure 3.3. La transformée
en z inverse de la sortie Y(z) peut donc être obtenue à l’aide de la méthode des équations
récurrentes. Pour ce faire, on exprime d’abord Y(z) sous la forme suivante:
0.7869 B( z )
Y ( z ) G ( z )U ( z ) U ( z) U ( z)
z 0.6065 A( z )
Puis, on multiplie de part et d’autre par A(z) de sorte que
zY ( z ) 0.6065 Y ( z ) 0.7869U ( z )
On multiplie ensuite de part et d’autre par z-1 pour obtenir
Y ( z ) 0.6065 z 1Y ( z ) 0.7869 z 1U ( z )
En appliquant la propriété du retard, on obtient alors
y (kT ) 0.6065 y (kT T ) 0.7869 u ( kT T )
On isole finalement y(kT) pour obtenir l’équation récurrente suivante:
y (kT ) 0.6065 y (kT T ) 0.7869 u ( kT T )
Souvent, on omet le facteur T pour simplifier l’écriture. L’équation récurrente devient alors :
y ( k ) 0.6065 y ( k 1) 0.7869 u ( k 1) (3.11)
où k indique le kième échantillon. Si on considère la condition initiale y(-1) = 0, on peut
calculer la sortie y(k) en fonction de k pour une entrée échelon. Pour ce faire, on calcul
d’abord y(0) à partir de y(-1) et u(-1):
y (0) 0.6065 y ( 1) 0.7869 u ( 1) 0
Puis, y(1) à partir de y(0) et u(0):
y (1) 0.6065 y (0) 0.7869 u (0) 0.7869
Puis, y(2) à partir de y(1) et u(1):
y ( 2) 0.6065 y (1) 0.7869 u (1) 0.6065(0.7869 ) 0.7869 1.2642
Puis, y(3) à partir de y(2) et u(2):
y (3) 0.6065 y ( 2) 0.7869 u (2) 0.6065(1.2642 ) 0.7869 1.5536
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 51
et ainsi de suite … Cette procédure nous permet donc d’obtenir la réponse à l’échelon du
système qui est en réalité la transformée en z inverse de la sortie lorsqu’un échelon est
appliqué à l’entrée. Cette réponse est illustrée par la Figure 3.5. Si on désire refaire la
transformée en z inverse de la sortie du système pour une entrée autre que l’échelon, on n’a
pas à répéter toute la procédure. En effet, il suffit simplement d’utiliser l’équation récurrente
(3.11) pour calculer y(0) puis y(1) puis y(2) et ainsi de suite mais en considérant l’entrée u(k)
choisie à la place de l’échelon. Cette procédure permet en fait d’obtenir la réponse du
système pour n’importe quelle entrée u(k). Elle permet donc de simuler le système. Cette
procédure de calcul de la sortie à partir de l’équation récurrente est en plus très facile à
réaliser à l’aide d’un ordinateur. En effet, pour calculer la sortie y(k) en fonction de l’entrée
u(k), il suffit de réaliser l’algorithme illustré par la Figure 3.6.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 52
y(kT)
2
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 T 2T 3T 4T 5T 6T 7T 8T 9T t
Dans la Figure 3.6, qui représente l’algorithme de simulation du système, le terme y(0) est
d’abord calculé puis les termes y(1), y(2), …, y(N-1) sont calculés dans une boucle. Parce que
le système est de premier ordre, un seul terme est calculé à l’extérieure de la boucle. Si le
système était de deuxième ordre, deux termes auraient dû être calculés à l’extérieur de la
boucle tandis que pour un système de troisième ordre, trois termes auraient dû être calculés
et ainsi de suite.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 53
Début
N = nombre de périodes
d'échantillonnages
u(kT) = signal d'entrée Initialisation
pour k=0,...,N-1
y(0) = 0 Conditions
initiales
k=1
k=k+1
non
Fin
Pour obtenir cette transformée inverse, exprimons d’abord la sortie du système dans le
domaine de z:
0.4582 z 0.4566
Y ( z) U ( z)
z 2 1.0752 z 0.99
Puis, multiplions de part et d’autre par le dénominateur de la fonction de transfert:
z 2Y ( z ) 1.0752 zY ( z ) 0.99Y ( z ) 0.4582 zU ( z ) 0.4566U ( z )
Multiplions ensuite de part et d’autre par z-2 de sorte que
Y ( z ) 1.0752 z 1Y ( z ) z 2 0.99Y ( z ) 0.4582 z 1U ( z ) 0.4566 z 2U ( z )
Utilisons ensuite la propriété du retard pour obtenir
y ( kT ) 1.0752 y (kT T ) 0.99 y ( kT 2T ) 0.4582u ( kT T ) 0.4566u ( kT 2T )
L’équation récurrente de la sortie est finalement obtenue en isolant y(kT) de la façon
suivante:
y ( kT ) 1.0752 y ( kT T ) 0.99 y ( kT 2T ) 0.4582u ( kT T ) 0.4566u ( kT 2T )
Puis, pour simplifier l’écriture,
y ( k ) 1.0752 y ( k 1) 0.99 y (k 2) 0.4582u ( k 1) 0.4566u ( k 2)
Le système peut alors être simulé en considérant des conditions initiales nulles (y(-1) = y(-2)
= 0) et une entrée rampe unitaire :
0 si k 0
u (k )
k si k 0
En effet, il suffit de calculer d’abord y(0) à partir des conditions initiales, de u(-1) et de u(-2):
y (0) 1.0752 y ( 1) 0.99 y ( 2) 0.4582u ( 1) 0.4566u ( 2) 0
Puis, de calculer y(1) à partir des conditions initiales, de y(0), de u(0) et de u(-1):
y (1) 1.0752 y (0) 0.99 y ( 1) 0.4582u (0) 0.4566u ( 1) 0
Puis, de calculer y(2) à partir de y(1), de y(0), de u(1) et de u(0):
y ( 2) 1.0752 y (1) 0.99 y (0) 0.4582u (1) 0.4566u (0) 0.4582
Puis, de calculer y(3) à partir de y(2), de y(1), de u(2) et de u(1):
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 55
y(k)
20
18
16
14
12
10
0
0 5 10 15 k
Le calcul de la réponse à une rampe unitaire du système peut facilement être réalisé à l’aide
d’un ordinateur. En effet, il suffit d’implanter l’algorithme illustré par la Figure 3.9.
Remarquez que dans cet algorithme, y(0) et y(1) sont calculés à l’extérieur de la boucle car le
système est de deuxième ordre.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 56
Début
N = nombre de périodes
d'échantillonnages
Initialisation
u(k)= k pour k=0,...,N-1
y(0) = 0 Conditions
y(1) = 0 initiales
k=2
k=k+1
k <N
oui ?
non
Fin
dans un ordinateur, dans un micro contrôleur, dans un DSP ou dans un autre médium
numérique. Cette transformation est en fait la transformée en z inverse de la fonction de
transfert du contrôleur par la méthode des équations récurrentes. La réalisation des
contrôleurs échantillonnés est donc semblable à la simulation des systèmes échantillonnés
(Phillips, 1995, chap. 13). La grande différence entre la simulation et la réalisation est la
synchronisation avec une base de temps réel. En effet, pour la simulation, les calculs sont
effectués le plus rapidement possible sans synchronisation avec une base de temps réel. Par
contre, pour la réalisation, les calculs doivent être synchronisés avec une horloge en temps
réel à une fréquence 1/T où T est la période d’échantillonnage. Pour assurer cette
synchronisation, on utilise généralement une interruption. Le sous-programme d’interruption
est alors exécuté à chaque période d’échantillonnage. Pour le système de contrôle illustré par
la Figure 3.10, les principales étapes de l’algorithme de réalisation du contrôleur sont
présentées à la Figure 3.11.
Commande
Référence
Erreur
Appareil
A/N de
mesure
Début Début
Calcul de l'erreur
Calculs associés aux
conditions initiales
Équation récurente
k=0
Préparation pour la
prochaine intéruption
Conversion N/A
non Retour
Fin
Sortie
R(z) + E(z) 2 U(z)
N/A Procédé
z2 - z + 0.5
-
Compensateur
Mesure
Appareil
A/N de
Cm(z) mesure
Pour ce faire, on exprime avant tout la sortie du compensateur par rapport à son entrée :
2
U ( z) E ( z)
z z 0.5
2
Cette équation récurrente doit être calculée à chaque période d’échantillonnage par le sous-
programme d’interruption. L’erreur entre la référence et la mesure doit cependant être
calculée auparavant. La Figure 3.13 illustre l’algorithme de réalisation du compensateur.
Ainsi, à chaque période d’échantillonnage, le sous-programme d’interruption lit la sortie
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 60
mesurée du système par l’entremise du convertisseur A/N, calcule l’erreur entre la référence
et la sortie, calcule la sortie du compensateur, fait la mise à jour des anciennes sortie et des
anciennes erreurs pour la prochaine interruption, envoie la sortie du compensateur à l’entrée
du procédé par l’entremise du convertisseur N/A et incrémente le compteur k.
Début Début
e1=0 e = r - cm
e2=0
u1=0
u2=0 u = u1 - 0.5 u2 +2 e2
k=0 u2 = u1
u1 = u
e2 = e1
e1 = e
Conversion N/A = u
oui k T < temps final
?
k=k+1
non
Retour
Fin
CHAPITRE 4
Compensateurs PI, PD et PID
4.1 Introduction
Malgré tous les développements théoriques de la commande depuis les 50 dernières années,
les compensateurs Proportionnel Intégrale (PI), Proportionnel Dérivée (PD) et
Proportionnel Intégrale Dérivée (PID) demeurent aujourd’hui les plus utilisés en milieu
industriel. Dans cette section, nous allons d’abord développer le modèle discret des
compensateurs PI, PD et PID (Phillips, 1995, page 310-315). Nous allons ensuite montrer
comment ces contrôleurs peuvent être réalisés.
où e(kT) est l’erreur et ei(kT) est l’intégrale de l‘erreur qui peut être séparée sur deux
intervalles de la façon suivante:
kT ( k 1) T kT
ei (kT ) e(t )dt e(t )dt e(t )dt (4.2)
0 0 ( k 1)T
Selon la définition de ei(kT), la relation (4.2) peut être réécrite de la façon suivante:
kT
ei (kT ) ei ((k 1)T ) e(t )dt (4.3)
( k 1)T
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 62
Compensateur PI
kT
ei(kT)
0
e(t )dt Ki
cm(kT)
Le problème est alors d’obtenir l’intégrale de e(t) à partir du signal discret e(kT) qui est connu
seulement aux temps kT pour k = 1,2,3, … (aux périodes d’échantillonnages). En fait,
l’intégrale de e(t) ne peut être obtenue de façon exacte; elle ne peut qu’être approximée. Les
trois approximations les plus populaires de cette intégrale sont l’approximation rectangulaire,
l’approximation rectangulaire devancée et l’approximation trapézoïdale.
kT
( k 1)T
e(t )dt T e((k 1)T ) (4.4)
Ainsi, en remplaçant la relation (4.4) dans la relation, on obtient la relation entre l’entrée et la
sortie du système :
E i ( z ) z 1 E i ( z ) Tz 1 E ( z ) (4.6)
La fonction de transfert entre la sortie du compensateur et l’erreur est donc donnée par la
relation suivante :
Ei ( z ) T
(4.7)
E ( z) z 1
e(t)
e(kT)
erreur
d'approximation
e((k-1)T) approximation
(k-1)T kT
Ainsi, en remplaçant la relation (4.8) dans la relation (4.3), on obtient la relation entre l’entrée
et la sortie du système :
ei (kT ) ei ((k 1)T ) T e(kT ) (4.9)
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 64
e(t)
e(kT)
e((k-1)T) approximation
(k-1)T kT
Ainsi, en remplaçant la relation (4.12) dans la relation (4.3), on obtient la relation entre
l’entrée et la sortie du système :
E i ( z ) z 1 E i ( z )
2
z E ( z ) E ( z )
T 1
(4.14)
La fonction de transfert entre la sortie du compensateur et l’erreur est donc donnée par la
relation suivante :
Ei ( z ) T z 1
(4.15)
E ( z) 2 z 1
e(t)
e(kT)
approximation
e((k-1)T)
(k-1)T kT
M ( z) T z 1
K p Ki
E( z) 2 z 1
M ( z ) Q0 z Q1
(4.17)
E( z) z 1
où
T T
Q0 K p K i Q1 K p K i (4.18)
2 2
Compensateur PI
T z 1 Ei(z)
Ki
2 z 1
Cm(z)
e(kT ) e(kT T )
ed (kT ) (4.19)
T
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 67
Compensateur PD
de ed(kT)
dt Kd
cm(kT)
e(t)
e(kT)
approximation
de la rérivée
e((k-1)T)
(k-1)T kT
Selon la Figure 4.6, la fonction de transfert du compensateur PD est donc donnée par la
relation suivante:
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 68
M ( z) z 1
K p Kd
E( z) Tz
En plaçant les deux termes sous un même dénominateur, on obtient
M ( z ) Q0 z Q1
(4.21)
E( z) z
où
Kd Kd
Q0 K p Q1 (4.22)
T T
T z 1 Ei(z)
Ki
2 z 1
z 1 Ed(z)
Kd
Tz
Cm(z)
M ( z) T z 1 z 1
K p Ki Kd
E ( z) 2 z 1 Tz
M ( z ) Q0 z 2 Q1 z Q2
(4.23)
E( z) z ( z 1)
où
T 1 T 2 1
Q0 K p K i Kd Q1 K p K i Kd Q2 Kd (4.24)
2 T 2 T T
Principal Interuption
Mesure de
cm = Conversion A/N
T = période d'échantillonnage sortie
Kp = gain proportionnel
Ki = gain intégral
Initialisation e0 = r - cm Erreur
r = référence
Q0 = Kp + Ki T/2
Q1 = -Kp + Ki T/2
m0 = m1 + Q0 e0 +Q1 e1 Compensateur
m1 = 0 Conditions
e1 = 0 m1 = m0
initiales
e1 = e0
k=k+1
non
Fin
récurrentes. Pour se faire, on applique un produit croisé à la relation (4.21) puis on multiplie
de part et d’autre par z-1. Nous obtenons alors
M ( z ) Q0 E ( z ) Q1 z 1 E ( z )
Pour simplifier l’écriture, on remplace souvent T par 1 de sorte que l’équation récurente est
normalisée de la façon suivante :
Pour réaliser le compensateur PD, il suffit alors de poser des conditions initiales nulles (e(-1)
= 0) et de réaliser la relation (4.28) dans un microprocesseur, un microcontrôleur, un DSP
Cette réalisation pourrait par exemple se faire selon l’ordinogramme de la Figure 4.10. Cette
ordinogramme se divise en deux parties: un programme principal qui initialise les variables et
qui attend et un sous-programme d’interruption qui s’exécute à chaque période
d’échantillonnage. Le sous-programme d’interruption est utilisé pour calculer la sortie du
contrôleur en fonction de la mesure de la sortie du système et de la référence à chaque
période d’échantillonnage.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 72
Principal Interuption
Mesure de
cm = Conversion A/N
T = période d'échantillonnage sortie
Kp = gain proportionnel
Kd = gain dérivée
Initialisation e0 = r - cm Erreur
r = référence
Q0 = Kp + Kd /T
Q1 = - Kd /T
m0 = Q0 e0 +Q1 e1 Compensateur
Condition
e1 = 0
initiale e1 = e0
k=k+1
non
Fin
M ( z ) z 1 M ( z ) Q0 E ( z ) Q1 z 1 E ( z ) Q2 z 2 E ( z )
Pour simplifier l’écriture, on remplace souvent T par 1 de sorte que l’équation récurrente est
normalisée de la façon suivante :
Pour réaliser le compensateur PID, il suffit alors de poser des conditions initiales nulles (m(-
1) = 0, e(-1) = 0 et e(-2) = 0 ) et de réaliser la relation (4.30) dans un microprocesseur, un
microcontrôleur, un automate programmable … Cette réalisation pourrait par exemple se
faire selon l’ordinogramme de la Figure 4.11. Cet ordinogramme se divise en deux parties: un
programme principal qui initialise les variables et qui attend et un sous-programme
d’interruption qui s’exécute à chaque période d’échantillonnage. Le sous-programme
d’interruption est utilisé pour calculer la sortie du contrôleur en fonction de la mesure de la
sortie du système et de la référence à chaque période d’échantillonnage.
L’ajustement des gains des compensateurs de type P, PI et PID peut se faire en utilisant la
méthode empirique de Ziegler-Nicols. Cette approche n’a pas de fondement mathématique
rigoureux, elle est plutôt basée sur l’expérience. La technique de Zeigler-Nicols à l’avantage
de ne pas nécessiter la connaissance du modèle dynamique du système. D’autre part, elle a le
désavantage d’être très approximative. Elle permet d’obtenir une réponse transitoire en
chaîne fermée acceptable qui comporte cependant des dépassements qui peuvent être
relativement élevés. Au chapitre 6, nous verrons d’autres méthodes de conceptions des
compensateurs basées sur le modèle dynamique du système. Ces méthodes permettent
d’imposer de façon très précise les spécifications transitoires de la réponse du système en
chaîne fermée.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 74
Principal Interuption
m1 = 0 Conditions
e1 = 0 m1 = m0
e2 = 0 initiales
e2 = e1
e1 = e0
k=k+1
non
Fin
Il existe en fait deux façons d’appliquer la méthode de Ziegler-Nicols: une dans le domaine
du temps et l’autre dans le domaine de la fréquence. Dans cette section, nous allons
uniquement introduire la méthode basée sur le domaine du temps (Astrom, 1988, page 52).
Comme l’indique la Figure 4.12, la méthode dans le domaine du temps est essentiellement
basée sur la réponse à l’échelon du système en boucle ouverte.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 75
Entrée Sortie
Système
en
boucle ouverte
Comme l’indique la Figure 4.13, il s’agit alors de tracer une droite tangente à la courbe de la
réponse, au point ou la pente est la plus élevée. Les paramètres a et L peuvent alors être
obtenus de la façon indiquée par la Figure 4.13.
Sortie
seconde
a
Selon les paramètres a et L obtenus à partir de la réponse à l’échelon du système, les gains du
compensateur peuvent finalement être obtenus à partir du Tableau suivant.
Exemple 4.6.1:
La Figure 4.14 présente un système en chaîne ouverte. On suppose qu’on ne connaît pas le
système à commander mais qu’on souhaite obtenir les gains d’un compensateur PI qui ferme
la boucle de commande. On décide d’utiliser la méthode de Ziegler-Nicols pour obtenir les
gains du compensateur.
s1.num{1}(s)
s1.den{1}(s)
Echelon Bo Y
Systeme a
commander
La première étape de cette méthode est d’obtenir la réponse à l’échelon du système. Cette
réponse est illustrée par la Figure 4.15. Il suffit ensuite de tracer une droite tangente à la
courbe de la réponse, au point ou la pente est la plus élevée. Les paramètres a et L sont alors
obtenus de la façon indiquée à la Figure 4.13. Selon la Figure 4.15, ces paramètres sont
donnés par a = 90 et L = 2. Les gains du compensateur sont alors obtenus à partir du
Tableau 4-1:
0 .9
Kp 0.01
a
Kp Kp 0.9
3L Ki 0.0017
Ki 3L 3aL
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 77
1000
800
600
400
Y
200
0 2
90
-200
0 5 10 15 20 25 30 35 40 45 50
Temps (sec.)
Q0.z+Q1 s1.num{1}(s)
z-1 s1.den{1}(s)
Echelon Compensateur PI Bo Y
Systeme a
commander
1.5
Y
0.5
0
0 50 100 150 200
Temps (sec.)
CHAPITRE 5
Erreurs en régime permanent
5.1 Introduction
Les erreurs en régime permanent sont une partie importante des spécifications des systèmes
asservis. En effet, elles constituent la partie statique des spécifications. Ces spécifications
sont d’ailleurs souvent imposées par la structure même du contrôleur. Il est en effet bien
connu que le nombre d’intégrateurs associés au compensateur détermine en grande partie le
type de signal de référence pour lequel l’erreur en régime permanent sera nulle. Dans cette
section, une méthode pour calculer les erreurs en régime permanent des systèmes avec
rétroaction est expliquée. Cette méthode utilise le théorème de la valeur finale pour
transformer l’erreur en régime permanent de l’espace du temps à celui des fonctions de
transfert en z.
Compensateur Convertisseur
numérique N/A Procédé
R* E* M* C
Gc(z) Bo(s) Gp(s)
+
-
Cm* T Cm
H(s)
Convertisseur
Ordinateur A/N
Mesure
Cet objectif peut être atteint si on utilise le théorème de la valeur finale. Pour ce faire, on doit
cependant d’abord transformer le système de façon à ce qu’il n’implique que des fonctions
de transfert en z. Pour ce faire, on utilise la procédure de transformation des systèmes
hybrides en système comprenant uniquement des fonctions de transfert en z. Cette
procédure, expliquée à la page 40, nous permet de transformer le schéma bloc de la Figure
5.1 sous la forme de celui de la Figure 5.2.
Dans le schéma bloc de la Figure 5.1, la fonction de transfert BoGpH(z) est donnée par la
relation suivante :
z 1 Gp ( s ) H ( s )
BoGpH ( z ) Z Bo( s )Gp ( s ) H ( s ) Z (5.2)
z s
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 81
Pour simplifier les explications, le schéma bloc de la Figure 5.2 peut à nouveau être
transformé sous la forme de celui présenté par la Figure 5.3.
R(z) E(z)
F(z)
+
-
F(z)=Gc(z) BoGpH(z)
z 1 1
ess lim R( z ) (5.5)
z 1
z 1 F ( z)
Voyons maintenant comment on peut obtenir l’erreur en régime permanent selon la
référence et le type de la fonction de transfert en chaîne ouverte F(z).
ess
référence
a
sortie mesurée
temps
de sorte qu’en remplaçant dans l’expression (5.6), l’erreur en régime permanent pour une
référence échelon est donnée par
a
ess (5.8)
1 K ssp
( z 1) 2 2
(5.10)
référence ess
at sortie mesurée
temps
En posant
F1 ( z ) ( z 1) F ( z )
K ssv lim lim (5.13)
z 1 T z 1 T
l’erreur en régime permanent devient
a
e ss (5.14)
K ssv
( z 1) 2 2
ess
référence
1 2
at sortie mesurée
2
temps
En posant
F2 ( z ) ( z 1) 2 F ( z )
K ssa lim lim (5.19)
z 1 T2 z 1 T2
a
0 1 K ssp
a
1 0 K ssv
a
2 0 0 K ssa
K ssp lim F ( z ) ( z 1) F ( z ) ( z 1) 2 F ( z )
z 1 K ssv lim K ssa lim
z 1 T z 1 T2
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 89
Exemple 5.4.1
Soit le système de contrôle proportionnel d’un moteur cc illustré par la figure suivante :
Convertisseur
N/A Moteur CC
P
R* E* M* K C
Kp Bo(s)
+ m s + 1
-
C* T
Convertisseur
Ordinateur A/N
Dans ce système,
z 1 K z 1 1/ m
BoGp( z ) Z K Z
z s m s 1 z ss 1 / m
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 90
Exemple 5.4.2
Soit le système de contrôle proportionnel intégral d’un moteur cc illustré par la figure
suivante :
Convertisseur
N/A Moteur CC
PI
R* E* Q 0 z + Q1 M* K C
Bo(s)
+ z-1 m s + 1
-
C* T
Convertisseur
Ordinateur A/N
Selon ce qui a été présenté à l’exemple 5.4.2, ce système peut être transformé sous la forme
équivalante en z illustrée par la Figure 5.10.
alors,
Type (Gc ( z )) Type ( F ( z )) Type (Gp ( s ) H ( s )) (5.21)
Aussi, comme l’indique le Tableau 5-1, dans bien des cas, le type de la fonction de transfert
en boucle ouverte F(z) caractérise complètement les erreurs en régime permanent associées à
différents choix de références. La relation (5.21) peut alors nous permettre d’obtenir le type
du compensateur Gc(z) qui correspond aux spécifications statiques désirées. À titre
d’exemple, si on désire que l’erreur en régime permanent pour une référence échelon soit
nulle, le type du système en boucle ouverte doit être au minimum 1. Si le type du procédé et
de la mesure est zéro, alors, le type du contrôleur doit être au minimum de 1. Le
compensateur doit donc comporter au moins un intégrateur. On pourrait par exemple
choisir un compensateur PI. D’un autre côté, si on désire une erreur en régime permanent
nulle pour une référence échelon avec un procédé et une mesure de type 1, le type du
compensateur doit au minimum être 0. Un compensateur PD pourrait par exemple être
utilisé.
Ordinateur
Mesure
Cm1* T Cm1
H1(s)
Convertisseur
A/N
Mesure
Cm2* T Cm2
H2(s)
Convertisseur
A/N
Ce schéma bloc peut être transformé de façon à ce qu’il n’implique que des fonctions de
transfert en z. Pour ce faire, on utilise la procédure décrite à la section 2.6.1.1. La première
étape est donc de tracer les parcours des sorties des échantillonneurs à rebours jusqu’au
premier signal échantillonné. Cette étape est illustrée par la Figure 5.12.
Cm1* T Cm1
H1(s)
Cm2* T Cm2
H2(s)
z 1 Gp1( s ) H 1( s )
BoGp1H 1( z ) Z Bo( s )Gp1( s ) H 1( s ) Z
z s
et
z 1 Gp1( s )Gp 2( s ) H 2( s )
BoGp1Gp 2 H 2( z ) Z Bo( s )Gp1( s )Gp 2( s ) H 2( s ) Z
z s
Compensateur Compensateur
numérique numérique
E2(z) M2(z) E1(z)
R(z) M1(z)
Gc2(z) Gc1(z)
+ +
- -
Cm1(z)
BoGp1H1(z)
Cm2(z) BoGp1Gp2H2(z)
Une simplification de la boucle interne du schéma bloc de la Figure 5.13 nous permet ensuite
d’obtenir le schéma bloc de la Figure 5.14.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 95
R(z)
E2(z) M2(z) Gc1(z)
Gc2(z)
+ 1+Gc1(z)BoGp1H1(z)
-
Cm2(z)
BoGp1Gp2H2(z)
Comme le montre la Figure 5.15, le schéma bloc de la Figure 5.14 peut finalement être
présenté sous une forme équivalente de celui de la Figure 5.3. Les résultats présentés dans le
Tableau 5-1 peuvent alors être utilisés pour calculer les erreurs en régime permanent.
R(z) E(z)
F(z)
+
Gc1(z)Gc2(z)BoGp1Gp2H2(z)
- F(z) = 1+Gc1(z)BoGp1H1(z)
Figure 5.15 : Schéma bloc pour le calcul des erreurs en régime permanent.
La Figure 5.14 nous indique également que, comme dans la section 5.5, les spécifications
relatives aux erreurs en régime permanent peuvent en grande partie être imposées par le
choix du compensateur Gc2(z). En effet, le type de Gc2(z) s’exprime de la façon suivante :
Gc1( z ) BoGp1Gp 2 H 2( z )
Type(Gc 2( z )) Type( F ( z )) Type
1 Gc1( z ) BoGp1H 1( z )
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 96
CHAPITRE 6
Conception des compensateurs
6.1 Introduction
Dans les chapitres précédents, nous avons utilisé la transformée en z pour analyser les
systèmes dynamiques qui renferment des échantillonneurs. En effet, nous avons constaté
que l’utilisation de la transformation de base des systèmes hybrides nous permet de
transformer des systèmes renfermant des fonctions de transfert en s, des fonctions de
transfert en z et des échantillonneurs en système renfermant uniquement des fonctions de
transfert en z. Cette approche nous permet donc d’obtenir la fonction de transfert en z en
chaîne fermée du système. Nous avons également étudié les erreurs en régime permanent.
Nous avons établi une méthode pour choisir un compensateur qui répond à des
spécifications reliées aux erreurs en régime permanent. Dans ce chapitre, nous allons étudier
la méthode de conception des compensateurs par imposition des pôles en z. Cette méthode
consiste à ajuster les gains du compensateur de façon à imposer les pôles de la fonction de
transfert en chaîne fermée du système. L’intérêt de cette méthode est qu’en général, les
spécifications transitoires telles que le temps de réponse et le dépassement sont en grande
partie caractérisées par les pôles de la fonction de transfert en chaîne fermée du système. La
méthode consistera alors à transformer les spécifications transitoires de l’espace de la
réponse transitoire à celui des pôles du système. Mais parce que la caractérisation de la
réponse transitoire en fonction des pôles est beaucoup mieux connue pour les fonctions de
transfert en s que pour celles en z, les spécifications seront d’abord transformées dans
l’espace des pôles en s puis, elles seront transformées de nouveau dans l’espace des pôles en
z. Finalement, nous verrons que la méthode d’imposition des pôles souffre d’un problème :
la réponse transitoire du système en chaîne fermée est caractérisée par ses pôles, mais elle est
également influencée par ses zéros. Pour cette raison, nous verrons une méthode de
conception qui permet non seulement d’imposer les pôles du système, mais également ses
zéros. La méthode d’imposition d’un model de référence consistera d’abord à obtenir un
modèle de référence qui correspond à des spécifications transitoires, puis, à transformer ce
modèle de référence dans le domaine des fonctions de transfert en z et finalement, à imposer
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 97
1/
G (s) (6.1)
s 1/
est illustrée par la Figure 6.1. La constante de temps peut alors être exprimée en fonction
du temps de réponse à 5% Tr à l’aide de la relation suivante :
Tr
(6.2)
3
(s) s 1 / (6.3)
s 1 / 3 / Tr (6.4)
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 98
1.05
1
0.95
Tr
wn2
G ( s) 2 (6.5)
s 2wn s wn2
avec ≤ 1 est illustrée par la Figure 6.2. Le temps de réponse à 5% (Tr) ainsi que le
dépassement (Mp) peuvent être calculés en fonction du facteur d’amortissement et de la
fréquence naturelle wn (Kuo, 2010, page 280-287). Ces relations peuvent également être
inversées de façon à exprimer le facteur d’amortissement et la fréquence naturelle wn en
fonction du dépassement Mp et du temps de réponse Tr de la façon suivante :
Ln ( Mp )
(6.6)
Ln 2 ( Mp ) 2
et
ì
ï
ï
ï-
1
ï xTr
(
Ln 0.05 1-x 2 ) si x £ 0.69
wn = ï
í
1
(6.7)
ï
ï 0.9257 1.6341x
ï
ï e 0.69 < x £ 1
ï
î Tr
Ces relations seront particulièrement utiles lors de la conception des compensateurs par la
méthode d’imposition des pôles. En effet, l’équation caractéristique de la fonction de
transfert décrite par la relation (6.5) étant donnée par la relation suivante :
Ces pôles sont illustrés par la Figure 6.3. Les relations (6.6), (6.7) et (6.9) peuvent donc nous
permettre d’obtenir les pôles d’une fonction de transfert de deuxième ordre qui
1 La deuxième partie de l’équation (6.7) ne se retrouve pas dans la référence (Kuo, 2010). En effet
l’approximation utilisée dans cette référence manque de précision. C’est pourquoi, nous avons décidé de
trouver une meilleure approximation à l’aide d’un lissage d’une fonction exponentielle.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 100
Mp
1.05
1
0.95
Tr
Plan s
Im
s1
x wn 1 2
Re
w n
x wn 1 2
s2
z e Ts (6.10)
s jw (6.11)
où est la partie réelle et w est la partie imaginaire, alors, la transformation entre le plan s et
le plan z est donnée par la relation suivante :
z e T ( jw ) e T e jwT (6.12)
Plan s Plan z
Im Im
x
x w e T
wT
Re Re
Sachant que le module du nombre complexe z est donné par eT et que < 0, il en résulte
que le module de z est toujours inférieur à 1. Comme l’indique la Figure 6.5, la région du
demi-plan gauche du plan s se transforme donc en l’intérieur d’un cercle de rayon unitaire
dans le plan z. Les fonctions de transfert en z sont donc stables si et seulement si leurs
pôles sont à l’intérieur du cercle unitaire dans le plan z (Ogata, 1995, page 174).
Plan s Plan z
Im Im
Re Re
s 1 /
z e T / (6.13)
( z ) z e T / (6.14)
En appliquant la transformation du plan s au plan z décrite par la relation (6.12), les pôles de
la fonction de transfert deviennent dans le plan de z :
1 2
z1, 2 e wnT e jwnT (6.15)
( z ) ( z z1 )( z z 2 ) z 2 ( z1 z 2 ) z z1 z 2 (6.16)
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 104
z1 z 2 e wnT e jwnT
1 2
e jwnT 1 2
2e wnT cos w T 1 2
n
1 2 1 2
z1 z 2 e wnT e jwnT e wnT e jwnT e 2wnT
( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT (6.17)
2) Transformer les spécifications de l’espace de la réponse transitoire à celle des pôles dans
le plan s. Pour ce faire, utiliser la relation (6.2) lorsque le système en chaîne fermée est de
premier ordre et les relations (6.6) ainsi que (6.7) lorsque le système en chaîne fermée
est de deuxième ordre. Lorsque le système en chaîne fermée est d’ordre supérieur à
deux, vous pouvez utiliser les relations (6.6) et (6.7) pour obtenir les paramètres de deux
pôles dominants. Puis, vous pouvez choisir tous les autres pôles de premier ordre
comme non dominants en posant par exemple :
d ( s ) s 2 2wn s wn2 s 5wn ...s 5wn
3) Transformer les spécifications de l’espace des pôles en s à celle des pôles en z. Obtenir
ainsi l’équation caractéristique désirée en z. Cette équation caractéristique est celle que
vous désirez imposer au système en chaîne fermée. Lorsque le système en chaîne fermée
est de premier ordre, utiliser la relation (6.14) pour obtenir l’équation caractéristique
désirée en z en fonction de la constante de temps obtenue à l’étape 2. Lorsque le
système en chaîne fermée est de deuxième ordre, utiliser la relation (6.17) pour obtenir
l’équation caractéristique désirée en z en fonction de la fréquence naturelle wn et du
facteur d’amortissement obtenues à l’étape 2. Lorsque le système en chaîne fermée est
d’ordre supérieur à deux, utiliser la relation (6.17) pour obtenir l’équation
caractéristique désirée en z en fonction de la fréquence naturelle wn et du facteur
d’amortissement obtenues à l’étape 2. Puis, multiplier cette équation caractéristique par
l’équation caractéristique obtenue des pôles non dominants. L’équation caractéristique
désirée totale est alors donnée par la relation suivante :
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT z e 5wnT ... z e 5wnT
et l’équation caractéristique désirée obtenue à l’étape 3). Résoudre ensuite les équations
formées par l’égalité pour obtenir les gains du compensateur.
M*
R* + E* Q0 z + Q1 K V
B0(s)
z-1 tm s + 1
-
PI N/A
Q0 = Kp +Ki T/2
Q1 = -Kp +Ki T/2
V* T
A/N
Ordinateur Carte
Moteur CC
d'acquisition
Figure 6.6 : Schéma blocs hybride d'un contrôleur PI appliqué à un moteur CC.
Dans ce schéma blocs, le système à commander est de premier ordre et le contrôleur est de
premier ordre. Le système en chaîne fermée sera donc de deuxième ordre. Parce qu’il y a 2
gains dans le compensateur, soit Kp et Ki,, la condition nécessaire pour l’imposition des pôles
est vérifiée. Pour imposer les pôles, suivons la méthode recommandée dans cette section.
1) Spécifications transitoires :
On souhaite imposer le dépassement Mp et temps de réponse Tr associés à la réponse à
l’échelon du système en chaîne fermée.
où
ln( Mp )
ln 2 ( Mp) 2
1
Tr
Ln 0.05 1 2 si 0.69
wn
0.9257 1.6341
e 0.69 1
Tr
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT
z 1 Gp( s) z 1 K z 1 1/ m
BoGp( z ) Z Z K Z
z s z m
s ( s 1) z s( s 1 / m )
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 108
z 1 (1 e T / m ) z K (1 e T / m ) b1
BoGp( z ) K T / m
T / m
z ( z 1)( z e ) (z e ) z b2
où
b1 K (1 e T / m )
b2 e T / m
La fonction de transfert en chaîne fermée du système illustré par Figure 6.7, est alors
donnée par la relation suivante :
V ( z) b1 (Q0 z Q1 ) b (Q z Q1 )
1 0
R( z ) b1 (Q0 z Q1 ) ( z 1)( z b2 ) ( z )
( z ) z 2 1 b2 b1Q0 z b2 b1Q1
1 b2 b1Q0 2e wnT cos wn T 1 2
b2 b1Q1 e 2wnT
Q0
1 b2 2e wnT cos wnT 1 2
b1
e 2wnT b2
Q1
b1
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 109
Q1 K p K i T / 2
Remarquez que dans le schéma blocs de la Figure 6.8, la fonction de transfert du contrôleur
PI a été réexprimée de façon à facilité l’anulation pôle zéro. Une annulation pôle zéro peut
alors être obtenue en posant :
Q1
b2
Q0
Le système prend alors la forme suivante.
Ce système est maintenant de premier ordre. Parce qu’il reste un gain indépendant, on peut
imposer le seul pôle du système à l’aide de la méthode d’imposition des pôles décrite à la
section précédente.
1) Spécifications transitoires :
Parce que le système est de premier ordre, on ne peut qu’imposer le temps de réponse
Tr associés à la réponse à l’échelon du système en chaîne fermée.
d ( z ) z e T /
4) Imposition de l’équation caractéristique désirée
Pour imposer l’équation caractéristique désirée, nous devons d’abord obtenir
l’équation caractéristique du système en chaîne fermée puis ensuite, poser l’égalité
entre cette dernière et l’équation caractéristique désirée. Selon le schéma blocs de la
Figure 6.9, la fonction de transfert en chaîne fermée du système est donnée par la
relation suivante :
V ( z) Q0 b1 Qb
0 1
R( z ) z 1 Q0 b1 ( z )
où l’équation caractéristique est donnée par la relation suivante :
( z ) z (1 Q0 b1 )
En posant l’égalité terme à terme entre le polynôme caractéristique du système en
chaîne fermée et le polynôme caractéristique désiré, on obtient l’équation suivante :
(1 Q0 b1 ) e T /
En solutionnant l’équation, on obtient
1 e T /
Q0
b1
que les autres pôles (-10 et -12). Les pôles -10 et -12 sont quant à eux considérés comme
négligeable puisque l’influence qu’ils ont sur la réponse du système est peu significative. La
Figure 6.10 illustre ce principe qui est la clé de la méthode d’imposition des pôles dominants.
0.9
0.8
120/(s+1)2(s+10)(s+12)
0.7
1/(s+1)2
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
temps (s)
Lorsque le nombre de gains du contrôleur est m et que l’ordre du système est n > m,
la méthode par imposition des pôles dominant consiste à imposer m pôles du
système à l’aide des m gains du contrôleur en espérant que les n-m pôles non
imposés seront négligeables. Évidement, il ni a aucune garanti que ces pôles seront
négligeable. Il est donc nécessaire d’utiliser un processus itératif. Avant de présenter
l’algorithme, voici le principe d’imposition. À titre d’exemple, supposons que l’équation
caractéristique d’un système en chaîne fermée soit donnée par :
D( z ) = z 4 - k p
où kp est le gain du contrôleur. Dans ce cas, le système en chaîne fermée est d’ordre n=4
alors que le nombre de gain est m=1. Pour imposer un pôle à 0.9 par exemple, il suffit
d’utiliser la définition d’un pôle par rapport à l’équation caractéristique. Voici comment :
D(0.9) = 0.94 - k p = 0
En solutionnant l’équation, le gain est obtenu :
k p = 0.94 = 0.6561
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 113
Les pôles du système sont alors : 0.9, -0.9, 0.9i et -0.9i. Donc un pôle à bien été imposé à 0.9.
Lorsque plusieurs pôles doivent être imposés parce que m est supérieure à 1, il suffit alors de
poser une équation pour chacun des pôles à imposer de façon à former un système de m
équations à m inconnus. Cependant, lorsqu’un pôle est multiple (lorsqu’il se répète plusieurs
fois), la même équation est répétée plusieurs fois de sorte que les équations ne sont alors pas
indépendantes. Pour contourner ce problème, une propriété associée aux racines d’un
polynôme est utilisée : lorsqu’une racine d’un polynôme D( z ) est de multiplicité p, cette
racine est aussi une racine des polynômes d D( z ) / dz , ... , d p-1D( z ) / dz p-1 . En utilisant cette
propriété, des équations indépendantes peuvent être formulées même lorsqu’il y a des pôles
multiples à imposer. Voici donc les étapes de la méthode d’imposition des pôles dominants :
2) Transformer les spécifications de l’espace de la réponse transitoire à celle des pôles dans
le plan s. Pour ce faire, utiliser la relation (6.2) lorsque m = 1 et les relations (6.6) ainsi
que (6.7) lorsque m = 2. Lorsque m > 2, vous pouvez utiliser les relations (6.6) et (6.7)
pour obtenir les paramètres de deux pôles dominants. Puis, vous pouvez choisir tous les
autres pôles de premier ordre comme non dominants en posant par exemple :
s1 = -xwn + jwn 1- x 2
s2 = -xwn - jwn 1- x 2
s3 = -5xwn
sm = -5xwn
3) Transformer les spécifications de l’espace des pôles en s à celle des pôles en z. Utiliser la
relation (6.10) pour obtenir les m pôles transformés a1 = e s1T , … , a m = e smT .
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 114
de façon à calculer les m gains. S’il s’agit plutôt d’un seul pôle de multiplicité m,
solutionner plutôt le système d’équations suivant :
i
0 , i 0,..., m 1
z i z
5) Vérifier que les pôles imposés sont bien dominants. Pour accomplir cette vérification, il
suffit d’abord de calculer le polynôme caractéristique à l’aide des gains obtenus à l’étape
4). Puis, de calculer les racines z1,…, zn de ce polynôme et de les transformer dans le plan
s à l’aide de l’équation (2.4). Parmi ces racines, m seront celles imposées et n-m seront les
autres racines. Ces dernières sont négligeables lorsqu’elles sont beaucoup plus petites que
les racines imposées. Si c’est racines ne sont pas négligeables, les racines imposées ne
sont pas dominantes. Répéter alors les étapes 1) à 5) avec de nouvelles spécifications.
Normalement, il suffit d’augmenter le temps de réponse pour rendre les pôles non
imposés davantage négligeables. Il ni a cependant aucune garantie que les pôles non
imposés finirons par être négligeables.
3) Grâce à l’équation (6.10), le pôle double –wn peut être transformé dans le plan z, puis
l’équation caractéristique désirée correspondante peut être calculée comme suit :
Dd ( z ) = ( z -a ) 2 = ( z 2 - 2az + a 2 ) , a = e- wnT
4) Poser l’égalité entre l’équation caractéristique désirée d(z) et celle du système en chaîne
fermée et résoudre pour obtenir le gain du compensateur et le pôle double .
À postériori, il est nécessaire de vérifier que la solution obtenue est bien stable; c'est-à-dire
que a < 1 . Aussi, même si le temps de réponse ne peut pas être imposé avec cette
1 / z 1 1 / z 1 1 e T / z
G r ( z ) Z B0 ( s ) Z (6.19)
s 1/ z s s 1 / z z 1z e T /
de sorte que
1 e T /
Gr ( z ) (6.20)
z e T /
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 117
Modèle de
référence
continu
R(s) Yr(s)
Gr(s)
Modèle de
Bloqueur référence
d'ordre 0 continu
R(z) T Yr(z)
Bo(s) Gr(s)
R(z) Yr(z)
BoGr(z)
Modèle de
référence
discret
wn2 z 1 wn2
Gr ( z ) Z B0 ( s) 2 2
(6.21)
s 2wn s wn2 z
Z
s s 2wn s wn
2
Cette transformée en z peut maintenant être obtenue par la l’entrée 16 de la table présentée à
la page 44 de ce document. Pour ce faire, la fonction de transfert doit cependant être réécrite
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 118
sous une forme qui correspond à celle de la table. Pour ce faire, le carré du dénominateur
doit d’abord être complété selon la relation suivante :
a wn w wn 1 2
La fonction de transfert peut alors être réécrite sous la forme suivante
wn2 a 2 w2
(6.22)
s s 2 2wn s wn2
s (s a) 2 w 2
de sorte que selon l’entrée 16 de la table,
wn2 zAz B
Z 2
2
s s 2wn s wn ( z 1) z 2e n cos wn T 1 z e n
2 w T 2 2w T
(6.23)
ou
A 1 e wnT cos wnT 1 2
1 2
sin wnT 1 2
B e 2wnT e wnT cos wnT 1 2
1 2
sin wnT 1 2
En remplaçant la relation (6.23), dans la relation (6.21), la fonction de transfert du modèle de
référence discret devient
Az B
Gr ( z )
z 2e
2 wnT
cos wn T 1 2 z e 2wnT
(6.24)
ou
A 1 e wnT cos wnT 1 2
1 2
sin wnT 1 2 (6.25)
B e 2wnT e wnT cos wnT 1 2
1 2
sin wnT 1 2 (6.26)
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 119
R ( z)
Gf ( z ) Gc( z ) 1 (6.27)
R( z )
Cette relation sera très utile lors de la conception du compensateur anticipatif. Dans
certaines situations, il pourra également être plus avantageux d’utiliser un compensateur
anticipatif avec une boucle de commande comme celle de la Figure 6.14 (Ogata, 1995, page
532). Cette formulation aura l’avantage de ne pas nécessiter de transformation du système
pour faire la conception du compensateur anticipatif. En effet dans ce cas,
R ( z)
Gf ( z ) (6.28)
R( z )
Que l’on se réfère à la boucle de commande de la Figure 6.13 ou à celle de la Figure 6.14, la
conception des compensateurs Gc(z) et Gf(z) selon l’approche de l’imposition d’un modèle
de référence peut être réalisée par différentes méthodes. Voici la méthode que nous avons
choisie d’expliquer. Comme dans le cas de la méthode d’imposition des pôles, le nombre de
gains indépendant du compensateur Gc(z) devra être supérieur ou égal à l’ordre du système
en chaîne fermé sans le compensateur anticipatif. De plus, les zéros du système en chaîne
fermée sans le compensateur anticipatif devront toujours être à l’intérieur du cercle unitaire.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 120
Ordinateur
Compensateur
anticipatif
Gf(z)
Convertisseur
N/A Procédé
R* E* M* C
+
Gc(z) + Bo(s) Gp(s)
Cm* T Cm
H(s)
Convertisseur
A/N
Mesure
Convertisseur
N/A Procédé
Gf(z)+ Gc(z) R* E* M* C
R*
Gc(z) Bo(s) Gp(s)
Gc(z) +
-
Cm* T Cm
H(s)
Convertisseur
A/N
Mesure
Convertisseur
N/A Procédé
E* M* C
R* R*
Gf(z) Gc(z) Bo(s) Gp(s)
+
-
Cm* T Cm
H(s)
Convertisseur
A/N
Mesure
4) Le compensateur Gc(z) peut ensuite être utilisé pour imposer les pôles du système en
chaîne fermée sans le compensateur anticipatif. Ces pôles à imposer sont en fait ceux du
modèle de référence obtenu à l’étape 3).
5) Le compensateur anticipatif Gf(z) peut ensuite être utilisé pour annuler les zéros de la
fonction de transfert en chaîne fermée et les remplacés par les zéros du modèle de
référence. La conception du compensateur Gf(z) ne peut cependant être faite que si les
zéros de la fonction de transfert en chaîne fermée sont à l’intérieur du cercle
unitaire et que si le nombre de zéros du modèle de référence est inférieur ou égal
à celui du système en chaîne fermée. En effet, l’annulation des zéros à l’extérieur du
cercle unitaire par les pôles de Gf(z) rendrait le compensateur anticipatif instable.
Mf *
Gf(z)
R* + E* Mc* M* V
Q0 z + Q1 K
B0(s)
z-1 m s + 1
-
PI N/A
Q0 = Kp +Ki T/2
Q1 = -Kp +Ki T/2
V* T
A/N
Ordinateur Carte
Moteur CC
d'acquisition
Selon la transformation du compensateur anticipatif illustrée par les Figure 6.13 et Figure
6.14, le schéma blocs de la Figure 6.15, peut être transformé sous la forme équivalente
suivante :
Gc
M*
R* Gf(z)+ Gc(z) R* + E* Q0 z + Q1 K V
B0(s)
Gc(z) z-1 m s + 1
-
PI
Q0 = Kp +Ki T/2
Q1 = -Kp +Ki T/2
V* T
1) Spécifications transitoires :
On souhaite imposer le dépassement Mp et temps de réponse Tr associés à la réponse à
l’échelon du système en chaîne fermée.
1
Tr
Ln 0.05 1 2 si 0.69
wn
0.9257 1.6341
e 0.69 1
Tr
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT
A 1 e wnT cos wnT 1 2
1 2
sin wnT 1 2
B e 2wnT e wnT cos wnT 1 2
1 2
sin wnT 1 2
E(z) M(z)
R(z) Gf(z)+ Gc(z) R(z) + Q0z + Q1 b1
V(z)
Gc(z) z-1
z b2 b1 K (1 e T / m )
-
b2 e T / m
La fonction de transfert en chaîne fermée du système est alors donnée par la relation
suivante :
V ( z ) Gf ( z ) Gc ( z ) b1 (Q0 z Q1 )
R( z ) Gc ( z ) ( z )
( z ) z 2 1 b2 b1Q0 z b2 b1Q1
1 b2 b1Q0 2e wnT cos wn T 1 2
b2 b1Q1 e 2wnT
Q0
1 b2 2e wnT cos wnT 1 2
b1
e 2wnT b2
Q1
b1
5) Imposition des zéros
La dernière étape d’imposition du modèle de référence consiste à déterminer le
compensateur Gf(z) de façon à imposer l’égalité entre la fonction de transfert en
chaîne fermée du système et le modèle de référence :
V ( z) Gf ( z ) Gc( z ) b1 (Q0 z Q1 ) Az B
Gr ( z )
R( z ) Gc( z ) ( z ) d ( z)
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 126
d’où
Gf ( z ) Gc( z ) R ( z ) Az B
Gc( z ) R( z ) b1 (Q0 z Q1 )
Az B Q z Q1 Az B b1 (Q0 z Q1 )
Gf ( z ) Gc( z ) 1 0
b1 (Q0 z Q1 ) z 1 b1 (Q0 z Q1 )
( A / b1 Q0 ) z B / b1 Q1
Gf ( z )
z 1
Compensateur
anticipatif
Gf(z)
Convertisseur
N/A Procédé Procédé
+
R* E* + M* C2
Gc2(z) Gc1(z) Bo(s) Gp1(s) Gp2(s)
+
- -
T C1
Cm1* Cm1 H1(s)
Convertisseur
A/N
Cm2* T Cm2
H2(s)
Convertisseur
A/N
Mesure
Convertisseur
N/A Procédé Procédé
Gf(z)+ Gc(z) R* E* + M* C2
R*
Gc2(z) Gc1(z) Bo(s) Gp1(s) Gp2(s)
Gc(z) +
- -
T C1
Cm1* Cm1 H1(s)
Convertisseur
A/N
Cm2* T Cm2
H2(s)
Convertisseur
A/N
Mesure
tf a 2 t 2f 4a( p f pi )
tb (6.30)
2 2a
de sorte que la trajectoire existe seulement si l’amplitude de l’accélération respecte l’inégalité
suivante (Craig, 1989, page 240) :
4( p f pi )
a (6.31)
t 2f
Dans ce contexte, une trajectoire est généralement définie en choisissant d’abord les
positions initiale et finale, puis le temps final et l’amplitude de l’accélération et de la
décélération de façon à respecter l’inégalité (6.31). Le paramètre tb peut alors être calculé en
utilisant la relation (6.30).
celui utilisé pour imposer un modèle de référence linéaire nous l’avons vu plus tôt. En effet,
le compensateur anticipatif est maintenant utilisé pour prédire la commande à fournir au
système pour qu’il puisse suivre la trajectoire désirée. Comme l’indique la Figure 6.21, cette
prédiction se fait en utilisant l’inverse du modèle dynamique du système à commander. Les
zéros du système à commander doivent donc être à l’intérieur ou sur le cercle
unitaire à défaut de quoi le compensateur anticipatif serait instable.
Position
pd(t)
pf
pi
t
0 tb tf -tb tf
. Vitesse
pd(t)
atb
0 t
0 tb tf -tb tf
p¨d(t) Accélération
a
tf -tb
0 t
tb tf
-a
Compensateur Système à
anticipatif commander
Parce qu’on suppose en général que les conditions initiales de la trajectoire désirée et de la
sortie du système à commander sont différentes, l’erreur initiale est différente de zéro. Le
rôle du système de commande est alors de faire en sorte que l’erreur en régime permanent
soit nulle et que cette erreur converge à zéro selon un régime transitoire souhaité. La
conception du compensateur consiste donc à choisir le compensateur anticipatif pour
assurer une erreur nulle en régime permanent et à choisir le compensateur de façon à
imposer le régime transitoire de l’erreur.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 132
1
Gf(z)= Gp(z)
Mf(z)
Gf(z)
Compensateur
anticipatif
1
Gf(z)= Gp(z)
Conditions
Mf(z) initiales
Gf(z)
No(z)
Compensateur Dp(z)
anticipatif
+ +
Trajectoire + E(z) Mc(z) M(z) Y(z)
Gc(z) Gp(z)
désirée + +
Yd(z)
-
Compensateur Système à
commander
Le schéma blocs de la Figure 6.23 peut ensuite être transformé de façon à dégager le
compensateur anticipatif. Cette transformation est illustrée par la Figure 6.24.
Conditions
initiales
No(z)
Dp(z)
1
Gf(z)= Gp(z)
+
Yd(z)
Trajectoire Gf(z)+Gc(z) + Y(z)
désirée Gc(z) Gc(z) Gp(z)
+
-
Système à
commander
Le schéma blocs de la Figure 6.24 peut de nouveau être transformé pour amener les
conditions initiales tout près de la trajectoire désirée. Cette transformation est illustrée par la
Figure 6.25. Dans cette figure, Gf(z) a également été remplacé par 1/Gp(z) dans le bloc qui
suit la trajectoire désirée. Ce remplacement correspond à l’égalité donnée par la relation
(6.32)
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 134
Conditions
initiales
No(z) 1
Dp(z) Gc(z)Gp(z)
+
Trajectoire Yd(z) 1+Gp(z)Gc(z) + Y(z)
désirée Gp(z)Gc(z) Gc(z) Gp(z)
-
Système à
commander
Conditions
initiales
No(z) 1 + + Y(z)
Gc(z) Gp(z)
Dp(z) Gc(z)Gp(z)
-
Système à +
commander
-
Système à
commander
La boucle inférieure peut ensuite être résolue de façon à obtenir le schéma blocs de la Figure
6.27.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 135
Conditions
initiales
No(z) 1 + + Y(z)
Gc(z) Gp(z)
Dp(z) Gc(z)Gp(z)
-
Système à +
commander
Une simplification apparaît alors très clairement dans le branche du bas de sorte qu’on
obtient le schéma blocs de la Figure 6.28.
Conditions
initiales
No(z) 1 + + Y(z)
Gc(z) Gp(z)
Dp(z) Gc(z)Gp(z)
-
Système à +
commander
Trajectoire Yd(z)
désirée
Nous souhaitons maintenant obtenir l’erreur de suivi comme sortie du schéma blocs. Pour
ce faire il suffit simplement d’obtenir :
E ( z ) Yd ( z ) Y ( z )
Cette transformation est illustrée par la Figure 6.29. Dans cette figure, nous avons également
remplacé Gp(z) par Np(z)/Dp(z) dans le bloc qui suit les conditions initiales.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 136
Conditions
initiales
Trajectoire Yd(z)
désirée
En combinant les deux sommateurs et en simplifiant le bloc qui suit les conditions initiales,
nous obtenons finalement le schéma blocs de la Figure 6.30.
E(z)
No(z) 1 -
Gc(z) Gp(z)
Np(z) Gc(z)
-
Système à
commander
L’erreur de suivi est alors caractérisée par la relation suivante dans le domaine de z :
N0 ( z) 1 Gc( z )Gp ( z ) N ( z) Gp ( z )
E( z) 0
N p ( z ) Gc( z ) Gc( z )Gp ( z ) 1 N p ( z ) Gc( z )Gp ( z ) 1
En remplaçant Gp(z) par Np(z)/Dp(z) et Gc(z) par Nc(z)/Dc(z), nous obtenons finalement
N 0 ( z ) Dc( z )
E( z) (6.35)
( z )
où (z) est l’équation caractéristique qui est donnée par la relation suivante :
( z ) Nc ( z ) Np ( z ) Dc ( z ) Dp ( z ) (6.36)
méthode d’imposition des pôles. La seule différence avec ce que nous avons vue
précédemment est que l’erreur dans le domaine de z décrite par la relation (6.35) est une
réponse impulsionnelle et non une réponse à l’échelon. La réponse impulsionnelle de la
fonction de transfert de deuxième ordre de la relation (6.5) est donnée par la Figure 6.32
tandis que sa réponse à l’échelon est donnée par la Figure 6.2. Selon la réponse de la Figure
6.31, notre objectif est bien atteint. En effet, l’erreur converge à zéro avec un temps de
réponse Tr et un dépassement Mp qui peuvent être imposés exactement de la même façon
que pour la réponse à l’échelon.
Tr
Mp
0.05
0
-0.05
Panneau
solaire
Propulseur
Propulseur
J
Propulseur
Panneau
solaire
Propulseur
4( p f pi ) 4( / 4 0)
a 2
t f 52 25
Selon la relation (6.30), le temps d’accélération et de décélération est alors donné par
2
2
25 4
5 25 25 4
tb 2.5
2 2 / 25
Selon la relation (6.29), la trajectoire désirée sera donnée par la relation suivante
2
t si 0 t 2.5
p d (t ) 50
t t 2 si 2.5 t 5
4 5 50
Remarquez que la portion linéaire de la trajectoire est inexistante puisque tb = tf/2. Cette
particularité vient du fait que nous avons choisi de minimiser l’accélération. La trajectoire
désirée étant choisie, nous devons maintenant faire la conception d’un système de
commande par ordinateur qui assure le suivi de cette trajectoire. Sachant que le modèle du
satellite est donné par
( s) 1
Gp( s )
M (s) Js 2
où M(s) est le couple généré par les propulseurs et J = 10 Kg m2 est le moment d’inertie du
satellite, le système de commande par ordinateur choisi est illustré par la Figure 6.33. Ce
système, qui comporte une mesure de vitesse et une mesure de position, est d’ordre 2. Parce
que le compensateur comporte deux gains (K1 et K2), les pôles du système en chaîne fermée
peuvent être imposés. Pour nous permettre de faire la conception du compensateur,
trouvons d’abord le schéma blocs en z du système. En utilisant la méthode décrite au
chapitre II, on obtient le schéma blocs en z illustré par la Figure 6.34.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 140
Compensateur
anticipatif
Gf(z)
Mf* Convertisseur
N/A Gp1(s) Gp2(s)
+
Pd* E* + M* 1 1
K1 K2 Bo(s)
+ Js s
- -
W* T=0.1 W
Convertisseur
A/N
T=0.1
Convertisseur
A/N
Ordinateur Interface Procédé
Compensateur
anticipatif
Gf(z)
Mf(z)
+
Pd* E* + M(z)
K1 K2 BoGp1Gp2(z)
+
- -
BoGp1(z)
Dans le schéma blocs de la Figure 6.34, la fonction de transfert BoGp1(z) est donnée par la
relation suivante :
z 1 1 z 1 1 Tz 0.01
BoGp1( z ) Z 2
z 10s z 10 z 1 2
z 1
z 1 1 z 1 T 2 z ( z 1) 0.0005( z 1)
BoGp1Gp 2( z ) Z 3
z 10s z 20 ( z 1) 3 ( z 1) 2
Compensateur
anticipatif
Gf(z)
Mf(z)
+
Pd* E* + K2(z-1) 0.0005 (z+1)
K1
+ z - 1 + 0.01K2 (z-1)2
-
En combinant les deux blocs de la boucle, on obtient le schéma blocs de la Figure 6.36. Ce
schéma blocs est de la même forme que celui de la Figure 6.22. La conception du
compensateur peut alors être faite selon l’approche présentée dans cette section.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 142
Compensateur
anticipatif
Gf(z)
Mf(z)
Gp(z)
+
Pd* E* + 0.0005K2(z+1)
K1
+ z2-(2-0.01K2)z +1 - 0.01K2
-
Figure 6.36 : Schéma blocs sous une forme qui permet le suivi de la trajectoire.
1) Spécifications Transitoires
Mp = 0 et Tr = 0.5
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 143
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT z 2 0.7744 z 0.15
En posant l’égalité terme à terme entre l’équation caractéristique désirée et celle du système,
on obtient le système de 2 équations à 2 inconnus suivant :
0.01K 2 0.0005K1K 2 2 0.7744
0.01K 2 0.0005K1K 2 0.15 1
La solution de ce système d’équation est donnée par
K2 = 103,63 et K1K2 = 374.19
D’où
K1 = 374.19/103.63 = 3.61
Maintenant que la conception du système de commande est terminée, nous devons obtenir
les équations permettant de le réaliser. En se référant à la Figure 6.33 et à la relation (6.34),
nous obtenons les équations de réalisation du système de commande. D’abord, nous
obtenons l’équation récurrente du compensateur anticipatif de la façon suivante :
z 2 a1 z a2
Mf ( z ) Pd ( z )
b0 z b0
En multipliant de part et d’autre par le dénominateur, on obtient
b0 zMf ( z ) b0 Mf ( z ) z 2 Pd ( z ) a1 zPd ( z ) a 2 Pd ( z )
En multipliant par z-2, on obtient ensuite
b0 z 1 Mf ( z ) z 2 b0 Mf ( z ) Pd ( z ) a1 z 1 Pd ( z ) a 2 z 2 Pd ( z )
En appliquant la propriété du retard on obtient ensuite
b0 mf (k 1) b0 mf (k 2) pd (k ) a1 pd (k 1) a 2 pd (k 2)
Il suffirait maintenant d’isoler mf(k) mais il ne se trouve pas dans l’équation. Pour retrouver
mf(k), il suffit alors de remplacer k par k+1 de sorte que
b0 mf (k ) b0 mf (k 1) pd (k 1) a1 pd (k ) a 2 pd (k 1)
On peut maintenant isoler mf(k) :
1 a a
mf (k ) mf (k 1) pd (k 1) 1 pd (k ) 2 pd (k 1)
b0 b0 b0
Cette équation récurrente est particulière puisqu’elle fait intervenir un terme dans le futur de
l’entrée. En effet, pd(k+1) représente la trajectoire désirée un échantillon dans le futur. Ce
terme en est un de prédiction et c’est en grande partie grâce à lui que la trajectoire peut être
suivie avec exactitude. Les autres relations du compensateur peuvent être facilement
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 145
trouvées en observant le schéma blocs de la Figure 6.33. En effet, nous obtenons dans
l’ordre les relations suivantes :
e( k ) pd ( k ) ( k )
et
m(k ) K 2 mf (k ) K1e(k ) w(k )
Pour vérifier le bon fonctionnement du système de commande, nous l’avons simulé à l’aide
du logiciel SIMULINK. Pour vérifier les spécifications transitoires de la convergence de
l’erreur de suivi, nous avons supposé que l’orientation initiale du satellite n’est pas
exactement nulle. Nous avons fixé cette orientation initiale à 5 degrés, puis, nous avons
simulé le système d’abord sans le compensateur anticipatif et ensuite avec le compensateur
anticipatif. La Figure 6.38 illustre le schéma SIMULINK sans le compensateur anticipatif et
la Figure 6.39 illustre les résultats de simulation obtenus (trajectoire désirée __ et trajectoire
du satellite …). La Figure 6.39 illustre bien le fait que le satellite ne peut suivre exactement la
trajectoire désirée en l’absence du compensateur anticipatif.
[t',Pd']
K1 1 1 Scope2
Trajectoire Delai K2
Sum1 K1 10s s
Sum K2 Bo Gp1 Gp2
Mux
Scope
Mux
50
40
30
deg
20
10
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
s
Sum2
-K-
a1/b0
1/b0
-K-
1
-K-
z
Retard2 a2/b0
1
Pd(k+1)
z
Pd(k) Retard1
[t',Pd'] 1 1 Scope2
K1 K2
Trajectoire Delai 10s s
Sum1 K1 Sum K2 Bo Gp1 Gp2
Mux
Scope
Mux
50
40
30
deg
20
10
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
s
3
deg
-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
s
Pour assurer le suivi de trajectoire, il est également possible d’utiliser une autre configuration
du compensateur anticipatif que celle illustrée par la Figure 6.22. En effet, le compensateur
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 148
Dans ce cas, Gf(z) n’est pas égal à l’inverse du modèle du système à commander mais plutôt
égal à l’inverse de la fonction de transfert en chaîne fermée du système (Hamelin, 2010) :
Gc( z )Gp( z ) + 1
Gf ( z ) =
Gc( z )Gp ( z )
Comme dans le cas présenté précédemment, les zéros du système à commander ne doivent
jamais être à l’extérieure du cercle unitaires. Pour ce qui est de la conception de Gc(z), elle
peut suivre le même principe d’imposition des pôles que le cas déjà présenté. Si la condition
nécessaire d’imposition des pôles n’est pas vérifiée, une imposition partielle peut également
être considérée.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 149
CHAPITRE 7
Compensateurs polynomiaux
7.1 Introduction
Au chapitre précédent, la conception des compensateurs par la méthode d’imposition des
pôles et par celle d’imposition d’un modèle de référence a été introduite. Comme nous
l’avons vu, ces méthodes permettent d’imposer avec une grande précision des spécifications
comme le temps de réponse et le dépassement de la réponse à l’échelon du système en
chaîne fermée. Malheureusement, les compensateurs comme le P, le PI, le PD, et le PID
peuvent être utilisés pour faire cette conception que si le système à commander est de
premier ordre. Dans ce chapitre, nous allons étudier une classe différente de compensateurs
qui peuvent être utilisés pour appliquer la méthode d’imposition des pôles et la méthode
d’imposition d’un modèle de référence à un système de n’importe quel ordre. Ces
compensateurs sont appelés polynomiaux.
où
A( z ) z n a n 1 z n 1 a 0 (7.2)
B ( z ) bm z m bm 1 z m 1 b0 (7.3)
et
D ( z ) z 2 n 1 d 2 n 2 z 2 n 2 d 0 (7.4)
sont des polynômes connus telles que m n et A(z) ainsi que D(z) sont des polynômes
moniques; c’est-à-dire que leur coefficient de plus haute puissance est unitaire. Les
polynômes
( z ) n 1 z n 1 n 2 z n 2 0 (7.5)
et
( z ) n 1 z n 1 n 2 z n 2 0 (7.6)
sont, pour leur part, inconnus. Dans ce contexte, résoudre l’équation de Diophantine
consiste à trouver les coefficients des polynômes (z ) et (z ) de façon à ce que l’égalité
donnée de la relation (7.1) soit satisfaite. Le problème qui consiste à obtenir la solution de
l’équation polynomiale (7.1) peut toujours être transformé en un problème de 2n équations
linéaires à 2n inconnus à résoudre. Sous forme matricielle, ce système d’équations peut
s’exprimer de la façon suivante :
EX R (7.7)
où
a0 0 0 b0 0
a 0
1 a0 0 b1 b0
a1 0 b1 d0
n 2
a n 1 0 bm 1
E 1 a n 1 a0 bm bm 1 , X n 1 et R d
0
2 n 3
0 1 a1 0 bm d 2n2
1
0 0
0 a n 1 0 n2
0 n 1
0 1 0 0
sont respectivement la matrice de Sylvester, le vecteur des coefficients des polynômes
inconnus et le vecteur des coefficients du polynôme D(z). En effet, si on considère par
exemple les polynômes suivants :
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 151
A( z ) z 2 z 0.5
B( z ) z 2
et
D( z ) z 3 ,
l’équation de Diophantine peut s’exprimer de la façon suivante :
Pour résoudre cette équation, nous devons d’abord la réexprimer en effectuant le produit de
la façon suivante:
z
1
3
( 0 1 ) z 2 ( 0 0.5 1 ) z 0.5 0 1 z 2 ( 0 2 1 ) z 2 0 z 3
de sorte que
1 z 3 ( 0 1 1 ) z 2 ( 0 0.5 1 0 2 1 ) z (0.5 0 2 0 ) z 3
La solution de cette équation peut alors être obtenue en posant l’égalité terme à terme entre
les coefficients des polynômes de gauche et de droite. Cette égalité terme à terme donne lieu
au système de 4 équations à 4 inconnus suivant :
0.5 0 2 0 0
0 0.5 1 0 2 1 0
0 1 1 0
1 1
0.5 0 2 0 0 0
1 0.5
1 2 1 0
1 1 0 1 0 0
0 1 0 0 1 1
Cette équation matricielle est exactement de la même forme que celle de la relation (7.7). La
solution de l’équation de Diophantine peut donc être obtenue en solutionnant l’équation
matricielle (7.7).
Exemple 7.2.1
Soit les polynômes suivants :
A( z ) z 0.5 z 2 z 0.25
2
B ( z ) z 0.25
et
D( z ) z 3 1.5 z 2 0.75 z 0.125
D’abord, la solution de l’équation de Diophantine existe puisque les polynômes A(z) et B(z)
n’ont pas de racine en commun. En effet, les racines de A(z) sont –0.5 et –0.5 et la racine de
B(z) est –0.25. La solution peut alors être obtenue en solutionnant l’équation matricielle
(7.7). Pour les polynômes de cet exemple, l’équation (7.7) devient :
( z ) z 6 .5
( z) 4 z 6
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 154
Convertisseur
N/A Procédé
R* R* M* Y
F(z)
r Bo(s) Gp(s)
+ (z)
-
Y d* Y* T
(z)
F(z) Convertisseur
A/N
Ainsi, A(1) = 0 de sorte que lorsque le type de BoGp(z) est supérieure ou égal à 1,
2) Transformer les spécifications de l’espace de la réponse transitoire à celle des pôles dans
le plan s. Pour ce faire, utiliser la relation (6.2) lorsque le polynôme A(z) est de premier
degré et les relations (6.6) ainsi que (6.7) lorsqu’il est de deuxième degré. Lorsque A(z)
est de degré supérieur à deux, vous pouvez utiliser les relations (6.6) et (6.7) pour
obtenir les paramètres des deux pôles dominants. Puis, vous pouvez choisir tous les
autres pôles de premier ordre comme non dominants en posant par exemple :
d ( s ) s 2 2wn s wn2 s 5wn ...s 5wn
3) Transformer les spécifications de l’espace des pôles en s à celui des pôles en z. Obtenir
ainsi l’équation caractéristique désirée en z. Cette équation caractéristique est celle que
vous désirez imposer au système en chaîne fermée. Lorsque le système en chaîne fermée
est de premier ordre, utiliser la relation (6.14) pour obtenir l’équation caractéristique
désirée en z en fonction de la constante de temps obtenue à l’étape 2. Lorsque le
système en chaîne fermée est de deuxième ordre, utiliser la relation (6.17) pour obtenir
l’équation caractéristique désirée en z en fonction de la fréquence naturelle wn et du
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 159
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT z e 5wnT ... z e 5wnT
10 m/s
1m
Convertisseur
N/A Moteur CC Vis
R* E* F(z) M* 17.7 Y
Kr Bo(s) KN/A 0.0016
+ (z) s(0.08s+1)
-
Y c* (z) Y d* T Ym
KA/N 1000 e-Tds
F(z)
Figure 7.5 : Schéma de blocs d'une presse à métal en feuille commandée par un
contrôleur polynomial.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 161
1m
Td 0.1s
10m / s
212 lsb
K A/ N 409.6 lsb / v
10v
10v
KN /A 0.002441 v / lsb
212 lsb
Z e nTs F ( s )
1
zn
Z F ( s )
Yc(z) Yd(z)
(z) Kob1z + Kob2
F(z) z4+a1z3+a2z2
a 2 e T / 0.08 0.5353
et
K 0 1000 K AN 409660
On souhaite maintenant faire la conception du compensateur polynomial. Cependant, le
schéma blocs de la Figure 7.6 n’est pas de la même forme que celui de la Figure 7.3. Pour
utiliser la méthode de conception présentée dans cette section, nous devons donc
transformer le schéma blocs pour qu’il soit de la même forme que celui de la Figure 7.3. La
première transformation du schéma blocs est illustrée par la Figure 7.7.
Yc(z) Yd(z)
(z) Ko
F(z) z2
Yc(z) Yd(z)
(z) 1
F(z) z2
Yc(z) (z)
F(z)
Le système est alors de la même forme que celui de la Figure 7.3 avec
B ( z ) K 0 b1 z K 0 b2
et
A( z ) z 4 a1 z 3 a 2 z 2
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 164
On peut donc appliquer la méthode d’imposition des pôles selon la procédure décrite dans
cette section.
1) Spécifications transitoires :
On souhaite imposer le dépassement Mp et temps le de réponse Tr associés à la
réponse à l’échelon du système en chaîne fermée.
1
Tr
Ln 0.05 1 2 si 0.69
wn
0.9257 1.6341
e 0.69 1
Tr
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT z e 5wnT z e 5wnT
En général, on peut considérer que les deux pôles à haute fréquence sont
approximativement nuls. L’équation caractéristique désirée prend alors la forme
suivante :
d ( z ) z 4 2e wnT cos wn T 1 2 z 3 e 2wnT z 2
4) Choisir F ( z ) z n 1
F ( z) z 3
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 165
5) Calculer D( z ) F ( z ) d ( z )
D ( z ) d ( z ) F ( z ) z 7 2e wnT cos wn T 1 2 z 6 e 2wnT z 5
0 0 0 0 K 0 b2 0 0 0 0 0
0 0 0 0 K 0 b1 K 0 b2 0
0 1 0
a 2 0 0 0 0 K 0 b1 K 0 b2 0 2 0
a1 a2 0 0 0 0 K 0 b1 K 0 b2 3 0
1 a1 a2 0 0 0 0 K 0 b1 0 0
0 1 a1 a2 0 0 0 0 1 e 2wnT
0
0 1 a1 0 0 0
0 2 2e wnT cos wnT 1 2
0 0 0 1 0 0 0 0 3 1
7) Calculer le gain Kr
Le gain Kr doit être calculé de façon à obtenir une erreur nulle en régime permanent
pour une référence échelon. Parce que le système à commander est de type 1 et étant
donné la différence entre la Figure 7.3 et la Figure 7.9 au niveau du bloc de gain de la
référence, le gain Kr est calculé à partir de la relation suivante :
(1)
Kr K0 K 0 (1)
F (1)
Les calculs associés aux étapes 1 à 7 peuvent être obtenus grâce au programme MATLAB
suivant. Dans ce programme, nous avons choisi un dépassement Mp = 0 et un temps de
réponse de Tr = 0.05.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 166
%Periode d'echantillonnage
T = 0.05;
%Constantes
Td = 1/10;
Kan = 2^12/10;
Kna = 10/2^12;
a2 = exp(-T/.08);
a1 = -(1+a2);
b1 = .00006913*(T-.08+.08*a2);
b2 = .00006913*(.08-.08*a2-T*a2);
Ko = 1000*Kan;
N = 4;
%5) D=Dd*F
D = conv(Dd,F);
R = D(2*n:-1:1)';
X = E\R;
alpha = X(n:-1:1)';
beta = X(2*n:-1:n+1)';
%7) Calcul de Kr
Kr = Ko*sum(beta)/sum(F);
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 167
Le système peut ensuite être simulé à l’aide du module SIMULINK du logiciel MATLAB. La
Figure 7.10 illustre le schéma blocs SIMULINK du système tandis que la Figure 7.11 illustre
la réponse à l’échelon du système.
Scope1
Kr z3 17.7 1
Kna 0.0016
Echelon Kr z 3+0.58906z 2+0.6104z+0.27444 0.08s+1 s
Sum Bo Kna Integrateur Scope
Moteur CC Vis
Gc1
0.93412z 3-0.49807z 2
Kan 1000
z3
Kan Ampli Retard
Gc2
-3
x 10
5
3
m
0
0 0.05 0.1 0.15 0.2 0.25
s
Comme l’indique la Figure 7.11, le temps de réponse du système est supérieur à la valeur
désirée de Tr = 0.05 seconde. En effet, il est plutôt d’environ 0.085 secondes. Comme nous
l’avons déjà expliqué dans le chapitre précédent, cette différence entre les spécifications
désirées et celles obtenues est causée par les zéros du système qui n’ont pas été pris en
compte.
Convertisseur
N/A Procédé
R* R* R* 1 M*
F(z) Y
r Bo(s) Gp(s)
+ (z) z-1
-
Approximation
de l'intégrale
Y d* Y* T
(z)
F(z)
Convertisseur
A/N
B( z ) 1
B0 G p ( z )
Yd(z) A( z ) z 1
(z)
F(z)
Le schéma blocs de la Figure 7.14 est exactement de la même forme que celui de la Figure
7.3. La méthode de conception décrite à la section 7.3.4 peut alors être appliquée sans
aucune modification.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 170
Comme nous l’avons déjà expliqué au chapitre précédent, la méthode d’imposition des pôles
est intéressante parce que les pôles du système en chaîne fermée caractérisent en grande
partie sa réponse à l’échelon. Les pôles ne caractérisent cependant pas entièrement la
réponse du système. En effet, les zéros peuvent également influencer le régime transitoire.
La méthode d’imposition d’un modèle de référence permet de palier à ce problème. Cette
méthode consiste en fait à imposer non seulement les pôles du système en chaîne fermée,
mais également ses zéros. Pour appliquer cette méthode de conception, il suffit d’abord de
faire l’imposition des pôles et ensuite, d’ajouter un compensateur anticipatif pour imposer les
zéros. Dans un contexte de commande numérique, le compensateur polynomial
accompagné du compensateur anticipatif se présente sous la forme illustrée par la Figure
7.15.
Convertisseur
N/A Procédé
R* R* M* Y
F(z)
Gf(z) Bo(s) Gp(s)
+ (z)
-
Y d* Y* T
(z)
F(z) Convertisseur
A/N
sous la forme d’un polynôme de numérateur B(z) de degré m divisé par un polynôme de
dénominateur A(z) de degré n.
La conception par imposition d’un modèle de référence peut alors être faite à condition que
les polynômes A(z) et B(z) n’aient pas de racine en commun et à condition que le polynôme
B(z) ne possède pas de racines qui sont à l’extérieur du cercle unitaire. Selon ce qui à déjà été
présenté au chapitre précédent sur la méthode de conception par imposition d’un modèle de
référence et selon ce qui a été présenté dans ce chapitre sur la conception des compensateurs
polynomiaux par la méthode d’imposition des pôles, la conception des compensateurs
polynomiaux par la méthode d’imposition d’un modèle de référence peut alors être faite
selon les étapes suivantes (Ogata, 1995, page 532) :
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 172
6) Comme pour la méthode de conception par imposition des pôles, les spécifications de la
réponse à l’échelon, comme le temps de réponse Tr et le dépassement Mp doivent
d’abord être choisis.
12) Le compensateur anticipatif Gf(z) peut ensuite être utilisé pour annuler le numérateur de
la fonction de transfert en chaîne fermée et le remplacer par le numérateur du modèle de
référence. La conception du compensateur Gf(z) ne peut cependant être faite que si les
zéros de la fonction de transfert en chaîne fermée sont à l’intérieur du cercle
unitaire et que si le nombre de zéros du modèle de référence est inférieur ou égal
à celui du système en chaîne fermée
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 173
2) Transformer les spécifications de l’espace de la réponse transitoire à celle des pôles dans
le plan s. Pour ce faire, utiliser la relation (6.2) lorsque le polynôme A(z) est de premier
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 174
degré et les relations (6.6) ainsi que (6.7) lorsqu’il est de deuxième degré. Lorsque A(z)
est de degré supérieur à deux, vous pouvez utiliser les relations (6.6) et (6.7) pour
obtenir les paramètres des deux pôles dominants. Puis, vous pouvez choisir tous les
autres pôles de premier ordre comme non dominants en posant par exemple :
d ( s ) s 2 2wn s wn2 s 5wn ...s 5wn
3) Transformer les spécifications de l’espace des pôles en s à celui des pôles en z. Obtenir
ainsi l’équation caractéristique désirée en z. Cette équation caractéristique est celle que
vous désirez imposer au système en chaîne fermée. Lorsque le système en chaîne fermée
est de premier ordre, utiliser la relation (6.14) pour obtenir l’équation caractéristique
désirée en z en fonction de la constante de temps obtenue à l’étape 2. Lorsque le
système en chaîne fermée est de deuxième ordre, utiliser la relation (6.17) pour obtenir
l’équation caractéristique désirée en z en fonction de la fréquence naturelle wn et du
facteur d’amortissement obtenus à l’étape 2. Lorsque le système en chaîne fermée est
d’ordre supérieur à deux, utiliser la relation (6.17) pour obtenir l’équation
caractéristique désirée en z en fonction de la fréquence naturelle wn et du facteur
d’amortissement obtenues à l’étape 2. Puis, multiplier cette équation caractéristique par
l’équation caractéristique obtenue des pôles non dominants. L’équation caractéristique
désirée totale est alors donnée par la relation suivante :
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT z e 5wnT ... z e 5wnT
CHAPITRE 8
Stabilité des systèmes
échantillonnés
8.1 Introduction
Au chapitre VI, nous avons utilisé la transformation conforme du plan s au plan z pour
établir la condition de stabilité des systèmes échantillonnés. Nous avons trouvé qu’une
fonction de transfert en z est stable si et seulement si tous ces pôles sont dans une région du
plan z définit par un cercle de rayon unitaire (Ogata, 1995, page 174). Cette région de
stabilité est illustrée par la Figure 8.1.
Im Plan z
Re
Région de stabilité
Exemple 8.2.1
Soit la fonction de transfert échantillonnée suivante :
1
G( z)
z z 0.5
2
1 12 4 0.5
z1, 2 0.5 j 0.5
2
Ses pôles sont illustrés par la Figure 8.2. Selon cette figure, il est clair que le système est
stable. On peut également vérifier la stabilité sans représenter les pôles dans le plan
complexe z. Il suffit pour se faire de calculer le module des pôles. Le systèmes est alors
stable si et seulement si tous les pôles ont un module inférieur à un. Le module des pôles de
ce système est donné par la relation suivante :
1
z1, 2 0.5 2 0.5 2 0.707 1
2
Ce qui confirme que le système est stable.
Im Plan z
Re
x
L’étude de stabilité des systèmes échantillonnés par le biais du calcul des pôles peut être
difficile dans certains cas.
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 177
Exemple 8.2.2
Soit le système échantillonné suivant
R(z) C(z)
1
Kp
+ (z-0.5)(z-0.2)
-
Trouvons la plage de gain Kp qui maintient la stabilité du système. Pour se faire, trouvons
d’abord la fonction de transfert en chaîne fermée du système :
Kp
z 0.7 z 0.1 2
C ( z) 2 Kp
R( z ) Kp z 0.7 z 0.1 Kp
1
z 0.7 z 0.1
2
( z ) a n z n a n 1 z n 1 a1 z a 0 (8.2)
où on suppose que an > 0. Le critère de jury s’appuie sur le tableau de Jury qui est composé
de 2n-3 ligne. Ce tableau est de la forme suivante (Ogata, 1995, page 185):
Dans le tableau de Jury, les deux premières lignes sont formée directement à partir des
coefficients de l’équation caractéristique (z ) . Les autres ligne sont formées à partir d’un
série de coefficients qui sont calculé à l’aide des relations suivantes :
a0 an a0 a n 1 a0 a1
b0 , b1 , …, bn 1 (8.3)
an a0 an a1 an a n 1
b0 bn 1 b0 bn 2 b0 b1
c0 , c1 , …, c n 1 (8.4)
bn 1 b0 bn 1 b1 bn 1 bn 2
p0 p3 p0 p2 p0 p1
q0 , q1 , q3 (8.5)
p3 p0 p3 p1 p3 p2
Une fois que le tableau de Jury est construit, la stabilité du système peut être déterminée
grâce aux conditions de Jury. La fonction de transfert G(z) est stable si et seulement si les
quatre conditions suivantes sont vérifiées (Ogata, 1995, page 186):
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 179
1. a0 an (8.6)
2. ( z ) z 1 0 (8.7)
0 si n est pair
3. ( z ) z 1 (8.8)
0 si n est impair
b0 bn 1
c0 c n 2
4. (8.9)
q0 q 2
2. ( z ) z 1 0 (8.13)
3. ( z ) z 1 0 (8.14)
Ligne z0 z1 z2 z3
1 a0 a1 a2 a3
2 a3 a2 a1 a0
3 b0 b1 b2
Les coefficients de la dernière ligne du tableau ce calcul à l’aide de la relation (8.3) de sorte
que:
a0 a3
b0 a 02 a32 ,
a3 a0
a0 a2
b1 a 0 a1 a 2 a3
a3 a1
a0 a1
b2 a 0 a 2 a1 a3
a3 a2
Selon les relations (8.6) à (8.9), la fonction de transfert (8.15) est alors stable si et seulement
si les conditions suivantes sont vérifiées :
1. a0 a3 (8.17)
2. ( z ) z 1 0 (8.18)
3. ( z ) z 1 0 (8.19)
4. a 02 a 32 a 0 a 2 a1 a 3 (8.20)
Exemple 8.3.1
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 181
Reprenons l’exemple 8.3.1 en utilisant le critère de Jury. À l’exemple 8.2.1, nous avions
obtenue la fonction de transfert en chaîne fermée suivante :
C ( z) Kp
R( z ) ( z )
où
( z ) z 2 0.7 z 0.1 Kp a 2 z 2 a1 z a 0
Cette fonction de transfert étant de second ordre, le critère de Jury décrit par les conditions
(8.12) à (8.14) s’appliques. Le système est par conséquent stable si et seulement si
1 a0 a 2 0.1 Kp 1 1 0.1 Kp 1 1.1 Kp 0.9
CHAPITRE 9
Identification des systèmes
9.1 Introduction
L’identification de systèmes est une discipline qui consiste à obtenir le modèle d’un système
en utilisant un ensemble de mesures de ses entrées et de ses sorties. Il existe plusieurs
techniques d’identification autant dans le domaine de la fréquence que dans celui du temps.
La technique que nous vous présentons dans ce chapitre est dédiée à l’identification des
systèmes échantillonnés dans le domaine du temps. Elle s’applique aux systèmes linéaires
invariants et consiste en un ajustement des paramètres du modèle à identifier de façon à
minimiser l’erreur quadratique entre sa sortie et celle du système physique. La Figure 9.1
illustre ce principe communément appelé méthode d’identification par moindre carré
(Franklin, 1990, page 374).
Ajustement des
paramètres du modèle
Modèle à
identifier Sortie du
modèle à
estimer
-
+ Erreur
Système
physique Sortie du
Entrée
système
physique
Cette technique d’identification a l’avantage de pouvoir être appliquée à des systèmes qui
sont déjà en fonction, dans une boucle de commande par exemple. Elle ne nécessite pas
l’application d’un signal spécifique (comme un échelon ou un signal sinusoïdale) à l’entrée du
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 183
système physique. En effet, il suffit simplement que le signal d’entrée du système subisse une
variation suffisamment riche lors de la procédure d’identification. Comme l’indique la Figure
9.2, un changement de consigne pour un système dans une boucle de commande pourrait
par exemple suffire pour assurer une variation suffisante de son entrée.
Ajustement des
paramètres du modèle
Modèle à
identifier Sortie du
modèle à
estimer
-
+ Erreur
+ Système
Contrôleur
Changement physique Sortie du
- Entrée
de consigne système
physique
Y ( z ) bn 1 z n 1 bn 2 z n 2 b0
G( z) (8.1)
U ( z) z n a n 1 z n 1 a 0
où an-1, an-2, …, a0, bn-1, bn-2, …, b0 sont les paramètres à identifier. La sortie Y(z) du système à
identifier peut s’exprimer en fonction de l’entrée U(z) de la façon suivante :
bn 1 z n 1 bn 2 z n 2 b0
Y ( z) U ( z) (8.2)
z n a n 1 z n 1 a 0
La transformée en z inverse par la méthode des équations récurrentes nous permet alors
d’obtenir la sortie en fonction de l’entrée dans le domaine du temps :
y (k ) a n 1 y (k 1) a n 2 y (k 2) a 0 y (k n)
(8.3)
bn 1u (k 1) bn 2 u (k 2) b0 u (k n)
Cette équation récurrente peut être réécrite sous la forme vectorielle suivante
y ( k ) φ ( k )p (8.4)
où
p a n 1 bn 1 bn 2 b0
T
a n2 a0
φ(k ) y (k 1) y (k 2) y (k n) u (k 1) u (k 2) u (k n)
est le vecteur des entrées et des sorties du système. Les sorties y(n), y(n+1), …, y(N) peuvent
être regroupées dans un vecteur de la forme suivante
y ( n) φ( n)
y (n 1) φ(n 1)
Y p Φp (8.5)
y ( N ) φ( N )
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 185
où
y (n 1) y (n 2) y (0) u (n 1) u (n 2) u (0)
y ( n) y (n 1) y (1) u ( n) u (n 1) u (1)
Φ
y ( N 1) y ( N 2) y ( N n) u ( N 1) u ( N 2) u ( N n)
La technique des moindres carrés consiste alors à ajuster les paramètres du modèle à
identifier de façon à minimiser l’erreur quadratique suivante :
N
y m (k ) φ m (k )p 2 Ym Φ m p T Ym Φ m p
k n (8.6)
p Φ Tm Φ m p 2p Φ Ym Y Ym
T T T T
m
T
m
où les matrices Ym et m sont construites à partir des entrées et des sorties mesurées sur le
système physique :
y m ( n)
y (n 1)
Ym m (8.7)
y m (N)
y m (n 1) y m (n 2) y m (0) u m (n 1) u m (n 2) u m (0)
y ( n) y m (n 1) y m (1) u m ( n) u m (n 1) u m (1)
Φm m
y m ( N 1) y m ( N 2) y m ( N n) u m ( N 1) u m ( N 2) u m ( N n)
(8.8)
Pour minimiser cette erreur, il suffit de poser sa dérivée par rapport aux paramètres à
identifier à zéro :
2Φ TTm Φ m p 2Φ Tm Ym 0 (8.9)
p
Ainsi, les paramètres du modèle à identifier qui minimise l’erreur quadratique entre sa sortie
et celle du système physique sont donnés par la relation suivante :
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 186
p Φ Tm Φ m
1
Φ Tm Ym (8.10)
um
0.2717z-0.2223
um ym ym
z-1
Échelon
Sum B0
PI Sorties
Gp(s)
Cueillette des
entrées-sorties
T=1
Entrée um
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
k
Sortie ym
1.5
0.5
0
0 2 4 6 8 10 12 14 16 18 20
k
%Ordre du systeme
n = 1;
Nous avons ensuite utilisé le schéma SIMULINK de la Figure 9.5 pour valider le modèle. En
effet, dans ce schéma SIMULINK, on peut retrouver le modèle du système inconnu et le
modèle du système obtenu par identification. La Figure 9.6 illustre la comparaison de la
sortie de ces deux modèles pour la même entrée. En observant cette figure, on constate
qu’une fonction de transfert de premier ordre est insuffisante pour bien modéliser le système
inconnu. On recommence donc l’exécution du programme d’identification MATLAB en
considérant une fonction de transfert d’ordre n=2. La comparaison de la sortie du système
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 189
inconnu avec celle du modèle identifié est alors illustrée par la Figure 9.7. Cette figure nous
montre une bonne correspondance entre les deux modèles.
Nd(z)
y
Dd(z)
FT Identifiee Sortie du modèle
à identifier
0.2717z-0.2223
In1 Out1 ym
Échelon z-1
Sum B0 Sortie du
PI3
Gp(s) système physique
1.4
1.2
0.8
0.4
0.2
0
0 2 4 6 8 10 12 14 16 18 20
k
1.4
1.2
0.8
Modèle à identifié
0.6 Système physique
0.4
0.2
0
0 2 4 6 8 10 12 14 16 18 20
k
Le modèle identifié en considérant une fonction de transfert d’ordre n=2 est donné par la
fonction de transfert suivante :
1.8178
B0 G p ( z )
z 0.809 z 0.009181
2
Maintenant que nous avons obtenu le modèle du système par la méthode d’identification
moindre carré, nous pouvons refaire la conception du compensateur PI de façon à obtenir
les spécifications souhaitées; c’est à dire un temps de réponse minimale sans dépassement.
Parce que le modèle identifié est d’ordre 2 et le compensateur PI est de premier ordre, le
système en chaîne fermée est d’ordre 3. Ainsi, parce que le compensateur a seulement 2
gains, il est impossible d’imposer les pôles. On peut cependant d’abord faire une annulation
pôle zéro pour faire diminuer l’ordre du système de 1, puis, imposer une seule spécification
transitoire, soit un dépassement nul. Pour faire l’annulation pôle zéro, le système identifié est
d’abord réécrit sous la forme suivante :
Pascal Bigras, École de technologie supérieure, GPA-783-Asservissement numérique en temps réel 191
1.8178
B0 G p ( z )
( z 0.8202)( z 0.0112)
Selon le schéma de la Figure 9.8, l’annulation pôle zéro est obtenue en posant la contrainte
suivante :
Q1
0.8202
Q0
Remarquez que nous avons choisi d’annuler le pôle 0.8202 parce que c’est le plus lent du
système. Une fois l’annulation pôle zéro fait, le système prend la forme de celui de la Figure
9.9.
R y
Q0(z+Q1/Q0)
1.8178
z-1 (z-0.8202)(z+0.0112)
PI
BoGp(z)
R y
Q0
1.8178
z-1 (z+0.0112)
Une conception par une approche semblable à celle de l’imposition des pôles peut alors être
appliquée pour imposer un dépassement nul. Cette procédure de conception suit les étapes
suivantes :
1) Spécification transitoire : Mp = 0
d ( z ) z 2 2e wnT cos wn T 1 2 z e 2wnT z 2 2z 2
où
e w T
n
donc d’abord obtenir (z) à partir du schéma blocs de la Figure 9.9. En effet, selon ce
schéma blocs, la fonction de transfert en chaîne fermée du système est donnée par la
relation suivante :
Y ( z) 1.8178Q0
2
R( z ) z 0.989 z 0.0112 1.8178Q0
d’où
( z ) z 2 0.989 z 0.0112 1.8178Q0
et
2 0.0112
Q0 0.1407
1.8178
Q1 0.8202Q0 0.1154
La Figure 9.10 illustre finalement le système de commande avec les nouveaux gains du
compensateur tandis que la Figure 9.11 illustre les résultats de simulation si rapportant. En
comparant cette figure avec la Figure 9.7, on constate que le temps de réponse du système
avec la nouvelle conception du compensateur est environs le même qu’avec l’ancienne à la
différence près qu’avec la nouvelle conception, le dépassement est nul.
To Workspace1
0.1407z-0.1154
In1 Out1 y
Step z-1
Sum PI3 B0 To Workspace
Gp(s)
0.8
0.6
0.4
0.2
0
0 2 4 6 8 10 12 14 16 18 20
k
RÉFÉRENCES
Åström, K. J., T. Hägglund, et al. (1988). Automatic tuning of PID controllers.
Research Triangle Park, NC, Instrument Society of America.
Hamelin, P., Beaudry, J., Richard, P., Bigras, P. and Blain, M. (2010) Position
tracking control of a direct-drive submersible grinding robot: A comparative study.
IEEE International Conference on Control Applications (CCA).
Kuo, B. C. (1980). Digital control systems. New York, Holt, Rinehart and Winston.
Phillips, C. L. and H. T. Nagle (1995). Digital control system analysis and design.
Englewood Cliffs, N.J., Prentice Hall.
Spong, M. W. and M. Vidyasagar (1989). Robot dynamics and control. New York,
Wiley.