Vous êtes sur la page 1sur 52

Haute Ecole d'Ingnirie et de Gestion du canton de Vaud (HEIG-VD) Dpartement des technologies industrielles (

TIN)

Filire Gnie Electrique


(laboratoire)

Rgulation numrique (REN)


in s t i t u t d ' Automatisation in d u s t r i e l l e
Prof. Michel ETIQUE, novembre 2008, Yverdon-les-Bains

HEIG-VD

Laboratoire de rgulation numrique

v.1.4

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Table des matires

I Gnralits sur le laboratoire de rgulation numrique 5


1 Programme du laboratoire
1.1 Programme du laboratoire de rgulation numrique . . . . . . . . 1.1.1 Remarques gnrales . . . . . . . . . . . . . . . . . . . . . Comment crire un rapport d'exprience ? . . . . . . . . . . . . . 2.1.1 Remarques concernant la notation des rapports . . . . . . 2.1.2 Remarques diverses concernant la mthode de travail et la rdaction des rapports . . . . . . . . . . . . . . . . . . . . Indications concernant la rdaction d'un compte rendu de laboratoire

7 9

8 8

2 Rdaction des rapports et compte-rendus


2.1

10 11 13 14

2.2

II Descriptifs des travaux de laboratoire


3 Rgulateur PID numrique
3.1 3.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . Ralisation d'un rgulateur PID numrique . . . . . . . 3.2.1 But et cahier des charges du travail . . . . . . . 3.2.2 Environnements matriel et logiciel disposition 3.A Canevas du chier regul.c . . . . . . . . . . . . . . . . . 3.B Rgulateur PID numrique . . . . . . . . . . . . . . . . 3.B.1 Loi de commande . . . . . . . . . . . . . . . . . 3.B.2 Algorithme selon "textbook" . . . . . . . . . . . 3.B.3 Algorithme modi . . . . . . . . . . . . . . . . 4.1 4.2 4.3 Introduction . . . . . . . . . . . . . . . . . Conditions gnrales des mesures . . . . . Identication du foehn . . . . . . . . . . . 4.3.1 Relev de la caractristique statique 4.3.2 Recherche du modle dynamique du 3 . . . . . . . . . . . . . . . . foehn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15
17
18 18 18 19 22 23 23 24 25

4 Rgulation de temprature

27

28 28 29 29 29

v.1.4

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
4.4

Laboratoire de rgulation numrique

Synthse et essai du rgulateur PI . . . . 4.4.1 Synthse du rgulateur . . . . . . 4.4.2 Essai du rgulateur . . . . . . . . 4.5 Imposition d'un point de fonctionnement 4.A Exemple de programme MATLAB . . . . 5.1 5.2 5.3

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

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

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

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

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

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

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

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

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

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

30 30 30 32 34

5 Rgulation de la hauteur d'une balle dans un tube


Introduction . . . . . . . . . . . . . . . . . . . . . Description du systme . . . . . . . . . . . . . . . Modlisation . . . . . . . . . . . . . . . . . . . . . 5.3.1 Le ventilateur . . . . . . . . . . . . . . . . 5.3.2 La balle dans le tube . . . . . . . . . . . . 5.3.3 Le capteur ultrasons . . . . . . . . . . . 5.3.4 Fonction de transfert du systme complet . Identication . . . . . . . . . . . . . . . . . . . . 5.4.1 Caractristique dynamique du capteur . . 5.4.2 Caractristique dynamique du ventilateur . 5.4.3 Fonction de transfert du systme complet . Choix et synthse d'un rgulateur . . . . . . . . . 5.5.1 Rgulateur P . . . . . . . . . . . . . . . . 5.5.2 Rgulateur PI . . . . . . . . . . . . . . . . 5.5.3 Rgulateur PID . . . . . . . . . . . . . . . 5.5.4 Conclusions . . . . . . . . . . . . . . . . . Essais de rgulation de la hauteur de la balle . . .

37

5.4

5.5

5.6

38 38 39 39 39 41 41 41 41 42 42 45 46 46 46 46 46

v.1.4

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Premire partie Gnralits sur le laboratoire de rgulation numrique

v.1.4

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Chapitre 1 Programme du laboratoire

v.1.4

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

1.1 Programme du laboratoire de rgulation numrique


Date Sance
1 2 3 4 5 6

Sujet
Rgulateur PID numrique Rgulation numrique de temprature Rgulation numrique de la position d'une balle dans un tube

1.1.1 Remarques gnrales


 Les tudiants travaillent par groupes de deux ;  Un rapport ou un compte-rendu, selon les instructions, est demand sur chaque travail. Il doit tre remis avant de commencer un nouveau travail ;  Le laboratoire a lieu le vendredi matin, de 8h30 12h00 ;  Il est ncessaire de lire le protocole de la manipulation eectuer avant la sance de laboratoire.  Diverses informations telles que photos, mesures, courbes, etc concernant les manipulations se trouvent sur le site Web du laboratoire http://www.iai.heig-vd.ch/~mee//Laboratoires_regulation_aut.htm.

Il est recommand de se munir de documents tels que les notes de cours et exercices de rgulation automatique et numrique.

v.1.4

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Chapitre 2 Rdaction des rapports et compte-rendus

v.1.4

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

2.1 Comment crire un rapport d'exprience ?


