Automatique linéaire échantillonnée

Version 2009.1

Gonzalo Cabodevila
gonzalo.cabodevila@femto-st.fr TDs : G. Cabodevila, D. Chappe, A. Janex, B. Lang Tutorial Matlab : B. Jouvencel 1ère année Semestre jaune AUT1 - Automatique

École Nationale Supérieure de Mécanique et des Microtechniques 26, chemin de l’Épitaphe 25030 Besançon cedex – FRANCE http://intranet-tice.ens2m.fr

2

Pr´face e
Le choix de l’enseignement de l’automatique ´chantillonn´e d`s la premi`re ann´e se fonde sur la constatation e e e e e que la majorit´ d’entre vous ont acquis les bases de l’automatique lin´aire pendant les classes pr´paratoires. e e e Celles et ceux pour qui cette hypoth`se est fausse auront un peu de travail personnel suppl´mentaire ` fournir. e e a Les enseignants sont l` pour vous aider, n’h´sitez pas ` poser des questions. Par ailleurs, la biblioth`que poss`de a e a e e quelques ouvrages de qualit´ tels que [1] et [2] sans oublier les techniques de l’ing´nieur, accessibles en ligne. e e Ce polycopi´1 n’est gu`re qu’un document vous ´pargnant la recopie de formules, la pr´sence en cours est e e e e indispensable. Enfin, je ne saurai que trop vous conseiller de lire d’autres ouvrages traitant du mˆme sujet, e notamment [3], [4], [5] ou [6] (vous noterez une ´trange ressemblance avec ce dernier ouvrage, c’´tait mon prof !). e e Il existe aussi quelques ouvrages au format PDF disponibles gratuitement sur internet ([7], [8], [9], [10], [11]) que je vous conseille vivement de t´l´charger afin d’avoir une deuxi`me version des faits. ee e Le cours est organis´ sous la forme de 6 le¸ons aussi ind´pendantes que possible. Des rappels des notions utiles e c e pour la compr´hension de la le¸on seront faits au d´but de chaque s´ance, n´anmoins une relecture des notes e c e e e de cours (15mn) est indispensable.

L’homme de science le sait bien, lui, que seule la science, a pu, au fil des si`cles, lui apporter l’horloge e pointeuse et le parcm`tre automatique sans lesquels e il n’est 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 l’apprendre ? Pierre Foglia

1 Ce cours est r´dig´ avec L T X, les transparents sont faits avec L T X et le package Beamer. Les dessins sont issus de Matlab A A e e E E et de Xfig ou Draw de Open Office.

©

3

4

Table des mati`res e
1 Introduction 1.1 D´finition . . . . . . . . . . . . . . . . . . . . . . . e 1.2 Exemples d’asservissements . . . . . . . . . . . . . 1.2.1 Historique . . . . . . . . . . . . . . . . . . . 1.3 Mise en œuvre des asservissements num´riques . . e 1.3.1 Technologie des asservissements . . . . . . . 1.4 Echantillonnage et quantification . . . . . . . . . . 1.4.1 Le bruit de quantification . . . . . . . . . . 1.5 P´riode d’´chantillonnage . . . . . . . . . . . . . . e e 1.5.1 Le probl`me de la p´riode d’´chantillonnage e e e 1.5.2 Le recouvrement de spectre avec les mains . 1.5.3 Bruit sur la d´riv´e . . . . . . . . . . . . . . e e 1.5.4 Choix de la p´riode d’´chantillonnage . . . e e 9 9 9 9 13 14 17 17 17 17 19 20 21 25 25 26 28 28 28 28 30 30 30 31 32 32 33 33 35 35 37 37 38 38 39 40 41 42 43 43 43 46 46 47 47

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

2 Transform´e en z e 2.1 D´finition de la transform´e en z . . . . . . . . . . . . . . . . . . . . e e 2.2 Propri´t´s de la transform´e en z . . . . . . . . . . . . . . . . . . . . ee e 2.3 Calcul de la transform´e en z . . . . . . . . . . . . . . . . . . . . . . e 2.3.1 Par la formule de d´finition . . . . . . . . . . . . . . . . . . . e 2.3.2 Par la th´orie des r´sidus . . . . . . . . . . . . . . . . . . . . e e 2.3.3 Par l’utilisation des tables . . . . . . . . . . . . . . . . . . . . 2.4 Transform´e inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . e 2.4.1 Th´orie des r´sidus . . . . . . . . . . . . . . . . . . . . . . . . e e 2.4.2 Par division polynomiale . . . . . . . . . . . . . . . . . . . . . 2.4.3 Par l’utilisation des tables . . . . . . . . . . . . . . . . . . . 2.5 Transmittances ´chantillonn´es . . . . . . . . . . . . . . . . . . . . . e e 2.5.1 Notions de sch´ma bloc . . . . . . . . . . . . . . . . . . . . . e 2.5.2 Transform´e en z d’un sch´ma bloc . . . . . . . . . . . . . . . e e 2.5.3 Transform´e d’un syst`me pr´c´d´ par un bloqueur d’ordre 0 e e e e e 2.5.4 Transmittances ´chantillonn´es de syst`mes boucl´s . . . . . e e e e 2.5.5 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Analyse des syst`mes e 3.1 Stabilit´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 3.1.1 Conditions de stabilit´ . . . . . . . . . . . . . . . . . . . . . e 3.1.2 Crit`re de Jury . . . . . . . . . . . . . . . . . . . . . . . . . e 3.1.3 Crit`re de Routh-Hurwitz appliqu´ sur la transform´e en w e e e 3.1.4 Avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Correspondance des plans z et p . . . . . . . . . . . . . . . . . . . 3.2.1 R´ponse impulsionnelle en fonction de la position des pˆles. e o 3.3 Le lieu d’Evans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 D´finition . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 3.3.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Pr´cision des syst`mes ´chantillonn´s . . . . . . . . . . . . . . . . e e e e 3.4.1 Erreur vis-`-vis de la consigne . . . . . . . . . . . . . . . . . a 3.4.2 Erreur vis-`-vis de la perturbation . . . . . . . . . . . . . . a 3.4.3 Extension du raisonnement ` tous types d’entr´es . . . . . . a e 5

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

6 3.4.4

` TABLE DES MATIERES Cycle limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 51 51 51 52 53 53 55 55 56 57 58 59 59 60 62 65 65 65 67 68 68 70 71 72 73 77 77 79 79 79 81 82 83 83 84

4 Transposition des correcteurs analogiques 4.1 Les diff´rentes approximations de la d´riv´e . . . e e e 4.1.1 Diff´rences vers l’arri`re . . . . . . . . . . e e 4.1.2 Diff´rences vers l’avant . . . . . . . . . . . e 4.1.3 Transformation bilin´aire . . . . . . . . . e 4.1.4 Avec Matlab . . . . . . . . . . . . . . . . 4.2 PID analogique . . . . . . . . . . . . . . . . . . . 4.2.1 R´glages de Ziegler-Nichols . . . . . . . . e 4.2.2 P, PI, ou PID ? . . . . . . . . . . . . . . . 4.3 Le PID num´rique . . . . . . . . . . . . . . . . . e 4.3.1 R´glages de Takahashi pour un r´gulateur e e 4.4 Mise en œuvre d’un asservissement . . . . . . . . 4.4.1 Anti windup . . . . . . . . . . . . . . . . 4.4.2 Pr´dicteur de Smith . . . . . . . . . . . . e 4.4.3 Algorithme . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PID num´rique e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . filtr´ e . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

5 Synth`ses ` temps d’´tablissement fini e a e 5.1 Synth`se en z de correcteurs . . . . . . . . . . . . . . . . . . . . e 5.1.1 Exemple idiot... mais riche d’enseignements . . . . . . . 5.2 Synth`ses ` temps d’´tablissement fini . . . . . . . . . . . . . . e a e 5.2.1 Synth`se ` temps d’´tablissement minimal absolu . . . . e a e 5.2.2 Synth`se ` temps d’´tablissement minimal non absolu . e a e 5.2.3 R´ponse pile . . . . . . . . . . . . . . . . . . . . . . . . e 5.2.4 Applications des synth`ses ` temps d’´tablissement fini e a e 5.2.5 Exemples de r´ponse pile . . . . . . . . . . . . . . . . . e 5.3 R´solution de l’´quation diophantienne . . . . . . . . . . . . . e e 6 M´thodes de commande avanc´es e e 6.1 Choix des pˆles en boucle ferm´e . . . . . . . . . . . . . . . . o e 6.2 M´thode de Zdan . . . . . . . . . . . . . . . . . . . . . . . . . e 6.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Correcteur de Zdan . . . . . . . . . . . . . . . . . . . 6.3 Commande RST . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Synth`se de la loi de commande RST . . . . . . . . . e 6.3.2 Choix des polynˆmes Am , Bm et A0 . . . . . . . . . . o 6.3.3 Cas particulier du correcteur RST : le correcteur s´rie e Bibliographie

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

I

Annexes

87
89 93 . 95 . 96 . 97 . 98 . 99 . 101 . 102

A Tables de transform´es e B Travaux dirig´s e B.1 TD n˚1 : Fr´quence d’´chantillonnage et ´quations r´currentes e e e e B.2 TD n˚2 : Syst`mes r´currents . . . . . . . . . . . . . . . . . . . e e B.3 TD n˚3 : Asservissement num´rique de vitesse . . . . . . . . . e B.4 TD n˚4 : Etude d’un four ´lectrique . . . . . . . . . . . . . . . e B.5 TD n˚5 et 6 : Etude d’un asservissement de position . . . . . . B.6 TD n˚7 : M´thode de Zdan . . . . . . . . . . . . . . . . . . . . e B.7 TD n˚8 : Synth`se d’un r´gulateur RST . . . . . . . . . . . . . e e

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

C Tutorial Matlab 105 Tutorial Matlab de Jouvencel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

` TABLE DES MATIERES D Annales Devoir personnel Juin 2006 Examen final Juin 2006 . . Devoir personnel Juin 2007 Examen final Juin 2007 . . Examen final Juin 2008 . . Examen final Janvier 2009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 127 127 129 133 134 138 144

8

` TABLE DES MATIERES

Chapitre 1

Introduction
1.1 D´finition e

L’automatique est la science qui traite de l’analyse et de la commande des syst`mes dynamiques ´voluant e e avec le temps. En d’autres mots de l’automatisation de tˆches par des machines fonctionnant sans intervention a humaine. Wikip´dia e C’est une partie d’un ensemble plus vaste nomm´ cybern´tique. D´finie en 1947 par Norbert Wienner, la e e e cybern´tique est la base de la robotique, de l’automatique, de l’intelligence artificielle et de la th´orie de e e l’information.

1.2
1.2.1

Exemples d’asservissements
Historique

L’histoire de l’automatique d´marre sans doute d`s la pr´histoire. En effet, le masque du sorcier pr´historique e e e e est une premi`re tentative de donner une vie propre ` un objet inanim´. e a e Le syst`me souvent cit´ comme ´tant la premi`re r´alisation d’un correcteur automatique est la clepsydre de e e e e e Ktesibios (-270 av. J.C) (figure 1.1). Afin d’am´liorer le principe de l’horloge ` eau, Ktesibios introduit un e a r´servoir suppl´mentaire dans lequel le volume de liquide reste constant grˆce ` un flotteur qui ferme l’entr´e e e a a e du r´servoir lorsque celui-ci est trop plein. En gros, c’est une chasse d’eau moderne. e

Fig. 1.1 – Clepsydre de Ktesibios(-270 av. J.C., Alexandrie). L’horloge, des si`cles plus tard, est encore un moteur de d´couvertes dans le domaine de l’automatique. e e L’´chappement ` ancre n’est gu`re qu’un stabilisateur de fr´quence. Les d´veloppements de l’horloge conduisent e a e e e alors ` la cr´ation d’automates extrˆmement compliqu´s. Citons, ` titre d’exemple, le canard de Vaucanson a e e e a 9

10

CHAPITRE 1. INTRODUCTION

(1709-1782) (figure 1.2) qui pouvait boire, se nourrir, caqueter, nager, ”dig´rer” et d´f´quer. L’id´e de la proe ee e grammation est n´e ` peu pr`s ` la mˆme ´poque. En 1728, Jean-Philippe Falcon cr´e le premier m´tier ` tisser e a e a e e e e a programmable par cartons perfor´s. Vaucanson r´alise un m´tier ` tisser programm´ en 1745, et en 1801 le e e e a e c´l`bre m´tier ` tisser automatique programmable de Joseph-Marie Jacquard. ee e a

Fig. 1.2 – Canard de Vaucanson (

1739).

Fig. 1.3 – M´tier ` tisser programmable. e a

Fig. 1.4 – Cartes perfor´es, le d´but de la programe e mation.

A la mˆme ´poque d’autres syst`mes voient le jour, pouss´s par la r´volution industrielle qui est en marche. e e e e e Denis Papin d´veloppe la soupape de s´curit´ (figure 1.5) pour les syst`mes fonctionnant ` la vapeur et James e e e e a Watt invente le r´gulateur de vitesse ` boule (figure 1.6). e a Les r´alisations pr´c´dentes ne manquent pas d’ing´niosit´, n´anmoins il faudra attendre l’arriv´e de l’´lectricit´ e e e e e e e e e puis de l’´lectronique pour voir apparaˆ les premiers correcteurs en tant que tels. Enfin, le d´veloppement e ıtre e des microprocesseurs puis celui des microcontrˆleurs permet aujourd’hui de mettre en œuvre des principes de o commande tr`s ´labor´s, notamment : e e e ˆ le pilotage de syst`mes instables e ˆ les commandes robustes ˆ l’identification en ligne ˆ la commande de syst`mes non lin´aires e e ˆ la commande pr´dictive e ˆ ...

1.2. EXEMPLES D’ASSERVISSEMENTS

11

Fig. 1.5 – Soupape de s´curit´ de Denis Papin e e ( 1679).

Fig. 1.6 – R´gulateur de vitesse de Watt (1788). e

Les figures 1.7 et 1.8 repr´sentent deux exemples de stabilisation de syst`mes instables, les figures 1.9 et 1.10 e e repr´sentent quant ` elles deux exemples de syst`mes instables pour lesquels le correcteur n’a rien pu faire. e a e Dans les deux cas, le correcteur n’y est pour rien. Une erreur humaine et une erreur de conception sont ` a l’origine des deux ”probl`mes”. e

Fig. 1.7 – Fus´e Ariane (ESA). e

Fig. 1.8 – Avion de combat Rafale (Dassault).

12

CHAPITRE 1. INTRODUCTION

Fig. 1.9 – Fus´e Ariane (ESA). e

Fig. 1.10 – Centrale ´lectrique de Tchernobyl. e

Retenez encore qu’aujourd’hui sur 100 syst`mes m´ritant d’ˆtre asservis : e e e ˆ 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´riques e

Le sch´ma g´n´ral d’un asservissement analogique est repr´sent´ en figure 1.11, sa transposition en commande e e e e e num´rique est repr´sent´e en figure 1.12. e e e

Fig. 1.11 – Syst`me asservi lin´aire continu. e e

Fig. 1.12 – Syst`me asservi lin´aire ´chantillonn´. (Ne cherchez pas les boites CAN et CNA sous simulink, elles n’existent e e e e
pas ! CAN est intrins`que en passant de continu ` ´chantillonn´, CNA s’appelle en fait ZOH pour ”Zero Order Hold”.) e ae e

Les avantages de l’asservissement num´rique sont nombreux, en voici quelques uns. e
ˆ R´alisation ais´e de r´gulateurs complexes, lois de commande raffin´es. e e e e ˆ Facilit´ de mise en oeuvre de commandes anticipatrices (compensation par rapport ` la consigne ou ` e a a certaines perturbations). ˆ Mise en oeuvre d’algorithmes de r´gulation sans ´quivalent analogique. e e ˆ Insensibilit´ de la caract´ristique entr´e-sortie du r´gulateur aux parasites, aux variations de temp´rature, e e e e e au vieillissement, etc. ˆ Pas de dispersion des param`tres du r´gulateur en cas de fabrication en s´rie. e e e ˆ Prise en compte de d´fauts, des limites et comportements particuliers du syst`me ` r´gler (non lin´arit´s, e e a e e e saturations) par simple programmation. ˆ Lin´arisation autour d’un point de fonctionnement ajustable. e ˆ G´n´rateur de trajectoires int´gr´. e e e e ˆ Changement de correcteur souple et rapide. ˆ Interface utilisateur conviviale. ˆ Plusieurs syst`mes corrig´s par un seul microprocesseur. e e

14

CHAPITRE 1. INTRODUCTION

Il y a aussi quelques inconv´nients qu’il convient de connaˆ pour mieux les contourner. Notamment l’observae ıtre tion discontinue de la grandeur r´gl´e, le syst`me est en boucle ouverte entre deux instants d’´chantillonnage. e e e e Sans pr´cautions particuli`res, le bouclage num´rique ins`re des non lin´arit´s dans la boucle de r´gulation e e e e e e e dues : ˆ ` la quantification des convertisseurs, a ˆ ` la pr´cision de calcul finie du microprocesseur, a e ˆ au proc´d´ d’´chantillonnage (recouvrement spectral). e e e Ces non lin´arit´s peuvent avoir un effet d´stabilisant (cycles limites) et introduisent des bruits suppl´mentaires, e e e e voire des battements. Un autre ph´nom`ne important est l’insertion de retards purs dans la boucle de r´gulation e e e dus au temps de conversion analogique-num´rique (A/N) et num´rique-analogique (N/A) et au temps d’ex´cution e e e de l’algorithme de r´gulation, or les retards purs sont tr`s d´stabilisants. e e e

1.3.1

Technologie des asservissements

Le choix du support mat´riel d’un asservissement num´rique est ´videmment fonction de l’objet contrˆl´. La e e e oe gamme de supports est vaste, pour fixer les id´es voici trois syst`mes complets. e e Dans le cas de syst`mes tr`s complexes, n´cessitant plusieurs asservissements simultan´s, des interfaces utilie e e e sateurs conviviales, le choix se porte sur des calculateurs industriels qui se pr´sentent sous la forme d’un rack e dans lequel on ins`re des cartes ` microprocesseur et des cartes d’entr´es sorties. La puissance de calcul n’est e a e pas limit´e. e

Fig. 1.13 – Kit de d´veloppement sur Bus VME. e

Fig. 1.14 – Carte d’ acquisition haute densit´. 96 e voies analogiques 12 bits 3 M´ch./s. e

La programmation de ces syst`mes fait appel ` un syst`me d’exploitation multitˆche temps r´el. e a e a e A l’inverse, pour des syst`mes simples, un microcontrˆleur1 suffit. La programmation se fait alors en C ou en e o Assembleur, les microcontrˆleurs plus puissants acceptent sans probl`me un OS temps r´el. o e e

Fig. 1.15 – Microcontrˆleur PIC. o Entre les deux, il existe des cartes de puissance interm´diaire telle que la SSV DIL/NetPC DNP/5280. Celle-ci e poss`de 8Mo de ROM et 16 Mo de RAM (` comparer aux 8192 mots de ROM et 368 octets de RAM d’un PIC e a
1 Microcontrˆleur = sur la mˆme puce microprocesseur+ p´riph´riques : horloges, entr´es sorties binaires et analogiques, liaisons o e e e e num´riques, ... e

´ 1.3. MISE EN ŒUVRE DES ASSERVISSEMENTS NUMERIQUES 16F877) ainsi que pratiquement tous les bus classiques (I2C, SPI, CAN et une interface Ethernet)

15

Fig. 1.16 – Carte microcontrˆleur SSV DIL/NetPC DNP/5280. o Enfin, il existe les DSP : Digital Signal Processing, d´di´s au calcul rapide et flottant, plutˆt utilis´s dans des e e o e applications n´cessitant du traitement du signal cons´quent. e e Et pour finir, sachez que les PID industriels soit disant analogiques cachent un microcontrˆleur, cette technologie o permettant de r´aliser des constantes de temps impossibles ` r´aliser en analogique. Mais aussi, de g´rer des e a e e alarmes, des saturations, des modes de d´faut, etc. Vous trouverez au §4.2.1 page 55 une m´thode rapide pour e e d´terminer les coefficients de ces correcteurs. e

Fig. 1.17 – R´gulateur ”analogique” de type PID. e

16 CAN

CHAPITRE 1. INTRODUCTION

Afin de faire traiter le signal par un microprocesseur, il faut le lui rendre accessible, c’est le rˆle du convertisseur o analogique num´rique. Plusieurs m´thodes de conversion existent2 . e e

Convertisseur ` rampe num´rique a e lent, pr´cis e

Convertisseur ` pes´es successives a e =⇒

Convertisseur flash rapide, moins pr´cis e

Fig. 1.18 – Principes de conversion analogique num´rique. e

CNA Le convertisseur num´rique analogique le plus connu est fond´ sur le principe du r´seau R-2R comme illustr´ e e e e sur la figure 1.19. Ce principe est tr`s consommateur de surface de silicium, aussi la grande majorit´ des microe e contrˆleurs n’en poss`dent pas. Une autre m´thode de conversion consiste ` utiliser le principe de modulation o e e a en largeur d’impulsion (MLI, en anglais PWM). Le principe est de faire varier la valeur moyenne du signal de sortie binaire (0 - 5V) en faisant varier la largeur de l’impulsion. Un filtre RC filtrera les variations rapides, ne laissant passer que les variations lentes soit le signal d´sir´. Ce principe pr´sente l’´norme avantage de ne e e e e demander qu’un bit de sortie du microcontrˆleur par rapport ` 16 bits pour un CNA classique ! o a

Fig. 1.19 – Convertisseur num´rique Fig. 1.20 – Signal modul´ en modulation de largeur d’impulsion avant et e e analogique de type r´seau R-2R. e apr`s filtrage haute fr´quence. e e

2 dessins

tir´s de : http ://hyperphysics.phy-astr.gsu.edu/hbase/electronic/adc.html e

1.4. ECHANTILLONNAGE ET QUANTIFICATION

17

1.4

Echantillonnage et quantification

La figure 1.21 montre la diff´rence fondamentale entre le signal analogique et le signal ´chantillonn´ et quantifi´ e e e e que le microcontrˆleur ”per¸oit”. Ce signal est en fait une suite de nombres cod´s sur n bits (typiquement 8 ` o c e a 16 bits)

Fig. 1.21 – Echantillonnage et quantification d’un signal. En observant le signal ´chantillonn´ et quantifi´ (en bas ` droite de la figure 1.21), la tentation est grande de e e e a vouloir s’approcher du signal analogique en essayant de faire du ”quasi-continu” par un surdimensionnement des deux param`tres principaux que sont la fr´quence d’´chantillonnage et le pas de quantification. Les deux e e e parties suivantes, je l’esp`re, vous en dissuaderont. e

1.4.1

Le bruit de quantification

Pour un signal sinuso¨ ıdal d’amplitude ´gale ` la dynamique du convertisseur, le rapport signal ` bruit SN R3 e a a est de : SN R = 6 n − 4, 76 o` n est le nombre de bits du convertisseur u En pratique on choisit n tel que le rapport signal ` bruit de l’ensemble ne soit pas trop diminu´ par la a e quantification. Il existe des convertisseurs de : 8, 10, 12, 16, 24, 40 bits. Il existe aussi des convertisseurs ayant une caract´ristique logarithmique. e

1.5
1.5.1

P´riode d’´chantillonnage e e
Le probl`me de la p´riode d’´chantillonnage e e e

La figure 1.23 montre un mˆme signal ´chantillonn´ ` plusieurs fr´quences, lorsque la p´riode d’´chantillonnage e e ea e e e Te est ´gale ` la moiti´ de la fr´quence du signal, on voit qu’il devient impossible de reconstituer le signal e a e e original. En augmentant encore la p´riode d’´chantillonnage on tombe sur des aberrations comme illustr´ en figure 1.24. e e e
3 SN R

: Signal to Noise Ratio

18

CHAPITRE 1. INTRODUCTION

Fig. 1.22 – Bruit de quantification d’un signal.

Fig. 1.23 – Signaux ´chantillonn´s ` diff´rentes fr´quences. e e a e e

Fig. 1.24 – Signal ostensiblement sous-´chantillonn´. e e

´ ´ 1.5. PERIODE D’ECHANTILLONNAGE

19

1.5.2

Le recouvrement de spectre avec les mains

Sans entrer dans les d´tail du traitement du signal rappelons une constante des transform´es usuelles, Laplace, e e Fourier et bientˆt z : le produit de fonctions temporelles est transform´ en un produit de convolution dans o e l’espace op´rationnel. En particulier pour la transform´e de Fourier : e e
F ourier

x(t) ∗ y(t) x(t) × y(t) La relation 1.1 est illustr´e en figure 1.25. e

X(f ) × Y (f ) X(f ) ∗ Y (f )

(1.1) (1.2)

F ourier

Fig. 1.25 – Spectre d’un signal ´chantillonn´ (´chantillonnage parfait). e e e En fonction des valeurs relatives de Fmax et Fe on obtient deux types de spectres diff´rents comme illustr´ en e e figure 1.26.

Fig. 1.26 – Ph´nom`ne de recouvrement de spectre. e e Lorsque Fmax > Fe /2, il se produit le ph´nom`ne de recouvrement de spectre, ` ne pas confondre avec le e e a repliement de spectre. Si ce ph´nom`ne se produit, il est alors impossible de reconstituer le signal original, d’o` e e u le th´or`me de Shannon : e e Le th´or`me de Shannon Toute fonction du temps f (t) poss´dant un spectre de fr´quence limit´e ` ±Fmax e e e e e a peut ˆtre transform´e par ´chantillonnage p´riodique, de fr´quence Fe sup´rieure ou ´gale ` 2Fmax , sans aucune e e e e e e e a perte d’information. Ce th´or`me n’est qu’une limite infranchissable, d’autre ph´nom`nes vont intervenir bien avant dans le choix e e e e de la p´riode d’´chantillonnage. e e

20

CHAPITRE 1. INTRODUCTION

Notez que l’id´e d’un spectre limit´ ` Fmax est illusoire, tous les signaux en automatique ont un spectre infini. e ea On ne peut alors que minimiser ce ph´nom`ne de recouvrement de spectre. Il sera parfois n´cessaire d’ajouter e e e un filtre dit filtre ”anti-recouvrement” ou ”filtre anti-repliement”. Le calcul de ce filtre m´riterait un chapitre a lui seul. Disons pour faire extrˆmement simple, qu’il s’agit le plus e ` e souvent d’un filtre ´lectronique passe-bas du premier ordre dont la fr´quence de coupure est choisie entre Fmax e e et Fe .

