Cours Aoutoma - Echantioné
Cours Aoutoma - Echantioné
Cours Aoutoma - Echantioné
échantillonnée
Version 2009.1
Gonzalo Cabodevila
gonzalo.cabodevila@femto-st.fr
TDs : G. Cabodevila, D. Chappe, A. Janex, B. Lang
Tutorial Matlab : B. Jouvencel
1ère année
Semestre jaune
AUT1 - Automatique
Le choix de l’enseignement de l’automatique échantillonnée dès la première année se fonde sur la constatation
que la majorité d’entre vous ont acquis les bases de l’automatique linéaire pendant les classes préparatoires.
Celles et ceux pour qui cette hypothèse est fausse auront un peu de travail personnel supplémentaire à fournir.
Les enseignants sont là pour vous aider, n’hésitez pas à poser des questions. Par ailleurs, la bibliothèque possède
quelques ouvrages de qualité tels que [1] et [2] sans oublier les techniques de l’ingénieur, accessibles en ligne.
Ce polycopié1 n’est guère qu’un document vous épargnant la recopie de formules, la présence en cours est
indispensable. Enfin, je ne saurai que trop vous conseiller de lire d’autres ouvrages traitant du même sujet,
notamment [3], [4], [5] ou [6] (vous noterez une étrange ressemblance avec ce dernier ouvrage, c’était mon prof !).
Il existe aussi quelques ouvrages au format PDF disponibles gratuitement sur internet ([7], [8], [9], [10], [11])
que je vous conseille vivement de télécharger afin d’avoir une deuxième version des faits.
Le cours est organisé sous la forme de 6 leçons aussi indépendantes que possible. Des rappels des notions utiles
pour la compréhension de la leçon seront faits au début de chaque séance, néanmoins une relecture des notes
de cours (15mn) est indispensable.
Pierre Desproges
Extrait de Vivons heureux en attendant la mort
Pierre Foglia
3
4
Table des matières
1 Introduction 9
1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Exemples d’asservissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Mise en œuvre des asservissements numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Technologie des asservissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Echantillonnage et quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.1 Le bruit de quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Période d’échantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.1 Le problème de la période d’échantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.2 Le recouvrement de spectre avec les mains . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5.3 Bruit sur la dérivée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.4 Choix de la période d’échantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Transformée en z 25
2.1 Définition de la transformée en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Propriétés de la transformée en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Calcul de la transformée en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Par la formule de définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Par la théorie des résidus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.3 Par l’utilisation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Transformée inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.1 Théorie des résidus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.2 Par division polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.3 Par l’utilisation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Transmittances échantillonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.1 Notions de schéma bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.2 Transformée en z d’un schéma bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.3 Transformée d’un système précédé par un bloqueur d’ordre 0 . . . . . . . . . . . . . . . 33
2.5.4 Transmittances échantillonnées de systèmes bouclés . . . . . . . . . . . . . . . . . . . . 35
2.5.5 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5
6 TABLE DES MATIÈRES
3.4.4 Cycle limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Bibliographie 84
I Annexes 87
A Tables de transformées 89
B Travaux dirigés 93
B.1 TD n˚1 : Fréquence d’échantillonnage et équations récurrentes . . . . . . . . . . . . . . . . . . 95
B.2 TD n˚2 : Systèmes récurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
B.3 TD n˚3 : Asservissement numérique de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
B.4 TD n˚4 : Etude d’un four électrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
B.5 TD n˚5 et 6 : Etude d’un asservissement de position . . . . . . . . . . . . . . . . . . . . . . . . 99
B.6 TD n˚7 : Méthode de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
B.7 TD n˚8 : Synthèse d’un régulateur RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Introduction
1.1 Définition
L’automatique est la science qui traite de l’analyse et de la commande des systèmes dynamiques évoluant
avec le temps. En d’autres mots de l’automatisation de tâches par des machines fonctionnant sans intervention
humaine.
Wikipédia
C’est une partie d’un ensemble plus vaste nommé cybernétique. Définie en 1947 par Norbert Wienner, la
cybernétique est la base de la robotique, de l’automatique, de l’intelligence artificielle et de la théorie de
l’information.
L’horloge, des siècles plus tard, est encore un moteur de découvertes dans le domaine de l’automatique.
L’échappement à ancre n’est guère qu’un stabilisateur de fréquence. Les développements de l’horloge conduisent
alors à la création d’automates extrêmement compliqués. Citons, à titre d’exemple, le canard de Vaucanson
9
10 CHAPITRE 1. INTRODUCTION
(1709-1782) (figure 1.2) qui pouvait boire, se nourrir, caqueter, nager, ”digérer” et déféquer. L’idée de la pro-
grammation est née à peu près à la même époque. En 1728, Jean-Philippe Falcon crée le premier métier à tisser
programmable par cartons perforés. Vaucanson réalise un métier à tisser programmé en 1745, et en 1801 le
célèbre métier à tisser automatique programmable de Joseph-Marie Jacquard.
A la même époque d’autres systèmes voient le jour, poussés par la révolution industrielle qui est en marche.
Denis Papin développe la soupape de sécurité (figure 1.5) pour les systèmes fonctionnant à la vapeur et James
Watt invente le régulateur de vitesse à boule (figure 1.6).
Les réalisations précédentes ne manquent pas d’ingéniosité, néanmoins il faudra attendre l’arrivée de l’électricité
puis de l’électronique pour voir apparaı̂tre les premiers correcteurs en tant que tels. Enfin, le développement
des microprocesseurs puis celui des microcontrôleurs permet aujourd’hui de mettre en œuvre des principes de
commande très élaborés, notamment :
le pilotage de systèmes instables
les commandes robustes
l’identification en ligne
la commande de systèmes non linéaires
la commande prédictive
...
1.2. EXEMPLES D’ASSERVISSEMENTS 11
Les figures 1.7 et 1.8 représentent deux exemples de stabilisation de systèmes instables, les figures 1.9 et 1.10
représentent quant à elles deux exemples de systèmes instables pour lesquels le correcteur n’a rien pu faire.
Dans les deux cas, le correcteur n’y est pour rien. Une erreur humaine et une erreur de conception sont à
l’origine des deux ”problèmes”.
Fig. 1.7 – Fusée Ariane (ESA). Fig. 1.8 – Avion de combat Rafale (Dassault).
12 CHAPITRE 1. INTRODUCTION
Fig. 1.9 – Fusée Ariane (ESA). Fig. 1.10 – Centrale électrique de Tchernobyl.
Fig. 1.12 – Système asservi linéaire échantillonné. (Ne cherchez pas les boites CAN et CNA sous simulink, elles n’existent
pas ! CAN est intrinsèque en passant de continu à échantillonné, CNA s’appelle en fait ZOH pour ”Zero Order Hold”.)
La programmation de ces systèmes fait appel à un système d’exploitation multitâche temps réel.
A l’inverse, pour des systèmes simples, un microcontrôleur1 suffit. La programmation se fait alors en C ou en
Assembleur, les microcontrôleurs plus puissants acceptent sans problème un OS temps réel.
Entre les deux, il existe des cartes de puissance intermédiaire telle que la SSV DIL/NetPC DNP/5280. Celle-ci
possède 8Mo de ROM et 16 Mo de RAM (à comparer aux 8192 mots de ROM et 368 octets de RAM d’un PIC
1 Microcontrôleur = sur la même puce microprocesseur+ périphériques : horloges, entrées sorties binaires et analogiques, liaisons
numériques, ...
1.3. MISE EN ŒUVRE DES ASSERVISSEMENTS NUMÉRIQUES 15
16F877) ainsi que pratiquement tous les bus classiques (I2C, SPI, CAN et une interface Ethernet)
Enfin, il existe les DSP : Digital Signal Processing, dédiés au calcul rapide et flottant, plutôt utilisés dans des
applications nécessitant du traitement du signal conséquent.
Et pour finir, sachez que les PID industriels soit disant analogiques cachent un microcontrôleur, cette technologie
permettant de réaliser des constantes de temps impossibles à réaliser en analogique. Mais aussi, de gérer des
alarmes, des saturations, des modes de défaut, etc. Vous trouverez au §4.2.1 page 55 une méthode rapide pour
déterminer les coefficients de ces correcteurs.
CNA
Le convertisseur numérique analogique le plus connu est fondé sur le principe du réseau R-2R comme illustré
sur la figure 1.19. Ce principe est très consommateur de surface de silicium, aussi la grande majorité des micro-
contrôleurs n’en possèdent pas. Une autre méthode de conversion consiste à utiliser le principe de modulation
en largeur d’impulsion (MLI, en anglais PWM). Le principe est de faire varier la valeur moyenne du signal de
sortie binaire (0 - 5V) en faisant varier la largeur de l’impulsion. Un filtre RC filtrera les variations rapides,
ne laissant passer que les variations lentes soit le signal désiré. Ce principe présente l’énorme avantage de ne
demander qu’un bit de sortie du microcontrôleur par rapport à 16 bits pour un CNA classique !
Fig. 1.19 – Convertisseur numérique Fig. 1.20 – Signal modulé en modulation de largeur d’impulsion avant et
analogique de type réseau R-2R. après filtrage haute fréquence.
En observant le signal échantillonné et quantifié (en bas à droite de la figure 1.21), la tentation est grande de
vouloir s’approcher du signal analogique en essayant de faire du ”quasi-continu” par un surdimensionnement
des deux paramètres principaux que sont la fréquence d’échantillonnage et le pas de quantification. Les deux
parties suivantes, je l’espère, vous en dissuaderont.
F ourier
x(t) ∗ y(t) → X(f ) × Y (f ) (1.1)
F ourier
x(t) × y(t) → X(f ) ∗ Y (f ) (1.2)
En fonction des valeurs relatives de Fmax et Fe on obtient deux types de spectres différents comme illustré en
figure 1.26.
Lorsque Fmax > Fe /2, il se produit le phénomène de recouvrement de spectre, à ne pas confondre avec le
repliement de spectre. Si ce phénomène se produit, il est alors impossible de reconstituer le signal original, d’où
le théorème de Shannon :
Le théorème de Shannon Toute fonction du temps f (t) possédant un spectre de fréquence limitée à ±Fmax
peut être transformée par échantillonnage périodique, de fréquence Fe supérieure ou égale à 2Fmax , sans aucune
perte d’information.
Ce théorème n’est qu’une limite infranchissable, d’autre phénomènes vont intervenir bien avant dans le choix
de la période d’échantillonnage.
20 CHAPITRE 1. INTRODUCTION
Notez que l’idée d’un spectre limité à Fmax est illusoire, tous les signaux en automatique ont un spectre infini.
On ne peut alors que minimiser ce phénomène de recouvrement de spectre. Il sera parfois nécessaire d’ajouter
un filtre dit filtre ”anti-recouvrement” ou ”filtre anti-repliement”.
Le calcul de ce filtre mériterait un chapitre à lui seul. Disons pour faire extrêmement simple, qu’il s’agit le plus
souvent d’un filtre électronique passe-bas du premier ordre dont la fréquence de coupure est choisie entre Fmax
et Fe .
df (t) f (t) − f (t − Te )
'
dt Te
Ceci n’est malheureusement vrai que dans le cas d’un signal sans bruit. Or les signaux sont toujours entachés
de bruit et dans ce cas la proposition précédente n’est plus vraie. Dans le cas d’un signal en rampe, la figure
1.28 montre que l’erreur sur le calcul de la dérivée croı̂t lorsque Te décroı̂t.
Fig. 1.28 – Influence de la période d’échantillonnage dans le cas de calculs de dérivées en présence de bruit.
Ajoutez à cela le fait qu’une période d’échantillonnage très petite implique un microcontrôleur très rapide et
donc coûteux.
1.5. PÉRIODE D’ÉCHANTILLONNAGE 21
1.5.4 Choix de la période d’échantillonnage
Les considérations précédentes montrent :
une limite fondamentale : le théorème de Shannon,
que l’idée de suréchantillonner provoque énormément de bruit sur le calcul des dérivées et demande un
microcontrôleur puissant donc cher.
Entre les deux, il existe un vaste choix de fréquences d’échantillonnage. Plusieurs auteurs proposent une for-
malisation de ce choix, le plus souvent quasi-empirique mais donnant de bons résultats du point de vue du
compromis précision - vitesse de calcul nécessaire.
Sevely [3]
Yves choisit Te , la période d’échantillonnage telle qu’elle soit
2π 2π
≤ Te ≤
18ω0 9ω0
τ τ
≤ Te ≤
9 4, 5
Bülher [4]
Hansruedi choisit Te , la période d’échantillonnage telle qu’elle soit
5 fois plus petite que la constante de temps la plus rapide que l’on veut contrôler en boucle fermée
τ
Te '
5
8 fois plus petite que la pseudo-période, s’il s’agit de pôles complexes conjugués
1 2π
Te ' p
8 ω0 1 − ξ 2
Exemple
Soit G(p) une fonction de transfert possédant 4 pôles en boucle ouverte :
1
G(p) =
(1 + τ1 p)(1 + τ2 p)(1 + τ3 p)(1 + τ4 p)
Après mise en œuvre de l’asservissement vous espérez accélérer le système, la fonction de transfert devient donc
C(p)G(p) 1
F (p) = = 2 m p2 0 0
1 + C(p)G(p) (1 + ω0 p + ω0 2 )(1 + τ3 p)(1 + τ4 p)
Fig. 1.29 – Réponse d’un second ordre échantillonné (mais pas quantifié !). Observez le retard introduit par
l’échantillonnage.
Fig. 1.30 – Comparaison des périodes d’échantillonnages préconisées par différents auteurs.
1.5. PÉRIODE D’ÉCHANTILLONNAGE 23
Transformée en z
z = eTe p (2.1)
Notation : Z[F (p)] ou Z[f (t)]
Rappel : transformée de Laplace d’un signal
Z ∞
L[f (t)] = f (t)e−pt dt
0
le signal f (t) échantillonné s’écrit f ? (t) avec :
∞
X
L[f ? (t)] = f (kTe )e−kTe p
k=−∞
la fonction f étant nulle pour tout t < 0,
∞
X
F ? (p) = L[f ? (t)] = f (kTe )e−kTe p
k=0
Te p
puis en posant z = e
∞
X
F (z) = f (kTe )z −k (2.2)
k=0
Exemple :
f (t) = U (t) échelon d’Heaviside
∞ ∞
X X 1 z
F (z) = f (kTe )z −k = z −k = 1 + z −1 + z −2 + . . . = =
1 − z −1 z−1
k=0 k=0
25
26 CHAPITRE 2. TRANSFORMÉE EN Z
2.2 Propriétés de la transformée en z
Comme la transformée en z est la transformée de Laplace suivie d’un changement de variable, ses propriétés
se déduisent de celles de la transformée de Laplace.
Linéarité
Z[af (t) + bg(t)] = aF (z) + bG(z) (2.3)
où a et b sont des constantes
Translations réelles
Retard de k périodes
Z[f (t − kTe )U (t − kTe )] = z −k F (z) (2.4)
Notez l’opérateur ”retard” z −1
Avance de k périodes
Z[f (t + kTe )U (t)] = z k F (z) − z k F (0) − z k−1 F (Te ) − z k−2 F (2Te ) − . . . − zF ((k − 1)Te )
" k−1
#
X
k −k
Z[f (t + kTe )U (t)] = z F (z) − f (kTe )z (2.5)
k=0
Les valeurs initiales sont enlevées, sinon, le principe de causalité n’est plus respecté.
Translation complexe
Z[e−aTe f (t)] = Z[F (p + a)] = F (zeaTe ) (2.6)
2.2. PROPRIÉTÉS DE LA TRANSFORMÉE EN Z 27
Changement d’échelle en z
z
Z[ak f (kTe )] = F ( ) (2.7)
a
C’est le théorème fondamental qui permet de transformer l’équation de la sortie d’un système,
en temporel : sortie = convolution de l’entrée avec la réponse impulsionnelle du système,
en z : sortie = produit de l’entrée avec la transmittance du système.
Multiplication par tk
d
Z [tf (t)] = −Te z F (z) (2.11)
dz
Très utile pour démontrer la forme des signaux canoniques
∞
X
F (z) = f (kTe )z −k (2.13)
k=0
f (t) = t
∞
X ∞
X ∞
X
F (z) = kTe z −k = Te kz −k = zTe kz −k−1
k=0 k=0 k=0
∞ ∞
X d −k d X −k
= −zTe z = −zTe z
dz dz
k=0 k=0
d 1 zTe z −2
= −zTe =
dz 1 − z −1 (1 − z −1 )2
Te z
=
(z − 1)2
4p3
F =
(p2 + 1)(p + 1)3
La forme de sa décomposition en éléments simples se déduit de la valeur et de la multiplicité de ses pôles. Il
existe des réels a, b, c, d, e, f et un polynôme réel E tels que :
2.3. CALCUL DE LA TRANSFORMÉE EN Z 29
4p3 a b c (dp + e)
=E+ + + +
(p2 + 1)(p + 1)3 p + 1 (p + 1)2 (p + 1)3 (p2 + 1)
Il s’agit désormais de déterminer la valeur de chaque coefficient indéterminé.
Le degré du numérateur de F est strictement inférieur au degré de son dénominateur, donc E = 0.
On multiplie de part et d’autre par (p + 1)3 et on fait p = −1 pour obtenir c = −2 .
De même, on multiplie de part et d’autre par (p2 + 1) et on fait p = ı pour obtenir d = 1 et e = −1.
On étudie ensuite la limite de limp→∞ pF (p) , ce qui donne a + d = 0 d’où a = −1.
Puis on calcule F (0) = 0 d’où 0 = a + b + c + e et donc b = 4.
Vérification, calculer par exemple F (1) = 1/4 .
Transformation en z
1
− p+1 −→ − z−ez−Te
−Te
4 Te ze
(p+1)2 −→ 4 (z−e −Te )2
2
− (p+1)3 −→ ????
p−1 p 1 z(z−cos Te ) z sin Te
(p2 +1) = (p2 +1) − (p2 +1) −→ z 2 −2z cos Te +1 − z 2 −2z cos Te +1
mais
1 −at Te ze−aTe
−→ te −→
(p + a)2 (z − e−aTe )2
et
1 2 −at 1 d
L t e = Z [tf (t)] = −Te z F (z)
2 (p + a)3 dz
donc
T 2 e−aT z z + e−aT
Te ze−aTe
−at
d
Z t × te = −Te z = 3
dz (z − e−aTe )2 (z − e−aT )
4p3 Te ze−Te
z
Z = − + 4
(p2 + 1)(p + 1)3 z − e−Te (z − e−Te )2
2 −aT
z z + e−aT
T e
+ 3
(z − e−aT )
z(z − cos Te ) z sin Te
+ −
z 2 − 2z cos Te + 1 z 2 − 2z cos Te + 1
30 CHAPITRE 2. TRANSFORMÉE EN Z
2.4 Transformée inverse
Il s’agit, le plus souvent de revenir à l’original temporel, soit pour tracer la sortie d’un système échantillonné
soit pour retrouver l’équation récurrente, d’un correcteur pour l’implanter dans le calculateur.
z 2 k−1 1
Resz=1 = lim z =
z→1 z − a 1−a
z 2 k−1 ak+1
Resz=a = lim z =
z→a z − 1 a−1
donc
1 ak+1 1 − ak+1
F (kTe ) = + =
1−a a−1 1−a
z z − 0.5
−z + 0.5 1 + 0.5z −1 + 0.25z −2 + · · ·
0 + 0.5 (2.14)
−0.5 + 0.25z −1
0 + 0.25z −1
f ? (t) = δ(t) + 0.5δ(t − Te ) + 0.25δ(t − 2Te ) + · · · donc f (0) = 1, f (T e) = 0.5, f (2Te ) = 0.25, · · ·
2.4. TRANSFORMÉE INVERSE 31
2.4.3 Par l’utilisation des tables
Méthode : décomposer F (z)
z en éléments simples
Puis à l’aide du tableau A.1 donné en page 90 retrouver les originaux fi (t)
Développer F (z)
z en éléments simples,
rechercher les racines du dénominateur z1 , z2 , · · · , zn ,
construire
F (z) C1 C2 C3 Cn
= + + + ··· + ,
z z − z1 z − z2 z − z3 z − zn
revenir à
C1 z C2 z C3 z Cn z
F (z) = + + + ··· + .
z − z1 z − z2 z − z3 z − zn
Puis en utilisant
−1 z
Z = ak ,
z−a
on obtient :
f (kTe ) = C1 z1k + C2 z2k + C3 z3k + · · · + Cn znk .
Remarque : les zi peuvent être complexes, mais sont complexes conjugués deux à deux.
En résumé
Fig. 2.4 – Opérations fondamentales de réduction des graphes. Le schéma de droite est équivalent à celui de
gauche.
Pour aller plus loin : Donner la fonction de transfert du système décrit à la figure 2.5.
ABDE+AGE
Fig. 2.5 – Exercice : montrez que ce schéma se réduit à un bloc de transmittance : (1+ABC)(1+DEF ).
2.5. TRANSMITTANCES ÉCHANTILLONNÉES 33
2.5.2 Transformée en z d’un schéma bloc
La figure 2.6 décrit une partie de schéma bloc en p, il s’agit alors de transformer ce schéma en un schéma bloc
en z. La tentation est grande de transformer terme à terme, mais c’est faux !
Fig. 2.6 – Il est impossible de transformer un graphe en p en un graphe en z par transformation des différents
blocs !
G1 (p) → G1 (z)
G2 (p) → G2 (z)
G(p) = G1 (p)G2 (p) 9 G(z) = G1 (z)G2 (z)
Pour que cela soit vrai il faut que le signal entre G1 et G2 soit un signal échantillonné.
Les deux exemples suivants illustreront ce problème.
En premier lieu, il nous faut la transmittance en p du bloqueur d’ordre 0, ensuite nous verrons comment
déterminer la transformée en z de l’ensemble.
34 CHAPITRE 2. TRANSFORMÉE EN Z
Fonction de transfert d’un bloqueur d’ordre 0
Rappel : La transformée de Laplace d’un système est la transformée de Laplace de sa réponse impulsionnelle.
Si l’on soumet un bloqueur d’ordre 0 à une impulsion, on obtient la sortie illustrée en figure 2.9.
B0 (t) = U (t) − U (t − Te )
B0 (p) = U (p) − U (p)e−Te p
1 − e−Te p
B0 (p) =
p
1 − e−Te p
G(z) = Z G(p)
p
G(p) e−Te p
= Z − G(p)
p p
d’où
z−1 G(p)
G(z) = Z
z p
Une table des transformées usuelles de systèmes précédés d’un bloqueur d’ordre 0 est donnée dans le tableau
A.2 en page 91.
>> Te=1;
>> sys=tf([1],[1 1 0] )
Transfer function:
1
-------
s^2 + s
Transfer function:
0.3679 z + 0.2642
----------------------
z^2 - 1.368 z + 0.3679
Sampling time: 1
>> sysc=d2c(sysd,’zoh’);
>> present(sysc);
36 CHAPITRE 2. TRANSFORMÉE EN Z
Transfer function:
-9.84e-016 s + 1
--------------------
s^2 + s + 1.776e-015
Chapitre 3
Avant de faire une correction quelconque il faut analyser le système. Dans ce chapitre nous aborderons le lien
entre les pôles en p et les pôles en z afin de comprendre comment le système réagit à une entrée de consigne
et dans quelle mesure il est possible de transformer cette réaction. Deux points sont fondamentaux, la stabilité
du système et sa précision. En effet on cherche toujours à améliorer ces deux points lorsque l’on asservit un
système.
Notez que ces analyses sont totalement indépendantes du fait que l’on parle d’un système en boucle ouverte
ou en boucle fermée. Hormis l’analyse de la stabilité par le critère de Nyquist (non abordé dans ce cours) qui
prédit la stabilité d’un système bouclé par un retour unitaire, l’ensemble des autres points s’appliquent sur une
fonction de transfert, celle-ci représentant soit un système en boucle ouverte soit en boucle fermée.
3.1 Stabilité
Définition 1 Un système est dit stable si, écarté de sa position de repos, celui-ci revient à cette position
lorsque la cause qui l’en a écarté cesse.
Définition 2 Un système est dit stable si sa réponse à toute entrée bornée est bornée.
Fig. 3.1 – Stabilité des systèmes au sens de Lyapounov [12] : illustration de la stabilité d’une bille sur un profil.
37
38 CHAPITRE 3. ANALYSE DES SYSTÈMES
3.1.1 Conditions de stabilité
Nous avons vu au §2.4.3 qu’un signal F (z) de la forme :
C1 z C2 z C3 z Cn z
F (z) = + + + ··· +
z − z1 z − z2 z − z3 z − zn
avait pour original f (kTe ) de la forme :
lim f (kTe ) = 0
k→∞
donc que :
|zi | < 1
En d’autres termes, pour qu’un système soit stable, il faut et il suffit que les pôles de la fonction de transfert
soient de module inférieur à 1.
Par abus de langage, nous inclurons dans l’ensemble des systèmes stables ceux ayant un ou plusieurs pôles en
1. 1
Pour connaı̂tre la stabilité d’un système il suffit alors de calculer le module des pôles du système. Ce calcul
est le plus souvent fastidieux voire impossible. C’est pourquoi, il existe des critères de stabilité ne faisant pas
directement le calcul des pôles mais qui permettent de savoir s’ils sont, ou pas, de module inférieur à 1.
j
ajn−j−k
a0
pour 0 ≤ k ≤ n − j − 1
aj+1
j
= ajk
k an−j
pour k > n − j − 1
0
Le polynôme D(z) n’a aucun zéro de module supérieur à 1 si les n + 1 conditions suivantes sont respectées :
Pn 0
1. i=0 ai = D(1) > 0
n
2. (−1)n i=0 (−1)i a0i = (−1)n D(−1) > 0
P
3. a00 − a0n < 0
4. aj0 − ajn−j > 0 pour j = 1, · · · , n − 2
Exemple :
D(z) = a00 + a01 z + a02 z 2 + a03 z 3
a00 a01 a02 a03
a10 a11 a12 0
Pn 0
1. i=0 ai = D(1) > 0
n
(−1)n i=0 (−1)i a0i = (−1)n D(−1) > 0
P
2.
0
3. a0 − a03 < 0
4. a10 − a12 > 0
z−1 1+w
w= z=
z+1 1−w
Déterminer les condition de stabilité du système par l’application du critère de Routh sur la trans-
formée en w :
2z + 1
H(z) = 3
z + 2z 2 + 4z + 7
2 Logiciels gratuits !
3.2. CORRESPONDANCE DES PLANS Z ET P 41
3.2 Correspondance des plans z et p
L’objectif est de déterminer le type de comportement du système à la vue des pôles du système tracés dans le
plan complexe.
Etudions le lien entre un pôle simple en p et son transformé par la transformation en z
Pôles simples
1 z
−→
p+a z − e−aTe
Le pôle en −a est transformé en un pôle en e−aTe
L’axe des réels en p est transformé en l’axe des réels positifs en z. l’axe des réels négatifs en z n’a pas de
correspondant en p.
p
p1 , p1 = −ξωn ± ıωd −→ z1 , z1 = e−ξωk Te cos(ωd Te ) ± e−2ξωk Te cos2 (ωd Te ) − e−2ξωk Te
p
où ωd = ωn 1 − ξ 2 = e−ξωk Te (cos(ωd Te ) ± ı sin(ωd Te ))
= e−ξωk Te e±ıωd Te
(3.1)
Fig. 3.8 – Relation entre pôles du système continu et ceux du système échantillonné.
3.3. LE LIEU D’EVANS 43
3.3 Le lieu d’Evans
3.3.1 Définition
Fig. 3.9 – Le lieu d’Evans : calcul des pôles du système en boucle fermée par un gain k .
Le lieu d’Evans est le lieu des pôles de la fonction de transfert en boucle fermée lorsque le gain K varie de 0 à
l’infini.
Ce lieu est donc un moyen de choisir un gain K pour obtenir, en boucle fermée, des performances pré-spécifiées.
La construction du lieu est assez complexe et fait appel à 8 règles que vous trouverez dans [3]. La synthèse
de correcteurs à l’aide de cette méthode est parfaitement possible mais demande un peu d’expérience pour le
choix des pôles et des zéros du correcteur. Néanmoins avec une méthode de type ”try and error” on arrive à
de bons résultats.
3.3.2 Exemples
1
G(z) = (z−0.1)(z−0.9)
z−0.5
G(z) = (z−0.1)(z−0.9)
z+0.5
G(z) = (z−0.1)(z−0.9)
(z+0.7)(z+0.2)
G(z) = (z−0.1)(z−0.9)
(z+0.7)(z+0.2)
G(z) = (z−0.1)(z−0.5)(z−0.9)
On considère le schéma présenté en figure 3.10. Calculons l’erreur statique du système pour une entrée w(z) en
échelon et une perturbation p(z) nulle.
W (z)
ε(z) = 1 + C(z)G(z)
Calculons maintenant la limite de ε(kTe ) lorsque k → ∞
W (z)
lim ε? (t) = lim ε(kTe ) = lim (1 − z −1 )ε(z) = lim (1 − z −1 )
t→∞ k→∞ z→1 z→1 1 + C(z)G(z)
Avec une entrée en échelon unité
z
W (z) =
z−1
on obtient :
z 1 1
lim ε(kTe ) = lim (1 − z −1 ) = lim
k→∞ z→1 z − 1 1 + C(z)G(z) z→1 1 + C(z)G(z)
l’objectif étant d’avoir une erreur statique nulle, il faut que
lim ε(kTe ) = 0
k→∞
Supposons maintenant que C(z) ou G(z) possède un intégrateur pur. La transmittance en boucle ouverte peut
s’écrire :
N (z) N (z)
C(z)G(z) = =
D(z) (z − 1)D0 (z)
donc
1 1 (z − 1)D0 (z)
lim = lim = lim =0
z→1 1 + C(z)G(z) z→1 1 + N (z) z→1 (z − 1)D 0 (z) + N (z)
(z−1)D 0 (z)
Conclusion : pour qu’un système présente une erreur statique nulle pour une entrée en échelon, il faut que
la transmittance en boucle ouverte présente au moins un intégrateur pur.
3.4. PRÉCISION DES SYSTÈMES ÉCHANTILLONNÉS 47
3.4.2 Erreur vis-à-vis de la perturbation
Supposons cette fois que l’entrée W (z) est nulle et que la perturbation P (z) est un échelon unité.
L’erreur est :
z −G(z) −G(z)
lim ε(kTe ) = lim (1 − z −1 ) = lim
k→∞ z→1 z − 1 1 + C(z)G(z) z→1 1 + C(z)G(z)
Supposons que le système en boucle ouverte possède un seul intégrateur pur et étudions les deux cas suivants
Cas 1 : l’intégrateur pur est dans C(z).
Cas 2 : l’intégrateur pur est dans G(z).
Dans les deux cas :
NG (z)
−DG (z) −NG (z)DC (z)
lim ε(kTe ) = lim NC (z) NG (z)
= lim
k→∞ z→1 1+ z→1 DC (z)DG (z) + NC (z)NG (z)
DC (z) DG (z)
Cas 1 : l’ intégrateur pur est dans C(z). Cas 2 : l’intégrateur pur est dans G(z).
Conclusion : pour qu’un système présente une erreur statique nulle pour une perturbation en échelon, il
faut au moins un intégrateur pur en amont de la perturbation.
A(z)
W (z) =
(z − 1)m+1
où A(z) est un polynôme en z n’ayant pas (z − 1) en facteur.
kN (z)
CG(z) =
(z − 1)n D(z)
avec k le gain statique du système et N (z) et D(z) moniques3 .
3 Dont le coefficient de plus haut degré est 1.
48 CHAPITRE 3. ANALYSE DES SYSTÈMES
L’expression de l’erreur est alors :
A(z) 1 A(z) 1
lim ε(kTe ) = lim (1 − z −1 ) m+1
= lim (1 − z −1 )
k→∞ z→1 (z − 1) 1 + CG(z) z→1 (z − 1)m+1 1 + kN (z)
(z−1)n D(z)
soit :
z−1 A(z) (z − 1)n D(z) 1 (z − 1)n A(z)D(z)
lim ε(kTe ) = lim m+1
lim
k→∞ z→1 z (z − 1) (z − 1) D(z) + kN (z) z→1 z (z − 1)m (z − 1)n D(z) + kN (z)
n
Tab. 3.6 – Erreur permanente en fonction de l’entrée et de la classe du système en l’absence d’entrée de
perturbation.5
= ···
nb d’intégrateurs purs m=0 m=1 m=2 ···
1
0 1+k ∞ ∞ ···
Te
1 0 k ∞ ···
Te ..
2 0 0 k
.
..
3 0 0 0 .
.. .. .. .. ..
. . . . .
Pour aller plus loin : Quelle est l’erreur permanente du système 3.11 dans les conditions décrites ?
Fig. 3.11 – Système soumis à une entrée en rampe et une perturbation en échelon.
Dans le cas de systèmes instables en boucle ouverte, le cycle limite, véritable oscillation entretenue est inévitable.
Par contre l’amplitude de cette oscillation est contrôlable par le choix du pas de quantification.
50 CHAPITRE 3. ANALYSE DES SYSTÈMES
Chapitre 4
Il est, a priori, dommage de synthétiser un correcteur analogique puis de le convertir en correcteur numérique.
Les méthodes de synthèses numériques abondent et donnent de meilleurs résultats en termes de performances
(robustesse, précision, rejet de perturbation). Néanmoins dans le cas où le correcteur analogique est déjà
synthétisé et qu’il ne s’agit que de le transposer en numérique, la transformée bilinéaire donnée ci-après se
révèle fort utile 1 .
Par ailleurs, cette méthode de synthèse de correcteurs numériques couplée à une méthode de synthèse type
Ziegler-Nichols permet de synthétiser en quelques minutes un correcteur pour un système dont on ignore tout
ou presque et qui plus est, pratiquement sans comprendre l’automatique !
Fig. 4.1 – Principe de calcul de la dérivée par différences finies : différences vers l’avant et vers l’arrière.
1 La synthèse de correcteur analogiques sort du cadre de ce cours, reportez vous au poly d’automatique linéaire continue de B.
Lang
51
52 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
Remarque : La transformation bilinéaire introduit une distorsion des fréquences. Cette distorsion peut être
compensée à une pulsation donnée ω1 par l’utilisation de
ω1 z−1
Dérivation : p −→
tan(ω1 Te /2) z + 1
>> Te=1;
>> sys=tf([1],[1 1 1] ) % définition du système continu
>> sysd=c2d(sys,Te, ’tustin’); % transformée en z par transformée bilinéaire
>> present(sysd); % présentation du résultat
>> sysdp=c2d(sys,Te, ’prewarp’, 2); % transformée bilinéaire avec précompensée (f1=2rad/s)
>> present(sysdp); % présentation du résultat
>> sysdb=c2d(sys,Te, ’zoh’); % transformée avec BOZ
>> present(sysdb); % présentation du résultat
>> W=logspace(-1, 0.5, 200);
>> bode(sys,’r’,sysd,’y--’,sysdp,’gx’,sysdb,’k.’, W);
54 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
Tab. 4.1 – Coefficients d’un PID réglé par les méthodes de Ziegler-Nichols et Chien-Hrones-Reswick : essai
indiciel et méthode du pompage.
Régulation ou Régulation ou
Poursuite Poursuite Régulation Poursuite
1 1 1
P K = 0.5Kosc K= aτ K = 0.3 aτ K = 0.3 aτ
1 1 1
P.I K = 0.45Kosc K = 0.9 aτ K = 0.6 aτ K = 0.35 aτ
1
Ti = 0.83Tosc Ti = 3.3τ Ti = 4τ Ti = 1.2T ou 10τ
1 1 1
P.I.D K = 0.6Kosc K = 1.2 aτ K = 0.95 aτ K = 0.6 aτ
1
Ti = 0.5Tosc Ti = 2τ Ti = 2.4τ Ti = T ou 6τ
Td = 0.125Tosc Td = 0.5τ Td = 0.42τ Td = 0.5τ
Tab. 4.3 – choix d’une méthode de correction en fonction de l’indice de réglabilité : cas des systèmes instables
Réglabilité a.τ 0.05 < aτ 0.05 < aτ < 0.1 0.1 < aτ < 0.2 0.2 < aτ < 0.5 aτ > 0.5
Régulateur Tout ou rien P PI PID limite du PID1
(z − 2 + z −1 )
Te
(z − 1)U (z) = kp z − 1 + z + Td
Ti Te
ε(z)
d’où la transmittance du PID numérique
U (z) z kd z − 1
ε(z) = kp + ki Te z − 1 + Te z
Ce correcteur reste ”pédagogique”, dans une application industrielle on préférera les formes suivantes :
U (z) z kd z − 1
ε(z) = kp + ki Te z − 1 + Te z − α
Le choix de α est classiquement de 0.1
2. Lors d’un changement de consigne de type échelon, la dérivée du signal d’erreur entre la consigne et la
sortie est très grande (pratiquement une dérivée d’échelon soit un Dirac). La commande PID sur l’écart va
engendrer une commande proportionnelle à la variation de l’erreur via le module dérivateur. L’amplitude
de cette commande risque d’être inadmissible en pratique. Une solution pour limiter ce phénomène est
d’appliquer l’action dérivée seulement sur la sortie du procédé d’où le PID avec la dérivée sur la mesure
seule :
U (z) = kp ε(z) + ki Te
z
z−1
ε(z) − Tkd zz −− α1 Y (z)
e
3. Même remarque que précédemment mais cette fois sur la partie proportionnelle d’où le PID avec l’action
proportionnelle et dérivée sur la mesure seule :
z kd z − 1
U (z) = ki Te
z−1
ε(z) − kp + T z − α Y (z)
e
kd
uk = uk−1 + ki Te (ykc − yk ) − kp (yk−1 − yk ) − Te (yk − 2yk−1 + yk−2 ) PI ou PID
uk = kp (ykc − yk ) P
Comme pour la méthode de Ziegler-Nichols, il faut alors soumettre le système à l’un des deux essais :
un essai indiciel qui donne les valeurs de τ et a,
un essai en boucle fermée avec un gain K : on augmente K jusqu’à Kosc valeur du gain pour laquelle
on obtient une oscillation entretenue de période Tosc .
1
P kp = 0.5Kosc kp = a(τ +Te )
0.9
kp = 0.45Kosc − 0.5ki Te kp = a(τ +0.5Te ) − 0.5ki Te
P.I
ki = 0.54 Kosc
Tosc ki = 0.27
a(τ +0.5Te )2
1.2
kp = 0.6Kosc − 0.5ki Te kp = a(τ +Te ) − 0.5ki Te
P.I.D ki = 1.2 K osc
Tosc ki = 0.6
a(τ +0.5Te )2
3 0.5
kd = 40 Kosc Tosc kd = a
P
Ces réglages sont en fait les coefficients qui minimisent l’erreur k≥0 |εk |
4.4. MISE EN ŒUVRE D’UN ASSERVISSEMENT 59
4.4 Mise en œuvre d’un asservissement
4.4.1 Anti windup
Après application du correcteur précédent, la première imperfection qui apparaı̂t est due aux non linéarités du
système et en particulier les saturations de l’organe de commande (amplificateur, vanne, ...).
En particulier lorsque l’erreur est importante (démarrage par exemple), l’intégrateur intègre une erreur grande
et donc sa sortie est très grande. Lorsque le système arrive à la valeur de consigne, l’intégrateur est encore
”plein” et donc le système dépasse largement cette valeur de consigne.
Pour éviter ce phénomène deux méthodes sont de loin les plus utilisées, souvent simultanément :
la mise en place d’un générateur de trajectoire (ex : bras de robot), afin que le système ne quitte pas
son domaine de linéarité.
la mise en place d’un anti-windup qui limite la valeur stockée dans l’intégrateur pur au maximum de
commande admissible par le système.
G(z) = G1 (z)z −k
Le principe de synthèse est le suivant : on synthétise un correcteur C1 (z) pour le système non retardé G1 (z)
puis on adapte ce correcteur pour le système réel G(z).
Fig. 4.12 – Schéma idéal de correction de systèmes très retardés. Utopique car le retard pur n’est pas dissociable
du reste de la transmittance du système.
Bien que totalement irréalisable en l’état car le retard pur n’est pas dissociable du reste de la transmittance
du système, calculons tout de même la fonction de transfert du système présenté en figure 4.12.
C1 (z) G1 (z) −k
F (z) = z
1 + C1 (z) G1 (z)
En introduisant la transmittance G(z), on obtient :
C1 (z) G(z)
F (z) =
1 + C1 (z) G1 (z) − C1 (z)G(z) + C1 (z)G(z)
C1 (z) G(z)
F (z) =
1 + C1 (z) G1 (z)(1 − z −k ) + C1 (z)G(z)
C1 (z)
1+(1−z −k )G1 (z)C1 (z)
G(z)
F (z) = C1 (z)
1 + 1+(1−z−k )G1 (z)C1 (z)
G(z)
C1 (z)
C(z) =
1 + (1 − z −k )G1 (z)C1 (z)
C(z) est un correcteur est parfaitement réalisable : voir schéma 4.13.
Note : la mise en œuvre d’un prédicteur de Smith implique de posséder un très bon modèle du système. Les
systèmes présentant des variations de paramètres ne peuvent pas être corrigés par ce type de correcteur.
4.4. MISE EN ŒUVRE D’UN ASSERVISSEMENT 61
Le cas A de la figure 4.16 est presque idéal. Le cas B est le cas limite, le retard pur introduit par le temps de
calcul est de Te /2. Si le temps de calcul est vraiment trop important, il vaut mieux attendre le coup d’horloge
suivant pour envoyer la commande. Bien entendu ce cas introduit un retard pur dans le système qui doit être
pris en compte au moment de la synthèse (cas C). Un peu d’astuce permet presque toujours de se ramener au
cas D où tout ce qui peut être pré-calculé pour la commande suivante l’est juste après la sortie de la commande
en cours.
/* Calcul de l’erreur */
εn ← wn − yn ;
/* Calcul des termes du PID */
pn ← Kp εn ;
dn ← Kd (εn − εn−1 ) ;
in ← in−1 + Ki εn ;
/* Calcul de la commande */
vn ← pn + dn + in ;
/* Modèle de l’actionneur */
Si (vn ≤ Uinf ) Alors
un ← Uinf ; /* Commande réelle = saturation basse */
Sinon
Si (vn ≥ Usup ) Alors
un ← Usup ; /* Commande réelle = saturation haute */
Sinon
un ← vn ; /* Commande réelle = commande PID */
Fin Si
Fin Si
/* Sortie de la commande */
CNA ← un ;
/* Désaturation du terme intégral */
in ← in + un − vn ;
/* Mise à jour des variables */
εn−1 ← εn ;
in−1 ← in ;
Fin
(z − 2)(z − 0.5)
G(z) =
(z + 0.7)(z − 0.8)(z − 1)
On se propose de créer un correcteur parfait, c’est-à-dire, la compensation parfaite du système par le correcteur
C(z) soit :
1 (z + 0.7)(z − 0.8)(z − 1)
C(z) = =
G(z) (z − 2)(z − 0.5)
Le système corrigé en boucle ouverte devient donc :
1
C(z) G(z) = G(z) = 1
G(z)
C’est bien un système parfait, il est même inutile de boucler ! Bien entendu cela ne peut pas fonctionner et ce
pour deux raisons.
Stabilité
S(z) (z + 0.7)(z − 0.8)(z − 1)
C(z) = =
E(z) (z − 2)(z − 0.5)
Inutile de se lancer dans une étude, le correcteur C(z) est ostensiblement instable à cause du pôle en 2, donc
extérieur au cercle unité.
65
66 CHAPITRE 5. SYNTHÈSES À TEMPS D’ÉTABLISSEMENT FINI
s(k) est une fonction de la commande à l’instant suivant e(k + 1) ! Ce correcteur n’est pas causal, il est donc
impossible à réaliser.
Les synthèses de correcteurs numériques conduisent souvent à des correcteurs non causaux et/ ou instables, il
faut donc systématiquement vérifier :
la causalité
la stabilité
La méthode précédente ayant échoué, on se propose de réaliser un autre correcteur pratiquement aussi ”idéal”
que le précédent mais utilisant le bouclage.
C(z)G(z)
F (z) =
1 + C(z)G(z)
Première tentative :
C(z)G(z)
F (z) = 1 ⇒ =1
1 + C(z)G(z)
⇒ ....1 = 0
C’est encore impossible !
Deuxième tentative : La perfection étant impossible à atteindre, essayons de déterminer un correcteur qui
rendrait le système corrigé équivalent à un retard pur. La sortie suivrait parfaitement l’entrée mais décalée
d’une période d’échantillonnage.
On résout donc :
C(z)G(z)
F (z) = = z −1
1 + C(z)G(z)
z −1
C(z) =
G(z)(1 − z −1 )
Application numérique :
50.0 z 2 − 5.0 z − 28.0
C(z) = 0.04
2.0 z 2 − 5.0 z + 2.0
causalité : oui
stabilité : non (pôles en 0.5 et 2 !)
Le résultat de cette correction est présenté en figure 5.2. Comme prévu le système est bien instable, mais
observez que la réponse continue du système passe bien par 1 aux instants d’échantillonnage !
Essayons de formaliser un peu plus cette approche à l’aide des synthèses à temps d’établissement fini.
5.2. SYNTHÈSES À TEMPS D’ÉTABLISSEMENT FINI 67
Fig. 5.3 – Comparaison de l’erreur permanente entre un système à temps d’établissement fini ou infini.
Définition Un système est dit à temps d’établissement fini si l’erreur ε? (t) s’annule en un nombre fini
d’échantillons, pour une entrée u(t) = tm spécifiée.
Corollaire ε(z) est donc un polynôme en z (donc pas une fraction rationnelle)1 .
La transformée en z de u(t) = tm est de la forme2 U (z) = (1−zP−1
(z)
)m+1 avec P (z) polynôme en z de degré d ≤ m.
− F (z))
ε(z) = U (z) − Y (z) = U (z) [1 − F (z)] = P(1(z)(1
− z −1 )m+1
(5.1)
− F (z))
ε(z) = P(1(z)(1
− z −1 )m+1
= P (z)K(z)
1 − F (z) = (1 − z −1 )m+1
ε(z) = P (z) = p0 + p1 z −1 + p2 z −2 + . . . + pm z −m
Donc ε? (t) s’annule pour t = (m + 1)Te
Le correcteur C(z) est alors :
1 − (1 − z −1 )m+1
C(z) =
(1 − z −1 )m+1 G(z)
Remarque 1 : Le correcteur compense les pôles et les zéros de G(z) donc cette méthode de commande ne
s’applique qu’aux systèmes ne possédant que des pôles et des zéros stables !
Remarque 2 : seul ε? (t) s’annule, pas ε(t) !
Fig. 5.4 – L’erreur échantillonnée est bien nulle mais l’erreur continue ne l’est pas.
B + (z)B − (z)
G(z) =
A+ (z)A− (z)
où B + (z), B − (z), A+ (z), A− (z) sont des polynômes tels que :
5.2. SYNTHÈSES À TEMPS D’ÉTABLISSEMENT FINI 69
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)
alors :
A+ (z)A− (z) F (z)
C(z) =
B + (z)B − (z) 1 − F (z)
Comme C(z) ne peut pas contenir B − (z) au dénominateur (pôles instables) alors F (z) doit contenir en facteur la
partie instable B − (z). De même, C(z) ne peut pas contenir au numérateur A− (z) (ce serait de la compensation
de pôles de G(z) instable !) donc 1 − F (z) doit contenir en facteur A− (z).
Remarque : les pôles et zéros sur le cercle unité sont à considérer comme instables
le problème posé se ramène à la résolution de 3 équations :
F (z) = B − (z)L(z) (non compensation des zéros instables par le correcteur) (5.3)
1 − F (z) = A− (z)J(z) (non compensation des pôles instables par le correcteur) (5.4)
1 − F (z) = (1 − z −1 )m+1 K(z) (temps d’établissement fini) (5.5)
qui se condense en :
Si la résolution donne
K(z) = A− (z)K 0 (z) = k0 + k1 z −1 + k2 z −2 + +kn z −k
alors
ε(z) = U (z)K(z) = ε0 + ε1 z −1 + ε2 z −2 + · · · + εm+n z −(m+n)
Le transitoire est bien de durée finie, mais de m + n + 1 périodes d’échantillonnage.
70 CHAPITRE 5. SYNTHÈSES À TEMPS D’ÉTABLISSEMENT FINI
5.2.3 Réponse pile
La réponse pile est un cas particulier des systèmes à temps d’établissement minimal non absolu.
Définition Un système est dit à réponse pile lorsque la sortie continue atteint son régime permanent pour
une entrée canonique en un nombre fini d’échantillons.
Conditions Pour pouvoir réaliser un correcteur à réponse pile pour une entrée de type u(t) = tm , il faut que
le système présente au moins m intégrateurs purs.
La figure 5.5 montre un exemple classique avec les différents signaux. On veut, pour une entrée en parabole ,
que la sortie soit une parabole. Le système présentant deux intégrateurs purs, il faut que la sortie du correcteur
soit une constante au bout d’un certain temps (le temps d’établissement).
Puisque la sortie du correcteur est constante au bout du temps d’établissement, cette sortie s’écrit :
W1 (z)
W (z) =
1 − z −1
La sortie du système en boucle fermée est :
B + (z)B − (z)
W1 (z) = U1 (z)F (z)
A+ (z)A−0 (z)
0
A+ (z)A− (z)
W1 (z) = U1 (z)F (z) +
B (z)B − (z)
0
W1 , F, U1 , A+ , A− , B + , B − étant des polynômes, il vient immédiatement que F s’écrit :
0
1 − F (z) = (1 − z −1 )m+1 A− K 0 (z) (5.9)
F (z) = B + (z)B − (z)L(z) (5.10)
1 F (z)
C(z) = (5.12)
système 1 − F (z)
0
A+ (z)A− (z)(1 − z −1 )m F (z)
C(z) = (5.13)
B + (z)B − (z) 1 − F (z)
0
A+ (z)A− (z)(1 − z −1 )m B + (z)B − (z)L(z)
= (5.14)
+
B (z)B (z) − (1 − z −1 )m+1 A−0 K 0 (z)
A+ (z)L(z))
= (5.15)
(1 − z −1 )K 0 (z)
z 2 + 0.3062z + 0.1353
Cem (z) =
0.9858z 2 − 0.5302z − 0.4557
Fig. 5.6 – Comparaison des commandes et sorties pour un correcteur ”pile” et à temps d’établissement mini-
mum : Te =0.5s.
Fig. 5.7 – Comparaison des commandes et sorties pour un correcteur ”pile” et à temps d’établissement mini-
mum : Te =1s.
5.3. RÉSOLUTION DE L’ÉQUATION DIOPHANTIENNE 73
5.3 Résolution de l’équation diophantienne
Quelle que soit la méthode adoptée pour le calcul du correcteur (Zdan, pile RST, ...), cela revient à la résolution
d’une équation diophantienne de la forme :
AX + BY = C
d˚X ≥ d˚B − 1
d˚Y ≥ d˚A − 1
Soit
(a0 +a1 z −1 +· · ·+an z −k )(x0 +x1 z −1 +· · ·+xk z −k )+(b0 +b1 z −1 +· · ·+bm z −m )(y0 +y1 z −1 +· · ·+yl z −l ) = c0 +c1 z −1 +· · ·+cp z −p
où p ≤ n + sup(k, l)
a0 x0 + b0 y0 = c0
a x +a x +b y +b y =c
1 0 0 1 1 0 0 1 1
a2 x0 + a1 x1 + a0 x2 + b2 y0 + b1 y1 + b0 y2 = c2
···
··· b0 0 ··· 0
a
0 0 0
..
..
a1 a0 . b1 b0 .
c0
.. .. ..
a2 a1 . 0 b2 b1 . 0 x0
.
. .. .. ..
. .. .
.. ..
. . . a0 . b2 b0
. .
..
..
..
an . a1 . b1 xk .
max(n + k, m + l) + 1 =
.. ..
0 an . . y0 cp
.
. .. .. .. .. ..
. 0
. . . bm . .
..
.. ..
yl
··· ··· .
0 an . .
. .. .. .. ..
.. 0
. .
. .
0 ··· ··· 0
0 ··· ··· bm
| {z }| {z }
k+1 l+1
Pour que cette matrice soit inversible, il faut que
max(n + k, m + l) + 1 = k + l + 1
Ce qui correspond à l’équation 5.16. Si toutefois cette dernière condition est respectée mais que le déterminant
de A est nul, c’est que les polynômes A et B ne sont pas premiers entre eux.
d˚X = d˚B − 1 = 0
d˚Y = max{(d˚C − d˚B)}, (d˚A − 1) = max{(4 − 1, 2)} = 3
(1 + 2z −1 − 3z −2 − z −3 )X + (0.5 + 0.01z −1 )Y = 1
d˚Y = d˚A − 1 = 2
d˚X = d˚B − 1 = 0
(1 + 2z −1 − 3z −2 − z −3 )(x0 ) + (2 + 3z −1 )(y0 + y1 z −1 + y2 z −2 ) = 1
soit sous forme matricielle :
1 2 0 0 x0 1
2 3 2 0 y 0
0 =
−3
0 3 2 y1 0
−1 0 0 3 y2 0
x0 −0.7297
y0 0.8649
=
y1 −0.5676
y2 −0.2432
76 CHAPITRE 5. SYNTHÈSES À TEMPS D’ÉTABLISSEMENT FINI
Chapitre 6
En boucle fermée, vous pouvez espérer accélérer le système d’un facteur 3 à 10. Après cela, vous quitterez le
cadre de l’hypothèse fondamentale de ce cours : le système est linéaire.
77
78 CHAPITRE 6. MÉTHODES DE COMMANDE AVANCÉES
Les pôles du système en boucle fermée seront choisis en évitant les zones grisées de la figure 6.2. En voici les
raisons :
Pas trop proches du cercle unité. En effet une petit variation de modèle (vieillissement, variation de
masse, ...) pourrait engendrer une instabilité du système.
Pas trop proches du point 1. Sinon, vous ne diminuez pas le temps d’établissement ou alors vous avez
mal choisi la fréquence d’échantillonnage.
Pas de facteur d’amortissement trop petit, cela conduit à des dépassements importants de la consigne
et allonge le temps d’établissement.
Pas de pôles réels négatifs, car ces pôles génèrent une oscillation amortie non souhaitable.
Un pôle est très souvent utilisé, le retard pur (en z = 0), pôle le plus ”rapide”.
Si vous respectez ces critères, vos pôles en boucle fermée devraient être dans la zone non grisée de la figure 6.2.
Nous parlons peu des zéros de la fonction de transfert. Non pas qu’ils soient négligeables, bien au contraire ! Ils
ont une influence sur le comportement du système mais sont difficiles à contrôler. En fait leur contrôle demande
un correcteur un peu plus complexe. Deux méthodes de synthèse vous sont proposées ci-après.
La première, la méthode de Zdan, ne s’occupe que des pôles de la fonction de transfert en boucle fermée. En
présence de zéros, une première synthèse donne un correcteur aux performances assez éloignées du cahier des
charges que vous vous êtes posé. Une deuxième synthèse tenant compte de ce premier résultat donne alors de
bonnes performances.
La méthode RST, qui présente un degrés de liberté supplémentaire permet de placer les zéros aussi bien que
les pôles.
6.2. MÉTHODE DE ZDAN 79
6.2 Méthode de Zdan
Les méthodes à temps d’établissement fini conduisent le plus souvent à des correcteurs qui génèrent des com-
mandes trop importantes. Tous comptes faits, on cherche rarement d’aussi bonnes performances pour le système
bouclé. En général, une amélioration d’un facteur 3 sur le temps d’établissement et une erreur statique voire
de traı̂nage nulle sont suffisantes, compte tenu des saturations du système.
La méthode de Zdan propose de calculer un correcteur tel que le système en boucle fermée se comporte comme
un système du second ordre de pulsation propre ωn et de facteur d’amortissement ξ donnés.
6.2.1 Principe
On impose au système bouclé :
en régime transitoire : un comportement type second ordre (ωn et ξ)
en régime permanent : erreur nulle pour une entrée canonique u(t) = tm et éventuellement une erreur
donnée pour u1 (t) = tm+1 . Exemple : erreur nulle à l’échelon, erreur spécifiée pour une rampe.
B + (z)B − (z)
G(z) =
(1 − z −1 )l A+ (z)A− (z)
où B + (z), B − (z), A+ (z), A− (z) sont des polynômes tels que :
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)
C1 (z) doit annuler l’erreur permanente, compte tenu des l intégrateurs purs déjà contenus dans G(z)
donc, en l’absence de perturbations 2 :
1
C1 (z) =
(1 − z −1 )m+1−l
C3 (z) doit imposer le comportement en boucle fermée et comporte au moins autant de paramètres que de
spécifications à satisfaire.
Posons :
∆1 (z)
C3 (z) =
∆2 (z)
∆1 (z) et ∆2 (z) seront choisis les plus courts possible de la forme :
1 La synthèse en z est parfaitement possible mais conduit à des erreurs faciles à éviter en utilisant la forme en z −1 .
2 En cas de perturbations, le nombre d’intégrateurs purs ne suis pas la formule donnée. Reportez vous au §3.4.
80 CHAPITRE 6. MÉTHODES DE COMMANDE AVANCÉES
B − (z)∆1 (z)
C(z) G(z) = C1 (z) C2 (z) C3 (z) G(z) =
(1 − z −1 )m+1 A− (z)∆2 (z)
La transmittance en boucle fermée est :
C(z)G(z) NF (z)
F (z) = =
1 + C(z)G(z) DF (z)
En écrivant l’égalité des dénominateurs on obtient :
Choix de DF (z) Comme indiqué précédemment, on cherche un comportement de type second ordre. Aussi,
DF (z) sera décomposé en deux parties telles que :
DF (z) = (1 + p1 z −1 + p2 z −2 ) P 0 (z)
| {z } | {z }
pôles dominants pôles négligeables
p
−2e−ξωTe cos(ωTe 1 − ξ 2 )
p1 =
avec :
p2 = e−2ξωTe
Les pôles négligeables seront choisis tels que |zi | < 0.1 et le plus souvent zi = 0 soit des retards purs. Leur
nombre est fonction de l’équation 6.1. En effet, il doit y avoir égalité des degrés des polynômes.
Résolution de l’équation 6.1 Une fois l’équation posée, le nombre de pôles négligeables s’obtient directe-
ment par l’équation des degrés de chaque membre. La résolution s’effectue en identifiant les termes kc , αi et βi
en posant les égalités des termes de même degré. Une méthode de résolution plus longue mais plus systématique
est donnée au §5.3
Quelques remarques
Remarque 2 : Rien n’oblige à choisir un comportement en boucle fermée de type second ordre, ordre 1 ou 3 ou
n marchent aussi, on parle alors de méthode du modèle.
Remarque 3 : En utilisant la décomposition en z −1 vous verrez apparaı̂tre les retards purs du système. Ceux-
ci ne sont pas compensables, en effet un système ayant n retards purs ne répondra jamais en moins de n
échantillons. A ce titre, les retards purs doivent figurer dans B − (z) et se retrouveront dans la fonction de
transfert en boucle fermée : NF (z) = B − (z)∆1 (z).
6.3. COMMANDE RST 81
6.3 Commande RST
Fig. 6.3 – Principe de correcteur par correcteur RST. V(z) est une perturbation de charge, E(z) est une
perturbation de sortie.
La forme générale de la loi de commande d’un correcteur de type RST est : (voir schéma 6.3)
T (z) R(z)
U (z) = W (z) − Y (z) (6.3)
S(z) S(z)
La sortie du système bouclé est donnée par :
B(z) B(z)
Y (z) = U (z) + V (z) + E(z)
A(z) A(z)
Afin d’alléger les notations, les arguments des polynômes ne seront plus notés.
En réécrivant (6.2) et (6.3),
Explicitons U (z) :
AT BR AR
U (z) = W (z) − V (z) − E(z) (6.6)
AS + BR AS + BR AS + BR
et Y (z)
BT BS AS
Y (z) = W (z) − V (z) − E(z) (6.7)
AS + BR AS + BR AS + BR
82 CHAPITRE 6. MÉTHODES DE COMMANDE AVANCÉES
6.3.1 Synthèse de la loi de commande RST
Synthèse par placement de pôles On cherche une loi de commande U (z) telle que le système en boucle
fermée ait une fonction de transfert modèle donnée de la forme :
Bm (z)
Fm (z) =
Am (z)
or, d’après 6.7 et en supposant V = E = 0
BT
Y (z) = W (z) (6.8)
AS + BR
Il faut donc réaliser :
BT Bm
= (6.9)
AS + BR Am
Compensation des zéros Afin de simplifier les calculs mais surtout afin d’obtenir une fonction de transfert
d’ordre le plus faible possible, on cherche à compenser les pôles et les zéros.
Posons :
B = B+B−
où :
B+ contient tous les zéros de G(z) intérieurs au cercle unité (dits ”stables”)
B − contient tous les zéros de G(z) extérieurs ou sur le cercle unité (dits ”instables”)
Note 1 : afin d’obtenir ultérieurement S sous forme monique on prendra B + sous forme monique.
Note 2 : concernant les retards purs, ceux-ci étant impossibles à compenser ils font donc partie de B − , car le
système ne peut réagir plus vite que son retard pur.
B − ne pouvant être en facteur de AS + BR (compensation interdite) il faut que B − divise Bm , donc :
Bm = B − Bm
0
B + peut être un facteur de AS + BR (compensation permise) il devra dans ce cas diviser aussi S, donc :
S = B+S0
Réécrivons ces résultats, (6.9) devient :
B+B−T B − Bm
0
= (6.10)
B + (AS 0 −
+ B R) Am
en simplifiant :
0
T Bm
= (6.11)
AS 0 + B − R Am
Ce qui implique que :
0
T = A0 B m (6.12)
0 −
AS + B R = A0 Am (6.13)
Où A0 est un polynôme donné dit polynôme observateur par analogie avec la commande par retour d’état
(Cours commande avancée 2A).
Le polynôme caractéristique de la boucle fermée est alors :
AS + BR = B + A0 Am (6.14)
Remarque 1 : A0 contient les modes de la boucle fermée qui ne seront pas excités par le signal de commande,
par contre ces modes seront excités par une perturbation !
0
B − Bm
0
Y BT BA0 Bm Bm
= = + = =
W E=V =0
AS + BR B A0 Am Am Am
Par contre :
AB + S 0 AS 0
Y AS
= = + =
E W =V =0
AS + BR B A0 Am A0 Am
6.3. COMMANDE RST 83
Remarque 2 :
0
AB 0
U AT AA0 Bm
= = + = + m
W E=V =0
AS + BR B A0 Am B Am
Les zéros stables du procédé apparaissent comme des pôles de la fonction de transfert de w vers u ce qui peut
être néfaste (exemple pôles stables à partie réelle négative).
Annulation de l’erreur statique vis-à-vis des perturbations Ce qui suit n’est valable que pour une
perturbation E, si la perturbation est en V (voir schéma 6.3), le raisonnement reste identique mais les IT pur
du système (l) ne peuvent être pris en compte, car pour annuler l’erreur l’intégrateur doit être situé entre
l’entrée de perturbation et l’erreur.
La fonction de transfert de la boucle est :
BR B−R
Fb = =
AS AS 0
Pour annuler une erreur statique d’ordre m il faut que Fb ait m+1 intégrateurs purs (échelon : m=0, 1 IT pur).
La fonction de transfert du procédé possède déjà l pôles en z = 1 donc :
A(z) = (1 − z −1 )l A+ A−
S 0 = (1 − z −1 )m+l−l S10 A+ A−
Bm
Là encore comme pour la méthode de Zdan, Bm doit contenir tous les retards purs du système à corriger. Il
contient aussi tous les zéros dit ”instables”, c’est-à-dire extérieurs au cercle unité.
Bm peut aussi contenir d’autres zéros, en particulier ceux qui, tout en étant intérieurs au cercle unité, ont une
partie réelle négative. S’ils sont compensés, donc au dénominateur du correcteur, la commande du système
présentera une réponse indicielle alternée rapide, peu appréciée des systèmes (voir fig. 3.7 ).
A0
Le polynôme d’”observation” A0 est, en général, choisi égal à 1, on a alors une dynamique identique en asservis-
sement et en régulation. On peut aussi le choisir de la forme (1 − az −1 ). Dans ce cas, on filtre les perturbations,
la réaction de l’asservissement sera plus ”douce” mais plus longue.
En reprenant 6.12
0
R = T = A0 B m
Si on compense les pôles stables du procédé à l’aide de A0 le polynôme d’observation :
A0 = A+
84 CHAPITRE 6. MÉTHODES DE COMMANDE AVANCÉES
donc,
0
R = A+ B m
et l’équation diophantienne (6.15) devient :
(1 − z −1 )m+1 S10 A+ A− + B − A+ Bm
0
= A+ Am (6.16)
soit,
(1 − z −1 )m+1 A− S10 + B − Bm
0
= Am (6.17)
qui est en fait l’équation diophantienne de la méthode de Zdan en posant :
0
∆1 (z) = Bm (z)
∆2 (z) = S10 (z)
Bibliographie
85
86 BIBLIOGRAPHIE
Première partie
Annexes
87
Annexe A
Tables de transformées
89
90 ANNEXE A. TABLES DE TRANSFORMÉES
1 δ(t) 1
e−kTe p δ(t − kTe ) z−k
1 z
p Γ(t)=1 z−1
1 Te z
p2 t (z−1)2
1
p+a e−at z
z−e−aTe
Te ze−aTe
1
(p+a)2
te−at (z−e−aTe )2
(1−e−Te /τ )z
1
p(1+τ p) 1 − e−t/τ (z−1)(z−e−Te /τ )
Te z τ (1−e−Te /τ )z
1
p2 (1+τ p) t − τ + τ e−t/τ (z−1)2 − (z−1)(z−e−Te /τ )
Te ze−Te /τ
1
p(1+τ p)2 1 − (1 + τt )e−t/τ z
z−1 − z
z−e−Te /τ
− τ (z−e−Te /τ )2
ω z sin ωTe
p2 +ω 2 sin ωt z 2 −2z cos ωTe +1
p z(z−cos ωTe )
p2 +ω 2 cos ωt z 2 −2z cos ωTe +1
ze−aTe sin ωTe
ω
(p+a)2 +ω 2 e−at sin ωt z 2 −2ze−aTe cos ωTe +e−2aTe
p z 2 −ze−aTe cos ωTe
(p+a)2 +ω 2 e−at cos ωt z 2 −2ze−aTe cos ωTe +e−2aTe
ωn2 z z(z−cos ωn Te )
p(p +ωn2 )
2 1 − cos ωn t z−1 − z 2 −2z cos ωn Te +1
ωp −ξωn t
1 1−ξ 2 e sin ωp t
2
1+2ξ ωpn + p2
p
ωn ωp = ωn 1 − ξ2
ωn −ξωn t
1− ωp e sin(ωp t + ψ)
1
p
p
2
1+2ξ ωpn + p2
ωp = ωn 1 − ξ2
ωn
ψ = cos−1 ξ
b−a
(p+a)(p+b) e−at − e−bt z
z−e−aTe − z
z−e−bTe
ab b −at a −bt z bz az
p(p+a)(p+b) 1− a−b e − a−b e z−1 + (a−b)(z−e−aTe ) − (a−b)(z−e−bTe )
91
Tab. A.2 – Table des transformées en z des systèmes classiques précédés d’un bloqueur d’ordre 0. Te est la
période d’échantillonnage et a = e−Te /τ
Transmittance en p Transmittance en z
B0 (p) Te
p z−1
B0 (p)
1+τ p
1−a
z−a ,a = e−Te /τ
B0 (p) (Te −τ (1−a))z−aTe +τ (1−a)
p(1+τ p) z 2 −(1+a)z+a
b2 z 2 +b1 z+b0
z 3 −(2+a)z 2 +(1+2a)z−a
Te 2
B0 (p) b2 = 2 + Te τ + τ 2 (1 − a)
p2 (1+τ p) 2
b1 = ( T2e − 2τ 2 )(1 − a) + Te τ (1 + a)
Te
b0 = τ 2 (1 − a) − aTe (τ + 2)
b1 z+b0
z 2 −(e−Te /τ1 +e−Te /τ2 )z+e−Te /τ1 e−Te /τ2
−Te /τ1
B0 (p) )−τ2 (1−e−Te /τ2 )
(1+τ1 p)(1+τ2 p) b1 = τ1 (1−e τ1 −τ2
τ1 e−Te /τ2 −τ2 e−Te /τ1
b0 = e−Te /τ1 e−Te /τ2 − τ1 −τ2
B0 (p) 1−a Te a(z−1)
(1+τ p)2 z−a − τ (z−a)2
B0 (p) 1−a Te (2τ +Te )a(z−1) Te 2 a2 (z−1)
(1+τ p)3 z−a − τ 2 (z−a)2 − τ 2 (z−a)3
b2 z 2 +b1 z+b0
z 3 −(1+a1 +a2 )z 2 +(a1 +a2 +a1 a2 )z−a1 a2
ai = e−Te /τi
B0 (p) τ12 (1−a1 )−τ22 (1−a2 )
p(1+τ1 p)(1+τ2 p) b2 = Te − τ1 −τ2
τ12 (1+a2 )(1−a1 )−τ22 (1+a1 )(1−a2 )
b1 = −Te (a1 + a2 ) − τ1 −τ2
τ12 a2 (1−a1 )−τ22 a1 (1−a2 )
b0 = −Te a1 a2 − τ1 −τ2
B0 (p) b0 +b1 z
1+ ω2ξn p+ 12 p2 z 2 −2ze−ξωn Te cos(ωp Te )+e−2ξωn Te
ωn
sin(ω T )
p b0 = e−2ξωn Te + e−ξωn Te ( √ p e2 − cos(ωp Te ))
ωp = ωn 1 − ξ2 1−ξ
ξ sin(ωp Te )
ξ<1 b1 = 1 − e−ξωn Te √ + cos(ωp Te )
1−ξ 2
92 ANNEXE A. TABLES DE TRANSFORMÉES
Annexe B
Travaux dirigés
ENSMM 1˚ ANNEE
93
94 ANNEXE B. TRAVAUX DIRIGÉS
B.1. TD N˚1 : FRÉQUENCE D’ÉCHANTILLONNAGE ET ÉQUATIONS RÉCURRENTES 95
Donner l’allure des diagrammes de Bode et évaluer la pulsation de coupure (utiliser éventuellement MATLAB).
Dans quel intervalle peut-on choisir la période d’échantillonnage à utiliser pour observer la sortie de ce système ?
A l’aide de simulink tracer la réponse indicielle du système continu et la réponse échantillonnée avec les périodes
d’échantillonnage que vous avez déterminées. Conclure.
Systèmes récurrents
Exercice 2. Etude d’une équation de récurrence
s
n+1 + asn = un
Soit le système récurrent d’entrée un et sortie sn défini par
s =0
0
Calculer la suite { sn } lorsque l’entrée est une suite unitaire { un }={ 1,1,. . . .1,. . . }
Représenter graphiquement { sn } pour différentes valeurs de a. Sous quelle condition ce système est-il stable ?
A l’aide de Matlab , pour différentes valeurs de a exécuter les 2 commandes :
Calculer la suite { sn } lorsque l’entrée est une suite unitaire un ={ 1,1,. . . .1,. . . }.
Etudier la stabilité de ce système.
Exercice 4.
Soit le système récurrent d’entrée un et sortie sn défini par :
s
n+3 + asn+2 + asn+1 + bsn = un
a, b ∈ R+
Modélisation du système
Soit A le gain d’action P et B le gain d’action I. Donner le schéma fonctionnel de cette régulation
Donner l’équation de récurrence liant la commande uk à la consigne wk et à la mesure yk .
On mesure τ = 15ms et le produit km kg = 0.3. Quelle période d’échantillonnage Te peut-on choisir ?
On choisit Te = 10 ms. Calculer la transmittance en z de l’ensemble convertisseurs, ampli, moteur, génératrice
tachymétrique.
Régulation proportionnelle
(A6=0, B=0)
θs(p) Ke−10p
G(p) = =
U (p) 1 + 100p
Ce four est commandé par calculateur selon le schéma fonctionnel :
A(z − a)
C(z) =
K(1 − a)(z − β)
Calculer l’erreur statique. On souhaite une erreur statique nulle. Quelle valeur faut-il donner à β ?
Etudier la stabilité du système en boucle fermée en fonction de A.
Montrer qu’il faut A < 0.25 pour avoir une réponse sans dépassement.
Pour A = 0.25 calculer la réponse du système à un échelon unité. Calculer les 10 premières valeurs
de cette réponse et en déduire le temps de réponse à 5%.
3. On souhaite améliorer la rapidité de la réponse indicielle. Pour cela on choisit maintenant un régulateur
de la forme :
A(z − a)(z − α)
C(z) =
K(1 − a)(z − 1)(z − β)
Calculer A,α et β pour avoir une réponse en 2 périodes d’échantillonnage.
4. Peut-on trouver un correcteur donnant une réponse en une période ?
B.5. TD N˚5 ET 6 : ETUDE D’UN ASSERVISSEMENT DE POSITION 99
La perturbation Vp appliquée sur la commande du moteur est équivalente à la perturbation due à la variation
du couple résistant sur le moteur.
1 + Tp
C(p) = A avec a < 1
1 + aT p
On utilise la valeur de A calculée précédement pour conserver la précision de l’asservissement, mais on souhaite
une marge de phase supérieure à 70˚ pour avoir un bon amortissement. On choisit T = 1/60 et a = 1/4.
1. Vérifier avec Matlab que la condition sur la marge de phase est bien vérifiée.
2. En utilisant Matlab/Simulink tracer la réponse à un échelon de consigne et un échelon de perturbation
retardé de 20 ms.
Régulation proportionnelle
On choisit un correcteur C(z) = K
1. Etudier la stabilité de cet asservissement.
2. Retrouver la condition de stabilité en traçant, avec Matlab, le lieu d’Evans.
3. En utilisant ce lieu déterminer K pour avoir le meilleur temps de réponse.
4. Quelle est alors la valeur de l’erreur permanente en réponse à un échelon de consigne et à un échelon de
perturbation sur la commande.
0.025z −1 (1 + 0.816z −1 )
G(z) =
(1 − 0.952z −1 )(1 − 0.528z −1 )
Quelle est la différence fondamentale entre réponse pile et réponse à temps d’établissement minimal ?
Faites la synthèse dans les deux cas.
Comparez les points suivants :
— la valeur de l’erreur en régime permanent,
— la valeur maximum de la commande,
— le temps d’établissement.
102 ANNEXE B. TRAVAUX DIRIGÉS
d2 y dy 1 3 du
= −aby(t) + (a + b) + abu(t) + ( b − 2a)
dt2 dt 2 2 dt
avec a=ln(2) et b=ln(3)
La loi de commande uk est appliquée au système à l’aide d’un convertisseur numérique/analogique modélisé
par un bloqueur d’ordre zéro ; un convertisseur analogique/numérique modélisé comme un échantillonneur, est
placé en sortie (voir figure 1).
Modélisation
Y (p)
1. Donner la fonction de transfert G(p) = U (p) du procédé continu
Y (z)
2. On choisit Te =1s , donner la fonction de transfert G(z) = U (z) du procédé échantillonné.
Régulation proportionnelle
Régulateur RST
On souhaite que le système se comporte comme un système du 1˚ ordre de gain statique unité et de constante
de temps τ = 2s. On souhaite également une erreur statique nulle en réponse à un échelon de perturbation sur
l’entrée de commande U .
1. Calculer le régulateur RST qui satisfait ces conditions (voir principe du calcul page suivante).
2. A l’aide de simulink tracer la réponse à un échelon unitaire de consigne et un échelon de perturbation
d’amplitude 0.1 intervenant à t = 10s.
B.7. TD N˚8 : SYNTHÈSE D’UN RÉGULATEUR RST 103
B(z) T (z)
H(z) =
A(z) S(z)
R(z)
S(z)
Ou R, S, T sont des polynômes en z qui doivent respecter les contraintes :
deg(S) > deg(R)
deg(S) > deg(T )
Bm (z)
M (z) =
Am (z)
Le calcul de la transmittance en boucle fermée conduit à la relation :
BT Bm (z)
= (B.1)
AS + BR Am (z)
P Am = A(z − 1)α S 0 + Bi R
ou encore :
Bs P Am = AS + BR
On peut montrer qu’une solution de cette équation doit vérifier les inégalités :
deg(A ) − deg(B ) > deg(A) − deg(B)
m m
deg(P ) > 2 deg(A) − deg(A ) − deg(B ) + α − 1
m s
104 ANNEXE B. TRAVAUX DIRIGÉS
Annexe C
Tutorial Matlab
105
jouvencel
INTRODUCTION A MATLAB
ENVIRONNEMENT MATLAB
">>" symbole/prompt apparaissant à gauche et indiquant que l'interpréteur est prêt à recevoir
une commande.
Variables
Les variables définies par l'utilisateur sont rangées dans l'espace mémoire de Matlab, ces
variables sont dites globales.
Répertoires de travail
Matlab permet d'ouvrir, de créer, de modifier etc… des fichiers. Matlab sauvegarde tous les
fichiers créés dans le répertoire par défaut qu'il est possible de modifier à l'aide de la
commande "cd" ou en lançant le "path browser"
à l'aide de l'icône suivant :
1 Introduction Matlab
jouvencel
Aide / Help
Autres outils
Interpréteur
>> commande
résultat affichage du résultat
>> interpréteur disponible
Format d'affichage
Commentaires
2 Introduction Matlab
jouvencel
DONNEES
Vecteurs
Vecteur ligne
>> v=[1 2 3 4 5] ; % vecteur 1*5
>> v=[1:5]; % résultat identique à la ligne précédente (incrément de 1 par défaut)
>> v= [1:1:5]; % idem incrément spécifié
Vecteur transposé
>> v=[1 2 3 4 5] '; % vecteur 5*1
>> v=[1:5]';
>> v= [1:1:5]';
>> w=v';
Matrices
3 Introduction Matlab
jouvencel
SCRIPT
Script function
arguments Non Oui
valeur retournée Non oui
action sur var globales variables locales et globales
utilité actions répétées Extension matlab
function
4 Introduction Matlab
jouvencel
GRAPHISME
Tout tracé avec Matlab, s'effectue dans une fenêtre graphique que l'on crée par la commande
figure ou quand on exécute une commande de dessin (plot …). On peut créer autant de
fenêtres graphiques que l'on veut celles-ci étant numérotées de 1 à N au fur et à mesure de
leur création. La fenêtre graphique par défaut et la dernière qui a été créée par figure ou la
dernière activée par une commande de dessin ou sélectionnée avec la souris.
• figure % crée une fenêtre graphique qui devient la figure par défaut,
• figure(n) % crée une fenêtre graphique numéro n qui devient la fenêtre active
Fonctions
• plot
t = 0:0.1:5;
x = 2*sin(2*pi*t);
plot(t,x); % dessin de x en fonction de t, interpolation linéaire entre les points.
plot(t,x,'-') % idem avec style - - -
plot(t,x,'b-') % idem style --- couleur bleue
plot(t,x,'o') % idem pas d'interpolation, chaque point marqué par o
Un plot provoque l'effacement du dessin précédent (par défaut) on peut superposer des
dessins en mettant le commutateur hold à on
• hold on % désactivation par hold off
• title('Titre de la figure');
• xlabel('commentaire sur l'axe x');
• ylabel('idem axe y');
• axis([xmin,xmax,ymin,ymax]); % définit l'échelle des axes
• legend('tracé 1','tracé 2',….) ; %chaque tracé est associé à une légende
• grid % affiche une grille
• text(x,y,'texte') % place texte à la position x y dans la fenêtre
• gtext('texte") % place texte à la position définie avec la souris
5 Introduction Matlab
jouvencel
SIMULINK
LANCEMENT DE SIMULINK:
La fenêtre suivante contenant les librairies de simulink, apparaît ainsi qu'une fenêtre de
travail.
librairies de simulink
fenêtre de travail
6 Introduction Matlab
jouvencel
Méthode :
• On sélectionne avec la souris, le symbole >
situé sur un composant
• On maintient l'appui sur le bouton et on tire le
lien vers un symbole >
• On peut relâcher le bouton pour changer de
direction.
• On vérifie que la connexion est correcte par le
fait que la flèche est accentuée
Méthode
• On effectue un double clic sur le
composant exemple Mux, la fenêtre de
paramétrage s'ouvre,
• On tape les valeurs désirées : ici la valeur
2 pour indiquer 2 entrées,
• On ferme cette fenêtre par Close, les
nouvelles valeurs sont prises en compte.
Exercice
• paramétrer le générateur sinusoïdal avec une amplitude de 2 et une fréquence de
0.5 Hz
• le gain sera réglé à 0.5.
• régler la fréquence de départ du chirp à 0.01 hz
Méthode
• clic sur le nom
• on tape un nouveau nom
7 Introduction Matlab
jouvencel
Méthode
• Double clic sur le lien que l'on veut marquer,
• une fenêtre apparaît qui vous
indique le bon déroulement de l'opération.
• on tape un nom exemple sin,
Méthode
• à la sortie d'un composant : double clic sur le
lien,
• taper le symbole < puis cliquer hors de cette
fenêtre,
• taper Ctrl D (contrôle D)
Chaque
« tag » doit être modifié un par un, attention aux
correspondances.
8 Introduction Matlab
jouvencel
• on le sélectionne,
• on saisit une poignée,
• on étire ou on diminue.
Modifications
9 Introduction Matlab
jouvencel
undo
déroulement
Modification des liens simulation
• en utilisant les poignées situées sur le lien (une fois sélectionner celles-ci
apparaissent),
• en appuyant sur le bouton droit de la souris on ajoute un nouveau départ,
• shift et bouton gauche permet d'ajouter de nouvelles poignées de changement de
direction.
nouveau départ
nouvelle
poignée
SIMULATION
Paramétrage de la simulation
La simulation utilise un certain nombre de paramètres : menu simulationË parameters
• instant de départ ( 0 par défaut)
• instant d'arrêt (mettre 20s)
On étudiera ultérieurement les autres paramètres.
Faire close ce qui valide les modifications.
Lancement de la simulation
• menu simulation Ë start
• ou ctrl T
• ou icône >
• Une sonnerie indique la fin de la simulation
10 Introduction Matlab
jouvencel
Pour diverses opérations, il est intéressant de disposer des signaux dans l'environnement de
matlab ou de récupérer des signaux définis dans matlab.
Les blocs ToWorkspace de la librairie Sinks permettent de diriger les signaux vers
l'environnement de matlab dans l'exemple traité jusqu'à présent ceci est réalisé avec le bloc
nommé "signaux" sur lequel arrive le tag "de"
Exercice :
Dans la fenêtre de commande matlab, taper plot(tout,signaux)
signaux est une variable contenant les signaux générés
tout est une variable que l'on verra plus tard
Exemple
On définit la variable T=0:0.01:20; ainsi que le signal désiré U=sin(2*pi*t^3);
Attention les vecteurs T et U doivent être des vecteurs colonnes.
11 Introduction Matlab
jouvencel
x& 1 = x 2 + u cos( x1 )
x& 2 = u
y = x1
On va encapsuler le système précédent dans un sous système, cette méthode permet de rendre
plus lisible un schéma et de paramétrer le sous-système.
Méthode
• on sélectionne tous les éléments
qui formeront le sous-système
• On tape Ctrl G (ou EditËCreate
SubSystem)
12 Introduction Matlab
jouvencel
• On obtient : un bloc nommé Subsystem que l'on peut renommer, les entrées et
sorties peuvent être elle aussi renommées à l'intérieur du bloc (double clic pour
ouvrir le bloc).
• Des ports d'entrée et de sortie on été rajoutés automatiquement, on peut en ajouter
par exemple le port correspondant à x2
13 Introduction Matlab
jouvencel
1
Définition du système : H ( p ) = 2
p + 0.2 p + 1
Format :
> get(sys1)
14 Introduction Matlab
jouvencel
On obtient :
num = {[0 0 1]}
den = {[1 0.2 1]}
Variable = 's' …………… choix possible {continu : {s p} échantillonné : {z z-1 q}}
Ts = 0 ……………0 / système continu sinon la période d’échantillonnage
Td = 0 ……………0 ou la valeur d’un retard sur l’entrée
InputName = {''}………… on peut donner un nom à l’entrée
OutputName = {''}…………Idem pour la sortie
Notes = {}
UserData = []
Transfer function:
1
---------------
p^2 + 0.2 p + 1
analyse du système
Simulation
• Réponse impulsionnelle >impulse(sys1)
• Réponse à un échelon > step(sys1)
• Réponse à une entrée quelconque :
• Il faut définir la variable temporelle t=0 :0.01 :10 ;
• Il faut définir l’entrée u=sin(t)
• On simule > lsim(sys1,u,t)
Utilisation de simulink
15 Introduction Matlab
jouvencel
Interconnexion de systèmes
Discrétisation du correcteur
16 Introduction Matlab
jouvencel
Compléments
Le correcteur à avance de phase calculé précédemment, possède un gain statique que l’on peut
déterminer de la manière suivante : /aexer8/exer8
On vérifie dans ce cas que la marge de phase diminue, pour modifier la marge de phase, on
recalcule le correcteur en prenant en compte cette écart.
17 Introduction Matlab
jouvencel
X& (t ) = AX (t ) + Bu (t ) X k +1 = FX k + Gu k
ou
s (t ) = Cu (t ) + Du (t ) s k = CX k + Du k
Où X(t) (Xk) est le vecteur d’état de dimension n
A (F) la matrice d’évolution ou d’état de dimension n n
U(t) (uk) la commande de dimension r
B (G) la matrice d’entrée de dimension n r
S(t) (sk) la sortie de dimension m
C la matrice d’observation de dimension m n
D la matrice de couplage entrée/sortie de dimension m r
& 2 sin(Q)] = f
&& cos(Q) - Q
M &r& + f R r& + M1 l s [Q
avec :
r: la position du chariot (m)
f : la force horizontale appliquée au chariot (en N)
18 Introduction Matlab
jouvencel
• 1 Calcul de l’observateur
• 2 Calcul du retour d’état
• 3 Calcul du gain statique
•4 Construction de
l’environnement
• 5 Simulation
19 Introduction Matlab
jouvencel
20 Introduction Matlab
126 ANNEXE C. TUTORIAL MATLAB
Annexe D
Annales
1ère année
Juin 2006
Devoir personnel
Tous documents autorisés
Ce devoir est l’étude d’un système instable qu’il faut rendre très rapide
Vous avez le choix des armes, Matlab, Mathematica, Maple, binôme ... Mais comprenez ce que vous faites !
Rédaction manuscrite obligatoire.
1 Continu
La fonction de transfert G(s) est telle que :
−0.2416s + 2.133
G(p) =
s2 − 0.6419s − 0.03555
avec s : opérateur de Laplace (notation Matlab)
2 Echantillonné
2.1 Echantillonnage
On choisit d’échantillonner le système à une fréquence de 1 Hz.
1. Que pensez vous de ce choix ?
2. Calculez la fonction de transfert en z de ce système en y introduisant un bloqueur d’ordre 0.
127
128 ANNEXE D. ANNALES
2.2 Correcteur en temps d’établissement minimal
1. Calculez le correcteur série qui minimise le temps d’établissement pour une entrée en échelon.
2. Le correcteur obtenu est-il ”en temps d’établissement minimal” ou ”en temps d’établissement minimal
absolu”.
3. En utilisant le critère de Jury, vérifier que le système bouclé est stable.
4. Calculer l’erreur statique et l’erreur de traı̂nage (respectivement à une entrée en échelon puis en rampe)
5. Déterminer l’équation récurrente de ce correcteur.
2.4 Comparaison
1. Comparez les deux correcteur précédents en fonction de critères que je vous laisse apprécier.
JUIN 2006 129
1ère année
Juin 2006
Examen d’automatique
Tous documents autorisés, durée : 3h
Cet examen se décompose en quatre parties indépendantes, le barème est purement indicatif. Conseil : limitez
la précision de vos résultats à 10−3 .
(1 − az −1 )(1 − αz −1 )
C(z) = K
(1 − bz −1 )(1 − βz −1 )
p−1
G(p) =
(p + 1)(p + 2)
1. L’objectif étant de rendre le système environ 3 fois plus rapide en boucle fermée qu’en boucle ouverte,
proposez une période d’échantillonnage.
2. Quel que soit le résultat de la question précédente, calculez G(z) la fonction de transfert du système
échantillonné précédé d’un bloqueur d’ordre 0 en prenant Te = 1s.
3. Déterminez un correcteur par la méthode de Zdan tel que :
le système présente une erreur permanente nulle pour une entrée en rampe
le système en boucle fermée se comporte comme un système du troisième ordre possédant 3 pôles
en 0.5.
Aide : démarrez la résolution en prenant ∆1 (z) = kc (1 + α1 z −1 ) et ∆2 (z) = 1 + β1 z −1
4. Vérifiez la stabilité et la causalité du correcteur obtenu.
5. Vérifiez que le système présente bien une erreur statique nulle pour une entrée en échelon.
6. Sans calcul, dites pourquoi les caractéristiques du système en boucle fermée sont assez éloignées du cahier
des charges posé.
130 ANNEXE D. ANNALES
La vitesse d’impact est fonction de l’angle initial θ0 , donc de la dextérité de l’utilisateur. Pour améliorer le
système on utilise alors un moteur couple1 placé sur l’axe de rotation qui permet d’asservir la vitesse d’impact.
Le temps entre le démarrage et l’impact étant très court, il faut utiliser un asservissement très rapide.
Au sein du problème les différentes parties sont largement indépendantes.
4.1 Modélisation
Hyp : La masse est supposée ponctuelle et située à une distance L de l’axe de rotation.
1 En GB : pan-cake motor, moteur électrique à courant continu présentant un fort couple mais une faible vitesse.
JUIN 2006 131
1. Déterminez l’équation différentielle non linéaire du mouvement de la tige θ(t) en fonction des paramètres
L, M , g la constante de gravité terrestre et Γ le couple moteur.
2. En faisant l’hypothèse, classique, que θ est petit déterminez l’équation différentielle linéaire du mouvement
de la pointe.
3. Calculez la transformée de Laplace de l’équation différentielle précédente en tenant compte des conditions
initiales θ(0) = θ0 et θ̇(0) = θ̇0 .
4. Calculez alors la fonction de transfert continue du système (angle du système vis-à-vis du couple moteur.
Θ(p)
G(p) =
Γ(p)
5. Dessinez un schéma bloc faisant apparaı̂tre la fonction de transfert G(p), la position initiale θ0 apparaissant
comme une perturbation.
La fonction de transfert du moteur couple est :
Γ(p) kc
H(p) = =
U (p) R + Ls p
Γ : Couple moteur
U : tension d’induit
où : kc : contante de couple
R : résistance d’induit
Ls : Inductance série de l’induit
6. Dessinez le schéma bloc du système complet (moteur + système mécanique et perturbation).
Fig. D.2 – Phénomène de pompage du courant d’induit : oscillation obtenue pour un gain Kosc = 40 on mesure
alors Tosc = 1ms.
1. Déterminez les constantes kp , Ti et Td du correcteur PID donné ci-après pour asservir le courant dans le
moteur.
U (p) 1
P ID(p) = = kp (1 + + Td p)
ε(p) Ti p
U (p) 1 Td p
P ID(p) = = kp (1 + + )
ε(p) Ti p 1 + τ p
3. Au vu du résultat présenté en figure D.2, calculez une période d’échantillonnage correcte pour implanter
le correcteur précédent sous forme numérique. Le calcul du correcteur numérique, n’est pas demandé mais
quelques explications sont les bienvenues !
132 ANNEXE D. ANNALES
4.3 Commande de la vitesse
Dans cette partie, la constante de temps dominante du système moteur corrigé par le PID précédent est si
petite vis-à-vis des constantes de temps du système mécanique que le moteur corrigé par le PID est considéré
comme un gain km .
1. Déterminez un correcteur à réponse pile pour une entrée en rampe.
Applications numériques
AN : kc = 1; R = 1; Ls = 1; km = 1; L = 1; L1 = 1; M = 1; g = 10
JUIN 2007 133
1ère année
Juin 2007
Devoir personnel
Ce devoir est l’étude d’une méthode de commande un peu particulière dite commande par modèle interne. Le
principe n’est pas d’asservir une sortie à une consigne mais d’asservir la sortie d’un système à celle d’un modèle.
Vous avez le choix des armes, Matlab, Mathematica, Maple, binôme ... Mais comprenez ce que vous faites !
1 Questions
La fonction de transfert Gr (s) est telle que :
k0
k
Gr (s) = et Gm (s) = Z BOZ(p)
s+1 s+1
et on choisira :
z
F1 (z) = F2 (z) = et H(z) = H0 = cte
z−a
avec s : opérateur de Laplace (notation Matlab)
1. Choisir une période d’échantillonnage du système.
2. Montrer que si k 6= k 0 il existe un gain H0 tel que l’erreur statique soit nulle malgré la perturbation en
échelon.
3. A partir de maintenant, on prendra :
1 1
Gr (s) = et Gm (s) = Z
s+2 2s + 1
avec
F1 (z) 6= F2 (z), H(z) quelconque
4. Calculer la fonction de transfert globale entrée sortie du système.
5. Proposer un cahier des charges plausible pour le système en boucle fermée.
6. Calculer les fonctions de transfert F1 (z), F2 (z) et H(z), en fonction du cahier des charges.
7. Donner l’algorithme de commande.
134 ANNEXE D. ANNALES
1ère année
Juin 2007
Examen d’automatique
Tous documents autorisés, durée : 2h
Cet examen se décompose en six parties presque indépendantes, le sujet est difficilement faisable dans le temps
imparti. Ne perdez pas de temps sur une question difficile, passez à la suivante. Conseil : limitez la précision
de vos résultats à 10−3 .
Le problème posé est l’asservissement de force d’un bloc moteur du drone composé d’un moteur synchrone dit
moteur ”brushless”, de son collecteur électronique et d’une hélice à pas variable. L’objet de cette étude est en
particulier la régulation de la vitesse du moteur à 6000 tr/mn et ce, quel que soit le pas de l’hélice.
1 Etude analogique
10e−τ p
G(p) =
1 + Tp
1. Tracer la réponse indicielle de G(p).
2. Déterminer un correcteur analogique de type PI pour l’asservissement de ce système.
3. Sans calcul mais avec une brève justification, quel sera probablement le dépassement de la sortie pour
une entrée en échelon ?
2 Asservissement numérique
Tous comptes faits, on décide de placer un correcteur numérique. La période d’échantillonnage est : Te = 5 ms.
L’objectif est d’obtenir une réponse indicielle la plus rapide possible.
Fig. D.7 – Système bouclé avec un correcteur de type ”temps d’établissement minimal”.
C(z)G(z)
= z −2
1 + C(z)G(z)
6. Calculer les trois premiers échantillons de la commande du moteur c’est-à-dire de la sortie du correcteur.
Fig. D.8 – Modèle du système avec la perturbation due au pas variable modélisée par une rampe.
1 A+ (z) ∆1 (z)
C(z) = C1 (z)C2 (z)C3 (z) = −1
(1 − z ) B + (z) ∆2 (z)
n
5 Asservissement de force
La relation force verticale en fonction de la vitesse du moteur ω et du pas θ est supposée de la forme :
F = aθω 3
2. Soit H(z) une transmittance opérationnelle d’un système qui soumise à un échelon unité présente en
sortie la réponse présentée en figure D.10. Calculer H(z).
3. Le système représenté par :
z+3
D(z) =
z 3 + 1.2z 2 − .25z − 0.3
est-il stable ?
4. Tracer intuitivement le lieu d’Evans de la fonction de transfert suivante :
z + 0.5
F (z) =
z 2 + 0.2z + 0.4
dont les pôles et le zéro sont représentés sur la figure D.11.
1ère année
Juin 2008
Examen d’automatique
Tous documents autorisés, durée : 2h
Le problème posé est la régulation de fréquence d’un oscillateur ultra-stable à 7 GHz. Embarqué sur un satellite,
cet oscillateur dérive dans le temps en fonction des variations de température du saphir. On s’attachera à la
réalisation de deux régulateurs indépendants : une régulation analogique de phase qui corrige la fréquence
et une régulation numérique de température. Ces deux signaux sont traduits en une tension continue par un
capteur approprié.
S(p)
1. Le lieu d’Evans du système H(p) = U (p) est donné en figure D.12. En déduire un correcteur analogique
de type PI de Ziegler-Nichols.
2. Le diagramme de Bode du système formé du correcteur PI calculé précédemment suivi de la transmittance
H(p) (voir fig. D.14) est donné en figure D.14 (un zoom est donné en figure D.15). Mesurez la marge de
phase ∆φ et la marge de gain ∆G.
3. Le système bouclé par un retour unitaire et corrigé par le correcteur déterminé précédemment présente
une réponse indicielle ayant trop de dépassement. On se propose de baisser la gain pour le rendre moins
rapide. Calculez le nouveau gain du correcteur PI afin d’avoir une marge de phase de 90 degrés (T i reste
identique).
4. Au vu de votre expérience, quel type de réponse indicielle devrait-on avoir avec un telle marge de phase ?
JUIN 2008 139
Fig. D.15 – Diagramme de Bode du système présenté en figure D.13 (zoom sur la zone critique).
Fig. D.16 – Schéma bloc de la fonction de transfert entre la température de sortie Y et la puissance d’entrée U
en présence des perturbations V et E. V est une perturbation de charge de type rampe, E est une perturbation
de sortie de type sinusoı̈dal.
Fig. D.17 – Réponse de la température du saphir en fonction d’un échelon unitaire de puissance.
Près avoir donné la réponse temporelle s(t) de G(p) soumise à un échelon unité, déterminez graphiquement
les valeurs de k et τ .
2. Déterminez la transformée en z de la transmittance G(p) précédée d’un bloqueur d’ordre 0 échantillonnée
avec une période T e = τ /5.
Fig. D.18 – Principe de correction par correcteur RST. V(z) est une perturbation de charge de type rampe,
E(z) est une perturbation de sortie de type sinusoı̈dal.
Quel que soit le résultat de la partie précédente, vous continuerez avec la fonction de transfert
en z
B(z) 0.01752z + 0.01534
G(z) = = 2
A(z) z − 1.637z + 0.6703
R(z) U (z)
5. Vérifiez la stabilité du correcteur C(z) = S(z) = ε(z) .
1ère année
Janvier 2009
Examen d’automatique
Tous documents autorisés, durée : 2h
Le problème posé est le positionnement d’un télescope sur monture azimutale. On ne s’occupera dans ce sujet
que de la partie réglage de l’azimut. Dans la phase de ”mise en station” (recherche de deux étoiles bien connues)
et de pointage vers un objet précis (planète, nébuleuse, comète ...), le télescope sera asservi par un correcteur
de type Zdan. L’objet étant visualisé, la poursuite de cet objet sera réalisée par un correcteur de type ”réponse
pile”. Le passage d’un correcteur à l’autre ne sera pas étudié.
1 Modélisation
Le mouvement du télescope est décrit par l’équation différentielle suivante
J θ̈ + B θ̇ = Γc + Γp
avec :
J : L’inertie de l’ensemble moteur + parabole
θ : la position angulaire de l’antenne
B : le coefficient de frottement visqueux
Γc : le couple moteur
Γp : le couple de perturbation
1. Déterminer la transformée de Laplace de cette équation différentielle en supposant les conditions initiales
nulles.
2. Donner le schéma bloc de ce système. On posera pour simplifier l’écriture : B/J = a, Γc /B = u et
Γp /B = w.
θ(p)
3. En faisant l’hypothèse que Γp = 0, déterminer la fonction de transfert continue G(p) = u(p) de ce système.
4. Tracer à main levée, la forme générale du diagramme de Bode asymptotique de G(p) en module et en
phase.
5. En déduire le diagramme de Nyquist. Ce système peut-il devenir instable si on le boucle par un gain (voir
figure D.21) ?
6. Déterminer la fonction de transfert échantillonnée G(z) de ce système précédé d’un bloqueur d’ordre 0.
JANVIER 2009 145
Fig. D.21 – Système bouclé sans bloqueur d’ordre Fig. D.22 – Système bouclé avec un bloqueur
0 d’ordre 0