Anda di halaman 1dari 16

MATLAB

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

Complment au mode d'emploi: Applications de support l'enseignement des asservissements

Jean-Marc Allenbach

Ecole d'Ingnieurs de Genve

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

Jean-Marc Allenbach 98.11.06

Ecole d'Ingnieurs de Genve

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.

FONCTIONS 2.1 Conversions de modle

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)

[a] = systenz(N,D,TE) systenz(N,D,TE)

[Zros,Ples,Gain] = systran

[Zros,Ples,Gain] = systran(a,b,c,d)

Jean-Marc Allenbach 98.11.06

Ecole d'Ingnieurs de Genve

MATLAB/ReguTool

Exemple: %systme a='1';b='(1+s*0.05)*(1+s*0.02)*(1+s*0.004)'; %chantillonnage t=2e-3;%[s] [zro,ple,gain]=systenz(a,b,t) zro = -3.1951e+000 -2.2731e-001

ple = 6.0653e-001 9.0484e-001 9.6079e-001

gain = 2.8515e-004

2.2 Graphes spciaux


Les fonctions standard bode(NUM,DEN) et freqs(NUM,DEN) affichent une phase modulo 180 entre 180. On est souvent intress ce qui se passe au voisinage de 180 et cette discontinuit est gnante. On prfre parfois le module en absolu plutt qu'en [dB].

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

Jean-Marc Allenbach 98.11.06

Ecole d'Ingnieurs de Genve

MATLAB/ReguTool

freqs1(num,den,w)

freqs(num,den,w)

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

MATLAB/ReguTool

LOGICIELS DITER 3.1 Gnralits

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

affnyqz affbodz affevanz

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

MATLAB/ReguTool

Exemple: affnyq

3.2 Dimensionnement de rgulateurs


On peut dimensionner des rgulateurs par compensation des constantes de temps principales respectivement des ples dominants puis par ajustage du gain du rgulateur l'aide des graphiques de Nyquist, Bode ou Evans. Ces programmes font appel un schma simulink qui permet de vrifier la validit du dimensionnement. Le cahier des charges peut tre ajust par dition dans le programme. calcunyq calcubod calcevan calcetat Calcule un rgulateur par la marge de phase. Calcule un rgulateur par le critre de Bode. Calcule un rgulateur par les marges de stabilit. Calcule un rgulateur d'tat par imposition des ples. (toolbox Regetat!).

3.3 Calcul temporel


Le programme asservi permet de spcifier rgulateur et systme rgler et de tracer la rponse indicielle en boucle ferme.

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

MATLAB/ReguTool

LOGICIELS INTERACTIFS 4.1 Dimensionnement par imposition des ples

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.

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

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.

4.2 Dimensionnement dans l'espace d'tat


Ce programme permet de dimensionner un rgulateur avec contre-raction d'tat en choisissant tous les ples en boucle ferme sauf un en fonction du cahier des charges. On y accde en tapant regetat('initialisation') sous le prompt de MATLAB. Les boutons placs sur le bord droit de l'cran guident l'oprateur dans les diverses tapes: donnes du systme, cahier des charges, choix des ples... Les boutons ne sont activables que si les oprations prcdentes ont t effectues. On peut mmoriser ou rcuprer une session l'aide du bouton load/save file donnant accs un fichier *.mat. A titre d'exemple, l'image obtenue aprs action sur le bouton Rponse indicielle:

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

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.

5.2 Rglage continu


regana Permet de simuler un systme asservi compos d'un rgulateur et d'un systme rgler, le cas chant dcompos en sous-systmes. Permet de simuler un systme "bote noire" (par modle d'tat), d'en mesurer la rponse indicielle, de dimensionner le rgulateur par exemple selon Ziegler-Nichols puis de vrifier le comportement dynamique du systme asservi. Permet de simuler un systme asservi par ses variables d'tat, avec limitation sur la sortie du rgulateur, avec dispositif correcteur "antiwindup". (toolbox Regetat!) Permet de simuler en boucle ouverte le banc Systme d'Initiation aux Mthodes d'Asservissement du Laboratoire d'Automatique. Permet de simuler en boucle ouverte, de manire trs simplifie, le banc SIMA du Laboratoire d'Automatique. Rglage de position du banc SIMA. Rglage de vitesse du banc SIMA. Rglage de position du banc SIMA (modle linaris). Mise en vidence de la limite de stabilit (exprience de Nyquist) Mise en vidence de l'effet de surcharge de la composante intgrale d'un rgulateur, avec dispositif correcteur "anti-windup".

regmes

simreget

sima_fin

sima_gro

simafpos simafvit simalpos testnyq windup

5.3 Rglage chantillonn


regech Permet de simuler le rglage d'un systme continu par un rgulateur discret.

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

MATLAB/ReguTool

Exemple: regana

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

10

MATLAB/ReguTool

OUTILS GRAPHIQUES 6.1 Etude de dtail

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.

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

11

MATLAB/ReguTool

SPCIAL LABORATOIRE D'AUTOMATIQUE 8.1 Commande du banc SIMA.


Le banc SIMA peut tre soit command en boucle ouverte, soit asservi en vitesse ou en position. Dans ces structures de commande, on peut choisir le modle de simulation ou la commande de l'installation relle par des interfaces activs via le Interactive Realtime Interface de Vetsch. L'utilisateur peut galement dvelopper ses propres schmas: par exemple complter le schma asservi en vitesse par un dispositif d'arrt au but ou par un rglage de position superpos.

Sima_ouv

schma en boucle ouverte.

Sima_pos

schma asservi en position.

Sima_vit

schma asservi en position.

Exemple d'un des schmas:

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

12

MATLAB/ReguTool

8.2 Librairie SIMA


On dispose des modles correspondant au banc initial avec moteur Fba et du banc aprs grande rvision de l't 1998: remplacement du moteur et de la dynamo par un ensemble Faulhaber.

Exemple d'un des modles:

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

13

MATLAB/ReguTool

8.3 Conversion Simulink


Si les programmes crits sous MATLAB 5.2 fonctionnent sans problme sous MATLAB 5 EDU, les schmas dvelopps sous simulink 2.2 ne peuvent pas tre ouverts par simulink 2 edu (version tudiants). Pour cela, on a dvelopp au Laboratoire d'Automatique une application de traduction qu'on utilise comme suit: Enclencher le traducteur par l'icne "Conversion simulink". On choisit le type de traduction:

On prcise le nom du schma convertir, en prcisant son emplacement par tout le chemin depuis la racine:

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

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

Jean-Marc Allenbach 98.11.18

Ecole d'Ingnieurs de Genve

15

Anda mungkin juga menyukai