Vous êtes sur la page 1sur 143

Automatique linaire

chantillonne

Version 2008.2

Gonzalo Cabodevila
gonzalo.cabodevila@femto-st.fr
TDs : G. Cabodevila, D. Chappe, A. Janex, B. Lang

1re anne
Semestre jaune
AUT1 - Automatique

cole Nationale Suprieure de


Mcanique et des Microtechniques
26, chemin de lpitaphe
25030 Besanon cedex FRANCE
http://intranet-tice.ens2m.fr
2
Pr
eface

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.

Lhomme de science le sait bien, lui, que seule la


science, a pu, au fil des si`ecles, lui apporter lhorloge
pointeuse et le parcm`etre automatique sans lesquels
il nest pas de bonheur terrestre possible.

Pierre Desproges
Extrait de Vivons heureux en attendant la mort

Peut-on, dans la vie, triper sur quoi que ce soit,


sans se faire un peu chier pour lapprendre ?

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

3 Analyse des syst` emes 37


3.1 Stabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1.1 Conditions de stabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2 Crit`ere de Jury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.3 Crit`ere de Routh-Hurwitz applique sur la transformee en w . . . . . . . . . . . . . . . . 39
3.1.4 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2 Correspondance des plans z et p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.1 Reponse impulsionnelle en fonction de la position des poles. . . . . . . . . . . . . . . . . 42
3.3 Le lieu dEvans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4 Precision des syst`emes echantillonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.1 Erreur vis-` a-vis de la consigne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.2 Erreur vis-` a-vis de la perturbation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.3 Extension du raisonnement ` a tous types dentrees . . . . . . . . . . . . . . . . . . . . . . 47

5
6 `
TABLE DES MATIERES
3.4.4 Cycle limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4 Transposition des correcteurs analogiques 51


4.1 Les differentes approximations de la derivee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1 Differences vers larri`ere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.2 Differences vers lavant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.1.3 Transformation bilineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.1.4 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2 PID analogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.1 Rappel : Reglages de Ziegler-Nichols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.2 P, PI, ou PID ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Le PID numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.1 Reglages de Takahashi pour un regulateur PID numerique filtre . . . . . . . . . . . . . 58
4.4 Mise en uvre dun asservissement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.1 Anti windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.2 Predicteur de Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

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

6 M ethodes de commande avanc ees 77


6.1 Choix des p
oles en boucle fermee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2 Methode de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2.2 Correcteur de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3 Commande RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.3.1 Synth`ese de la loi de commande RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3.2 Choix des polyn omes Am , Bm et A0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.3.3 Cas particulier du correcteur RST : le correcteur serie . . . . . . . . . . . . . . . . . . . 83

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

C Tutorial Matlab 105


Tutorial Matlab de Jouvencel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
`
TABLE DES MATIERES 7
D Annales 127
Devoir personnel Juin 2006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Examen final Juin 2006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Devoir personnel Juin 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Examen final Juin 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Examen final Juin 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8 `
TABLE DES MATIERES
Chapitre 1

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.

1.2 Exemples dasservissements


1.2.1 Historique
Lhistoire de lautomatique demarre sans doute d`es la prehistoire. En effet, le masque du sorcier prehistorique
est une premi`ere tentative de donner une vie propre `a un objet inanime.
Le syst`eme souvent cite comme etant la premi`ere realisation dun correcteur automatique est la clepsydre de
Ktesibios (-270 av. J.C) (figure 1.1). Afin dameliorer le principe de lhorloge `a eau, Ktesibios introduit un
reservoir supplementaire dans lequel le volume de liquide reste constant grace `a un flotteur qui ferme lentree
du reservoir lorsque celui-ci est trop plein. En gros, cest une chasse deau moderne.

Fig. 1.1 Clepsydre de Ktesibios(-270 av. J.C., Alexandrie).

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.

Fig. 1.2 Canard de Vaucanson (' 1739).

Fig. 1.4 Cartes perforees, le debut de la program-


Fig. 1.3 Metier `
a tisser programmable. mation.

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

Fig. 1.5 Soupape de securite de Denis Papin


(' 1679). Fig. 1.6 Regulateur de vitesse de Watt (1788).

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.

Retenez encore quaujourdhui sur 100 syst`emes meritant detre asservis :


10 le sont effectivement,
mais 9 sont mal asservis.

1.3. MISE EN UVRE DES ASSERVISSEMENTS NUMERIQUES 13
1.3 Mise en uvre des asservissements num
eriques
Le schema general dun asservissement analogique est represente en figure 1.11, sa transposition en commande
numerique est representee en figure 1.12.

Fig. 1.11 Syst`eme asservi lineaire continu.

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.)

Les avantages de lasservissement numerique sont nombreux, en voici quelques uns.

Realisation aisee de regulateurs complexes, lois de commande raffinees.


Facilite de mise en oeuvre de commandes anticipatrices (compensation par rapport ` a la consigne ou ` a
certaines perturbations).
Mise en oeuvre dalgorithmes de regulation sans equivalent analogique.
Insensibilite de la caracteristique entree-sortie du regulateur aux parasites, aux variations de temperature,
au vieillissement, etc.
Pas de dispersion des param`etres du regulateur en cas de fabrication en serie.
Prise en compte de defauts, des limites et comportements particuliers du syst`eme ` a regler (non linearites,
saturations) par simple programmation.
Linearisation autour dun point de fonctionnement ajustable.
Generateur de trajectoires integre.
Changement de correcteur souple et rapide.
Interface utilisateur conviviale.
Plusieurs syst`emes corriges par un seul microprocesseur.
14 CHAPITRE 1. INTRODUCTION
Il y a aussi quelques inconvenients quil convient de connatre pour mieux les contourner. Notamment lobserva-
tion discontinue de la grandeur reglee, le syst`eme est en boucle ouverte entre deux instants dechantillonnage.
Sans precautions particuli`eres, le bouclage numerique ins`ere des non linearites dans la boucle de regulation
dues :
`
a la quantification des convertisseurs,
`
a la precision de calcul finie du microprocesseur,
au procede dechantillonnage (recouvrement spectral).
Ces non linearites peuvent avoir un effet destabilisant (cycles limites) et introduisent des bruits supplementaires,
voire des battements. Un autre phenom`ene important est linsertion de retards purs dans la boucle de regulation
dus au temps de conversion analogique-numerique (A/N) et numerique-analogique (N/A) et au temps dexecution
de lalgorithme de regulation, or les retards purs sont tr`es destabilisants.

1.3.1 Technologie des asservissements


Le choix du support materiel dun asservissement numerique est evidemment fonction de lobjet contr ole. La
gamme de supports est vaste, pour fixer les idees voici trois syst`emes complets.
Dans le cas de syst`emes tr`es complexes, necessitant plusieurs asservissements simultanes, des interfaces utili-
sateurs conviviales, le choix se porte sur des calculateurs industriels qui se presentent sous la forme dun rack
dans lequel on ins`ere des cartes `
a microprocesseur et des cartes dentrees sorties. La puissance de calcul nest
pas limitee.

Fig. 1.14 Carte d acquisition haute densite. 96


Fig. 1.13 Kit de developpement sur Bus VME. voies analogiques 12 bits 3 Mech./s.

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.

Fig. 1.15 Microcontroleur PIC.

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)

Fig. 1.16 Carte microcontroleur SSV DIL/NetPC DNP/5280.

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.

Fig. 1.17 Regulateur analogique de type PID.


16 CHAPITRE 1. INTRODUCTION
CAN
Afin de faire traiter le signal par un microprocesseur, il faut le lui rendre accessible, cest le role du convertisseur
analogique numerique. Plusieurs methodes de conversion existent2 .

Convertisseur `
a rampe numerique Convertisseur `a pesees successives Convertisseur flash
lent, precis = rapide, moins precis

Fig. 1.18 Principes de conversion analogique numerique.

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)

Fig. 1.21 Echantillonnage et quantification dun signal.

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.

1.4.1 Le bruit de quantification


a la dynamique du convertisseur, le rapport signal `a bruit SN R3
Pour un signal sinusodal damplitude egale `
est de :
SN R = 6 n 4, 76

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.

3 SN R : Signal to Noise Ratio


18 CHAPITRE 1. INTRODUCTION

Fig. 1.22 Bruit de quantification dun signal.

Fig. 1.23 Signaux echantillonnes `a differentes frequences.

Fig. 1.24 Signal ostensiblement sous-echantillonne.



1.5. PERIODE
DECHANTILLONNAGE 19
1.5.2 Le recouvrement de spectre avec les mains
Sans entrer dans les detail du traitement du signal rappelons une constante des transformees usuelles, Laplace,
Fourier et bient ot z : le produit de fonctions temporelles est transforme en un produit de convolution dans
lespace operationnel. En particulier pour la transformee de Fourier :

F ourier
x(t) y(t) X(f ) Y (f ) (1.1)
F ourier
x(t) y(t) X(f ) Y (f ) (1.2)

La relation 1.1 est illustree en figure 1.25.

Fig. 1.25 Spectre dun signal echantillonne (echantillonnage parfait).

En fonction des valeurs relatives de Fmax et Fe on obtient deux types de spectres differents comme illustre en
figure 1.26.

Fig. 1.26 Phenom`ene de recouvrement de spectre.

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 .

