0.0137 0.013 5 0 .01 33 0.0 132 0.0130 0.012 8 0 .0 127 0.0125 0.0139 0.023 3 0 .02 27 0.0 222 0.0217 0.021 3 0 .0 208 0.0204 0.0141 0.023 8 0 .04 76 0.0 455 0.0435 0.041 7 0 .0 400 0.0385
0.0143
0.024 4
0 .05 00
0.1 429
0.1250
0.111 1
0 .1 000
0.0370
0.0145
0.025 0
0 .05 26
0.1 667
1.0000
0.500 0
0 .0 909
0.0357
0.0147
0.025 6
0 .05 56
0.2 000
0.2500
0.333 3
0 .0 833
0.0345
0.0149
0.026 3
0 .05 88
0.0 625
0.0667
0.071 4
0 .0 769
0.0333
0.0152
0.027 0
0 .02 78
0.0 286
0.0294
0.030 3
0 .0 312
0.0323
0.0154
0.015 6
0 .01 59
0.0 161
0.0164
0.016 7
0 .0 169
0.0172
0.0100
0.010 1
0 .01 02
0.0 103
0.0104
0.010 5
0 .0 106
0.0108
Jean-Marc Allenbach
Nov. 98
MATLAB/ReguTool
TABLE DES MATIRES 1 2 INTRODUCTION FONCTIONS 2.1 Conversions de modle LOGICIELS DITER 3.1 Gnralits 3.2 Tracs 3.3 Dimensionnement de rgulateurs 3.4 Calcul temporel LOGICIELS INTERACTIFS 4.1 Dimensionnement par imposition des ples 4.2 Dimensionnement dans l'espace d'tat SIMULATIONS 5.1 Gnralits 5.2 Rglage continu 5.3 Rglage chantillonn OUTILS GRAPHIQUES 6.1 Etude de dtail REMARQUES FINALES
MATLAB/ReguTool
INTRODUCTION
Des outils spcifiques de support l'enseignement des systmes asservis ont t dvelopps au Laboratoire d'Automatique Electrique de l'Ecole d'Ingnieurs de Genve. Ils sont destins faciliter l'initiation des tudiants aux mthodes d'asservissement (essentiellement linaires). Comme MATLAB, chaque toolbox est quip d'un contents.m et chaque programme ou fonction a son help.
On reprsente souvent les fonction de transfert continues sous forme factorise de Bode, forme non rpertorie en MATLAB. On peut utiliser les fonctions ci-dessous en spcifiant les fonctions de transfert sous forme de chanes de caractre. systeta [a,b,c,d]=systeta [a,b,c,d] = systeta(Num,Den) Donnent les matrices d'tat pour l'exemple conserv en mmoire. Donne les matrices d'tat du systme spcifi par sa fonction de transfert. Donne la fonction de transfert chantillonne travers un chantillonneur bloqueur (convertisseur D/A) pour l'exemple gard en mmoire. Donne la fonction de transfert chantillonne travers un chantillonneur bloqueur de la fonction continue sous la forme d'un vecteur des zros: a, d'un vecteur des ples: b et du gain: c. Donne la fonction de transfert chantillonne travers un chantillonneur bloqueur de la fonction continue par un polynme numrateur : a et d'un polynme dnominateur: b. Donnent la fonction de transfert chantillonne travers un chantillonneur bloqueur de la fonction continue sous forme d'un quotient de polynmes. Donne la fonction de transfert sous forme de vecteur des zros et des ples, et d'un gain, partir de l'exemple mmoris. Donne la fonction de transfert sous forme de vecteur des zros et des ples, et d'un gain, partir du modle dans l'espace d'tat.
systenz
[a,b,c] = systenz(N,D,TE)
[a,b] = systenz(N,D,TE)
[Zros,Ples,Gain] = systran
[Zros,Ples,Gain] = systran(a,b,c,d)
MATLAB/ReguTool
gain = 2.8515e-004
freqs1(NUM,DEN)
Donne la rponse harmonique comme freqs ou bode, mais sans discontinuit de phase et en module absolu voir [1], p67. Donne la rponse harmonique comme freqz ou dbode, mais en module absolu et reprsentation frquentielle, voir [1], p68. Donne la rponse harmonique comme nichols, mais en franais avec abaque de gain modifi.
freqz1(NUM,DEN)
nichols1(NUM,DEN)
Exemple:
num = 1.0000e-002 2.5000e-001 1.0000e+000 den = 1.1250e-006 1.3501e-002 2.2516e+001 2.7006e+001 9.5006e+000 1.0000e+000
MATLAB/ReguTool
freqs1(num,den,w)
freqs(num,den,w)
MATLAB/ReguTool
Tous ces logiciels s'utilisent selon le mme principe: Le logiciel de base est copi depuis le toolbox Reglage sous un autre nom dans le rpertoire de travail de l'utilisateur. Les donnes du systme tudier sont introduites l'aide de l'diteur. Le programme est lanc depuis la fentre MATLAB. Ces logiciels peuvent paratre assez rudimentaires, compars des fonctions. Ils ont l'avantage de permettre l'tudiant de voir l'intrieur du programme comment on utilise un certain nombre de fonctions standard MATLAB. Pour utiliser ses logiciels, l'utilisateur prendra soin de spcifier MATLAB les chemins vers son rpertoire de travail, fonction path. Il aura intrt crire une fonction de lancement.
3.1 Tracs
On peut faire tracer la rponse harmonique d'un systme dans le plan complexe (Nyquist) ou frquentiel (Bode) ou encore dans le plan avec la phase en abscisse et le module en ordonne (Black-Nichols). On peut galement faire calculer le lieu des ples en boucle ferme (Evans) ou root locus. affbla Trace la rponse harmonique d'un systme continu dans le plan de Black: gain et phase. Y reporte l'abaque de Nichols. Trace la rponse harmonique d'un systme continu dans le plan complexe. Trace la rponse harmonique d'un systme continu dans le plan frquentiel: gain et phase. Trace le lieu des ples en boucle ferme pour un systme continu donn en boucle ouverte. Comme affnyq , mais chantillonn. Comme affbod , mais chantillonn. Comme affevans , mais chantillonn.
affnyq
affbod
affevans
MATLAB/ReguTool
Exemple: affnyq
MATLAB/ReguTool
Ce programme permet de dimensionner un rgulateur continu ou chantillonn en choisissant les ples dominants en boucle ferme en fonction du cahier des charges. On y accde en tapant regupole sous le prompt de MATLAB. La premire image nest que le titre, cliquer sur le bouton OK. La deuxime image permet de choisir le type de rglage : continu ou chantillonn. Ds cette image, on peut retrouver des donnes sauves prcdemment en cliquant sur restore et en choisissant un fichier *.dat. La troisime image permet dentrer le cahier des charges prvu pour le systme rgl, de spcifier la priode dchantillonnage (seulement pour un rglage chantillonn) et dcrire la fonction de transfert du systme rgler : en s pour les rglages continus en s ou en z pour les rglages chantillonns ( si on donne la fonction en s, cest le programme qui calcule la fonction en z laide de la priode dchantillonnage). Ds cette image, on peut retrouver limage prcdente en cliquant sur cancel. La quatrime image affiche les valeurs numriques des ples et zros en boucle ouverte et guide le choix du type de rgulateur. La cinquime image affiche le lieu des ples en boucle ferme compatible avec le cahier des charges et laisse le choix loprateur dans ce domaine. Ds cette image, on peut imprimer la fentre graphique en cliquant sur le menu file puis print, on obtient une image mieux cadre en cliquant auparavant sur le bouton switch P. Limpression sur papier se fera avec un fond gris. Si le rendu ne convient pas, on copiera la figure en cliquant sur le menu edit puis copy, enfin en important cette dernire dans un fichier Word ouvert pour la circonstance ; on peut alors retravailler limage pour slectionner un fond blanc. La sixime image permet dafficher la rponse indicielle du systme calcule par le programme. Si le rsultat ne convient pas, on peut remonter aux images prcdentes pour modifier les choix ; en deux ou trois boucles, le rsultat souhait est en gnral obtenu. Il est possible de sauver les donnes introduites en cliquant sur le bouton save et en les mmorisant sous *.dat. On imprime comme pour la cinquime image.
MATLAB/ReguTool
Aprs avoir quitt regupole, en cliquant sur le bouton quit, on peut obtenir une impression de la rponse indicielle en tapant papier sous le prompt de MATLAB, limage obtenue est noire sur fond blanc, gradue en secondes mme pour les rglages chantillonns. En outre, les temps de rponse et dpassement sont indiqus dans langle infrieur droit du graphique avec leurs valeurs numriques et positionns sur la courbe. Provisoirement, la version pour MATLAB 5 n'est pas encore disponible, on l'exploitera depuis MATLAB 4.
MATLAB/ReguTool
SIMULATIONS 5.1Gnralits
Ces logiciels de simulation ont t dit sous simulink qui fonctionne conjointement MATLAB. Si on tape leur nom sous le prompt de MATLAB, ils sont automatiquement lancs, sans ncessit d'ouvrir d'abord simulink . L'utilisateur ira modifier dans chaque bloc les valeurs numriques pour les adapter au problme qu'il veut traiter. S'il veut conserver sa simulation, celle-ci devra tre enregistre sous un autre nom, dans le rpertoire de travail de l'utilisateur. On prendra garde au choix de la mthode de rsolution numrique des quations diffrentielles: certaines simulations avec non-linarits peuvent poser des problmes numriques avec une mthode inadapte; tel est par exemple le cas de simafpos.mdl rsolu avec Dormand-Prince en un point o vitesse et acclration sont simultanment trs voisines de zro.
regmes
simreget
sima_fin
sima_gro
MATLAB/ReguTool
Exemple: regana
10
MATLAB/ReguTool
La fonction graph_0 affiche dans la barre de menu de la figure courante une option GRAPHIQUE permettant diverses manipulations sur le graphique: zoom, affichage de points d'une courbe... Cette fonction fait appel des fonctions standard Matlab et trois autres fonctions spcifiques: graph_1, attmov et gimpu . Exemple: affnyq graph_0
REMARQUES FINALES
Les logiciels dcrits ci-dessus sont disponibles sous forme de Toolboxes sur les machines du Laboratoire d'Automatique et sous W:\Regutool\... dans les salles d'informatique. L'utilisateur devra spcifier par exemple en crant un programme de lancement les chemins d'accs de MATLAB aux rpertoires concerns.
11
MATLAB/ReguTool
Sima_ouv
Sima_pos
Sima_vit
12
MATLAB/ReguTool
13
MATLAB/ReguTool
On prcise le nom du schma convertir, en prcisant son emplacement par tout le chemin depuis la racine:
14
MATLAB/ReguTool
On prcise le nom du nouveau schma traduit, en prcisant sa destination par tout le chemin depuis la racine: par exemple sur la disquette de l'tudiant:
Le nouveau schma peut tre ouvert sans autre par simulink 2 edu.On excutera encore un enregistrement sous simulink 2 edu pour viter les "warning" qui subsistent encore. Dans le sens inverse, nul n'est besoin de traduction. Ce programme, nomm ConvSimu.exe est install sur le poste N 14 au Laboratoire d Automatique, sous C:\MATLAB\simulink\ .
15