1.5.3

Bruit sur la d´riv´e e e

Le th´or`me de Shannon impose donc une p´riode d’´chantillonnage maximum, qu’en est-il de la p´riode e e e e e d’´chantillonnage minimum ? La figure 1.27 montre que si la p´riode d’´chantillonnage tend vers 0, la d´riv´e e e e e e calcul´e par le taux de variation entre deux p´riodes d’´chantillonnage tend vers la d´riv´e de la fonction. e e e e e df (t) dt f (t) − f (t − Te ) Te

Fig. 1.27 – Diff´rence entre d´riv´e analogique et d´riv´e num´rique. e e e e e e Ceci n’est malheureusement vrai que dans le cas d’un signal sans bruit. Or les signaux sont toujours entach´s e de bruit et dans ce cas la proposition pr´c´dente n’est plus vraie. Dans le cas d’un signal en rampe, la figure e e 1.28 montre que l’erreur sur le calcul de la d´riv´e croˆ lorsque Te d´croˆ e e ıt e ıt.

Fig. 1.28 – Influence de la p´riode d’´chantillonnage dans le cas de calculs de d´riv´es en pr´sence de bruit. e e e e e Ajoutez ` cela le fait qu’une p´riode d’´chantillonnage tr`s petite implique un microcontrˆleur tr`s rapide et a e e e o e donc coˆteux. u

´ ´ 1.5. PERIODE D’ECHANTILLONNAGE

21

1.5.4

Choix de la p´riode d’´chantillonnage e e

Les consid´rations pr´c´dentes montrent : e e e ˆ une limite fondamentale : le th´or`me de Shannon, e e ˆ que l’id´e de sur´chantillonner provoque ´norm´ment de bruit sur le calcul des d´riv´es et demande un e e e e e e microcontrˆleur puissant donc cher. o Entre les deux, il existe un vaste choix de fr´quences d’´chantillonnage. Plusieurs auteurs proposent une fore e malisation de ce choix, le plus souvent quasi-empirique mais donnant de bons r´sultats du point de vue du e compromis pr´cision - vitesse de calcul n´cessaire. e e Sevely [3] Yves choisit Te , la p´riode d’´chantillonnage telle qu’elle soit e e 2π 2π ≤ Te ≤ 18ω0 9ω0 τ τ ≤ Te ≤ 9 4, 5 B¨ lher [4] u Hansruedi choisit Te , la p´riode d’´chantillonnage telle qu’elle soit e e ˆ 5 fois plus petite que la constante de temps la plus rapide que l’on veut contrˆler en boucle ferm´e o e Te τ 5

ˆ 8 fois plus petite que la pseudo-p´riode, s’il s’agit de pˆles complexes conjugu´s e o e

Te Crit`re fr´quentiel [9] e e

1 2π 8 ω0 1 − ξ 2

On choisit Fe , la fr´quence d’´chantillonnage telle qu’elle soit 6 ` 24 fois plus grande que la fr´quence de coupure e e a e du syst`me. Soit pour un syst`me d’ordre 1 : e e τ ≥ Te ≥ Pour un syst`me d’ordre 2 : e soit :
k 2 p2 +2ξω0 p+ω0

τ 4

0.25 < ω0 T < 1ξ = 0.7 0.4 < ω0 T < 1.75ξ = 1 Exemple Soit G(p) une fonction de transfert poss´dant 4 pˆles en boucle ouverte : e o G(p) = 1 (1 + τ1 p)(1 + τ2 p)(1 + τ3 p)(1 + τ4 p)

Apr`s mise en œuvre de l’asservissement vous esp´rez acc´l´rer le syst`me, la fonction de transfert devient donc e e ee e F (p) = C(p)G(p) = 1 + C(p)G(p) (1 + 1
2 m ω0 p p2 ω0 2 )(1

+

+ τ3 p)(1 + τ4 p)