An que les rsultats d'une exprience ne soient pas perdus, il est ncessaire de terminer celle-ci par la rdaction d'un rapport. Ce rapport doit tre crit de manire telle qu'il puisse tre compris mme par une personne non-informe. Dans ce but, il est ncessaire de bien dcrire l'exprience et d'expliquer quelles sont les grandeurs que l'on dsire dterminer. A la suite de quoi, il faut tablir les quations liant les grandeurs que l'on peut mesurer avec celles que l'on dsire connatre. Quand ces grandeurs sont enn chires, il faut encore analyser ces rsultats et justier leur validit. Pour remplir ces objectifs, un rapport doit contenir au moins les cinq paragraphes suivants (chacun d'eux pouvant tre subdivis en sous-paragraphes an de permettre une meilleure vision de l'ensemble de l'exprience) : 1. Introduction 2. Description et thorie 3. Rsultats exprimentaux 4. Analyse des rsultats 5. Conclusions Voyons prsent ce que chacun de ces paragraphes doit contenir :

Introduction

Description et thorie

Dans ce paragraphe, le problme rsoudre est plac dans son contexte. On prcisera brivement les grandeurs mesures, les mthodes utilises.

Rsultats exprimentaux

Ce paragraphe contient un bref rappel de la thorie donne dans le protocole d'exprience et fait mention de toutes les quations ncessaires pour la suite du rapport. A partir de ces relations fondamentales, il faut dvelopper tous les calculs ncessaires l'obtention des rsultats recherchs ou ventuellement donner la rfrence du document o l'on peut les retrouver.

Ici seront dcrites les direntes mesure faites : comment, avec quels instruments, etc. On prcisera en particulier : le schma de cblage, la technique de mesure, les appareils utiliss, la frquence, l'amplitude et la forme des signaux, etc. Les rsultats de ces mesures seront donns sous forme de graphiques contenant toutes les indications ncessaires la comprhension immdiate de son contenu : titres, chelles, units, domaines d'erreurs. Si les rsultats ne peuvent tre donns sous forme de graphiques, il faut les prsenter dans un tableau comportant un titre, les units des grandeurs mesures et les domaines d'erreurs. Mme si les moyens disposition permettent d'obtenir un grand nombre de graphiques, veillez n'en prsenter qu'un minimum en slectionnant uniquement ceux qui sont reprsentatifs ou instructifs. 10
MEE \labo_rn.tex 6 novembre 2008

v.1.4

HEIG-VD

Laboratoire de rgulation numrique

Analyse des rsultats

Ce dernier paragraphe constitue une analyse critique et objective des rsultats obtenus plus haut. En particulier, on mettra en vidence des eets inattendus ou intressants. On mentionnera les erreurs commises, les manires de les corriger ou les compenser ; enn, on prcisera la conance que l'on peut accorder aux mthodes employes. De plus, ce paragraphe est celui o l'on doit laisser libre cours son imagination. Il contiendra des propositions d'amlioration, de correction ainsi que des questions concernant des points peu clairs.

Conclusions

La conclusion doit tre brve, prcise et ne pas rpter ce qui a t dit prcdemment. Dites en une ou deux phrases ce qui caractrise l'exprience, justiez votre apprciation. Prcisez l'intrt et les extensions possibles. L'laboration d'un rapport n'est jamais une tche facile. Elle requiert toujours un minimum de rexion, le tri des informations disponibles et leur classement selon une squence bien dnie ; ce n'est qu'ensuite que la rdaction elle-mme peut commencer. Il faut faire preuve de bon sens, de logique mais aussi d'imagination. La mise au point d'un rapport est une occasion qui vous est oerte de manifester votre personnalit et de faire savoir que vous avez quelque chose dire. Un rapport prpar avec une motivation positive est une exprience passionnante.

2.1.1 Remarques concernant la notation des rapports


La notation d'un rapport est particulirement dicile et subjective car elle dpend essentiellement du sentiment que laisse la premire lecture de celui-ci et assez peu du travail qui a t rellement fourni au laboratoire ou pour sa rdaction. C'est pourquoi il peut parfois y avoir un sentiment d'injustice. Il ne faut cependant pas oublier que dans la profession de l'ingnieur, une grande partie de la communication se fait au travers de rapports et que par consquent, le soin apport la rdaction de ceux-ci est important. Tenant compte de ces remarques, les points attribus lors de la correction d'un rapport sont rpartis de la manire suivante :  travail minimum demand 3.5  prsentation et structure 0.3  description et thorie 0.5  travail exprimental 0.6  analyse dtaille et soigne 0.6  apport personnel 0.5 Il est vident que cette rpartition n'est qu'un guide pour la correction et qu'elle peut parfois tre modie.
v.1.4

11

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Apprciation du travail eectu Quantit de travail Essentiellement : travail au laboratoire et contenu du rapQualit des rsultats
port. Essentiellement : rsultats exprimentaux corrects, indpendamment de la qualit de la prsentation.

Rapport Structure, prsentation

Analyses, explications

Par exemple, introduction et conclusion situant le sujet, rsumant le travail eectu, permettant d'avoir une ide assez prcise du travail eectu sans lire l'entier du rapport, faisant le lien avec la thorie ou d'autres disciplines, citant des exemples d'applications pratiques, etc). Par exemple remarques, commentaires sur telle ou telle situation observe, point de vue critique, curiosit, etc.

Transfert de connaissances, documentation

Par exemple, situation du sujet dans son contexte, rfrence aux cours, application pratique, documentation des programmes, liste du matriel utilis, etc).

Gnralits Connaissance, matrise du sujet Apport personnel

Par exemple, comprhension de l'utilit des techniques apprises et mises en uvre au laboratoire. Les "plus" apports au travail, par exemple qualit rdactionnelle, essais complmentaires, remarques pertinentes, logiciels dvelopps, enthousiasme, intrt, etc.

v.1.4

12

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Grille d'valuation des rapports


1

Apprciation du travail effectu Rapport

Note Quantit de travail Qualit des rsultats Structure, prsentation Analyses, explications Transfert de connaissances, documentation Connaissance, matrise du sujet

Gnralits Note moyenne Apport personnel Note nale

2.1.2 Remarques diverses concernant la mthode de travail et la rdaction des rapports


Quelques conseils d'ordre pratique :  vitez le style tlgraphique ;  protez d'apprendre travailler avec des moyens modernes de documentation (traitement de texte, logiciels de dessin et de calcul, de prsentation, etc). Cet exercice vous permettra de gagner du temps au moment de la rdaction des rapports des travaux de semestre et de diplme et bien dans le cadre de votre vie professionnelle. Ceci est un conseil, mais nullement une obligation ;  vitez tout prix de copier la structure du protocole ;  introduisez convenablement le sujet, faites rfrence au cours, d'autres laboratoires, des cas pratiques ;  montrez au lecteur que vous comprenez ce que vous faites, que vous avez appris quelque chose, que vous en voyez l'utilit ou l'inutilit . . .  demandez conseil aux profs. ;  placez en annexe certains graphiques et des informations telles que numro de maquette, etc ;  protez de l'infrastructure informatique de laboratoire.

v.1.4

13

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

2.2 Indications concernant la rdaction d'un compte rendu de laboratoire


On donne ci-aprs quelques indications concernant la manire de rdiger un compte-rendu d'exprience du laboratoire de rgulation automatique. La forme de ces comptes-rendu est trs semblable ceux dj demands dans le cadre du laboratoire de robotique. Le but est de pouvoir fournir, directement la n de la manipulation, un mini-rapport de 1-2 pages au maximum (complt par d'ventuelles annexes) prsentant :  le sujet, le contexte et les objectifs du travail ;  les essais et mesures raliss ;  les conclusions, incluant d'ventuelles propositions, critiques, etc. Des annexes peuvent tres produites, contenant le cas chant des calculs, des tableaux de mesures, des graphiques, des copies d'cran, des listings, etc. Dans le compte-rendu doivent gurer la date, la classe, les noms et les signatures des exprimentateurs, ainsi que la liste des annexes. Bien que les informations y apparaissent sous forme condense, les quelques pages du compte-rendu doivent tre proprement et clairement prsentes, de faon qu'une tierce personne puisse les lire et se faire rapidement une ide du travail eectu, des rsultats obtenus (en qualit) et peut-tre de nouveaux essais entreprendre. Des dcisions devraient pouvoir tre prises sur la base de ce rapport. Cette forme de rapport crit a pour avantage de diminuer la quantit de travail eectuer domicile. En contre-partie, les tudiants doivent eectuer un certain travail prparatoire et faire preuve, pendant la manipulation, d'ecacit, d'esprit de synthse et montrer une certaine aptitude reprer les problmes essentiels. C'est ce type d'exercice qui correspond le mieux ce qui est exig en milieu industriel.

v.1.4

14

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Deuxime partie Descriptifs des travaux de laboratoire

v.1.4

15

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Chapitre 3 Rgulateur PID numrique

Rgulateur PID numrique

17

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

3.1 Introduction
Le but de ce travail de laboratoire est de programmer puis de mettre en oeuvre une premire version du rgulateur numrique de type PID. L'algorithme du rgulateur sera programm en langage de haut niveau (C) sur Windows XP puis test sur un systme rgler du laboratoire (simulateur analogique, foehn, rail, etc). Bien que l'environnement de travail propos (Windows XP, temps rel, Simulink, etc) puisse paratre relativement complexe, il est bon de se rappeler que la seule et unique fonction C que l'on demande de programmer est

reg_pid()
Le code devra se trouver dans le chier

