Académique Documents
Professionnel Documents
Culture Documents
Labo RN
Labo RN
TIN)
HEIG-VD
v.1.4
HEIG-VD
7 9
8 8
10 11 13 14
2.2
15
17
18 18 18 19 22 23 23 24 25
4 Rgulation de temprature
27
28 28 29 29 29
v.1.4
HEIG-VD
4.4
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
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
HEIG-VD
v.1.4
HEIG-VD
v.1.4
HEIG-VD
Sujet
Rgulateur PID numrique Rgulation numrique de temprature Rgulation numrique de la position d'une balle dans un tube
Il est recommand de se munir de documents tels que les notes de cours et exercices de rgulation automatique et numrique.
v.1.4
HEIG-VD
v.1.4
HEIG-VD
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
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.
11
HEIG-VD
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.
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.
Par exemple, situation du sujet dans son contexte, rfrence aux cours, application pratique, documentation des programmes, liste du matriel utilis, etc).
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
HEIG-VD
Note Quantit de travail Qualit des rsultats Structure, prsentation Analyses, explications Transfert de connaissances, documentation Connaissance, matrise du sujet
v.1.4
13
HEIG-VD
v.1.4
14
HEIG-VD
v.1.4
15
HEIG-VD
17
HEIG-VD
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.
18
HEIG-VD
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).
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 :
/ 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
19
HEIG-VD
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.
20
HEIG-VD
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.
21
HEIG-VD
/ 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
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
22
HEIG-VD
}
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 ;
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
23
HEIG-VD
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 ( ) d
l=0
e [l] h
u [k ] = K p
1 e [k ] + Ti
k 1
e [l] h + Td
l=0
e [k ] e [k 1] h
24
HEIG-VD
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
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
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
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
26
HEIG-VD
Rgulation de temprature
27
HEIG-VD
s o t e m p n d
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.
28
HEIG-VD
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.
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
HEIG-VD
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.
30
HEIG-VD
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
HEIG-VD
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
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
HEIG-VD
d c a l a g ( i m f o n p o e d u n e m n
Q
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
Rgulation de temprature
33
HEIG-VD
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
% ajuster Kp pour avoir la marge de phase souhaitee % choisir Ti selon l e s mthodes usuelles
% f t en bo
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 ;
Rgulation de temprature
34
HEIG-VD
figure ; subplot ( 2 , 1 , 1 ) ; plot ( t t , yt ) ; grid ;
% signal de commande
Rgulation de temprature
35
HEIG-VD
Rgulation de temprature
36
HEIG-VD
Rgulation de hauteur
37
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
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.
38
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
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) =
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.
mx = Ff r (t) m g
avec
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
HEIG-VD
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 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
(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
HEIG-VD
Gm (s) =
Y ( s) Km = X ( s) 1 + s Tm
Ga (s) =
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.
41
HEIG-VD
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
(chier source).
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
HEIG-VD
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
(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.
( 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
HEIG-VD
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 :
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 ' ;
Rgulation de hauteur
44
HEIG-VD
t i t l e ( ' Rponse i n d i c i e l l e ' )
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 ?
45
HEIG-VD
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.4 Conclusions
Comparez les erreurs statiques et les dures de rglage obtenus avec les 3 rgulateurs. Concluez.
46
HEIG-VD
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 :
Rgulation de hauteur
47
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
Rgulation de hauteur
48
HEIG-VD
Bibliographie
, 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
HEIG-VD
v.1.4
50
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
v.1.4
51
HEIG-VD
v.1.4
52