Quelques valeurs num´riques pour fixer les id´es : e e ˆ τ3 = 1s, ˆ ω0 = 1 rad.s−1 et ξ=0.43 (r´glage classique ` 20% de d´passement), e a e ˆ on ne cherche pas ` contrˆler τ4 . a o

22

CHAPITRE 1. INTRODUCTION

Fig. 1.29 – R´ponse d’un second ordre ´chantillonn´ (mais pas quantifi´ !). Observez le retard introduit par e e e e l’´chantillonnage. e

Fig. 1.30 – Comparaison des p´riodes d’´chantillonnages pr´conis´es par diff´rents auteurs. e e e e e

´ ´ 1.5. PERIODE D’ECHANTILLONNAGE

23

Fig. 1.31 – Lieu des pˆles en z en fonction de la p´riode d’´chantillonnage. o e e · · · Te varie de 0.01s ` 3s. a ♦ B¨hler u ∗ ∗ ∗ Sevely + + + crit`re fr´quentiel e e

24

CHAPITRE 1. INTRODUCTION

Chapitre 2

Transform´e en z e
2.1 D´finition de la transform´e en z e e

On appelle transform´e en z d’un signal f (t) la transform´e de Laplace F (p) du signal ´chantillonn´ f (t), e e e e dans laquelle on effectue la substitution z = eTe p Notation : Z[F (p)] ou Z[f (t)] Rappel : transform´e de Laplace d’un signal e

(2.1)

L[f (t)] =
0

f (t)e−pt dt

le signal f (t) ´chantillonn´ s’´crit f (t) avec : e e e f (t) = f (t)δTe (t) avec δTe =
∞ k=−∞

δ(t − kTe )

k ∈ Z peigne de Dirac

Ainsi la transform´e de Laplace du signal ´chantillonn´ est : e e e
∞ ∞

L[f (t)] =
0 ∞

f (t)
k=−∞ ∞

δ(t − kTe ) e−pt dt f (t)δ(t − kTe )e−pt dt

L[f (t)] =
k=−∞ 0 ∞

L[f (t)] =
k=−∞

f (kTe )e−kTe p

la fonction f ´tant nulle pour tout t < 0, e

F (p) = L[f (t)] =
k=0

f (kTe )e−kTe p

puis en posant z = e

Te p ∞

F (z) =
k=0

f (kTe )z −k

(2.2)

Exemple : f (t) = U (t) ´chelon d’Heaviside e
∞ ∞

F (z) =
k=0

f (kTe )z −k =
k=0

z −k = 1 + z −1 + z −2 + . . . =

1 z = 1 − z −1 z−1

Rappel : Somme d’une suite g´om´trique : e e premier terme qui y est moins premier terme qui n’y est pas sur un moins la raison. 25

26

´ CHAPITRE 2. TRANSFORMEE EN Z

2.2

Propri´t´s de la transform´e en z e e e

Comme la transform´e en z est la transform´e de Laplace suivie d’un changement de variable, ses propri´t´s e e ee se d´duisent de celles de la transform´e de Laplace. e e Lin´arit´ e e Z[af (t) + bg(t)] = aF (z) + bG(z) o` a et b sont des constantes u Translations r´elles e Retard de k p´riodes e Z[f (t − kTe )U (t − kTe )] = z −k F (z) Notez l’op´rateur ”retard” z −1 e (2.4) (2.3)

Fig. 2.1 – Illustration de la propri´t´ du retard. ee

Avance de k p´riodes e Z[f (t + kTe )U (t)] Z[f (t + kTe )U (t)] = z k F (z) − z k F (0) − z k−1 F (Te ) − z k−2 F (2Te ) − . . . − zF ((k − 1)Te )
k−1

= z k F (z) −
k=0

f (kTe )z −k

(2.5)

Les valeurs initiales sont enlev´es, sinon, le principe de causalit´ n’est plus respect´. e e e

Fig. 2.2 – Illustration de la propri´t´ de l’avance. ee

Translation complexe Z[e−aTe f (t)] = Z[F (p + a)] = F (zeaTe ) (2.6)

´ ´ ´ 2.2. PROPRIETES DE LA TRANSFORMEE EN Z Changement d’´chelle en z e z Z[ak f (kTe )] = F ( ) a

27

(2.7)

Th´or`me de la valeur finale e e
t→∞

lim f (t) = lim f (kTe ) = lim (1 − z −1 )F (z)
k→∞ z→1

(2.8)

Th´or`me de la valeur initiale e e
t→0

lim f (t) = lim f (kTe ) = lim F (z)
k→0 z→∞

(2.9)

Th´or`me de la convolution discr`te e e e

Z
k=0

f (kTe )g((n − k)Te )] = F (z)G(z)

(2.10)

C’est le th´or`me fondamental qui permet de transformer l’´quation de la sortie d’un syst`me, e e e e en temporel : en z : sortie = convolution de l’entr´e avec la r´ponse impulsionnelle du syst`me, e e e sortie = produit de l’entr´e avec la transmittance du syst`me. e e

Multiplication par tk Z [tf (t)] = −Te z Tr`s utile pour d´montrer la forme des signaux canoniques e e Th´or`me de sommation e e Z
k=0

d F (z) dz

(2.11)

n

f (kTe ) =

z F (z) z−1

(2.12)

Pour aller plus loin :

D´montrez le th´or`me de la convolution discr`te e e e e

28

´ CHAPITRE 2. TRANSFORMEE EN Z

2.3
2.3.1

Calcul de la transform´e en z e
Par la formule de d´finition e

F (z) =
k=0

f (kTe )z −k

(2.13)

Cette m´thode est souvent lourde ` mettre en œuvre. e a Exemples : f (t) = eλt

F (z) =
k=0

eλkTe z −k = 1 + eλTe z −1 + e2λTe z −2 + . . . =

1 1− eλTe z −1

=

z z − eλTe

f (t) = t
∞ ∞ ∞

F (z)

=
k=0

kTe z −k = Te
k=0 ∞

kz −k = zTe
k=0 ∞

kz −k−1

= −zTe
k=0

d d −k z = −zTe dz dz

z −k
k=0

1 zTe z −2 d = = −zTe dz 1 − z −1 (1 − z −1 )2 Te z = (z − 1)2

2.3.2

Par la th´orie des r´sidus e e

C’est la m´thode la plus ` mˆme de traiter tous les cas ! N´anmoins elle implique la connaissance de la th´orie e a e e e des r´sidus. Elle n’est donc donn´e qu’` titre informatif. e e a F (z) =
ξi

R´sidus e

F (ξ) 1 − eξTe z −1

ξ=ξi

o` les ξi sont les pˆles de la fonction de transfert F (p) u o Rappel : Th´orie des r´sidus. e e f (z)dz = 2jπ
Γ

Res

avec Res(a) = si le pˆle a est un pˆle simple d’ordre n o o 1 lim (n − 1)! z→a

dn−1 [(z − a)n f (z)] dz n−1

2.3.3

Par l’utilisation des tables

Ce sera la m´thode utilis´e dans le cadre de ce cours. Le plus souvent on poss`de la transform´e de Laplace e e e e du syst`me. On proc`de ` une d´composition en ´l´ments simples puis, ` l’aide du tableau A.1 donn´ en page e e a e ee a e 90, on obtient la transform´e en z. Notez que la connaissance des propri´t´s de la transform´e en z est souvent e ee e n´cessaire. e Rappel sur la d´composition en ´l´ments simples e ee On consid`re la fraction rationnelle r´elle : e e F = 4p3 + 1)(p + 1)3

(p2

La forme de sa d´composition en ´l´ments simples se d´duit de la valeur et de la multiplicit´ de ses pˆles. Il e ee e e o existe des r´els a, b, c, d, e, f et un polynˆme r´el E tels que : e o e

´ 2.3. CALCUL DE LA TRANSFORMEE EN Z 4p3 a c (dp + e) b =E+ + + + + 1)(p + 1)3 p + 1 (p + 1)2 (p + 1)3 (p2 + 1)

29

(p2

Il s’agit d´sormais de d´terminer la valeur de chaque coefficient ind´termin´. e e e e ˆ Le degr´ du num´rateur de F est strictement inf´rieur au degr´ de son d´nominateur, donc E = 0. e e e e e ˆ On multiplie de part et d’autre par (p + 1)3 et on fait p = −1 pour obtenir c = −2 . ˆ De mˆme, on multiplie de part et d’autre par (p2 + 1) et on fait p = ı pour obtenir d = 1 et e = −1. e ˆ On ´tudie ensuite la limite de limp→∞ pF (p) , ce qui donne a + d = 0 d’o` a = −1. e u ˆ Puis on calcule F (0) = 0 d’o` 0 = a + b + c + e et donc b = 4. u V´rification, calculer par exemple F (1) = 1/4 . e Transformation en z

1 − p+1 4 (p+1)2 2 − (p+1)3 p−1 (p2 +1)

−→ −→ −→ =

z − z−e−Te Te ze 4 (z−e−Te )2
−Te

????
p (p2 +1)

1 (p2 +1)

−→

z(z−cos Te ) z 2 −2z cos Te +1

z sin Te z 2 −2z cos Te +1

mais

1 Te ze−aTe −→ te−at −→ (z − e−aTe )2 (p + a)2 L 1 2 −at 1 t e = 2 (p + a)3 Z [tf (t)] = −Te z d F (z) dz

et

donc Z t × te−at = −Te z

T 2 e−aT z z + e−aT Te ze−aTe d = 3 dz (z − e−aTe )2 (z − e−aT ) Te ze−Te z +4 z − e−Te (z − e−Te )2
3

Z

4p3 (p2 + 1)(p + 1)3

= − + +

T 2 e−aT z z + e−aT (z − e−aT ) z(z − cos Te ) z sin Te − z 2 − 2z cos Te + 1 z 2 − 2z cos Te + 1

30

´ CHAPITRE 2. TRANSFORMEE EN Z

2.4

Transform´e inverse e

Il s’agit, le plus souvent de revenir ` l’original temporel, soit pour tracer la sortie d’un syst`me ´chantillonn´ a e e e soit pour retrouver l’´quation r´currente, d’un correcteur pour l’implanter dans le calculateur. e e

2.4.1

Th´orie des r´sidus e e

Celle-ci n’est donn´e ` titre informatif, elle ne sera jamais utilis´e dans le cadre de ce cours. C’est la m´thode e a e e la plus complexe ` appliquer ` la main, par contre elle est extrˆmement simple ` utiliser avec les logiciels de a a e a calcul symbolique tels que Maple ou Mathematica. C’est en outre la plus apte ` ”aller plus loin”. a f (kTe ) =
ξi

R´sidus z k−1 F (ξ) e

ξ=ξi

o` les ξi sont les pˆles de la fonction de transfert F (z) u o Exemple : F (z) = Il y a deux r´sidus en z = a et en z = 1. e Resz=1 Resz=a donc F (kTe ) = z 2 k−1 1 z = z→1 z − a 1−a z 2 k−1 ak+1 = lim z = z→a z − 1 a−1 = lim 1 ak+1 1 − ak+1 + = 1−a a−1 1−a z z z−az−1

2.4.2

Par division polynomiale

On ne cherche alors que les premiers ´chantillons de la r´ponse d’un syst`me ` une entr´e sp´cifi´e. e e e a e e e z Exemple : original de z−0.5 z −z 0 + + 0.5 0.5 −0.5 0 + + 0.25z −1 0.25z −1 z − 0.5 1 + 0.5z −1 + 0.25z −2 + · · · (2.14)

f (t) = δ(t) + 0.5δ(t − Te ) + 0.25δ(t − 2Te ) + · · · donc f (0) = 1, f (T e) = 0.5, f (2Te ) = 0.25, · · ·

´ 2.4. TRANSFORMEE INVERSE

31

2.4.3

Par l’utilisation des tables

M´thode : d´composer F (z) en ´l´ments simples e e ee z Puis ` l’aide du tableau A.1 donn´ en page 90 retrouver les originaux fi (t) a e ˆ D´velopper F (z) en ´l´ments simples, e ee z ˆ rechercher les racines du d´nominateur z1 , z2 , · · · , zn , e ˆ construire C1 C2 C3 Cn F (z) = + + + ··· + , z z − z1 z − z2 z − z3 z − zn
ˆ revenir ` a

F (z) =
ˆ Puis en utilisant

C1 z C2 z C3 z Cn z + + + ··· + . z − z1 z − z2 z − z3 z − zn Z −1 z = ak , z−a

ˆ on obtient :

k k k k f (kTe ) = C1 z1 + C2 z2 + C3 z3 + · · · + Cn zn .

Remarque : les zi peuvent ˆtre complexes, mais sont complexes conjugu´s deux ` deux. e e a

En r´sum´ e e

Fig. 2.3 – Ensemble des transformations.

32

´ CHAPITRE 2. TRANSFORMEE EN Z

2.5
2.5.1

Transmittances ´chantillonn´es e e
Notions de sch´ma bloc e

Rappels sur la r´duction des sch´mas-blocs e e

Fig. 2.4 – Op´rations fondamentales de r´duction des graphes. Le sch´ma de droite est ´quivalent ` celui de e e e e a gauche.

Pour aller plus loin :

Donner la fonction de transfert du syst`me d´crit ` la figure 2.5. e e a

ABDE+AGE Fig. 2.5 – Exercice : montrez que ce sch´ma se r´duit ` un bloc de transmittance : (1+ABC)(1+DEF ) . e e a

´ ´ 2.5. TRANSMITTANCES ECHANTILLONNEES

33

2.5.2

Transform´e en z d’un sch´ma bloc e e

La figure 2.6 d´crit une partie de sch´ma bloc en p, il s’agit alors de transformer ce sch´ma en un sch´ma bloc e e e e en z. La tentation est grande de transformer terme ` terme, mais c’est faux ! a

Fig. 2.6 – Il est impossible de transformer un graphe en p en un graphe en z par transformation des diff´rents e blocs !

G1 (p) → G1 (z) G2 (p) → G2 (z) G(p) = G1 (p)G2 (p) G(z) = G1 (z)G2 (z)

Pour que cela soit vrai il faut que le signal entre G1 et G2 soit un signal ´chantillonn´. e e Les deux exemples suivants illustreront ce probl`me. e

2.5.3

Transform´e d’un syst`me pr´c´d´ par un bloqueur d’ordre 0 e e e e e

Le bloqueur d’ordre 0 (en anglais ”Zero Order Hold”) est l’objet physique qui permet de passer d’un signal num´rique ´chantillonn´, qui ne contient que de l’information et seulement aux instants d’´chantillonnage, ` e e e e a un signal analogique continu par morceaux.

Fig. 2.7 – Signaux d’entr´e et de sortie d’un bloqueur d’ordre 0. e On cherche la transform´e en z du sch´ma bloc donn´ en figure 2.8. e e e

Fig. 2.8 – Transmittance continue pr´c´d´e d’un bloqueur d’ordre 0. e e e En premier lieu, il nous faut la transmittance en p du bloqueur d’ordre 0, ensuite nous verrons comment d´terminer la transform´e en z de l’ensemble. e e

34 Fonction de transfert d’un bloqueur d’ordre 0

´ CHAPITRE 2. TRANSFORMEE EN Z

Rappel : La transform´e de Laplace d’un syst`me est la transform´e de Laplace de sa r´ponse impulsionnelle. e e e e Si l’on soumet un bloqueur d’ordre 0 ` une impulsion, on obtient la sortie illustr´e en figure 2.9. a e

Fig. 2.9 – R´ponse impulsionnelle d’un bloqueur d’ordre 0. e

B0 (t) = U (t) − U (t − Te ) B0 (p) = U (p) − U (p)e−Te p B0 (p) = 1 − e−Te p p

Calcul de la transform´e d’un syst`me pr´c´d´ par un bloqueur d’ordre 0 e e e e e G(z) = Z L−1 [B0 (p)G(p)] Par souci de simplification d’´criture nous ´crirons : e e G(z) = Z [B0 (p)G(p)] donc 1 − e−Te p G(p) p G(p) e−Te p − G(p) p p

G(z)

= Z = Z

En appliquant la lin´arit´ de la transformation puis le th´or`me du retard, on obtient : e e e e G(z) G(p) e−Te p −Z G(p) p p G(p) = (1 − z −1 )Z p = Z

d’o` u G(z) = z−1 G(p) Z z p

Une table des transform´es usuelles de syst`mes pr´c´d´s d’un bloqueur d’ordre 0 est donn´e dans le tableau e e e e e e A.2 en page 91.

Pour aller plus loin :

V´rifier quelques lignes du tableau A.2 e

´ ´ 2.5. TRANSMITTANCES ECHANTILLONNEES

35

Fig. 2.10 – Syst`me boucl´ ´chantillonn´. e ee e

2.5.4

Transmittances ´chantillonn´es de syst`mes boucl´s e e e e

Le probl`me pos´ en figure 2.10 est qu’il n’y a pas d’´chantillonneur bloqueur entre la sortie s et la transmittance e e e H(p). Qu’` cela ne tienne, la transmittance en boucle ferm´e d’un syst`me s’´crit : a e e e BF = Ici BF (z) = C(z)Z [B0 (p)G(p)] 1 + C(z)Z [B0 (p)G(p)H(p)] chaˆ directe ıne 1 + chaˆ directe × chaˆ de retour ıne ıne

2.5.5

Avec Matlab

Matlab ne sait transformer qu’en utilisant une ”m´thode”, ici : faire pr´c´der le syst`me d’un bloqueur d’ordre 0. e e e e >> >> >> >> >> >> Te=1; sys=tf([1],[1 1 0] ) sysd=c2d(sys,Te, ’zoh’); present(sysd); sysc=d2c(sysd,’zoh’); present(sysdp); % % % % % % d´finition de la p´riode d’´chantillonnage e e e d´finition du syst`me continu e e transform´e en z avec BOZ e pr´sentation du r´sultat e e transform´e inverse avec BOZ e pr´sentation du r´sultat e e

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

36 Transfer function: -9.84e-016 s + 1 -------------------s^2 + s + 1.776e-015

´ CHAPITRE 2. TRANSFORMEE EN Z

Chapitre 3

Analyse des syst`mes e
Avant de faire une correction quelconque il faut analyser le syst`me. Dans ce chapitre nous aborderons le lien e entre les pˆles en p et les pˆles en z afin de comprendre comment le syst`me r´agit ` une entr´e de consigne o o e e a e et dans quelle mesure il est possible de transformer cette r´action. Deux points sont fondamentaux, la stabilit´ e e du syst`me et sa pr´cision. En effet on cherche toujours ` am´liorer ces deux points lorsque l’on asservit un e e a e syst`me. e Notez que ces analyses sont totalement ind´pendantes du fait que l’on parle d’un syst`me en boucle ouverte e e ou en boucle ferm´e. Hormis l’analyse de la stabilit´ par le crit`re de Nyquist (non abord´ dans ce cours) qui e e e e pr´dit la stabilit´ d’un syst`me boucl´ par un retour unitaire, l’ensemble des autres points s’appliquent sur une e e e e fonction de transfert, celle-ci repr´sentant soit un syst`me en boucle ouverte soit en boucle ferm´e. e e e

3.1

Stabilit´ e

D´finition 1 Un syst`me est dit stable si, ´cart´ de sa position de repos, celui-ci revient a cette position e e e e ` lorsque la cause qui l’en a ´cart´ cesse. e e D´finition 2 e Un syst`me est dit stable si sa r´ponse ` toute entr´e born´e est born´e. e e a e e e

Note : en appliquant ces d´finitions l’int´grateur pur n’est pas stable ! e e

Fig. 3.1 – Stabilit´ des syst`mes au sens de Lyapounov [12] : illustration de la stabilit´ d’une bille sur un profil. e e e

37

38

` CHAPITRE 3. ANALYSE DES SYSTEMES

3.1.1

Conditions de stabilit´ e

Nous avons vu au §2.4.3 qu’un signal F (z) de la forme : F (z) = C1 z C2 z C3 z Cn z + + + ··· + z − z1 z − z2 z − z3 z − zn

avait pour original f (kTe ) de la forme :
k k k k f (kTe ) = C1 z1 + C2 z2 + C3 z3 + · · · + Cn zn

les Ci et les zi ´tant complexes. e Pour que le syst`me soit stable, il faut alors que : e
k→∞

lim f (kTe ) = 0

donc que : |zi | < 1 En d’autres termes, pour qu’un syst`me soit stable, il faut et il suffit que les pˆles de la fonction de transfert e o soient de module inf´rieur ` 1. e a Par abus de langage, nous inclurons dans l’ensemble des syst`mes stables ceux ayant un ou plusieurs pˆles en e o 1. 1 Pour connaˆ ıtre la stabilit´ d’un syst`me il suffit alors de calculer le module des pˆles du syst`me. Ce calcul e e o e est le plus souvent fastidieux voire impossible. C’est pourquoi, il existe des crit`res de stabilit´ ne faisant pas e e directement le calcul des pˆles mais qui permettent de savoir s’ils sont, ou pas, de module inf´rieur ` 1. o e a

Fig. 3.2 – Zones o` les pˆles sont stables en p et en z. u o

3.1.2

Crit`re de Jury e
N (z) D(z)

Soit H(z) =

la fonction de transfert d’un syst`me ´chantillonn´. e e e D(z) = a0 + a0 z + a0 z 2 + . . . + a0 z n 0 1 2 n

On construit la matrice de dimensions (n − 1) × (n + 1) suivante :            a0 0 a1 0 a2 0 . . . an−2 0 a0 1 a1 1 a2 1 . . . an−2 1 a0 2 a1 2 a2 2 . . . an−2 2 ··· ··· ··· a0 n−1 a1 n−1 0 a0 n 

0

···

  0    0   .  .  .  0

dont les ´l´ments sont d´finis comme suit : ee e
1 Ceux-ci

sont marginalement stables.

´ 3.1. STABILITE          0 aj 0 aj n−j aj n−j−k aj k

39

aj+1 = k

pour 0 ≤ k ≤ n − j − 1 pour k > n − j − 1

Le polynˆme D(z) n’a aucun z´ro de module sup´rieur ` 1 si les n + 1 conditions suivantes sont respect´es : o e e a e 1. 2. 3.
n 0 i=0 ai = D(1) > 0 n (−1)n i=0 (−1)i a0 = i 0 0 a0 − an < 0

(−1)n D(−1) > 0

4. aj − aj 0 n−j > 0 pour j = 1, · · · , n − 2 Exemple : D(z) = a0 + a0 z + a0 z 2 + a0 z 3 0 1 2 3   1. 2. 3.
n 0 i=0 ai = D(1) > 0 n (−1)n i=0 (−1)i a0 = i 0 0 a0 − a3 < 0

a0 0 a1 0

a0 1 a1 1

a0 2 a1 2

a0 3 0

 

(−1)n D(−1) > 0

4. a1 − a1 > 0 0 2

D´terminer les conditions de stabilit´ du syst`me : e e e H(z) = 2z + 1 z 3 + 2z 2 + 4z + 7

3.1.3

Crit`re de Routh-Hurwitz appliqu´ sur la transform´e en w e e e

Transform´e en w La transform´e en w est une transformation homographique qui fait correspondre exace e tement l’int´rieur du cercle unit´ au demi plan gauche du plan complexe. e e w= z−1 z+1 z= 1+w 1−w

En appliquant la transform´e en w au syst`me, les racines en z de module inf´rieur ` 1 sont transform´es en e e e a e des racines ` partie r´elle n´gative, il suffit alors d’appliquer le crit`re de Routh-Hurwitz sur la transform´e en a e e e e w pour connaˆ le signe des racines du polynˆme consid´r´ et donc la stabilit´ du syst`me. ıtre o ee e e

40

` CHAPITRE 3. ANALYSE DES SYSTEMES

Fig. 3.3 – Illustration de la transform´e homographique w. e D´terminer les condition de stabilit´ du syst`me par l’application du crit`re de Routh sur la transe e e e form´e en w : e 2z + 1 H(z) = 3 z + 2z 2 + 4z + 7

3.1.4

Avec Matlab

Ou tout autre logiciel de calcul num´rique (Scilab, Octave...2 ) e >> P=[1 2 4 7]; >> abs(roots(P)) % d´finition du polyn^me e o % calcul du module (abs) des racine (roots) de P

Il suffit de regarder si les modules de toutes les racines sont inf´rieurs ` 1. e a

2 Logiciels

gratuits !

3.2. CORRESPONDANCE DES PLANS Z ET P

41

3.2

Correspondance des plans z et p

L’objectif est de d´terminer le type de comportement du syst`me ` la vue des pˆles du syst`me trac´s dans le e e a o e e plan complexe. Etudions le lien entre un pˆle simple en p et son transform´ par la transformation en z o e Pˆles simples o z 1 −→ p+a z − e−aTe Le pˆle en −a est transform´ en un pˆle en e−aTe o e o L’axe des r´els en p est transform´ en l’axe des r´els positifs en z. l’axe des r´els n´gatifs en z n’a pas de e e e e e correspondant en p.

Fig. 3.4 – Transformation des pˆles simples de p vers z. o

Pˆles complexes conjugu´s o e G(p) =
2 ωn 2 p2 +2ξωn p+ωn

−→

B0 G(z)

=

b1 z+b0 z 2 −2(e−ξωk Te ) cos(ωd Te )z+e−2ξωk Te

p1 , p1 o` ωd u

= =

−ξωn ± ıωd ωn 1 − ξ2

−→

z1 , z1

= e−ξωk Te cos(ωd Te ) ± = e−ξωk Te e±ıωd Te

e−2ξωk Te cos2 (ωd Te ) − e−2ξωk Te

= e−ξωk Te (cos(ωd Te ) ± ı sin(ωd Te )) (3.1)

Fig. 3.5 – Transformation des pˆles complexes conjugu´s de p vers z. o e

G´n´ralisation e e

Dans les deux cas nous avons bien la relation : Pˆle du syst`me continu o e pi −→ −→ Pˆle du syst`me ´chantillonn´ o e e e zi = eTe pi (3.2)

La figure 3.6 montre cette relation.

42

` CHAPITRE 3. ANALYSE DES SYSTEMES

Fig. 3.6 – Lieu des pˆles iso-amortissement. o

3.2.1

R´ponse impulsionnelle en fonction de la position des pˆles. e o

Fig. 3.7 – R´ponses impulsionnelles des pˆles en fonction de leur position. e o

Fig. 3.8 – Relation entre pˆles du syst`me continu et ceux du syst`me ´chantillonn´. o e e e e

3.3. LE LIEU D’EVANS

43

3.3
3.3.1

Le lieu d’Evans
D´finition e

Fig. 3.9 – Le lieu d’Evans : calcul des pˆles du syst`me en boucle ferm´e par un gain k . o e e Le lieu d’Evans est le lieu des pˆles de la fonction de transfert en boucle ferm´e lorsque le gain K varie de 0 ` o e a l’infini. Ce lieu est donc un moyen de choisir un gain K pour obtenir, en boucle ferm´e, des performances pr´-sp´cifi´es. e e e e La construction du lieu est assez complexe et fait appel ` 8 r`gles que vous trouverez dans [3]. La synth`se a e e de correcteurs ` l’aide de cette m´thode est parfaitement possible mais demande un peu d’exp´rience pour le a e e choix des pˆles et des z´ros du correcteur. N´anmoins avec une m´thode de type ”try and error” on arrive ` o e e e a de bons r´sultats. e Exemple de code Matlab
>> sysd=zpk([],[0.1 0.9], 1, 1) %p´riode d’´chantillonnage = 1s e e >> rlocus(sysd); >> zgrid

3.3.2

Exemples
Tab. 3.1 – Exemple 1

G(z) =

1 (z−0.1)(z−0.9)

ˆ lorsque k est tr`s faible les pˆles en e o BF sont proches de ceux en BO ˆ lorsque k augmente, le syst`me e ”acc´l`re”, les pˆles se rapprochent et ee o deviennent complexes conjugu´s e ˆ lorsque k d´passe la valeur de 0.9, les e pˆles ont un module > 1, le syst`me o e est instable

44

` CHAPITRE 3. ANALYSE DES SYSTEMES Tab. 3.2 – Exemple 2

G(z) =

z−0.5 (z−0.1)(z−0.9)

ˆ lorsque k est tr`s faible les pˆles en e o BF sont proches de ceux en BO ˆ lorsque k augmente, le pˆle en 0.9 o tend vers le z´ro en 0.5, l’autre pˆle e o tend vers −∞ ˆ la limite de stabilit´ est obtenue pour e k = 1.39

Tab. 3.3 – Exemple 3

G(z) =

z+0.5 (z−0.1)(z−0.9)

ˆ lorsque k est tr`s faible les pˆles en e o BF sont proches de ceux en BO ˆ lorsque k augmente, les pˆles se rapo prochent l’un de l’autre, puis deviennent complexes conjugu´s e ˆ lorsque k est tr`s grand l’un des pˆles e o tend vers le z´ro, l’autre vers −∞ e

3.3. LE LIEU D’EVANS Tab. 3.4 – Exemple 4

45

G(z) =

(z+0.7)(z+0.2) (z−0.1)(z−0.9)

ˆ lorsque k est tr`s faible les pˆles en e o BF sont proches de ceux en BO ˆ lorsque k augmente, les pˆles se rapo prochent l’un de l’autre, puis deviennent complexes conjugu´s e ˆ lorsque k est tr`s grand les pˆles en e o BF tendent vers les z´ros en BO. e

Tab. 3.5 – Exemple 5

G(z) =

(z+0.7)(z+0.2) (z−0.1)(z−0.5)(z−0.9)

ˆ On retrouve les mˆmes tendances que e pour les exemples pr´c´dents e e ˆ les pˆles se rapprochent l’un de l’autre o avant de devenir complexes conjugu´s e ˆ lorsque k est tr`s grand les pˆles en e o BF tendent vers les z´ros en BO ou e vers l’infini.

46

` CHAPITRE 3. ANALYSE DES SYSTEMES

3.4

Pr´cision des syst`mes ´chantillonn´s e e e e

Fig. 3.10 – Sch´ma g´n´ral pour l’´tude de la pr´cision des syst`mes. e e e e e e On consid`re le sch´ma pr´sent´ en figure 3.10. Calculons l’erreur statique du syst`me pour une entr´e w(z) en e e e e e e ´chelon et une perturbation p(z) nulle. e

3.4.1

Erreur vis-`-vis de la consigne a

L’erreur est :

ε(z) ε(z) [1 + C(z)G(z)]

= W (z) − S(z) = W (z) − ε(z)C(z)G(z) = W (z)

W (z) ε(z) = 1 + C(z)G(z) Calculons maintenant la limite de ε(kTe ) lorsque k → ∞ lim ε (t) = lim ε(kTe ) = lim (1 − z −1 )ε(z) = lim (1 − z −1 )
k→∞ z→1 z→1

t→∞

W (z) 1 + C(z)G(z)

Avec une entr´e en ´chelon unit´ e e e W (z) = on obtient : lim ε(kTe ) = lim (1 − z −1 )

z z−1

z 1 1 = lim z→1 k→∞ z − 1 1 + C(z)G(z) z→1 1 + C(z)G(z) l’objectif ´tant d’avoir une erreur statique nulle, il faut que e
k→∞

lim ε(kTe ) = 0

et par cons´quent que : e 1 =0 z→1 1 + C(z)G(z) Supposons maintenant que C(z) ou G(z) poss`de un int´grateur pur. La transmittance en boucle ouverte peut e e s’´crire : e lim C(z)G(z) = donc lim 1 = lim 1 + C(z)G(z) z→1 1 + 1
N (z) (z−1)D (z)

N (z) N (z) = D(z) (z − 1)D (z) (z − 1)D (z) =0 (z − 1)D (z) + N (z)

z→1

= lim

z→1

Conclusion : pour qu’un syst`me pr´sente une erreur statique nulle pour une entr´e en ´chelon, il faut que e e e e la transmittance en boucle ouverte pr´sente au moins un int´grateur pur. e e

´ ` ´ ´ 3.4. PRECISION DES SYSTEMES ECHANTILLONNES

47

3.4.2

Erreur vis-`-vis de la perturbation a

Supposons cette fois que l’entr´e W (z) est nulle et que la perturbation P (z) est un ´chelon unit´. e e e L’erreur est :

ε(z) ε(z)(1 + C(z)G(z))

= W (z) − S(z) = 0 − (P (z)G(z) + ε(z)C(z)G(z)) = −P (z)G(z) z −G(z) −G(z) = lim z − 1 1 + C(z)G(z) z→1 1 + C(z)G(z)

k→∞

lim ε(kTe ) = lim (1 − z −1 )
z→1

Supposons que le syst`me en boucle ouverte poss`de un seul int´grateur pur et ´tudions les deux cas suivants e e e e ˆ Cas 1 : l’int´grateur pur est dans C(z). e ˆ Cas 2 : l’int´grateur pur est dans G(z). e Dans les deux cas : lim ε(kTe ) = lim
N − DG (z) G (z)

k→∞

z→1

1+

NC (z) NG (z) DC (z) DG (z)

= lim

z→1

−NG (z)DC (z) DC (z)DG (z) + NC (z)NG (z)

Cas 1 : l’ int´grateur pur est dans C(z). e C(z) = −NC (z) (z − 1)DC (z)

Cas 2 : l’int´grateur pur est dans G(z). e G(z) = −NG (z) (z − 1)DG (z)

k→∞

lim ε(kTe ) = lim

k→∞

lim ε(kTe ) =

z→1

lim

−NG (z)(z − 1)DC (z) (z − 1)DC (z)DG (z) + NC (z)NG (z)
k→∞

z→1

−NG (z)DC (z) DC (z)(z − 1)DG (z) + NC (z)NG (z) −NG (z)DC (z) =0 z→1 NC (z)NG (z)

lim ε(kTe ) = 0

k→∞

lim ε(kTe ) = lim

Conclusion : pour qu’un syst`me pr´sente une erreur statique nulle pour une perturbation en ´chelon, il e e e faut au moins un int´grateur pur en amont de la perturbation. e

3.4.3

Extension du raisonnement ` tous types d’entr´es a e

Calcul de l’erreur vis-`-vis de la consigne, le syst`me ´tant soumis ` une entr´e canonique quelconque de la a e e a e forme w(t) = tm donc : W (z) = A(z) (z − 1)m+1

o` A(z) est un polynˆme en z n’ayant pas (z − 1) en facteur. u o La transmittance en boucle ouverte peut s’´crire : e CG(z) = kN (z) (z − 1)n D(z)

avec k le gain statique du syst`me et N (z) et D(z) moniques3 . e
3 Dont

le coefficient de plus haut degr´ est 1. e

48 L’expression de l’erreur est alors : lim ε(kTe ) = lim (1 − z −1 )
z→1

` CHAPITRE 3. ANALYSE DES SYSTEMES

k→∞

1 A(z) A(z) = lim (1 − z −1 ) m+1 1 + CG(z) z→1 (z − 1) (z − 1)m+1 1 +

1
kN (z) (z−1)n D(z)

soit :
k→∞

lim ε(kTe ) = lim

(z − 1)n D(z) A(z)D(z) A(z) 1 (z − 1)n z−1 lim m+1 (z − 1)n D(z) + kN (z) z→1 z (z − 1)m (z − 1)n D(z) + kN (z) z→1 z (z − 1)

Les valeurs de limk→∞ ε(kTe ) sont r´sum´es dans le tableau 3.6. e e Tab. 3.6 – Erreur permanente en fonction de l’entr´e et de la classe du syst`me en l’absence d’entr´e de e e e perturbation.5

classe du syst`me e = nb d’int´grateurs purs e 0 1 2 3 . . .

´chelon e

rampe

parabole

··· ···

m=0
1 1+k

m=1 ∞
Te k

m=2 ∞ ∞
Te k

··· ··· ··· .. . .. . .. .

0 0 0 . . .

0 0 . . .

0 . . .

Pour aller plus loin :

Quelle est l’erreur permanente du syst`me 3.11 dans les conditions d´crites ? e e

Fig. 3.11 – Syst`me soumis ` une entr´e en rampe et une perturbation en ´chelon. e a e e

5 C’est

le polynˆme A(z) qui fait apparaˆ o ıtre le terme Te .

´ ` ´ ´ 3.4. PRECISION DES SYSTEMES ECHANTILLONNES

49

3.4.4

Cycle limite

Les r´sultats obtenus pr´c´demment ne tiennent pas compte de la quantification du signal. Cette quantification e e e provoque une non lin´arit´ d´stabilisante et par cons´quent, un petite oscillation autour de la valeur finale e e e e comme illustr´ en figure 3.12. La pr´cision est alors fonction du pas de quantification. e e

Fig. 3.12 – Cycle limite dˆ ` la quantification du signal. ua Dans le cas de syst`mes instables en boucle ouverte, le cycle limite, v´ritable oscillation entretenue est in´vitable. e e e Par contre l’amplitude de cette oscillation est contrˆlable par le choix du pas de quantification. o

50

` CHAPITRE 3. ANALYSE DES SYSTEMES

Chapitre 4

Transposition des correcteurs analogiques
Il est, a priori, dommage de synth´tiser un correcteur analogique puis de le convertir en correcteur num´rique. e e Les m´thodes de synth`ses num´riques abondent et donnent de meilleurs r´sultats en termes de performances e e e e (robustesse, pr´cision, rejet de perturbation). N´anmoins dans le cas o` le correcteur analogique est d´j` e e u ea synth´tis´ et qu’il ne s’agit que de le transposer en num´rique, la transform´e bilin´aire donn´e ci-apr`s se e e e e e e e r´v`le fort utile 1 . e e Par ailleurs, cette m´thode de synth`se de correcteurs num´riques coupl´e ` une m´thode de synth`se type e e e e a e e Ziegler-Nichols permet de synth´tiser en quelques minutes un correcteur pour un syst`me dont on ignore tout e e ou presque et qui plus est, pratiquement sans comprendre l’automatique !

4.1

Les diff´rentes approximations de la d´riv´e e e e

Fig. 4.1 – Principe de calcul de la d´riv´e par diff´rences finies : diff´rences vers l’avant et vers l’arri`re. e e e e e En introduisant l’op´rateur retard q. e

4.1.1

Diff´rences vers l’arri`re e e
dx dt x(t) − x(t − Te ) 1 − q −1 q−1 = x(t) = x(t) Te Te qTe z−1 zTe 1 1 − Te p Int´gration : e 1 Te z −→ p z−1

D´rivation : p −→ e Cela correspond ` l’approximation : a

z = e Te p

=⇒ p

z−1 zTe

1 La synth`se de correcteur analogiques sort du cadre de ce cours, reportez vous au poly d’automatique lin´aire continue de B. e e Lang

51

52

CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

Fig. 4.2 – Transform´e du domaine de stabilit´ en p. e e Un syst`me continu instable peut ˆtre transform´ en e e e un syst`me discret stable. e Calcul num´rique de l’int´grale : e e
t n

Fig. 4.3 – M´thode des rectangles : approximation e par exc`s. e

I=
0

x(τ )dτ
k=1

x(kTe )Te

in = in−1 + Te xn

4.1.2

Diff´rences vers l’avant e
dx dt D´rivation : p −→ e x(t + Te ) − x(t) q−1 = x(t) Te Te z−1 Te Int´gration : e Te 1 −→ p z−1

Cela correspond ` l’approximation : a z = eTe p 1 + Te p =⇒ p z−1 Te

Fig. 4.4 – Transform´e du domaine de stabilit´ en p. e e Un syst`me continu stable peut ˆtre transform´ en un e e e syst`me discret instable. e Calcul num´rique de l’int´grale : e e
t n−1

Fig. 4.5 – M´thode des rectangles : approximation e par d´faut. e

I=
0

x(τ )dτ
k=0

x(kTe )Te

in = in−1 + Te xn−1

´ ´ ´ 4.1. LES DIFFERENTES APPROXIMATIONS DE LA DERIVEE

53

4.1.3

Transformation bilin´aire e
1 d x(t + T e) d x(t) + 2 dt dt x(t + Te ) − x(t) Te dx dt D´rivation : p −→ e 2 z−1 Te z + 1 dx(t) dt q+1 2 q−1 x(t) Te

La d´riv´e num´rique est proche de la moyenne des d´riv´es au point consid´r´ et au point pr´c´dent. e e e e e e e e e ⇒

2 q−1 x(t) Te q + 1 Int´gration : e 1 Te z + 1 −→ p 2 z−1

Cela correspond ` l’approximation : a z = e Te p e e
Te p 2

1+ 1−

− Te p 2

Te p 2 Te p 2

2 + Te p 2 − Te p

Fig. 4.6 – Transform´e du domaine de stabilit´ en p. e e Les deux r´gions se correspondent rigoureusement. e Calcul num´rique de l’int´grale : e e
t n

Fig. 4.7 – M´thode des trap`zes. e e

I=
0

x(τ )dτ
k=1

x((k − 1)Te ) + x(kTe ) Te 2

in = in−1 +

Te (xn−1 + xn ) 2

Remarque : La transformation bilin´aire introduit une distorsion des fr´quences. Cette distorsion peut ˆtre e e e compens´e ` une pulsation donn´e ω1 par l’utilisation de e a e D´rivation : p −→ e ω1 z−1 tan(ω1 Te /2) z + 1

4.1.4

Avec Matlab

Seule la transform´e bilin´aire est directement implant´e, les diff´rences avant et arri`re ne le sont pas ! e e e e e >> >> >> >> >> >> >> >> >> >> Te=1; sys=tf([1],[1 1 1] ) % d´finition du syst`me continu e e sysd=c2d(sys,Te, ’tustin’); % transform´e en z par transform´e bilin´aire e e e present(sysd); % pr´sentation du r´sultat e e sysdp=c2d(sys,Te, ’prewarp’, 2); % transform´e bilin´aire avec pr´compens´e (f1=2rad/s) e e e e present(sysdp); % pr´sentation du r´sultat e e sysdb=c2d(sys,Te, ’zoh’); % transform´e avec BOZ e present(sysdb); % pr´sentation du r´sultat e e 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 – Ph´nom`ne de distorsion de la transformation bilin´aire. e e e

Fig. 4.9 – Comparaison des transform´es en z d’un point de vue fr´quentiel. e e Syst`me original analogique e .......... Transform´e avec BOZ e − − − Transform´e bilin´aire e e + + + Transform´e bilin´aire avec pr´compensation (en f = 2 rad/s.) e e e

4.2. PID ANALOGIQUE

55

4.2

PID analogique

Tous les correcteurs analogiques sont transformables en correcteurs num´riques, le plus connu d’entre eux ´tant e e le PID. De nombreuses m´thodes permettent de calculer les coefficients du correcteur PID ` partir d’un mod`le e a e du syst`me. Cependant, dans la plupart des cas, un tel mod`le d’existe pas. On proc`de alors des choix de e e e param`tres calcul´s ` partir d’essais effectu´s sur le syst`me. e e a e e

4.2.1

R´glages de Ziegler-Nichols e
C(p) = K 1 + 1 + Td p Ti p

Le correcteur PID s’´crit : e

Tab. 4.1 – Coefficients d’un PID r´gl´ par les m´thodes de Ziegler-Nichols et Chien-Hrones-Reswick : essai e e e indiciel et m´thode du pompage. e

M´thode de pompage e Boucle ferm´e e Syst`mes stables ou instables e en boucle ouverte

M´thodes ap´riodiques e e Boucle ouverte Syst`mes stables, instables e ou int´grateurs e

Ziegler-Nichols R´gulation ou e Poursuite P P.I K = 0.5Kosc K = 0.45Kosc Ti = 0.83Tosc P.I.D K = 0.6Kosc Ti = 0.5Tosc Td = 0.125Tosc

Ziegler-Nichols R´gulation ou e Poursuite K=
1 aτ

Chien-Hrones-Reswick

R´gulation e 1 K = 0.3 aτ
1 K = 0.6 aτ

Poursuite 1 K = 0.3 aτ
1 K = 0.35 aτ

1 K = 0.9 aτ

Ti = 3.3τ
1 K = 1.2 aτ

Ti = 4τ
1 K = 0.95 aτ

Ti = 1.2T ou 10τ
1 K = 0.6 aτ

1

Ti = 2τ Td = 0.5τ

Ti = 2.4τ Td = 0.42τ

Ti = T ou 6τ Td = 0.5τ

1

1 Si

le syst`me ` un comportement de type int´grateur pur. e a e

56

CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

Il faut ensuite transformer le correcteur analogique C(p) en un correcteur num´rique par l’une des m´thodes e e de transformation vues pr´c´demment (§4.1 ou §2.5.3). e e La transform´e bilin´aire est la plus utilis´e et donne de bons r´sultats ` condition de choisir une p´riode e e e e a e d’´chantillonnage proche du ”quasi-continu”, c’est-`-dire les limites basses des valeurs commun´ment admises e a e (voir fig. 1.30). Le tableau 4.1 n’est qu’un bref aper¸u de l’ensemble des r´glages d´velopp´s par divers auteurs et qui s’adaptent c e e e a ` une majorit´ de syst`mes. Pour des syst`mes plus particuliers ou des r´glages plus fins tenant compte des e e e e caract´ristiques de votre syst`me, voyez les r´f´rences [13] ou [14] qui proposent plus de 200 r´glages ! e e ee e

4.2.2

P, PI, ou PID ?

Le choix est toujours un peu ambigu¨. Le principe de choix commun´ment admis, qui s’applique d’ailleurs ` e e a tous les choix de r´gulateur et correcteurs, est le principe du minimum : si un correcteur P donne les r´sultats e e escompt´s, on ne met pas un PI, moins encore un PID ! Les tableaux 4.2 et 4.3 donnent un crit`re de choix en e e fonction de la r´ponse temporelle du syst`me ` un ´chelon d’entr´e. e e a e e Notez la proposition de correcteur de type ”tout ou rien”, qui fonctionne bien dans les cas ou la pr´cision e requise est faible ou que le syst`me supporte bien les fortes variations de commande. Si le syst`me est en limite e e de r´glabilit´ par un PID, il faudra alors revoir la conception de la commande soit par des boucles imbriqu´es, e e e soit synth´tiser un correcteur num´rique fond´ sur d’autres approches. e e e Dernier point, mais non le moindre, sachez que les r´glages de PID propos´s, Ziegler-Nichols (voir page 55) e e ou Takahashi (voir page 58) sont avant tout des r´glages de r´gulation et non pas d’asservissement. En e e d’autres termes, ces r´glages sont choisis lorsque l’objectif principal est d’asservir une grandeur ` une consigne e a constante et d’ˆtre insensible aux perturbations. e Tab. 4.2 – choix d’une m´thode de correction en fonction de l’indice de r´glabilit´ e e e R´glabilit´ T /τ e e R´gulateur e > 20 Tout ou rien 10 ` 20 a P 5 ` 10 a PI 2`5 a PID <2 limite du PID1

Tab. 4.3 – choix d’une m´thode de correction en fonction de l’indice de r´glabilit´ : cas des syst`mes instables e e e e R´glabilit´ a.τ e e R´gulateur e 0.05 < aτ Tout ou rien 0.05 < aτ < 0.1 P 0.1 < aτ < 0.2 PI 0.2 < aτ < 0.5 PID aτ > 0.5 limite du PID1

1 voir

§4.4.2 page 60

´ 4.3. LE PID NUMERIQUE

57

4.3

Le PID num´rique e
 1 u(t) = kp ε(t) + Ti
0 t

En continu, la sortie d’un PID s’´crit : e  dε  ε(τ )dτ + Td dt

L’´quivalent en num´rique s’´crit alors : e e e  Te uk = kp εk + Ti  (εk − εk−1 )  εj + Td Te j=0
k

uk+1 − uk = kp εk+1 − εk +

Te (εk+1 − 2εk + εk−1 ) εk+1 + Td Ti Te Te (z − 2 + z −1 ) z + Td Ti Te

(z − 1)U (z) = kp z − 1 + d’o` la transmittance du PID num´rique u e

ε(z)

z kd z − 1 U (z) ε(z) = kp + ki Te z − 1 + Te z Ce correcteur reste ”p´dagogique”, dans une application industrielle on pr´f´rera les formes suivantes : e ee Application industrielles des correcteurs PID 1. L’action d´riv´e id´ale provoque une forte augmentation du bruit hautes fr´quences, on utilise en pratique e e e e une d´riv´e filtr´e. Ceci conduit en discret au r´gulateur PID filtr´ : e e e e e U (z) z kd z − 1 ε(z) = kp + ki Te z − 1 + Te z − α Le choix de α est classiquement de 0.1 2. Lors d’un changement de consigne de type ´chelon, la d´riv´e du signal d’erreur entre la consigne et la e e e sortie est tr`s grande (pratiquement une d´riv´e d’´chelon soit un Dirac). La commande PID sur l’´cart va e e e e e engendrer une commande proportionnelle ` la variation de l’erreur via le module d´rivateur. L’amplitude a e de cette commande risque d’ˆtre inadmissible en pratique. Une solution pour limiter ce ph´nom`ne est e e e d’appliquer l’action d´riv´e seulement sur la sortie du proc´d´ d’o` le PID avec la d´riv´e sur la mesure e e e e u e e seule : U (z) = kp ε(z) + ki Te z k z−1 ε(z) − Td z − α Y (z) z−1 e

3. Mˆme remarque que pr´c´demment mais cette fois sur la partie proportionnelle d’o` le PID avec l’action e e e u proportionnelle et d´riv´e sur la mesure seule : e e U (z) = ki Te z k z−1 ε(z) − kp + Td z − α Y (z) z−1 e

Cette derni`re solution est bien entendu la meilleure. e

58

CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

4.3.1

R´glages de Takahashi pour un r´gulateur PID num´rique filtr´ e e e e

La forme du PID utilis´ est : e U (z) U (z) = =
z ki Te z−1 ε(z) − kp + kd z−1 Te z

Y (z)

PI ou PID P

kp ε(z)

dont les ´quations r´currentes sont : e e uk uk
c = uk−1 + ki Te (yk − yk ) − kp (yk−1 − yk ) − kd Te

(yk − 2yk−1 + yk−2 )

PI ou PID P

=

c kp (yk − yk )

Comme pour la m´thode de Ziegler-Nichols, il faut alors soumettre le syst`me ` l’un des deux essais : e e a ˆ un essai indiciel qui donne les valeurs de τ et a, ˆ un essai en boucle ferm´e avec un gain K : on augmente K jusqu’` Kosc valeur du gain pour laquelle e a on obtient une oscillation entretenue de p´riode Tosc . e Tab. 4.4 – R´glages de Takahashi pour un r´gulateur PID num´rique filtr´. e e e e M´thode de pompage e Boucle ferm´e e Syst`mes stables ou instables e en boucle ouverte M´thodes ap´riodiques e e Boucle ouverte Syst`mes stables, instables e ou int´grateurs e

P P.I kp ki

kp = 0.5Kosc = = = = = 0.45Kosc − 0.5ki Te
osc 0.54 Kosc T

kp = kp ki kp ki kd = = = = =

1 a(τ +Te ) 0.9 a(τ +0.5Te ) 0.27 a(τ +0.5Te )2 1.2 a(τ +Te )

− 0.5ki Te

kp P.I.D ki kd

0.6Kosc − 0.5ki Te
osc 1.2 Kosc T

− 0.5ki Te

0.6 a(τ +0.5Te )2 0.5 a

3 40 Kosc Tosc

Ces r´glages sont en fait les coefficients qui minimisent l’erreur e

k≥0

|εk |

4.4. MISE EN ŒUVRE D’UN ASSERVISSEMENT

59

4.4
4.4.1

Mise en œuvre d’un asservissement
Anti windup

Apr`s application du correcteur pr´c´dent, la premi`re imperfection qui apparaˆ est due aux non lin´arit´s du e e e e ıt e e syst`me et en particulier les saturations de l’organe de commande (amplificateur, vanne, ...). e En particulier lorsque l’erreur est importante (d´marrage par exemple), l’int´grateur int`gre une erreur grande e e e et donc sa sortie est tr`s grande. Lorsque le syst`me arrive ` la valeur de consigne, l’int´grateur est encore e e a e ”plein” et donc le syst`me d´passe largement cette valeur de consigne. e e

Fig. 4.10 – Effet de l’absence de saturation sur le terme int´gral. e Pour ´viter ce ph´nom`ne deux m´thodes sont de loin les plus utilis´es, souvent simultan´ment : e e e e e e ˆ la mise en place d’un g´n´rateur de trajectoire (ex : bras de robot), afin que le syst`me ne quitte pas e e e son domaine de lin´arit´. e e

ˆ la mise en place d’un anti-windup qui limite la valeur stock´e dans l’int´grateur pur au maximum de e e commande admissible par le syst`me. e

Fig. 4.11 – PID classique avec anti-windup.

60

CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

4.4.2

Pr´dicteur de Smith e

Dans le cas de syst`mes tr`s retard´s, ce qui arrive souvent dans les applications industrielles, les m´thodes e e e e pr´c´dentes ne fonctionnent pas bien. En fait un r´glage classique de PID conduit ` un syst`me plus lent en e e e a e boucle ferm´e qu’en boucle ouverte si le retard pur d´passe la moiti´ de la constante de temps dominante. e e e Soit G(z) un syst`me tr`s retard´ de la forme. e e e G(z) = G1 (z)z −k Le principe de synth`se est le suivant : on synth´tise un correcteur C1 (z) pour le syst`me non retard´ G1 (z) e e e e puis on adapte ce correcteur pour le syst`me r´el G(z). e e

Fig. 4.12 – Sch´ma id´al de correction de syst`mes tr`s retard´s. Utopique car le retard pur n’est pas dissociable e e e e e du reste de la transmittance du syst`me. e Bien que totalement irr´alisable en l’´tat car le retard pur n’est pas dissociable du reste de la transmittance e e du syst`me, calculons tout de mˆme la fonction de transfert du syst`me pr´sent´ en figure 4.12. e e e e e F (z) = C1 (z) G1 (z) −k z 1 + C1 (z) G1 (z)

En introduisant la transmittance G(z), on obtient : F (z) F (z) F (z) qui est de la forme : F (z) = En posant : C(z) = C1 (z) 1 + (1 − z −k )G1 (z)C1 (z) C(z)G(z) 1 + C(z)G(z) = = = 1 C1 (z) G(z) 1 + C1 (z) G1 (z) − C1 (z)G(z) + C1 (z)G(z) C1 (z) G(z) 1 + C1 (z) G1 (z)(1 − z −k ) + C1 (z)G(z)
C1 (z) G(z) 1+(1−z −k )G1 (z)C1 (z) C + 1+(1−z−k1 (z)(z)C1 (z) G(z) )G1

C(z) est un correcteur est parfaitement r´alisable : voir sch´ma 4.13. e e Calcul de la boucle de retour du pr´dicteur de Smith avec Matlab e
>> sysc=tf([1],[1 4 3 0]); >> sysd=c2d(sysc, 0.1, ’zoh’); % saisie de la fonction de transfert en p % transform´e en z avec un BOZ et Te = 0.1 e % 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 transform´e du syst`me sans retard par (1-z^-n) e e >> [nu, de]=tfdata(corr,’v’) % r´cup´ration du num´rateur et du d´nominateur e e e e

Note : la mise en œuvre d’un pr´dicteur de Smith implique de poss´der un tr`s bon mod`le du syst`me. Les e e e e e syst`mes pr´sentant des variations de param`tres ne peuvent pas ˆtre corrig´s par ce type de correcteur. e e e e e

4.4. MISE EN ŒUVRE D’UN ASSERVISSEMENT

61

Fig. 4.13 – Sch´ma d’un pr´dicteur de Smith. e e

Fig. 4.14 – Performances d’un pr´dicteur de Smith. e

62

CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

4.4.3

Algorithme

Le cadencement d’une routine d’asservissement est donn´ en figure 4.15. Lors de la r´alisation du logiciel de e e commande, deux points sont importants : ˆ La minimisation du temps entre ´chantillonnage des capteurs et sortie des commandes. En effet, toute e la th´orie de la commande ´chantillonn´e suppose que ce temps est nul ! e e e ˆ La minimisation des variations de p´riode d’´chantillonnage. L` encore, Te est suppos´ constant. e e a e

Fig. 4.15 – Cadencement d’une routine de r´gulation. e Le cas A de la figure 4.16 est presque id´al. Le cas B est le cas limite, le retard pur introduit par le temps de e calcul est de Te /2. Si le temps de calcul est vraiment trop important, il vaut mieux attendre le coup d’horloge suivant pour envoyer la commande. Bien entendu ce cas introduit un retard pur dans le syst`me qui doit ˆtre e e pris en compte au moment de la synth`se (cas C). Un peu d’astuce permet presque toujours de se ramener au e cas D o` tout ce qui peut ˆtre pr´-calcul´ pour la commande suivante l’est juste apr`s la sortie de la commande u e e e e en cours.

Fig. 4.16 – R´partition du temps de calcul. e

4.4. MISE EN ŒUVRE D’UN ASSERVISSEMENT

63

Fonction interruption PID( : void) : void result : void /* Mesure de la sortie */ yn ← CAN ;

/* Calcul de l’erreur */ εn ← wn − yn ; /* Calcul des termes du PID */ pn ← Kp εn ; dn ← Kd (εn − εn−1 ) ; in ← in−1 + Ki εn ; /* Calcul de la commande */ vn ← pn + dn + in ; /* Mod`le de l’actionneur */ e Si (vn ≤ Uinf ) Alors un ← Uinf ; /* Commande r´elle = saturation basse */ e Sinon Si (vn ≥ Usup ) Alors un ← Usup ; /* Commande r´elle = saturation haute */ e Sinon un ← vn ; /* Commande r´elle = commande PID */ e Fin Si Fin Si /* Sortie de la commande */ CNA ← un ; /* D´saturation du terme int´gral */ e e in ← in + un − vn ; /* Mise ` jour des variables */ a εn−1 ← εn ; in−1 ← in ; Fin

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

64

CHAPITRE 4. TRANSPOSITION DES CORRECTEURS ANALOGIQUES

Chapitre 5

Synth`ses ` temps d’´tablissement fini e a e
5.1
5.1.1

Synth`se en z de correcteurs e
Exemple idiot... mais riche d’enseignements
(z − 2)(z − 0.5) (z + 0.7)(z − 0.8)(z − 1)

Soit ` corriger un syst`me G(z) : a e G(z) =

On se propose de cr´er un correcteur parfait, c’est-`-dire, la compensation parfaite du syst`me par le correcteur e a e C(z) soit : (z + 0.7)(z − 0.8)(z − 1) 1 = C(z) = G(z) (z − 2)(z − 0.5) Le syst`me corrig´ en boucle ouverte devient donc : e e C(z) G(z) = 1 G(z) = 1 G(z)

C’est bien un syst`me parfait, il est mˆme inutile de boucler ! Bien entendu cela ne peut pas fonctionner et ce e e pour deux raisons. Stabilit´ e C(z) =

S(z) (z + 0.7)(z − 0.8)(z − 1) = E(z) (z − 2)(z − 0.5)

Inutile de se lancer dans une ´tude, le correcteur C(z) est ostensiblement instable ` cause du pˆle en 2, donc e a o ext´rieur au cercle unit´. e e Causalit´ Etudions l’´quation r´currente de ce correcteur : e e e C(z) = 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 ` l’original : a 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 S(z) (z + 0.7)(z − 0.8)(z − 1) = E(z) (z − 2)(z − 0.5)

66

` ` ´ CHAPITRE 5. SYNTHESES A TEMPS D’ETABLISSEMENT FINI

s(k) est une fonction de la commande ` l’instant suivant e(k + 1) ! Ce correcteur n’est pas causal, il est donc a impossible ` r´aliser. a e Les synth`ses de correcteurs num´riques conduisent souvent ` des correcteurs non causaux et/ ou instables, il e e a faut donc syst´matiquement v´rifier : e e ˆ la causalit´ e ˆ la stabilit´ e La m´thode pr´c´dente ayant ´chou´, on se propose de r´aliser un autre correcteur pratiquement aussi ”id´al” e e e e e e e que le pr´c´dent mais utilisant le bouclage. e e F (z) = C(z)G(z) 1 + C(z)G(z)

Fig. 5.1 – Syst`me boucl´. e e

Premi`re tentative : e F (z) = 1 ⇒

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

⇒ ....1 = 0 C’est encore impossible !

Deuxi`me tentative : La perfection ´tant impossible ` atteindre, essayons de d´terminer un correcteur qui e e a e rendrait le syst`me corrig´ ´quivalent ` un retard pur. La sortie suivrait parfaitement l’entr´e mais d´cal´e e e e a e e e d’une p´riode d’´chantillonnage. e e On r´sout donc : e C(z)G(z) F (z) = = z −1 1 + C(z)G(z) C(z) = Application num´rique : e C(z) = 0.04 causalit´ : oui e stabilit´ : non (pˆles en 0.5 et 2 !) e o Le r´sultat de cette correction est pr´sent´ en figure 5.2. Comme pr´vu le syst`me est bien instable, mais e e e e e observez que la r´ponse continue du syst`me passe bien par 1 aux instants d’´chantillonnage ! e e e Essayons de formaliser un peu plus cette approche ` l’aide des synth`ses ` temps d’´tablissement fini. a e a e 50.0 z 2 − 5.0 z − 28.0 2.0 z 2 − 5.0 z + 2.0 z −1 G(z)(1 − z −1 )

` ` ´ 5.2. SYNTHESES A TEMPS D’ETABLISSEMENT FINI

67

Fig. 5.2 – R´ponse du syst`me ` un ´chelon. e e a e

5.2

Synth`ses ` temps d’´tablissement fini e a e

Un syst`me est dit ”` temps d’´tablissement fini” lorsque son erreur ε (k) = 0 en un nombre fini de p´riodes e a e e d’´chantillonnage, l’entr´e ´tant un polynˆme en t sp´cifi´ (le plus souvent un ´chelon : t0 ). e e e o e e e
ε(k)

Temps d’´tablissement fini e
Temps d’établissement infini

k

Fig. 5.3 – Comparaison de l’erreur permanente entre un syst`me ` temps d’´tablissement fini ou infini. e a e

D´finition Un syst`me est dit ` temps d’´tablissement fini si l’erreur ε (t) s’annule en un nombre fini e e a e d’´chantillons, pour une entr´e u(t) = tm sp´cifi´e. e e e e Corollaire ε(z) est donc un polynˆme en z (donc pas une fraction rationnelle)1 . o P (z) m La transform´e en z de u(t) = t est de la forme2 U (z) = (1−z−1 )m+1 avec P (z) polynˆme en z de degr´ d ≤ m. e o e (z)(1 − F (z)) ε(z) = U (z) − Y (z) = U (z) [1 − F (z)] = P(1 − z −1 )m+1 O` F (z) est la transmittance en boucle ferm´e. u e Pour que P (z)(1−F (z)) soit un polynˆme il faut et il suffit que 1 − F (z) contienne (1 − z −1 )m+1 en facteur, donc o (1−z −1 )m+1 1 − F (z) s’´crit sous la forme : e 1 − F (z) = (1 − z −1 )m+1 K(z)
1 Calculons ε(z) de la figure 5.3 par la formule de d´finition de la transform´es en z (2.13) e e ε(z) = ε0 + ε1 z−1 + ε2 z−2 : c’est bien un polynˆme. o 2

(5.1)

(5.2)

voir eq. 2.11 page 27

68 o` K(z) est un polynˆme. u o

` ` ´ CHAPITRE 5. SYNTHESES A TEMPS D’ETABLISSEMENT FINI

Pour v´rification, appliquons le th´or`me de la valeur finale : e e e P (z)(1 − F (z)) P (z)(1 − z −1 )m+1 K(z) = lim (1 − z −1 ) =0 −1 )m+1 z→1 (1 − z (1 − z −1 )m+1

t→∞

lim ε (t) = lim (1 − z −1 )ε(z) = lim (1 − z −1 )
z→1 z→1

5.2.1

Synth`se ` temps d’´tablissement minimal absolu e a e
Un syst`me est dit ` temps d’´tablissement minimal lorsque le degr´ de ε(z) est minimal. e a e e

D´finition e

En reprenant les ´quations (5.1) et (5.2) e (z)(1 − F (z)) ε(z) = P(1 − z −1 )m+1 = P (z)K(z) Si K(z) = 1, alors le syst`me est dit minimal absolu. Dans ce cas : e 1 − F (z) = (1 − z −1 )m+1

ε(z) = P (z) = p0 + p1 z −1 + p2 z −2 + . . . + pm z −m
Donc ε (t) s’annule pour t = (m + 1)Te Le correcteur C(z) est alors : C(z) = 1 − (1 − z −1 )m+1 (1 − z −1 )m+1 G(z)

Remarque 1 : Le correcteur compense les pˆles et les z´ros de G(z) donc cette m´thode de commande ne o e e s’applique qu’aux syst`mes ne poss´dant que des pˆles et des z´ros stables ! e e o e Remarque 2 : seul ε (t) s’annule, pas ε(t) !

Fig. 5.4 – L’erreur ´chantillonn´e est bien nulle mais l’erreur continue ne l’est pas. e e

5.2.2

Synth`se ` temps d’´tablissement minimal non absolu e a e

Si le syst`me mod´lis´ par G(z) poss`de des pˆles ou des z´ros ext´rieurs au cercle unit´, la synth`se ` temps e e e e o e e e e a d’´tablissement minimal absolu n’est plus applicable. La synth`se en temps d’´tablissement minimal consiste e e e alors ` chercher K(z) de degr´ minimal respectant les deux conditions suivantes : a e 1. F (z) doit poss´der parmi ses racines les z´ros de G(z) ext´rieurs au cercle unit´ e e e e 2. 1 − F (z) doit poss´der parmi ses racines les pˆles de G(z) ext´rieurs au cercle unit´ e o e e D´monstration : posons e G(z) = B + (z)B − (z) A+ (z)A− (z)

o` B + (z), B − (z), A+ (z), A− (z) sont des polynˆmes tels que : u o

` ` ´ 5.2. SYNTHESES A TEMPS D’ETABLISSEMENT FINI B + (z) B (z)

69

contient tous les z´ros de G(z) int´rieurs au cercle unit´ (dits ”stables”) e e e contient tous les z´ros de G(z) ext´rieurs au cercle unit´ (dits ”instables”) e e e ainsi que les retards purs du syst`me e

A (z) A− (z) alors :

+

contient tous les pˆles de G(z) int´rieurs au cercle unit´ (stables) o e e contient tous les pˆles de G(z) ext´rieurs au cercle unit´ (instables) o e e C(z) = A+ (z)A− (z) F (z) B + (z)B − (z) 1 − F (z)

Comme C(z) ne peut pas contenir B − (z) au d´nominateur (pˆles instables) alors F (z) doit contenir en facteur la e o partie instable B − (z). De mˆme, C(z) ne peut pas contenir au num´rateur A− (z) (ce serait de la compensation e e de pˆles de G(z) instable !) donc 1 − F (z) doit contenir en facteur A− (z). o Remarque : les pˆles et z´ros sur le cercle unit´ sont ` consid´rer comme instables o e e a e le probl`me pos´ se ram`ne ` la r´solution de 3 ´quations : e e e a e e B − (z)L(z) (non compensation des z´ros instables par le correcteur) e A− (z)J(z) (non compensation des pˆles instables par le correcteur) o (1 − z −1 )m+1 K(z) (temps d’´tablissement fini) e

F (z) 1 − F (z) 1 − F (z) qui se condense en :

= = =

(5.3) (5.4) (5.5)

F (z) 1 − F (z) K(z)

= B − (z)L(z) = (1 − z
−1 m+1

(5.6) A (z)K (z)

)

(5.7) (5.8)

= A− (z)K (z)

Cela reviens ` r´soudre l’´quation diophantienne a e e (1 − z −1 )m+1 A− (z)K (z) + B − (z)L(z) = 1 Si la r´solution donne e K(z) = A− (z)K (z) = k0 + k1 z −1 + k2 z −2 + +kn z −k alors

ε(z) = U (z)K(z) = ε0 + ε1 z −1 + ε2 z −2 + · · · + εm+n z −(m+n)
Le transitoire est bien de dur´e finie, mais de m + n + 1 p´riodes d’´chantillonnage. e e e

70

` ` ´ CHAPITRE 5. SYNTHESES A TEMPS D’ETABLISSEMENT FINI

5.2.3

R´ponse pile e

La r´ponse pile est un cas particulier des syst`mes ` temps d’´tablissement minimal non absolu. e e a e D´finition Un syst`me est dit ` r´ponse pile lorsque la sortie continue atteint son r´gime permanent pour e e a e e une entr´e canonique en un nombre fini d’´chantillons. e e Conditions Pour pouvoir r´aliser un correcteur ` r´ponse pile pour une entr´e de type u(t) = tm , il faut que e a e e le syst`me pr´sente au moins m int´grateurs purs. e e e

Fig. 5.5 – Sch´ma d’un syst`me ` r´ponse pile. e e a e

La figure 5.5 montre un exemple classique avec les diff´rents signaux. On veut, pour une entr´e en parabole , e e que la sortie soit une parabole. Le syst`me pr´sentant deux int´grateurs purs, il faut que la sortie du correcteur e e e soit une constante au bout d’un certain temps (le temps d’´tablissement). e Puisque la sortie du correcteur est constante au bout du temps d’´tablissement, cette sortie s’´crit : e e W (z) = La sortie du syst`me en boucle ferm´e est : e e S(z) = W1 (z) 1 − z −1
sortie correcteur

W1 (z) 1 − z −1

A+ (z)A−

B + (z)B − (z) U1 (z) = (z)(1 − z −1 )m (1 − z −1 )m+1
en entr´e en tm e

F (z)
FT en BF

syst`me d´compos´ e e e num, den et IT purs

Apr`s simplification des termes en (1 − z −1 ) la deuxi`me partie de l’´galit´ devient : e e e e W1 (z) B + (z)B − (z) = U1 (z)F (z) A+ (z)A− (z) A+ (z)A− (z) B + (z)B − (z)

W1 (z) = U1 (z)F (z)

W1 , F, U1 , A+ , A− , B + , B − ´tant des polynˆmes, il vient imm´diatement que F s’´crit : e o e e F (z) = B + (z)B − (z)L(z) o` L(z) est un polynˆme. u o La synth`se revient donc ` d´terminer deux polynˆmes L(z) et K(z) tels que : e a e o (1 − z −1 )m+1 A− K (z)

1 − F (z) F (z)

=

(5.9) (5.10)

= B + (z)B − (z)L(z)

Ce qui revient ` r´soudre l’´quation diophantienne : a e e (1 − z −1 )m+1 A− K (z) + B + (z)B − (z)L(z) = 1 Le correcteur s’´crit alors : e (5.11)

` ` ´ 5.2. SYNTHESES A TEMPS D’ETABLISSEMENT FINI

71

C(z) C(z)

= = = =

1 F (z) syst`me 1 − F (z) e A+ (z)A− (z)(1 − z −1 )m F (z) B + (z)B − (z) 1 − F (z) A+ (z)A− (z)(1 − z −1 )m B + (z)B − (z)L(z) + (z)B − (z) B (1 − z −1 )m+1 A− K (z) A+ (z)L(z)) (1 − z −1 )K (z)

