Академический Документы
Профессиональный Документы
Культура Документы
Initiation à Matlab
Ce document présente une découverte de Matlab par l’exemple. Cette approche à été
utilisée dans le cadre du cours d’Automatique des étudiants de formation continue à l’ INSA
de Toulouse, dont provient le document initial. Elle est aujourd’hui utilisée pour l’initiation
à Matlab des étudiants de formation par alternance de l’Ecole Nationale de Physique de
Strasbourg.
1 Principes de Matlab
Matlab est l’outil de référence pour la simulation numérique, notamment en ce qui concerne
l’Automatique1 . Il offre des possibilités avancées que ce soit en matière d’identification ou
de commande. Il permet, de manière plus générale, de résoudre une grande diversité de
problèmes de simulation, dans des domaines aussi variés que le traitement du signal, les sta-
tistiques ou la vision, pour ne citer que quelques exemples. L’apprentissage de Matlab se fera
en s’appuyant sur l’étude d’un moteur à courant continu.
1.1 Généralités
Avec Matlab les calculs sont numériques (une variable doit avoir une valeur) et basés sur
la manipulation de scalaires, de vecteurs et de matrices.
Opérations sur les matrices (ainsi que sur les scalaires et les vecteurs, le cas échéant)
– addition : A+B
– soustraction : A-B
– multiplication : A*B et B*A
– inversion : inv(A)
– transposition : transpose(A) ou A’
1
On parle d’outil de CACSD (✈Computer Aided Control Systems Design).
Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin Maurin – 2005-2006
Automatique Initiation à Matlab, page 2
See also XCORR, DECONV, CONV2, FILTER, and CONVMTX in the Signal
Processing Toolbox.
Si l’on cherche les noms des fonctions se rapportant à un sujet précis, on utilise la fonction
lookfor (puis le mot en anglais). Par exemple :
>>lookfor polynom
>>POLYEIG Polynomial eigenvalue problem.
>>CONV Convolution and polynomial multiplication.
>>DECONV Deconvolution and polynomial division.
... ... ... ...
Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin Maurin – 2005-2006
Automatique Initiation à Matlab, page 3
Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin Maurin – 2005-2006
Automatique Initiation à Matlab, page 4
avec :
Kem
K = 2
gain statique du système,
Rf + Kem
RJ
τem = 2
constante de temps électromécanique,
Rf + Kem
L
et τel = constante de temps électrique.
R
On rappelle que dans ce modèle R représente la résistance de l’induit du moteur, L son induc-
tance ; f est le coefficient de frottement visqueux et J le moment d’inertie du rotor ; K est le
rapport couple-courant (supposé égal au rapport force électromotrice-vitesse de rotation).
Pour la mise au point d’un programme ou des calculs très ponctuels, vous pouvez taper
vos instructions sur la ligne de commande. Néanmoins :
1. Eteindre sa calculatrice et l’enfouir dans son sac pour le reste du TP (et des autres TPs
d’ailleurs). En cas de non respect de cette consigne s’attendre à de graves représailles. . .
2. Créer un script qui comporte les différentes opérations détaillées ci-dessous Pour cela on
peut utiliser l’éditeur de Matlab (>>edit). Des commentaires peuvent être introduits
à l’aide du symbole %.
3. Définir tout d’abord les diverses constantes du problème (dans un script nommé cal-
cul constantes mmc.m par exemple). Les valeurs numériques choisies correspondent à
un MCC un Maxon F 2260, numéro 885 étudié en cours :
R = 1, 44 Ω
L = 5, 6 10−4 H
J = 1, 29 10−4 kg.m2
f = 7, 2 10−5 m.N.s
Kem = 0, 10 m.N.A−1
Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin Maurin – 2005-2006
Automatique Initiation à Matlab, page 5
6. Créer une figure (avec la fonction figure) et la diviser en deux sous-tracés (avec la
fonction subplot). Dans le premier, tracer la réponse indicielle du MCC à un échelon
unitaire de tension. A l’aide de la souris, observer les caractéristiques accessibles du
tracé (clic droit puis relâcher pour les caractéristiques, pointer la courbe et clic gauche
puis rester appuyé pour les valeurs). Dans la seconde sous-figure, tracer le diagramme
de Bode du MCC. Analyser les différents tracés.
7. L’asservissement de vitesse du moteur à courant continu est défini à la figure 1. Il com-
porte un correcteur proportionnel de gain Kp = 10. La fonction de transfert du capteur
de vitesse est assimilée à un gain pur noté Kω . La sortie de ce capteur valant 10 V pour
une vitesse de rotation de 3000 tours/min calculer Kω en unités SI.
Kω
3 Utilisation de Simulink
3.1 Généralités
Simulink est une autre boı̂te à outils de Matlab qui permet de faire des simulations de
systèmes définis à l’aide d’un outil graphique. On se propose ici d’utiliser Simulink pour
définir l’asservissement en vitesse du moteur à courant continu. On pourra ainsi visualiser
notamment les réponses du système à différents types d’entrées.
Pour lancer Simulink, on peut soit utiliser les menus disponibles, soit taper sur la ligne
de commande >>simulink. Pour créer un nouveau modèle Simulink choisir New dans le
menu File, puis Model. Une feuille de travail apparaı̂t, sur laquelle on va pouvoir définir
Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin Maurin – 2005-2006
Automatique Initiation à Matlab, page 6
graphiquement notre système. Les différents outils disponibles seront trouvés dans les menus
correspondants : sources, visualisation, automatique continue, automatique discrète, fonctions
mathématiques, fonctions et tables, automatique non-linéaire, signaux et systèmes. De par sa
nature graphique Simulink peut être aisément découvert intuitivement. Cet outil utilise la tech-
nique de drag and drop (sélectionner et faire glisser). Il est facile de positionner les éléments
nécessaires dans la fenêtre du modèle. Ensuite, on relie ces éléments entre eux pour consti-
tuer le modèle. Chaque élément possède une description et éventuellement des paramètres qui
peuvent être modifiés. Pour y accéder double-cliquer sur un élément.
Par exemple si on veut visualiser le signal d’un générateur sinusoı̈dal, on utilise la source
correspondante (menu Sources) et un oscilloscope (menu Sinks). On connecte ensuite ces
deux éléments en attrapant la sortie du générateur et amenant la souris enfoncée sur l’entrée
de l’oscilloscope. La simulation est jouée en cliquant sur Run, dans le menu Simulation.
La encore, on peut définir l’ensemble de la simulation à l’aide d’un script. En effet, Simulink
partage les variables de l’espace de travail Matlab (variables globales). On peut ainsi définir
le modèle Simulink à l’aide de variables dont les valeurs sont définies dans un script. On
peut jouer la simulation depuis la ligne de commande (donc lancer cette simulation depuis un
script). Ainsi sur l’exemple précédent, on obtient le modèle exempleMinimum.mdl et le
script ci-après.
Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin Maurin – 2005-2006
Automatique Initiation à Matlab, page 7
Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère Année Laurent Barbé et Benjamin Maurin – 2005-2006