1.5.3 Bruit sur la d


eriv
ee
Le theor`eme de Shannon impose donc une periode dechantillonnage maximum, quen est-il de la periode
dechantillonnage minimum ? La figure 1.27 montre que si la periode dechantillonnage tend vers 0, la derivee
calculee par le taux de variation entre deux periodes dechantillonnage tend vers la derivee de la fonction.

df (t) f (t) f (t Te )
'
dt Te

Fig. 1.27 Difference entre derivee analogique et derivee numerique.

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)

Quelques valeurs numeriques pour fixer les idees :


0
3 = 1s,
0 = 1 rad.s1 et =0.43 (reglage classique ` a 20% de depassement),
0
on ne cherche pas `a contr
oler 4 .
22 CHAPITRE 1. INTRODUCTION

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

Fig. 1.31 Lieu des p oles en z en fonction de la periode dechantillonnage.


Te varie de 0.01s `
a 3s.
B uhler
Sevely
+ + + crit`ere frequentiel
24 CHAPITRE 1. INTRODUCTION
Chapitre 2

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 :

f ? (t) = f (t)Te (t)


P
avec Te = k= (t kTe ) k Z peigne de Dirac

Ainsi la transformee de Laplace du signal echantillonne est :



!
Z X
?
L[f (t)] = f (t) (t kTe ) ept dt
0 k=
Z
X
L[f ? (t)] = f (t)(t kTe )ept dt
k= 0


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

Fig. 2.1 Illustration de la propriete du retard.

Avance de k p
eriodes

Z[f (t + kTe )U (t)] = z k F (z) z k F (0) z k1 F (Te ) z k2 F (2Te ) . . . zF ((k 1)Te )


" k1
#
X
k n
Z[f (t + kTe )U (t)] = z F (z) f (nTe )z (2.5)
n=0

Les valeurs initiales sont enlevees, sinon, le principe de causalite nest plus respecte.

Fig. 2.2 Illustration de la propriete de lavance.

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

lim f ? (t) = lim f (nTe ) = lim (1 z 1 )F (z) (2.8)


t n z1

Th
eor`
eme de la valeur initiale

lim f ? (t) = lim f (nTe ) = lim F (z) (2.9)


t0 n0 z

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

Pour aller plus loin : Demontrez le theor`eme de la convolution discr`ete


28 EN Z
CHAPITRE 2. TRANSFORMEE
2.3 Calcul de la transform
ee en z
2.3.1 Par la formule de d
efinition


X
F (z) = f (nTe )z n (2.13)
n=0

Cette methode est souvent lourde `a mettre en uvre.


Exemples :
f (t) = et

X 1 z
F (z) = enTe z n = 1 + eTe z 1 + e2Te z 2 + . . . = =
n=0
1 eTe z 1 z eTe

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

2.3.3 Par lutilisation des tables


Ce sera la methode utilisee dans le cadre de ce cours. Le plus souvent on poss`ede la transformee de Laplace
du syst`eme. On proc`ede `a une decomposition en elements simples puis, `a laide du tableau A.1 donne en page
90, on obtient la transformee en z. Notez que la connaissance des proprietes de la transformee en z est souvent
necessaire.

Rappel sur la d
ecomposition en
el
ements simples

On consid`ere la fraction rationnelle reelle :

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

2.4.2 Par division polynomiale


On ne cherche alors que les premiers echantillons de la reponse dun syst`eme `a une entree specifiee.
z
Exemple : original de z0.5

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.3 Ensemble des transformations.


32 EN Z
CHAPITRE 2. TRANSFORMEE
2.5 Transmittances
echantillonn
ees
2.5.1 Notions de sch
ema bloc
Rappels sur la r
eduction des sch
emas-blocs

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

Fig. 2.7 Transmittance continue precedee dun bloqueur dordre 0.

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.

Fonction de transfert dun bloqueur dordre 0

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

Fig. 2.8 Reponse impulsionnelle dun bloqueur dordre 0.

Calcul de la transform
ee dun syst`
eme pr
ec
ed
e par un bloqueur dordre 0

G(z) = Z L1 [B0 (p)G(p)]


 

Par souci de simplification decriture nous ecrirons :

G(z) = Z [B0 (p)G(p)]


donc

1 eTe p
 
G(z) = Z G(p)
p
G(p) eTe p
 
= Z G(p)
p p

En appliquant la linearite de la transformation puis le theor`eme du retard, on obtient :


   Te p 
G(p) e
G(z) = Z Z G(p)
p p
 
G(p)
= (1 z 1 )Z
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.

Pour aller plus loin : Verifier quelques lignes du tableau A.2

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

C(z)Z [B0 (p)G(p)]


BF (z) =
1 + C(z)Z [B0 (p)G(p)H(p)]

2.5. TRANSMITTANCES ECHANTILLONN
EES 35

Fig. 2.9 Syst`eme boucle echantillonne.

2.5.5 Avec Matlab


Matlab ne sait transformer quen utilisant une methode, ici : faire preceder le syst`eme dun bloqueur dordre 0.

>> 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

>> sysd=c2d(sys,Te, zoh);


>> present(sysd);

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

Analyse des syst`


emes

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.

Note : en appliquant ces definitions lintegrateur pur nest pas stable !

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 :

f (kTe ) = C1 z1k + C2 z2k + C3 z3k + + Cn znk

les Ci et les zi etant complexes.

Pour que le syst`eme soit stable, il faut alors que :

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.

Fig. 3.2 Zones o`


u les poles sont stables en p et en z.

3.1.2 Crit`
ere de Jury
N (z)
Soit H(z) = D(z) la fonction de transfert dun syst`eme echantillonne.

D(z) = a00 + a01 z + a02 z 2 + . . . + a0n z n


On construit la matrice de dimensions (n 1) (n + 1) suivante :

a00 a01 a02 a0n1 a0n

a10 a11 a12 a1n1 0



a20 a21 a22 0 0


.. .. .. ..



. . . .

an2
0 an2
1 an2
2 0 0

dont les elements sont definis comme suit :


1 Ceux-ci sont marginalement stables.

3.1. STABILITE 39


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

Determiner les conditions de stabilite du syst`eme :


2z + 1
H(z) =
z 3 + 2z 2 + 4z + 7

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

En appliquant la transformee en w au syst`eme, les racines en z de module inferieur `a 1 sont transformees en


des racines `
a partie reelle negative, il suffit alors dappliquer le crit`ere de Routh-Hurwitz sur la transformee en
w pour connatre le signe des racines du polynome considere et donc la stabilite du syst`eme.
40 `
CHAPITRE 3. ANALYSE DES SYSTEMES

Fig. 3.3 Illustration de la transformee homographique w.

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

3.1.4 Avec Matlab


Ou tout autre logiciel de calcul numerique (Scilab, Octave...2 )

>> P=[1 2 4 7]; % d


efinition du polyn^
ome
>> abs(roots(P)) % calcul du module (abs) des racine (roots) de P

Il suffit de regarder si les modules de toutes les racines sont inferieurs `a 1.

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.

Fig. 3.4 Transformation des poles simples de p vers z.

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)

Fig. 3.5 Transformation des poles complexes conjugues de p vers z.

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

Fig. 3.6 Lieu des poles iso-amortissement.

3.2.1 R
eponse impulsionnelle en fonction de la position des p
oles.

Fig. 3.7 Reponses impulsionnelles des poles en fonction de leur position.

Fig. 3.8 Relation entre p


oles du syst`eme continu et ceux du syst`eme echantillonne.
3.3. LE LIEU DEVANS 43
3.3 Le lieu dEvans
3.3.1 D
efinition

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.

Exemple de code Matlab


>> sysd=zpk([],[0.1 0.9], 1, 1) %p
eriode d
echantillonnage = 1s
>> rlocus(sysd);
>> zgrid

3.3.2 Exemples

Tab. 3.1 Exemple 1

1
G(z) = (z0.1)(z0.9)

lorsque k est tr`es faible les p oles en


BF sont proches de ceux en BO
lorsque k augmente, le syst`eme
accel`ere, les p
oles se rapprochent et
deviennent complexes conjugues
lorsque k depasse la valeur de 0.9, les
poles ont un module > 1, le syst`eme
est instable
44 `
CHAPITRE 3. ANALYSE DES SYSTEMES

Tab. 3.2 Exemple 2

z0.5
G(z) = (z0.1)(z0.9)

lorsque k est tr`es faible les p oles en


BF sont proches de ceux en BO
lorsque k augmente, le p ole en 0.9
tend vers le zero en 0.5, lautre p ole
tend vers
la limite de stabilite est obtenue pour
k = 1.39

Tab. 3.3 Exemple 3

z+0.5
G(z) = (z0.1)(z0.9)

lorsque k est tr`es faible les p oles en


BF sont proches de ceux en BO
lorsque k augmente, les p oles se rap-
prochent lun de lautre, puis de-
viennent complexes conjugues
lorsque k est tr`es grand lun des p oles
tend vers le zero, lautre vers
3.3. LE LIEU DEVANS 45

Tab. 3.4 Exemple 4