(5.12) (5.13) (5.14) (5.15)

5.2.4

Applications des synth`ses ` temps d’´tablissement fini e a e

ˆ Applications sur syst`mes physiques e — Rarissimes — Peu de syst`mes restent lin´aires avec de telles commandes e e Electrotechnique ˆ Applications sur syst`mes informatifs e — Plus courantes — Pas de physique, tout reste num´rique donc pas de probl`me entre les instants d’´chantillonnage e e e Observateurs Contrˆle de syst`mes d’informations o e

72

` ` ´ CHAPITRE 5. SYNTHESES A TEMPS D’ETABLISSEMENT FINI

5.2.5

Exemples de r´ponse pile e
T (p) = 5 + 2p + 5

Le syst`me continu ´tudi´ est : e e e p2

Pour Te =1s, sa transform´e en z avec un bloqueur d’ordre 0 est : e T (z) = 0.9858z + 0.4557 z 2 + 0.3062z + 0.1353

Le correcteur ”pile”, calcul´ pour avoir une erreur ` l’´chelon d’entr´e nulle est : e a e e Cp (z) = 0.6937z 2 + 0.2124z + 0.09388 z 2 − 0.6839z − 0.3161

Le correcteur pour avoir un temps d’´tablissement minimal est : e Cem (z) = z 2 + 0.3062z + 0.1353 0.9858z 2 − 0.5302z − 0.4557

R´ponse pile e

R´ponse ` temps d’´tablissement minimal e a e

Fig. 5.6 – Comparaison des commandes et sorties pour un correcteur ”pile” et ` temps d’´tablissement minia e mum : Te =0.5s.

R´ponse pile e

R´ponse ` temps d’´tablissement minimal e a e

Fig. 5.7 – Comparaison des commandes et sorties pour un correcteur ”pile” et ` temps d’´tablissement minia e mum : Te =1s.

´ ´ 5.3. RESOLUTION DE L’EQUATION DIOPHANTIENNE

73

5.3

R´solution de l’´quation diophantienne e e

Quelle que soit la m´thode adopt´e pour le calcul du correcteur (Zdan, pile RST, ...), cela revient ` la r´solution e e a e d’une ´quation diophantienne de la forme : e

