Vous êtes sur la page 1sur 4

Année 2015-2016

AUTOMATIQUE : TP1 MATLAB/SIMULINK


1. Introduction
MATLAB (MATrix LABoratory) est un environnement puissant destiné au calcul
scientifique. Il intègre le calcul matriciel et l’analyse numérique dans ses fonctions de base.
L’ensemble Matlab est formé d’un noyau (le langage Matlab) et de nombreuses bibliothèques
de fonctions spécialisées. Simulink est un complément à Matlab dans le domaine des
simulations temporelles. Il est un environnement graphique, permettant la construction de
schémas-blocs représentant des modèles de systèmes réels et l’analyse de leur comportement.

2. Rappel
Démarrer une session Matlab.
Pour tracer une courbe, il suffit d’entrer les commandes suivantes :
Exemple 1 :
» t=[0 :0.1 :10]; % t=[début : pas : fin]
» y=sin(t) ;
» plot(t,y,’b’) ; % b pour blue
» grid ;
Pour tracer la réponse indicielle d’un système du 2nd ordre et utiliser les fonctions zoom et
ginput pour récupérer le dépassement et le temps de réponse à 5%, il faut entrer les
commandes suivantes :
Exemple 2 : Prenons 0  1rad s et   0, 4
2 1
H  p  2 0

p  20 p   2
1 2 2
p 
0 p 1
2 0 0

» w0=1 ;xi=0.4 ;
» num=[w0*w0] ; den=[1 2*xi*w0 w0*w0] ;
» t=[0 : 0.1 : 20] ; step(num,den,t) ; grid ;
» zoom on % pour zoomer une partie de la courbe
» zoom off % pour arrêter le zoom
» [tmax, max]=ginput(1) % mesures temps de pic, dépassement, …
» zoom out % pour retrouver la figure originale
» hold on ; plot(t,0.95,'r',t,1.05,'r') ; hold off ; % pour permettre la
mesure du temps de réponse
» [tmax, max]=ginput(1)
Voici les commandes pour tracer le lieu de bode d’une F.T. et rechercher la pulsation de
résonance :
Exemple 3 : Soit la F.T. H  p  :
» clear all
» num=1 ;den =[1 2*0.1 1] ; % F.T. + tracé de Bode
» w=logspace(-1,1,200) ;
» [mag, phi]=bode(num,den,w) ;
» mag=20*log10(mag) ;
» semilogx(w,mag) ;grid
» ind_r=find(mag==max(mag)) % recherche indice où mag est max
» mag(95 :105) % vérification
» w(100) % pulsation à laquelle se produit le maximum
% (peu avant 1rd/s)

TP d’Automatique L2 EAII 1
Année 2015-2016
3. Control System Toolbox
Toute représentation d’un système linéaire par sa F.T. se fait à partir de la fonction tf.m

Exemple 4 : systèmes monovariables


1
F  p 
p 1
» num=1 ; den=[1 1] ; sys1 = tf(num,den)
ou les 2 commandes suivantes :
» zer=[] ; pol = [-1] ; gain = 1 ;
» sys1 = zpk(zer,pol,gain) % donne la F.T. à partir des Z/P/K
p2
F  p 
p  p  5
» num=[1 2] ; den=[1 5 0] ; sys2 = tf(num,den)
ou les 2 commandes suivantes :
» zer=[-2] ; pol = [0 -5] ; gain = 1 ;
» sys2 = zpk(zer,pol,gain) % donne la F.T. à partir des Z/P/K
p2
F  p  3
p  2p  4
2

» num=3*[1 2] ; den=[1 2 4] ; sys3 = tf(num,den)


ou les 2 commandes suivantes :
» zer=[-2] ; pol = roots([1 2 4]) ; gain = 3 ;
» sys3 = zpk(zer,pol,gain) % donne la F.T. à partir des Z/P/K

Pour analyser un système dans le domaine temporel :

Exemple 5 :
% réponses temporelles d’un système du 1er ordre
K
G  p 
1 p
% réponses indicielle et impulsionnelle à un signal carré de période
10 s et d’amplitude 1. On prendra K=5 et   1s .
% définition du système
» num=5 ; den=[1 1] ;G=tf(num,den) ;
% définition du temps t et du créneau u(t)
»t1=[0 :0.05 :5] ;t2=[5.05 :0.05 :10] ;t3=[10.05 :0.05 :15] ;
»t4=[15.05 :0.05 :20] ;
»t=[t1 t2 t3 t4] ;
» u1=ones(size(t1)) ; u2=-ones(size(t2)) ; u3=ones(size(t3)) ;
» u4=-ones(size(t4)) ;
» u=[u1 u2 u3 u4] ;
% Calcul et tracé de la réponse au créneau
» lsim(G,u,t) ; grid
% Calcul et tracé de la réponse indicielle
» step(G,t1) ; grid
% Calcul et tracé de la réponse impulsionnelle
» impulse(G,t1) ; grid

Pour analyser un système dans le domaine fréquentiel :

TP d’Automatique L2 EAII 2
Année 2015-2016
Exemple 6 :
% réponses fréquentielles d’un système du 2nd ordre
2
H  p  0

p 2  20 p   2 0

% lieux de Bode, Black, Nyquist.


% On prendra 0  1rad s et   0,5 .
% définition du système
» clear all
» w0=1 ; xi=0.5 ; num=w0*w0 ;
» den=[1 2*xi*w0 w0*w0] ; H=tf(num,den) ;
% définition du vecteur des pulsations
» w=logspace(-2,2,100) ;
% Calcul et tracé du lieu de Bode
» figure(1) ; bode(H,w) ;grid
% Calcul et tracé du lieu de Black
» figure(2) ; nichols(H,w) ;axis([-200 30 -90 10]) ;grid
% Calcul et tracé du lieu de Nyquist
» figure(3) ; nyquist(H,w) ;axis([-1 1.2 -1.2 1.2]) ;grid

