Chapitre 4
Chapitre 4
Chapitre 4
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
Introduction :
Même si 90% des boucles de régulation utilisent une structure PID classique, et bien que le PID soit
relativement facile à calculer, il n’est pas toujours évident d’obtenir de bonnes performances sur le
processus commandé par PID, surtout si ce processus :
- Possède un retard important,
- Ses caractéristiques dynamiques varient en cours de fonctionnement,
- Son ordre est supérieur à 2,
- Le dépassement de la consigne imposé n’est pas toléré.
Le régulateur RST, est exploité dans une représentation « fonction de transfert » pour la commande d’un
système dont la fonction de transfert en boucle fermée sera modifiée par l’implémentation de trois
polynômes 𝑅(𝑧), 𝑆(𝑧) et 𝑇(𝑧) disposés dans une boucle d’asservissement afin d’aboutir à une loi de
commande qui tient compte des coefficients de ces polynômes et satisfait les performances souhaitées. Ainsi
le système de commande peut-il :
- gérer la dynamique de poursuite (asservissement) et la dynamique de réjection de perturbation
(régulation) d’une manière indépendante,
- spécifier indépendamment le temps de montée et le dépassement sur la consigne,
- tenir compte du retard du processus,
- assurer une régulation robuste vis-à-vis des variations des paramètres du processus ainsi que des
changements de la consigne.
4. 1. Asservissement échantillonné classique
La structure d’un asservissement numérique série classique en ne s’intéressant que des instants
d’échantillonnage est représentée sur la figure (6.1)
51
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
Les fonctions de transfert 𝐶(𝑧) et 𝐺(𝑧) sont des fractions rationnelles en z, elles sont données par :
𝑆(𝑧)
𝐶(𝑧) = 𝑅(𝑧)
{ 𝐵(𝑧)
(4.1)
𝐻(𝑧) = 𝐴(𝑧)
Il faut préciser que les fonctions en z : 𝐴(𝑧), 𝐵(𝑧), 𝑆(𝑧) et 𝑅(𝑧) sont des polynômes en z et non des fractions
rationnelles en z. la fonction de transfert en boucle fermée est donnée par :
𝑌(𝑧) 𝐶(𝑧)𝐻(𝑧) 𝐵(𝑧)𝑆(𝑧)
= 1+𝐶(𝑧)𝐻(𝑧) = 𝐴(𝑧)𝑅(𝑧)+𝑆(𝑧)𝐵(𝑧) (4.2)
𝑄(𝑧)
Soit :
𝑅(𝑧)𝑈(𝑧) = 𝑆(𝑧)[𝑄(𝑧) − 𝑌(𝑧)] (4.4)
En termes de schéma bloc, il est possible de faire apparaitre plusieurs structures qui représentent
rigoureusement cette correction :
𝑇(𝑧) 𝑆(𝑧)
𝑈(𝑧) = 𝑅(𝑧) 𝑄(𝑧) − 𝑅(𝑧) 𝑌(𝑧) (4.7)
1
= 𝑅(𝑧) [𝑇(𝑧)𝑄(𝑧) − 𝑆(𝑧)𝑌(𝑧)] (4.8)
𝑆(𝑧) 𝑇(𝑧)
= 𝑅(𝑧) [𝑆(𝑧) 𝑄(𝑧) − 𝑌(𝑧)] (4.9)
52
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
La figure (4.2) illustre les trois configurations possibles d’un régulateur RST relatives aux équations (4.7), (4.8)
et (4.9) respectivement.
(a)
(b)
(c)
Fig. 4.2. Les trois configurations possibles d’un régulateur RST
Toutes ces variantes équivalentes peuvent être représentées par le schéma de la figure (4.3), soit :
Notons que les fonctions de transfert du système en boucle fermée étudié peuvent apporter sur la régulation
de correspondance 𝐻𝑚 (𝑧) (par rapport à une consigne) ou sur la régulation de maintien 𝐺𝑝 (𝑧) (par rapport
à une perturbation). Si on adopte la variante de la figure (4.3.b), ces deux transferts sont donnés
respectivement par :
𝐵 (𝑧) 𝐵(𝑧)𝑇(𝑧)
𝐻𝑚 (𝑧) = 𝐴𝑚 (𝑧) = 𝐴(𝑧)𝑅(𝑧)+𝐵(𝑧)𝑆(𝑧) (4.11)
𝑚
𝐵(𝑧)𝑅(𝑧)
𝐺𝑝 (𝑧) = 𝐴(𝑧)𝑅(𝑧)+𝐵(𝑧)𝑆(𝑧) (4.12)
Nous avons choisi de traiter ici uniquement le cas relatif à la régulation de correspondance, soit 𝐻𝑚 (𝑧).
La loi de commande est par ailleurs régie par l’équation (4.7) qui est donnée par :
𝑇(𝑧) 𝑆(𝑧)
𝑈(𝑧) = 𝑅(𝑧) 𝑄(𝑧) − 𝑅(𝑧) 𝑌(𝑧) (4.13)
Les performances désirées en asservissement doivent être spécifiées dans un modèle à poursuivre, imposé
par l’utilisateur et qui, en boucle fermée est exprimé sous la forme d’une fraction rationnelle en z, soit
𝐵 (𝑧) 𝑌(𝑧)
𝐻𝑚 (𝑧) = 𝐴𝑚 (𝑧) = 𝑄(𝑧) (4.14)
𝑚
Le but est donc d’identifier 𝐻𝑚 (𝑧) de l’équation (4.14) à celle donnée par l’équation (4.11).
Pour cela :
Il faut d’abord que 𝐻𝑚 (𝑧) soit choisie de sorte que l’erreur statique ℰ(∞) = 0 soit nulle (on peut
dans certains cas imposer une condition sur l’erreur de trainage. Il faut alors expliciter l’expression de ℰ𝑣 (∞)
en réponse à une entrée rampe discrète.
L’erreur statique découle de l’expression :
ℰ(𝑘) = 𝑄(𝑘) − 𝑌(𝑘) (4.15)
- Le dénominateur 𝐴𝑚 (𝑧) de 𝐻𝑚 (𝑧) doit avoir comme zéros les valeurs imposées par l’utilisateur en
fonction de la dynamique du système.
- Le numérateur 𝐵𝑚 (𝑧) de 𝐻𝑚 (𝑧) contiendra les zéros non compensés du système comme on le verra
plus loin.
- L’implantation des trois polynômes 𝑅(𝑧), 𝑆(𝑧) et 𝑇(𝑧) permet de calculer leurs coefficients dans le
but de satisfaire les performances qui peuvent porter sur la précision, le taux de dépassement, la
réponse indicielle, la durée de réglage, ou la bande passante en boucle fermée…à partir donc de
𝐵(𝑧)𝑇(𝑧) 𝐵 (𝑧)
l’identification de l’expression au modèle à poursuivre 𝐻𝑚 (𝑧) = 𝑚 (𝑧) qui résume
𝐴(𝑧)𝑅(𝑧)+𝐵(𝑧)𝑆(𝑧) 𝐴𝑚
ces performances.
On suit les étapes suivantes pour le diagnostic du système étudié indiquant ainsi le choix des polynômes à
placer. Les conditions imposées aux degrés des polynômes et la détermination des coefficients de ces
polynômes sont alors liées au choix de ses pôles et au choix de la dynamique désirée.
4. 4. b. Le polynôme 𝐵𝑚 (𝑧) numérateur du modèle choisi 𝐻𝑚 (𝑧) doit donc contenir 𝐵 − (𝑧) afin d’assurer
qu’aucun zéro de 𝐻(𝑧) dont le module est supérieur à un ne sera compensé.
On pose donc :
𝐵𝑚 (𝑧) = 𝐵 − (𝑧)𝐵𝑚
′ (𝑧)
(4.22)
′ (𝑧)
Tel que le polynôme 𝐵𝑚 reste à déterminer.
4. 4. c. pour que 𝐵 + (𝑧) soit compensé, la seule possibilité pour permettre une simplification au
𝐵(𝑧)𝑇(𝑧)
dénominateur de est qu’il le soit par le polynôme 𝑅(𝑧), donc 𝑅(𝑧) doit contenir 𝐵 + (𝑧), soit :
𝐴(𝑧)𝑅(𝑧)+𝐵(𝑧)𝑆(𝑧)
La fonction de transfert en boucle fermée relative au schéma de la figure (4.2.c) est donc :
𝐵(𝑧)𝑇(𝑧)
𝐻𝑏𝑓 (𝑧) = 𝐴(𝑧)𝑅(𝑧)+𝐵(𝑧)𝑆(𝑧) (4.24)
𝐵 (𝑧)
Comme 𝐻𝑏𝑓 (𝑧) doit être identifiée à 𝐻𝑚 (𝑧) = 𝐴𝑚 (𝑧), alors :
𝑚
𝐵 (𝑧) 𝐵(𝑧)𝑇(𝑧)
𝐻𝑚 (𝑧) = 𝐴𝑚 (𝑧) = 𝐴(𝑧)𝑅(𝑧)+𝐵(𝑧)𝑆(𝑧)
𝑚
𝐵+ (𝑧)𝐵− (𝑧)𝑇(𝑧)
(4.25)
= 𝐴(𝑧)𝐵+(𝑧)𝑅′ (𝑧)+𝐵+(𝑧)𝐵−(𝑧)𝑆(𝑧)
Ces deux fonctions sont égales, mais on ne peut pas identifier respectivement leurs numérateurs et leurs
dénominateurs que si l’on introduit un polynôme 𝐴0 (𝑧) normé (monique), appelé polynôme observateur et
choisi par le concepteur. On prend généralement :
𝐴0 (𝑧) = 𝑧 𝛼 (4.27)
En tout cas 𝐴0 (𝑧) doit satisfaire une condition bien définie sur son degré comme il sera expliqué plus loin. Il
faut également qu’impérativement les zéros de 𝐴0 (𝑧) soient situés à l’intérieur du cercle de rayon unitaire.
56
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
L’équation (4.26) est équivalente donc à :
𝐵− (𝑧)𝐵𝑚
′ (𝑧) 𝐴 (𝑧)
0 𝐵− (𝑧)𝑇(𝑧)
= 𝐴(𝑧)𝑅′ (𝑧)+𝐵−(𝑧)𝑆(𝑧) (4.29)
𝐴𝑚 (𝑧) 𝐴0 (𝑧)
En multipliant par 𝐵 + (𝑧) et en exploitant les deux équations (4.21) et (4.22), nous obtenons :
𝐵 + (𝑧)𝐴𝑚 (𝑧)𝐴0 (𝑧) = 𝐴(𝑧)𝑅(𝑧) + 𝐵(𝑧)𝑆(𝑧) (4.31)
Cette formule est appelée équation de Diophante, elle sera exploitée ultérieurement pour le calcul des
coefficients des polynômes.
4. 4. d. On vérifie les contraintes sur le degré de chaque polynôme afin d’assurer la causalité (i.e la faisabilité
conditionnée par le fait qu’une fraction rationnelle doit avoir le degré de son dénominateur supérieur ou
égale au degré du numérateur). Donc, nous aurons :
𝐵(𝑧) 𝐵 (𝑧)
Pour les fonctions de transfert 𝐻(𝑧) = 𝐴(𝑧) et 𝐻𝑚 (𝑧) = 𝐴𝑚 (𝑧) :
𝑚
𝐷° (𝐴) ≥ 𝐷° (𝐵)
{ (4.33)
𝐷° (𝐴𝑚 ) ≥ 𝐷° (𝐵𝑚 )
Pour la détermination des deux polynômes 𝑅(𝑧) et 𝑆(𝑧), s allons faire recours au théorème de Bezout dont
l’énoncé est le suivant :
57
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
Enoncé du théorème de Bezout :
Soient 𝐴(𝑧), 𝐵(𝑧) et 𝑃(𝑧) trois polynômes en z, avec 𝐴(𝑧) et 𝐵(𝑧) sont premiers entre eux, alors l’équation :
𝐴(𝑧)𝑋(𝑧) + 𝐵(𝑧)𝑌(𝑧) = 𝑃(𝑧) (4.36)
En appliquant les conséquences de ce théorème sur l’équation de Diaphante donnée par l’équation (4.31)
avec :
𝑋(𝑧) = 𝑅(𝑧)
{ 𝑌(𝑧) = 𝑆(𝑧) (4.39)
𝑃(𝑧) = 𝐵 + (𝑧)𝐴𝑚 (𝑧)𝐴0 (𝑧)
𝐷° (𝑆) = 𝐷° (𝐴) − 1
{ (4.40)
𝐷° (𝑅) = 𝐷° (𝐵) − 1
Soit :
𝐷° ( 𝐵 + ) + 𝐷° (𝐴𝑚 ) + 𝐷° (𝐴0 ) = 𝐷° (𝐴) + 𝐷° (𝐵) − 1 (4.42)
58
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
4. 4. e. On impose les conditions sur l’égalité des degrés des polynômes :
D’après l’équation (6.40), nous avons 𝐷° (𝑅) = 𝐷° (𝐵) − 1, en rapportant cette quantité dans l’équation
(4.42) nous aurons :
𝐷° ( 𝐵 + ) + 𝐷° (𝐴𝑚 ) + 𝐷° (𝐴0 ) = 𝐷° (𝐴) + 𝐷° (𝑅) (4.45)
Soit :
𝐷° (𝑅) = 𝐷° ( 𝐵 + ) + 𝐷° (𝐴𝑚 ) + 𝐷° (𝐴0 ) − 𝐷° (𝐴) = 𝛿𝑅 (4.46)
Finalement, le degré du polynôme 𝑇(𝑧) est déterminé à partir de l’équation (4.32), soit :
𝐷° (𝑇) = 𝐷° (𝐴0 ) + 𝐷° (𝐵𝑚
′ )
= 𝛿𝑇 (4.47)
En remplaçant maintenant les polynômes 𝐴(𝑧), 𝑅(𝑧), 𝐵(𝑧), 𝑆(𝑧) et 𝐴0 (𝑧) par leurs expressions de
l’équation (4.31) donnée par : 𝐴(𝑧)𝑅(𝑧) + 𝐵(𝑧)𝑆(𝑧) = 𝐵 + (𝑧)𝐴𝑚 (𝑧)𝐴0 (𝑧), et en opérant une identification
des coefficients terme à terme selon les puissances de z à 𝐵 + (𝑧)𝐴𝑚 (𝑧)𝐴0 (𝑧) où le polynôme 𝐴0 (𝑧) vérifie
la condition (4.41).
Les polynômes 𝐵 + (𝑧) et 𝐴𝑚 (𝑧) étant connus, on peut déterminer les coefficients 𝑟𝑖 , 𝑠𝑖 et 𝑎𝑘 .
Les coefficients du polynôme 𝑇(𝑧) sont déterminés à partir de l’équation (4.32).
Remarque 1 :
𝐵(𝑧)
Si la fonction de transfert 𝐻(𝑧) = 𝐴(𝑧) ne comporte pas d’intégrateur, il faut que le polynôme 𝑅(𝑧) contienne
une intégration pour permettre l’élimination de l’erreur statique, soit :
𝑅(𝑧) = 𝐵 + (𝑧)(1 − 𝑧)𝑃0 (𝑧) (4.37)
Remarque 2 :
Il est commode pour mener une simulation numérique, d’exprimer les fonctions de transfert et les
polynômes en 𝑧 −1 , soit :
59
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
𝑅(𝑧 −1 ) = 𝑟0 + 𝑟1 𝑧 −1 + ⋯ + 𝑟𝑛 𝑧 −𝑛
{ 𝑆(𝑧 −1 ) = 𝑠0 + 𝑠1 𝑧 −1 + ⋯ + 𝑠𝑚 𝑧 −𝑚 (4.38)
𝑇(𝑧 −1 ) = 𝑡0 + 𝑡1 𝑧 −1 + ⋯ + 𝑡𝑝 𝑧 −𝑝
Exemple d’application :
Soit le système défini par sa fonction de transfert discrète en boucle ouverte :
𝐵(𝑧) 0.05(𝑧 + 2)(𝑧 + 0.3)
𝐻(𝑧) = = 3
𝐴(𝑧) 𝑧 − 2.2𝑧 2 + 1.8𝑧 − 0.5
(pour obtenir 𝐻(𝑧) à partir de 𝐻(𝑠) nous utilisons l’instruction c2d(H,T) telle que T est la période
d’échantillonnage).
60
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
Cahier de charge imposé :
On se propose de calculer un régulateur RST qui permet de placer les pôles à pôle 𝑧1 = 0.3 et deux pôles
conjugués 𝑧2,3 = 0.2 ± 0.3𝑗 afin d’améliorer les performances de ce système et d’établir la loi de commande
correspondante.
Démarche :
𝑩𝒎 (𝒛)
1- Définition du modèle à poursuivre 𝑯𝒎 (𝒛) = :
𝑨𝒎 (𝒛)
𝐵 (1)
Rappelons qu’on doit avoir 𝐻𝑚 (1) = 𝐴𝑚 (1) = 1, donc pour avoir un gain statique unitaire, il faut
𝑚
que 𝐵𝑚 (𝑧) = 𝑔𝐵 − (𝑧), soit :
𝐵𝑚 (𝑧) 𝑔𝐵 − (𝑧)
𝐻𝑚 (𝑧) = =
𝐴𝑚 (𝑧) 𝐴𝑚 (𝑧)
Donc, on doit imposer :
𝐵 (1) (1+2)𝑔
𝐻𝑚 (1) = 𝐴𝑚 (1) = (1−0.3)(1−0.2−0.3𝑗)(1−0.2+0.3𝑗) = 1,
𝑚
D’où 𝑔 = 0.17.
Donc, la fonction de transfert du modèle à poursuivre s’exprime par :
𝐵𝑚 (𝑧) 0.17(𝑧 + 2)
𝐻𝑚 (𝑧) = =
𝐴𝑚 (𝑧) (𝑧 − 0.3)(𝑧 − 0.2 − 0.3𝑗)(𝑧 − 0.2 + 0.3𝑗)
62
Chapitre 4 : Commande RST numérique
Synthèse dans le cas discret (échantillonné). Implémentation pratique des régulateurs RST.
(𝑧 − 0.3)(𝑧 − 0.2 − 0.3𝑗)(𝑧 − 0.2 + 0.3𝑗) × (𝑧 2 + 𝑎1 𝑧 + 𝑎0 ) =
= (𝑧 3 − 2.2𝑧 2 + 1.8𝑧 − 0.5) × 0.05(𝑧 + 0.3)(𝑧 − 1)(𝑧 + 𝑝0 ) + (𝑧 + 2)(𝑠1 𝑧 + 𝑠0 )
En développant les deux membres de cette égalité et en identifiant les termes affectés aux mêmes
puissances en z, on détermine les coefficients 𝑎0 , 𝑎1 , 𝑠0 , 𝑠1 et 𝑝0 , soit :
𝑅(𝑧) = 𝑟0 + 𝑟1 𝑧 + 𝑟2 𝑧 2 + 𝑟3 𝑧 3
{ 𝑆(𝑧) = 𝑠0 + 𝑠1 𝑧
𝑇(𝑧) = 𝑡0 + 𝑡1 𝑧 + 𝑡2 𝑧 2
D’où la loi de commande numérique :
𝑇(𝑧) 𝑆(𝑧)
𝑈(𝑧) = 𝑄(𝑧) − 𝑌(𝑧)
𝑅(𝑧) 𝑅(𝑧)
Soit :
𝑡0 + 𝑡1 𝑧 + 𝑡2 𝑧 2 𝑠0 + 𝑠1 𝑧
𝑈(𝑧) = 𝑄(𝑧) − 𝑌(𝑧)
𝑟0 + 𝑟1 𝑧 + 𝑟2 𝑧 2 + 𝑟3 𝑧 3 𝑟0 + 𝑟1 𝑧 + 𝑟2 𝑧 2 + 𝑟3 𝑧 3
La réponse indicielle portée dans le schéma ci-dessous montre que le système ainsi commandé n’est plus
oscillatoire et qu’en plus, il atteint sa consigne sans dépassement au bout de 5s.
63