AX + BY = C o` : A, X, B, Y et C sont des polynˆmes en z −1 u o Cette ´quation n’admet de solutions que ssi : e d˚X + d˚Y + 1 = max{d˚AX, d˚BY, d˚C, } S’il existe une solution alors : (5.16)

d˚X d˚Y

≥ d˚B − 1 ≥ d˚A − 1

Ces conditions ´tant respect´es, deux cas peuvent se pr´senter : e e e

l’´quation est e r´guli`re e e d˚C < d˚A + d˚B

l’´quation est e non r´guli`re e e d˚C ≥ d˚A + d˚B Solution minimale en X Solution minimale en Y d˚X = max{(d˚C − d˚A), (d˚B − 1)} d˚Y = d˚A − 1

d˚X = d˚B − 1 d˚Y = d˚A − 1

d˚X = d˚B − 1 d˚Y = max{(d˚C − d˚B), (d˚A − 1)}

Soit

(a0 +a1 z −1 +· · ·+an z −k )(x0 +x1 z −1 +· · ·+xk z −k )+(b0 +b1 z −1 +· · ·+bm z −m )(y0 +y1 z −1 +· · ·+yl z −l ) = c0 +c1 z −1 +· · ·+cp z −p o` p ≤ n + sup(k, l) u

Par identification terme ` terme : a   a x +b y =c  0 0 0 0 0      a x +a x +b y +b y =c 1 0 0 1 1 0 0 1 1  a x +a x +a x +b y +b y +b y =c  2 0 1 1 0 2 2 0 1 1 0 2 2      ··· soit sous forme matricielle :

74                                   max(n + k, m + l) + 1                                  

` ` ´ CHAPITRE 5. SYNTHESES A TEMPS D’ETABLISSEMENT FINI  a0 a1 a2 . . . an 0 . . . 0 . . . 0 0 a0 a1 . . . . . . an .. ··· . .. .. . . ··· 0 . . . 0 a0 a1 . . . . . . an . . . 0 b0 b1 b2 . . . 0 b0 b1 b2 . . . .. .. . . ··· 0 . . . 0 b0 b1 . . . . . . . . . . . . bm                                 

     x0  .     .  .     xk   =   y0     .   .   .      yl 

c0 . . . . . . . . .

···

bm . . . . . . 0 ···

..

.

..

.

            cp    0   .  .  .  0

···

···

···
l+1

k+1

Pour que cette matrice soit inversible, il faut que max(n + k, m + l) + 1 = k + l + 1 Ce qui correspond ` l’´quation 5.16. Si toutefois cette derni`re condition est respect´e mais que le d´terminant a e e e e de A est nul, c’est que les polynˆmes A et B ne sont pas premiers entre eux. o Exemple 1 Soit ` r´soudre : a e (1 + 2z −1 − 3z −2 − z −3 )X + (0.5 + 0.01z −1 )Y = 0.7z −2 + 0.9z −3 + z −4

d˚C 4

? ≥

d˚A + d˚B 3+1

(5.17) (5.18)

