TP 1 – Initiation à Matlab
1 Principes de Matlab
Matlab est l’outil de référence pour la simulation numérique, notamment en ce qui concerne
l’Automatique. 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’
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 ; Kem 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
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
Automatique Travaux Pratiques, 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.
Automatique Travaux Pratiques, page 7
1 Contexte de l’étude
On se propose de calculer un correcteur pour l’asservissement de position du moteur à
courant continu étudié lors de l’initiation à Matlab.
Le moteur dont l’asservissement de vitesse a déjà été étudié d’une part en cours et d’autre
part lors de l’initiation à Matlab, est maintenant asservi en position selon le schéma de la
figure 2. Dans ce schéma y(t) représente la tension image de la position angulaire mesurée par
un capteur potentiométrique. La fonction de transfert correspondante, moyennant un réglage
correct de l’offset du capteur, est assimilée à un gain constant Kθ = 5, 56 10−2 V . deg−1 , ce
qui correspond à une amplitude de sortie de 20 V (± 10 V) pour un tour complet du rotor du
moteur (θ(t) étant exprimé en degrés).
−
Y (s)
Kθ
4. Effectuer la synthèse de ce même correcteur avec la méthode du lieu des racines. Pour
cela, on se fixera un cahier des charges correspondant au critère de la question précédente,
mais défini en termes de dépassement et de temps de réponse. Ensuite, on utilisera l’ou-
til rltool (taper rltool, lire l’aide et se laisser guider) pour obtenir le correcteur
répondant au cahier des charges voulu.
5. Calculer le gain ainsi que les paramétres a et Td du correcteur à avance de phase de
façon a avoir une marge de phase de 45 deg pour une pulsation de coupure du système
en boucle ouverte de 300 rad/s. Vérifier le résultat obtenu avec Matlab.
Automatique TP 3, page 11
1 Identification
1. Retrouver en la démontrant la transformée de Laplace du signal g1 (t − tr ) avec tr une
constante réelle positive. On note G1 (s) la transformée de Laplace du signal g1 (t).
2. Donner la fonction de transfert G2 (s) d’un système du second ordre possédant un pôle
réel double. On introduira pour cela la constante de temps τ associée au pôle et le gain
statique du système, noté K.
3. Que vaut le coefficient d’amortissement ξ d’un système du second ordre possédant un
pôle double réel ? Justifier la réponse sans pour autant faire de calcul.
4. En utilisant la figure 3 jointe en annexe, donner le temps de réponse t5% d’un tel système
en fonction de τ . On utilisera pour cela la forme canonique de la fonction de transfert,
rappelée dans l’annexe A.
5. On assimile le système de chauffage électrique ventilé considéré à un second ordre avec
retard possédant un pôle double réel. D’après les questions 1 et 2, donner l’expression
de sa fonction de transfert G(s) en conservant les notations précédentes.
6. Tracer l’allure de la réponse indicielle correspondant à la fonction de transfert précédente
en fonction de tr , τ et K.
7. La réponse du système à un échelon d’amplitude 10V est donnée à la figure 5. Compa-
rer cette réponse au tracé précédemment effectué et, d’après les questions précédentes,
identifier les paramètres tr , τ et K en utilisant la figure réponse 5.
8. On se propose d’identifier les paramètres précédents de manière plus précise en utilisant
la méthode de Strejc. Son principe est expliqué dans l’annexe B. Appliquer la méthode
de Strejc, en vous appuyant sur la figure réponse 6.
3 Autoréglage
Le but de cette partie est de réaliser une simulation à l’aide de Simulink permettant d’ob-
tenir un autoréglage par le test du relai.
1. Réaliser un modèle Simulink pour mettre en œuvre l’auto-réglage par la méthode du
relai. On choisira un relai avec hystérésis.
2. Obtenir des oscillations entretenues et mesurer les différentes caractéristiques nécessaires
à l’autoréglage.
3. Implanter l’algorithme d’autoréglage dans un script Matlab, pour calculer un correc-
teur PID permettant d’obtenir une marge de phase de 60 deg à partir des mesures
précédentes. On ne demande pas que ces mesures soient automatiques : les valeurs ob-
tenues à la question précédente seront reportées dans ce script comme des paramètres.
4. Vérifier avec Matlab que la marge de phase obtenue est conforme au résultat attendu.
5. Observer le comportement du système corrigé et commenter le résultat obtenu.
Automatique TP 3, page 13
en fonction de l’amortissement ξ.
F IG . 3 – Temps de réponse normalisé ωn t5% d’un système du second ordre en fonction de son
coefficient d’amortissement ξ
Automatique TP 3, page 14
B Méthode de Strejc
La méthode de Strejc est une méthode d’identification classique qui permet de déterminer
les paramètres d’un système dont le modèle peut s’écrire sous la forme de la fonction de
transfert :
Ke−tr s
G(s) = . (1)
(1 + τ s)n
A partir de la courbe de la réponse indicielle (voir figure 4) on trace la tangente à la réponse
y(t)
t
T1 T2
T1 T2 −T1 T1
n τ τ T2 −T1
1 0 1 0
2 0, 28 2, 72 0, 1
3 0, 8 3, 7 0, 22
4 1, 42 4, 46 0, 32