regul.c
L'annexe 3.B page 23 fournit un rappel thorique le rgulateur PID numrique.

3.2 Ralisation d'un rgulateur PID numrique


3.2.1 But et cahier des charges du travail
On propose dans le cadre de cette manipulation de laboratoire d'crire le programme C implantant l'algorithme du rgulateur PID numrique prsent en annexe 3.B. Ce programme sera utilis ultrieurement dans le cadre du laboratoire de rgulation numrique. Le programme crire doit orir les fonctionnalits suivantes :  rgulateur PID comprenant les trois actions P, I et D ;  limitation logicielle de la grandeur de commande calcule par le rgulateur. Le code du rgulateur PID devra tre test et valid de faon ce que l'utilisateur ait l'assurance que les gains Kp , Ti et Td ainsi que la priode d'chantillonnage h qu'il applique sont bel et bien ceux pris en compte par la fonction implantant l'algorithme du rgulateur. Il est ncessaire de dnir la procdure de test, qui fait partie intgrante de ce travail. Le programme devra tre soigneusement document et l'on fera usage notamment de variables de type tableau pour la mmorisation des donnes ncessaires au fonctionnement du rgulateur. La fonction programme sera code dans le chier regul.c dont le canevas est disposition (chier regul.txt, voir annexe). Il s'agit du seul chier diter !
Rgulateur PID numrique, v.1.6

18

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

3.2.2 Environnements matriel et logiciel disposition


Il faut commencer par tlcharger et dcompresser le chier

pid_num.zip
partir du site http://www.iai.heig-vd.ch/~mee//Laboratoires_regulation_aut.htm dans votre propre rpertoire (qui devrait tre d:\users ou un de ses sousrpertoires que vous pouvez crer).

Edition du chier regul.c, programmation du rgulateur


La seule unique fonction que l'on demande de programmer devra se trouver dans le chier regul.c. Pour diter le code, l'diteur "PFE" est install et son utilisation est recommande. On peut l'appeler par son icne partir du bureau. Le canevas de ce chier est fourni. Il montre que les signaux provenant de la carte d'acquisition sont disponibles dans les variables globales in0, in1, in2 et in3.
f l o a t out0 , out1 ; / s o r t i e s a n a l o g i q u e s / f l o a t in0 , in1 , in2 , i n 3 ; / e n t r e e s a n a l o g i q u e s / / d e c a l a g e s a a p p l i q u e r s u r l e s s o r t i e s a n a l o g i q u e s / f l o a t offset_out0 , offset_out1 ; / d e c a l a g e s a a p p l i q u e r s u r l e s e n t r e e s a n a l o g i q u e s / f l o a t offset_in0 , offset_in1 , offset_in2 , offset_in3 ;

Les paramtres du rgulateur doivent quant eux tre dclars comme variables globales, par exemple comme suit :
/ g a i n s du r e g u l a t e u r PID / f l o a t Kp = 0 . 0 ; f l o a t Gi = 0 . 0 ; f l o a t Td = 0 . 0 ; float a = 0.01;
1 Le paramtre Gi est gal T . Pourquoi le gain sur l'action intgrale est-il implant i de cette manire ? De faon ce que ces paramtres soient visibles et modiables en ligne partir de RTPWatch, il faut les enregistrer dans le tableau var comme suit :

t_var var [ ] = { ... , v a r _ f l o a t (Kp) , v a r _ f l o a t ( Gi ) , v a r _ f l o a t (Td ) , ... , end_var_list };

/ D e c l a r a t i o n d e s v a r i a b l e s a c c e s s i b l e s d e p u i s l e PC v i a RTPWatch

Rgulateur PID numrique, v.1.6

19

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Si vous l'estimez ncessaire, vous pouvez bien sr crer d'autres fonctions prives de regul.c, comme par exemple une fonction de limitation de la commande. A noter que les valeurs numriques initiales, "par dfaut" des paramtres peuvent tre spcies dans regul.c : la fonction regulation_init est appele au dmarrage et les initialisations peuvent y tre places :
/ I n i t i a l i s a t i o n du r e g u l a t e u r
/

void r e g u l a t i o n _ i n i t ( void ) { / D e f i n i t i o n de l a f o n c t i o n e f f e c t u a n t l a r e g u l a t i o n de l a b o u c l e no1 / r e g u l a t i o n _ b o u c l e _ i n t e r n e = regul_PID ; / R e g u l a t e u r 1 / mode_boucle_interne = 1 ; / mode r e g u l a t i o n / / D e f i n i t i o n de l a f o n c t i o n e f f e c t u a n t l a r e g u l a t i o n de l a b o u c l e no2 / regulation_boucle_externe = regul_rien ; / R e g u l a t e u r 2/ mode_boucle_externe = 0 ; / mode r e g u l a t i o n / / I n i t i a l i s a t i o n d e s p a r a m e t r e s de l a r e g u l a t i o n / Kp = 0 . 0 ; Gi = 0 . 0 ; Td = 0 . 0 ; a = 0.01; AW = 0 ; offset_out0 = 0 . 0 ; offset_out1 = 0 . 0 ; offset_in0 offset_in1 offset_in2 offset_in3 = = = = 0.0; 0.0; 0.0; 0.0;

w = 0.0; umax = 1 0 . 0 ;

Les valeurs pourront ensuite tre modies en ligne via l'interface RTPWatch.

Compilation du chier regul.c

Vous pouvez compiler votre programme en lanant un compilateur C/C++


Rgulateur PID numrique, v.1.6

20

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

partir de l'diteur PFE, menu Execute DOS Command and Capture Output. La commande make ou make -B (quivalente l'opration build) doit tre tape. Si aucune erreur n'est dtecte, le chier objet (regul.obj) est gnr. Dans la ngative, la fentre PFE ouverte indique le message d'erreur.

Essai du rgulateur
Lorsque le code temps rel a t compil sans erreur, il faut lancer RTPWatch et utiliser l'outil Enregistreur. Slectionner Autre code temps rel dans le menu et choisir votre DLL se trouvant dans votre rpertoire de travail.

Rgulateur PID numrique, v.1.6

21

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

3.A Canevas du chier regul.c


/

/ REGUL. C

/ Version Date Auteur Motif 1 04/05/98 MEE R e g u l a t e u r s c a l a i r e de c o u r a n t R e g u l a t e u r PID de p o s i t i o n 2 14/08/99 MEE Mise a j o u r 3 06/09/99 MEE Adaptation pour temps r e e l NT 4 07/02/01 MEE Labo PID numerique 5 11/03/02 MEE Labo PID numerique avec c a r t e NI

#d e f i n e REGUL_C #i n c l u d e " r e g u l . h" / e n t t e de l ' u n i t / / Variables , constantes et fonctions r e l a t i v e s a la regulation

/ f l o a t out0 , out1 ; / s o r t i e s a n a l o g i q u e s / f l o a t in0 , in1 , in2 , i n 3 ; / e n t r e e s a n a l o g i q u e s / / d e c a l a g e s a a p p l i q u e r s u r l e s s o r t i e s a n a l o g i q u e s /