l’´quation est non r´guli`re. On choisi la premi`re forme : e e e e d˚Y d˚X = = d˚A − 1 = 2 max{(d˚C − d˚A)}, (d˚B − 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 1 2 −3 −1  0.5 0.01 0 0 0 x  0   x1    y0    y1  y2 0 0  x0   0 

   2    −3    −1  0

          x1   0  0.5 0         0.01 0.5   y0  =  0.7            y1   0.9  0 0.01     0 0 y2 1    2.2930         −1.0000         =  −4.5860          −7.0803     19.2996

´ ´ 5.3. RESOLUTION DE L’EQUATION DIOPHANTIENNE Si on avais choisi le deuxi`me forme : e d˚X d˚Y = = d˚B − 1 = 0 max{(d˚C − d˚B)}, (d˚A − 1) = max{(4 − 1, 2)} = 3

75

(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.01 0 0 0  0 0.5 0.01 0 0 x  0   y0    y1    y2  y3 Exemple 2 Soit ` r´soudre : a e (1 + 2z −1 − 3z −2 − z −3 )X + (0.5 + 0.01z −1 )Y = 1 0 0 0  x0   0 0 

   2    −3    −1  0

  0    0.5 0    0.01 0.5    0 0.01   −0.4958       0.9916      =  1.9634       −1.6140   0.8407

    y0       y1  =      y2     y3           

     0.7    0.9   1

d˚C 0 l’´quation est r´guli`re donc : e e e d˚Y d˚X

?

d˚A + d˚B

(5.19) (5.20)

< 3+1

= =

d˚A − 1 = 2 d˚B − 1 = 0

(1 + 2z −1 − 3z −2 − z −3 )(x0 ) + (2 + 3z −1 )(y0 + y1 z −1 + y2 z −2 ) = 1 soit sous forme matricielle :  1 2 0 0  x0   1 

   2    −3  −1

          y0   0  3 2 0  =      0 3 2   y1   0      0 0 3 y2 0     x0 −0.7297          y0   0.8649   =       y1   −0.5676      y2 −0.2432

76

` ` ´ CHAPITRE 5. SYNTHESES A TEMPS D’ETABLISSEMENT FINI

Chapitre 6

M´thodes de commande avanc´es e e
6.1 Choix des pˆles en boucle ferm´e o e

C’est un choix qui ne peut ˆtre fond´ que sur des consid´rations physiques, on n’asservit pas de la mˆme e e e e fa¸on un avion de combat et un avion de ligne ! Quelques r`gles peuvent pourtant ˆtre donn´es, vous saurez les c e e e adapter ` votre cas particulier. a Si vous avez correctement choisi votre fr´quence d’´chantillonnage et que votre cahier des charges n’est pas e e utopique, les pˆles de la fonction de transfert en boucle ouverte sont ` peu pr`s dans la zone gris´e de la figure o a e e 6.1.

Fig. 6.1 – Emplacement des pˆles en boucle ouverte. o En boucle ferm´e, vous pouvez esp´rer acc´l´rer le syst`me d’un facteur 3 ` 10. Apr`s cela, vous quitterez le e e ee e a e cadre de l’hypoth`se fondamentale de ce cours : le syst`me est lin´aire. e e e

77

78

´ ´ CHAPITRE 6. METHODES DE COMMANDE AVANCEES

Fig. 6.2 – Zones de placement des pˆles en boucle ferm´e ` ´viter. o e ae

Les pˆles du syst`me en boucle ferm´e seront choisis en ´vitant les zones gris´es de la figure 6.2. En voici les o e e e e raisons : ˆ Pas trop proches du cercle unit´. En effet une petit variation de mod`le (vieillissement, variation de e e masse, ...) pourrait engendrer une instabilit´ du syst`me. e e ˆ Pas trop proches du point 1. Sinon, vous ne diminuez pas le temps d’´tablissement ou alors vous avez e mal choisi la fr´quence d’´chantillonnage. e e ˆ Pas de facteur d’amortissement trop petit, cela conduit ` des d´passements importants de la consigne a e et allonge le temps d’´tablissement. e ˆ Pas de pˆles r´els n´gatifs, car ces pˆles g´n`rent une oscillation amortie non souhaitable. o e e o e e Un pˆle est tr`s souvent utilis´, le retard pur (en z = 0), pˆle le plus ”rapide”. o e e o Si vous respectez ces crit`res, vos pˆles en boucle ferm´e devraient ˆtre dans la zone non gris´e de la figure 6.2. e o e e e Nous parlons peu des z´ros de la fonction de transfert. Non pas qu’ils soient n´gligeables, bien au contraire ! Ils e e ont une influence sur le comportement du syst`me mais sont difficiles ` contrˆler. En fait leur contrˆle demande e a o o un correcteur un peu plus complexe. Deux m´thodes de synth`se vous sont propos´es ci-apr`s. e e e e La premi`re, la m´thode de Zdan, ne s’occupe que des pˆles de la fonction de transfert en boucle ferm´e. En e e o e pr´sence de z´ros, une premi`re synth`se donne un correcteur aux performances assez ´loign´es du cahier des e e e e e e charges que vous vous ˆtes pos´. Une deuxi`me synth`se tenant compte de ce premier r´sultat donne alors de e e e e e bonnes performances. La m´thode RST, qui pr´sente un degr´s de libert´ suppl´mentaire permet de placer les z´ros aussi bien que e e e e e e les pˆles. o

´ 6.2. METHODE DE ZDAN

79

6.2

M´thode de Zdan e

Les m´thodes ` temps d’´tablissement fini conduisent le plus souvent ` des correcteurs qui g´n`rent des come a e a e e mandes trop importantes. Tous comptes faits, on cherche rarement d’aussi bonnes performances pour le syst`me e boucl´. En g´n´ral, une am´lioration d’un facteur 3 sur le temps d’´tablissement et une erreur statique voire e e e e e de traˆ ınage nulle sont suffisantes, compte tenu des saturations du syst`me. e La m´thode de Zdan propose de calculer un correcteur tel que le syst`me en boucle ferm´e se comporte comme e e e un syst`me du second ordre de pulsation propre ωn et de facteur d’amortissement ξ donn´s. e e

6.2.1

Principe

On impose au syst`me boucl´ : e e ˆ en r´gime transitoire : un comportement type second ordre (ωn et ξ) e ˆ en r´gime permanent : erreur nulle pour une entr´e canonique u(t) = tm et ´ventuellement une erreur e e e donn´e pour u1 (t) = tm+1 . Exemple : erreur nulle ` l’´chelon, erreur sp´cifi´e pour une rampe. e a e e e La transmittance ` asservir est mise sous la forme suivante :1 a G(z) = B + (z)B − (z) (1 − z −1 )l A+ (z)A− (z)

o` B + (z), B − (z), A+ (z), A− (z) sont des polynˆmes tels que : u o B + (z) B − (z) contient tous les z´ros de G(z) int´rieurs au cercle unit´ (dits ”stables”) e e e contient tous les z´ros de G(z) ext´rieurs au cercle unit´ (dits ”instables”) e e e ainsi que les retards purs du syst`me e A+ (z) A (z)

contient tous les pˆles de G(z) int´rieurs au cercle unit´ (stables) o e e contient tous les pˆles de G(z) ext´rieurs au cercle unit´ (instables) o e e

6.2.2

Correcteur de Zdan

Le correcteur est d´compos´ en trois parties, sous la forme : e e C(z) = C1 (z) C2 (z) C3 (z) C1 (z) doit annuler l’erreur permanente, compte tenu des l int´grateurs purs d´j` contenus dans G(z) e ea donc, en l’absence de perturbations 2 : C1 (z) = 1 (1 − z −1 )m+1−l

C2 (z) doit compenser les pˆles et les z´ros stables de G(z) o e donc : A+ (z) C2 (z) = + B (z) C3 (z) doit imposer le comportement en boucle ferm´e et comporte au moins autant de param`tres que de e e sp´cifications ` satisfaire. e a Posons : C3 (z) = ∆1 (z) ∆2 (z)

∆1 (z) et ∆2 (z) seront choisis les plus courts possible de la forme :
1 La 2 En

synth`se en z est parfaitement possible mais conduit ` des erreurs faciles ` ´viter en utilisant la forme en z −1 . e a ae cas de perturbations, le nombre d’int´grateurs purs ne suis pas la formule donn´e. Reportez vous au §3.4. e e

80

´ ´ CHAPITRE 6. METHODES DE COMMANDE AVANCEES 4 param`tres e ∆1 (z) = ∆2 (z) = kc (1 + α1 z
−1

6 param`tres e ) kc (1 + α1 z
−1

··· + α2 z
−2

)

··· ···

β0 + β1 z −1

β0 + β1 z −1 + β2 z −2 )

La transmittance en boucle ouverte s’´crit alors : e C(z) G(z) = C1 (z) C2 (z) C3 (z) G(z) = La transmittance en boucle ferm´e est : e F (z) = C(z)G(z) NF (z) = 1 + C(z)G(z) DF (z) B − (z)∆1 (z) (1 − z −1 )m+1 A− (z)∆2 (z)

En ´crivant l’´galit´ des d´nominateurs on obtient : e e e e DF (z) = (1 − z −1 )m+1 A− (z)∆2 (z) + B − (z)∆1 (z) (6.1)

Choix de DF (z) Comme indiqu´ pr´c´demment, on cherche un comportement de type second ordre. Aussi, e e e DF (z) sera d´compos´ en deux parties telles que : e e DF (z) = (1 + p1 z −1 + p2 z −2 ) pˆles dominants o avec : p1 = −2e−ξωTe cos(ωTe 1 − ξ2) P (z) pˆles n´gligeables o e

p2 = e−2ξωTe Les pˆles n´gligeables seront choisis tels que |zi | < 0.1 et le plus souvent zi = 0 soit des retards purs. Leur o e nombre est fonction de l’´quation 6.1. En effet, il doit y avoir ´galit´ des degr´s des polynˆmes. e e e e o R´solution de l’´quation 6.1 Une fois l’´quation pos´e, le nombre de pˆles n´gligeables s’obtient directee e e e o e ment par l’´quation des degr´s de chaque membre. La r´solution s’effectue en identifiant les termes kc , αi et βi e e e en posant les ´galit´s des termes de mˆme degr´. Une m´thode de r´solution plus longue mais plus syst´matique e e e e e e e est donn´e au §5.3 e Quelques remarques

Remarque 1 : En prenant DF (z) = 1 on retrouve le correcteur astatique. Remarque 2 : Rien n’oblige ` choisir un comportement en boucle ferm´e de type second ordre, ordre 1 ou 3 ou a e n marchent aussi, on parle alors de m´thode du mod`le. e e Remarque 3 : En utilisant la d´composition en z −1 vous verrez apparaˆ les retards purs du syst`me. Ceuxe ıtre e ci ne sont pas compensables, en effet un syst`me ayant n retards purs ne r´pondra jamais en moins de n e e ´chantillons. A ce titre, les retards purs doivent figurer dans B − (z) et se retrouveront dans la fonction de e transfert en boucle ferm´e : NF (z) = B − (z)∆1 (z). e

6.3. COMMANDE RST

81

6.3

Commande RST

Fig. 6.3 – Principe de correcteur par correcteur RST. V(z) est une perturbation de charge, E(z) est une perturbation de sortie. La forme g´n´rale de la loi de commande d’un correcteur de type RST est : (voir sch´ma 6.3) e e e S(z)U (z) = T (z)W (z) − R(z)Y (z) donc : U (z) = La sortie du syst`me boucl´ est donn´e par : e e e Y (z) = B(z) B(z) U (z) + V (z) + E(z) A(z) A(z) T (z) R(z) W (z) − Y (z) S(z) S(z) (6.3) (6.2)

Afin d’all´ger les notations, les arguments des polynˆmes ne seront plus not´s. e o e En r´´crivant (6.2) et (6.3), ee = T W (z) − R Y (z) = B U (z) + B V (z) + A E(z)

S U (z) A Y (z) Explicitons U (z) :

(6.4) (6.5)

AS U (z) AS U (z) (AS + BR) U (z)

= = =

AT W (z) − AR Y (z) AT W (z) − BR U (z) − BR V (z) − AR E(z) AT W (z) − BR V (z) − AR E(z)

U (z) = et Y (z)

AT BR AR W (z) − V (z) − E(z) AS + BR AS + BR AS + BR

(6.6)

AS Y (z) AS Y (z) (AS + BR) Y (z)

= = =

BS U (z) + BS V (z) + AS E(z) − AR Y (z) BT W (z) − BR Y (z) + BS V (z) + AS E(z) BT W (z) + BS V (z) + AS E(z)

Y (z) =

BT BS AS W (z) − V (z) − E(z) AS + BR AS + BR AS + BR

(6.7)

82

´ ´ CHAPITRE 6. METHODES DE COMMANDE AVANCEES

6.3.1

Synth`se de la loi de commande RST e

Synth`se par placement de pˆles On cherche une loi de commande U (z) telle que le syst`me en boucle e o e ferm´e ait une fonction de transfert mod`le donn´e de la forme : e e e Bm (z) Fm (z) = Am (z) or, d’apr`s 6.7 et en supposant V = E = 0 e Y (z) = Il faut donc r´aliser : e BT Bm = AS + BR Am (6.9) BT W (z) AS + BR (6.8)

Compensation des z´ros Afin de simplifier les calculs mais surtout afin d’obtenir une fonction de transfert e d’ordre le plus faible possible, on cherche ` compenser les pˆles et les z´ros. a o e Posons : B = B+B− o` : u B+ contient tous les z´ros de G(z) int´rieurs au cercle unit´ (dits ”stables”) e e e

B − contient tous les z´ros de G(z) ext´rieurs ou sur le cercle unit´ (dits ”instables”) e e e Note 1 : afin d’obtenir ult´rieurement S sous forme monique on prendra B + sous forme monique. e Note 2 : concernant les retards purs, ceux-ci ´tant impossibles ` compenser ils font donc partie de B − , car le e a syst`me ne peut r´agir plus vite que son retard pur. e e B − ne pouvant ˆtre en facteur de AS + BR (compensation interdite) il faut que B − divise Bm , donc : e Bm = B − Bm B + peut ˆtre un facteur de AS + BR (compensation permise) il devra dans ce cas diviser aussi S, donc : e S = B+S R´´crivons ces r´sultats, (6.9) devient : ee e B + (AS en simplifiant : T B = m AS + B − R Am Ce qui implique que : T AS + B R

B − Bm B+B−T = − R) +B Am

(6.10)

(6.11)

= A0 B m = A0 Am

(6.12) (6.13)

O` A0 est un polynˆme donn´ dit polynˆme observateur par analogie avec la commande par retour d’´tat u o e o e (Cours commande avanc´e 2A). e Le polynˆme caract´ristique de la boucle ferm´e est alors : o e e AS + BR = B + A0 Am (6.14)

Remarque 1 : A0 contient les modes de la boucle ferm´e qui ne seront pas excit´s par le signal de commande, e e par contre ces modes seront excit´s par une perturbation ! e Y W Par contre : Y E =
W =V =0

=
E=V =0

BT BA0 Bm B − Bm Bm = + = = AS + BR B A0 Am Am Am AS AB + S AS = + = AS + BR B A0 Am A0 Am

6.3. COMMANDE RST Remarque 2 : U W =
E=V =0

83 AT AA0 Bm AB = + = + m AS + BR B A0 Am B Am

Les z´ros stables du proc´d´ apparaissent comme des pˆles de la fonction de transfert de w vers u ce qui peut e e e o ˆtre n´faste (exemple pˆles stables ` partie r´elle n´gative). e e o a e e Annulation de l’erreur statique vis-`-vis des perturbations Ce qui suit n’est valable que pour une a perturbation E, si la perturbation est en V (voir sch´ma 6.3), le raisonnement reste identique mais les IT pur e du syst`me (l) ne peuvent ˆtre pris en compte, car pour annuler l’erreur l’int´grateur doit ˆtre situ´ entre e e e e e l’entr´e de perturbation et l’erreur. e La fonction de transfert de la boucle est : BR B−R = AS AS Pour annuler une erreur statique d’ordre m il faut que Fb ait m+1 int´grateurs purs (´chelon : m=0, 1 IT pur). e e La fonction de transfert du proc´d´ poss`de d´j` l pˆles en z = 1 donc : e e e ea o Fb = A(z) = (1 − z −1 )l A+ A− Pour que Fb poss`de m+1 pˆles en z = 1, il faut que S soit de la forme : e o S = (1 − z −1 )m+l−l S1 A+ A− l’´quation diophantienne (6.13) devient : e (1 − z −1 )m+1 S1 A+ A− + B − R = A0 Am (6.15)

6.3.2
Am

Choix des polynˆmes Am , Bm et A0 o

C’est le d´nominateur de la fonction de transfert voulue. Il contient donc les pˆles voulus. Comme pour la e o m´thode de Zdan, on les choisit plutˆt de la forme deux pˆles complexes conjugu´s dominants et n pˆles e o o e o n´gligeables. e Bm e a L` encore comme pour la m´thode de Zdan, Bm doit contenir tous les retards purs du syst`me ` corriger. Il a e contient aussi tous les z´ros dit ”instables”, c’est-`-dire ext´rieurs au cercle unit´. e a e e Bm peut aussi contenir d’autres z´ros, en particulier ceux qui, tout en ´tant int´rieurs au cercle unit´, ont une e e e e partie r´elle n´gative. S’ils sont compens´s, donc au d´nominateur du correcteur, la commande du syst`me e e e e e pr´sentera une r´ponse indicielle altern´e rapide, peu appr´ci´e des syst`mes (voir fig. 3.7 ). e e e e e e A0 Le polynˆme d’”observation” A0 est, en g´n´ral, choisi ´gal ` 1, on a alors une dynamique identique en asserviso e e e a sement et en r´gulation. On peut aussi le choisir de la forme (1 − az −1 ). Dans ce cas, on filtre les perturbations, e la r´action de l’asservissement sera plus ”douce” mais plus longue. e

6.3.3

Cas particulier du correcteur RST : le correcteur s´rie e
R(z) S(z)

En choisissant T = R on obtient le correcteur s´rie de la forme e C(z) = En reprenant 6.12 R = T = A0 B m Si on compense les pˆles stables du proc´d´ ` l’aide de A0 le polynˆme d’observation : o e ea o A0 = A+

84 donc,

´ ´ CHAPITRE 6. METHODES DE COMMANDE AVANCEES R = A+ B m

et l’´quation diophantienne (6.15) devient : e (1 − z −1 )m+1 S1 A+ A− + B − A+ Bm = A+ Am soit, (1 − z −1 )m+1 A− S1 + B − Bm = Am qui est en fait l’´quation diophantienne de la m´thode de Zdan en posant : e e ∆1 (z) ∆2 (z) = Bm (z) (6.17) (6.16)

= S1 (z)

Bibliographie
[1] E. Ostertag, Automatique - Syst`mes et asservissements continu. e France : Ellipses, 2005. [2] B. Lang and V. Minzu, Commande automatique des syst`mes lineaires continus. Cours avec applications e utilisant matlab. France : Ellipses, 2001. [3] Y. Sevely, Syst`mes et asservissements lin´aires ´chantillonn´s. e e e e Paris : Dunod Universit´, 1973. e Lausane, Suisse : [4] H. B¨hler, R´glages ´chantillonn´s, volume 1, traitement par la transformation en z. u e e e Presses polythechniques et universitaires romandes, 1986. [5] Y. Granjon, Automatique. Dunod : Ellipses, 2001. France : Ellipses, 2005. [6] E. Godoy and E. Ostertag, Commande num´rique des syst`mes. e e

[7] B. Jouvencel, “Automatique ´chantillonn´e.” [Online]. Available : http ://www.lirmm.fr/ jouvence/ e e [8] M. Etique, “R´gulation num´rique,” 2005. [Online]. Available : http ://iai.eivd.ch/users/mee/ e e [9] D. Peaucelle, “Syst`mes ` temps discret, commande num´rique des proc´d´s,” 2003. [Online]. Available : e a e e e http ://www.laas.fr/%7Epeaucell/DPpages/DPteach.html [10] J. Chemla, “Syst`mes asservis ´chantillonn´s,” 2005. [Online]. Available : http ://auto.polytech.unive e e tours.fr/automatique/SSE/ressources/cours.pdf [11] S. Tliba, M. Jungers, and Y. Chitour, “Commande des processus : asservissement num´riques,” 2005. e [Online]. Available : http ://www.satie.ens-cachan.fr/automatique/PolyMaster-final.pdf [12] D. Arzelier, “Repr´sentation et analyse des syst`mes lin´aires.” [Online]. Available : e e e http ://www.laas.fr/ arzelier/polycop/n6k1/poly v5-2.pdf [13] K. J. ˚str¨m and T. H¨gglund, PID Controllers : Theory, Design, and Tuning Second Edition. Research A o a Triangle Park, 1995. [14] A. O’DWYER, “Pi and pid controller tuning rules for time delay processes : a summary,” 2000. [Online]. Available : citeseer.ist.psu.edu/dwyer00pi.html [15] A. Schopenhauer, “L’art d’avoir toujours raison.” [Online]. Available : http ://www.philo5.com/Mes%20lectures/Schopenhauer,%20L’art%20d’avoir%20toujours%20raison.htm

85

86

BIBLIOGRAPHIE

Premi`re partie e

Annexes

87

Annexe A

Tables de transform´es e

89

90

´ ANNEXE A. TABLES DE TRANSFORMEES

Tab. A.1 – Table des transform´es de Laplace et en Z usuelles. e

X(p) 1 e−kTe p
1 p 1 p2 1 p+a 1 (p+a)2 1 p(1+τ p) 1 p2 (1+τ p) 1 p(1+τ p)2 ω p2 +ω 2 p p2 +ω 2 ω (p+a)2 +ω 2 p (p+a)2 +ω 2
2 ωn 2 +ω 2 ) p(p n

x(t) δ(t) δ(t − kTe ) Γ(t)=1 t e−at te−at 1 − e−t/τ t − τ + τ e−t/τ
t 1 − (1 + τ )e−t/τ

X(z) 1 z−k
z z−1 Te z (z−1)2 z z−e−aTe Te ze−aTe (z−e−aTe )2 (1−e−Te /τ )z (z−1)(z−e−Te /τ ) Te z (z−1)2 z z−1

τ (1−e−Te /τ )z (z−1)(z−e−Te /τ ) z

z−e−Te /τ

Te ze−Te /τ τ (z−e−Te /τ )2

sin ωt cos ωt e−at sin ωt e−at cos ωt 1 − cos ωn t
ωp −ξωn t sin ωp t 1−ξ 2 e
2 ωn

z sin ωTe z 2 −2z cos ωTe +1 z(z−cos ωTe ) z 2 −2z cos ωTe +1 ze−aTe sin ωTe z 2 −2ze−aTe cos ωTe +e−2aTe z 2 −ze−aTe cos ωTe z 2 −2ze−aTe cos ωTe +e−2aTe z z−1

z(z−cos ωn Te ) z 2 −2z cos ωn Te +1

1 1+2ξ ωp + p2 n

ωp = ωn 1−

1 − ξ2 + ψ)

ωn −ξωn t sin(ωp t ωp e

1 p 1+2ξ ωp + p2 n
2 ωn

ωp = ωn

1 − ξ2

ψ = cos−1 ξ e−at − e−bt 1−
b −at a−b e z z−e−aTe

b−a (p+a)(p+b) ab p(p+a)(p+b)

z z−e−bTe

a −bt a−b e

z z−1

+

bz (a−b)(z−e−aTe )

az (a−b)(z−e−bTe )

91

Tab. A.2 – Table des transform´es en z des syst`mes classiques pr´c´d´s d’un bloqueur d’ordre 0. Te est la e e e e e p´riode d’´chantillonnage et a = e−Te /τ e e

Transmittance en p Transmittance en z
B0 (p) p B0 (p) 1+τ p B0 (p) p(1+τ p) Te z−1 1−a z−a ,a

= e−Te /τ

(Te −τ (1−a))z−aTe +τ (1−a) z 2 −(1+a)z+a b2 z 2 +b1 z+b0 z 3 −(2+a)z 2 +(1+2a)z−a

B0 (p) p2 (1+τ p)

b2 =

Te 2 2

+ Te τ + τ 2 (1 − a)
2

e b1 = ( T2 − 2τ 2 )(1 − a) + Te τ (1 + a)

b0 = τ 2 (1 − a) − aTe (τ +
B0 (p) (1+τ1 p)(1+τ2 p)

Te 2)

b1 z+b0 z 2 −(e−Te /τ1 +e−Te /τ2 )z+e−Te /τ1 e−Te /τ2 −Te /τ1 )−τ2 (1−e−Te /τ2 ) b1 = τ1 (1−e τ1 −τ2

b0 = e−Te /τ1 e−Te /τ2 −
B0 (p) (1+τ p)2 B0 (p) (1+τ p)3 1−a z−a 1−a z−a

τ1 e−Te /τ2 −τ2 e−Te /τ1 τ1 −τ2

− −

Te a(z−1) τ (z−a)2 Te (2τ +Te )a(z−1) τ 2 (z−a)2

Te 2 a2 (z−1) τ 2 (z−a)3

b2 z 2 +b1 z+b0 z 3 −(1+a1 +a2 )z 2 +(a1 +a2 +a1 a2 )z−a1 a2

ai = e−Te /τi
B0 (p) p(1+τ1 p)(1+τ2 p)

b2 = Te −

2 2 τ1 (1−a1 )−τ2 (1−a2 ) τ1 −τ2 2 2 τ1 (1+a2 )(1−a1 )−τ2 (1+a1 )(1−a2 ) τ1 −τ2

b1 = −Te (a1 + a2 ) − b0 = −Te a1 a2 −
B0 (p) 2ξ 1+ ωn p+ 12 p2 ωn

2 2 τ1 a2 (1−a1 )−τ2 a1 (1−a2 ) τ1 −τ2

ωp = ωn ξ<1

1 − ξ2

b0 +b1 z z 2 −2ze−ξωn Te cos(ωp Te )+e−2ξωn Te sin(ω T ) b0 = e−2ξωn Te + e−ξωn Te ( √ p e 1−ξ 2

− cos(ωp Te ))

b1 = 1 − e−ξωn Te

ξ sin(ωp Te )

1−ξ 2

+ cos(ωp Te )

92

´ ANNEXE A. TABLES DE TRANSFORMEES

Annexe B

Travaux dirig´s e
ENSMM 1˚ ANNEE

93

94

´ ANNEXE B. TRAVAUX DIRIGES

´ ´ ´ ´ B.1. TD N˚1 : FREQUENCE D’ECHANTILLONNAGE ET EQUATIONS RECURRENTES

95

B.1

TD n˚1 : Fr´quence d’´chantillonnage et ´quations r´currentes e e e e

Choix de la p´riode d’´chantillonnage e e
Exercice 1. choix de la p´riode d’´chantillonnage e e Soit le syst`me continu de transmittance e G(p) = p3 1−p + 2p2 + 11p + 10

Donner l’allure des diagrammes de Bode et ´valuer la pulsation de coupure (utiliser ´ventuellement MATLAB). e e Dans quel intervalle peut-on choisir la p´riode d’´chantillonnage ` utiliser pour observer la sortie de ce syst`me ? e e a e A l’aide de simulink tracer la r´ponse indicielle du syst`me continu et la r´ponse ´chantillonn´e avec les p´riodes e e e e e e d’´chantillonnage que vous avez d´termin´es. Conclure. e e e

Syst`mes r´currents e e
Exercice 2. Etude d’une ´quation de r´currence e e   s n+1 + asn = un Soit le syst`me r´current d’entr´e un et sortie sn d´fini par e e e e  s =0
0

Calculer la suite { sn } lorsque l’entr´e est une suite unitaire { un }={ 1,1,. . . .1,. . . } e Repr´senter graphiquement { sn } pour diff´rentes valeurs de a. Sous quelle condition ce syst`me est-il stable ? e e e A l’aide de Matlab , pour diff´rentes valeurs de a ex´cuter les 2 commandes : e e >> S=dstep(1,[1 a]) >> dstep(1,[1 a]) % Calcul de la sortie de la fonction de transfert % Trac´ de la sortie e

Comparer aux r´sultats du calcul pr´c´dent ? e e e Calculer ´galement les valeurs de sn ` l’aide de Matlab. e a Exercice 3. Soit le syst`me r´current d’entr´e un et sortie sn d´fini par : e e e e  5 1 1  s n+2 − 6 sn+1 + 6 sn = 6 un  s = −2; s = 1
0 1

Calculer la suite { sn } lorsque l’entr´e est une suite unitaire un ={ 1,1,. . . .1,. . . }. e Etudier la stabilit´ de ce syst`me. e e Exercice 4. Soit le syst`me r´current d’entr´e un et sortie sn d´fini par : e e e e   s n+3 + asn+2 + asn+1 + bsn = un  a, b ∈ R+ Etudier dans le plan des param`tres a et b la stabilit´ de ce syst`me. e e e

96

´ ANNEXE B. TRAVAUX DIRIGES

B.2

TD n˚2 : Syst`mes r´currents e e

On souhaite mod´liser l’´volution du cheptel d’un ´leveur de bovins. Soit : e e e – 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 repr´sentant des nombres moyens au cours de l’ann´e k. e e ˆ 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. D’autre part, seules celles de trois ans et plus meurent de causes naturelles avec un taux moyen de 30 % par an. Enfin l’´leveur s’autorise ` acheter ou vendre uniquement des vaches de trois ans et plus. Soit uk le nombre de e a vaches achet´es (uk > 0) ou bien vendues (uk < 0) au cours de l’ann´e k. e e Le syst`me ainsi d´crit a une cadence Te de 1 an. Cette cadence peut s’interpr´ter comme une p´riode e e e e d’´chantillonnage si on consid`re que le proc´d´ (´levage) est en r´alit´ continu (les vaches existent entre 2 e e e e e e e mesures). La notion d’´chantillonnage correspond au choix de compter les vaches une fois par an. e 1. Etablir les ´quations r´currentes de ce syst`me. e e e 2. En d´duire la fonction de transfert H(z) = e la sortie du syst`me. e
Y (z) U (z)

et l’´quation r´currente qui relie uniquement l’ entr´e et e e e

3. Calculer les pˆles de la transmittance. Le syst`me est-il stable ? o e 4. On consid`re une loi de commande statique telle que : uk = K(Kc · yc − yk ). e Faire le sch´ma fonctionnel et calculer la transmittance en boucle ferm´e G(z) = e e
Y (z) Yc (z) .

Le gain Kc (gain de pr´commande) sert ` r´gler le gain statique du syst`me boucl´. On souhaite un gain e a e e e statique ´gal ` 1, exprimer Kc en fonction de K. e a Etudier la stabilit´ de ce syst`me en fonction de K. e e 5. En utilisant Matlab tracer le lieu d’Evans de H(z) : >> h=tf([num(H)],[den(H)],T); >> rltool(h) % d´finition de la fonction de transfert e % lieu d’Evans

Retrouver sur ce lieu le domaine des valeurs de K assurant la stabilit´. Observer les r´ponses ` un ´chelon e e a e de ce syst`me pour des valeurs de K correspondant aux diff´rents modes. Quelle est la valeur de K qui e e vous semble la plus satisfaisante. 6. Reprendre la simulation avec Simulink en consid´rant que la consigne fix´e par l’´leveur est d’avoir un e e e cheptel de 30 vaches (yc =30) . V´rifier la valeur du gain Kc calcul´ §5, observer l’´volution du troupeau e e e et des achats ou ventes de b´tail par l’´leveur. e e

´ B.3. TD N˚3 : ASSERVISSEMENT NUMERIQUE DE VITESSE

97

B.3

TD n˚3 : Asservissement num´rique de vitesse e

Soit l’asservissement num´rique de vitesse ´tudi´ en TP : e e e

Mod´lisation du syst`me e e
Soit A le gain d’action P et B le gain d’action I. Donner le sch´ma fonctionnel de cette r´gulation e e Donner l’´quation de r´currence liant la commande uk ` la consigne wk et ` la mesure yk . e e a a On mesure τ = 15ms et le produit km kg = 0.3. Quelle p´riode d’´chantillonnage Te peut-on choisir ? e e On choisit Te = 10 ms. Calculer la transmittance en z de l’ensemble convertisseurs, ampli, moteur, g´n´ratrice e e tachym´trique. e

R´gulation proportionnelle e
(A=0, B=0) Etudier la stabilit´ de cette r´gulation e e Calculer en fonction de A la r´ponse de cette r´gulation ` un ´chelon de consigne. Quelles sont les diff´rents e e a e e types de r´ponse que l’on peut obtenir. Pour quelles valeurs de A a-t-on une r´ponse sans d´passement ? e e e Calculer de 2 mani`res la valeur du gain statique et de l’erreur statique. e

R´gulation proportionnelle et int´grale e e
D´terminer le domaine de stabilit´ en fonction des param`tres A et B. e e e Donner les nouvelles valeurs du gain statique et de l’erreur statique. Calculer A et B pour que la sortie atteigne la consigne (et garde cette valeur) d´s la fin de la premi`re p´riode e e e d’horloge (r´ponse en 1 coup) ? e

98

´ ANNEXE B. TRAVAUX DIRIGES

B.4

TD n˚4 : Etude d’un four ´lectrique e

Soit un four ´lectrique. Autour d’un point de fonctionnement, la transmittance liant la variation de temp´rature e e θs ` la variation de tension de commande U est de la forme : a G(p) = θs(p) Ke−10p = U (p) 1 + 100p

Ce four est command´ par calculateur selon le sch´ma fonctionnel : e e

1. On choisit une p´riode d’´chantillonnage Te =10 secondes. Justifier ce choix. e e Montrez que la transmittance H(z) du syst`me ´chantillonn´-bloqu´ d’entr´e E(z) et sortie S(z) est de e e e e e la forme : S(z) K(1 − a) H(z) = = E(z) z(z − a) 2. On utilise un r´gulateur C(z) de la forme : e C(z) =
ˆ ˆ ˆ ˆ

A(z − a) K(1 − a)(z − β)

Calculer l’erreur statique. On souhaite une erreur statique nulle. Quelle valeur faut-il donner ` β ? a Etudier la stabilit´ du syst`me en boucle ferm´e en fonction de A. e e e Montrer qu’il faut A < 0.25 pour avoir une r´ponse sans d´passement. e e Pour A = 0.25 calculer la r´ponse du syst`me ` un ´chelon unit´. Calculer les 10 premi`res valeurs e e a e e e de cette r´ponse et en d´duire le temps de r´ponse ` 5%. e e e a

3. On souhaite am´liorer la rapidit´ de la r´ponse indicielle. Pour cela on choisit maintenant un r´gulateur e e e e de la forme : C(z) = A(z − a)(z − α) K(1 − a)(z − 1)(z − β)

Calculer A,α et β pour avoir une r´ponse en 2 p´riodes d’´chantillonnage. e e e 4. Peut-on trouver un correcteur donnant une r´ponse en une p´riode ? e e

B.5. TD N˚5 ET 6 : ETUDE D’UN ASSERVISSEMENT DE POSITION

99

B.5

TD n˚5 et 6 : Etude d’un asservissement de position
Synth`se d’un correcteur par diff´rentes m´thodes (2 s´ances) e e e e

Etude d’une r´gulation continue e
L’asservissement de position est d´crit par le mod`le : e e

La perturbation Vp appliqu´e sur la commande du moteur est ´quivalente ` la perturbation due ` la variation e e a a du couple r´sistant sur le moteur. e R´gulation proportionnelle C(p) = A e 1. Exprimer la sortie Vs ainsi que l’´cart ε en fonction de Vc et Vp . e 2. On souhaite que l’erreur permanente soit inf´rieure ` 10% de l’amplitude de la perturbation . e a ˆ Quelle valeur faut-il donner ` A ? a ˆ Quel est dans ce cas le facteur d’amortissement ? 3. D´terminer la marge de phase (par le calcul ou en utilisant Matlab) e 4. En utilisant Matlab/Simulink tracer la r´ponse ` un ´chelon de consigne et un ´chelon de perturbation e a e e retard´ de 20 ms. e Correcteur ` avance de phase a On remplace A par un correcteur de transmittance C(p) = A 1 + Tp avec a < 1 1 + aT p

On utilise la valeur de A calcul´e pr´c´dement pour conserver la pr´cision de l’asservissement, mais on souhaite e e e e une marge de phase sup´rieure ` 70˚ pour avoir un bon amortissement. On choisit T = 1/60 et a = 1/4. e a 1. V´rifier avec Matlab que la condition sur la marge de phase est bien v´rifi´e. e e e 2. En utilisant Matlab/Simulink tracer la r´ponse ` un ´chelon de consigne et un ´chelon de perturbation e a e e retard´ de 20 ms. e

Commande par calculateur
On souhaite r´aliser l’asservissement de position en utilisant un calculateur. e 1. Donner le nouveau sch´ma fonctionnel. e 2. Dans quel domaine de valeur faut-il choisir la p´riode d’´chantillonnage ? e e 3. On choisit une p´riode d’´chantillonnage Te =0.005 s. Calculer la transmittance G(z) de l’ensemble e e “ convertisseurs ampli moteur capteur ”.

100 Transposition d’un correcteur analogique

´ ANNEXE B. TRAVAUX DIRIGES

1. Donner la transmittance du correcteur ´chantillonn´ obtenu en discr´tisant le correcteur ` avance de phase e e e a analogique de 3 mani`res diff´rentes : discr´tisation avant, discr´tisation arri`re, m´thode de Tustin e e e e e e 2. Dans ces 3 cas, tracer avec Matlab/Simulink la r´ponse ` un ´chelon de consigne et un ´chelon de e a e e perturbation retard´ de 20 ms. Comparer ` la r´gulation continue. e a e Rappel : Discr´tisation avant e Discr´tisation arri`re e e Approximation de Tustin R´gulation proportionnelle e On choisit un correcteur C(z) = K 1. Etudier la stabilit´ de cet asservissement. e 2. Retrouver la condition de stabilit´ en tra¸ant, avec Matlab, le lieu d’Evans. e c 3. En utilisant ce lieu d´terminer K pour avoir le meilleur temps de r´ponse. e e 4. Quelle est alors la valeur de l’erreur permanente en r´ponse ` un ´chelon de consigne et ` un ´chelon de e a e a e perturbation sur la commande. D´termination d’un correcteur par la m´thode du mod`le e e e
e On souhaite que l’asservissement se comporte comme un mod`le du 2`me ordre de transmittance : e

: : :

p= p= p=

z−1 Te z−1 zTe 2 z−1 Te z+1

M (p) =

1 (1 + 0.005p)2

1. Calculer la transmittance M (z) correspondant ` M (p) pr´c´d´ d’un bloqueur d’ordre 0. a e e e 2. D´terminer un correcteur tel que la transmittance en boucle ferm´e de l’asservissement num´rique de e e e position soit ´quivalente ` celle du mod`le (pour simplifier les calculs certains pˆles et z´ros du correcteurs e a e o e pourront compenser les pˆles et z´ros stables de G(z)). o e 3. Tracer avec Matlab/Simulink la r´ponse ` un ´chelon de consigne et un ´chelon de perturbation retard´ e a e e e de 20 ms. 4. Calculer l’erreur permanente relative ` la perturbation. a 5. Proposer un correcteur permettant d’annuler cette erreur et tracer avec Matlab/Simulink la r´ponse ` un e a ´chelon de consigne et un ´chelon de perturbation retard´ de 20 ms. e e e Comparer les r´sultats obtenus par les diff´rentes m´thodes e e e

´ B.6. TD N˚7 : METHODE DE ZDAN

101

B.6

TD n˚7 : M´thode de Zdan e
1 p(1 + p)

Le processus ` commander a pour transmittance op´rationnelle G(p) d´finie par : a e e G(p) =

D´terminer la valeur limite Tmax de la p´riode d’´chantillonnage. e e e En prenant Te =1 seconde, faire la synth`se du correcteur num´rique C(z) de mani`re ` ce que : e e e a ˆ L’erreur permanente du syst`me boucl´, vis-`-vis d’une entr´e en rampe soit nulle. e e a e ˆ Le syst`me corrig´, boucl´, poss`de une dynamique identique ` celle d’un syst`me continu du second e e e e a e ordre de pulsation ωn = 0.2 rad.s−1 et de facteur d’amortissement ξ = 0.6. ˆ Que peut-on pr´voir quant au d´passement relatif ` la r´ponse indicielle ? e e a e ˆ Quelle est la valeur de l’erreur d’ordre 2 en r´gime permanent ? e

Comparaison des synth`ses ` temps d’´tablissement fini. e a e
La transmittance en z du processus ` contrˆler est : a o G(z) = 0.025z −1 (1 + 0.816z −1 ) (1 − 0.952z −1 )(1 − 0.528z −1 )

ˆ Quelle est la diff´rence fondamentale entre r´ponse pile et r´ponse ` temps d’´tablissement minimal ? e e e a e ˆ Faites la synth`se dans les deux cas. e ˆ Comparez les points suivants : — la valeur de l’erreur en r´gime permanent, e — la valeur maximum de la commande, — le temps d’´tablissement. e

102

´ ANNEXE B. TRAVAUX DIRIGES

B.7

TD n˚8 : Synth`se d’un r´gulateur RST e e
dy 1 d2 y 3 du = −aby(t) + (a + b) + abu(t) + ( b − 2a) dt2 dt 2 2 dt

On souhaite contrˆler ` l’aide d’un calculateur num´rique le proc´d´ continu d´crit par l’´quation diff´rentielle : o a e e e e e e

avec a=ln(2) et b=ln(3) La loi de commande uk est appliqu´e au syst`me ` l’aide d’un convertisseur num´rique/analogique mod´lis´ e e a e e e par un bloqueur d’ordre z´ro ; un convertisseur analogique/num´rique mod´lis´ comme un ´chantillonneur, est e e e e e plac´ en sortie (voir figure 1). e

Mod´lisation e
1. Donner la fonction de transfert G(p) =
Y (p) U (p)

du proc´d´ continu e e
Y (z) U (z)

2. On choisit Te =1s , donner la fonction de transfert G(z) =

du proc´d´ ´chantillonn´. e ee e

R´gulation proportionnelle e

1. D´terminer en utilisant le crit`re de Jury, les valeurs de K qui stabilisent le syst`me. e e e

R´gulateur RST e
On souhaite que le syst`me se comporte comme un syst`me du 1˚ ordre de gain statique unit´ et de constante e e e de temps τ = 2s. On souhaite ´galement une erreur statique nulle en r´ponse ` un ´chelon de perturbation sur e e a e l’entr´e de commande U . e 1. Calculer le r´gulateur RST qui satisfait ces conditions (voir principe du calcul page suivante). e 2. A l’aide de simulink tracer la r´ponse ` un ´chelon unitaire de consigne et un ´chelon de perturbation e a e e d’amplitude 0.1 intervenant ` t = 10s. a

` ´ B.7. TD N˚8 : SYNTHESE D’UN REGULATEUR RST

103

Principe de calcul d’un R´gulateur RST e On utilise une structure qui agit diff´remment sur la consigne et sur la sortie : e H(z) = B(z) T (z) A(z) S(z)

R(z) S(z) Ou R, S, T sont des polynˆmes en z qui doivent respecter les contraintes : o   deg(S) deg(R)  deg(S) deg(T ) pour que le r´gulateur soit r´alisable. e e On souhaite que le syst`me corrig´ se comporte comme le mod`le : e e e M (z) = Bm (z) Am (z)

Le calcul de la transmittance en boucle ferm´e conduit ` la relation : e a BT Bm (z) = AS + BR Am (z) (B.1)

Cette relation conditionne les choix suivants : ˆ les z´ros de B(z) qui ne sont pas des z´ros de Bm (z) doivent ˆtre des z´ros de AS + BR. e e e e ˆ Le syst`me compens´ devant ˆtre stable, les z´ros de B(z)dont le module est sup´rieur ` 1, doivent ˆtre e e e e e a e des z´ros de Bm (z). e Nous noterons B(z) = Bi (z)Bs (z) o` Bi (z) contient les z´ros “ instables ” et Bs (z) contient les z´ros u e e “ stables ” de B(z). Nous noterons Bm (z) = Bi (z)Bm (z) . ˆ les z´ros de Bs (z) doivent ˆtre des z´ros de AS + BR donc n´cessairement des z´ros de S(z). e e e e e Pour assurer la pr´cision on peut introduire un certain nombre α d’int´grateurs. e e De ces diff´rentes conditions on peut d´duire :S(z) = (z − 1)α Bs (z)S (z) e e L’´galit´ (B.1) devient : e e Bi Bs T Bi Bm = A(z − 1)α Bs S (z) + Bi Bs R Am soit : A(z − T 1)α S (z) + Bi R = Bm Am

(B.2)

(B.3)

Introduisons le polynˆme P(z) nomm´ polynˆme d’observation tel que o e o T = Bm P L’´quation du syst`me compens´ devient : e e e P Am = A(z − 1)α S + Bi R ou encore : Bs P Am = AS + BR On peut montrer qu’une solution de cette ´quation doit v´rifier les in´galit´s : e e e e   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
Ce tutorial est honteusement ”vol´” ` Bruno Jouvencel Professeur ` l’universit´ de Montpellier. e a a e Vous trouverez d’autres documents de qualit´ sur sa page personnelle : e http://www.lirmm.fr/~jouvence/.

105

jouvencel

INTRODUCTION A MATLAB
ENVIRONNEMENT MATLAB
Matlab est un environnement de calcul numérique matriciel. Après le lancement de Matlab, une fenêtre de commande apparaît qui permet à l'utilisateur de taper une commande quelconque obéissant à la syntaxe de Matlab. :

">>" symbole/prompt apparaissant à gauche et indiquant que l'interpréteur est prêt à recevoir une commande. Variables Les variables définies par l'utilisateur sont rangées dans l'espace mémoire de Matlab, ces variables sont dites globales. Le "Workspace browser" permet d'observer les variables existantes. Les commandes who ou whos permettent d'obtenir les mêmes informations. Pour lancer le Workspace browser, icône : Répertoires de travail Matlab permet d'ouvrir, de créer, de modifier etc… des fichiers. Matlab sauvegarde tous les fichiers créés dans le répertoire par défaut qu'il est possible de modifier à l'aide de la commande "cd" ou en lançant le "path browser" à l'aide de l'icône suivant : La fenêtre suivante apparaît , il est alors possible de changer le répertoire courant. Quand une commande est taper, matlab recherche celle-ci dans l'ensemble des répertoires dont la liste apparaît dans la fenêtre "path", on peut ajouter ou supprimer un répertoire de son choix.

1

Introduction Matlab

jouvencel

Aide / Help L'icône permet d'accéder à l'aide en ligne, la fenêtre d'aide est ouverte

Les commandes suivantes >> help >> helpwin (la fenêtre ci-contre) >> helpdesk (manuel complet avec Acrobat Reader) Toute commande Matlab possède une entête fournissant des informations sur la commande et sa syntaxe. la commande : >>lookfor mot-clé permet d'avoir la liste des commandes ont l'entête contient mot-clé Autres outils Editeur : accès par FileËNewËM_file ou icône Débugger : intégrer à l'éditeur Array_editor : dans le Workspace Browser, double clic sur une variable. Simulink : environnement graphique de simulation de systèmes dynamique : Interpréteur >> commande résultat affichage du résultat >> interpréteur disponible >> commande ; le point virgule provoque l'absence de l'affichage du résultat >> interpréteur disponible Format d'affichage Les résultats numériques sont affichés avec le format défini par défaut et redéfinissable par l'utilisateur. ËFileË Preferences Commentaires Le symbole % introduit un commentaire, celui-ci n'est pas évalué par l'interpréteur.

2

Introduction Matlab

jouvencel

DONNEES
Vecteurs Vecteur ligne >> v=[1 2 3 4 5] ; % vecteur 1*5 >> v=[1:5]; % résultat identique à la ligne précédente (incrément de 1 par défaut) >> v= [1:1:5]; % idem incrément spécifié Vecteur transposé >> v=[1 2 3 4 5] '; % vecteur 5*1 >> v=[1:5]'; >> v= [1:1:5]'; >> w=v'; >> v1 =[borne inf:increment:borne sup]; >> v1(i) ; %ième élément 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); % élément ligne i colonne j >>A(:,n); % nième colonne >>A(p,:); % pième 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 données >> clear >> clear A % supprime toutes les variables % supprime la variable A

Sauvegarde des données save nom_fichier A B C % sauve les variables A B et C dans le fichier nom_fichier load nom_fichier % récupération des données

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 : procédure arguments valeur retournée action sur utilité function définition accés par lookfor accés par help corps function f = fact(n) %fact factorielle % fact(n) retourne n! f=prod(1:n); Script Non Non var globales actions répétées function Oui oui variables locales et globales Extension matlab

Plusieurs variables d'entrée / sortie function [a,b]= nomFonction(c,d,e)

4

Introduction Matlab

jouvencel

GRAPHISME
Tout tracé avec Matlab, s'effectue dans une fenêtre graphique que l'on crée par la commande figure ou quand on exécute une commande de dessin (plot …). On peut créer autant de fenêtres graphiques que l'on veut celles-ci étant numérotées de 1 à N au fur et à mesure de leur création. La fenêtre graphique par défaut et la dernière qui a été créée par figure ou la dernière activée par une commande de dessin ou sélectionnée avec la souris. • • figure % crée une fenêtre graphique qui devient la figure par défaut, figure(n) % crée une fenêtre graphique numéro n qui devient la fenêtre active

Fonctions • plot t = 0:0.1:5; x = 2*sin(2*pi*t); plot(t,x); % dessin de x en fonction de t, interpolation linéaire entre les points. plot(t,x,'-') % idem avec style - - plot(t,x,'b-') % idem style --- couleur bleue plot(t,x,'o') % idem pas d'interpolation, chaque point marqué par o Un plot provoque l'effacement du dessin précédent (par défaut) on peut superposer des dessins en mettant le commutateur hold à on • hold on % désactivation par hold off • title('Titre de la figure'); • xlabel('commentaire sur l'axe x'); • ylabel('idem axe y'); • axis([xmin,xmax,ymin,ymax]); % définit l'échelle des axes • legend('tracé 1','tracé 2',….) ; %chaque tracé est associé à une légende • grid % affiche une grille • text(x,y,'texte') % place texte à la position x y dans la fenêtre • gtext('texte") % place texte à la position définie avec la souris Une fenêtre graphique peut être subdivisée en plusieurs tracés, subplot(n,p,q)% subdivision en n*q dessin et sélectionne à qième

5

Introduction Matlab

jouvencel

SIMULINK
LANCEMENT DE SIMULINK:
Dans la fenêtre de commande de Matlab: Cliquer sur cet icône pour lancer Simulink

La fenêtre suivante contenant les librairies de simulink, apparaît ainsi qu'une fenêtre de travail. librairies de simulink

fenêtre de travail

Construction d'un modèle dans la fenêtre de travail Méthode de placement d'un composant • on sélectionne une librairie de simulink : double clic pour l'ouvrir (exemple librairie : Linear) • on sélectionne un composant (exemple Sum): • on maintient l'appui sur le bouton gauche de la souris • on fait glisser l'élément dans la fenêtre de travail • on relâche le bouton.

6

Introduction Matlab

jouvencel

Exercice : construire l'environnement décrit dans la figure suivante, on indique au-dessus de chaque élément, la librairie d'origine.

Réalisation des connexions Méthode : • On sélectionne avec la souris, le symbole > situé sur un composant • On maintient l'appui sur le bouton et on tire le lien vers un symbole > • On peut relâcher le bouton pour changer de direction. • On vérifie que la connexion est correcte par le fait que la flèche est accentuée Paramétrage des composants Méthode • On effectue un double clic sur le composant exemple Mux, la fenêtre de paramétrage s'ouvre, • On tape les valeurs désirées : ici la valeur 2 pour indiquer 2 entrées, • On ferme cette fenêtre par Close, les nouvelles valeurs sont prises en compte. Exercice • paramétrer le générateur sinusoïdal avec une amplitude de 2 et une fréquence de 0.5 Hz • le gain sera réglé à 0.5. • régler la fréquence de départ du chirp à 0.01 hz Désignation des composants Chaque composant possède un nom par défaut exemple Gain, on peut modifier ce nom. Méthode • clic sur le nom • on tape un nouveau nom

7

Introduction Matlab

jouvencel

Marquage des liens ou connexions Méthode • Double clic sur le lien que l'on veut marquer, • une fenêtre apparaît qui vous indique le bon déroulement de l'opération. • on tape un nom exemple sin, Réitérer l'opération pour le chirp

Propagation des marquages Méthode • à la sortie d'un composant : double clic sur le lien, • taper le symbole < puis cliquer hors de cette fenêtre, • taper Ctrl D (contrôle D) Renvoi d'un signal et récupération Afin de ne pas surcharger le dessin, on peut utiliser 2 composants situés dans la librairie connections qui permettent d'effectuer une transition sans fil. Ces 2 composants s'appellent GOTO et FROM Le "tag" possède 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 fenêtre de travail Il est possible de redimensionner chaque composant • • • on le sélectionne, on saisit une poignée, on étire ou on diminue.

Dans le menu Format de la fenêtre on dispose d'autres commandes (il faut d'abord sélectionner un composant).

• • • • • • •

Font permet de choisir le type de caractères 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 sélectionner une couleur pour le texte Background color : de sélectionner une couleur pour le bloc

On peut de même 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 sélectionnant et touche Suppr, • Modifier la position d'un composant en le sélectionnant on laisse la touche gauche de la souris appuyée et on le déplace. • dupliquer un composant : on le sélectionne, on appuie sur la touche Ctrl on faisant glisser le composant. 9 Introduction Matlab

jouvencel

On peut revenir en arrière de toute opération en utilisant l'icône Undo
start

undo

Modification des liens • • •

déroulement simulation

en utilisant les poignées situées sur le lien (une fois sélectionner celles-ci apparaissent), en appuyant sur le bouton droit de la souris on ajoute un nouveau départ, shift et bouton gauche permet d'ajouter de nouvelles poignées de changement de direction.

nouveau départ

nouvelle poignée

SIMULATION
Paramétrage de la simulation La simulation utilise un certain nombre de paramètres : menu simulationË parameters • instant de départ ( 0 par défaut) • instant d'arrêt (mettre 20s) On étudiera ultérieurement les autres paramètres. Faire close ce qui valide les modifications. Lancement de la simulation • menu simulation Ë start • ou ctrl T • ou icône > Une sonnerie indique la fin de la simulation

10

Introduction Matlab

jouvencel

Exercice lancer la simulation après avoir ouvert le scope

• • • • •

On peut effectuer des zooms avant/arrière avec les 3 premiers icônes ajuster les axes avec le 4° sauver les données avec le 5° régler le scope avec le 6° imprimer avec le dernier

LIEN ENTRE SIMULINK ET MATLAB
Pour diverses opérations, il est intéressant de disposer des signaux dans l'environnement de matlab ou de récupérer des signaux définis dans matlab. 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'à présent ceci est réalisé avec le bloc nommé "signaux" sur lequel arrive le tag "de" Exercice : Dans la fenêtre de commande matlab, taper plot(tout,signaux) signaux est une variable contenant les signaux générés tout est une variable que l'on verra plus tard Récupération de signaux issus de matlab Le bloc FromWorkspace de la librairie Source permet de définir des signaux dans l'environnement Matlab et de les utiliser dans l'environnement de Simulink. Exemple On définit la variable T=0:0.01:20; ainsi que le signal désiré U=sin(2*pi*t^3); Attention les vecteurs T et U doivent être des vecteurs colonnes.

11

Introduction Matlab

jouvencel

SIMULATION D'UN SYSTEME NON LINEAIRE
Construction d'un modèle non linéaire Exemple :
& x1 = x 2 + u cos( x1 ) & x2 = u y = x1

On commence par créer le système à l'aide du bloc Fcn de la librairie NonLinear L'entrée de ce bloc est nommée u et peut-être un vecteur Les composantes sont désignées par u(1) u(2) etc…
& Ë la fonction correspondant à x1 s'écrit : u(3)+u(1)*cos(u(2)) Ë si les entrées sont respectivement u,x1 et x2 Ë ceci est programmé dans la fenêtre de définition de Fcn

La construction du système cidessus, utilise des intégrateurs (librairie linear) et des multiplexeurs (librairie Connexions) comme sur la figure suivante.

On peut alors effectuer une simulation du système, on voit que celui-ci diverge, le contrôle de ce système sera vu ultérieurement dans le chapitre commande non linéaire. Création d'un sous système On va encapsuler le système précédent dans un sous système, cette méthode permet de rendre plus lisible un schéma et de paramétrer le sous-système. Méthode • on sélectionne tous les éléments qui formeront le sous-système • On tape Ctrl G (ou EditËCreate SubSystem)

12

Introduction Matlab

jouvencel

• •

On obtient : un bloc nommé Subsystem que l'on peut renommer, les entrées et sorties peuvent être elle aussi renommées à l'intérieur du bloc (double clic pour ouvrir le bloc). Des ports d'entrée et de sortie on été rajoutés automatiquement, on peut en ajouter par exemple le port correspondant à x2

On va introduire un gain suivant x2 d'une valeur désignée par g Ë edit Ë Mask SubsystemË initialization

En cliquant maintenant sur le soussystème, on obtient la fenêtre suivante, dans laquelle on fixe une valeur de g

On prend en compte cette valeur pour la dérivée de x2 par exemple par Ë editËLook under Mask

13

Introduction Matlab

jouvencel

MODELISATION D’UN SYSTEME LINEAIRE MONOVARIABLE ET SIMULATION
But : Construire un modèle continu en représentation externe et le simuler. Définition du système : H ( p ) = Format : • Une fonction de transfert monovariable peut être représentée • Soit par le rapport de 2 polynômes en p (ou s). Dans Matlab, un polynôme se représente par un vecteur de paramètres suivant les puissances décroissantes de p par exemple : le dénominateur de l’exemple ci-dessus se représente par le vecteur : [1 0.2 1] • Soit par une représentation par zéros et pôles Matlab utilise un modèle LTI pour la définition de systèmes

1 p + 0.2 p + 1
2

création d’un modèle LTI {Linear Time Invariant} • • • • • • • • Définir le numérateur exemple : >num = 1 ; Définir le dénominateur exemple >den = [1 0.2 1] ; Construire le système LTI exemple > sys1= tf(num,den) ; Faire afficher sys1 en tapant le nom puis sur la touche Return Vecteur définissant les zéros exemple : > zz=[] %aucun Vecteur définissant les pôles exemple : > pp=[ -0.1000 + 0.9950i -0.1000-0.9950i] Gain exemple > k=1 Construire le système : > sys2=zpk(zz,pp,k)

Ou

Les propriétés d’un modèle 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 / système continu sinon la période d’échantillonnage Td = 0 ……………0 ou la valeur d’un retard sur l’entrée InputName = {''}………… on peut donner un nom à l’entrée OutputName = {''}…………Idem pour la sortie Notes = {} UserData = [] modification des champs à l’aide de la fonction set >set(sys,'Variable','p') Transfer function: 1 --------------p^2 + 0.2 p + 1 analyse du système • Diagramme de bode > bode(sys1) • Diagramme de Nyquist > nyquist(sys1) • Diagramme de Nichols > nichols(sys1) • Tracé des pôles et des zéros > pzmap(sys1) • Lieu des pôles > rlocus(sys1) Note : après chacune de ces commandes, la commande grid permet d’obtenir un maillage adapté au type de diagramme. • Calcul des zéros, des pôles et du gain >[Z,P,K]=zpkdata(sys1,'v') • Pôles seuls >pole(sys1) • ou eig(sys1) • Calcul des marges de phase et de gain >margin(sys1) Simulation • Réponse impulsionnelle >impulse(sys1) • Réponse à un échelon > step(sys1) • Réponse à une entrée quelconque : • Il faut définir la variable temporelle t=0 :0.01 :10 ; • Il faut définir l’entrée u=sin(t) • On simule > lsim(sys1,u,t) Interface de travail avec les modèle LTI Matlab offre un environnement de travail que l’on obtient en tapant >ltiview Utilisation de simulink Le modèle LTI peut-être utilisé dans l’environnement de simulink • Ouvrir successivement : Blocksets&toolsboxesË LTI /exer5/aexer5

15

Introduction Matlab

jouvencel

• • •

Faire glisser dans la fenêtre de travail le bloc lti Taper le nom sys1 après un double clic sur le bloc. Simuler le système.

Tout ce qui précède permet de travailler pratiquement indépendamment de simulink, dans la suite, nous allons nous servir uniquement de simulink qui permet d’interconnecter facilement des systèmes. Interconnexion de systèmes But : définir un correcteur à avance de phase et corriger le système du stage précédent {aexer6/exer6} Rappel : calcul d’un correcteur à avance de phase (pendant la séance) • calculer le correcteur • construire l’environnement suivant qui permet de comparer sans et avec correcteur /exer6/

Calculer le gain statique du système

Discrétisation du correcteur Rappel : cf. cours /exer7/aexer7 • • • Extraire le numérateur et le dénominateur de sysc le correcteur continu Utiliser la fonction c2d avec la méthode de Tustin pour transformée le correcteur continu en correcteur discret avec une période d’échantillonnage de 0.1s, Simuler ce correcteur discret et comparer le au résultats obtenus avec le correcteur continu.

16

Introduction Matlab

jouvencel

Compléments Le correcteur à avance de phase calculé précédemment, possède un gain statique que l’on peut déterminer de la manière suivante : /aexer8/exer8 Calcul du système en boucle ouverte > sysbo = sysc*sys Calcul du système en boucle fermée > sysbf = feedback(sysbo,1) Attention le dénominateur n’est pas normalisé Gain statique : Gs = sysbf(0) Si on désire 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 vérifie dans ce cas que la marge de phase diminue, pour modifier la marge de phase, on recalcule le correcteur en prenant en compte cette écart.

MODELISATION D’UN SYSTEME LINEAIRE MULTIVARIABLE ET SIMULATION
Rappel sur la représentation d’état (cf . stage) Un système dynamique linéaire multivariable se met sous la forme suivante

17

Introduction Matlab

jouvencel

& X (t ) = AX (t ) + Bu (t ) s (t ) = Cu (t ) + Du (t )

ou

X k +1 = FX k + Gu k s k = CX k + Du k

X(t) (Xk) A (F) U(t) (uk) B (G) S(t) (sk) C D

est le vecteur d’état de dimension n la matrice d’évolution ou d’état de dimension n n la commande de dimension r la matrice d’entrée de dimension n r la sortie de dimension m la matrice d’observation de dimension m n la matrice de couplage entrée/sortie de dimension m r

Création d’un modèle LTI en représentation d’état : ss Les propriétés s’obtiennent 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 déplace sur un rail (position r, vitesse r ), le dispositif pendulaire est constitué d'une tige [L] à l'extrémité de laquelle, est montée une masse [M]. La liaison entre le chariot et le pendule est une rotoïde non actionnée. Les équations différentielles régissant le mouvement du chariot et celui du pendule sont données par les équations suivantes :

&& & JQ + KQ - M1 l s g sin(Q) + M1 l s &&cos(Q) = 0 r
&& & & M && + f R r + M1 l s [Qcos(Q) - Q 2 sin(Q)] = f r

avec : r: f : 18 la position du chariot (m) la force horizontale appliquée au chariot (en N) Introduction Matlab

jouvencel

q: M1 : M0 : M: ls : J K, fR : g:

la position angulaire du pendule (en rd) la masse du pendule (Kg) la masse du chariot la masse totale du chariot et du pendule distance au chariot, du centre de gravité du pendule (m) Inertie (kg m2) coefficients de frottement visqueux du pendule et du chariot gravité.

Mise en équation voir le document en annexe Représentation d’état du système linéarisé et normalisé:
È0 Í0 & X=Í Í0 Í Î0 È1 Y = Í0 Í Í0 Î ˘ È 0 ˘ ˙ Í ˙ 0 0 1 ˙X + Í 0 ˙u Í- 6.1347 ˙ - 0.1289 - 1.9148 0.0008 ˙ ˙ Í ˙ 21.4964 26.3388 - 0.1362˚ Î84.3862 ˚ 0 0 0˘ È0 ˘ 1 0 0 ˙ X + Í0 ˙ u ˙ Í ˙ Í0 ˙ 0 1 0˙ ˚ Î ˚ 0 - 1.9503 0

Simulation du système stabilisé (cor_lin1)

• 1 Calcul de l’observateur • 2 Calcul du retour d’état • 3 Calcul du gain statique •4 Construction de l’environnement • 5 Simulation

Figure 2 Schéma du système stabilisé ÿ ÿ ÿ ÿ Simuler le fonctionnement du système Le système est-il stabilisé ? Vérifier le bon fonctionnement de l'observateur Exercer une forte variation de position au chariot, le modèle est-il réaliste ?

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

19

Introduction Matlab

jouvencel

Ajout d’une correction intégrale sur la position du chariot

Etape 3 : Limitation de la commande (cor_lin3) Ajout d’une saturation sur l’entrée du pendule

Etape 4 : Simulation avec le modèle non linéaire (cor_nl) On remplace le modèle linéarisé par le modèle non linéaire du pendule

20

Introduction Matlab

126

ANNEXE C. TUTORIAL MATLAB

Annexe D

Annales
e 1`re ann´e e Juin 2006

Devoir personnel
Tous documents autoris´s e

Ce devoir est l’´tude d’un syst`me instable qu’il faut rendre tr`s rapide e e e Vous avez le choix des armes, Matlab, Mathematica, Maple, binˆme ... Mais comprenez ce que vous faites ! o R´daction manuscrite obligatoire. e

1

Continu
−0.2416s + 2.133 − 0.6419s − 0.03555

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

s2

avec s : op´rateur de Laplace (notation Matlab) e

1.1

En boucle ouverte

1. Ce syst`me est-il stable ? e 2. Tracer dans le plan complexe les pˆles et les z´ros du syst`me. o e e 3. Calculez la r´ponse indicielle du syst`me en boucle ouverte. e e

1.2

En boucle ferm´e e

1. Le correcteur ´tant un gain pur, montrer qu’il n’existe pas de gain tel que le syst`me soit stable. e e 2. Comment peut-on le v´rifier avec Matlab ? e

2
2.1

Echantillonn´ e
Echantillonnage

On choisit d’´chantillonner le syst`me ` une fr´quence de 1 Hz. e e a e 1. Que pensez vous de ce choix ? 2. Calculez la fonction de transfert en z de ce syst`me en y introduisant un bloqueur d’ordre 0. e 127

128

ANNEXE D. ANNALES

2.2

Correcteur en temps d’´tablissement minimal e

1. Calculez le correcteur s´rie qui minimise le temps d’´tablissement pour une entr´e en ´chelon. e e e e 2. Le correcteur obtenu est-il ”en temps d’´tablissement minimal” ou ”en temps d’´tablissement minimal e e absolu”. 3. En utilisant le crit`re de Jury, v´rifier que le syst`me boucl´ est stable. e e e e 4. Calculer l’erreur statique et l’erreur de traˆ ınage (respectivement ` une entr´e en ´chelon puis en rampe) a e e 5. D´terminer l’´quation r´currente de ce correcteur. e e e

2.3

Correcteur ` r´ponse pile a e

1. Calculez le correcteur s´rie qui donne une r´ponse ”pile” pour une entr´e en ´chelon. e e e e 2. Rappelez bri`vement le point commun avec le correcteur pr´c´dent et la diff´rence fondamentale. e e e e 3. En utilisant le crit`re de Jury, v´rifier que le syst`me boucl´ est stable. e e e e 4. Calculer l’erreur statique et l’erreur de traˆ ınage (respectivement ` un entr´e en ´chelon puis en rampe) a e e 5. D´terminer l’´quation r´currente de ce correcteur. e e e

2.4

Comparaison

1. Comparez les deux correcteur pr´c´dents en fonction de crit`res que je vous laisse appr´cier. e e e e

JUIN 2006 e 1`re ann´e e Juin 2006

129

Examen d’automatique
Tous documents autoris´s, dur´e : 3h e e

Cet examen se d´compose en quatre parties ind´pendantes, le bar`me est purement indicatif. Conseil : limitez e e e la pr´cision de vos r´sultats ` 10−3 . e e a

1

Exercice 1 (4 pts, 30 mn)

La fonction de transfert G(z) est telle que : G(z) = (1 − 2z −1 )(1 + 0.5z −1 )(1 − 0.5z −1 ) (1 + 1.5z −1 − 0.81z −2 − 1.215z −3 )

1. En utilisant le crit`re de Jury, d´terminez si le syst`me est stable en boucle ouverte. e e e 2. L’un de pˆles de G(z) est en 0.9, d´terminez les autres pˆles du syst`me. o e o e On choisit un correcteur de la forme : C(z) = K (1 − az −1 )(1 − αz −1 ) (1 − bz −1 )(1 − βz −1 )

3. Choisissez a et b de fa¸on ` compenser respectivement un pˆle et un z´ro du syst`me. Une explication c a o e e claire est demand´e. e 4. Choisissez β pour avoir une erreur statique nulle. 5. Choisissez K et α pour fixer une dynamique convenable. 6. Donnez l’´quation r´currente du correcteur. e e

2

Exercice 2 (5 pts, 30 mn)
p−1 (p + 1)(p + 2)

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

1. L’objectif ´tant de rendre le syst`me environ 3 fois plus rapide en boucle ferm´e qu’en boucle ouverte, e e e proposez une p´riode d’´chantillonnage. e e 2. Quel que soit le r´sultat de la question pr´c´dente, calculez G(z) la fonction de transfert du syst`me e e e e ´chantillonn´ pr´c´d´ d’un bloqueur d’ordre 0 en prenant Te = 1s. e e e e e 3. D´terminez un correcteur par la m´thode de Zdan tel que : e e ˆ le syst`me pr´sente une erreur permanente nulle pour une entr´e en rampe e e e ˆ le syst`me en boucle ferm´e se comporte comme un syst`me du troisi`me ordre poss´dant 3 pˆles e e e e e o en 0.5. ˆ Aide : d´marrez la r´solution en prenant ∆1 (z) = kc (1 + α1 z −1 ) et ∆2 (z) = 1 + β1 z −1 e e 4. V´rifiez la stabilit´ et la causalit´ du correcteur obtenu. e e e 5. V´rifiez que le syst`me pr´sente bien une erreur statique nulle pour une entr´e en ´chelon. e e e e e 6. Sans calcul, dites pourquoi les caract´ristiques du syst`me en boucle ferm´e sont assez ´loign´es du cahier e e e e e des charges pos´. e

130

ANNEXE D. ANNALES

3

Exercice 3 (3 pts, 30 mn)
yk+2 − 0.9yk+1 + 0.2yk = uk yk+1 : : : : pi`ces produites au jour k + 1 e pi`ces produites au jour k e commande, en pi`ces ` produire au jour k e a constante r´elle e

La production d’une machine est mod´lisable par une ´quation r´currente de la forme : e e e

o` : u

yk uk a

1. Calculez H(z) la transform´e en z du syst`me d´crit pr´c´demment. e e e e e 2. Calculez la r´ponse indicielle yh (kTe ) de ce syst`me. e e 3. Calculez la r´ponse impulsionnelle yδ (kTe ). e Supposons que la commande est de type ´chelon A ∗ U (kTe ), e 4. Quelle amplitude A faut-il appliquer pour que l’ˆ produise exactement 1000 pi`ces en 5 jours ? ılot e

4

Probl`me (8 pts, 1h30) e

Afin d’´tudier la m´canique de la rupture de mat´riaux composites, on utilise le m´canisme suivant. En l’absence e e e e de frottements, l’´nergie cin´tique de la pointe est enti`rement dissip´e dans la propagation de la fissure. La e e e e mesure de la vitesse et celle de la longueur de la fissure permettent de comparer diff´rents mat´riaux composites. e e

Fig. D.1 – Impacteur, sch´ma de principe. e La vitesse d’impact est fonction de l’angle initial θ0 , donc de la dext´rit´ de l’utilisateur. Pour am´liorer le e e e syst`me on utilise alors un moteur couple1 plac´ sur l’axe de rotation qui permet d’asservir la vitesse d’impact. e e Le temps entre le d´marrage et l’impact ´tant tr`s court, il faut utiliser un asservissement tr`s rapide. e e e e Au sein du probl`me les diff´rentes parties sont largement ind´pendantes. e e e

4.1
1 En

Mod´lisation e
GB : pan-cake motor, moteur ´lectrique ` courant continu pr´sentant un fort couple mais une faible vitesse. e a e

Hyp : La masse est suppos´e ponctuelle et situ´e ` une distance L de l’axe de rotation. e e a

JUIN 2006

131

1. D´terminez l’´quation diff´rentielle non lin´aire du mouvement de la tige θ(t) en fonction des param`tres e e e e e L, M , g la constante de gravit´ terrestre et Γ le couple moteur. e 2. En faisant l’hypoth`se, classique, que θ est petit d´terminez l’´quation diff´rentielle lin´aire du mouvement e e e e e de la pointe. 3. Calculez la transform´e de Laplace de l’´quation diff´rentielle pr´c´dente en tenant compte des conditions e e e e e ˙ ˙ initiales θ(0) = θ0 et θ(0) = θ0 . 4. Calculez alors la fonction de transfert continue du syst`me (angle du syst`me vis-`-vis du couple moteur. e e a G(p) = Θ(p) Γ(p)

5. Dessinez un sch´ma bloc faisant apparaˆ la fonction de transfert G(p), la position initiale θ0 apparaissant e ıtre comme une perturbation. La fonction de transfert du moteur couple est : H(p) = Γ(p) kc = U (p) R + Ls p

Γ U o` : kc u R Ls

: : : : :

Couple moteur tension d’induit contante de couple r´sistance d’induit e Inductance s´rie de l’induit e

6. Dessinez le sch´ma bloc du syst`me complet (moteur + syst`me m´canique et perturbation). e e e e

4.2

Commande du couple moteur

On ne s’int´resse dans cette partie qu’` l’asservissement du couple moteur. e a Un essai de pompage du courant moteur donne le r´sultat indiqu´ sur la figure D.2. e e

Fig. D.2 – Ph´nom`ne de pompage du courant d’induit : oscillation obtenue pour un gain Kosc = 40 on mesure e e alors Tosc = 1ms. 1. D´terminez les constantes kp , Ti et Td du correcteur PID donn´ ci-apr`s pour asservir le courant dans le e e e moteur. 1 U (p) P ID(p) = = kp (1 + + Td p) ε(p) Ti p 2. D´duisez-en les constantes kp , Ti , Td et τ correcteur PID de la forme suivante : e P ID(p) = U (p) 1 Td p = kp (1 + + ) ε(p) Ti p 1 + τ p

3. Au vu du r´sultat pr´sent´ en figure D.2, calculez une p´riode d’´chantillonnage correcte pour implanter e e e e e le correcteur pr´c´dent sous forme num´rique. Le calcul du correcteur num´rique, n’est pas demand´ mais e e e e e quelques explications sont les bienvenues !

132

ANNEXE D. ANNALES

4.3

Commande de la vitesse

Dans cette partie, la constante de temps dominante du syst`me moteur corrig´ par le PID pr´c´dent est si e e e e petite vis-`-vis des constantes de temps du syst`me m´canique que le moteur corrig´ par le PID est consid´r´ a e e e ee comme un gain km . 1. D´terminez un correcteur ` r´ponse pile pour une entr´e en rampe. e a e e

4.4

Traitement du signal

Les donn´es de vitesse et position sont enregistr´es sur le calculateur pour un traitement du signal hors ligne. e e 1. les donn´es, ´chantillonn´es ` fe = 1 kHz sont filtr´es avec un filtre num´rique de la forme : e e e a e e F (z) = z+2 (z − 0.5)2

Calculez le diagramme de Bode du filtre analogique ´quivalent et son domaine de validit´. e e

Applications num´riques e
AN : kc = 1; R = 1; Ls = 1; km = 1; L = 1; L1 = 1; M = 1; g = 10

JUIN 2007 e 1`re ann´e e Juin 2007

133

Devoir personnel
Ce devoir est l’´tude d’une m´thode de commande un peu particuli`re dite commande par mod`le interne. Le e e e e principe n’est pas d’asservir une sortie ` une consigne mais d’asservir la sortie d’un syst`me ` celle d’un mod`le. a e a e Vous avez le choix des armes, Matlab, Mathematica, Maple, binˆme ... Mais comprenez ce que vous faites ! o

Fig. D.3 – Sch´ma g´n´ral d’une commande par mod`le interne. e e e e

1

Questions
k s+1 k s+1

La fonction de transfert Gr (s) est telle que : Gr (s) = et on choisira : F1 (z) = F2 (z) = avec s : op´rateur de Laplace (notation Matlab) e 1. Choisir une p´riode d’´chantillonnage du syst`me. e e e 2. Montrer que si k = k il existe un gain H0 tel que l’erreur statique soit nulle malgr´ la perturbation en e ´chelon. e 3. A partir de maintenant, on prendra : Gr (s) = avec F1 (z) = F2 (z), H(z) quelconque 4. Calculer la fonction de transfert globale entr´e sortie du syst`me. e e 5. Proposer un cahier des charges plausible pour le syst`me en boucle ferm´e. e e 6. Calculer les fonctions de transfert F1 (z), F2 (z) et H(z), en fonction du cahier des charges. 7. Donner l’algorithme de commande. 1 s+2 et Gm (s) = Z 1 2s + 1 et Gm (s) = Z BOZ(p)

z z−a

et

H(z) = H0 = cte

134 e 1`re ann´e e Juin 2007

ANNEXE D. ANNALES

Examen d’automatique
Tous documents autoris´s, dur´e : 2h e e

Cet examen se d´compose en six parties presque ind´pendantes, le sujet est difficilement faisable dans le temps e e imparti. Ne perdez pas de temps sur une question difficile, passez ` la suivante. Conseil : limitez la pr´cision a e de vos r´sultats ` 10−3 . e a Le probl`me pos´ est l’asservissement de force d’un bloc moteur du drone compos´ d’un moteur synchrone dit e e e moteur ”brushless”, de son collecteur ´lectronique et d’une h´lice ` pas variable. L’objet de cette ´tude est en e e a e particulier la r´gulation de la vitesse du moteur ` 6000 tr/mn et ce, quel que soit le pas de l’h´lice. e a e

Fig. D.4 – Syst`me ` r´guler. e a e

Fig. D.5 – Sch´ma bloc g´n´ral de l’asservissement de force. e e e

1

Etude analogique

Fig. D.6 – Sch´ma de l’asservissement avec un correcteur PID. e

JUIN 2007

135

Le moteur est repr´sent´ par une constante de temps T = 20ms , le collecteur ´lectronique lui, se comporte e e e comme un retard pur de dur´e τ = 5ms. Dans cette partie on ne prendra pas en compte l’existence d’une e perturbation. G(p) = 1. Tracer la r´ponse indicielle de G(p). e 2. D´terminer un correcteur analogique de type PI pour l’asservissement de ce syst`me. e e 3. Sans calcul mais avec une br`ve justification, quel sera probablement le d´passement de la sortie pour e e une entr´e en ´chelon ? e e 10e−τ p 1 + Tp

2

Asservissement num´rique e

Tous comptes faits, on d´cide de placer un correcteur num´rique. La p´riode d’´chantillonnage est : Te = 5 ms. e e e e L’objectif est d’obtenir une r´ponse indicielle la plus rapide possible. e

Fig. D.7 – Syst`me boucl´ avec un correcteur de type ”temps d’´tablissement minimal”. e e e 1. Que pensez-vous de cette p´riode d’´chantillonnage ? e e 2. Calculer la fonction de transfert en z G(z) de l’ensemble collecteur ´lectronique + moteur pr´c´d´ d’un e e e e −τ p bloqueur d’ordre 0. (G(p) = 10e p ) 1+T 3. D´composer G(z) sous la forme : e G(z) = B + (z)B − (z) A+ (z)A− (z)

o` B + (z), A+ (z) sont compensables et B − (z), A− (z) ne le sont pas. u 4. Expliquez pourquoi la recherche d’un correcteur donnant une boucle ferm´e ´quivalente ` 1 retard pur e e a est vou´e ` l’´chec. e a e 5. Calculer un correcteur C(z) qui donne une r´ponse en temps minimal. On cherche donc C(z) tel que : e C(z)G(z) = z −2 1 + C(z)G(z) 6. Calculer les trois premiers ´chantillons de la commande du moteur c’est-`-dire de la sortie du correcteur. e a

3

R´gulation num´rique - Zdan e e

Dans cette partie, la variation de couple due au pas variable est prise en compte sous la forme d’un couple de perturbation comme indiqu´ sur la figure D.8. e

Fig. D.8 – Mod`le du syst`me avec la perturbation due au pas variable mod´lis´e par une rampe. e e e e 1. Calculer un correcteur C(z) avec la m´thode de Zdan ayant pour caract´ristiques : e e

136
ˆ mod`le en boucle ferm´e de type troisi`me ordre e e e

ANNEXE D. ANNALES

N (z) (1 − 0.5z −1 )3
ˆ erreur statique nulle, et ce malgr´ la perturbation en rampe. e On prendra pour la partie C3 du correcteur de Zdan la forme :

C3 (z) =

∆1 (z) K(1 − z1 z −1 ) = ∆2 (z) 1 − z2 z −1

2. Calculer l’erreur permanente de votre syst`me corrig´ en l’absence de perturbation. e e 3. V´rifier la stabilit´ de votre correcteur. e e 4. Calculer l’´quation r´currente de votre correcteur et v´rifier la causalit´ de ce correcteur. e e e e

4

R´gulation num´rique - Commande par anticipation e e

Afin de diminuer le d´passement obtenu par le correcteur pr´c´dent, on se propose d’implanter une commande e e e par anticipation.

Fig. D.9 – Commande par anticipation. Le correcteur D(z) sera choisi presque identique ` C(z) de la forme : a C(z) = C1 (z)C2 (z)C3 (z) = D(z) = C1 (z)C2 (z)C3 (z) = A+ (z) ∆1 (z) 1 −1 )n B + (z) ∆ (z) (1 − z 2 1 A+ (z) ∆1 (z) (1 − z −1 )n B + (z) ∆2 (z)

1. Montrez que ∆1 (z) n’influe que sur les z´ros de la boucle ferm´e. e e 2. Calculez ∆1 (z), ∆2 (z) et ∆1 (z) tels que la transmittance en boucle ferm´e soit exactement ´gale ` e e a z −2 (1−0.5z −1 )3 . Aide : reprenez la solution de la question 3.1 3. Calculer les trois polynˆmes R(z),S(z) et T (z) d’un correcteur RST qui permettrai d’obtenir exactement o la mˆme dynamique que la commande par anticipation en boucle ferm´e. e e

5

Asservissement de force
F = aθω 3

La relation force verticale en fonction de la vitesse du moteur ω et du pas θ est suppos´e de la forme : e

Application num´rique : F0 = 1 N pour θ0 = 10˚et ω0 = 6000 tr/mn e 1. D´terminer a. e
3 2. Donner un mod`le lin´aris´ de la force autour de sa valeur nominale F0 = aθ0 ω0 de la forme F = e e e F0 + αθ + βω par d´veloppement limit´. e e

3. Donner un sch´ma bloc du syst`me complet incluant la force. e e 4. D´terminer la fonction de transfert entre la commande de pas et la sortie en force, le syst`me ´tant r´gul´ e e e e e par la commande par anticipation. 5. Le pas et la vitesse ´tant quantifi´s par des CAN de 8 bits, soit 28 pas de quantification entre 0 et 8000 e e tr/mn et entre ±45˚, quelle est l’erreur de force en r´gime ´tabli ? e e

JUIN 2008

137

6

Questions ind´pendantes pour ceux qui finissent trop tˆt e o
1. Calculer la transform´e en z du signal donn´ en figure D.10. e e

Fig. D.10 – R´ponse indicielle d´sir´e. e e e 2. Soit H(z) une transmittance op´rationnelle d’un syst`me qui soumise ` un ´chelon unit´ pr´sente en e e a e e e sortie la r´ponse pr´sent´e en figure D.10. Calculer H(z). e e e 3. Le syst`me repr´sent´ par : e e e D(z) = est-il stable ? 4. Tracer intuitivement le lieu d’Evans de la fonction de transfert suivante : F (z) = z + 0.5 z 2 + 0.2z + 0.4 z+3 z 3 + 1.2z 2 − .25z − 0.3

dont les pˆles et le z´ro sont repr´sent´s sur la figure D.11. o e e e

Fig. D.11 – Pˆles et z´ros de F (z). o e

138 e 1`re ann´e e Juin 2008

ANNEXE D. ANNALES

Examen d’automatique
Tous documents autoris´s, dur´e : 2h e e Le probl`me pos´ est la r´gulation de fr´quence d’un oscillateur ultra-stable ` 7 GHz. Embarqu´ sur un satellite, e e e e a e cet oscillateur d´rive dans le temps en fonction des variations de temp´rature du saphir. On s’attachera ` la e e a r´alisation de deux r´gulateurs ind´pendants : une r´gulation analogique de phase qui corrige la fr´quence e e e e e et une r´gulation num´rique de temp´rature. Ces deux signaux sont traduits en une tension continue par un e e e capteur appropri´. e

1

R´gulation analogique de phase e

Il s’agit ici de d´terminer un correcteur analogique qui agit sur la phase de la fr´quence de 7 GHz ultra-stable. e e la transmittance entre la phase et la fr´quence est H(p). e

Fig. D.12 – Lieu d’Evans du syst`me. e 1. Le lieu d’Evans du syst`me H(p) = e de type PI de Ziegler-Nichols.
S(p) U (p)

est donn´ en figure D.12. En d´duire un correcteur analogique e e

2. Le diagramme de Bode du syst`me form´ du correcteur PI calcul´ pr´c´demment suivi de la transmittance e e e e e H(p) (voir fig. D.14) est donn´ en figure D.14 (un zoom est donn´ en figure D.15). Mesurez la marge de e e phase ∆φ et la marge de gain ∆G. 3. Le syst`me boucl´ par un retour unitaire et corrig´ par le correcteur d´termin´ pr´c´demment pr´sente e e e e e e e e une r´ponse indicielle ayant trop de d´passement. On se propose de baisser la gain pour le rendre moins e e rapide. Calculez le nouveau gain du correcteur PI afin d’avoir une marge de phase de 90 degr´s (T i reste e identique). 4. Au vu de votre exp´rience, quel type de r´ponse indicielle devrait-on avoir avec un telle marge de phase ? e e

JUIN 2008

139

Fig. D.13 – Syst`me pr´c´d´ du correcteur PI. e e e e

Fig. D.14 – Diagramme de Bode du syst`me pr´sent´ en figure D.13. e e e

Fig. D.15 – Diagramme de Bode du syst`me pr´sent´ en figure D.13 (zoom sur la zone critique). e e e

2

Transposition du r´gulateur analogique e
1. Tout comptes faits, on d´cide d’implanter le correcteur analogique calcul´ pr´c´demment sur un calculae e e e teur num´rique. Rappelez en deux lignes les principaux avantages du r´gulateur num´rique sur sa version e e e analogique.

140

ANNEXE D. ANNALES

2. Calculez un correcteur num´rique par la m´thode de votre choix que vous justifierez. e e 3. Choisissez la p´riode d’´chantillonnage maximum pour ´viter le ph´nom`ne de recouvrement de spectre e e e e e en faisant l’hypoth`se que le spectre du signal est limit´ ` 104 rad.s−1 . e ea

3

R´gulation num´rique de temp´rature e e e

Description du syst`me Ce saphir, de tr`s haut facteur de qualit´, est pos´ dans une enceinte isol´e e e e e e thermiquement. Afin d’´viter tout choc thermique, la dynamique d’asservissement est choisie tr`s lente. Une e e fois dans l’espace, le saphir met plusieurs heures ` atteindre sa temp´rature de fonctionnement. Deux types de a e perturbation apparaissent : ˆ V (z) en entr´e du syst`me repr´sente les variations de temp´rature dues aux d´rives de l’´lectronique e e e e e e et sont mod´lis´es par une rampe. e e ˆ E(z) en sortie repr´sente l’influence du soleil sur le satellite. Elle est repr´sent´e par une perturbation e e e sinuso¨ ıdale.

Fig. D.16 – Sch´ma bloc de la fonction de transfert entre la temp´rature de sortie Y et la puissance d’entr´e U e e e en pr´sence des perturbations V et E. V est une perturbation de charge de type rampe, E est une perturbation e de sortie de type sinuso¨ ıdal.

Cahier des charges ˆ L’erreur permanente d’ordre 0 (r´ponse ` l’´chelon d’entr´e W (z) doit ˆtre nulle et ce, y compris en cas e a e e e de perturbations V (z) en forme de rampe. ˆ Le syst`me en boucle ferm´e doit rejeter les perturbation sinuso¨ e e ıdales E(z) ˆ Le syst`me doit r´pondre tr`s lentement ` un ´chelon de consigne W (z), le comportement en boucle e e e a e ferm´e est plus lent qu’en boucle ouverte ! On d´sire un comportement de type premier ordre, la constante e e de temps est de 5 heures soit 18000 secondes.

JUIN 2008

141

3.1

Mod´lisation e

Mod´lisation du syst`me en boucle ouverte sans perturbations La temp´rature du saphir au cours e e e du temps est mesur´e apr`s avoir soumis le syst`me ` un ´chelon de puissance thermique. Le r´sultat est donn´ e e e a e e e figure D.17.

Fig. D.17 – R´ponse de la temp´rature du saphir en fonction d’un ´chelon unitaire de puissance. e e e 1. On fait l’hypoth`se que la transmittance du syst`me est de la forme : e e G(p) = k (1 + τ p)2

Pr`s avoir donn´ la r´ponse temporelle s(t) de G(p) soumise ` un ´chelon unit´, d´terminez graphiquement e e e a e e e les valeurs de k et τ . 2. D´terminez la transform´e en z de la transmittance G(p) pr´c´d´e d’un bloqueur d’ordre 0 ´chantillonn´e e e e e e e e avec une p´riode T e = τ /5. e Mod´lisation du syst`me voulu en boucle ferm´e e e e 1. Proposez une transmittance continue (en p), r´pondant au cahier des charges. e 2. D´terminez la fonction de transfert du mod`le M (z) = e e analogique pr´c´d´ par un bloqueur d’ordre 0. e e e
Bm (z) Am (z)

qui est la transform´e en z de votre mod`le e e

142 Premier correcteur

ANNEXE D. ANNALES

Fig. D.18 – Principe de correction par correcteur RST. V(z) est une perturbation de charge de type rampe, E(z) est une perturbation de sortie de type sinuso¨ ıdal. Quel que soit le r´sultat de la partie pr´c´dente, vous continuerez avec la fonction de transfert e e e en z 0.01752z + 0.01534 B(z) = 2 G(z) = A(z) z − 1.637z + 0.6703 Dans cette partie on ne tiendra pas compte de la perturbation sinuso¨ ıdale E(z). 1. D´composez G(z) sous la forme : e G(z) = B + (z)B − (z) A+ (z)A− (z)

o` B + (z), A+ (z) sont compensables et B − (z), A− (z) ne le sont pas. u 2. On d´compose le polynˆme S(z) en un produit de trois polynˆmes : e o o ˆ S1 (z) contient le nombre d’int´grateurs purs n´cessaires pour r´pondre au cahier des charges, e e e ˆ S2 (z) compense les z´ros compensables de B(z), e ˆ S3 (z) assurera la dynamique voulue en boucle ferm´e. e Donnez les polynˆmes S1 (z) et S2 (z). o 3. D´terminez S3 (z) et R(z) tels que la transmittance du syst`me en boucle ferm´e soit ´gale ` celle du e e e e a mod`le de comportement voulu M (z). e 4. Calculez l’erreur permanente de votre syst`me corrig´ en l’absence de perturbation. e e le correcteur RST est finalement implant´ sous la forme donn´e en figure D.19. e e

Fig. D.19 – Implantation du correcteur RST. 5. V´rifiez la stabilit´ du correcteur C(z) = e e
R(z) S(z)

=

U (z) ε(z) .

6. Calculez l’´quation r´currente de votre correcteur et v´rifiez la causalit´ de ce correcteur. e e e e 7. En utilisant le th´or`me de la valeur finale, d´terminez la valeur de la commande en r´gime permanent e e e e U∞ , le syst`me ´tant soumis ` un ´chelon d’entr´e, les perturbations ´tant nulles. e e a e e e

JANVIER 2009 Correcteur r´jecteur de la perturbation sinuso¨ e ıdale

143

Ce g´n´rateur de fr´quence est embarqu´ sur un satellite qui tourne autour de la terre en 90 minutes. Le capteur e e e e de temp´rature subit alors une perturbation sinuso¨ e ıdale de p´riode T = 90mn. On se propose ici de recalculer e un nouveau correcteur qui rejette asymptotiquement cette perturbation. 1. En reprenant le sch´ma D.18, Calculez la fonction de transfert Gp (z) = e du syst`me et en introduisant le polynˆme d’observation A0 . e o
Y (z) E(z)

en fonction des param`tres e

2. Calculez la pulsation ω du signal de perturbation puis calculez la transform´e en z du signal sinuso¨ e ıdal E(t) = sin(ωt) ´chantillonn´ ` la p´riode T e. e ea e 3. Calculez alors le signal Y (z) en fonction de ce signal E(z), tous les autres signaux entrant ´tant nuls. e 4. Proposez une condition sur les polynˆmes S et sur A0 afin que la sortie Y (z) ne d´pende plus du signal o e sinuso¨ ıdal. 5. Calculez le correcteur RST qui r´pond au cahier des charges complet. e

144 e 1`re ann´e e Janvier 2009

ANNEXE D. ANNALES

Examen d’automatique
Tous documents autoris´s, dur´e : 2h e e

Le probl`me pos´ est le positionnement d’un t´lescope sur monture azimutale. On ne s’occupera dans ce sujet e e e que de la partie r´glage de l’azimut. Dans la phase de ”mise en station” (recherche de deux ´toiles bien connues) e e et de pointage vers un objet pr´cis (plan`te, n´buleuse, com`te ...), le t´lescope sera asservi par un correcteur e e e e e de type Zdan. L’objet ´tant visualis´, la poursuite de cet objet sera r´alis´e par un correcteur de type ”r´ponse e e e e e pile”. Le passage d’un correcteur ` l’autre ne sera pas ´tudi´. a e e

Fig. D.20 – T´lescope ` monture azimutale. e a

1

Mod´lisation e
¨ ˙ J θ + B θ = Γc + Γp

Le mouvement du t´lescope est d´crit par l’´quation diff´rentielle suivante e e e e

avec : J θ B Γc Γp : L’inertie de l’ensemble moteur + parabole : la position angulaire de l’antenne : le coefficient de frottement visqueux : le couple moteur : le couple de perturbation

1. D´terminer la transform´e de Laplace de cette ´quation diff´rentielle en supposant les conditions initiales e e e e nulles. 2. Donner le sch´ma bloc de ce syst`me. On posera pour simplifier l’´criture : B/J = a, Γc /B = u et e e e Γp /B = w. 3. En faisant l’hypoth`se que Γp = 0, d´terminer la fonction de transfert continue G(p) = e e
θ(p) u(p)

de ce syst`me. e

4. Tracer ` main lev´e, la forme g´n´rale du diagramme de Bode asymptotique de G(p) en module et en a e e e phase. 5. En d´duire le diagramme de Nyquist. Ce syst`me peut-il devenir instable si on le boucle par un gain (voir e e figure D.21) ? 6. D´terminer la fonction de transfert ´chantillonn´e G(z) de ce syst`me pr´c´d´ d’un bloqueur d’ordre 0. e e e e e e e

JANVIER 2009

145

Fig. D.21 – Syst`me boucl´ sans bloqueur d’ordre e e 0

Fig. D.22 – Syst`me boucl´ avec un bloqueur e e d’ordre 0

2

R´gulation num´rique : correcteur PI e e

Avec a = 10, en prenant une p´riode d’´chantillonnage T e = 20 ms et en bouclant par un retour unitaire le e e syst`me pr´c´d´ par un bloqueur d’ordre 0 et un gain K = 100 (voir figure D.22), l’ensemble se met ` osciller e e e e a a ` une fr´quence de 5 Hz sans quitter le domaine de lin´arit´. e e e 1. Au vu du r´sultat pr´c´dent, proposer un correcteur de type PI num´rique qui donne de ”bons” r´sultats. e e e e e 2. Donner alors le sch´ma bloc de ce correcteur PI. e

3

R´gulation num´rique : phase de mise en station e e

Quel que soit le r´sultat de la partie pr´c´dente, vous continuerez avec la fonction de transfert e e e en z 0.001873z + 0.001752 B(z) = G(z) = A(z) (z − 1)(z − 0.8173)

3.1

R´glage de base e
B + (z)B − (z) m (1 − z −1 ) A+ (z)A− (z)

1. D´composez G(z) sous la forme : e G(z) =

o` B + (z), A+ (z) sont compensables et B − (z), A− (z) ne le sont pas. u 2. On d´compose le correcteur C(z) en un produit de trois correcteurs : e ˆ C1 (z) contient le nombre d’int´grateurs purs n´cessaires pour obtenir une erreur statique nulle en e e pr´sence d’un couple de perturbation Γc de type ´chelon e e ˆ C2 (z) compense les pˆles et z´ros compensables de G(z), (rappel : on ne compense pas (1−z1 )m ) o e −1 ˆ C3 (z) assurera la dynamique voulue en boucle ferm´e. e Donnez les polynˆmes C1 (z) et C2 (z). o 3. D´terminez C3 (z) = ∆1 (z) tel que le syst`me corrig´, boucl´, poss`de une dynamique identique ` celle d’un e e e e e a ∆2 (z) −1 syst`me continu du second ordre de pulsation ωn = 1 rad.s et de facteur d’amortissement ξ = 0.707. e La p´riode d’´chantillonnage Te sera choisie ´gale ` 0.2 secondes. e e e a Aide : s’il n’y a pas d’erreur ∆1 (z) = α + βz −1 et ∆2 (z) = γ 4. V´rifier, par le calcul, que l’erreur statique de ce syst`me est nulle y compris en pr´sence d’une perture e e bation. 5. Presque sans calcul, quelle est l’erreur permanente de vitesse en l’absence de perturbation.

3.2

R´glage avanc´ e e

On souhaite dans cette partie am´liorer le comportement dynamique du syst`me en boucle ferm´e en choisissant e e e un r´glage qui impose une erreur permanente d’acc´l´ration εa (∞) non nulle mais aussi faible que l’on veut. e ee Dans notre cas on choisira εa (∞) = 0.1. Le correcteur propos´ est de la forme : C(z) = C1 (z) × C2 (z) × D3 (z) e o` C1 et C2 sont ceux d´termin´s pr´c´demment et D3 est de la forme2 : u e e e e D3 = ∆1 (z) + (1 − z −1 )2 × M (z) ∆2 (z) − M (z)

avec ∆1 (z) et ∆2 (z) calcul´s pr´c´demment. e e e
2 Attention

cette forme est particuli`re pour ce syst`me, ce n’est pas g´n´ralisable. e e e e

146 1. Donnez la transform´e en z d’un signal de type parabolique. e

ANNEXE D. ANNALES

2. En prenant M (z) = cte = m0 , montrer que l’erreur d’acc´l´ration du syst`me en boucle ferm´e d´pend ee e e e de m0 . 3. Calculer m0 tel que εa (∞) = 0.1.

4

R´gulation num´rique : phase de poursuite e e
1. Est-il possible de calculer un correcteur ` r´ponse pile pour une entr´e de type rampe pour ce syst`me ? a e e e Est-ce faisable pour une entr´e de type parabole ? e 2. D´terminer un correcteur ` r´ponse pile pour une entr´e de type rampe. e a e e Aide : s’il n’y a pas d’erreur L(z) = α + βz −1 et K(z) = γ + ξz −1 (notations du cours) 3. En utilisant le th´or`me de la valeur finale, calculer l’erreur permanente de vitesse (entr´e de type rampe). e e e 4. Calculer l’´quation r´currente de votre correcteur et v´rifier la causalit´ de ce correcteur. e e e e

Dans cette phase, l’asservissement est assur´ par un correcteur de type ”r´ponse pile”. e e

Sign up to vote on this title
UsefulNot useful