(z+0.7)(z+0.2)
G(z) = (z0.1)(z0.9)

lorsque k est tr`es faible les poles en


BF sont proches de ceux en BO
lorsque k augmente, les p oles se rap-
prochent lun de lautre, puis de-
viennent complexes conjugues
lorsque k est tr`es grand les p oles en
BF tendent vers les zeros en BO.

Tab. 3.5 Exemple 5

(z+0.7)(z+0.2)
G(z) = (z0.1)(z0.5)(z0.9)

On retrouve les memes tendances que


pour les exemples precedents
les p
oles se rapprochent lun de lautre
avant de devenir complexes conjugues
lorsque k est tr`es grand les poles en
BF tendent vers les zeros en BO ou
vers linfini.
46 `
CHAPITRE 3. ANALYSE DES SYSTEMES
3.4 Pr
ecision des syst`
emes
echantillonn
es

Fig. 3.10 Schema general pour letude de la precision des syst`emes.

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.

3.4.1 Erreur vis-`


a-vis de la consigne
Lerreur est :

(z) = W (z) S(z)


= W (z) (z)C(z)G(z)
(z) [1 + C(z)G(z)] = W (z)

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

et par consequent que :


1
lim =0
1 + C(z)G(z)
z1

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) = W (z) S(z)


= P (z)G(z) (z)C(z)G(z)
(z)(1 + C(z)G(z)) = P (z)G(z)

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

lim (nTe ) = lim (nTe ) =


n n
0
NG (z)(z 1)DC (z) NG (z)DC (z)
lim 0 lim 0 (z) + N (z)N (z)
z1 (z 1)D (z)DG (z) + NC (z)NG (z)
C
z1 DC (z)(z 1)DG C G

lim (nTe ) = 0 NG (z)DC (z)


n lim (nTe ) = lim 6= 0
n z1 NC (z)NG (z)

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.

3.4.3 Extension du raisonnement `


a tous types dentr
ees
Calcul de lerreur vis-`
a-vis de la consigne, le syst`eme etant soumis `a une entree canonique quelconque de la
forme w(t) = tm donc :

A(z)
W (z) =
(z 1)m+1
o` ome en z nayant pas (z 1) en facteur.
u A(z) est un polyn

La transmittance en boucle ouverte peut secrire :

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)

Les valeurs de limn (nTe ) sont resumees dans le tableau 3.6.

Tab. 3.6 Erreur permanente en fonction de lentree et de la classe du syst`eme en labsence dentree de
perturbation.

classe du syst`eme echelon rampe parabole

=
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 ?

Fig. 3.11 Syst`eme soumis `


a une entree en rampe et une perturbation en echelon.

3.4. PRECISION `
DES SYSTEMES
ECHANTILLONN
ES 49
3.4.4 Cycle limite
Les resultats obtenus precedemment ne tiennent pas compte de la quantification du signal. Cette quantification
provoque une non linearite destabilisante et par consequent, un petite oscillation autour de la valeur finale
comme illustre en figure 3.12. La precision est alors fonction du pas de quantification.

Fig. 3.12 Cycle limite d


u `a la quantification du signal.

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

Transposition des correcteurs


analogiques

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 !

4.1 Les diff


erentes approximations de la d
eriv
ee

Fig. 4.1 Principe de calcul de la derivee par differences finies : differences vers lavant et vers larri`ere.

En introduisant loperateur retard q.

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

Fig. 4.2 Transformee du domaine de stabilite en p.


Un syst`eme continu instable peut etre transforme en Fig. 4.3 Methode des rectangles : approximation
un syst`eme discret stable. par exc`es.

Calcul numerique de lintegrale :


Z t n
X
I= x( )d ' x(kTe )Te in = in1 + Te xn
0 k=1

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

Fig. 4.4 Transformee du domaine de stabilite en p.


Un syst`eme continu stable peut etre transforme en un Fig. 4.5 Methode des rectangles : approximation
syst`eme discret instable. par defaut.

Calcul numerique de lintegrale :


Z t n1
X
I= x( )d ' x(kTe )Te in = in1 + Te xn1
0 k=0

4.1. LES DIFFERENTES
APPROXIMATIONS DE LA DERIV
EE 53
4.1.3 Transformation bilin
eaire
La derivee numerique est proche de la moyenne des derivees au point considere et au point precedent.
   
1 d x(t + T e) d x(t) x(t + Te ) x(t) dx(t) q + 1 q1
+ ' ' x(t)
2 dt dt Te dt 2 Te
dx 2 q1
' x(t)
dt Te q + 1
2 z1 1 Te z + 1
Derivation : p Integration :
Te z + 1 p 2 z1
Cela correspond `
a lapproximation :
Te p Te p
e 2 1+ 2 + Te p
z = e Te p ' ' 2
Te p
'
e Te2 p 1 2 Te p
2

Fig. 4.6 Transformee du domaine de stabilite en p.


Les deux regions se correspondent rigoureusement. Fig. 4.7 Methode des trap`ezes.

Calcul numerique de lintegrale :


t n
x((k 1)Te ) + x(kTe )
Z X Te
I= x( )d ' Te in = in1 + (xn1 + xn )
0 2 2
k=1

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

4.1.4 Avec Matlab


Seule la transformee bilineaire est directement implantee, les differences avant et arri`ere ne le sont pas !

>> 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

Fig. 4.8 Phenom`ene de distorsion de la transformation bilineaire.

Fig. 4.9 Comparaison des transformees en z dun point de vue frequentiel.


Syst`eme original analogique
.......... Transformee avec BOZ
Transformee bilineaire
+ + + Transformee bilineaire avec precompensation (en f = 2 rad/s.)
4.2. PID ANALOGIQUE 55
4.2 PID analogique
Tous les correcteurs analogiques sont transformables en correcteurs numeriques, le plus connu dentre eux etant
le PID.

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.

Methode de pompage Methodes aperiodiques


Boucle fermee Boucle ouverte

Syst`emes stables ou instables Syst`emes stables, instables


en boucle ouverte ou integrateurs

Ziegler-Nichols Ziegler-Nichols Chien-Hrones-Reswick

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 !

4.2.2 P, PI, ou PID ?


Le choix est toujours un peu ambigue. Le principe de choix communement admis, qui sapplique dailleurs ` a
tous les choix de regulateur et correcteurs, est le principe du minimum : si un correcteur P donne les resultats
escomptes, on ne met pas un PI, moins encore un PID ! Les tableaux 4.2 et 4.3 donnent un crit`ere de choix en
fonction de la reponse temporelle du syst`eme `a un echelon dentree.
Notez la proposition de correcteur de type tout ou rien, qui fonctionne bien dans les cas ou la precision
requise est faible ou que le syst`eme supporte bien les fortes variations de commande. Si le syst`eme est en limite
de reglabilite par un PID, il faudra alors revoir la conception de la commande soit par des boucles imbriquees,
soit synthetiser un correcteur numerique fonde sur dautres approches.
Dernier point mais non le moindre sachez que les reglages de PID proposes, Ziegler-Nichols (voir page 55)
ou Takahashi (voir page 58) sont avant tout des reglages de r egulation et non pas dasservissement. En
dautres termes, ces reglages sont choisis lorsque lobjectif principal est dasservir une grandeur `a une consigne
constante et detre insensible aux perturbations.

Tab. 4.2 choix dune methode de correction en fonction de lindice de reglabilite


Reglabilite T / > 20 10 `a 20 5 `a 10 2 `a 5 <2
Regulateur Tout ou rien P PI PID limite du PID1

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

1 voir 4.4.2 page 60



4.3. LE PID NUMERIQUE 57
4.3 Le PID num
erique
En continu, la sortie dun PID secrit :

Zt
1 d
u(t) = kp (t) + ( )d + Td
Ti dt
0

Lequivalent en numerique secrit alors :



k
Te
X ( k )
k1
uk = kp k + j + Td
Ti j=0 Te
 
Te (k+1 2k + k1 )
uk+1 uk = kp k+1 k + k+1 + Td
Ti Te

(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 :

Application industrielles des correcteurs PID


1. Laction derivee ideale provoque une forte augmentation du bruit hautes frequences, on utilise en pratique
une derivee filtree. Ceci conduit en discret au regulateur PID filtre :

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

Cette derni`ere solution est bien entendu la meilleure.


58 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
4.3.1 R
eglages de Takahashi pour un r
egulateur PID num
erique filtr
e
La forme du PID utilise est :
h i
U (z) = z
ki Te z1 (z) kp + kd z1
Te z Y (z) PI ou PID
U (z) = kp (z) P
dont les equations recurrentes sont :

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 .

Tab. 4.4 Reglages de Takahashi pour un regulateur PID numerique filtre.

Methode de pompage Methodes aperiodiques


Boucle fermee Boucle ouverte

Syst`emes stables ou instables Syst`emes stables, instables


en boucle ouverte ou integrateurs

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.

Fig. 4.10 Effet de labsence de saturation sur le terme integral.

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.

Fig. 4.11 PID classique avec anti-windup.


