Support de Cours Commande Numérique
Support de Cours Commande Numérique
Cours
Hassen Mekki
Cours Commande Numérique des systèmes mécatroniques
I. Introduction…………………………………………………….4
II. Echantillonnage d’un signal…………………………………....5
III. Fonctions et systèmes échantillonnés……………………..……6
IV. Spectre de fréquence d’un signal échantillonné……………..…8
V. Reconstitution d’un signal échantillonné…………………..…11
Chapitre II : Transformée en Z des signaux discrets……….……….13
I. Introduction………………………………………………..….14
II. Transformée en Z…………………………………….……….14
III. Relation entre la transformée en Z et Laplace…………….….15
IV. Propriétés de la transformée en Z …………………….………17
V. Transformée en Z inverse……………………………..………18
Chapitre III : Représentation des systèmes échantillonnés………....23
I. Introduction………………………………………...…………24
II. Système linéaire à temps discret……………………….……..24
III. Modélisation des systèmes échantillonnés……………………27
Chapitre IV : Etude de performance des systèmes échantillonnés.30
I. Introduction………………………………………………...…31
II. Etude de la stabilité…………………………………….……..31
III. Etude de la précision………………………………….………35
Chapitre V : Système du 1er et 2ème ordre échantillonné…………….38
I. Introduction……………………………………………..…….39
II. Système du premier ordre………………………………...…..39
III. Système du second ordre……………………………...………40
Chapitre VI : Commande Numérique………………………………..42
I. Introduction…………………………………………….……..43
II. Méthode de ZDAN………………………………………..…..43
III. Régulateur RST……………………………………………….47
Références bibliographiques………………………………………..…53
2
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre I :
3
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre I :
I. Introduction
CAN
4
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Considérons une fonction qu’on désire échantillonner pour aboutir à une suite
qui représente des valeurs de la fonction aux instants (les instants
d’échantillonnage).
∗
Le signal obtenu, après échantillonnage, sera noté
2 3
5
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
− . −
− −
soit encore :
∗
− . −
∗
b. Expression de
- Première formule :
on a la première relation :
∗
"# $%
Echantillonnage idéal
- Deuxième formule
∆ "# $%
Soit alors :
6
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
1
∆ p
1 − e#,-
Ainsi, on déduit la seconde relation exprimant F ∗ p
F∗ p L0f t . δ t 4 L0f t 4 ∗ L δ t
Soit :
F∗ p F p ∗∆ p
C’est le produit de convolution de F p et ∆ p .
D’où l’on extrait que :
1 : ;
F∗ p 7 F ϑ ∆ p − ϑ dϑ
2jπ :#;
1 : ; F ϑ
F p ∗
7 dϑ
2jπ :#; 1 − e#, -#<
F ϑ
F∗ p Résidus
1 − e#, -#<
-ôCDE FD G -
Remarque
G <
la fonction H#DIJ KIL possède deux types de pôles :
- Ceux de F ϑ
- Ceux qui annulent la quantité 1 − e#, -#< , soit T p − ϑ un multiple entier de
O;P
2jπ. soit ϑ pN . k , k est un entier relatif
,
7
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
F ϑ
−2jπ Résidus
1 − e#, -#<
SéTUE H#DIJ KIL
F ϑ F zW F zW
Résidus X Y
1 − e#, -#< d −T e -#<
#,
1 − e#, -#< < SZ < SZ
dϑ
F zW 1
− ;OPW − F zW
Te T
En conclusion :
1 2kπ
F∗ p F pNj
T T
W #
OP
Il est clair que F ∗ p est périodique de période ,
Rappelons que :
1 2kπ
F∗ p F pNj
T T
W #
OWP
Il est clair que les pôles de F ∗ p sont ceux des fonctions F p N j ,
. Ceci donne que
OP
les pôles de F ∗ p sont ceux de F p translatés une infinité de fois de ± parallèlement
,
8
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Figure : Spectre de F jω
Figure : Spectre de F ∗ jω
OP
Nous rappelons, tout d’abord que |F ∗ jω | est périodique de période ,
. Lorsque
P
ω] a , on peut distinguer le spectre de F jω parmi celui de F ∗ jω . Dans le cas
P
contraire ω] ^ , il est impossible de retrouver le spectre de F jω . De plus si l’on
9
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Figure : Spectre de F ∗ jω
Théorème de Shannon
de ce signal :
gh
c e 2 f où f Oi
kc H
La fréquence j O O$d
est appelé fréquence de Nyquist.
10
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Dans une chaîne de commande par calculateur, celui-ci nous donne une commande, à
appliquer au système, représentée par un signal échantillonné. Or les actionneurs d’un
système physique n’acceptent que des signaux continus. On est donc obligé à
transformer un signal de commande échantillonné en un signal continu. Cette opération
est appelée reconstitution, restitution ou encore extrapolation qui est l’inverse de
l’opération de l’échantillonnage.
Un bloqueur d’ordre zéro (BOZ) (en anglais “zero order holder”) est un système qui
permet d’obtenir un signal analogique à partir d’une suite d’échantillons ou d’un signal
numérique. En effet, le bloqueur d’ordre zéro maintient à sa sortie la valeur de
l’échantillon d’entrée, durant la période d’échantillonnage qui sépare deux échantillons
consécutifs. Un exemple est montré par la figure 2.5.
Soit " le signal numérique à l’entrée du BOZ. Alors, le signal bloqué qui se trouve
à la sortie du bloqueur s’écrit :
lmn " pour ∈ p ", N1 "r
Afin de déterminer la fonction de transfert B(p) du BOZ, on va chercher sa réponse
impulsionnelle b(t). Pour e(t)=f(t)=δ(t), la sortie est donnée par cette expression :
11
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
1, 0 u a ;s
s t
0, wxyy" z{
donc,
s | −| − "
avec u(t) est la fonction échelon unitaire.
∗
{
}
b. Bloqueur d’ordre un
12
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre II
Transformée en Z des signaux
discrets
13
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre II
Transformée en Z des signaux discrets
I. Introduction
II. Transformée en Z
„ … c „ #†
†
Exemple 1 :
Calculer la transformée en z de la fonction f(t)=U(t)
„ … c „ #†
†
„ #†
†
14
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Exemple 2 :
Calculer la transformée en z de la fonction f(t)=e-atU(t)
„ … c „ #†
†
† †
Il s’agit d’une série géométrique de raison e-aTe z−1 et de premier terme égal à 1. La
transformée en z existe si et seulement si la série converge et cette série converge en
valeur absolue si et seulement si |e-aTe z−1| < 1. On en déduit que la transformée en z
existe si et seulement si |z| > e-aTe. Dans ces conditions, elle vaut :
1 „
„
1− " #‡$d „ #H „ − " #‡$d
Exemple 3 :
k = 0 dz dz k =0
−2
d 1 zTe z
= −z T e =
(1 − z −1 )
−1
dz 1 − z 2
Te z
=
(1 − z )−1 2
„ " $d%
a. Calcul de la transformée en z avec la méthode de résidu
Dans ce qui suit, nous allons préciser comment calculer les résidus d’une fonction, pour
pouvoir utiliser la seconde formule.
Cas d’un pôle simple :
ˆ %
On peut écrire que :
%#%‰
‘
Šé{x‹ { • lim −~
1− " $Œ „ #H Œ‰ %→Œ‰ 1− " $Œ „ #H 1 − " $%‰ „ #H
j %
Si F(p) est une fraction rationnelle ayant des pôles simples :
’ %
” ~• ” ~•
Šé{x‹ { •
1− " $Œ „ #H Œ“ –
‹— ~
1 − " $Œ „ #H ˜ —™ ~• 1 − " $Œ“ „ #H
‹ Œ“
” ~• 1
„
—™ ~• 1 − " $Œ“ „ #H
•
1 ‹ #H
1
Šé{x‹ { • – − ˜
1− " $Œ „ #H
Œ‰ − 1 !‹ #H 1 − " $Œ „ #H % Œ‰
Exemple :
1
O N1
−1 1 − " $Œ „ #H N N 1 " $Œ „ #H − 1 − „ #H N „ #H
↔ z1 ‚ ƒ
N 1 O 1 − " $Œ „ #H O %
1 − „ #H O
Ce qui donne :
16
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
1 „ #H
zH − N
1 − „ #H 1 − „ #H O
D’où :
1 1 „ #H 1
„ …œ • − N N
O N1 1 − „ #H 1 − „ #H O 1 − " #$ „ #H
Où encore :
z Tz z
F (z ) = − + +
z − 1 ( z − 1) z − e −T
2
Remarquons, qu’il est plus simple de décomposer F(p) en élément simple, puis
appliquer la transformation en Z :
1 w s ž
N N
O N1 O N1
avec :
s 1, ž 1, w N ž 0, ‹Ÿ ž w −1
−1 1 1
N N
O N1
1 1
…œ •
1 − „ #H
1 ‹ 1 " $% „ #H „ #H
…œ • – ˜ ‚ ƒ
O ‹ 1 − " $% „ #H % 1 − " $% „ #H O % 1 − „ #H O
1 1
…œ •
N1 1 − " #$ „ #H
Soit deux signaux à temps discret f(k), g(k) et soit F(z), G(z) leurs transformées en z
respectives.
Linéarité :
17
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Z {α f (k ) + β g (k )} = α F (z ) + βG (z ), ∀α , β ∈
Changement d’échelle :
Z {α k f ( k )} = F ( ), ∀α ∈
z
α
Retard :
Z {f (k − n )} = z − n F (z ), ∀n ∈
Avance :
n −1
Z {f ( k + n )} = z n F ( z ) − f ( k ) z n − k , ∀n ∈
k =0
Lorsque la valeur finale existe alors cette valeur peut être calculée comme suit :
f (∞ ) = lim f ( k ) = lim (1 − z −1 ) F ( z )
k →∞ z →1
Notons que la valeur finale existe si les pôles de la transformée F(z) sont tous à
l’intérieur du cercle unité.
V. Transformée en z inverse
– formule d’inversion.
18
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Cette méthode est la plus simple et elle consiste à faire une décomposition en éléments
F (z )
simples de . L’idée à la base de cette méthode consiste à faire ressortir dans F(z)
z
des termes dont la transformée en z inverse découle d’une simple utilisation de la table
des transformée en z.
F (z )
• Développer en élément simple.
z
• Rechercher les racines du dénominateur z1, z2, z3,…
• Construire
F (z ) C1 C2 Cn
= + +K +
z z − z1 z − z 2 z −zn
• Revenir à
C 1z C z C z
F (z ) = + 2 +K + n
z − z1 z − z 2 z −zn
• On obtient :
f ( kT e ) = C 1z 1k + C 2 z 2k + K + C n z nk
Exemple :
Soit la transformée en z X(z) d’un signal discret x(k)
0.1z ( z + 1)
X (z ) =
(z − 1) ( z − 0.6 )
2
avec Te=1s
X (z )
En décomposant en élément simple, on obtient :
z
X (z ) 0.1( z + 1)
=
( z − 1) ( z − 0.6 )
2
z
a b c
= + +
z − 1 ( z − 1) z − 0.6
2
−1 0.5 1
= + +
z − 1 ( z − 1) z − 0.6
2
19
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
x (k ) = Z −1 {X (z )} = −1 + 0.5kT e + 0.6k
x (0)=-1 + 0 + 1 = 0
La suite de nombres x(k) ayant pour transformée en z X(z) peut être obtenue très
simplement par la division formelle du numérateur par le dénominateur de X(z). Partant
de :
b0 + b1z −1 + L + bm z − m
X ( z ) = z −d
a0 + a1z −1 + L + an z − n
Les nombres x(k) cherchés ne sont autres que les coefficients du résultat de la division.
Par rapport à la méthode précédente, x(k) n’est donc pas obtenu explicitement, mais
sous la forme de ses valeurs numériques successives.
Exemple :
Soit la transformée en z X(z) d’un signal discret x(k) :
20
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
• c Šé{x‹ { „ †#H „
%ô¡c¢ c £ ¤
1 ‹ ¦#H
z¥ p „ − w ¦ „ †#H „ r¤ ‡
¥ − 1 ! ‹„ ¦#H
z1 p „ − w „ †#H „ r¤ ‡
2
X (z ) =
(1 − z )(1 − 0.2z −1 )
−1
2z k −1
z k −1X (z ) =
(1 − z −1 )(1 − 0.2z −1 )
2z k +1
=
( z − 1)( z − 0.2 )
Donc,
21
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
x ( kT e ) =
(z − 1) 2z k +1
+
( z − 0.2 ) 2z k +1
( z − 1)( z − 0.2 ) z =1 ( z − 1)( z − 0.2 ) z =0.2
2z k +1 2z k +1
= +
( z − 0.2 ) z =1 ( z − 1) z =0.2
= 2.5 − 2.5 ( 0.2 )
k +1
= 2.5 (1 − 0.2 k +1 )
Te z
X (z ) =
(z − 1)
2
1 d 2−1
x ( kT e ) = 2 −1 (
z − 1) z k −1X ( z )
2
( 2 − 1)! dz z =1
d T z
( z − 1) z k −1 e 2
2
=
dz ( z − 1) z =1
d
= T e z k
dz z =1
= kTe
22
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre III :
23
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre III :
Représentation des systèmes Echantillonnés
‘ „
| „ - „
Figure 1
Nous allons aborder dans ce cours deux types de modèles externes, complémentaires
l’un de l’autre, que sont les équations récurrentes et les fonctions de transfert.
a. Equation récurrente
La modélisation d’un système à temps discret conduit à une relation entrée-sortie qui
est caractérisée par une équation aux différences linéaire à coefficients constants. Il
s’agit de la loi donnant la sortie du système, à l’instant k, en fonction de l’entrée à
l’instant k et des entrées et des sorties aux instants précédents. Cette relation peut
s’écrire de manière générale :
a y k N aH y k − 1 N ⋯ N a ] y k − n
b u k N bH u k − 1 N ⋯ N b¬ u k − m
où encore :
n m
ai y ( k - i ) = b j u ( k - j )
i =0 j =0
24
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Par hypothèse a] _ 0 et n est appelé l’ordre du système. Le système est dit causal si
les sorties dépendent uniquement des évènements passés. Pour cela il doit
obligatoirement vérifier m u n. Dans ce cas, il est possible d’écrire l’algorithme qui
détermine la sortie du système à la donnée des entrées/sorties précédentes
a y k −aH y k − 1 − ⋯ − a] y k − n N b u k N bH u k − 1 N ⋯
N b¬ u k − m
b. Fonction de transfert
(a z )Y ( k ) = (b z )U ( k )
n m
-i -j
i j
i =0 j =0
Définition :
Y (k )
G (z ) =
U (k )
(a z )
n
-i
i
G (z ) = i =0
(b z -j )
m
j
j =0
Par définition, les pôles du système discret sont les racines du polynôme dénominateur
de la fonction de transfert et les zéros sont les racines du polynôme numérateur.
Pour une fonction de transfert discrète G(z), son gain statique vaut G(1).
25
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Cela veut dire que pour un signal d’entrée constant u(k) = u0 la sortie en régime
permanent vaut G(1)u0.
u ( k ) = δ ( k ) alors U ( z ) = 1
Par conséquent, Y(z) = G(z), ce qui implique y(k) = g(k). Donc, la transformée en z de
la réponse impulsionnelle du système discret est identique avec la transmittance discrète
G(z). Notons qu’on peut calculer la réponse impulsionnelle comme :
g ( k ) = Z −1 {G (z )}
Exemple :
10z + 5
F (z ) =
z − 1.2z + 0.2
2
La méthode la plus simple pour calculer f(k) est la décomposition en éléments simples
de
F (z )
z
ou la division selon les puissances croissantes de z−1.
Nous proposons de calculer f(k) en utilisant les éléments développés dans le paragraphe
précédent. Considérons que F(z) est la fonction de transfert d’un système numérique
d’entrée u(k) et de sortie y(k). On a alors :
10z + 5 10z −1 + 5z −2
F (z ) = 2 =
z − 1.2z + 0.2 1 − 1.2z −1 + 0.2z −2
Finalement, la réponse du système à une impulsion unité discrète u(k) = δ(k) vaut f(k)
= y(k) et obéit à l’équation aux différences :
26
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
On obtient finalement :
f ( 0 ) = 0,
f (1) = 10,
f ( 2 ) = 17,
f ( 3) = 18.4,
Dans un système à temps discret, se trouvent rassemblés pour composer une chaîne de
commande (en chaîne ouverte ou en boucle fermée) des éléments de type analogique
(continu) et de type numérique (discret), associés à des convertisseurs numérique-
analogique CNA et analogique-numérique CAN pour passer des uns aux autres.
Ainsi, l’analyse d’un système commandé par calculateur numérique passe par la
définition d’un système à temps discret, comprenant le procédé commandé de nature
généralement continue, et les convertisseurs numérique-analogique et analogique-
numérique, que l’on peut respectivement assimiler au bloqueur d’ordre zéro et à
l’échantillonneur, selon le schéma de la figure suivante :
}
† †
Procédé
Figure 2
{
G ( z ) = Z L −1 {B 0 ( p ) F ( p )} }
avec F(p) la fonction de transfert du procédé.
27
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
G ( z ) = Z {B 0 ( p ) F ( p )}
On a vu que la transformée de Laplace du bloqueur d’ordre zéro est donnée par cette
relation :
1 − e −Tp
B0 ( p ) =
p
donc :
1 − e −Tp
G (z ) = Z F ( p )
p
F ( p ) −Tp F ( p )
=Z −e
p p
F (p) −Tp F ( p )
G (z ) = Z − Z e
p p
F (p)
= (1 − z −1 ) Z
p
d’où :
z −1 F (p)
G (z ) = Z
z p
Supposons que le procédé continu est composé de deux sous-systèmes en série, comme
présenté à la figure ci-dessous. Dans ce cas, les deux sous-systèmes ne peuvent pas être
dissociés. En effet :
| |c ‘H ‘O - -c
Y ( p ) = G1 ( p )G 2 ( p )U e ( p )
Et donc :
28
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Y e ( p ) = (G1 ( p )G 2 ( p )U e ( p ) )e
= (G1 ( p )G 2 ( p ) )e U e ( p )
Cela implique :
Y ( z ) = Z {G1 ( p )G 2 ( p )}U ( z )
(G ( p )G ( p ) ) ≠ (G ( p ) ) (G ( p ) )
1 2 e 1 e 2 e
29
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre IV :
30
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre IV :
I. Introduction
- Stabilité
- Précision
- Rapidité
Un système stable si sa réponse impulsionnelle tend vers 0 lorsque le temps tend vers
l’infini.
® „ ∑±
° s° „ °
‘ „ , ²u
¯ „ ∑• w • „ •
1
„ − z• ¦“
31
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
ℎ ~• z•†
•
où ~• est un polynôme en . Pour que ℎ soit fini lorsque → N∞, il faut que
|z• | u 1.
Pour que ℎ tend vers zéro lorsque → N∞, il faut que |z• | a 1.
Ainsi, on déduit la condition de stabilité d’un tel système qui s’énonce par :
Le système est stable si et seulement si les racines de l’équation caractéristique ont leurs
modules inférieurs à l’unité. Dans le plan complexe, il faut que les pôles du système
soient à l’intérieur du cercle unité.
D (z ) = a0 + a1z + a2 z 2 + L + an z n
avec an >0
32
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
a0 an a0 an −k a0 a1
avec : b0 = ; bk = ; b n −1 = ;
an a0 an ak an an −1
p0 p3 p0 p2 p0 p1
q0 = ; q1 = ; q2 =
p3 p0 p3 p1 p3 p2
1. D(1) > 0,
2. D(–1) > 0 si n est pair, D(–1) < 0 si n est impair,
3. |a0| < an,
4. |b0| > |bn–1|,
5. ...
6. |p0| > |p3|,
7. |q0| > |q2|,
Exemple :
avec :
K
H BO (z ) =
( z − 0.5)( z − 0.1)( z + 0.1)
Le polynôme caractéristique est :
33
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
En conclusion, le système est stable en boucle fermé ssi 0 < K < 0.7806
c. Critère de Routh-Hurwitz
— w N w #H
#H
N ⋯ N wH N w 0
Le système est stable si les termes de la première colonne du tableau de Routh sont tous
de même signe.
— „ w „ N w #H „
#H
N ⋯ N wH „ N w 0
Ce critère n’est plus valable, on effectue alors une transformation homographique (qui
transforme un cercle en une droite).
„−1 1N¶
¶ ⇔ „
„N1 1−¶
34
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
figure : Transformation en ¶
On déduit que :
|„| a 1 ⇔ Š"y ¶ a 0
|„| 1 ⇔ Š"y ¶ 0
Exemple
pour 1{, on a :
1N¶
„ ⇒ — ¶ 2.74 − 0.11 ¶ O N 1.26 − 0.52 ¶ N 0.63 0
1−¶
35
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
½ 1
¯ 1N‘ „
1
" 1 Ÿ z e 0, "† 1" ¯ „
1 − „ #H
1
½ „
1 − „ #H p1 N ‘ „ r
1
½¢ lim 1 − „ #H ½ „ lim
¤→H ¤→H 1 N ‘ „
„
" Ÿ z e 0, "† " ¯ „
„−1 O
„ 1
½ „
„−1 O 1N‘ „
1
½¿ lim 1 − „ #H ½ „ lim
¤→H „−1 1N‘ „
¤→H
À
- Si „ 1 est un pôle simple de ‘ „ , on pose ‘ „ Á „ avec Á 1
¤#H
$
1, ¾ est le gain en vitesse de ‘ „ , alors ½¿
À
Exemple :
36
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Â
avec ‘
% H Ã%
¾ „N∝
‘ „ …p} ‘ r
„ − 1 „ − " #±
À ¤ ∝
„ 1 est un pôle simple de ‘ „ , alors ½¢ 0. Le gain en vitesse est ¾¿ H#c IÅ
,
alors
1 − " #±
½¿
¾¿ ¾ „N∝
37
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre V :
Systèmes du premier et du
second ordre échantillonné
38
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre V :
1 1 Æ
‘ „ …p} ‘ r w 1 − „ #H … – ˜ w 1 − „ #H … – − ˜
1NÆ 1NÆ
Ce qui donne :
¾
‘ „
„−∝
Ç
avec ∝ " # È et ¾ w 1−∝
¾„
® „
„ − 1 „−∝
{ … #H p® „ r w 1 −∝
39
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Ê 3Æ −3
log ∝
{ ¾∝ #H
® „ ¾„ ¾„
¯ „ „O − 2„" #‡$ cos Î N " #O‡$ „O − 2z„ cos Ï N z O
40
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Î ÒwO N ÎO
41
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre VI :
42
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Chapitre VI :
Commande Numérique des systèmes
linéaires
I. Introduction
La méthode RST, dont le nom reflète les trois polynômes en z qu’il fait intervenir,
présente un degré de liberté supplémentaire permet de placer les zéros aussi bien que
les pôles.
Y(z)
Yc(z) +
C(z) G(z)
-
43
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
B + (z ) B − (z )
G (z ) =
(1 − z )
−1 l
A + (z ) A − (z )
- B+(z) contient tous les zéros de G(z) intérieurs au cercle unité (dits "stables")
- B-(z) contient tous les zéros de G(z) extérieurs au cercle unité (dits "instables")
ainsi que les retards purs du système
- A+(z) contient tous les pôles de G(z) intérieurs au cercle unité (stables)
- A-(z) contient tous les pôles de G(z) extérieurs au cercle unité (instables)
C ( z ) = C 1 ( z )C 2 ( z )C 3 ( z )
C1(z) doit annuler l'erreur permanente, compte tenu des l intégrateurs purs déjà contenus
dans G(z) :
1
C 1 (z ) =
(1 − z )
−1 m +1− l
C2(z) doit compenser les pôles et les zéros stables de G(z) donc :
A + (z )
C 2 (z ) = +
B (z )
Posons :
∆1 ( z )
C 3 (z ) =
∆2 ( z )
avec ∆1(z) et ∆2(z) seront choisis les plus courts possible de la forme :
44
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
4 paramètres 6 paramètres L
∆1 ( z ) = k c (1 + α1z −1 ) k c (1 + α1z −1 + α 2 z −2 ) L
∆2 ( z ) = β 0 + β1z −1 β 0 + β1z −1 + β 2 z −2 L
B − ( z ) ∆1 ( z )
C ( z ) G ( z ) = C 1 ( z ) C 2 ( z )C 3 ( z ) G ( z ) =
(1 − z )−1 m +1
A − ( z ) ∆2 ( z )
C ( z )G ( z ) B − ( z ) ∆1 ( z ) N F (z )
F (z ) = = =
1 + C ( z )G ( z ) (1 − z ) −1 m +1
A − ( z ) ∆ 2 ( z ) + B − ( z ) ∆1 ( z ) DF ( z )
D F ( z ) = (1 − z −1 )
m +1
A − ( z ) ∆ 2 ( z ) + B − ( z ) ∆1 ( z )
D F ( z ) = (1 + p1z −1 + p 2 z −2 )
144 42444 3
pôles dominants
avec :
(
p1 = −2e −ξωnTe cos ωnT e 1 − ξ 2 )
p 2 = −e −2ξωnTe
( )
D F ( z ) = 1 − 2e −ξωnT e cos ω nT e 1 − ξ 2 z −1 + e −2ξωnT e z −2
Exemple :
45
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
E(z) + T T S(z)
R(z) B0(p) H(p)
−
avec :
Solution :
1 1 − 0,5 z −1
C (z ) =
(1 − z −1 ) 1 + 0, 2 z
2 −1
Maintenant il faut introduire des paramètres (que l’on règlera) qui permettent de
satisfaire le cahier de charges. On choisit donc :
1 1 − 0,5 z −1 1 + A1 z −1
C (z ) = G
(1 − z −1 ) 1 + 0, 2 z 1 + A 2 z
2 −1 −1
1 1 + A1 z −1 N (z )
C (z )H (z ) = 0,5Gz −1 =
(1 − z )
−1 2 1 + A z −1
2 D (z )
46
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
D F (z ) = N (z ) + D (z )
( )
D F (z ) = 1 − 2e −ξωnTe cos ωnT e 1 − ξ 2 z −1 + e −2ξωnTe z −2 = 1 − 0.7417z −1 + 0.2019z −2
D '(z ) = 1 − (2 − 0, 5G − A 2 )z −1 + ( 0, 5GA1 + 1 − 2A 2 ) z −2 + A 2 z −3
A 2 = 0 A 2 = 0
2 − 0, 5G = 0.7417 G = 2.5166
0, 5GA + 1 = 0.2019 A = −0.6343
1 1
C (z ) = 2.5166
(1 − 0,5 z )(1 − 0.6343 z )
−1 −1
(1 + 0, 2 z )(1 − z )
−1 −1 2
-" „ ¯ „ | „ - „
¾ „ Á „
R (z )
K (z ) =
S (z )
Les polynômes R(z) et S(z) possèdent des degrés adéquats ; H(z) es une fonction
rationnelle :
B (z )
H (z ) =
A (z )
47
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
S ( z )U ( z ) = R ( z )Y c ( z ) − R ( z )Y ( z ) (7.1)
Y (z )= B (z ) R (z )
Y c (z ) A (z )S (z ) + B (z ) R (z )
S ( z )U ( z ) = T ( z )Y c ( z ) − R ( z )Y ( z )
Il n’y a donc plus de comparaison directe entre Yc(z) et Y(z), générant l’écart
E(z)=Yc(z)-Y(z) ;
Le schéma fonctionnel de figure 7.1 est remplacé par celui de la figure 7.2
Y (z ) z B ( z )T ( z )
−d −1 −1
=
Y r ( z ) A ( z −1 ) S ( z −1 ) + z −d B ( z −1 ) R ( z −1 )
144444424444443
( )
P z −1
Ce correcteur est appelé un correcteur à deux degrés de liberté car il permet d’assurer
des performances différentes pour la régulation et la poursuite.
48
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Les polynômes R(z−1), S(z−1) et T(z−1) du régulateur RST vont être dimensionnés afin
que cette fonction de transfert en boucle fermée soit égale à la fonction de transfert
Hm(z−1) d’un modèle à poursuite, ou modèle de référence, donné par l’utilisateur :
z − d B m ( z −1 )
H m (z −1
)= A m ( z −1 )
0 = lim ( y c ( k ) − y ( k ) ) = lim (z − 1) (Y c ( z ) −Y ( z ) )
k →∞ z →1
= lim ( z − 1) (1 − H m ( z ) )Y c ( z )
z →1
= lim ( z − 1) (1 − H m ( z ) )
z
z →1 z −1
D’où :
H m (1) = 1
On choisit un polynôme stable, i.e. les racines de P(z−1) appartiennent au disque unité.
La dynamique de la régulation (et du rejet de perturbation) est fixée par les pôles de
P(z−1). Il faut les choisir afin d’assurer un rejet de perturbation satisfaisant (en terme de
rapidité et de dépassement).
La synthèse d’un régulateur RST consiste à déterminer les polynômes R(z−1), S(z−1) et
T(z−1) afin que :
49
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Y (z ) B ( z −1 )T ( z −1 ) B m ( z −1 )
= = H m (z ) =
−1
Y r ( z ) A ( z −1 ) S ( z −1 ) + B ( z −1 ) R ( z −1 ) A m ( z −1 )
Le polynôme B(z−1) est factorisé en un facteur B+(z−1) qui contient les zéros instables
et B-(z−1) qui contient les zéros stables :
B ( z −1 ) = B ( z −1 ) B − ( z −1 )
+
B ( z −1 ) B − ( z −1 )T ( z −1 ) B m ( z −1 )
+
Y (z )
= = H m (z −1
)= A
Y r (z ) A ( z −1 ) S ( z −1 ) + B ( z −1 ) B − ( z −1 ) R ( z −1 )
+
m (z )
−1
Afin de composer les zéros instables, on doit faire la simplification par B+(z−1) de
l’équation ci-dessous. Pour cela, on pose :
S ( z −1 ) = B ( z −1 ) S ′ ( z −1 )
+
on obtient alors :
B ( z −1 ) B − ( z −1 )T ( z −1 )
+
Y (z )
=
Y r ( z ) A ( z −1 ) B ( z −1 )+ S ′ ( z −1 ) + B ( z −1 )+ B − ( z −1 ) R ( z −1 )
B − ( z −1 )T ( z −1 )
=
A ( z −1 ) S ′ ( z −1 ) + B − ( z −1 ) R ( z −1 )
B − ( z −1 )T ( z −1 ) = B m ( z −1 )
A ( z ) S ′ ( z ) + B ( z ) R ( z ) = A m ( z )
−1 −1 − −1 −1 −1
Puisqu'on sait que l'on ne doit pas compenser les zéros instables du système, ces
derniers se retrouveront forcément dans la fonction de transfert en BF :
B m ( z −1 ) = B − ( z −1 ) B m′ ( z −1 )
50
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
T ( z −1 ) B m′ ( z −1 ) B m′ ( z −1 ) A 0 ( z −1 )
= =
A ( z −1 ) S ′ ( z −1 ) + B − ( z −1 ) R ( z −1 ) A m ( z −1 ) A m ( z −1 ) A 0 ( z −1 )
Il découle de cette égalité que le polynôme T(z−1) est égale au polynôme B’(z−1) ; à un
polynôme A0(z−1) en facteur près, et que A(z−1)S’(z−1)+B-(z−1)R(z−1) est égal à Am(z−1)
au même facteur A0(z−1) près ;
T ( z −1 ) = B m′ ( z −1 ) A 0 ( z −1 )
A ( z ) S ′ ( z ) + B ( z ) R ( z ) = A m ( z ) A 0 ( z )
−1 −1 − −1 −1 −1 −1
Dans ces conditions, l’algorithme synthèse du régulateur RST sans intégrateur et avec
simplification des zéros est résumé comme suit :
• Données :
A(z−1) et B(z−1)
• Spécifications :
• Conditions :
o A(z−1) et B(z−1) n’ont aucun facteur commun.
o B(z−1) = B+( z−1)B−( z−1)
o Bm(z−1) = B−( z−1)B’m(z−1)
o Deg(Am(z−1)) − Deg(Bm(z−1)) ≥ Deg(A(z−1)) − Deg(B(z−1))
o Deg(A0(z−1)) ≥ 2Deg(A(z−1)) − Deg(Am(z−1)) − Deg(B+(z−1)) − 1
o Deg(S’(z−1)) = Deg(Am(z−1)) + Deg(A0(z−1)) − Deg(A(z−1))
o Deg(R(z−1)) = Deg(A(z−1)) − 1
• Etape 1 : Résoudre :
A ( z −1 ) S ′ ( z −1 ) + B − ( z −1 ) R ( z −1 ) = A m ( z −1 ) A 0 ( z −1 )
• Etape 2 : Calculer :
S ( z −1 ) = B + ( z −1 ) S ′ ( z −1 )
T ( z −1 ) = B m′ ( z −1 ) A 0 ( z −1 )
51
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Si une compensation des perturbations d’ordre j est spécifiée, il suffit d’inclure dans la
fonction de transfert en boucle ouverte le nombre l = j + 1 correspondant d’intégrateurs.
Ceci se fait en imposant que S(z) ait la forme :
S ( z −1 ) = (1 − z −1 ) B ( z −1 ) S ′ ( z −1 )
l = j +1 +
D’une manière générale, si un intégrateur est incorporé dans le régulateur RST et une
simplification ou non de zéros du processus à commander est admise, alors la synthèse
du régulateur RST est résumée comme suit :
• Données :
A(z−1) et B(z−1)
• Spécifications :
• Conditions :
o A(z−1) et B(z−1) n’ont aucun facteur commun.
o B(z−1) = B+( z−1)B−( z−1)
o Bm(z−1) = B−( z−1)B’m(z−1)
o Deg(Am(z−1)) − Deg(Bm(z−1)) ≥ Deg(A(z−1)) − Deg(B(z−1))
o Deg(A0(z−1)) ≥ 2Deg(A(z−1)) − Deg(Am(z−1)) − Deg(B+(z−1)) + l − 1
o Deg(S’(z−1)) = Deg(Am(z−1)) + Deg(A0(z−1)) − Deg(A(z−1)) − l
o Deg(R(z−1)) = Deg(A(z−1)) + l − 1
• Etape 1 : Résoudre :
A ( z −1 )(1 − z −1 ) S ′ ( z −1 ) + B − ( z −1 ) R ( z −1 ) = A m ( z −1 ) A 0 ( z −1 )
l
• Etape 2 : Calculer :
S ( z −1 ) = (1 − z −1 ) B + ( z −1 ) S ′ ( z −1 )
l
T ( z −1 ) = B m′ ( z −1 ) A 0 ( z −1 )
52
H. Mekki
Cours Commande Numérique des systèmes mécatroniques
Références Bibliographiques
53
H. Mekki