Matlab : TD 5 1 Exemple : système masse ressort amortisseur
Transcription
Matlab : TD 5 1 Exemple : système masse ressort amortisseur
IENAC-T11 Matlab 1 Matlab : TD 5 Objectifs : Introduction à Simulink. Simulink est un environnement graphique de programmation associé à Matlab. Il permet la représentation et la simulation de systèmes sous forme de schémas blocs, ce qui le rend populaire auprès des automaticiens non programmeurs. 1 Exemple : système masse ressort amortisseur Représentation de l'équation diérentielle Dans cet exemple, nous allons modéliser dans Simulink le chariot représenté sur le schéma suivant. La mise en oeuvre de second principe de la dynamique devrait vous ammener à l'équation diérentielle suivante : ẍ = Ouvrir la fenêtre Simulink ( icône F b k − .ẋ − .x M M M (1) dans Matlab ) Cette fenêtre comporte une barre de menus ainsi qu'un ensemble de boutons représentants les librairies disponibles. Créez un nouveau modèle Simulink (menu File/New/Model ). L'équation se présente sous la forme d'une somme de 3 termes. Ouvrez la librairie ( en double cliquant )et glissez-déposez le symbole Add Math operations ( somme ) dans votre modèle. Par défaut, l'élément somme possède deux entrées. Nous en avons besoin de trois. Éditez le symbole somme en double cliquant et ajoutez un '+' supplémentaire dans le case list of signs. IENAC-T11 Matlab 2 L'entré de notre système est la force F. Nous allons dans un premier temps la représenter Constant de la librairie Sources. Ajoutez Math operations pour représenter la multiplication par par une constante. Ajoutez à votre modèle le bloc aussi un bloc 1/M . Gain de la librairie Éditez le bloc Gain pour remplacer la valeur par défaut 1 par 1/M. Connectez les diérents blocs. Votre modèle doit maintenant ressembler à la gure suivante. bloc Gain Integrator ( dans la librairie pour la multiplication par b M. b M .ẋ. ẋ peut être obtenu à partir de ẍ en utilisant un Continuous ). Comme précédemment, utilisez un bloc Le deuxième élément de la somme est Ajoutez maintenant le troisième élément de la somme (x) en utilisant le même principe. Nous allons utiliser un Scope ( librairie Sinks ) pour visualiser la sortie de notre modèle. IENAC-T11 Matlab 3 Avant de pouvoir simuler notre modèle, il nous reste encore à dénir les constantes symboliques que nous avons utilisées ( M, b et k constantes sont bien dénies dans .m) ). Créez un chier Matlab ( run('mon_fichier.m'). l'environnement Matlab ( workspace ). ces constantes et exécutez le avec la commande dénissant Vériez que les Nous allons maintenant pouvoir simuler notre modèle. Double-cliquez sur l'icône du scope pour faire aparaitre la fenêtre associée. Le menu Simulation/Configuration parameters permet d'accéder à une boite de dialogue réglant les paramètres de la simulation ( durée, algorithme d'intégration etc...). Dans un premier temps, conservez les valeurs par défaut. Lancez la simulation à partir du menu Simulation/Start. Autoscale du save current axis settings permet de mémoriser Lorsque la simulation est nie, utilisez le bouton scope pour ajuster l'échelle. Le bouton ces réglages pour les simulations suivantes. IENAC-T11 Matlab 4 Création d'un sous-système De la même façon qu'en programmation classique, on crée des fonctions pour faciliter la lisibilité et la réutilisation, il est possible dans Simulink de créer des sous systèmes jouant le même rôle. Avant de modéliser un correcteur par retour d'état, nous allons transformer notre chariot en sous système. In et Out ( librairies Sources ). Sélectionnez l'ensemble des éléments de votre modèle puis choisissez create subsystem disponible dans le menu associé au clic droit. Remplacez le scope et la constante utilisée pour la force par des blocs Sinks et l'option Utilisation du modèle Simulink depuis Matlab Il est parfois souhaitable d'utiliser un modèle Simulink depuis Matlab, par exemple pour pouvoir générer une entrée sophistiquée ou pour eectuer des traitements sur les sorties. La fonction sim() de Matlab permet cette opération. Essayez cette fonction dans sa version la plus simple [t X Y] = sim('chariot'); plot(t,Y); La réponse plate obtenue vient du fait que nous n'avons pas fourni d'entrée au modèle et que Matlab a en conséquence pris 0 par défaut. An de fournir une entrée non nulle au modèle, nous allons devoir utiliser la version complète de la fonction sim(). Le script suivant génère une entrée constante de valeur 1 ainsi qu'un vecteur temps. Il utilise ensuite la version complète de la fonction clear(); sim. IENAC-T11 Matlab 5 M = 1; b = 10; k = 20; span = 10.; step = 0.01; options = simget('chariot'); t = 0:step:span; u = ones(span/step+1, 1); [t_out X Y] = sim('chariot', span, options, [t' u]); plot(t_out,Y); 2 Exercice : Adjonction du correcteur par retour d'état et simulation de la réponse à un échelon. Réalisez dans Simulink le modèle d'un correcteur par retour d'état. Le transformer en sous système. Depuis Matlab, simulez la réponse du système bouclé à un échelon de commande d'amplitude un mètre. Tracez cette réponse. Tracez aussi la commande issue du PID. Modélisez les imperfections du capteur de position en utilisant un bruit aléatoire gaussien de variance 5cm ( librairie sources) ainsi qu'un délai de 250ms ( librairie Continuous ). Observer la dégradation des performance de votre correcteur. Modélisez votre actionneur en ajoutant un saturation entre la sortie du correcteur et l'entrée du chariot. Observez l'eet sur les performances du régulateur. 3 Pour aller plus loin La programmation graphique, aussi attractive puisse t'elle sembler, se révèle souvent inadap- tée au traitement de certains problèmes complexes. Le mécanisme de S-function permet d'intégrer du code matlab dans une simulation simulink. Ce mécanisme est trop complexe pour être décrit ici. www.mathworks.com/help/pdf_doc/simulink/sfunctions.pdf contient la dowww.chem.mtu.edu/ ~tbco/cm416/MatlabTutorialPart5.pdf contient le sujet d'une séance de travaux pratiques metL'url suivante cumentation de référence sous forme d'un document de 600 pages. L'url tant en oeuvre des S-functions.
Documents pareils
systeme de levitation magnetique
qui, en liaison avec la boîte d'outils FEEDBACK, permet de
paramétrer et de constituer le système. Une fois les
paramètres du contrôleur numérique déterminés, le
contrôleur étudié peut être utilisé...