60 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
4.4.2 Pr
edicteur de Smith
Dans le cas de syst`emes tr`es retardes, ce qui arrive souvent dans les applications industrielles, les methodes
precedentes ne fonctionnent pas bien. En fait un reglage classique de PID conduit `a un syst`eme plus lent en
boucle fermee quen boucle ouverte si le retard pur depasse la moitie de la constante de temps dominante.

Soit G(z) un syst`eme tr`es retarde de la forme.

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)

qui est de la forme :


C(z)G(z)
F (z) =
1 + C(z)G(z)
En posant :

C1 (z)
C(z) =
1 + (1 z n )G1 (z)C1 (z)
C(z) est un correcteur est parfaitement realisable : voir schema 4.13.

Calcul de la boucle de retour du pr


edicteur de Smith avec Matlab
>> sysc=tf([1],[1 4 3 0]); % saisie de la fonction de transfert en p
>> sysd=c2d(sysc, 0.1, zoh); % transform
ee en z avec un BOZ et Te = 0.1
% sysr=z^(-20) soit 2s avec Te=0.1
>> sysr=tf([1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1],[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], 0.1);
>> corr=sysr*sysd % retour = produit de la transformee du syst`
eme sans retard par (1-z^-n)
>> [nu, de]=tfdata(corr,v) % r
ecup
eration du num
erateur et du denominateur

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

Fig. 4.13 Schema dun predicteur de Smith.

Fig. 4.14 Performances dun predicteur de Smith.


62 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
4.4.3 Algorithme
Le cadencement dune routine dasservissement est donne en figure 4.15. Lors de la realisation du logiciel de
commande, deux points sont importants :
La minimisation du temps entre echantillonnage des capteurs et sortie des commandes. En effet, toute
la theorie de la commande echantillonnee suppose que ce temps est nul !
La minimisation des variations de periode dechantillonnage. L`
a encore, Te est suppose constant.

Fig. 4.15 Cadencement dune routine de regulation.

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.

Fig. 4.16 Repartition du temps de calcul.


4.4. MISE EN UVRE DUN ASSERVISSEMENT 63

Fonction interruption PID( : void) : void


result : void
/* Mesure de la sortie */
yn CAN ;

