Cours1a PDF
Cours1a PDF
Cours1a PDF
chantillonne
Version 2008.2
Gonzalo Cabodevila
[email protected]
TDs : G. Cabodevila, D. Chappe, A. Janex, B. Lang
1re anne
Semestre jaune
AUT1 - Automatique
Le choix de lenseignement de lautomatique echantillonnee d`es la premi`ere annee se fonde sur la constatation
que la majorite dentre vous ont acquis les bases de lautomatique lineaire pendant les classes preparatoires.
Celles et ceux pour qui cette hypoth`ese est fausse auront un peu de travail personnel supplementaire `a fournir.
Les enseignants sont l`
a pour vous aider, nhesitez pas `a poser des questions. Par ailleurs, la biblioth`eque poss`ede
quelques ouvrages de qualite tels que [1] et [2] sans oublier les techniques de lingenieur, accessibles en ligne.
Ce polycopie1 nest gu`ere quun document vous epargnant la recopie de formules, la presence en cours est
indispensable. Enfin, je ne saurai que trop vous conseiller de lire dautres ouvrages traitant du meme sujet,
notamment [3], [4], [5] ou [6] (vous noterez une etrange ressemblance avec ce dernier ouvrage, cetait 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 telecharger afin davoir une deuxi`eme version des faits.
Le cours est organise sous la forme de 6 lecons aussi independantes que possible. Des rappels des notions utiles
pour la comprehension de la lecon seront faits au debut de chaque seance, neanmoins une relecture des notes
de cours (15mn) est indispensable.
Pierre Desproges
Extrait de Vivons heureux en attendant la mort
Pierre Foglia
1 Ce cours est r
edig
e avec LATEX, les transparents sont faits avec LATEX et le package Beamer. Les dessins sont issus de Matlab
et de Xfig ou Draw de Open Office.
3
4
Table des mati`
eres
1 Introduction 9
1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Exemples dasservissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Mise en uvre des asservissements numeriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Technologie des asservissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Echantillonnage et quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.1 Le bruit de quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Periode dechantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.1 Le probl`eme de la periode dechantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.2 Le recouvrement de spectre avec les mains . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5.3 Bruit sur la derivee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.4 Choix de la periode dechantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Transform ee en z 25
2.1 Definition de la transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Proprietes de la transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Calcul de la transformee en z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Par la formule de definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Par la theorie des residus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.3 Par lutilisation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Transformee inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.1 Theorie des residus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.2 Par division polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.3 Par lutilisation des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Transmittances echantillonnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.1 Notions de schema bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.2 Transformee en z dun schema bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.3 Transformee dun syst`eme precede par un bloqueur dordre 0 . . . . . . . . . . . . . . . 33
2.5.4 Transmittances echantillonnees de syst`emes boucles . . . . . . . . . . . . . . . . . . . . 34
2.5.5 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5
6 `
TABLE DES MATIERES
3.4.4 Cycle limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 Synth`
eses `a temps d etablissement fini 65
5.1 Synth`ese en z de correcteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1.1 Exemple idiot... mais riche denseignements . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Synth`eses `
a temps detablissement fini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.1 Synth`ese ` a temps detablissement minimal absolu . . . . . . . . . . . . . . . . . . . . . . 68
5.2.2 Synth`ese ` a temps detablissement minimal non absolu . . . . . . . . . . . . . . . . . . . 68
5.2.3 Reponse pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.4 Applications des synth`eses ` a temps detablissement fini . . . . . . . . . . . . . . . . . . 71
5.2.5 Exemples de reponse pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3 Resolution de lequation diophantienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Bibliographie 84
I Annexes 87
A Tables de transform
ees 89
B Travaux dirig
es 93
B.1 TD n1 : Frequence dechantillonnage et equations recurrentes . . . . . . . . . . . . . . . . . . 95
B.2 TD n2 : Syst`emes recurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
B.3 TD n3 : Asservissement numerique de vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
B.4 TD n4 : Etude dun four electrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
B.5 TD n5 et 6 : Etude dun asservissement de position . . . . . . . . . . . . . . . . . . . . . . . . 99
B.6 TD n7 : Methode de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
B.7 TD n8 : Synth`ese dun regulateur RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Introduction
1.1 D
efinition
Lautomatique est la science qui traite de lanalyse et de la commande des syst`emes dynamiques evoluant
avec le temps. En dautres mots de lautomatisation de taches par des machines fonctionnant sans intervention
humaine.
Wikipedia
Cest une partie dun ensemble plus vaste nomme cybernetique. Definie en 1947 par Norbert Wienner, la
cybernetique est la base de la robotique, de lautomatique, de lintelligence artificielle et de la theorie de
linformation.
Lhorloge, des si`ecles plus tard, est encore un moteur de decouvertes dans le domaine de lautomatique.
Lechappement ` a ancre nest gu`ere quun stabilisateur de frequence. Les developpements de lhorloge conduisent
alors `
a la creation dautomates extremement compliques. Citons, `a titre dexemple, le canard de Vaucanson
9
10 CHAPITRE 1. INTRODUCTION
(1709-1782) (figure 1.2) qui pouvait boire, se nourrir, caqueter, nager, digerer et defequer. Lidee de la pro-
grammation est nee ` a peu pr`es `
a la meme epoque. En 1728, Jean-Philippe Falcon cree le premier metier `a tisser
programmable par cartons perfores. Vaucanson realise un metier `a tisser programme en 1745, et en 1801 le
cel`ebre metier `
a tisser automatique programmable de Joseph-Marie Jacquard.
A la meme epoque dautres syst`emes voient le jour, pousses par la revolution industrielle qui est en marche.
Denis Papin developpe la soupape de securite (figure 1.5) pour les syst`emes fonctionnant `a la vapeur et James
Watt invente le regulateur de vitesse `a boule (figure 1.6).
Les realisations precedentes ne manquent pas dingeniosite, neanmoins il faudra attendre larrivee de lelectricite
puis de lelectronique pour voir apparatre les premiers correcteurs en tant que tels. Enfin, le developpement
des microprocesseurs puis celui des microcontroleurs permet aujourdhui de mettre en uvre des principes de
commande tr`es elabores, notamment :
le pilotage de syst`emes instables
les commandes robustes
lidentification en ligne
la commande de syst`emes non lineaires
la commande predictive
...
1.2. EXEMPLES DASSERVISSEMENTS 11
Les figures 1.7 et 1.8 representent deux exemples de stabilisation de syst`emes instables, les figures 1.9 et 1.10
representent quant `a elles deux exemples de syst`emes instables pour lesquels le correcteur na rien pu faire.
Dans les deux cas, le correcteur ny est pour rien. Une erreur humaine et une erreur de conception sont ` a
lorigine des deux probl`emes.
Fig. 1.7 Fusee Ariane (ESA). Fig. 1.8 Avion de combat Rafale (Dassault).
12 CHAPITRE 1. INTRODUCTION
Fig. 1.9 Fusee Ariane (ESA). Fig. 1.10 Centrale electrique de Tchernobyl.
Fig. 1.12 Syst`eme asservi lineaire echantillonne. (Ne cherchez pas les boites CAN et CNA sous simulink, elles nexistent
pas ! CAN est intrins`
eque en passant de continu `
aechantillonn
e, CNA sappelle en fait ZOH pour Zero Order Hold.)
La programmation de ces syst`emes fait appel `a un syst`eme dexploitation multitache temps reel.
A linverse, pour des syst`emes simples, un microcontroleur1 suffit. La programmation se fait alors en C ou en
Assembleur, les microcontr oleurs plus puissants acceptent sans probl`eme un OS temps reel.
Entre les deux, il existe des cartes de puissance intermediaire telle que la SSV DIL/NetPC DNP/5280. Celle-ci
poss`ede 8Mo de ROM et 16 Mo de RAM (` a comparer aux 8192 mots de ROM et 368 octets de RAM dun PIC
1 Microcontr oleur = sur la m
eme puce microprocesseur+ p
eriph
eriques : horloges, entr
ees sorties binaires et analogiques, liaisons
numeriques, ...
1.3. MISE EN UVRE DES ASSERVISSEMENTS NUMERIQUES 15
16F877) ainsi que pratiquement tous les bus classiques (I2C, SPI, CAN et une interface Ethernet)
Enfin, il existe les DSP : Digital Signal Processing, dedies au calcul rapide et flottant, plutot utilises dans des
applications necessitant du traitement du signal consequent.
Et pour finir, sachez que les PID industriels soit disant analogiques cachent un microcontroleur, cette technologie
permettant de realiser des constantes de temps impossibles `a realiser en analogique. Mais aussi, de gerer des
alarmes, des saturations, des modes de defaut, etc.
Convertisseur `
a rampe numerique Convertisseur `a pesees successives Convertisseur flash
lent, precis = rapide, moins precis
CNA
Le convertisseur numerique analogique le plus connu est fonde sur le principe du reseau R-2R comme illustre
sur la figure 1.19. Ce principe est tr`es consommateur de surface de silicium, aussi la grande majorite des micro-
controleurs nen poss`edent pas. Une autre methode de conversion consiste `a utiliser le principe de modulation
en largeur dimpulsion (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 limpulsion. Un filtre RC filtrera les variations rapides,
ne laissant passer que les variations lentes soit le signal desire. Ce principe presente lenorme avantage de ne
demander quun bit de sortie du microcontr oleur par rapport `a 16 bits pour un CNA classique !
Fig. 1.19 Convertisseur numerique Fig. 1.20 Signal module en modulation de largeur dimpulsion avant et
analogique de type reseau R-2R. apr`es filtrage haute frequence.
2 dessins tir
es de : http ://hyperphysics.phy-astr.gsu.edu/hbase/electronic/adc.html
1.4. ECHANTILLONNAGE ET QUANTIFICATION 17
1.4 Echantillonnage et quantification
La figure 1.21 montre la difference fondamentale entre le signal analogique et le signal echantillonne et quantifie
que le microcontr
oleur percoit. Ce signal est en fait une suite de nombres codes sur n bits (typiquement 8 ` a
16 bits)
En observant le signal echantillonne et quantifie (en bas `a droite de la figure 1.21), la tentation est grande de
vouloir sapprocher du signal analogique en essayant de faire du quasi-continu par un surdimensionnement
des deux param`etres principaux que sont la frequence dechantillonnage et le pas de quantification. Les deux
parties suivantes, je lesp`ere, vous en dissuaderont.
o`
u n est le nombre de bits du convertisseur
En pratique on choisit n tel que le rapport signal `a bruit de lensemble ne soit pas trop diminue par la
quantification. Il existe des convertisseurs de : 8, 10, 12, 16, 24, 40 bits. Il existe aussi des convertisseurs ayant
une caracteristique logarithmique.
1.5 P
eriode d
echantillonnage
1.5.1 Le probl`
eme de la p
eriode d
echantillonnage
La figure 1.23 montre un meme signal echantillonne `a plusieurs frequences, lorsque la periode dechantillonnage
Te est egale `
a la moitie de la frequence du signal, on voit quil devient impossible de reconstituer le signal
original.
En augmentant encore la periode dechantillonnage on tombe sur des aberrations comme illustre en figure 1.24.
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 differents comme illustre en
figure 1.26.
Lorsque Fmax > Fe /2, il se produit le phenom`ene de recouvrement de spectre, `a ne pas confondre avec le
repliement de spectre. Si ce phenom`ene se produit, il est alors impossible de reconstituer le signal original, do`
u
le theor`eme de Shannon :
Le th eor` eme de Shannon Toute fonction du temps f (t) possedant un spectre de frequence limitee ` a Fmax
peut etre transformee par echantillonnage periodique, de frequence Fe superieure ou egale `
a 2Fmax , sans aucune
perte dinformation.
Ce theor`eme nest quune limite infranchissable, dautre phenom`enes vont intervenir bien avant dans le choix
de la periode dechantillonnage.
20 CHAPITRE 1. INTRODUCTION
Notez que lidee dun spectre limite `
a Fmax est illusoire, tous les signaux en automatique ont un spectre infini.
On ne peut alors que minimiser ce phenom`ene de recouvrement de spectre. Il sera parfois necessaire dajouter
un filtre dit filtre anti-recouvrement ou filtre anti-repliement.
Le calcul de ce filtre meriterait un chapitre a` lui seul. Disons pour faire extremement simple, quil sagit le plus
souvent dun filtre electronique passe-bas du premier ordre dont la frequence de coupure est choisie entre Fmax
et Fe .
df (t) f (t) f (t Te )
'
dt Te
Ceci nest malheureusement vrai que dans le cas dun signal sans bruit. Or les signaux sont toujours entaches
de bruit et dans ce cas la proposition precedente nest plus vraie. Dans le cas dun signal en rampe, la figure
1.28 montre que lerreur sur le calcul de la derivee crot lorsque Te decrot.
Fig. 1.28 Influence de la periode dechantillonnage dans le cas de calculs de derivees en presence de bruit.
Ajoutez `
a cela le fait quune periode dechantillonnage tr`es petite implique un microcontroleur tr`es rapide et
donc co
uteux.
1.5. PERIODE
DECHANTILLONNAGE 21
1.5.4 Choix de la p
eriode d
echantillonnage
Les considerations precedentes montrent :
une limite fondamentale : le theor`eme de Shannon,
que lidee de surechantillonner provoque enormement de bruit sur le calcul des derivees et demande un
microcontroleur puissant donc cher.
Entre les deux, il existe un vaste choix de frequences dechantillonnage. Plusieurs auteurs proposent une for-
malisation de ce choix, le plus souvent quasi-empirique mais donnant de bons resultats du point de vue du
compromis precision - vitesse de calcul necessaire.
Sevely [3]
Yves choisit Te , la periode dechantillonnage telle quelle soit
2 2
Te
180 90
Te
9 4, 5
B
ulher [4]
Hansruedi choisit Te , la periode dechantillonnage telle quelle soit
5 fois plus petite que la constante de temps la plus rapide que lon veut contr
oler en boucle fermee
Te '
5
8 fois plus petite que la pseudo-periode, sil sagit de p
oles complexes conjugues
1 2
Te ' p
8 0 1 2
Crit`
ere fr
equentiel [9]
On choisit Fe , la frequence dechantillonnage telle quelle soit 6 `a 24 fois plus grande que la frequence de coupure
du syst`eme. Soit pour un syst`eme dordre 1 :
Te
4
k
Pour un syst`eme dordre 2 : p2 +20 p+02
soit :
0.25 < 0 T < 1 = 0.7
0.4 < 0 T < 1.75 = 1
Exemple
Soit G(p) une fonction de transfert possedant 4 poles en boucle ouverte :
1
G(p) =
(1 + 1 p)(1 + 2 p)(1 + 3 p)(1 + 4 p)
Apr`es mise en uvre de lasservissement vous esperez accelerer le syst`eme, 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 Reponse dun second ordre echantillonne (mais pas quantifie !). Observez le retard introduit par
lechantillonnage.
Fig. 1.30 Comparaison des periodes dechantillonnages preconisees par differents auteurs.
1.5. PERIODE
DECHANTILLONNAGE 23
Transform
ee en z
2.1 D
efinition de la transform
ee en z
On appelle transformee en z dun signal f (t) la transformee de Laplace F ? (p) du signal echantillonne f ? (t),
dans laquelle on effectue la substitution
z = eTe p (2.1)
Notation : Z[F (p)] ou Z[f (t)]
Rappel : transformee de Laplace dun signal
Z
L[f (t)] = f (t)ept dt
0
le signal f (t) echantillonne secrit f ? (t) avec :
X
L[f ? (t)] = f (kTe )ekTe p
k=
la fonction f etant nulle pour tout t < 0,
X
F ? (p) = L[f ? (t)] = f (nTe )enTe p
n=0
Te p
puis en posant z = e
X
F (z) = f (nTe )z n (2.2)
n=0
Exemple :
f (t) = U (t) echelon dHeaviside
X X 1 z
F (z) = f (nTe )z n = z n = 1 + z 1 + z 2 + . . . = =
n=0 n=0
1 z 1 z1
Rappel : Somme dune suite geometrique :
premier terme qui y est moins premier terme qui ny est pas sur un moins la raison.
25
26 EN Z
CHAPITRE 2. TRANSFORMEE
2.2 Propri
et
es de la transform
ee en z
Comme la transformee en z est la transformee de Laplace suivie dun changement de variable, ses proprietes
se deduisent de celles de la transformee de Laplace.
Lin
earit
e
Z[af (t) + bg(t)] = aF (z) + bG(z) (2.3)
o`
u a et b sont des constantes
Translations r
eelles
Retard de k p
eriodes
Z[f (t kTe )U (t kTe )] = z k F (z) (2.4)
Notez loperateur retard z 1
Avance de k p
eriodes
Les valeurs initiales sont enlevees, sinon, le principe de causalite nest plus respecte.
Translation complexe
Z[eaTe f (t)] = Z[F (p + a)] = F (zeaTe ) (2.6)
ES
2.2. PROPRIET DE LA TRANSFORMEE
EN Z 27
Changement d
echelle en z
z
Z[an f (nTe )] = F ( ) (2.7)
a
Th
eor`
eme de la valeur finale
Th
eor`
eme de la valeur initiale
Th
eor`
eme de la convolution discr`
ete
" #
X
Z f (kTe )g((n k)Te )] = F (z)G(z) (2.10)
k=0
Cest le theor`eme fondamental qui permet de transformer lequation de la sortie dun syst`eme,
en temporel : sortie = convolution de lentree avec la reponse impulsionnelle du syst`eme,
en z : sortie = produit de lentree avec la transmittance du syst`eme.
Multiplication par tk
d
Z [tf (t)] = Te z F (z) (2.11)
dz
Tr`es utile pour demontrer la forme des signaux canoniques
Th
eor`
eme de sommation " #
n
X z
Z f (kTe ) = F (z) (2.12)
z1
k=0
X
F (z) = f (nTe )z n (2.13)
n=0
f (t) = t
X
X
X
F (z) = nTe z n = Te nz n = zTe nz n1
n=0 n=0 n=0
X d n d X n
= zTe z = zTe z
n=0
dz dz n=0
d 1 zTe z 2
= zTe 1
=
dz 1 z (1 z 1 )2
Te z
=
(z 1)2
2.3.2 Par la th
eorie des r
esidus
Cest la methode la plus `a meme de traiter tous les cas ! Neanmoins elle implique la connaissance de la theorie
des residus. Elle nest donc donnee qu`
a titre informatif.
X F ()
F (z) = Residus
1 eTe z 1 =i
i
o`
u les i sont les p
oles de la fonction de transfert F (p)
Rappel : Theorie des residus. I X
f (z)dz = 2j Res
avec
dk1
1 k
Res(a) = lim (z a) f (z)
(k 1)! za dz k1
si le p
ole a est un p
ole simple dordre k
Rappel sur la d
ecomposition en
el
ements simples
4p3
F =
(p2 + 1)(p + 1)3
La forme de sa decomposition en elements simples se deduit de la valeur et de la multiplicite de ses p
oles. Il
existe des reels a, b, c, d, e, f et un polyn
ome reel E tels que :
EN Z
2.3. CALCUL DE LA TRANSFORMEE 29
4p3 a b c (dp + e)
=E+ + + +
(p2 + 1)(p + 1)3 p + 1 (p + 1)2 (p + 1)3 (p2 + 1)
Il sagit desormais de determiner la valeur de chaque coefficient indetermine.
Le degre du numerateur de F est strictement inferieur au degre de son denominateur, donc E = 0.
On multiplie de part et dautre par (p + 1)3 et on fait p = 1 pour obtenir c = 2 .
De meme, on multiplie de part et dautre par (p2 + 1) et on fait p = pour obtenir d = 1 et e = 1.
On etudie ensuite la limite de limp pF (p) , ce qui donne a + d = 0 do` u a = 1.
Puis on calcule F (0) = 0 do`u 0 = a + b + c + e et donc b = 4.
Verification, calculer par exemple F (1) = 1/4 .
Transformation en z
1
p+1 zezTe
Te
4 Te ze
(p+1)2 4 (ze Te )2
2
(p+1)3 ????
p1 p 1 z(zcos 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 zeaTe
te
(p + a)2 (z eaTe )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 eaT z z + eaT
Te zeaTe
at
d
Z t te = Te z = 3
dz (z eaTe )2 (z eaT )
4p3 Te zeTe
z
Z = + 4
(p2 + 1)(p + 1)3 z eTe (z eTe )2
2 aT
z z + eaT
T e
+ 3
(z eaT )
z(z cos Te ) z sin Te
+
z 2 2z cos Te + 1 z 2 2z cos Te + 1
30 EN Z
CHAPITRE 2. TRANSFORMEE
2.4 Transform
ee inverse
Il sagit, le plus souvent de revenir `
a loriginal temporel, soit pour tracer la sortie dun syst`eme echantillonne
soit pour retrouver lequation recurrente, dun correcteur pour limplanter dans le calculateur.
2.4.1 Th
eorie des r
esidus
Celle-ci nest donnee `
a titre informatif, elle ne sera jamais utilisee dans le cadre de ce cours. Cest la methode
la plus complexe `a appliquer ` a la main, par contre elle est extremement simple `a utiliser avec les logiciels de
calcul symbolique tels que Maple ou Mathematica. Cest en outre la plus apte `a aller plus loin.
X
Residus z n1 F () =i
f (nTe ) =
i
o`
u les i sont les p
oles de la fonction de transfert F (z)
Exemple :
z z
F (z) =
zaz1
Il y a deux residus en z = a et en z = 1.
z 2 n1 1
Resz=1 = lim z =
z1 z a 1a
z 2 n1 an+1
Resz=a = lim z =
za z 1 a1
donc
1 an+1 1 an+1
F (nTe ) = + =
1a a1 1a
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,
INVERSE
2.4. TRANSFORMEE 31
2.4.3 Par lutilisation des tables
Methode : decomposer F (z)
z en elements simples
Puis `
a laide du tableau A.1 donne en page 90 retrouver les originaux fi (t)
Developper F (z)
z en elements simples,
rechercher les racines du denominateur z1 , z2 , , zn ,
construire
F (z) C1 C2 C3 Cn
= + + + + ,
z z z1 z z2 z z3 z zn
revenir `
a
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 ,
za
on obtient :
f (kT ) = C1 z1k + C2 z2k + C3 z3k + + Cn znk .
Remarque : les zi peuvent etre complexes, mais sont complexes conjugues deux `a deux.
En r
esum
e
Fig. 2.4 Operations fondamentales de reduction des graphes. Le schema de droite est equivalent `a celui de
gauche.
Pour aller plus loin : Donner la fonction de transfert du syst`eme decrit `a la figure 2.5.
ABDE+AGE
Fig. 2.5 Exercice : montrez que ce schema se reduit `a un bloc de transmittance : (1+ABC)(1+DEF ).
2.5. TRANSMITTANCES ECHANTILLONN
EES 33
2.5.2 Transform
ee en z dun sch
ema bloc
La figure 2.6 decrit une partie de schema bloc en p, il sagit alors de transformer ce schema en un schema bloc
en z. La tentation est grande de transformer terme `a terme, mais cest faux !
Fig. 2.6 Il est impossible de transformer un graphe en p en un graphe en z par transformation des differents
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 echantillonne.
Les deux exemples suivants illustreront ce probl`eme.
2.5.3 Transform
ee dun syst`
eme pr
ec
ed
e par un bloqueur dordre 0
On cherche la transformee en z du schema bloc donne en figure 2.7
En premier lieu, il nous faut la transmittance en p du bloqueur dordre 0, ensuite nous verrons comment
determiner la transformee en z de lensemble.
Rappel : La transformee de Laplace dun syst`eme est la transformee de Laplace de sa reponse impulsionnelle.
Si lon soumet un bloqueur dordre 0 `
a une impulsion, on obtient la sortie illustree en figure 2.8.
B0 (t) = U (t) U (t Te )
B0 (p) = U (p) U (p)eTe p
1 eTe p
B0 (p) =
p
34 EN Z
CHAPITRE 2. TRANSFORMEE
Calcul de la transform
ee dun syst`
eme pr
ec
ed
e par un bloqueur dordre 0
1 eTe p
G(z) = Z G(p)
p
G(p) eTe p
= Z G(p)
p p
do`
u
z1 G(p)
G(z) = Z
z p
Une table des transformees usuelles de syst`emes precedes dun bloqueur dordre 0 est donnee dans le tableau
A.2 en page 91.
2.5.4 Transmittances
echantillonn
ees de syst`
emes boucl
es
Le probl`eme pose en figure 2.9 est quil ny a pas dechantillonneur bloqueur entre la sortie s et la transmittance
H(p). Qu`a cela ne tienne, la transmittance en boucle fermee dun syst`eme secrit :
chane directe
BF =
1 + chane directe chane de retour
Ici
>> Te=1; % d
efinition de la periode dechantillonnage
>> sys=tf([1],[1 1 0] ) % d
efinition du syst` eme continu
>> sysd=c2d(sys,Te, zoh); % transformee en z avec BOZ
>> present(sysd); % presentation du r
esultat
>> sysc=d2c(sysd,zoh); % transformee inverse avec BOZ
>> present(sysdp); % presentation du r
esultat
>> 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);
Transfer function:
-9.84e-016 s + 1
--------------------
s^2 + s + 1.776e-015
36 EN Z
CHAPITRE 2. TRANSFORMEE
Chapitre 3
Avant de faire une correction quelconque il faut analyser le syst`eme. Dans ce chapitre nous aborderons le lien
entre les p oles en p et les p oles en z afin de comprendre comment le syst`eme reagit `a une entree de consigne
et dans quelle mesure il est possible de transformer cette reaction. Deux points sont fondamentaux, la stabilite
du syst`eme et sa precision. En effet on cherche toujours `a ameliorer ces deux points lorsque lon asservit un
syst`eme.
Notez que ces analyses sont totalement independantes du fait que lon parle dun syst`eme en boucle ouverte
ou en boucle fermee. Hormis lanalyse de la stabilite par le crit`ere de Nyquist (non aborde dans ce cours) qui
predit la stabilite dun syst`eme boucle par un retour unitaire, lensemble des autres points sappliquent sur une
fonction de transfert, celle-ci representant soit un syst`eme en boucle ouverte soit en boucle fermee.
3.1 Stabilit
e
Definition 1 Un syst`eme est dit stable si, ecarte de sa position de repos, celui-ci revient a
` cette position
lorsque la cause qui len a ecarte cesse.
D
efinition 2 Un syst`eme est dit stable si sa reponse `
a toute entree bornee est bornee.
Fig. 3.1 Stabilite des syst`emes au sens de Lyapounov [12] : illustration de la stabilite dune bille sur un profil.
37
38 `
CHAPITRE 3. ANALYSE DES SYSTEMES
3.1.1 Conditions de stabilit
e
Nous avons vu au 2.4.3 quun 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 dautres termes, pour quun syst`eme soit stable, il faut et il suffit que les poles de la fonction de transfert
soient de module inferieur `a 1.
Par abus de langage, nous inclurons dans lensemble des syst`emes stables ceux ayant un ou plusieurs p oles en
1. 1
Pour connatre la stabilite dun syst`eme il suffit alors de calculer le module des poles du syst`eme. Ce calcul
est le plus souvent fastidieux voire impossible. Cest pourquoi, il existe des crit`eres de stabilite ne faisant pas
directement le calcul des p oles mais qui permettent de savoir sils sont, ou pas, de module inferieur `a 1.
3.1.2 Crit`
ere de Jury
N (z)
Soit H(z) = D(z) la fonction de transfert dun syst`eme echantillonne.
j
ajnjk
a0
pour 0 k n j 1
aj+1
j
= ajk
k anj
pour k > n j 1
0
Le polyn ome D(z) na aucun zero de module superieur `a 1 si les n + 1 conditions suivantes sont respectees :
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 ajnj > 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
3.1.3 Crit`
ere de Routh-Hurwitz appliqu
e sur la transform
ee en w
Transform ee en w La transformee en w est une transformation homographique qui fait correspondre exac-
tement linterieur du cercle unite au demi plan gauche du plan complexe.
z1 1+w
w= z=
z+1 1w
Determiner les condition de stabilite du syst`eme par lapplication du crit`ere de Routh sur la trans-
formee 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
Lobjectif est de determiner le type de comportement du syst`eme `a la vue des poles du syst`eme traces dans le
plan complexe.
Etudions le lien entre un pole simple en p et son transforme par la transformation en z
P
oles simples
1 z
p+a z eaTe
Le p ole en eaTe
ole en a est transforme en un p
Laxe des reels en p est transforme en laxe des reels positifs en z. laxe des reels negatifs en z na pas de
correspondant en p.
P
oles complexes conjugu
es
2
n b1 z+b0
G(p) = p2 +2n p+n
2 B0 G(z) = z 2 2(en Te ) cos(d Te )z+e2n Te
p
p1 , p1 = n d z1 , z1 = en Te cos(d Te ) e2n Te cos2 (d Te ) e2n Te
p
o`
u d = n 1 2 = en Te (cos(d Te ) sin(d Te ))
= en Te ed Te
(3.1)
G
en
eralisation Dans les deux cas nous avons bien la relation :
P
ole du syst`eme continu Pole du syst`eme echantillonne
(3.2)
pi zi = eTe pi
La figure 3.6 montre cette relation.
42 `
CHAPITRE 3. ANALYSE DES SYSTEMES
3.2.1 R
eponse impulsionnelle en fonction de la position des p
oles.
Fig. 3.9 Le lieu dEvans : calcul des poles du syst`eme en boucle fermee par un gain k .
Le lieu dEvans est le lieu des poles de la fonction de transfert en boucle fermee lorsque le gain K varie de 0 `
a
linfini.
Ce lieu est donc un moyen de choisir un gain K pour obtenir, en boucle fermee, des performances pre-specifiees.
La construction du lieu est assez complexe et fait appel `a 8 r`egles que vous trouverez dans [3]. La synth`ese
de correcteurs `a laide de cette methode est parfaitement possible mais demande un peu dexperience pour le
choix des poles et des zeros du correcteur. Neanmoins avec une methode de type try and error on arrive ` a
de bons resultats.
3.3.2 Exemples
1
G(z) = (z0.1)(z0.9)
z0.5
G(z) = (z0.1)(z0.9)
z+0.5
G(z) = (z0.1)(z0.9)
(z+0.7)(z+0.2)
G(z) = (z0.1)(z0.9)
(z+0.7)(z+0.2)
G(z) = (z0.1)(z0.5)(z0.9)
On consid`ere le schema presente en figure 3.10. Calculons lerreur statique du syst`eme pour une entree w(z) en
echelon et une perturbation p(z) nulle.
W (z)
(z) = 1 + C(z)G(z)
Calculons maintenant la limite de (nTe ) lorsque n
W (z)
lim ? (t) = lim (nTe ) = lim (1 z 1 )(z) = lim (1 z 1 )
t n z1 z1 1 + C(z)G(z)
Avec une entree en echelon unite
z
W (z) =
z1
on obtient :
z 1 1
lim (nTe ) = lim (1 z 1 ) = lim
n z1 z 1 1 + C(z)G(z) z1 1 + C(z)G(z)
lobjectif etant davoir une erreur statique nulle, il faut que
lim (nTe ) = 0
n
Supposons maintenant que C(z) ou G(z) poss`ede un integrateur pur. La transmittance en boucle ouverte peut
secrire :
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
z1 1 + C(z)G(z) z1 1 + N (z) z1 (z 1)D 0 (z) + N (z)
(z1)D 0 (z)
Conclusion : pour quun syst`eme presente une erreur statique nulle pour une entree en echelon, il faut que
la transmittance en boucle ouverte presente au moins un int
egrateur pur.
3.4. PRECISION `
DES SYSTEMES
ECHANTILLONN
ES 47
3.4.2 Erreur vis-`
a-vis de la perturbation
Supposons cette fois que lentree W (z) est nulle et que la perturbation P (z) est un echelon unite.
Lerreur est :
z G(z) G(z)
lim (nTe ) = lim (1 z 1 ) = lim
n z1 z 1 1 + C(z)G(z) z1 1 + C(z)G(z)
Supposons que le syst`eme en boucle ouverte poss`ede un seul integrateur pur et etudions les deux cas suivants
Cas 1 : lintegrateur pur est dans C(z).
Cas 2 : lintegrateur pur est dans G(z).
Dans les deux cas :
NG (z)
DG (z) NG (z)DC (z)
lim (nTe ) = lim NC (z) NG (z)
= lim
n z1 1+ z1 DC (z)DG (z) + NC (z)NG (z)
DC (z) DG (z)
Cas 1 : l integrateur pur est dans C(z). Cas 2 : lintegrateur pur est dans G(z).
NC (z) NG (z)
C(z) = 0 (z) G(z) = 0 (z)
(z 1)DC (z 1)DG
Conclusion : pour quun syst`eme presente une erreur statique nulle pour une perturbation en echelon, il
faut au moins un int
egrateur pur en amont de la perturbation.
A(z)
W (z) =
(z 1)m+1
o` ome en z nayant pas (z 1) en facteur.
u A(z) est un polyn
kN (z)
CG(z) =
(z 1)n D(z)
avec k le gain statique du syst`eme et N (z) et D(z) moniques3 .
3 Dont le coefficient de plus haut degr
e est 1.
48 `
CHAPITRE 3. ANALYSE DES SYSTEMES
Lexpression de lerreur est alors :
A(z) 1 A(z) 1
lim (nTe ) = lim (1 z 1 ) m+1
= lim (1 z 1 )
n z1 (z 1) 1 + CG(z) z1 (z 1)m+1 1 + kN (z)
(z1)n D(z)
soit :
(z 1)n A(z)D(z)
lim (nTe ) = lim
n z1 (z 1)m (z 1)n D(z) + kN (z)
Tab. 3.6 Erreur permanente en fonction de lentree et de la classe du syst`eme en labsence dentree de
perturbation.
=
nb dintegrateurs 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 lerreur permanente du syst`eme 3.11 dans les conditions decrites ?
Dans le cas de syst`emes instables en boucle ouverte, le cycle limite, veritable oscillation entretenue est inevitable.
Par contre lamplitude de cette oscillation est controlable par le choix du pas de quantification.
50 `
CHAPITRE 3. ANALYSE DES SYSTEMES
Chapitre 4
Il est, a priori, dommage de synthetiser un correcteur analogique puis de le convertir en correcteur numerique.
Les methodes de synth`eses numeriques abondent et donnent de meilleurs resultats en termes de performances
(robustesse, precision, rejet de perturbation). Neanmoins dans le cas o` u le correcteur analogique est dej` a
synthetise et quil ne sagit que de le transposer en numerique, la transformee bilineaire donnee ci-apr`es se
rev`ele fort utile 1 .
Par ailleurs, cette methode de synth`ese de correcteurs numeriques couplee `a une methode de synth`ese type
Ziegler-Nichols permet de synthetiser en quelques minutes un correcteur pour un syst`eme dont on ignore tout
ou presque et qui plus est, pratiquement sans comprendre lautomatique !
Fig. 4.1 Principe de calcul de la derivee par differences finies : differences vers lavant et vers larri`ere.
4.1.1 Diff
erences vers larri`
ere
dx x(t) x(t Te ) 1 q 1 q1
' = x(t) = x(t)
dt Te Te qTe
z1 1 Te z
Derivation : p Integration :
zTe p z1
Cela correspond `
a lapproximation :
1 z1
z = e Te p ' = p '
1 Te p zTe
1 La synth`
ese de correcteur analogiques sort du cadre de ce cours, reportez vous au poly dautomatique lin
eaire continue de B.
Lang
51
52 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
4.1.2 Diff
erences vers lavant
dx x(t + Te ) x(t) q1
' = x(t)
dt Te Te
z1 1 Te
Derivation : p Integration :
Te p z1
Cela correspond `
a lapproximation :
z1
z = eTe p ' 1 + Te p = p '
Te
Remarque : La transformation bilineaire introduit une distorsion des frequences. Cette distorsion peut etre
compensee `
a une pulsation donnee 1 par lutilisation de
1 z1
Derivation : p
tan(1 Te /2) z + 1
>> Te=1;
>> sys=tf([1],[1 1 1] ) % d
efinition du syst` eme continu
>> sysd=c2d(sys,Te, tustin); % transformee en z par transformee bilin
eaire
>> present(sysd); % presentation du r
esultat
>> sysdp=c2d(sys,Te, prewarp, 2); % transformee bilin
eaire avec precompens
ee (f1=2rad/s)
>> present(sysdp); % presentation du r
esultat
>> sysdb=c2d(sys,Te, zoh); % transformee avec BOZ
>> present(sysdb); % presentation du r
esultat
>> W=logspace(-1, 0.5, 200);
>> bode(sys,r,sysd,y--,sysdp,gx,sysdb,k., W);
54 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
4.2.1 Rappel : R
eglages de Ziegler-Nichols
Le correcteur PID secrit :
1
C(p) = K 1 + + Td p
Ti p
Tab. 4.1 Coefficients dun PID regle par les methodes de Ziegler-Nichols et Chien-Hrones-Reswick : essai
indiciel et methode du pompage.
Regulation ou Regulation ou
Poursuite Poursuite
Regulation 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
Il faut ensuite transformer le correcteur analogique C(p) en un correcteur numerique par lune des methodes
de transformation vues precedemment (4.1 ou 2.5.3).
La transformee bilineaire est la plus utilisee et donne de bons resultats `a condition de choisir une periode
dechantillonnage proche du quasi-continu, cest-`a-dire les limites basses des valeurs communement admises
(voir fig. 1.30).
1 Si le syst`
eme `
a un comportement de type int
egrateur pur.
56 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
Le tableau 4.1 nest quun bref apercu de lensemble des reglages developpes par divers auteurs et qui sadaptent
a une majorite de syst`emes. Pour des syst`emes plus particuliers ou des reglages plus fins tenant compte des
`
caracteristiques de votre syst`eme, voyez les references [14] ou [13] qui proposent plus de 200 reglages !
Tab. 4.3 choix dune methode de correction en fonction de lindice de reglabilite : cas des syst`emes instables
Reglabilite a. 0.05 < a 0.05 < a < 0.1 0.1 < a < 0.2 0.2 < a < 0.5 a > 0.5
Regulateur 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)
do`
u la transmittance du PID numerique
U (z) z kd z 1
(z) = kp + ki Te z 1 + Te z
Ce correcteur reste pedagogique, dans une application industrielle on preferera 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 dun changement de consigne de type echelon, la derivee du signal derreur entre la consigne et la
sortie est tr`es grande (pratiquement une derivee dechelon soit un Dirac). La commande PID sur lecart va
engendrer une commande proportionnelle `a la variation de lerreur via le module derivateur. Lamplitude
de cette commande risque detre inadmissible en pratique. Une solution pour limiter ce phenom`ene est
dappliquer laction derivee seulement sur la sortie du procede do`u le PID avec la derivee sur la mesure
seule :
U (z) = kp (z) + ki Te
z
z1
(z) Tkd zz 1 Y (z)
e
3. Meme remarque que precedemment mais cette fois sur la partie proportionnelle do`
u le PID avec laction
proportionnelle et derivee sur la mesure seule :
z kd z 1
U (z) = ki Te
z1
(z) kp + T z Y (z)
e
kd
uk = uk1 + ki Te (ykc yk ) kp (yk1 yk ) Te (yk 2yk1 + yk2 ) PI ou PID
uk = kp (ykc yk ) P
Comme pour la methode de Ziegler-Nichols, il faut alors soumettre le syst`eme `a lun des deux essais :
un essai indiciel qui donne les valeurs de et a,
un essai en boucle fermee avec un gain K : on augmente K jusqu` a Kosc valeur du gain pour laquelle
on obtient une oscillation entretenue de periode 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 reglages sont en fait les coefficients qui minimisent lerreur k0 |k |
4.4. MISE EN UVRE DUN ASSERVISSEMENT 59
4.4 Mise en uvre dun asservissement
4.4.1 Anti windup
Apr`es application du correcteur precedent, la premi`ere imperfection qui apparat est due aux non linearites du
syst`eme et en particulier les saturations de lorgane de commande (amplificateur, vanne, ...).
En particulier lorsque lerreur est importante (demarrage par exemple), lintegrateur int`egre une erreur grande
et donc sa sortie est tr`es grande. Lorsque le syst`eme arrive `a la valeur de consigne, lintegrateur est encore
plein et donc le syst`eme depasse largement cette valeur de consigne.
Pour eviter ce phenom`ene deux methodes sont de loin les plus utilisees, souvent simultanement :
la mise en place dun generateur de trajectoire (ex : bras de robot), afin que le syst`eme ne quitte pas
son domaine de linearite.
la mise en place dun anti-windup qui limite la valeur stockee dans lintegrateur pur au maximum de
commande admissible par le syst`eme.
G(z) = G1 (z)z n
Le principe de synth`ese est le suivant : on synthetise un correcteur C1 (z) pour le syst`eme non retarde G1 (z)
puis on adapte ce correcteur pour le syst`eme reel G(z).
Fig. 4.12 Schema ideal de correction de syst`emes tr`es retardes. Utopique car le retard pur nest pas dissociable
du reste de la transmittance du syst`eme.
Bien que totalement irrealisable en letat car le retard pur nest pas dissociable du reste de la transmittance
du syst`eme, calculons tout de meme la fonction de transfert du syst`eme presente en figure 4.12.
C1 (z) G1 (z) n
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 n ) + C1 (z)G(z)
C1 (z)
1+(1z n )G1 (z)C1 (z) G(z)
F (z) = C1 (z)
1 + 1+(1zn )G1 (z)C1 (z) G(z)
C1 (z)
C(z) =
1 + (1 z n )G1 (z)C1 (z)
C(z) est un correcteur est parfaitement realisable : voir schema 4.13.
Note : la mise en uvre dun predicteur de Smith implique de posseder un tr`es bon mod`ele du syst`eme. Les
syst`emes presentant des variations de param`etres ne peuvent pas etre corriges par ce type de correcteur.
4.4. MISE EN UVRE DUN ASSERVISSEMENT 61
Le cas A de la figure 4.16 est presque ideal. 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 dhorloge
suivant pour envoyer la commande. Bien entendu ce cas introduit un retard pur dans le syst`eme qui doit etre
pris en compte au moment de la synth`ese (cas C). Un peu dastuce permet presque toujours de se ramener au
cas D o`u tout ce qui peut etre pre-calcule pour la commande suivante lest juste apr`es la sortie de la commande
en cours.
/* Calcul de lerreur */
n wn yn ;
/* Calcul des termes du PID */
pn Kp n ;
dn Kd (n n1 ) ;
in in1 + Ki n ;
/* Calcul de la commande */
vn pn + dn + in ;
/* Mod`ele de lactionneur */
Si (vn Uinf ) Alors
un Uinf ; /* Commande reelle = saturation basse */
Sinon
Si (vn Usup ) Alors
un Usup ; /* Commande reelle = saturation haute */
Sinon
un vn ; /* Commande reelle = commande PID */
Fin Si
Fin Si
/* Sortie de la commande */
CNA un ;
/* Desaturation du terme integral */
in in + un vn ;
/* Mise `
a jour des variables */
n1 n ;
in1 in ;
Fin
Synth`
eses `
a temps d
etablissement fini
5.1 Synth`
ese en z de correcteurs
5.1.1 Exemple idiot... mais riche denseignements
Soit `
a corriger un syst`eme G(z) :
(z 2)(z 0.5)
G(z) =
(z + 0.7)(z 0.8)(z 1)
On se propose de creer un correcteur parfait, cest-`a-dire, la compensation parfaite du syst`eme 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`eme corrige en boucle ouverte devient donc :
1
C(z) G(z) = G(z) = 1
G(z)
Cest bien un syst`eme parfait, il est meme inutile de boucler ! Bien entendu cela ne peut pas fonctionner et ce
pour deux raisons.
Stabilit
e
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 etude, le correcteur C(z) est ostensiblement instable `a cause du pole en 2, donc
exterieur au cercle unite.
Causalit
e Etudions lequation recurrente de ce correcteur :
65
66 `
CHAPITRE 5. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI
s(k) est une fonction de la commande `
a linstant suivant e(k + 1) ! Ce correcteur nest pas causal, il est donc
impossible `
a realiser.
Les synth`eses de correcteurs numeriques conduisent souvent `a des correcteurs non causaux et/ ou instables, il
faut donc systematiquement verifier :
la causalite
la stabilite
La methode precedente ayant echoue, on se propose de realiser un autre correcteur pratiquement aussi ideal
que le precedent mais utilisant le bouclage.
C(z)G(z)
F (z) =
1 + C(z)G(z)
Premi`
ere tentative :
C(z)G(z)
F (z) = 1 =1
1 + C(z)G(z)
....1 = 0
Cest encore impossible !
Deuxi` eme tentative : La perfection etant impossible `a atteindre, essayons de determiner un correcteur qui
rendrait le syst`eme corrige equivalent `
a un retard pur. La sortie suivrait parfaitement lentree mais decalee
dune periode dechantillonnage.
On resout donc :
C(z)G(z)
F (z) = = z 1
1 + C(z)G(z)
z 1
C(z) =
G(z)(1 z 1 )
Application numerique :
50.0 z 2 5.0 z 28.0
C(z) = 0.04
2.0 z 2 5.0 z + 2.0
causalite : oui
stabilit
e : non (p
oles en 0.5 et 2 !)
Le resultat de cette correction est presente en figure 5.2. Comme prevu le syst`eme est bien instable, mais
observez que la reponse continue du syst`eme passe bien par 1 aux instants dechantillonnage !
Essayons de formaliser un peu plus cette approche `a laide des synth`eses `a temps detablissement fini.
`
5.2. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI 67
5.2 Synth`
eses `
a temps d
etablissement fini
Un syst`eme est dit ` a temps detablissement fini lorsque son erreur ? (k) = 0 en un nombre fini de periodes
ome en t specifie (le plus souvent un echelon : t0 ).
dechantillonnage, lentree etant un polyn
(k)
Temps d
etablissement fini
Fig. 5.3 Comparaison de lerreur permanente entre un syst`eme `a temps detablissement fini ou infini.
D efinition Un syst`eme est dit ` a temps detablissement fini si lerreur ? (t) sannule en un nombre fini
dechantillons, pour une entree u(t) = tm specifiee.
Corollaire (z) est donc un polyn ome en z (donc pas une fraction rationnelle)1 .
La transformee en z de u(t) = tm est de la forme2 U (z) = (1zP1
(z)
ome en z de degre d m.
)m+1 avec P (z) polyn
F (z))
(z) = U (z) Y (z) = U (z) [1 F (z)] = P(1(z)(1
z 1 )m+1
(5.1)
O`
u F (z) est la transmittance en boucle fermee.
5.2.1 Synth`
ese `
a temps d
etablissement minimal absolu
D
efinition a temps detablissement minimal lorsque le degre de (z) est minimal.
Un syst`eme est dit `
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) sannule 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 poles et les zeros de G(z) donc cette methode de commande ne
sapplique quaux syst`emes ne possedant que des poles et des zeros stables !
Remarque 2 : seul ? (t) sannule, pas (t) !
Fig. 5.4 Lerreur echantillonnee est bien nulle mais lerreur continue ne lest pas.
5.2.2 Synth`
ese `
a temps d
etablissement minimal non absolu
Si le syst`eme modelise par G(z) poss`ede des poles ou des zeros exterieurs au cercle unite, la synth`ese `a temps
detablissement minimal absolu nest plus applicable. La synth`ese en temps detablissement minimal consiste
alors `
a chercher K(z) de degre minimal respectant les deux conditions suivantes :
1. F (z) doit posseder parmi ses racines les zeros de G(z) exterieurs au cercle unite
2. 1 F (z) doit posseder parmi ses racines les poles de G(z) exterieurs au cercle unite
Demonstration : posons
B + (z)B (z)
G(z) =
A+ (z)A (z)
u B + (z), B (z), A+ (z), A (z) sont des polynomes tels que :
o`
`
5.2. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI 69
B + (z) contient tous les zeros de G(z) interieurs au cercle unite (dits stables)
B (z) contient tous les zeros de G(z) exterieurs au cercle unite (dits instables)
ainsi que les retards purs du syst`eme
+
A (z) contient tous les p
oles de G(z) interieurs au cercle unite (stables)
A (z) contient tous les p
oles de G(z) exterieurs au cercle unite (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 denominateur (poles instables) alors F (z) doit contenir en facteur la
partie instable B (z). De meme, C(z) ne peut pas contenir au numerateur A (z) (ce serait de la compensation
oles de G(z) instable !) donc 1 F (z) doit contenir en facteur A (z).
de p
Remarque : les p oles et zeros sur le cercle unite sont `a considerer comme instables
le probl`eme pose se ram`ene `a la resolution de 3 equations :
F (z) = B (z)L(z) (non compensation des zeros instables par le correcteur) (5.3)
1 F (z) = A (z)J(z) (non compensation des poles instables par le correcteur) (5.4)
1 F (z) = (1 z 1 )m+1 K(z) (temps detablissement fini) (5.5)
qui se condense en :
Cela reviens `
a resoudre lequation diophantienne
Si la resolution donne
K(z) = A (z)K 0 (z) = k0 + k1 z 1 + k2 z 2 + +kn z n
alors
(z) = U (z)K(z) = 0 + 1 z 1 + 2 z 2 + + m+n z (m+n)
Le transitoire est bien de duree finie, mais de m + n + 1 periodes dechantillonnage.
70 `
CHAPITRE 5. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI
5.2.3 R
eponse pile
La reponse pile est un cas particulier des syst`emes `a temps detablissement minimal non absolu.
Conditions Pour pouvoir realiser un correcteur `a reponse pile pour une entree de type u(t) = tm , il faut que
le syst`eme presente au moins m integrateurs purs.
La figure 5.5 montre un exemple classique avec les differents signaux. On veut, pour une entree en parabole ,
que la sortie soit une parabole. Le syst`eme presentant deux integrateurs purs, il faut que la sortie du correcteur
soit une constante au bout dun certain temps (le temps detablissement).
Puisque la sortie du correcteur est constante au bout du temps detablissement, cette sortie secrit :
W1 (z)
W (z) =
1 z 1
La sortie du syst`eme en boucle fermee est :
B + (z)B (z)
W1 (z) = U1 (z)F (z)
A+ (z)A0 (z)
0
A+ (z)A (z)
W1 (z) = U1 (z)F (z) +
B (z)B (z)
0
W1 , F, U1 , A+ , A , B + , B etant des polyn
omes, il vient immediatement que F secrit :
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)
Soit `
a resoudre lequation diophantienne :
0
(1 z 1 )m+1 A K 0 (z) + B + (z)B (z)L(z) = 1 (5.11)
0
A+ (z)A (z)(1 z 1 )m+1 F (z)
C(z) = (5.12)
B + (z)B (z) 1 F (z)
0
A+ (z)A (z)(1 z 1 )m+1 B + (z)B (z)L(z)
= (5.13)
+
B (z)B (z) (1 z 1 )m+1 A0 K 0 (z)
A+ (z)L(z))
= (5.14)
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 `a temps detablissement mini-
mum : Te =0.5s.
Fig. 5.7 Comparaison des commandes et sorties pour un correcteur pile et `a temps detablissement mini-
mum : Te =1s.
5.3. RESOLUTION
DE LEQUATION DIOPHANTIENNE 73
5.3 R
esolution de l
equation diophantienne
Quelle que soit la methode adoptee pour le calcul du correcteur (Zdan, pile RST, ...), cela revient `a la resolution
dune equation diophantienne de la forme :
AX + BY = C
o` omes en z 1
u : A, X, B, Y et C sont des polyn
Cette equation nadmet de solutions que ssi :
dX dB 1
dY dA 1
Soit
(a0 +a1 z 1 + +an z n )(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
u p n + sup(k, l)
o`
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 ` a lequation 5.15. Si toutefois cette derni`ere condition est respectee mais que le determinant
de A est nul, cest que les polyn omes A et B ne sont pas premiers entre eux.
Exemple 1 Soit `
a resoudre :
dC ? dA + dB 1 (5.16)
4 > 3+11 (5.17)
lequation est non reguli`ere. On choisi la premi`ere forme :
dY = dA 1 = 2
dX = max{(dC dA)}, (dB 1) = max{(4 3, 0)} = 1
dX = dB 1 = 0
dY = max{(dC dB)}, (dA 1) = max{(4 1, 2)} = 3
Exemple 2 Soit `
a resoudre :
(1 + 2z 1 3z 2 z 3 )X + (0.5 + 0.01z 1 )Y = 1
dC ? dA + dB 1 (5.18)
1 < 3+11 (5.19)
dY = dA 1 = 2
dX = dB 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. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI
Chapitre 6
M
ethodes de commande avanc
ees
En boucle fermee, vous pouvez esperer accelerer le syst`eme dun facteur 3 `a 10. Apr`es cela, vous quitterez le
cadre de lhypoth`ese fondamentale de ce cours : le syst`eme est lineaire.
77
78
CHAPITRE 6. METHODES
DE COMMANDE AVANCEES
Les poles du syst`eme en boucle fermee seront choisis en evitant les zones grisees de la figure 6.2. En voici les
raisons :
Pas trop proches du cercle unite. En effet une petit variation de mod`ele (vieillissement, variation de
masse, ...) pourrait engendrer une instabilite du syst`eme.
Pas trop proches du point 1. Sinon, vous ne diminuez pas le temps detablissement ou alors vous avez
mal choisi la frequence dechantillonnage.
Pas de facteur damortissement trop petit, cela conduit ` a des depassements importants de la consigne
et allonge le temps detablissement.
Pas de poles reels negatifs, car ces p
oles gen`erent une oscillation amortie non souhaitable.
Un p
ole est tr`es souvent utilise, le retard pur (en z = 0), pole le plus rapide.
La premi`ere, la methode de Zdan, ne soccupe que des poles de la fonction de transfert en boucle fermee. En
presence de zeros, une premi`ere synth`ese donne un correcteur aux performances assez eloignees du cahier des
charges que vous vous etes pose. Une deuxi`eme synth`ese tenant compte de ce premier resultat donne alors de
bonnes performances.
La methode RST, qui presente un degres de liberte supplementaire permet de placer les zeros aussi bien que
les p
oles.
6.2. METHODE DE ZDAN 79
6.2 M
ethode de Zdan
Les methodes ` a temps detablissement fini conduisent le plus souvent `a des correcteurs qui gen`erent des com-
mandes trop importantes. Tous comptes faits, on cherche rarement daussi bonnes performances pour le syst`eme
boucle. En general, une amelioration dun facteur 3 sur le temps detablissement et une erreur statique voire
de tranage nulle sont suffisantes, compte tenu des saturations du syst`eme.
La methode de Zdan propose de calculer un correcteur tel que le syst`eme en boucle fermee se comporte comme
un syst`eme du second ordre de pulsation propre n et de facteur damortissement donnes.
6.2.1 Principe
On impose au syst`eme boucle :
en regime transitoire : un comportement type second ordre (n et )
en regime permanent : erreur nulle pour une entree canonique u(t) = tm et eventuellement une erreur
donnee pour u1 (t) = tm+1 . Exemple : erreur nulle `a lechelon, erreur specifiee pour une rampe.
B + (z)B (z)
G(z) =
(1 z 1 )l A+ (z)A (z)
u B + (z), B (z), A+ (z), A (z) sont des polynomes tels que :
o`
B + (z) contient tous les zeros de G(z) interieurs au cercle unite (dits stables)
B (z) contient tous les zeros de G(z) exterieurs au cercle unite (dits instables)
ainsi que les retards purs du syst`eme
A+ (z) contient tous les p
oles de G(z) interieurs au cercle unite (stables)
A (z) contient tous les p
oles de G(z) exterieurs au cercle unite (instables)
C1 (z) doit annuler lerreur permanente, compte tenu des l integrateurs purs dej`a contenus dans G(z)
donc, en labsence de perturbations 2 :
1
C1 (z) =
(1 z 1 )m+1l
C3 (z) doit imposer le comportement en boucle fermee et comporte au moins autant de param`etres que de
specifications `
a 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`
ese en z est parfaitement possible mais conduit `
a des erreurs faciles `
aeviter en utilisant la forme en z 1 .
2 En cas de perturbations, le nombre dint
egrateurs purs ne suis pas la formule donn ee. Reportez vous au 3.4.
80
CHAPITRE 6. METHODES
DE COMMANDE AVANCEES
4 param`etres 6 param`etres
1 1 2
1 (z) = kc (1 + 1 z ) kc (1 + 1 z + 2 z )
2 (z) = 0 + 1 z 1 0 + 1 z 1 + 2 z 2 )
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 fermee est :
C(z)G(z) NF (z)
F (z) = =
1 + C(z)G(z) DF (z)
En ecrivant legalite des denominateurs on obtient :
Choix de DF (z) Comme indique precedemment, on cherche un comportement de type second ordre. Aussi,
DF (z) sera decompose en deux parties telles que :
DF (z) = (1 + p1 z 1 + p2 z 2 ) P 0 (z)
| {z } | {z }
p
oles dominants poles negligeables
p
2eTe cos(Te 1 2 )
p1 =
avec :
p2 = e2Te
Les poles negligeables seront choisis tels que |zi | < 0.1 et le plus souvent zi = 0 soit des retards purs. Leur
nombre est fonction de lequation 6.1. En effet, il doit y avoir egalite des degres des polynomes.
Resolution de l equation 6.1 Une fois lequation posee, le nombre de poles negligeables sobtient directe-
ment par lequation des degres de chaque membre. La resolution seffectue en identifiant les termes kc , i et i
en posant les egalites des termes de meme degre. Une methode de resolution plus longue mais plus systematique
est donnee au 5.3
Quelques remarques
Remarque 3 : En utilisant la decomposition en z 1 vous verrez apparatre les retards purs du syst`eme. Ceux-
ci ne sont pas compensables, en effet un syst`eme ayant n retards purs ne repondra jamais en moins de n
echantillons. A ce titre, les retards purs doivent figurer dans B (z) et se retrouveront dans la fonction de
transfert en boucle fermee : 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 generale de la loi de commande dun correcteur de type RST est : (voir schema 6.3)
T (z) R(z)
U (z) = W (z) Y (z) (6.3)
S(z) S(z)
La sortie du syst`eme boucle est donnee par :
B(z) B(z)
Y (z) = U (z) + V (z) + E(z)
A(z) A(z)
Afin dalleger les notations, les arguments des polynomes ne seront plus notes.
En reecrivant (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. METHODES
DE COMMANDE AVANCEES
6.3.1 Synth`
ese de la loi de commande RST
Synth` ese par placement de p oles On cherche une loi de commande U (z) telle que le syst`eme en boucle
fermee ait une fonction de transfert mod`ele donnee de la forme :
Bm (z)
Fm (z) =
Am (z)
or, dapr`es 6.7 et en supposant V = E = 0
BT
Y (z) = W (z) (6.8)
AS + BR
Il faut donc realiser :
BT Bm
= (6.9)
AS + BR Am
Compensation des z eros Afin de simplifier les calculs mais surtout afin dobtenir une fonction de transfert
dordre le plus faible possible, on cherche `
a compenser les poles et les zeros.
Posons :
B = B+B
o`
u:
B+ contient tous les zeros de G(z) interieurs au cercle unite (dits stables)
B contient tous les zeros de G(z) exterieurs ou sur le cercle unite (dits instables)
Note 1 : afin dobtenir ulterieurement S sous forme monique on prendra B + sous forme monique.
Note 2 : concernant les retards purs, ceux-ci etant impossibles `a compenser ils font donc partie de B , car le
syst`eme ne peut reagir plus vite que son retard pur.
B ne pouvant etre en facteur de AS + BR (compensation interdite) il faut que B divise Bm , donc :
Bm = B Bm
0
B + peut etre un facteur de AS + BR (compensation permise) il devra dans ce cas diviser aussi S, donc :
S = B+S0
Reecrivons ces resultats, (6.9) devient :
B+BT 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`u A0 est un polynome donne dit polyn ome observateur par analogie avec la commande par retour detat
(Cours commande avancee 2A).
Le polyn
ome caracteristique de la boucle fermee est alors :
AS + BR = B + A0 Am (6.14)
Remarque 1 : A0 contient les modes de la boucle fermee qui ne seront pas excites par le signal de commande,
par contre ces modes seront excites 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 zeros stables du procede apparaissent comme des poles de la fonction de transfert de w vers u ce qui peut
etre nefaste (exemple p
oles stables `
a partie reelle negative).
Annulation de lerreur statique vis-` a-vis des perturbations Ce qui suit nest valable que pour une
perturbation E, si la perturbation est en V (voir schema 6.3), le raisonnement reste identique mais les IT pur
du syst`eme (l) ne peuvent etre pris en compte, car pour annuler lerreur lintegrateur doit etre situe entre
lentree de perturbation et lerreur.
La fonction de transfert de la boucle est :
BR BR
Fb = =
AS AS 0
Pour annuler une erreur statique dordre m il faut que Fb ait m+1 integrateurs purs (echelon : m=0, 1 IT pur).
La fonction de transfert du procede poss`ede dej`a l poles en z = 1 donc :
A(z) = (1 z 1 )l A+ A
S 0 = (1 z 1 )m+ll S10 A+ A
Bm
a encore comme pour la methode de Zdan, Bm doit contenir tous les retards purs du syst`eme `a corriger. Il
L`
contient aussi tous les zeros dit instables, cest-`a-dire exterieurs au cercle unite.
Bm peut aussi contenir dautres zeros, en particulier ceux qui, tout en etant interieurs au cercle unite, ont une
partie reelle negative. Sils sont compenses, donc au denominateur du correcteur, la commande du syst`eme
presentera une reponse indicielle alternee rapide, peu appreciee des syst`emes (voir fig. 3.7 ).
A0
Le polyn ome dobservation A0 est, en general, choisi egal `a 1, on a alors une dynamique identique en asservis-
sement et en regulation. On peut aussi le choisir de la forme (1 az 1 ). Dans ce cas, on filtre les perturbations,
la reaction de lasservissement sera plus douce mais plus longue.
En reprenant 6.12
0
R = T = A0 B m
Si on compense les p
oles stables du procede `
a laide de A0 le polynome dobservation :
A0 = A+
84
CHAPITRE 6. METHODES
DE COMMANDE AVANCEES
donc,
0
R = A+ B m
et lequation 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 lequation diophantienne de la methode de Zdan en posant :
0
1 (z) = Bm (z)
2 (z) = S10 (z)
Bibliographie
85
86 BIBLIOGRAPHIE
Premi`
ere partie
Annexes
87
Annexe A
Tables de transform
ees
89
90
ANNEXE A. TABLES DE TRANSFORMEES
1 (t) 1
ekTe p (t kTe ) zk
1 z
p (t)=1 z1
1 Te z
p2 t (z1)2
1
p+a eat z
zeaTe
Te zeaTe
1
(p+a)2
teat (zeaTe )2
(1eTe / )z
1
p(1+ p) 1 et/ (z1)(zeTe / )
Te z (1eTe / )z
1
p2 (1+ p) t + et/ (z1)2 (z1)(zeTe / )
Te zeTe /
1
p(1+ p)2 1 (1 + t )et/ z
z1 z
zeTe /
(zeTe / )2
z sin Te
p2 + 2 sin t z 2 2z cos Te +1
p z(zcos Te )
p2 + 2 cos t z 2 2z cos Te +1
zeaTe sin Te
(p+a)2 + 2 eat sin t z 2 2zeaTe cos Te +e2aTe
p z 2 zeaTe cos Te
(p+a)2 + 2 eat cos t z 2 2zeaTe cos Te +e2aTe
n2 z z(zcos n Te )
p(p +n2 )
2 1 cos n t z1 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
= cos1
ba
(p+a)(p+b) eat ebt z
zeaTe z
zebTe
ab b at a bt z bz az
p(p+a)(p+b) 1 ab e ab e z1 + (ab)(zeaTe ) (ab)(zebTe )
91
Tab. A.2 Table des transformees en z des syst`emes classiques precedes dun bloqueur dordre 0. Te est la
periode dechantillonnage et a = eTe /
Transmittance en p Transmittance en z
B0 (p) Te
p z1
B0 (p)
1+ p
1a
za ,a = eTe /
B0 (p) (Te (1a))zaTe + (1a)
p(1+ p) z 2 (1+a)z+a
b2 z 2 +b1 z+b0
z 3 (2+a)z 2 +(1+2a)za
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 (eTe /1 +eTe /2 )z+eTe /1 eTe /2
Te /1
B0 (p) )2 (1eTe /2 )
(1+1 p)(1+2 p) b1 = 1 (1e 1 2
1 eTe /2 2 eTe /1
b0 = eTe /1 eTe /2 1 2
B0 (p) 1a Te a(z1)
(1+ p)2 za (za)2
B0 (p) 1a Te (2 +Te )a(z1) Te 2 a2 (z1)
(1+ p)3 za 2 (za)2 2 (za)3
b2 z 2 +b1 z+b0
z 3 (1+a1 +a2 )z 2 +(a1 +a2 +a1 a2 )za1 a2
ai = eTe /i
B0 (p) 12 (1a1 )22 (1a2 )
p(1+1 p)(1+2 p) b2 = Te 1 2
12 (1+a2 )(1a1 )22 (1+a1 )(1a2 )
b1 = Te (a1 + a2 ) 1 2
12 a2 (1a1 )22 a1 (1a2 )
b0 = Te a1 a2 1 2
B0 (p) b0 +b1 z
1+ 2n p+ 12 p2 z 2 2zen Te cos(p Te )+e2n Te
n
sin( T )
p b0 = e2n Te + en Te ( p e2 cos(p Te ))
p = n 1 2 1
sin(p Te )
<1 b1 = 1 en Te + cos(p Te )
1 2
92
ANNEXE A. TABLES DE TRANSFORMEES
Annexe B
Travaux dirig
es
ENSMM 1 ANNEE
93
94
ANNEXE B. TRAVAUX DIRIGES
B.1. TD N1 : FREQUENCE
DECHANTILLONNAGE
ET EQUATIONS
RECURRENTES 95
B.1 TD n1 : Fr
equence d
echantillonnage et
equations r
ecurrentes
Choix de la p
eriode d
echantillonnage
Exercice 1. choix de la periode dechantillonnage
Soit le syst`eme continu de transmittance
1p
G(p) =
p3 + 2p2 + 11p + 10
Donner lallure des diagrammes de Bode et evaluer la pulsation de coupure (utiliser eventuellement MATLAB).
Dans quel intervalle peut-on choisir la periode dechantillonnage `a utiliser pour observer la sortie de ce syst`eme ?
A laide de simulink tracer la reponse indicielle du syst`eme continu et la reponse echantillonnee avec les periodes
dechantillonnage que vous avez determinees. Conclure.
Syst`
emes r
ecurrents
Exercice 2. Etude dune equation de recurrence
s
n+1 + asn = un
Soit le syst`eme recurrent dentree un et sortie sn defini par
s =0
0
Calculer la suite { sn } lorsque lentree est une suite unitaire { un }={ 1,1,. . . .1,. . . }
Representer graphiquement { sn } pour differentes valeurs de a. Sous quelle condition ce syst`eme est-il stable ?
A laide de Matlab , pour differentes valeurs de a executer les 2 commandes :
Calculer la suite { sn } lorsque lentree est une suite unitaire un ={ 1,1,. . . .1,. . . }.
Etudier la stabilite de ce syst`eme.
Exercice 4.
Soit le syst`eme recurrent dentree un et sortie sn defini par :
s
n+3 + asn+2 + asn+1 + bsn = un
a, b R+
B.2 TD n2 : Syst`
emes r
ecurrents
On souhaite modeliser levolution du cheptel dun eleveur de bovins. Soit :
x1k : le nombre de vaches de 1 an,
x2k : le nombre de vaches de 2 ans,
x3k : le nombre de vaches de 3 ans et plus,
yk : le nombre total de vaches
ces valeurs representant des nombres moyens au cours de lannee k.
Les vaches de 1 an ne se reproduisent pas.
Les vaches de deux ans produisent en moyenne 0.8 veau par an,
celles de trois ans et plus 0.4 veau par an.
Dautre part, seules celles de trois ans et plus meurent de causes naturelles avec un taux moyen de 30 % par
an.
Enfin leleveur sautorise `
a acheter ou vendre uniquement des vaches de trois ans et plus. Soit uk le nombre de
vaches achetees (uk > 0) ou bien vendues (uk < 0) au cours de lannee k.
Le syst`eme ainsi decrit a une cadence Te de 1 an. Cette cadence peut sinterpreter comme une periode
dechantillonnage si on consid`ere que le procede (elevage) est en realite continu (les vaches existent entre 2
mesures). La notion dechantillonnage correspond au choix de compter les vaches une fois par an.
1. Etablir les equations recurrentes de ce syst`eme.
Y (z)
2. En deduire la fonction de transfert H(z) = U (z) et lequation recurrente qui relie uniquement l entree et
la sortie du syst`eme.
3. Calculer les p
oles de la transmittance. Le syst`eme est-il stable ?
4. On consid`ere une loi de commande statique telle que : uk = K(Kc yc yk ).
Y (z)
Faire le schema fonctionnel et calculer la transmittance en boucle fermee G(z) = Yc (z) .
Le gain Kc (gain de precommande) sert `a regler le gain statique du syst`eme boucle. On souhaite un gain
statique egal `
a 1, exprimer Kc en fonction de K.
Etudier la stabilite de ce syst`eme en fonction de K.
5. En utilisant Matlab tracer le lieu dEvans de H(z) :
>> h=tf([num(H)],[den(H)],T); % d
efinition de la fonction de transfert
>> rltool(h) % lieu dEvans
Retrouver sur ce lieu le domaine des valeurs de K assurant la stabilite. Observer les reponses `a un echelon
de ce syst`eme pour des valeurs de K correspondant aux differents modes. Quelle est la valeur de K qui
vous semble la plus satisfaisante.
6. Reprendre la simulation avec Simulink en considerant que la consigne fixee par leleveur est davoir un
cheptel de 30 vaches (yc =30) . Verifier la valeur du gain Kc calcule 5, observer levolution du troupeau
et des achats ou ventes de betail par leleveur.
B.3. TD N3 : ASSERVISSEMENT NUMERIQUE DE VITESSE 97
Mod
elisation du syst`
eme
Soit A le gain daction P et B le gain daction I. Donner le schema fonctionnel de cette regulation
Donner lequation de recurrence liant la commande uk `a la consigne wk et `a la mesure yk .
On mesure = 15ms et le produit km kg = 0.3. Quelle periode dechantillonnage Te peut-on choisir ?
On choisit Te = 10 ms. Calculer la transmittance en z de lensemble convertisseurs, ampli, moteur, generatrice
tachymetrique.
R
egulation proportionnelle
(A6=0, B=0)
R
egulation proportionnelle et int
egrale
Determiner le domaine de stabilite en fonction des param`etres A et B.
Donner les nouvelles valeurs du gain statique et de lerreur statique.
Calculer A et B pour que la sortie atteigne la consigne (et garde cette valeur) des la fin de la premi`ere periode
dhorloge (reponse en 1 coup) ?
98
ANNEXE B. TRAVAUX DIRIGES
s(p) Ke10p
G(p) = =
U (p) 1 + 100p
Ce four est commande par calculateur selon le schema fonctionnel :
A(z a)
C(z) =
K(1 a)(z )
Calculer lerreur statique. On souhaite une erreur statique nulle. Quelle valeur faut-il donner ` a ?
Etudier la stabilite du syst`eme en boucle fermee en fonction de A.
Montrer quil faut A < 0.25 pour avoir une reponse sans depassement.
Pour A = 0.25 calculer la reponse du syst`eme `a un echelon unite. Calculer les 10 premi`eres valeurs
de cette reponse et en deduire le temps de reponse `a 5%.
3. On souhaite ameliorer la rapidite de la reponse indicielle. Pour cela on choisit maintenant un regulateur
de la forme :
A(z a)(z )
C(z) =
K(1 a)(z 1)(z )
Calculer A, et pour avoir une reponse en 2 periodes dechantillonnage.
4. Peut-on trouver un correcteur donnant une reponse en une periode ?
B.5. TD N5 ET 6 : ETUDE DUN ASSERVISSEMENT DE POSITION 99
Etude dune r
egulation continue
Lasservissement de position est decrit par le mod`ele :
La perturbation Vp appliquee sur la commande du moteur est equivalente `a la perturbation due `a la variation
du couple resistant sur le moteur.
R
egulation proportionnelle C(p) = A
1. Exprimer la sortie Vs ainsi que lecart en fonction de Vc et Vp .
2. On souhaite que lerreur permanente soit inferieure `a 10% de lamplitude de la perturbation .
Quelle valeur faut-il donner `
a A?
Quel est dans ce cas le facteur damortissement ?
3. Determiner la marge de phase (par le calcul ou en utilisant Matlab)
4. En utilisant Matlab/Simulink tracer la reponse `a un echelon de consigne et un echelon de perturbation
retarde de 20 ms.
Correcteur `
a avance de phase
On remplace A par un correcteur de transmittance
1 + Tp
C(p) = A avec a < 1
1 + aT p
On utilise la valeur de A calculee precedement pour conserver la precision de lasservissement, mais on souhaite
une marge de phase superieure ` a 70 pour avoir un bon amortissement. On choisit T = 1/60 et a = 1/4.
1. Verifier avec Matlab que la condition sur la marge de phase est bien verifiee.
2. En utilisant Matlab/Simulink tracer la reponse `a un echelon de consigne et un echelon de perturbation
retarde de 20 ms.
R
egulation proportionnelle
On choisit un correcteur C(z) = K
1. Etudier la stabilite de cet asservissement.
2. Retrouver la condition de stabilite en tracant, avec Matlab, le lieu dEvans.
3. En utilisant ce lieu determiner K pour avoir le meilleur temps de reponse.
4. Quelle est alors la valeur de lerreur permanente en reponse `a un echelon de consigne et `a un echelon de
perturbation sur la commande.
D
etermination dun correcteur par la m
ethode du mod`
ele
On souhaite que lasservissement se comporte comme un mod`ele du 2`eme ordre de transmittance :
1
M (p) =
(1 + 0.005p)2
Comparer les r
esultats obtenus par les diff
erentes m
ethodes
B.6. TD N7 : METHODE DE ZDAN 101
B.6 TD n7 : M
ethode de Zdan
Le processus `
a commander a pour transmittance operationnelle G(p) definie par :
1
G(p) =
p(1 + p)
Determiner la valeur limite Tmax de la periode dechantillonnage.
En prenant Te =1 seconde, faire la synth`ese du correcteur numerique C(z) de mani`ere `a ce que :
Lerreur permanente du syst`eme boucle, vis-` a-vis dune entree en rampe soit nulle.
Le syst`eme corrige, boucle, poss`ede une dynamique identique ` a celle dun syst`eme continu du second
ordre de pulsation n = 0.2 rad.s1 et de facteur damortissement = 0.6.
Que peut-on prevoir quant au depassement relatif ` a la reponse indicielle ?
Quelle est la valeur de lerreur dordre 2 en regime permanent ?
0.025z 1 (1 + 0.816z 1 )
G(z) =
(1 0.952z 1 )(1 0.528z 1 )
B.7 TD n8 : Synth`
ese dun r
egulateur RST
On souhaite contr
oler `
a laide dun calculateur numerique le procede continu decrit par lequation differentielle :
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 appliquee au syst`eme `a laide dun convertisseur numerique/analogique modelise
par un bloqueur dordre zero ; un convertisseur analogique/numerique modelise comme un echantillonneur, est
place en sortie (voir figure 1).
Mod
elisation
Y (p)
1. Donner la fonction de transfert G(p) = U (p) du procede continu
Y (z)
2. On choisit Te =1s , donner la fonction de transfert G(z) = U (z) du procede echantillonne.
R
egulation proportionnelle
R
egulateur RST
On souhaite que le syst`eme se comporte comme un syst`eme du 1 ordre de gain statique unite et de constante
de temps = 2s. On souhaite egalement une erreur statique nulle en reponse `a un echelon de perturbation sur
lentree de commande U .
1. Calculer le regulateur RST qui satisfait ces conditions (voir principe du calcul page suivante).
2. A laide de simulink tracer la reponse `a un echelon unitaire de consigne et un echelon de perturbation
damplitude 0.1 intervenant `a t = 10s.
`
B.7. TD N8 : SYNTHESE
DUN REGULATEUR RST 103
B(z) T (z)
H(z) =
A(z) S(z)
R(z)
S(z)
Ou R, S, T sont des polyn
omes 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 fermee conduit `a 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 quune solution de cette equation doit verifier les inegalites :
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 DIRIGES
Annexe C
Tutorial Matlab
105
jouvencel
INTRODUCTION A MATLAB
ENVIRONNEMENT MATLAB
">>" symbole/prompt apparaissant gauche et indiquant que l'interprteur est prt recevoir
une commande.
Variables
Les variables dfinies par l'utilisateur sont ranges dans l'espace mmoire de Matlab, ces
variables sont dites globales.
Rpertoires de travail
Matlab permet d'ouvrir, de crer, de modifier etc des fichiers. Matlab sauvegarde tous les
fichiers crs dans le rpertoire par dfaut qu'il est possible de modifier l'aide de la
commande "cd" ou en lanant le "path browser"
l'aide de l'icne suivant :
1 Introduction Matlab
jouvencel
Aide / Help
Autres outils
Interprteur
>> commande
rsultat affichage du rsultat
>> interprteur 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]; % rsultat identique la ligne prcdente (incrment de 1 par dfaut)
>> v= [1:1:5]; % idem incrment spcifi
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 retourne Non oui
action sur var globales variables locales et globales
utilit actions rptes Extension matlab
function
4 Introduction Matlab
jouvencel
GRAPHISME
Tout trac avec Matlab, s'effectue dans une fentre graphique que l'on cre par la commande
figure ou quand on excute une commande de dessin (plot ). On peut crer autant de
fentres graphiques que l'on veut celles-ci tant numrotes de 1 N au fur et mesure de
leur cration. La fentre graphique par dfaut et la dernire qui a t cre par figure ou la
dernire active par une commande de dessin ou slectionne avec la souris.
figure % cre une fentre graphique qui devient la figure par dfaut,
figure(n) % cre une fentre graphique numro n qui devient la fentre 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 linaire 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 prcdent (par dfaut) on peut superposer des
dessins en mettant le commutateur hold on
hold on % dsactivation par hold off
title('Titre de la figure');
xlabel('commentaire sur l'axe x');
ylabel('idem axe y');
axis([xmin,xmax,ymin,ymax]); % dfinit l'chelle des axes
legend('trac 1','trac 2',.) ; %chaque trac est associ une lgende
grid % affiche une grille
text(x,y,'texte') % place texte la position x y dans la fentre
gtext('texte") % place texte la position dfinie avec la souris
5 Introduction Matlab
jouvencel
SIMULINK
LANCEMENT DE SIMULINK:
La fentre suivante contenant les librairies de simulink, apparat ainsi qu'une fentre de
travail.
librairies de simulink
fentre de travail
6 Introduction Matlab
jouvencel
Mthode :
On slectionne 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 relcher le bouton pour changer de
direction.
On vrifie que la connexion est correcte par le
fait que la flche est accentue
Mthode
On effectue un double clic sur le
composant exemple Mux, la fentre de
paramtrage s'ouvre,
On tape les valeurs dsires : ici la valeur
2 pour indiquer 2 entres,
On ferme cette fentre par Close, les
nouvelles valeurs sont prises en compte.
Exercice
paramtrer le gnrateur sinusodal avec une amplitude de 2 et une frquence de
0.5 Hz
le gain sera rgl 0.5.
rgler la frquence de dpart du chirp 0.01 hz
Mthode
clic sur le nom
on tape un nouveau nom
7 Introduction Matlab
jouvencel
Mthode
Double clic sur le lien que l'on veut marquer,
une fentre apparat qui vous
indique le bon droulement de l'opration.
on tape un nom exemple sin,
Mthode
la sortie d'un composant : double clic sur le
lien,
taper le symbole < puis cliquer hors de cette
fentre,
taper Ctrl D (contrle D)
Chaque
tag doit tre modifi un par un, attention aux
correspondances.
8 Introduction Matlab
jouvencel
on le slectionne,
on saisit une poigne,
on tire ou on diminue.
Modifications
9 Introduction Matlab
jouvencel
undo
droulement
Modification des liens simulation
en utilisant les poignes situes sur le lien (une fois slectionner celles-ci
apparaissent),
en appuyant sur le bouton droit de la souris on ajoute un nouveau dpart,
shift et bouton gauche permet d'ajouter de nouvelles poignes de changement de
direction.
nouveau dpart
nouvelle
poigne
SIMULATION
Paramtrage de la simulation
La simulation utilise un certain nombre de paramtres : menu simulation parameters
instant de dpart ( 0 par dfaut)
instant d'arrt (mettre 20s)
On tudiera ultrieurement les autres paramtres.
Faire close ce qui valide les modifications.
Lancement de la simulation
menu simulation start
ou ctrl T
ou icne >
Une sonnerie indique la fin de la simulation
10 Introduction Matlab
jouvencel
Pour diverses oprations, il est intressant de disposer des signaux dans l'environnement de
matlab ou de rcuprer des signaux dfinis dans matlab.
Les blocs ToWorkspace de la librairie Sinks permettent de diriger les signaux vers
l'environnement de matlab dans l'exemple trait jusqu' prsent ceci est ralis avec le bloc
nomm "signaux" sur lequel arrive le tag "de"
Exercice :
Dans la fentre de commande matlab, taper plot(tout,signaux)
signaux est une variable contenant les signaux gnrs
tout est une variable que l'on verra plus tard
Exemple
On dfinit la variable T=0:0.01:20; ainsi que le signal dsir 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 systme prcdent dans un sous systme, cette mthode permet de rendre
plus lisible un schma et de paramtrer le sous-systme.
Mthode
on slectionne tous les lments
qui formeront le sous-systme
On tape Ctrl G (ou EditCreate
SubSystem)
12 Introduction Matlab
jouvencel
On obtient : un bloc nomm Subsystem que l'on peut renommer, les entres et
sorties peuvent tre elle aussi renommes l'intrieur du bloc (double clic pour
ouvrir le bloc).
Des ports d'entre et de sortie on t rajouts automatiquement, on peut en ajouter
par exemple le port correspondant x2
13 Introduction Matlab
jouvencel
1
Dfinition du systme : 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 / systme continu sinon la priode dchantillonnage
Td = 0 0 ou la valeur dun retard sur lentre
InputName = {''} on peut donner un nom lentre
OutputName = {''}Idem pour la sortie
Notes = {}
UserData = []
Transfer function:
1
---------------
p^2 + 0.2 p + 1
analyse du systme
Simulation
Rponse impulsionnelle >impulse(sys1)
Rponse un chelon > step(sys1)
Rponse une entre quelconque :
Il faut dfinir la variable temporelle t=0 :0.01 :10 ;
Il faut dfinir lentre u=sin(t)
On simule > lsim(sys1,u,t)
Utilisation de simulink
15 Introduction Matlab
jouvencel
Interconnexion de systmes
Discrtisation du correcteur
16 Introduction Matlab
jouvencel
Complments
Le correcteur avance de phase calcul prcdemment, possde un gain statique que lon peut
dterminer de la manire suivante : /aexer8/exer8
On vrifie 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 dtat de dimension n
A (F) la matrice dvolution ou dtat de dimension n n
U(t) (uk) la commande de dimension r
B (G) la matrice dentre de dimension n r
S(t) (sk) la sortie de dimension m
C la matrice dobservation de dimension m n
D la matrice de couplage entre/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 applique au chariot (en N)
18 Introduction Matlab
jouvencel
1 Calcul de lobservateur
2 Calcul du retour dtat
3 Calcul du gain statique
4 Construction de
lenvironnement
5 Simulation
19 Introduction Matlab
jouvencel
20 Introduction Matlab
126 ANNEXE C. TUTORIAL MATLAB
Annexe D
Annales
1`ere annee
Juin 2006
Devoir personnel
Tous documents autorises
Ce devoir est letude dun syst`eme instable quil faut rendre tr`es rapide
Vous avez le choix des armes, Matlab, Mathematica, Maple, binome ... Mais comprenez ce que vous faites !
Redaction 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 : operateur de Laplace (notation Matlab)
2 Echantillonn
e
2.1 Echantillonnage
On choisit dechantillonner le syst`eme `
a une frequence de 1 Hz.
1. Que pensez vous de ce choix ?
2. Calculez la fonction de transfert en z de ce syst`eme en y introduisant un bloqueur dordre 0.
127
128 ANNEXE D. ANNALES
2.2 Correcteur en temps d
etablissement minimal
1. Calculez le correcteur serie qui minimise le temps detablissement pour une entree en echelon.
2. Le correcteur obtenu est-il en temps detablissement minimal ou en temps detablissement minimal
absolu.
3. En utilisant le crit`ere de Jury, verifier que le syst`eme boucle est stable.
4. Calculer lerreur statique et lerreur de tranage (respectivement `a une entree en echelon puis en rampe)
5. Determiner lequation recurrente de ce correcteur.
2.3 Correcteur `
a r
eponse pile
1. Calculez le correcteur serie qui donne une reponse pile pour une entree en echelon.
2. Rappelez bri`evement le point commun avec le correcteur precedent et la difference fondamentale.
3. En utilisant le crit`ere de Jury, verifier que le syst`eme boucle est stable.
4. Calculer lerreur statique et lerreur de tranage (respectivement `a un entree en echelon puis en rampe)
5. Determiner lequation recurrente de ce correcteur.
2.4 Comparaison
1. Comparez les deux correcteur precedents en fonction de crit`eres que je vous laisse apprecier.
JUIN 2006 129
1`ere annee
Juin 2006
Examen dautomatique
Tous documents autorises, duree : 3h
Cet examen se decompose en quatre parties independantes, le bar`eme est purement indicatif. Conseil : limitez
a 103 .
la precision de vos resultats `
(1 az 1 )(1 z 1 )
C(z) = K
(1 bz 1 )(1 z 1 )
3. Choisissez a et b de facon `
a compenser respectivement un pole et un zero du syst`eme. Une explication
claire est demandee.
4. Choisissez pour avoir une erreur statique nulle.
5. Choisissez K et pour fixer une dynamique convenable.
6. Donnez lequation recurrente du correcteur.
p1
G(p) =
(p + 1)(p + 2)
1. Lobjectif etant de rendre le syst`eme environ 3 fois plus rapide en boucle fermee quen boucle ouverte,
proposez une periode dechantillonnage.
2. Quel que soit le resultat de la question precedente, calculez G(z) la fonction de transfert du syst`eme
echantillonne precede dun bloqueur dordre 0 en prenant Te = 1s.
3. Determinez un correcteur par la methode de Zdan tel que :
le syst`eme presente une erreur permanente nulle pour une entree en rampe
le syst`eme en boucle fermee se comporte comme un syst`eme du troisi`eme ordre possedant 3 p
oles
en 0.5.
Aide : demarrez la resolution en prenant 1 (z) = kc (1 + 1 z 1 ) et 2 (z) = 1 + 1 z 1
4. Verifiez la stabilite et la causalite du correcteur obtenu.
5. Verifiez que le syst`eme presente bien une erreur statique nulle pour une entree en echelon.
6. Sans calcul, dites pourquoi les caracteristiques du syst`eme en boucle fermee sont assez eloignees du cahier
des charges pose.
130 ANNEXE D. ANNALES
4 Probl`
eme (8 pts, 1h30)
Afin detudier la mecanique de la rupture de materiaux composites, on utilise le mecanisme suivant. En labsence
de frottements, lenergie cinetique de la pointe est enti`erement dissipee dans la propagation de la fissure. La
mesure de la vitesse et celle de la longueur de la fissure permettent de comparer differents materiaux composites.
La vitesse dimpact est fonction de langle initial 0 , donc de la dexterite de lutilisateur. Pour ameliorer le
syst`eme on utilise alors un moteur couple1 place sur laxe de rotation qui permet dasservir la vitesse dimpact.
Le temps entre le demarrage et limpact etant tr`es court, il faut utiliser un asservissement tr`es rapide.
Au sein du probl`eme les differentes parties sont largement independantes.
4.1 Mod
elisation
Hyp : La masse est supposee ponctuelle et situee `a une distance L de laxe de rotation.
1 En GB : pan-cake motor, moteur
electrique `
a courant continu pr
esentant un fort couple mais une faible vitesse.
JUIN 2006 131
1. Determinez lequation differentielle non lineaire du mouvement de la tige (t) en fonction des param`etres
L, M , g la constante de gravite terrestre et le couple moteur.
2. En faisant lhypoth`ese, classique, que est petit determinez lequation differentielle lineaire du mouvement
de la pointe.
3. Calculez la transformee de Laplace de lequation differentielle precedente en tenant compte des conditions
initiales (0) = 0 et (0) = 0 .
4. Calculez alors la fonction de transfert continue du syst`eme (angle du syst`eme vis-`a-vis du couple moteur.
(p)
G(p) =
(p)
5. Dessinez un schema bloc faisant apparatre 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 dinduit
o`
u : kc : contante de couple
R : resistance dinduit
Ls : Inductance serie de linduit
6. Dessinez le schema bloc du syst`eme complet (moteur + syst`eme mecanique et perturbation).
Fig. D.2 Phenom`ene de pompage du courant dinduit : oscillation obtenue pour un gain Kosc = 40 on mesure
alors Tosc = 1ms.
1. Determinez les constantes kp , Ti et Td du correcteur PID donne ci-apr`es 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 resultat presente en figure D.2, calculez une periode dechantillonnage correcte pour implanter
le correcteur precedent sous forme numerique. Le calcul du correcteur numerique, nest pas demande 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`eme moteur corrige par le PID precedent est si
petite vis-`
a-vis des constantes de temps du syst`eme mecanique que le moteur corrige par le PID est considere
comme un gain km .
1. Determinez un correcteur `
a reponse pile pour une entree en rampe.
Applications num
eriques
AN : kc = 1; R = 1; Ls = 1; km = 1; L = 1; L1 = 1; M = 1; g = 10
JUIN 2007 133
1`ere annee
Juin 2007
Devoir personnel
Ce devoir est letude dune methode de commande un peu particuli`ere dite commande par mod`ele interne. Le
principe nest pas dasservir une sortie `
a une consigne mais dasservir la sortie dun syst`eme `a celle dun mod`ele.
Vous avez le choix des armes, Matlab, Mathematica, Maple, binome ... 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
za
avec s : operateur de Laplace (notation Matlab)
1. Choisir une periode dechantillonnage du syst`eme.
2. Montrer que si k 6= k 0 il existe un gain H0 tel que lerreur statique soit nulle malgre la perturbation en
echelon.
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 entree sortie du syst`eme.
5. Proposer un cahier des charges plausible pour le syst`eme en boucle fermee.
6. Calculer les fonctions de transfert F1 (z), F2 (z) et H(z), en fonction du cahier des charges.
7. Donner lalgorithme de commande.
134 ANNEXE D. ANNALES
1`ere annee
Juin 2007
Examen dautomatique
Tous documents autorises, duree : 2h
Cet examen se decompose en six parties presque independantes, le sujet est difficilement faisable dans le temps
imparti. Ne perdez pas de temps sur une question difficile, passez `a la suivante. Conseil : limitez la precision
de vos resultats `a 103 .
Le probl`eme pose est lasservissement de force dun bloc moteur du drone compose dun moteur synchrone dit
moteur brushless, de son collecteur electronique et dune helice `a pas variable. Lobjet de cette etude est en
particulier la regulation de la vitesse du moteur `a 6000 tr/mn et ce, quel que soit le pas de lhelice.
1 Etude analogique
10e p
G(p) =
1 + Tp
1. Tracer la reponse indicielle de G(p).
2. Determiner un correcteur analogique de type PI pour lasservissement de ce syst`eme.
3. Sans calcul mais avec une br`eve justification, quel sera probablement le depassement de la sortie pour
une entree en echelon ?
2 Asservissement num
erique
Tous comptes faits, on decide de placer un correcteur numerique. La periode dechantillonnage est : Te = 5 ms.
Lobjectif est dobtenir une reponse indicielle la plus rapide possible.
Fig. D.7 Syst`eme boucle avec un correcteur de type temps detablissement minimal.
C(z)G(z)
= z 2
1 + C(z)G(z)
6. Calculer les trois premiers echantillons de la commande du moteur cest-`a-dire de la sortie du correcteur.
3 R
egulation num
erique - Zdan
Dans cette partie, la variation de couple due au pas variable est prise en compte sous la forme dun couple de
perturbation comme indique sur la figure D.8.
Fig. D.8 Mod`ele du syst`eme avec la perturbation due au pas variable modelisee par une rampe.
4 R
egulation num
erique - Commande par anticipation
Afin de diminuer le depassement obtenu par le correcteur precedent, on se propose dimplanter une commande
par anticipation.
1 A+ (z) 1 (z)
C(z) = C1 (z)C2 (z)C3 (z) = 1
(1 z ) B + (z) 2 (z)
n
1 A+ (z) 01 (z)
D(z) = C1 (z)C2 (z)C30 (z) =
(1 z 1 )n B + (z) 2 (z)
1. Montrez que 01 (z) ninflue que sur les zeros de la boucle fermee.
2. Calculez 1 (z), 2 (z) et 01 (z) tels que la transmittance en boucle fermee soit exactement egale `
a
z 2
(10.5z 1 )3 . Aide : reprenez la solution de la question 3.1
3. Calculer les trois polyn
omes R(z),S(z) et T (z) dun correcteur RST qui permettrai dobtenir exactement
la meme dynamique que la commande par anticipation en boucle fermee.
5 Asservissement de force
La relation force verticale en fonction de la vitesse du moteur et du pas est supposee de la forme :
F = a 3
2. Soit H(z) une transmittance operationnelle dun syst`eme qui soumise `a un echelon unite presente en
sortie la reponse presentee en figure D.10. Calculer H(z).
3. Le syst`eme represente par :
z+3
D(z) =
z 3 + 1.2z 2 .25z 0.3
est-il stable ?
4. Tracer intuitivement le lieu dEvans de la fonction de transfert suivante :
z + 0.5
F (z) =
z 2 + 0.2z + 0.4
dont les p
oles et le zero sont representes sur la figure D.11.
1`ere annee
Juin 2008
Examen dautomatique
Tous documents autorises, duree : 2h
Le probl`eme pose est la regulation de frequence dun oscillateur ultra-stable `a 7 GHz. Embarque sur un satellite,
cet oscillateur derive dans le temps en fonction des variations de temperature du saphir. On sattachera ` a la
realisation de deux regulateurs independants : une regulation analogique de phase qui corrige la frequence
et une regulation numerique de temperature. Ces deux signaux sont traduits en une tension continue par un
capteur approprie.
1 R
egulation analogique de phase
IL sagit ici de determiner un correcteur analogique qui agit sur la phase de la frequence de 7 GHz ultra-stable.
la transmittance entre la phase et la frequence est H(p).
S(p)
1. Le lieu dEvans du syst`eme H(p) = U (p) est donne en figure D.12. En deduire un correcteur analogique
de type PI de Ziegler-Nichols.
2. Le diagramme de Bode du syst`eme forme du correcteur PI calcule precedemment suivi de la transmittance
H(p) (voir fig. D.14) est donne en figure D.14 (un zoom est donne en figure D.15). Mesurez la marge de
phase et la marge de gain G.
3. Le syst`eme boucle par un retour unitaire et corrige par le correcteur determine precedemment presente
une reponse indicielle ayant trop de depassement. On se propose de baisser la gain pour le rendre moins
rapide. Calculez le nouveau gain du correcteur PI afin davoir une marge de phase de 90 degres (T i reste
identique).
4. Au vu de votre experience, quel type de reponse indicielle devrait-on avoir avec un telle marge de phase ?
JUIN 2008 139
Fig. D.15 Diagramme de Bode du syst`eme presente en figure D.13 (zoom sur la zone critique).
2 Transposition du r
egulateur analogique
1. Tout comptes faits, on decide dimplanter le correcteur analogique calcule precedemment sur un calcula-
teur numerique. Rappelez en deux lignes les principaux avantages du regulateur numerique sur sa version
analogique.
140 ANNEXE D. ANNALES
2. Calculez un correcteur numerique par la methode de votre choix que vous justifierez.
3. Choisissez la periode dechantillonnage maximum pour eviter le phenom`ene de recouvrement de spectre
en faisant lhypoth`ese que le spectre du signal est limite a` 104 rad.s1 .
3 R
egulation num
erique de temp
erature
Description du syst` eme Ce saphir, de tr`es haut facteur de qualite, est pose dans une enceinte isolee
thermiquement. Afin deviter tout choc thermique, la dynamique dasservissement est choisie tr`es lente. Une
fois dans lespace, le saphir met plusieurs heures `a atteindre sa temperature de fonctionnement. Deux types de
perturbation apparaissent :
V (z) en entree du syst`eme represente les variations de temperature dues aux derives de lelectronique
et sont modelisees par une rampe.
E(z) en sortie represente linfluence du soleil sur le satellite. Elle est representee par une perturbation
sinusodale.
Fig. D.16 Schema bloc de la fonction de transfert entre la temperature de sortie Y et la puissance dentree U
en presence des perturbations V et E. V est une perturbation de charge de type rampe, E est une perturbation
de sortie de type sinusodal.
Fig. D.17 Reponse de la temperature du saphir en fonction dun echelon unitaire de puissance.
Pr`es avoir donne la reponse temporelle s(t) de G(p) soumise `a un echelon unite, determinez graphiquement
les valeurs de k et .
2. Determinez la transformee en z de la transmittance G(p) precedee dun bloqueur dordre 0 echantillonnee
avec une periode T e = /5.
Mod
elisation du syst`
eme voulu en boucle ferm
ee
1. Proposez une transmittance continue (en p), repondant au cahier des charges.
Bm (z)
2. Determinez la fonction de transfert du mod`ele M (z) = Am (z) qui est la transformee en z de votre mod`ele
analogique precede par un bloqueur dordre 0.
142 ANNEXE D. ANNALES
Premier correcteur
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 sinusodal.
R(z) U (z)
5. Verifiez la stabilite du correcteur C(z) = S(z) = (z) .