Il est possible d’obtenir les marges de gain et phase d’un système monovariable ainsi que
les pulsations où elles se produisent en utilisant la commande margin.
L’exemple suivant calcule et trace dans un plan complexe les pôles et les zéros :

Exemple 7 :
% carte des pôles et zéros du système
» n_G=[0.1 1] ; d_G=[1 0.6 1] ; G=tf(n_G,d_G) ;
» pzmap(G) % donne les pôles et zéros d’un système et les trace
» roots(d_G)

4. Simulink
Dans Simulink, les systèmes ne sont plus décrits par des lignes de code Matlab mais
simplement définis à partir d’un bloc diagramme dont tous les éléments sont prédéfinis dans
des bibliothèques de blocs élémentaires qu’il suffit d’assembler. Lorsque le schéma-bloc du
système que l’on étudie est représenté sous Simulink, il est possible d’analyser sa réponse
temporelle en lançant une simulation.
Le gestionnaire de fichier propose plusieurs répertoires. Quelques fonctions bien utiles :
- Bibliothèque Sources
Step génère un échelon d’amplitude réglable et se déclenchant à une date
donnée et réglable.
- Bibliothèque Sinks
Scope permet l’affichage des signaux générés par une simulation dans
une fenêtre différente des fenêtres Matlab.
- Bibliothèque Continuous
Transfer Fcn simule la F.T. d’un système à temps continu. Le numérateur et
le dénominateur sont entrés par l’utilisateur au niveau de la boîte
de dialogue du bloc. Ils sont représentés par des vecteurs ligne
dont les composantes sont les coefficients du polynôme, entrés
dans l’ordre décroissant des puissances…
Integrator simule la F.T. d’un intégrateur pur.
- Bibliothèque Signal&Systems
Mux permet de passer de plusieurs entrées (scalaires ou vectorielles)
à une sortie unique vectorielle.
- Bibliothèque Math

TP d’Automatique L2 EAII 3
Année 2015-2016
Sum la sortie est la somme des entrées associées à un signe + à
laquelle on soustrait les entrées associées à un signe -.

5. Exercices
Certaines parties sont à faire à la main… bien sûr !
5.1. Dans simulink, représentez le système G  p  de l’exercice 5.1 par le bloc Transfer Fcn.
1. Observez sur l’oscilloscope l’évolution de sa réponse à un échelon d’entrée
d’amplitude A  5 . (Pour cela, affectez le numérateur et le dénominateur avec les valeurs
littérales).
Lancez la simulation (k=3, m=5 et f=2) après avoir choisi ode45 et la durée de simulation
(20s) (onglet simulation, puis configuration parameters)
2. Modifiez f après chaque simulation, à savoir f=2, puis 4, puis 6. Expliquez les résultats
obtenus.
3. De manière similaire laissez k=3 et f=2, mais faites évoluer la masse m, à savoir m=2.5,
puis 4, puis 5. Expliquez les résultats obtenus.

5.2. Un système du 4e ordre est régi par l’équation différentielle linéaire :


y  t   3 y  t   5 y  t   3 y  t   0.2 y t   2u t   4u t   3u t 
1. Écrire sa fonction de transfert G  p  dans le domaine de Laplace en supposant nulles
les conditions initiales. En déduire les variables num et den.
2. À l’aide de MATLAB trouvez les pôles et les zéros de G  p  . On pourra chercher les
racines du numérateur num et du dénominateur den (roots) ou employer la fonction
tf2zp. Quel est le gain K ?
3. Tracez les pôles et zéros dans le plan complexe à l’aide de pzmap. Recherchez la
décomposition en éléments simples de G  p  à l’aide de la fonction residue.
4. Tracez la réponse impulsionnelle de G  p  . La maintenir par hold on. Tracez la réponse
impulsionnelle due au pôle dominant. Pour cela reprendre la décomposition en éléments
simples de G  p  dont le terme dominant (pôle petit, près de l’axe imaginaire) est
numd dend avec numd  1.176 et dend  1  0.07582 . Comparez-les.

5.3. On observe deux systèmes dont les F.T. sont :


H1  p   2 1  6 p  3 p 2  5 p3  p 4  H 2  p   1  2 p  1  16 p  3 p 2  5 p3  p 4 
1. Estimez la stabilité de ces deux systèmes.
2. Tracez leur réponse impulsionnelle respective.

5.4. On considère 2 systèmes G1  p  et G2  p  en B.O. et H1  p  et H 2  p  les systèmes


en B.F. à retour unitaire correspondants.
G1  p   K  p  p  3 p  4 G2  p   K p 3
 5 p 2  8 p  5
1. Discutez, en employant le critère de Routh, la stabilité de ces 2 systèmes bouclés, selon la
valeur du gain K. Vérifiez ces résultats en utilisant le critère de Nyquist.
2. Déterminez H1 pour K=42 ; quel est le gain statique de G1 et celui de H1 ?
3. Tracez les lieux de Black de G1 et G2 et estimez graphiquement les marges de gain et
de phase ( H 2 pour K=18).
4. Quelles sont les valeurs précises de la marge de gain et de phase ? (margin)
5. Comment augmenter les marges ?

TP d’Automatique L2 EAII 4

Vous aimerez peut-être aussi