/* 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

Algorithme 1: Algorithme de PID classique avec anti-windup.


64 CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES
Chapitre 5

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 :

S(z) (z + 0.7)(z 0.8)(z 1)


C(z) = =
E(z) (z 2)(z 0.5)
donc
S(z)[(z 2)(z 0.5)] = E(z)[(z + 0.7)(z 0.8)(z 1)]

S(z)[z 2 2.5z + 1] = E(z)[z 3 1.1 z 2 0.46 z + 0.56]


En multipliant droite et gauche par z 2

S(z)[1 2.5z 1 + z 2 ] = E(z)[z 1.1 0.46 z 1 + 0.56z 2 ]


S(z) = E(z)[z 1.1 0.46 z 1 + 0.56z 2 ] + S(z)[2.5z 1 z 2 ]
En revenant `
a loriginal :

s(k) = e(k + 1) 1.1 e(k) 0.46 e(k 1) + 0.56e(k 2) + 2.5s(k 1) s(k 2)

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)

Fig. 5.1 Syst`eme boucle.

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

Fig. 5.2 Reponse du syst`eme `a un echelon.

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

Temps dtablissement infini

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.

Pour que P(1z


(z)(1F (z))
ome il faut et il suffit que 1 F (z) contienne (1 z 1 )m+1 en facteur, donc
1 )m+1 soit un polyn

1 F (z) secrit sous la forme :

1 F (z) = (1 z 1 )m+1 K(z) (5.2)


1 Calculons (z) de la figure 5.3 par la formule de definition de la transform
ees en z (2.13)
(z)2 = 0 + 1 z1 + 2 z2 : cest bien un polynome.
voir eq. 2.11 page 27
68 `
CHAPITRE 5. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI
o`
u K(z) est un polyn
ome.

Pour verification, appliquons le theor`eme de la valeur finale :

P (z)(1 F (z)) P (z)(1 z 1 )m+1 K(z)


lim ? (t) = lim (1 z 1 )(z) = lim (1 z 1 ) 1
= lim (1 z 1 ) =0
t z1 z1 (1 z ) m+1 z1 (1 z 1 )m+1

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 `

En reprenant les equations (5.1) et (5.2)

F (z))
(z) = P(1(z)(1
z 1 )m+1
= P (z)K(z)

Si K(z) = 1, alors le syst`eme est dit minimal absolu. Dans ce cas :

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 :

F (z) = B (z)L(z) (5.6)


1 m+1 0
1 F (z) = (1 z ) A (z)K (z) (5.7)
K(z) = A (z)K 0 (z) (5.8)

Cela reviens `
a resoudre lequation diophantienne

(1 z 1 )m+1 A (z)K 0 (z) + B (z)L(z) = 1

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.

Definition Un syst`eme est dit `


a reponse pile lorsque la sortie continue atteint son regime permanent pour
une entree canonique en un nombre fini dechantillons.

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.

Fig. 5.5 Schema dun syst`eme `a reponse pile.

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 :

W1 (z) B + (z)B (z) U1 (z)


S(z) = = F (z)
1z 1 A (z)A0 (z)(1 z 1 )m
+ (1 z 1 )m+1 | {z }
| {z } | {z } | {z } FT en BF
sortie syst`
eme d ecompos e en m entr
ee en t
correcteur num, den et IT purs

Apr`es simplification des termes en (1 z 1 ) la deuxi`eme partie de legalite devient :

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 :

F (z) = B + (z)B (z)L(z)


o`
u L(z) est un polyn ome.
La synth`ese revient donc `
a determiner deux polynomes L(z) et K(z) tels que :

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)

Le correcteur secrit alors :


`
5.2. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI 71

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)

5.2.4 Applications des synth`


eses `
a temps d
etablissement fini
Applications sur syst`emes physiques
Rarissimes
Peu de syst`emes restent lineaires avec de telles commandes
 Electrotechnique
Applications sur syst`emes informatifs
Plus courantes
Pas de physique, tout reste numerique donc pas de probl`eme entre les instants dechantillonnage
 Observateurs
 Contr ole de syst`emes dinformations
72 `
CHAPITRE 5. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI
5.2.5 Exemples de r
eponse pile
Le syst`eme continu etudie est :
5
T (p) =
p2 + 2p + 5
Pour Te =1s, sa transformee en z avec un bloqueur dordre 0 est :
0.9858z + 0.4557
T (z) =
z 2 + 0.3062z + 0.1353
Le correcteur pile, calcule pour avoir une erreur `a lechelon dentree nulle est :

0.6937z 2 + 0.2124z + 0.09388


Cp (z) =
z 2 0.6839z 0.3161
Le correcteur pour avoir un temps detablissement minimal est :

z 2 + 0.3062z + 0.1353
Cem (z) =
0.9858z 2 0.5302z 0.4557

Reponse pile Reponse `a temps detablissement minimal

Fig. 5.6 Comparaison des commandes et sorties pour un correcteur pile et `a temps detablissement mini-
mum : Te =0.5s.

Reponse pile Reponse `a temps detablissement minimal

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 + dY + 1 = max{dAX, dBY, dC, } (5.15)

Sil existe une solution alors :

dX dB 1
dY dA 1

Ces conditions etant respectees, deux cas peuvent se presenter :

lequation est lequation est


reguli`ere non reguli`ere
dC < dA + dB dC dA + dB
Solution minimale en X Solution minimale en Y
dX = dB 1 dX = dB 1 dX = max{(dC dA), (dB 1)}
dY = dA 1 dY = max{(dC dB), (dA 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`

Par identification terme `


a terme :




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



soit sous forme matricielle :


74 `
CHAPITRE 5. SYNTHESES ` TEMPS DETABLISSEMENT
A FINI






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 :

(1 + 2z 1 3z 2 z 3 )X + (0.5 + 0.01z 1 )Y = 0.7z 2 + 0.9z 3 + z 4

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

(1 + 2z 1 3z 2 z 3 )(x0 + x1 z 1 ) + (0.5 + 0.01z 1 )(y0 + y1 z 1 + y2 z 2 ) = 0.7z 2 + 0.9z 3 + z 4


soit sous forme matricielle :

1 0 0.5 0 0 x0 0


2 1 0.01 0.5 0 x 0
1


3 0.01 0.5 y0 = 0.7

2 0

1 3

0 0 0.01 y 0.9
1


0 1 0 0 0 y2 1

x 2.2930
0
1.0000

x1

= 4.5860

y0

7.0803

y1

y2 19.2996

5.3. RESOLUTION
DE LEQUATION DIOPHANTIENNE 75
Si on avais choisi le deuxi`eme forme :

dX = dB 1 = 0
dY = max{(dC dB)}, (dA 1) = max{(4 1, 2)} = 3

(1 + 2z 1 3z 2 z 3 )(x0 ) + (0.5 + 0.01z 1 )(y0 + y1 z 1 + y2 z 2 + y3 z 3 ) = 0.7z 2 + 0.9z 3 + z 4

soit sous forme matricielle :



1 0.5 0 0 0 x0 0


2 0.01 0.5 0
0 y0 0

3 y1 =

0 0.01 0.5 0 0.7

1

0 0 0.01 0.5 y2 0.9

0 0 0 0 0.01 y3 1

x 0.4958
0

y0 0.9916

= 1.9634

y1

1.6140

y2

y3 0.8407

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)

lequation est reguli`ere donc :

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

6.1 Choix des p


oles en boucle ferm
ee
Cest un choix qui ne peut etre fonde que sur des considerations physiques, on nasservit pas de la meme
facon un avion de combat et un avion de ligne ! Quelques r`egles peuvent pourtant etre donnees, vous saurez les
adapter `a votre cas particulier.
Si vous avez correctement choisi votre frequence dechantillonnage et que votre cahier des charges nest pas
utopique, les p
oles de la fonction de transfert en boucle ouverte sont `a peu pr`es dans la zone grisee de la figure
6.1.

Fig. 6.1 Emplacement des poles en boucle ouverte.

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

Fig. 6.2 Zones de placement des poles en boucle fermee `a eviter.

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.

Si vous respectez ces crit`eres, vos p


oles en boucle fermee devraient etre dans la zone non grisee de la figure 6.2.
Nous parlons peu des zeros de la fonction de transfert. Non pas quils soient negligeables, bien au contraire ! Ils
ont une influence sur le comportement du syst`eme mais sont difficiles `a controler. En fait leur controle demande
un correcteur un peu plus complexe. Deux methodes de synth`ese vous sont proposees ci-apr`es.

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.

a asservir est mise sous la forme suivante :1


La transmittance `

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)

6.2.2 Correcteur de Zdan


Le correcteur est decompose en trois parties, sous la forme :

C(z) = C1 (z) C2 (z) C3 (z)

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

C2 (z) doit compenser les p


oles et les zeros stables de G(z)
donc :
A+ (z)
C2 (z) = +
B (z)

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 )

La transmittance en boucle ouverte secrit alors :

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 :

DF (z) = (1 z 1 )m+1 A (z)2 (z) + B (z)1 (z) (6.1)

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 1 : En prenant DF (z) = 1 on retrouve le correcteur astatique.

Remarque 2 : Rien noblige `


a choisir un comportement en boucle fermee de type second ordre, ordre 1 ou 3 ou
n marchent aussi, on parle alors de methode du mod`ele.

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)

S(z)U (z) = T (z)W (z) R(z)Y (z) (6.2)


donc :

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),

S U (z) = T W (z) R Y (z) (6.4)


A Y (z) = B U (z) + B V (z) + A E(z) (6.5)

Explicitons U (z) :

AS U (z) = AT W (z) AR Y (z)


AS U (z) = AT W (z) BR U (z) BR V (z) AR E(z)
(AS + BR) U (z) = AT W (z) BR V (z) AR E(z)

AT BR AR
U (z) = W (z) V (z) E(z) (6.6)
AS + BR AS + BR AS + BR
et Y (z)

AS Y (z) = BS U (z) + BS V (z) + AS E(z) AR Y (z)


AS Y (z) = BT W (z) BR Y (z) + BS V (z) + AS E(z)
(AS + BR) Y (z) = BT W (z) + BS V (z) + AS E(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

oles en z = 1, il faut que S 0 soit de la forme :


Pour que Fb poss`ede m+1 p

S 0 = (1 z 1 )m+ll S10 A+ A

lequation diophantienne (6.13) devient :

(1 z 1 )m+1 S10 A+ A + B R = A0 Am (6.15)

6.3.2 Choix des polyn


omes Am , Bm et A0
Am
Cest le denominateur de la fonction de transfert voulue. Il contient donc les poles voulus. Comme pour la
methode de Zdan, on les choisit plutot de la forme deux poles complexes conjugues dominants et n p oles
negligeables.

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.

6.3.3 Cas particulier du correcteur RST : le correcteur s


erie
En choisissant T = R on obtient le correcteur serie de la forme
R(z)
C(z) =
S(z)

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

[1] E. Ostertag, Automatique - Syst`emes et asservissements continu. France : Ellipses, 2005.


[2] B. Lang and V. Minzu, Commande automatique des syst`emes lineaires continus. Cours avec applications
utilisant matlab. France : Ellipses, 2001.
[3] Y. Sevely, Syst`emes et asservissements lineaires echantillonnes. Paris : Dunod Universite, 1973.
[4] H. B
uhler, Reglages echantillonnes, volume 1, traitement par la transformation en z. Lausane, Suisse :
Presses polythechniques et universitaires romandes, 1986.
[5] Y. Granjon, Automatique. Dunod : Ellipses, 2001.
[6] E. Godoy and E. Ostertag, Commande numerique des syst`emes. France : Ellipses, 2005.
[7] B. Jouvencel. Automatique echantillonnee. [Online]. Available : http ://www.lirmm.fr/ jouvence/
[8] M. Etique. (2005) Regulation numerique. [Online]. Available : http ://iai.eivd.ch/users/mee/
[9] D. Peaucelle. (2003) Syst`emes `
a temps discret, commande numerique des procedes. [Online]. Available :
http ://www.laas.fr/%7Epeaucell/DPpages/DPteach.html
[10] J. Chemla. (2005) Syst`emes asservis echantillonnes. [Online]. Available : http ://auto.polytech.univ-
tours.fr/automatique/SSE/ressources/cours.pdf
[11] S. Tliba, M. Jungers, and Y. Chitour. (2005) Commande des processus : asservissement numeriques.
[Online]. Available : http ://www.satie.ens-cachan.fr/automatique/PolyMaster-final.pdf
[12] D. Arzelier. Representation et analyse des syst`emes lineaires. [Online]. Available : http ://www.laas.fr/ ar-
zelier/polycop/n6k1/poly v5-2.pdf
[13] A. ODWYER, Pi and pid controller tuning rules for time delay processes : a summary, 2000. [Online].
Available : citeseer.ist.psu.edu/dwyer00pi.html
str
[14] K. J. A om and T. H agglund, PID Controllers : Theory, Design, and Tuning Second Edition. Research
Triangle Park, 1995.
[15] A. Schopenhauer. Lart davoir toujours raison. [Online]. Available :
http ://www.philo5.com/Mes%20lectures/Schopenhauer,%20Lart%20davoir%20toujours%20raison.htm

85
86 BIBLIOGRAPHIE
Premi`
ere partie

Annexes

87
Annexe A

Tables de transform
ees

89
90
ANNEXE A. TABLES DE TRANSFORMEES

Tab. A.1 Table des transformees de Laplace et en Z usuelles.

X(p) x(t) X(z)

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 :

>> S=dstep(1,[1 a]) % Calcul de la sortie de la fonction de transfert


>> dstep(1,[1 a]) % Trac
e de la sortie

Comparer aux resultats du calcul precedent ?


Calculer egalement les valeurs de sn ` a laide de Matlab.
Exercice 3.
Soit le syst`eme recurrent dentree un et sortie sn defini par :

5 1 1
n+2 6 sn+1 + 6 sn = 6 un
s
s = 2; s = 1
0 1

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+

Etudier dans le plan des param`etres a et b la stabilite de ce syst`eme.


96
ANNEXE B. TRAVAUX DIRIGES

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

B.3 TD n3 : Asservissement num


erique de vitesse
Soit lasservissement numerique de vitesse etudie en TP :

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)

Etudier la stabilite de cette regulation


Calculer en fonction de A la reponse de cette regulation `a un echelon de consigne. Quelles sont les differents
types de reponse que lon peut obtenir. Pour quelles valeurs de A a-t-on une reponse sans depassement ?
Calculer de 2 mani`eres la valeur du gain statique et de lerreur statique.

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

B.4 TD n4 : Etude dun four


electrique
Soit un four electrique. Autour dun point de fonctionnement, la transmittance liant la variation de temperature
s `
a la variation de tension de commande U est de la forme :

s(p) Ke10p
G(p) = =
U (p) 1 + 100p
Ce four est commande par calculateur selon le schema fonctionnel :

1. On choisit une periode dechantillonnage Te =10 secondes. Justifier ce choix.


Montrez que la transmittance H(z) du syst`eme echantillonne-bloque dentree E(z) et sortie S(z) est de
la forme :
S(z) K(1 a)
H(z) = =
E(z) z(z a)
2. On utilise un regulateur C(z) de la forme :

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

B.5 TD n5 et 6 : Etude dun asservissement de position


Synth`
ese dun correcteur par diff
erentes m
ethodes (2 s
eances)

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.

Commande par calculateur


On souhaite realiser lasservissement de position en utilisant un calculateur.
1. Donner le nouveau schema fonctionnel.
2. Dans quel domaine de valeur faut-il choisir la periode dechantillonnage ?
3. On choisit une periode dechantillonnage Te =0.005 s. Calculer la transmittance G(z) de lensemble
convertisseurs ampli moteur capteur .
100
ANNEXE B. TRAVAUX DIRIGES
Transposition dun correcteur analogique
1. Donner la transmittance du correcteur echantillonne obtenu en discretisant le correcteur `a avance de phase
analogique de 3 mani`eres differentes : discretisation avant, discretisation arri`ere, methode de Tustin
2. Dans ces 3 cas, tracer avec Matlab/Simulink la reponse `a un echelon de consigne et un echelon de
perturbation retarde de 20 ms. Comparer `a la regulation continue.
z1
Rappel : Discretisation avant : p= Te
z1
Discretisation arri`ere : p= zTe
2 z1
Approximation de Tustin : p= Te z+1

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

1. Calculer la transmittance M (z) correspondant `a M (p) precede dun bloqueur dordre 0.


2. Determiner un correcteur tel que la transmittance en boucle fermee de lasservissement numerique de
position soit equivalente `
a celle du mod`ele (pour simplifier les calculs certains poles et zeros du correcteurs
pourront compenser les p oles et zeros stables de G(z)).
3. Tracer avec Matlab/Simulink la reponse `a un echelon de consigne et un echelon de perturbation retarde
de 20 ms.
4. Calculer lerreur permanente relative `
a la perturbation.
5. Proposer un correcteur permettant dannuler cette erreur et tracer avec Matlab/Simulink la reponse `
a un
echelon de consigne et un echelon de perturbation retarde de 20 ms.

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 ?

Comparaison des synth`


eses `
a temps d
etablissement fini.
La transmittance en z du processus `
a contr
oler est :

0.025z 1 (1 + 0.816z 1 )
G(z) =
(1 0.952z 1 )(1 0.528z 1 )

Quelle est la difference fondamentale entre reponse pile et reponse `


a temps detablissement minimal ?
Faites la synth`ese dans les deux cas.
Comparez les points suivants :
la valeur de lerreur en regime permanent,
la valeur maximum de la commande,
le temps detablissement.
102
ANNEXE B. TRAVAUX DIRIGES

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

1. Determiner en utilisant le crit`ere de Jury, les valeurs de K qui stabilisent le syst`eme.

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

Principe de calcul dun R


egulateur RST
On utilise une structure qui agit differemment sur la consigne et sur la sortie :

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 )

pour que le regulateur soit realisable.

On souhaite que le syst`eme corrige se comporte comme le mod`ele :

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)

Cette relation conditionne les choix suivants :


les zeros de B(z) qui ne sont pas des zeros de Bm (z) doivent etre des zeros de AS + BR.
Le syst`eme compense devant etre stable, les zeros de B(z)dont le module est superieur ` a 1, doivent etre
des zeros de Bm (z).
Nous noterons B(z) = Bi (z)Bs (z) o` u Bi (z) contient les zeros instables et Bs (z) contient les zeros
0
stables de B(z). Nous noterons Bm (z) = Bi (z)Bm (z) .
les zeros de Bs (z) doivent etre des zeros de AS + BR donc necessairement des zeros de S(z).

Pour assurer la precision on peut introduire un certain nombre dintegrateurs.


De ces differentes conditions on peut deduire :S(z) = (z 1) Bs (z)S 0 (z)
Legalite (B.1) devient :
0
Bi Bs T Bi Bm
0
= (B.2)
A(z 1) Bs S (z) + Bi Bs R Am
soit : 0
T Bm
= (B.3)
A(z 1) S 0 (z) + Bi R Am
Introduisons le polyn
ome P(z) nomme polyn
ome dobservation tel que
0
T = Bm P

Lequation du syst`eme compense devient :

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

Matlab est un environnement de calcul numrique matriciel. Aprs le lancement de Matlab,


une fentre de commande apparat qui permet l'utilisateur de taper une commande
quelconque obissant la syntaxe de 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.

Le "Workspace browser" permet d'observer les variables


existantes. Les commandes who ou whos permettent
d'obtenir les mmes informations.

Pour lancer le Workspace browser, icne :

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 :

La fentre suivante apparat , il est alors possible de changer le


rpertoire courant.

Quand une commande est taper, matlab recherche celle-ci


dans l'ensemble des rpertoires dont la liste apparat dans la
fentre "path", on peut ajouter ou supprimer un rpertoire de
son choix.

1 Introduction Matlab
jouvencel

Aide / Help

L'icne permet d'accder l'aide en ligne, la fentre d'aide est ouverte


Les commandes suivantes
>> help
>> helpwin (la fentre ci-contre)
>> helpdesk (manuel complet avec Acrobat Reader)

Toute commande Matlab possde une entte fournissant


des informations sur la commande et sa syntaxe. la
commande :
>>lookfor mot-cl permet d'avoir la liste des commandes
ont l'entte contient mot-cl

Autres outils

Editeur : accs par FileNewM_file ou icne


Dbugger : intgrer l'diteur
Array_editor : dans le Workspace Browser, double clic sur une variable.
Simulink : environnement graphique de simulation de systmes dynamique :

Interprteur

>> commande
rsultat affichage du rsultat
>> interprteur disponible

>> commande ; le point virgule provoque l'absence de l'affichage du rsultat


>> interprteur disponible

Format d'affichage

Les rsultats numriques sont affichs avec le format dfini par


dfaut et redfinissable par l'utilisateur.
File Preferences

Commentaires

Le symbole % introduit un commentaire, celui-ci n'est pas


valu par l'interprteur.

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';

>> v1 =[borne inf:increment:borne sup];


>> v1(i) ; %ime lment ATTENTION le premier est i=1

>> length(v) %dimension du vecteur

Matrices

>>A=[1 2 3; 4 5 6;7 8 9; 10 11 12]; %matrice rectangle 4*3


>>B=[1
2
3] %matrice 3*1
>> size(A); %dimension de la matrice
>>A(i,j); % lment ligne i colonne j
>>A(:,n); % nime colonne
>>A(p,:); % pime ligne
>>A(i:j,:); % sous matrice des lignes i j
>>A(i:j,k:l); % sous matrice des lignes i j colonnes k l

Suppression des donnes

>> clear % supprime toutes les variables


>> clear A % supprime la variable A

Sauvegarde des donnes

save nom_fichier A B C % sauve les variables A B et C dans le fichier nom_fichier


load nom_fichier % rcupration des donnes

3 Introduction Matlab
jouvencel

SCRIPT

M_files : est un fichier avec l'extension .m qui contient du code Matlab.

Script : contient des commandes Matlab


function : procdure

Script function
arguments Non Oui
valeur retourne Non oui
action sur var globales variables locales et globales
utilit actions rptes Extension matlab

function

dfinition function f = fact(n)


accs par lookfor %fact factorielle
accs par help % fact(n) retourne n!
corps f=prod(1:n);

Plusieurs variables d'entre / sortie

function [a,b]= nomFonction(c,d,e)

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

Une fentre graphique peut tre subdivise en plusieurs tracs,


subplot(n,p,q)% subdivision en n*q dessin et slectionne qime

5 Introduction Matlab
jouvencel

SIMULINK

LANCEMENT DE SIMULINK:

Dans la fentre de commande de Matlab:


Cliquer sur cet icne pour
lancer Simulink

La fentre suivante contenant les librairies de simulink, apparat ainsi qu'une fentre de
travail.

librairies de simulink

fentre de travail

Construction d'un modle dans la fentre de travail


Mthode de placement d'un composant
on slectionne une librairie de simulink : double clic pour
l'ouvrir (exemple librairie : Linear)
on slectionne un composant (exemple Sum):
on maintient l'appui sur le bouton gauche
de la souris
on fait glisser l'lment dans la fentre de
travail
on relche le bouton.

6 Introduction Matlab
jouvencel

Exercice : construire l'environnement dcrit dans la figure suivante, on indique au-dessus de


chaque lment, la librairie d'origine.

Ralisation des connexions

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

Paramtrage des composants

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

Dsignation des composants


Chaque composant possde un nom par dfaut exemple
Gain, on peut modifier ce nom.

Mthode
clic sur le nom
on tape un nouveau nom

7 Introduction Matlab
jouvencel

Marquage des liens ou connexions

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,

Ritrer l'opration pour le chirp

Propagation des marquages

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)

Renvoi d'un signal et rcupration

Afin de ne pas surcharger le dessin, on peut utiliser 2


composants situs dans la librairie connections qui
permettent d'effectuer une transition sans fil. Ces 2
composants s'appellent GOTO et FROM

Le "tag" possde un nom que l'on peut modifier

Chaque
tag doit tre modifi un par un, attention aux
correspondances.

8 Introduction Matlab
jouvencel

Personnalisation de la fentre de travail

Il est possible de redimensionner chaque


composant

on le slectionne,
on saisit une poigne,
on tire ou on diminue.

Dans le menu Format de la fentre on dispose


d'autres commandes (il faut d'abord slectionner
un composant).

Font permet de choisir le type de caractres


Flip name : de placer le nom au dessus /en
dessous
Hide name de cacher le nom
Flip block de retourner le bloc
Rotate block de le tourner de 90
Foreground color de slectionner une couleur
pour le texte
Background color : de slectionner une
couleur pour le bloc

On peut de mme personnaliser les liens ou


connexions :

Wide Vector Lines permet de dimensionner


l'paisseur des liens en fonction du nombre de
signaux,
Line Width permet d'obtenir l'indication du
nombre de signaux sur les liens
Ctrl D permet de mettre jour tout ceci en cas de
modification.

Modifications

Modification des composants


On peut :
ajouter un composant tout moment,
supprimer un composant en le slectionnant et touche Suppr,
Modifier la position d'un composant en le slectionnant on laisse la touche gauche
de la souris appuye et on le dplace.
dupliquer un composant : on le slectionne, on appuie sur la touche Ctrl on faisant
glisser le composant.

9 Introduction Matlab
jouvencel

On peut revenir en arrire de toute opration en utilisant l'icne Undo


start

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

Exercice lancer la simulation aprs avoir ouvert le scope

On peut effectuer des zooms avant/arrire


avec les 3 premiers icnes
ajuster les axes avec le 4
sauver les donnes avec le 5
rgler le scope avec le 6
imprimer avec le dernier

LIEN ENTRE SIMULINK ET MATLAB

Pour diverses oprations, il est intressant de disposer des signaux dans l'environnement de
matlab ou de rcuprer des signaux dfinis dans matlab.

Envoi de signaux vers l'environnement de 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

Rcupration de signaux issus de matlab

Le bloc FromWorkspace de la librairie Source permet de dfinir des signaux dans


l'environnement Matlab et de les utiliser dans l'environnement de Simulink.

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

SIMULATION D'UN SYSTEME NON LINEAIRE

Construction d'un modle non linaire


Exemple :

x& 1 = x 2 + u cos( x1 )
x& 2 = u
y = x1

On commence par crer le systme l'aide du bloc Fcn de la librairie NonLinear

L'entre de ce bloc est nomme u et peut-tre un vecteur


Les composantes sont dsignes par u(1) u(2) etc

la fonction correspondant x& 1 s'crit : u(3)+u(1)*cos(u(2))


si les entres sont respectivement u,x1 et x2
ceci est programm dans la fentre de dfinition de Fcn

La construction du systme ci-


dessus, utilise des intgrateurs
(librairie linear) et des
multiplexeurs (librairie
Connexions) comme sur la figure
suivante.

On peut alors effectuer une simulation du


systme, on voit que celui-ci diverge, le
contrle de ce systme sera vu ultrieurement
dans le chapitre commande non linaire.

Cration d'un sous systme

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

On va introduire un gain suivant x2


d'une valeur dsigne par g edit
Mask Subsystem initialization

En cliquant maintenant sur le sous-


systme, on obtient la fentre
suivante, dans laquelle on fixe une valeur de g

On prend en compte cette valeur pour la drive de x2 par exemple par


editLook under Mask

13 Introduction Matlab
jouvencel

MODELISATION DUN SYSTEME LINEAIRE MONOVARIABLE ET


SIMULATION

But : Construire un modle continu en reprsentation externe et le simuler.

1
Dfinition du systme : H ( p ) = 2
p + 0.2 p + 1

Format :

Une fonction de transfert monovariable peut tre reprsente


Soit par le rapport de 2 polynmes en p (ou s). Dans Matlab, un polynme se
reprsente par un vecteur de paramtres suivant les puissances dcroissantes de p par
exemple : le dnominateur de lexemple ci-dessus se reprsente par le vecteur : [1 0.2
1]
Soit par une reprsentation par zros et ples
Matlab utilise un modle LTI pour la dfinition de systmes

cration dun modle LTI {Linear Time Invariant}

Dfinir le numrateur exemple : >num = 1 ;


Dfinir le dnominateur exemple >den = [1 0.2 1] ;
Construire le systme LTI exemple > sys1= tf(num,den) ;
Faire afficher sys1 en tapant le nom puis sur la touche Return
Ou
Vecteur dfinissant les zros exemple : > zz=[] %aucun
Vecteur dfinissant les ples exemple : > pp=[ -0.1000 + 0.9950i -0.1000-0.9950i]
Gain exemple > k=1
Construire le systme : > sys2=zpk(zz,pp,k)

Les proprits dun modle LTI sont obtenues en tapant :

> 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 = []

modification des champs laide de la fonction set


>set(sys,'Variable','p')

Transfer function:
1
---------------
p^2 + 0.2 p + 1

analyse du systme

Diagramme de bode > bode(sys1)


Diagramme de Nyquist > nyquist(sys1)
Diagramme de Nichols > nichols(sys1)
Trac des ples et des zros > pzmap(sys1)
Lieu des ples > rlocus(sys1)
Note : aprs chacune de ces commandes, la commande grid permet dobtenir un maillage
adapt au type de diagramme.
Calcul des zros, des ples et du gain >[Z,P,K]=zpkdata(sys1,'v')
Ples seuls >pole(sys1)
ou eig(sys1)
Calcul des marges de phase et de gain >margin(sys1)

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)

Interface de travail avec les modle LTI

Matlab offre un environnement de travail que lon obtient en tapant >ltiview

Utilisation de simulink

Le modle LTI peut-tre utilis dans lenvironnement de simulink /exer5/aexer5


Ouvrir successivement : Blocksets&toolsboxes LTI

15 Introduction Matlab
jouvencel

Faire glisser dans la fentre de travail le bloc lti


Taper le nom sys1 aprs un double clic sur le bloc.
Simuler le systme.

Tout ce qui prcde permet de travailler pratiquement indpendamment de simulink, dans la


suite, nous allons nous servir uniquement de simulink qui permet dinterconnecter facilement
des systmes.

Interconnexion de systmes

But : dfinir un correcteur avance de phase et corriger le systme du stage prcdent


{aexer6/exer6}
Rappel : calcul dun correcteur avance de phase (pendant la sance)
calculer le correcteur
construire lenvironnement suivant qui permet de comparer sans et avec correcteur /exer6/

Calculer le gain statique du systme

Discrtisation du correcteur

Rappel : cf. cours /exer7/aexer7

Extraire le numrateur et le dnominateur de sysc le correcteur continu


Utiliser la fonction c2d avec la mthode de Tustin pour transforme le correcteur
continu en correcteur discret avec une priode dchantillonnage de 0.1s,
Simuler ce correcteur discret et comparer le au rsultats obtenus avec le correcteur
continu.

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

Calcul du systme en boucle ouverte > sysbo = sysc*sys


Calcul du systme en boucle ferme > sysbf = feedback(sysbo,1)

Attention le dnominateur nest pas normalis


Gain statique : Gs = sysbf(0)
Si on dsire ramener le gain statique 1 il faut ajouter un amplificateur de 1/Gs. Le correcteur
devient sysc*1/Gs
[nu,de]=tfdata(sysbf,'v');
gs=de(length(de));
nu=nu./gs;
de=de./gs;
sysbf=2*tf(nu,de);
[mg,mp,wg,wp]=margin(sysbf);
%erreur
mpd-mp

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.

MODELISATION DUN SYSTEME LINEAIRE MULTIVARIABLE ET


SIMULATION

Rappel sur la reprsentation dtat (cf . stage)

Un systme dynamique linaire multivariable se met sous la forme suivante

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

Cration dun modle LTI en reprsentation dtat : ss


Les proprits sobtiennent et se modifient par get et set

Sous simulink, utiliser le bloc StateSpace de la librairie Linear (ou Discret )

Exemple : pendule invers

Figure 1: Chariot et pendule.


Un chariot [C] se dplace sur un rail (position r, vitesse r& ), le dispositif pendulaire est
constitu d'une tige [L] l'extrmit de laquelle, est monte une masse [M]. La liaison entre le
chariot et le pendule est une rotode non actionne.
Les quations diffrentielles rgissant le mouvement du chariot et celui du pendule sont
donnes par les quations suivantes :
&& + KQ
JQ & - M l g sin(Q) + M l &r&cos(Q) = 0
1 s 1 s

& 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

q: la position angulaire du pendule (en rd)


M1 : la masse du pendule (Kg)
M0 : la masse du chariot
M: la masse totale du chariot et du pendule
ls : distance au chariot, du centre de gravit du pendule (m)
J Inertie (kg m2)
K, fR : coefficients de frottement visqueux du pendule et du chariot
g: gravit.

Mise en quation voir le document en annexe

Reprsentation dtat du systme linaris et normalis:


0 0 - 1.9503 0 0

& = 0
X
0 0 1 X + 0 u
0 - 0.1289 - 1.9148 0.0008 - 6.1347

0 21.4964 26.3388 - 0.1362 84.3862
1 0 0 0 0
Y = 0 1 0 0 X + 0 u
0 0 1 0 0

Simulation du systme stabilis (cor_lin1)

1 Calcul de lobservateur
2 Calcul du retour dtat
3 Calcul du gain statique
4 Construction de
lenvironnement
5 Simulation

Figure 2 Schma du systme stabilis


Simuler le fonctionnement du systme
Le systme est-il stabilis ?
Vrifier le bon fonctionnement de l'observateur
Exercer une forte variation de position au chariot, le modle est-il raliste ?

Etape 2 : Asservissement de la position du chariot (cor_lin2)

19 Introduction Matlab
jouvencel

Ajout dune correction intgrale sur la position du chariot

Etape 3 : Limitation de la commande (cor_lin3)

Ajout dune saturation sur lentre du pendule

Etape 4 : Simulation avec le modle non linaire (cor_nl)

On remplace le modle linaris par le modle non linaire du pendule

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)

1.1 En boucle ouverte


1. Ce syst`eme est-il stable ?
2. Tracer dans le plan complexe les p
oles et les zeros du syst`eme.
3. Calculez la reponse indicielle du syst`eme en boucle ouverte.

1.2 En boucle ferm


ee
1. Le correcteur etant un gain pur, montrer quil nexiste pas de gain tel que le syst`eme soit stable.
2. Comment peut-on le verifier avec 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 Exercice 1 (4 pts, 30 mn)


La fonction de transfert G(z) est telle que :

(1 2z 1 )(1 + 0.5z 1 )(1 0.5z 1 )


G(z) =
(1 + 1.5z 1 0.81z 2 1.215z 3 )
1. En utilisant le crit`ere de Jury, determinez si le syst`eme est stable en boucle ouverte.
2. Lun de p
oles de G(z) est en 0.9, determinez les autres poles du syst`eme.
On choisit un correcteur de la forme :

(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.

2 Exercice 2 (5 pts, 30 mn)


La fonction de transfert G(p) est telle que :

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

3 Exercice 3 (3 pts, 30 mn)


La production dune machine est modelisable par une equation recurrente de la forme :

yk+2 0.9yk+1 + 0.2yk = uk

yk+1 : pi`eces produites au jour k + 1


yk : pi`eces produites au jour k
o`
u:
uk : commande, en pi`eces `
a produire au jour k
a : constante reelle
1. Calculez H(z) la transformee en z du syst`eme decrit precedemment.
2. Calculez la reponse indicielle yh? (kTe ) de ce syst`eme.
3. Calculez la reponse impulsionnelle y? (kTe ).
Supposons que la commande est de type echelon A U (kTe ),
4. Quelle amplitude A faut-il appliquer pour que llot produise exactement 1000 pi`eces en 5 jours ?

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.

Fig. D.1 Impacteur, schema de principe.

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).

4.2 Commande du couple moteur


On ne sinteresse dans cette partie qu`
a lasservissement du couple moteur.
Un essai de pompage du courant moteur donne le resultat indique sur la figure D.2.

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

2. Deduisez-en les constantes kp , Ti , Td et correcteur PID de la forme suivante :

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.

4.4 Traitement du signal


Les donnees de vitesse et position sont enregistrees sur le calculateur pour un traitement du signal hors ligne.
1. les donnees, echantillonnees `
a fe = 1 kHz sont filtrees avec un filtre numerique de la forme :
z+2
F (z) =
(z 0.5)2

Calculez le diagramme de Bode du filtre analogique equivalent et son domaine de validite.

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 !

Fig. D.3 Schema general dune commande par mod`ele interne.

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.

Fig. D.4 Syst`eme `a reguler.

Fig. D.5 Schema bloc general de lasservissement de force.

1 Etude analogique

Fig. D.6 Schema de lasservissement avec un correcteur PID.


JUIN 2007 135
Le moteur est represente par une constante de temps T = 20ms , le collecteur electronique lui, se comporte
comme un retard pur de duree = 5ms. Dans cette partie on ne prendra pas en compte lexistence dune
perturbation.

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.

1. Que pensez-vous de cette periode dechantillonnage ?


2. Calculer la fonction de transfert en z G(z) de lensemble collecteur electronique + moteur precede dun
p
bloqueur dordre 0. (G(p) = 10e
1+T p )
3. Decomposer G(z) sous la forme :
B + (z)B (z)
G(z) =
A+ (z)A (z)
u B + (z), A+ (z) sont compensables et B (z), A (z) ne le sont pas.
o`
4. Expliquez pourquoi la recherche dun correcteur donnant une boucle fermee equivalent `a 1 retard pur est
vouee `
a lechec.
5. Calculer un correcteur C(z) qui donne une reponse en temps minimal. On cherche donc C(z) tel que :

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.

1. Calculer un correcteur C(z) avec la methode de Zdan ayant pour caracteristiques :


136 ANNEXE D. ANNALES
mod`ele en boucle fermee de type troisi`eme ordre
N (z)
(1 0.5z 1 )3
erreur statique nulle, et ce malgre la perturbation en rampe.
On prendra pour la partie C3 du correcteur de Zdan la forme :
1 (z) K(1 z1 z 1 )
C3 (z) = =
2 (z) 1 z2 z 1

2. Calculer lerreur permanente de votre syst`eme corrige en labsence de perturbation.


3. Verifier la stabilite de votre correcteur.
4. Calculer lequation recurrente de votre correcteur et verifier la causalite de ce correcteur.

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.

Fig. D.9 Commande par anticipation.

Le correcteur D(z) sera choisi presque identique `a C(z) de la forme :

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

Application numerique : F0 = 1 N pour 0 = 10et 0 = 6000 tr/mn


1. Determiner a.
2. Donner un mod`ele linearise de la force autour de sa valeur nominale F0 = a0 03 de la forme F =
F0 + + par developpement limite.
3. Donner un schema bloc du syst`eme complet incluant la force.
4. Determiner la fonction de transfert entre la commande de pas et la sortie en force, le syst`eme etant regule
par la commande par anticipation.
5. Le pas et la vitesse etant quantifies par des CAN de 8 bits, soit 28 pas de quantification entre 0 et 8000
tr/mn et entre 45, quelle est lerreur de force en regime etabli ?
JUIN 2008 137
6 Questions ind
ependantes pour ceux qui finissent trop t
ot
1. Calculer la transformee en z du signal donne en figure D.10.

Fig. D.10 Reponse indicielle desiree.

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.

Fig. D.11 Poles et zeros de F (z).


138 ANNEXE D. ANNALES

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).

Fig. D.12 Lieu dEvans du syst`eme.

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.13 Syst`eme precede du correcteur PI.

Fig. D.14 Diagramme de Bode du syst`eme presente en figure D.13.

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.

Cahier des charges


Lerreur permanente dordre 0 (reponse ` a lechelon dentree W (z) doit etre nulle et ce, y compris en cas
de perturbations V (z) en forme de rampe.
Le syst`eme en boucle fermee doit rejeter les perturbation sinusodales E(z)
Le syst`eme doit repondre tr`es lentement ` a un echelon de consigne W (z), le comportement en boucle
fermee est plus lent quen boucle ouverte ! On desire un comportement de type premier ordre, la constante
de temps est de 5 heures soit 18000 secondes.
JUIN 2008 141
3.1 Mod
elisation
Mod elisation du syst`eme en boucle ouverte sans perturbations La temperature du saphir au cours
du temps est mesuree apr`es avoir soumis le syst`eme `a un echelon de puissance thermique. Le resultat est donne
figure D.17.

Fig. D.17 Reponse de la temperature du saphir en fonction dun echelon unitaire de puissance.

1. On fait lhypoth`ese que la transmittance du syst`eme est de la forme :


k
G(p) =
(1 + p)2

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.

Quel que soit le r


esultat de la partie pr
ec
edente, vous continuerez avec la fonction de transfert
en z
B(z) 0.01752z + 0.01534
G(z) = = 2
A(z) z 1.637z + 0.6703

Dans cette partie on ne tiendra pas compte de la perturbation sinusodale E(z).

1. Decomposez G(z) sous la forme :


B + (z)B (z)
G(z) =
A+ (z)A (z)

u B + (z), A+ (z) sont compensables et B (z), A (z) ne le sont pas.


o`
2. On decompose le polyn ome S(z) en un produit de trois polynomes :
S1 (z) contient le nombre dintegrateurs purs necessaires pour repondre au cahier des charges,
S2 (z) compense les zeros compensables de B(z),
S3 (z) assurera la dynamique voulue en boucle fermee.
Donnez les polynomes S1 (z) et S2 (z).
3. Determinez S3 (z) et R(z) tels que la transmittance du syst`eme en boucle fermee soit egale `a celle du
mod`ele de comportement voulu M (z).
4. Calculez lerreur permanente de votre syst`eme corrige en labsence de perturbation.
le correcteur RST est finalement implante sous la forme donnee en figure D.19.

Fig. D.19 Implantation du correcteur RST.

R(z) U (z)
5. Verifiez la stabilite du correcteur C(z) = S(z) = (z) .

6. Calculez lequation recurrente de votre correcteur et verifiez la causalite de ce correcteur.


7. En utilisant le theor`eme de la valeur finale, determinez la valeur de la commande en regime permanent
U , le syst`eme etant soumis `
a un echelon dentree, les perturbations etant nulles.
JUIN 2008 143
Correcteur r
ejecteur de la perturbation sinusodale
Ce generateur de frequence est embarque sur un satellite qui tourne autour de la terre en 90 minutes. Le capteur
de temperature subit alors une perturbation sinusodale de periode T = 90mn. On se propose ici de recalculer
un nouveau correcteur qui rejette asymptotiquement cette perturbation.
Y (z)
1. En reprenant le schema D.18, Calculez la fonction de transfert Gp (z) = E(z) en fonction des param`etres
du syst`eme et en introduisant le polyn
ome dobservation A0 .
2. Calculez la pulsation du signal de perturbation puis calculez la transformee en z du signal sinusodal
E(t) = sin(t) echantillonne `
a la periode T e.
3. Calculez alors le signal Y (z) en fonction de ce signal E(z), tous les autres signaux entrant etant nuls.
4. Proposez une condition sur les polyn
omes S et sur A0 afin que la sortie Y (z) ne depende plus du signal
sinusodal.
5. Calculez le correcteur RST qui repond au cahier des charges complet.