f l o a t offset_out0 , offset_out1 ; / d e c a l a g e s a a p p l i q u e r s u r l e s e n t r e e s a n a l o g i q u e s / f l o a t offset_in0 , offset_in1 , offset_in2 , offset_in3 ; f l o a t w; / c o n s i g n e / f l o a t w_0 = 0 . 0 ; / d e c a l a g e c o n s i g n e / / p e r i o d e d ' e c h a n t i l l l o n n a g e / f l o a t Te = 0 . 0 1 ; f l o a t Kp = 0 . 0 ; / g a i n s du r e g u l a t e u r PID / f l o a t Gi = 0 . 0 ; f l o a t Td = 0 . 0 ; float a = 0.01; / D e c l a r a t i o n d e s v a r i a b l e s a c c e s s i b l e s d e p u i s l e PC v i a RTPWatch t_var var [ ] = { v a r _ f l o a t (w) , var_float ( offset_out0 ) , var_float ( offset_in0 ) , var_float ( offset_in1 ) , v a r _ f l o a t (w_0) , v a r _ f l o a t ( Te ) , var_int (T_u) , v a r _ f l o a t (A_u) , end_var_list };

v o i d regul_PID ( ) {

/ R e g u l a t e u r PID

/ C a l c u l de l a c o n s i g n e / w = generateur_u ( 2 ) + w_0 ; // Mesures y = in0 offset_in0 ; / Algorithme / out0 = . . . ;


Rgulateur PID numrique, v.1.6

22

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
}

Laboratoire de rgulation numrique

