Sie sind auf Seite 1von 3

TP de Systmes Asservis 1

1. Prise en main de Matlab et Simulink


1.1 Prliminaire Matlab est un environnement commande en ligne permettant de faire du calcul numrique simplement : pas de dclaration prliminaire de variables, possibilit de faire de lalgorithmique (boucle, conditions,...) et de trs nombreuses fonctions dans de nombreux domaines qui peuvent sappliquer des variables. Enfin, il est facile de psenter les rsultats numriques sur des graphiques. Au dessus de linterface ligne de commande, il existe un environnement de simulation numrique SIMULINK, base de blocs fonctionnels qui ont 0 ou 1 ou plusieurs entres et 0, 1 ou plusieurs sorties. Tous les blocs ainsi que les paramtres de simulation sont configurables. Les blocs nayant pas dentres sont des sources, ceux qui nont pas de sortie servent la visualisation ou au stockage ; les autres sont des fonctions. Pour crer une application sous SIMULINK : lancer MATLAB cliquer sur licone SIMULINK dans la fentre MATLAB. Ouvrir un nouveau fichier dans la fentre SIMULINK Saisir les botes fonction ncessaires l'application situes dans les botes outils et les glisser dans la fentre de votre nouveau fichier. Leur configuration ne peut se faire que lorsquils sont dans votre nouveau fichier. 1.2. SIMULINK : Prenons un exemple Construction du modle d'un systme linaire du premier ordre retour unitaire. Saisir la fonction entre en chelon [Step] dans la bote [Sources], puis la glisser dans la fentre du nouveau fichier. Saisir les instruments de mesure [Scope] et [To Workspace] dans la bote [Sinks]. La fonction [To workspace] permet de rcuprer des valeurs dans lenvironnement commande en ligne de Matlab. Paramtrez cette fonction en prcisant Matrix au lieu de Structured. Saisir la bote transfert fonction [ 1/s +1] dans la boite [Continuous] Saisir le comparateur [++sum] dans la bote [Math].

Saisir la fonction multiplexage [Mux] dans la bote [Signals & Systems].Ce bloc permet denvoyer au scope les deux informations en entre du MUX Vous avez maintenant tous les outils pour construire votre modle. Construction du modle: Placer les diffrents blocs dans l'ordre adquat. Pour assurer les liaisons orientes entre les blocs, cliquer et glisser l'aide de la souris, entre le point d'origine et le point d'arrive ou inversement. Affecter les valeurs correctes dans chaque bloc fonction en faisant un double clic dessus. En boucle ferme, vous devez obtenir :

+ step

sum transfert function

10 1+60s mux

Scope simout To workspace

1.3. Simulation Cliquer Simulation, paramtrer correctement puis START Les courbes dentre et de sortie sont obtenues en cliquant et en agrandissant la bote [Scope]. 1.4. Environnement MATLAB : poursuite de lexemple En revenant sous MATLAB (commandes textuelles), on peut retracer la courbe obtenue car la variable simout contient toutes les valeurs calcules par la simulation. Un vecteur tout contient les dates laquelle la simulation a calcul ces valeurs. La commande who permet de connatre la liste des variables connues. La commande : plot(tout, simout) permet de tracer simout en prenant tout comme abscisse. La fentre figure permet dajouter des lgendes, des flches, dimprimer... La commande hold on permet de signaler que la prochaine courbe doit tre trace sans effacer la premire. Paramtrer correctement le modle et la simulation et retrouver la rponse lchelon unitaire du systme du premier ordre dcrit ci-dessus en BO puis en BF.

On peut tracer directement les diagrammes de Bode, Black et Nyquist, ou bien connaitre la marge de gain dun systme sous MATLAB de la manire suivante : exemple H(p) = 10/ 60p+1 on forme deux vecteurs contenant les coef. des puissances dcroissantes de s pour le numrateur et le dnominateur : >>num =[10]; % dclare num comme variable >>den=[60 1]; % dclare den comme variable de type vecteur (2 lments en ligne)) Un vecteur ou une matrice est dclar en utilisant les crochets, des espaces pour passer la colonne suivante, des points-virgules pour passer la ligne suivante. Ainsi [1 2;3 4] est une matrice 2x2. Pour avoir la fonction de transfert, on demande : >>printsys(num,den) 10 num/den = 60 s + 1 on peut aussi demander : expand ((x+1)*(x+2)) donne la forme dveloppe. poly(vecteur contenant les racines) donne un vecteur contenant les coefficients du polynome dvelopp. root(vecteur contenant les coeff. dun polynome) donne un vecteur contenant les racines du polynome. bode(num,den) : trac des lieux de bode du systme. On peut ajouter un argument supplmentaire pour fixer la gamme des pulsations pour lesquelles le lieu sera calcul (cf help bode). margin(num,den) : marges de gain et de phase du systme nichols(num,den), : lieu de Black-Nichols du systme. nyquist(num,den), : lieu de nyquist [numbf,denbf]=cloop(numbo,denbo) : calcule le systme en BF partir du systme en BO. la commande grid fait apparatre une grille adapte votre courbe. La commande ngrid permet de faire apparatre les courbes de labaque de Black-Nichols Vrifier ladquation des courbes obtenues avec celles prvisibles par calcul.

2. Retrouver les rsultats des TD prcdents.

Das könnte Ihnen auch gefallen