void r e g u l a t i o n _ i n i t ( void ) { / D e f i n i t i o n de l a f o n c t i o n e f f e c t u a n t l a r e g u l a t i o n de l a b o u c l e no1 / r e g u l a t i o n _ b o u c l e _ i n t e r n e = regul_PID ; / R e g u l a t e u r 1 / mode_boucle_interne = 1 ; / mode r e g u l a t i o n / / D e f i n i t i o n de l a f o n c t i o n e f f e c t u a n t l a r e g u l a t i o n de l a b o u c l e no2 / regulation_boucle_externe = regul_rien ; / R e g u l a t e u r 2/ mode_boucle_externe = 0 ; / mode r e g u l a t i o n / / I n i t i a l i s a t i o n d e s p a r a m e t r e s de l a r e g u l a t i o n / Kp = 0 . 0 ; Gi = 0 . 0 ; Td = 0 . 0 ; a = 0.01; AW = 0 ; offset_out0 = 0 . 0 ; offset_out1 = 0 . 0 ; offset_in0 offset_in1 offset_in2 offset_in3 = = = = 0.0; 0.0; 0.0; 0.0;

/ I n i t i a l i s a t i o n du r e g u l a t e u r

w = 0.0; umax = 1 0 . 0 ;

3.B Rgulateur PID numrique


3.B.1 Loi de commande
La loi de commande du rgulateur PID numrique peut tre obtenue par discrtisation de celle d'un rgulateur PID analogique t 1 de u (t) = Kp e (t) + e ( ) d + Td Ti dt
0

o e(t) est le signal d'erreur. Cette loi est discrtise en l'valuant l'instant d'chantillonnage k h (not k par la suite an allger la notation, h tant constante). Pour ce faire, on eectue les substitutions

u (t) u [k ] e (t) e [k ] de e [k ] e [k 1] dt h

Rgulateur PID numrique, v.1.6

23

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

On voit que la drive de e(t) est approxim par la pente de la droite liant l'chantillon prsent e[k ] au prcdent e[k 1]. La rsolution de l'intgrale passe par le calcul de l'aire comprise entre l'axe t et le signal e(t). Une approximation de cette aire peut tre faite par la mthode des rectangles :
e ( k e ( t ) e ( 1 ) e ( k ) - 1 ) ( k - 1 ) i m g e

r e c t a n

l e

e ( 0

e ( k

( k

- 1

) h
h

( k

) h k

t ,

f _

. e p

L'intgrale de e(t) l'instant t = k h est donc approxime par une somme de rectangles de largeur h et de hauteur

e[0] e[1] e[2] ... e[k 1]


On a :
0 k h k 1

e ( ) d
l=0

e [l] h

La loi de commande discrte du rgulateur PID numrique devient :

u [k ] = K p

1 e [k ] + Ti

k 1

e [l] h + Td
l=0

e [k ] e [k 1] h

3.B.2 Algorithme selon "textbook"


La forme de la loi de commande obtenue ci-dessus se prte mal la programmation, puisqu'elle ncessite la mmorisation de toutes les valeurs passes e[0], e[1], e[2],. . ., e[k 1] du signal d'erreur numrique e[k ]. An de contourner cette
Rgulateur PID numrique, v.1.6

24

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

dicult, crivons les lois de commande aux instants prsent k et et prcdent [k 1] et soustrayons membre membre :

u [k ) u [k 1] = Kp

= Kp

1 e [k ] + Ti 1 Ti
k2

k1

e [l] h + Td
l=0

e [k ] e [k 1] h

e [k 1] +

e [l] h + Td
l=0

e [k 1] e [k 2] h

On obtient tout d'abord

u [k ] u [k 1] = Kp [e [k ] e [k 1]) + Kp Ti
k 1 k2

e [l ] h
l=0 l=0 e[k1]h

e [l ] h

+ Kp Td
puis

e [k ] e [k 1] e [k 1] e [k 2] h h

u [k ] u [k 1] 2 Td Td h = Kp 1 + e [k ] + Kp 1 + h Ti h
b0 b1

e [k 1] +

Kp Td e [k 2] h
b2

et nalement :

u [k ] u [k 1] = b0 e [k ] + b1 e [k 1] + b2 e [k 2]
La loi de commande du rgulateur PID numrique s'crit donc :

u [k ] = u [k 1] + b0 e [k ] + b1 e [k 1] + b2 e [k 2]
avec :

Td b0 = K p 1 + h h b1 = Kp 1 + T i d b2 = K p T h

2Td h

3.B.3 Algorithme modi


Pour des raisons pratiques, lies notamment des problmes de limitation, on a souvent intrt calculer les contributions intgrale et drive sparment, i.e. programmer :
i_e [ k ] = i_e [ k 1] + e [ k 1] d_e [ k ] = ( e [ k ]

e [ k 1]) f e

C'est cette forme que l'on propose d'implanter ici dans le code C.
Rgulateur PID numrique, v.1.6

25

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
Version du document v1.1 v1.2 v1.3 v1.4 v1.5 v1.6 v1.7 Date 12 mars 2002 11 mars 2003 9 mars 2004 3 janvier 2005 10 mars 2005 1er octobre 2007 3 octobre 2007

Laboratoire de rgulation numrique

Notes Traduction partir de Word, adaptation RTPWatch et la carte National

Table 3.1  Versions publies

Rgulateur PID numrique, v.1.6

26

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Chapitre 4 Rgulation de temprature

Rgulation de temprature

27

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
s o t e m p n d

Laboratoire de rgulation numrique

e r e

r a t u

o d e

v d

e r t u 'a i r

r e e

l 'a r r i v

a f f i c h t e m m p

a g e s u

d r e

e r e

l a

r a t u

c o

t a t e u

t e n " 0 - 2

t i o 0 0

m %

t r e " p

t e n " s e t

t i o v

m a l u

t r e e "

f _

f o

e h

z n

. e p

Figure 4.1  Vue du foehn : le signal d'entre est appliquer au point A, celui de sortie est mesurer au point B (chier source).

4.1 Introduction
Cette manipulation a pour but d'illustrer de manire complte l'utilisation des mthodes de rgulation automatique en les appliquant un systme thermique (foehn, gure 4.1). Ce travail permet aux tudiants de travailler sur un systme rel, bruit et lgrement non linaire.

4.2 Conditions gnrales des mesures


Toutes les mesures se font sur le mme foehn (relevez son numro( 1..10) ou son numro d'inventaire) dans les conditions suivantes : se rfrant la gure 4.1, le signal d'entre du systme rgler (tension aux bornes du corps de chaue) est la tension au point A, i.e. u(t) = uA (t), alors que le signal de sortie (temprature de l'air) est la tension au point Y, i.e. y (t) = uY (t). On veillera ce que : 1. La sonde de temprature soit en position centrale ; 2. L'ouverture d'amene d'air soit = 30 [ ] ; 3. Le commutateur "heater-heater/wattmeter", plac latralement, soit sur la position "heater".
Rgulation de temprature

28

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Avant d'eectuer des mesures, placez le commutateur 1 (gure 4.1 page prcdente) en position haute et xez le potentiomtre en position maximum (200%). Puis, l'aide du potentiomtre de Set Value, variez la temprature de sortie (Measured Value) entre 20 et 60 [ C]. Si cela n'est pas possible, informez un responsable.

4.3 Identication du foehn


4.3.1 Relev de la caractristique statique
En variant la tension UA , relevez la caractristique statique du foehn UY = f (UA ) et UY = f (T ) o T est la temprature ache en [ C]. Le programme RTPWatch avec l'outil Enregistreur pour Windows NT peut vous servir de voltmtre. Veillez parcourir toute la caractristique : une premire fois en augmentant progressivement la temprature depuis son minimum ; une deuxime fois en la diminuant depuis son maximum. Portez directement les points mesurs dans un chier MATLAB. Tracez la caractristique obtenue ; justiez sa forme. Marquez-y le domaine de fonctionnement compris en principe entre 35 et 45 [ C]. Que vaut le gain statique ?

4.3.2 Recherche du modle dynamique du foehn


Cblage
L'identication du modle du comportement dynamique peut se faire avec l'aide de RTPWatch, outil Enregistreur pour Windows NT et du programme d'identication identication.m pour MATLAB. Comme le programme d'identication travaille autour de 0 [V], il est ncessaire de ramener la tension UY vers zro l'aide d'une tension externe (voir 4.5 page 32). L'inverseur est utilis pour compenser l'inversion du premier sommateur de la maquette. Pour l'inverseur et la tension de dcalage, utilisez un amplicateur d'acquisition du laboratoire. Le commutateur de gain doit tre sur la position 3 (elle correspond au gain unit). Reliez le systme la carte A/D-D/A, out0 tant la sortie gnre par le PC et in0 l'entre lue par le PC et ache par l'Enregistreur pour Windows NT.

Modlisation temporelle
1. Ouvrez l'amene d'air 30 [ ] et l'aide du potentiomtre Set Value, xez le point de fonctionnement 35 [ C]. Laissez fonctionner le foehn pendant 5 minutes environ.
Rgulation de temprature

29

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

2. D'aprs la caractristique statique, quel saut de tension devez-vous appliquer au foehn pour que la temprature varie de 35 45 [ C] ? 3. A l'aide d'une tension de dcalage ( 4.5 page 32), ramenez la tension de sortie 0 [V] puis, enregistrez la rponse indicielle entre 35 et 45 [ C]. Identiez le modle correspondant la rponse temporelle. 4. Doublez l'amplitude du saut de tension ; quels changements observez-vous dans le modle ? Justiez-les.

Modlisation frquentielle
1. A l'aide du programme d'identication, mesurez la rponse frquentielle du foehn. Pour ce faire, ajustez la temprature 40 [ C] et la sortie 0 [V]. Dans le programme d'identication, choisissez une SBPA ou une somme de sinus phase alatoire d'amplitude 2 [V], de longueur 1024 et une priode d'chantillonnage de 0.1 [s]. N'oubliez pas le ltre anti-repliement spectral. 2. Modlisez la rponse frquentielle. Les modles temporel et frquentiel sontils comparables ? Sinon, en quoi et pourquoi dirent-ils ? 3. Quittez le programme d'identication avec Retour/Quitter. Enlevez le ltre et cblez le systme comme indiqu plus haut.

4.4 Synthse et essai du rgulateur PI


4.4.1 Synthse du rgulateur
Calculez les paramtres du rgulateur en recherchant une marge de phase m de 45 [ ]. Quel est alors le dpassement attendu ? L'utilisation de MATLAB facilite la synthse du rgulateur (voir programme 4.A page 34 : attention, les valeurs proposes sont ctives). Comme MATLAB ne permet pas de travailler avec un retard pur, il faut le remplacer par une approximation de Pad d'ordre n (gnralement, 5 n 20). Pour trouver le rgulateur conduisant la marge de phase souhaite, vous pouvez utiliser la fonction margin de MATLAB. Tracez les rponses indicielles thoriques conscutives un saut de consigne et un saut de perturbation.

4.4.2 Essai du rgulateur


Lancez l'outil RTPWatch Identication sous Windows NT. Puis : 1. Si vous souhaitez tester votre propre rgulateur numrique, avec Charger routine temps rel, chargez la DLL correspondante ; 2. Avec Set Value, xez le point de fonctionnement aux environs de 35 [ C] ;
Rgulation de temprature

30

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

3. Avec la tension de dcalage, annulez le signal de sortie in0 ; 4. Ouvrir l'outil RTPWatch VarList et portez les paramtres calculs dans le rgulateur (N.B. : Gi = 1/Ti). Maintenant, vous pouvez vrier les rsultats de votre synthse. Pour ce faire : 1. Gnrez un saut de consigne correspondant 10 [ C] ; choisissez h = Te = 0.01 [s]. 2. Enregistrez les signaux u(t) et y (t) du systme asservi. 3. Mesurez les temps de monte Tm et de rglage Treg , ainsi que le dpassement D 4. Enregistrez l'eet d'une perturbation en fermant l'arrive d'air. Pour ce faire, vous choisirez une consigne nulle, Tmax = 10 [s] et aprs 5 [s] vous fermerez l'arrive d'air. 5. Comparez les rsultats obtenus avec les rsultats thoriques. Si vous avez ou prenez le temps, vous pouvez encore eectuer la synthse d'un rgulateur PID et la comparer aux rsultats prcdents.

Rgulation de temprature

31

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

4.5 Imposition d'un point de fonctionnement


Comme la caractristique statique liant la tension de commande du corps de chaue u(t) la temprature mesure y (t) est lgrement non-linaire, il est ncessaire d'eectuer tous les travaux autour d'un point de fonctionnement Q tel que la temprature ache soit de l'ordre de 40 45 [ C] (gure 4.2). De ce fait, les mesures et essais s'eectuent en rgime de variations u(t) y (t) autour du point de fonctionnement Q. Cela se fait pratiquement en intercalant une source de tension uQ entre la variation du signal d'entre u(t) et la tension d'entre u(t) = uA (t). Une telle source de tension peut tre trouve dans les armoires du fond du laboratoire (2me armoire ct fentre).

u
Y

z o

l i n

a i r e

a u

t o

, y y
Q

, u

u
Q

u
A

f _

f o

e h

z n

. e p

Figure 4.2  Imposition du point de fonctionnement Q par la source de tension


externe uQ (chier source).

De faon ce que du point du vue des mesures, on ne prenne en compte que la partie due la variation u(t), on intercale une seconde source de tension (botier "amplifcateur d'acquisition") en aval du systme, de faon n'obtenir que la partie y (t) de y (t) = uY (t) due u(t) (gure 4.3 page ci-contre). Cette source de tension est ainsi ajuste de faon ce que lorsque u(t) = 0 [V], i.e. lorsque le systme est en son point de fonctionnement Q, y (t) = 0 [V].
Rgulation de temprature

32

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
d c a l a g ( i m f o n p o e d u n e m n
Q

Laboratoire de rgulation numrique

s i g d u e n

a l p t e x p o

d i n a r

'e n t u d n

t r e e e

d s i g ( a m d

c a l a g n a l p d e

e s o

u r t i e r )

s i t i o n n

c t i o e n

l i f i c a t e u u i s i t i o n

a l i m

t a t i o

t e r n

e )

'a c q

y
Q

a r i a t i o d ( c r e s o r t i e

n 'e n p O

s i g

a l

s y

s t m

t r e a r U l e T 0 P ) C ,

a r i a t i o d e p

n s o a r r e p
f _

u r t i e l e p I N
n _ z n _ 0

s i g

a l

, u

( t )

G
a

( s )

, y

( t )

( c r e m P e s u C

, u a r 0
1 _ 0

( t ) , l e )
3 . e p s

a r
f o e h

Figure 4.3  A l'aide de l'amplicateur d'acquisition, on retranche yQ de faon


mettre en vidence y (t), du u(t) seul (chier source).

Rgulation de temprature

33

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

4.A Exemple de programme MATLAB


% Noms: Date : % Manip : reglage de temperature clear a l l ; close a l l ; % caracteristique statique du foehn
Udm Uym Tm Udd Uyd Td = = = = = =
[2 0 2 4 6 8] ; +[0 2 4 6 8 1 0 ] ; +[20 22 25 27 30 3 5 ] ; [7 5 3 1 1 3 ] ; +[10 8 6 4 2 0 ] ; +[37 33 30 27 25 2 2 ] ;

No. du foehn : % valeurs f i c t i v e s

% regression l i n . sur l ' ensemble des points

% fonction de transfert du foehn

Ud = [Udm Udd ] ; T = [Tm Td ] ; Uy = [Uym Uyd ] ; c o e f f = p o l y f i t (Ud , Uy , 1 ) ; Udf = 2 : 1 0 ; Uyf = polyval ( c o e f f , Udf ) ; subplot ( 2 , 1 , 1 ) ; plot (Udm, Uym, '+ ' , Udd , Uyd , ' o ' , Udf , Uyf ) ; text ( 1 , 8 , [ ' p e n t e = ' num2str ( c o e f f ( 1 ) , 3 ) ' [V/V] ' ] ) ; t i t l e ( ' C a r a c t e r i s t i q u e s t a t i q u e du f o e h n No . ' ) ; xlabel ( 'Ud [V] ' ) ; ylabel ( 'Uy [V] ' ) ; subplot ( 2 , 1 , 2 ) ; plot (Ud , T, ' o ' ) ; xlabel ( 'Ud [V] ' ) ; ylabel ( ' Temperature [C ] ' ) ;

Ksys = 1 ; T1 = 1 ; T2 = 1 ; Tr = 1 ; [ numTr denTr ] = pade ( Tr , 5 ) ; Gtr = t f (numTr , denTr ) ; numG1= Ksys ; denG1= [ T1 T2 T1+T2 1 ] ; G1 = t f (numG1, denG1 ) ; Gfoehn = G1 Gtr ; tt = 0:0.01:5;

% valeurs f i c t i v e s

% reponse i n d i c i e l l e du foehn % regulateur PI


figure ; s t e p ( Gfoehn , t t ) ;
Kp = 1 . 0 ; Ti = 1 ; numReg = Kp [ Ti 1 ] ; denReg = [ Ti 0 ] ; Greg = t f ( numReg , denReg ) ;

% ajuster Kp pour avoir la marge de phase souhaitee % choisir Ti selon l e s mthodes usuelles

% f t en bo

% sortie en bf due a la consigne % signal de commande

Gbo = Gfoehn Greg ; figure ; [ numBo denBo ] = t f d a t a (Gbo , ' v a l u e ' ) ; phim = 45 ; BodePhim (numBo , denBo , phim ) ; Gbf = f e e d b a c k ( Greg Gfoehn , 1 , 1); yt = s t e p ( Gbf , t t ) ; figure ; subplot ( 2 , 1 , 1 ) ; plot ( t t , yt ) ; grid ; Gbfu = f e e d b a c k ( Greg , Gfoehn , 1); ut = s t e p ( Gbfu , t t ) ; ut ( 1 ) = 0 . 0 ; subplot ( 2 , 1 , 2 ) ; plot ( t t , ut ) ; grid ;

% sortie en bf due a la perturbation

Gbfv= f e e d b a c k ( Gfoehn , Greg , 1); yt = s t e p ( Gbfv , t t ) ;

Rgulation de temprature

34

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
figure ; subplot ( 2 , 1 , 1 ) ; plot ( t t , yt ) ; grid ;

Laboratoire de rgulation numrique

% signal de commande

Gbfu = f e e d b a c k ( Gfoehn Greg , 1 , 1); ut = s t e p ( Gbfu , t t ) ; ut ( 1 ) = 0 . 0 ; subplot ( 2 , 1 , 2 ) ; plot ( t t , ut ) ; grid ;

Rgulation de temprature

35

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Rgulation de temprature

36

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Chapitre 5 Rgulation de la hauteur d'une balle dans un tube

Rgulation de hauteur

37

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
C p u o a p t e u n n s r d e s i t i o l t r a s o

Laboratoire de rgulation numrique

0
R
a

L
a

u
a

( t )

f _

t u

i b

e _

. e p

5.1 Introduction
Ce travail pratique ore la possibilit de voir comment l'on peut contrler ecacement un systme simple dicile rgler manuellement : il s'agit de maintenir une balle une hauteur donne en variant le ux d'air sou par un ventilateur.

5.2 Description du systme


Le systme est compos d'une balle creuse en polythylne place dans un tube en plexiglas d'une hauteur de 2 [m]. Le ux d'air est cr par un ventilateur plac au bas du tube, entran par un moteur courant continu excitation spare alors que la position de la balle est mesure par un capteur ultrasons situ au sommet du tube. Le systme complet peut tre reprsent par le schma fonctionnel suivant :
Rgulation de hauteur

38

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
A d e m v m p o e n p u l i f i c a t e u i s s a n t e u r t i l a t e u c e , e t r r

Laboratoire de rgulation numrique

B d a n t u

a l l e s b e l e C a p t e u r

c o

w
n

s i g

( t )
n e

e ( t )
e r r e u r

l a t e u

G
c

( s )
c o m

u
m

( t )
a n d e

G
v

( s )
d b

q
i t

( t )

G
b

( s )
h

x
a u

( t )
t e u r

G
m

( s )
y
g

( t )
d e u l e r

y ( t )

'a i r

r a n r g

f _

t u

e _

. e p

5.3 Modlisation
An de reprsenter compltement le systme rgler, on doit modliser, sparment si possible, chaque bloc :  le ventilateur ;  l'eet du ux d'air sur la balle ;  le capteur.

5.3.1 Le ventilateur
A dfaut d'informations plus prcises, celui-ci peut tre raisonnablement reprsent par un systme passe-bas d'ordre 1 pour lequel le signal d'entre est la tension u(t) applique au ventilateur via l'amplicateur de puissance alors que le signal de sortie est le dbit d'air q (t) fourni par le ventilateur :

Gve (s) =

Kve Q(s) = U ( s) 1 + s Tve

Grosso modo, le dbit d'air cr par le ventilateur est proportionnel la vitesse de rotation de l'hlice, laquelle est impose par la tension d'alimentation de l'induit du moteur. Tve est donc une constante de temps correspondant la constante de temps mcanique du moteur et de sa charge.

5.3.2 La balle dans le tube


Dans ce cas, on peut dcrire le mouvement de la balle l'aide des quations de la dynamique. Deux forces agissent sur la balle : il s'agit de son propre poids m g et de la force de frottement Ff r due la dirence de vitesses entre la balle et le ux d'air. On peut donc crire l'quation de la dynamique de Newton :

mx = Ff r (t) m g

avec

Ff r (t) = (vair (t) x )

On sait que la vitesse de l'air vair (t) est lie au dbit q (t) et la section A du tube par l'quation : q (t) = vair (t) A
Rgulation de hauteur

39

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

De faon se placer autour d'un point de fonctionnement (q0 , x0 ) pour tout calculer en rgime d'accroissements (q (t), q (t)), dcomposons d'une part le dbit q (t) en une valeur constante q0 et une variation q (t) :

q (t) = q0 + q (t)
et d'autre part la position x(t) telle que

x(t) = x0 + x(t)
On a alors :

vair (t) =

q0 q (t) + A A

En portant ce rsultat dans l'quation de Newton, il vient :

d2 (x0 + x(t)) = dt2

q0 q (t) d + (x0 + x(t)) m g A A dt

En remarquant que le dbit d'air servant maintenir la balle une hauteur xe m (i.e. x = 0 s et x = 0 m ) doit tre constant, on voit que c'est justement 2 s 0 qui joue ce rle. Le point de fonctionnement que l'on choisit est le terme q A donc celui correspondant au cas o le dbit q0 compense le poids de la balle. On a ainsi : q0 =mg A L'quation de la dynamique se rduit alors :

d2 x dx + = q (t) 2 dt dt A

En eectuant la transforme de Laplace des 2 membres de cette quation, il vient :

(m s2 + s) X (s) =

Q(s) A

On en tire la fonction de transfert liant la variation de dbit q (t) la variation position x(t) de la balle :

Gb (s) =

1 X (s) A = Q(s) s (1 + s

m )

Kb s (1 + s Tb )

On remarquera que dans cette fonction de transfert, seule la constante de temps 1 Tb doit tre dtermine car la section A du tube xe le gain Kb = A . Celui-ci se calcule partir du diamtre intrieur du tube qui vaut environ 52 [mm].
Rgulation de hauteur

40

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

5.3.3 Le capteur ultrasons


Comme le ventilateur, on peut raisonnablement admettre que c'est un systme passe-bas d'ordre un pour lequel le signal d'entre est la position x(t) de la balle alors que le signal de sortie est la tension y (t) fournie par le capteur :

Gm (s) =

Y ( s) Km = X ( s) 1 + s Tm

Il faut noter que le capteur de position sature au-del de 1.7 [m].

5.3.4 Fonction de transfert du systme complet


En regroupant les 3 fonctions de transfert, on obtient la reprsentation complte du systme rgler liant la tension u(t) commandant l'amplicateur la tension y (t) fournie par le capteur :

Ga (s) =

Y (s) = Gve (s) Gb (s) Gm (s) U (s) Kve Kb Km = (1 + s Tve ) s (1 + s Tb ) (1 + s Tm ) Ka 1 = s (1 + s Tve ) (1 + s Tb ) (1 + s Tm )

Le gain total (gain permanent) du systme Ka est gal au produit des 3 gains

Ka = Kve Kb Km

5.4 Identication
Dans les fonctions de transfert dcrites ci-dessus, il reste trouver la valeur des paramtres qui s'y trouvent. C'est le but de l'identication.

5.4.1 Caractristique dynamique du capteur


La caractristique dynamique du capteur de position se mesure gnralement au travers de sa rponse indicielle. Pour le faire, il faudrait cependant pouvoir varier brusquement la distance du capteur un obstacle. Comme ceci n'est pas possible sur la maquette, on l'a fait avant la ralisation de celle-ci et la rponse indicielle obtenue est reprsente sur la gure 5.1 page suivante. En observant cette rponse, on constate que le capteur met rgulirement un paquet d'onde et mesure le temps correspondant la distance avec l'obstacle. Quelle est la frquence des mesures ? Que vaut la constante de temps approximative de ce capteur ?
Rgulation de hauteur

41

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Capteur de distance 5.5

4.5

4 Uy(t) [V]

3.5

2.5

1.5

0.05

0.1

0.15

0.2

0.25

f_tube_balle_2.eps

Figure 5.1  Caractristique dynamique du capteur

(chier source).

5.4.2 Caractristique dynamique du ventilateur


Ici galement, il est dicile de mesurer prcisment la relation entre tension applique et dbit d'air fourni par le ventilateur. On peut cependant estimer grossirement que le dbit d'air est proportionnel la vitesse de rotation du ventilateur. La manire dont cette vitesse volue est directement lie au courant consomm par le ventilateur ; c'est cette proprit qui a t utilise. La mesure du courant l'enclenchement du ventilateur a donn le rsultat prsent sur la gure 5.2 page ci-contre. Estimez la constante de temps du ventilateur.

5.4.3 Fonction de transfert du systme complet


Avec les mesures eectues ci-dessus, on n'est pas encore en position de chirer chacun des paramtres de la fonction de transfert Ga (s) :

Ga (s) =

Y (s) = U (s)

Kve Km A

1 (1 + s Tve ) (1 + s Tb ) (1 + s Tm )

En eet, le gain Kve du ventilateur et la constante de temps Tb de la balle ne peuvent pas tre mesurs individuellement. Il faut donc essayer de mesurer la rponse indicielle de ce systme, lequel possde une intgration. Cela n'est pas simple car l'eet de l'intgration se traduit par une rampe vers laquelle tend y (t) avec un dcalage t dpendant des trois constantes de temps. Par contre, la pente de la rampe ne dpend que du gain Ka du systme et de la tension (ici constante)
Rgulation de hauteur

42

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Courant consomm par le ventilateur 0.2 0.18 0.16 0.14 0.12 i(t) [A] 0.1 0.08 0.06 0.04 0.02 0 0 0.05 0.1 0.15 0.2 0.25 temps [sec] 0.3 0.35 0.4 0.45 0.5

f_tube_balle_3.eps

Figure 5.2  Caractristique dynamique du ventilateur

(chier source).

applique u(t). An de trouver le gain Ka et la constante de temps Tb , l'aide du programme d'identication,une premire mesure consiste faire l'acquisition de la rponse indicielle, suivie de l'identication de celle-ci.

Acquisition de la rponse indicielle


Pour acqurir la rponse indicielle, il faut tout d'abord lancer e logiciel RTPWatch et choisir l'outil Tube. Lorsque cela est fait, on doit : 1. Passer en mode Identication ;
, t

( t )

G
a

( s ) =

K
a

/ s G

( s ) =

K
a

/ ( s ( 1

s T
v

) ( 1

s T
b

) ( 1

s T
m

) )

( t )

f _

t u

e _

. e p

[ s ]

Rgulation de hauteur

43

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

2. Choisir l'amplitude du signal u(t) : par dfaut, elle est de 1 [V], comme indiqu dans la zone Amplitude. Pour la modier, introduire la nouvelle valeur et quittancer avec le bouton OK. On peut aussi utiliser les curseurs pour l'incrmentation ou la dcrmentation rapides. Concernant l'amplitude du signal u(t), il faut rappeler que le capteur sature vers 1.7 [m] ; 3. Slectionner le signal souhait (ici un saut unit) ; 4. A la question "Faut-il xer le facteur de sous-chantillonnage 1", rpondre Oui ; 5. L'apparence de l'cran devrait tre la suivante :

6. Sauvegarder les mesures dans un chier (bouton ->Fichier).

Identication
En reprenant les mesures prcdemment eectues et en les traitant avec un logiciel tel que MATLAB, on peut obtenir les paramtres Ka et Tb du modle qui manquent encore. L'bauche de programme suivante y aide :

%I n i t i a l i s a t i o n %Chargement du f i c h i e r de mesures
load ' nom_de_fichier . dat ' ; close a l l clear
mesures = ' nom_de_fichier ' ;

%Extraction du temps et de la reponse i n d i c i e l l e %Tracage


t = mesures ( : , 1 ) ; y = mesures ( : , 5 ) ;

figure ( 1 ) plot ( t , y ) ; grid xlabel ( ' t [ s ] ' ) ylabel ( ' y ( t ) ' )

Rgulation de hauteur

44

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
t i t l e ( ' Rponse i n d i c i e l l e ' )

Laboratoire de rgulation numrique

%Impression de la fenetre graphique dans un f i c h i e r PostScript


print rep_ind_01 . eps deps t i f f

Il convient alors d'imprimer ce graphe et de mesurer la pente asymptotique ; on peut alors en extraire le gain Ka du systme.
Rponse indicielle

y(t)

0.5

t [s]

1.5

2.5
f_id_rep_ind_Ka_1.wmf

Pour dterminer l'inconnue restante, savoir la constante de temps Tb de la balle, il faut lancer un autre programme MATLAB, par exemple identication.m. Il sut allors d'introduire le gain du systme, les constantes de temps connues puis d'ajuster Tb pour que la rponse du modle concide au mieux avec celle mesure. Avant de quitter le programme d'identication, il est conseill de sauvegarder le modle et les mesures (menu "Sauver graphiques et paramtres"). Que valent alors les gains Kve , Kb , Km et Tve , Tb , Tm les constantes de temps de chaque bloc ?

5.5 Choix et synthse d'un rgulateur


Le but de ce paragraphe est d'observer les rsultats obtenus avec les rgulateurs P, PI et PID conduisant une rponse optimum en boucle ferme, rgulation de correspondance. Celle-ci devrait, si possible, avoir une erreur statique nulle par rapport la consigne et la perturbation. La synthse se fait avantageusement l'aide de MATLAB.
Rgulation de hauteur

45

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

5.5.1 Rgulateur P
Est-il possible avec ce rgulateur d'avoir une erreur statique nulle ? Justiez votre rponse. Utilisant la mthode Bode, recherchez un gain Kp tel que m 60 [ ]. Enregistrez les rponses indicielles simules par rapport la consigne et la perturbation.

5.5.2 Rgulateur PI
Dans ce cas, peu simple car il possde 2 intgrations (type = 2), on commence par choisir Ti , par exemple selon le critre de l'optimum symtrique. Puis il reste donc rechercher Kp pour que la marge de phase atteigne environ 60 [ ]. Enregistrez les rponses indicielles simules par rapport la consigne et la perturbation.

5.5.3 Rgulateur PID


On commence par choisir Td gal la plus grande constante de temps. Puis, classiquement, Ti est pris 4 5 fois plus grand que Td . Il vous reste donc rechercher Kp pour que la marge de phase atteigne environ 60 [ ]. Enregistrez les rponses indicielles simules par rapport la consigne et la perturbation.

5.5.4 Conclusions
Comparez les erreurs statiques et les dures de rglage obtenus avec les 3 rgulateurs. Concluez.

5.6 Essais de rgulation de la hauteur de la balle


Enregistrez et observez le comportement du systme rgl. Pour crer des sauts de perturbations. Faites les essais qui vous paraissent judicieux par rapport aux rsultats thoriques et concluez. Pour acqurir les signaux en boucle ferme, on doit : 1. Passer en mode Rgulation ; 2. Fixer les valeurs des paramtres du rgulateur dans la zone Rgulateur PID ; 3. Choisir l'amplitude du signal de consigne w(t) dans la zone Amplitude. Pour la modier, introduire la nouvelle valeur et quittancer avec le bouton OK. On peut aussi utiliser les curseurs pour l'incrmentation ou la dcrmentation rapides. Concernant l'amplitude du signal w(t), il faut rappeler que le capteur sature vers 1.7 [m] ;
Rgulation de hauteur

46

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

4. Slectionner le signal souhait. Pour des signaux priodiques (carr, sinus, etc), un paramtre supplmentaire est la priode exprime en nombre entier de priodes d'chatillonnage de valeur Te . On recommande 1000 pour commencer ; 5. L'apparence de l'cran devrait tre la suivante :

6. On peut sauvegarder les mesures dans un chier (bouton ->Fichier).

Rgulation de hauteur

47

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
Version du document v1.1 v1.2 v1.3 v1.4 v1.5 v1.6 v1.7 v1.8 Date dcembre 2001 janvier 2002 26 mars 2002 15 dcembre 2002 janvier 2003 9 mars 2004 10 mars 2005 29 janvier 2007

Laboratoire de rgulation numrique

Notes (de tube.doc, F.Mudry) de tube_tele.tex Kb PD PI

gure 5.1 page 42 et 5.2 page 43

Table 5.1  Versions publies

Rgulation de hauteur

48

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

Bibliographie

[1] F. Mudry : 2001

Modlisation d'une Sustentation Magntique

, HEIG-VD-iAi, avril

[2] Computer controlled systems, K. strom, B.Wittenmark, 1990, PrenticeHall, bibliothque HEIG-VD 40.122-03 [3] System Identication, Theory for the User, Lennart Ljung, Prentice-Hall information and system sciences series, Thomas Kailath Editor, 1987, bibliothque HEIG-VD 40.162-27/02 [4] Modeling of Dynamic Systems, Lennart Ljung & Torkel Glad, Prentice-Hall information and system sciences series, Thomas Kailath Editor, 1994, bibliothque HEIG-VD 40.162-32 [5] Identikation dynamischer Systeme, Rolf Iserman, Band I & II, SpringerVerlag, 1988, bibliothque HEIG-VD 40.162-25/01 et 40.162-26/01 [6] Rgulation numrique, Michel Etique, cours polycopi de l'cole d'ingnieurs du canton de Vaud (HEIG-VD), 2006, http://www.iai.heig-vd.ch/~mee//Regulation_numerique_REN.htm

v.1.4

49

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

v.1.4

50

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD
Version du document v1.0 v1.1 v1.2 v1.3 v1.4 Date 16 juin 2004 3 janvier 2005 10 mars 2005 10 octobre 2005 5 novembre 2008

Laboratoire de rgulation numrique

Notes partir de dsp_exercice.pdf

Table 5.2  Versions publies

v.1.4

51

MEE \labo_rn.tex 6 novembre 2008

HEIG-VD

Laboratoire de rgulation numrique

v.1.4

52

MEE \labo_rn.tex 6 novembre 2008

Vous aimerez peut-être aussi