Vous êtes sur la page 1sur 16

Filière :

Energie Electrique et Industrie Numérique (EEIN)

Utilisation d’un logiciel graphique de simulation de


systèmes physiques : SIMULINK / MATLAB

MHA RIHAB
MECHAOUAT NOUHAILA
OUSSAMA MEGRINI

Mme CHAOUI Fatima Zahra

Année Universitaire : 2022/2023


SOMMAIRE
BUT :................................................................................................................................3
I. Introduction......................................................................................................................3
II. Exemple n°1 : Réponse indicielle d’un système linéaire ....................................................3
III. Exemple n°1 :Etude d’un système asservie.................................................................7
1-Réponse indicielle..................................................................................................................7
1-1- Recherche théorique de la réponse indicielle .....................................................................7
1-2- Tracé de la réponse indicielle à l’aide de Matlab........................................................9
2 - Commande PID du système ...............................................................................................10
3 - Effet d’une perturbation de sortie .....................................................................................14
IV. CONCLUSION........................................................................................................16

2
BUT : Le but de cette manipulation est l’initiation à la toolbox SIMULINK de Matlab. Cette

toolbox permet de réaliser des schémas de simulation de certaines applications d’automatique,


de définir les paramètres des éléments utilisés dans les schémas de simulation et de lancer enfin
les simulations.

I- Introduction :
Matlab « abréviation de MATtrix LABoratory », est un logiciel qui a été conçu pour fournir un
environnement de calcul numérique de haut niveau. Il est particulièrement performant pour le calcul
matriciel car sa structure de données interne est basée sur les matrices. Il dispose également de grandes
capacités graphiques qui ont pour but d’améliorer la convivialité de certaines simulations, une
Toolobox particulière a été créée : SIMULINK. Celle-ci permet de réaliser une simulation grâce
à une fenêtre graphique où l’on réalise un schéma bloc. On dispose d’un certain nombre de
bibliothèques de Simulink (sources, continuous, discrete, sinks, math operatioss, signal routings,
etc…) ainsi que la possibilité d’utiliser des variables définies sous Matlab. Il est également
possible de retourner des résultats numériques sous Matlab.

L’intérêt majeur de Simulink c’est qu’il permet de réaliser des schémas blocs assez complexes qu’il est
difficile de réaliser avec les commandes de Matlab.
Pour accéder à la fenêtre de commande de Simulink, il faut lancer Matlab, puis taper
Simulink dans la fenêtre de travail de Matlab.

II- Exemple n°1 : Réponse indicielle d’un système


linéaire :

Soit à réaliser le schéma bloc suivant :

u(t) y(t)
0.5
0.05 p + 1

3
Réalisation du schéma bloc de la figure ci-dessus :

Pour réaliser le schéma bloc sur Simulink, on suit les étapes suivantes :

- Ouvrir un nouveau fichier dans la menue file de Simulink


- Prendre un générateur d’échelon dans la rubrique sources
- Prendre une fonction de transfert dans la rubrique et un oscilloscope (scope) dans la
rubrique sinks.
- Relier les différents éléments avec la souris
- Définir les paramètres de l’échelon (step time : 0, initial value : 0, final value : 1), les
paramètres de la fonction de transfert (numérateur : 0.5 et dénominateur : [0.05 1])
et les paramètres de l’oscilloscope en entrant la variable y comme sortie de
l’oscilloscope.
- Définir les paramètres de simulation dans le menu simulation (stop time : 0.3s).

Figure 1 : le schéma bloc sur Simulink du système dont sa fonction de transfert est : 0.5/0.05p+1

4
La courbe y(t) tracée sous Simulink :

Figure 2 : la réponse indicielle y(t) du système à l’aide de Simulink

D’après la figure 2, on note que :

✓ La valeur finale de y(t) = 𝑦∞ = 0.5


✓ Le temps de réponse est le temps correspond à y(t)=0.315 donc 𝑡𝑟 = 𝑟 = 0.05

Tracer le graphique du système à l’aide de Matlab :


Pour tracer le graphique trouvé à l’aide de Matlab on utilise la commande suivante :
» plot (y.time, y.signals.values)
Pour mieux afficher la courbe de y(t) on peut définir les différentes possibilités de Matlab (titre,
commentaires, …) En utilisant les commandes suivantes :

» title (‘Reponse indicielle d un systeme de premier ordre’);


» xlabel(‘t’);
» ylabel(‘y(t)’);
» grid

5
R éponse indicielle d un système de premier ordre
0. 5

0. 45

0. 4

0. 35

0. 3
y(t)

0. 25

0. 2

0. 15

0. 1

0. 05

0
0 0. 05 0. 1 0. 15 0. 2 0. 25 0. 3 0.35
t

Figure 3: la réponse indicielle y(t) du système l’aide de Matlab

Remarque : Matlab connaît les variables définies sous Simulink, ainsi il est possible de retourner
des résultats numériques sous Matlab.

Exemple qui explique la possibilité de retourner les résultats numériques sous


Matlab :

✓ On saisit la fonction de transfert sous Matlab à l’aide des commandes suivantes :

» nF2=0.5;
» dF2=[0.05 1];
» sys2=tf(nF2,dF2)

Méthode 1: Dans le fichier Simulink, la fonction de transfert F2 (p) peut être saisie en entrant
nF2 dans le numérateur et dF2 dans le dénominateur. Le schéma bloc obtenu est le suivant :

Méthode 2: Dans le fichier Simulink, la fonction de transfert F2 (p) peut être saisie en entrant
sys2.num {1} dans le numérateur et sys2.den{1} dans le dénominateur.

6
III- Exemple n°2 : Etude d’un système asservi :
Soit un système de 2ème ordre :

1
𝐺(𝑝) = 1
=1+𝑎 2
2𝜉 𝑝2 1𝑝+𝑎2 𝑝
1+ 𝜔 𝑝+ ω 2
0 0

2𝜉 1
Avec :  =  ; 𝜔0 =12.315 rad/s ; 𝑎1 = et 𝑎2 =
𝜔0 ω02

1- Réponse indicielle :
Pour comprendre les caractéristiques de ce système, on se propose de tracer sa réponse
indicielle

1-1- Recherche théorique de la réponse indicielle :

1- Donner l’expression de la réponse indicielle y(t) de ce système :


L’entrée du système est un échelon unité :
u(t)=Г(t) => 𝑌(𝑝) = 𝐺(𝑝) = 1
𝑝 𝑝(1+ 𝑎1 𝑝+𝑎 2 𝑝 2 )
D’après cette expression, il est clair que la forme de la réponse indicielle dépendra essentiellement
des racines de l’équation du second ordre :
2 𝑎2𝑝2 + 𝑎1𝑝 + 1 = 0
𝜉 4 4
On a  = 𝑎 2− 4 𝑎 = 4 ( ) − = (𝜉2 − 1)
1 2 𝜔0 ω02 ω02
 alors l’équation admet deux racines complexes conjuguées
• −𝑝1 = −0 + 𝑗0√𝜉2 − 1
• −𝑝2 = −0 − 𝑗0√𝜉2 − 1
𝑝2 𝑒−𝑝1𝑡−𝑝1 𝑒−𝑝2𝑡
Donc y(t) = 1+
𝑝1−𝑝2

𝑒−0𝑡
D’où y(t) = 1-
√1−𝜉2
sin(𝜔𝑡 + 𝜑)

𝟐
𝟐 et 𝝋 = 𝒂𝒓𝒄𝒕𝒈 √𝟏−𝝃
Avec : 𝑚 = 𝟎 √𝟏 − 𝝃

7
2- Donner l’allure de cette réponse :
 est très petite donc la réponse indicielle va être mal amorti
y(t)
𝑦𝑚𝑎𝑥

t
𝑡1 𝑡2 𝑡3

T
3- Donner les expressions de 𝑦𝑚𝑎𝑥 et de dépassement D et calculer leurs valeurs :
✓ L’expression de 𝑦𝑚𝑎𝑥 :
Le maximum de la réponse indicielle se produit à l’instant : 𝑡1 = 𝜋 = 𝜋
𝜔 𝟎√ 𝟏−𝝃𝟐
𝟐
−𝜋/√𝟏−𝝃 sin(𝜑) √ 𝟐
𝑒
Donc : 𝑦𝑚𝑎𝑥 = 𝑦(𝑡1) = 1 − 𝑠𝑖𝑛(𝜋 + 𝜑) = 1+ 𝑒−𝜋/ 𝟏−𝝃
√1−𝜉2 √1−𝜉2

𝑦𝑚𝑎𝑥 = 1 + 𝑒−𝜋/
√𝟏−𝝃 𝟐

✓ L’expression du dépassement :
𝑦𝑚𝑎𝑥−𝑦∞
D = 100
𝑦∞
L’entrée est un échelon unitaire donc 𝑦∞ = 1
D = 100 𝑒−𝜋/√𝟏−𝝃
𝟐

✓ Application numérique :

➢ 𝑦𝑚𝑎𝑥 = 1.93
➢ 𝐷 =93%

4- Calculer 𝑡𝑟 ∶

𝑡𝑟 = − 1
ln(0.05√1 − 𝜉2 ) = − 0.024×12.315
1 ln(0.05√1 − 0.0242 ) = 10.13𝑠
𝜉𝜔0

8
1-2- Tracé de la réponse indicielle à l’aide de Matlab :

Pour cela, on peut créer un programme Matlab où l’on définit ce système. Ce programme sera
appelé : systeme.m et comporte les commandes suivantes :
w0=12.315 ;
ksi=0.024 ;
a2=1/(w0*w0) ;
a1=2*ksi/w0;
nG=1;
dG=[a2 a1 1];
sys=tf(nG,dG) ;
Dans l’environnement Matlab, on lance ce programme puis on trace la réponse indicielle du
système :
» step(sys)
» title(‘Réponse indicielle d un système de second ordre’);
» xlabel(‘t’);
» ylabel(‘y(t)’);

S tep Response
2

1.8 S ystem: sys


Ti me (seconds): 0.255
A mpl i tude: 1.93
1.6

1.4
S ystem: sys
1.2 Ti me (seconds): 10
A mpl i tude: 1.03
Amplitude

0.8

0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18 20
Ti me (seconds)

Figure 4: la réponse indicielle y(t) d’un système de second ordre tracée sous Matlab

La réponse indicielle obtenu au-dessus (figure 4) est mal amortie ; on note :


✓ 𝑦𝑚𝑎𝑥=1.93
✓ Le temps de réponse à 5% de système à 10s d’amplitude de 1.03.

9
2- Commande PID du système :

Dans la suite, on se propose de commander le système G(p) par un régulateur PID. Le schéma
de régulation est alors le suivant

y*(t) y(t)
+
C(p) G(p)

Figure 5

Où C(p) désigne le correcteur PID suivant :

1 𝑇𝑑 𝑇𝑖 𝑝2+𝑇𝑖 𝑝+1
C(p) = 𝑘 (1 + 𝑇 𝑝 + 𝑇𝑑𝑝) = 𝑘
𝑖 𝑇𝑖 𝑝
K, Ti, et Td sont les constantes de proportionnalité, d’intégration et de dérivation, à déterminer
de façon que le système de commande réalise les performances suivantes :
- Avoir une erreur statique de position en régime permanent nulle càd garantir que
lim 𝑦(𝑡) = 1
𝑡→∞

- Garantir un dépassement nul de la réponse indicielle, càd avoir une réponse indicielle y(t)
apériodique et non oscillatoire.
- Garantir un temps de réponse à 5% de y(t) égal à 5s.
➢ La première performance est assurée puisque le régulateur choisi est un régulateur
PID. Il comporte une action intégrale qui annule l’erreur statique de position en
régime permanent.
D’après ce cahier de charges, on peut dire qu’un bon choix de la réponse désirée en boucle
fermée est une fonction de transfert de premier ordre de la forme:
𝐹𝑑 (𝑝) = 1
1+𝑐𝑐 𝑝
Où c est la constante de temps désirée.
Or, on sait pour un système de 1er ordre que le temps de réponse à 5% est tel que t r ≈3 c
Où  c est la constante. Si t r = 5s alors  c = t r/3 = 1.67s.

10
Le réglage du régulateur PID sera alors basé sur la structure IMC (internal Model
Control) ; voir livre ; La régulation industrielle de Jean-Marie Flaus
1 1
G( p) = =
1 Avec  = =
1
= 0.0812s
2 p 2
1+ 2 p +  2 p2 0
1+ p+ 12.315
0  0
2

Les paramètres du correcteur PID Sont les suivants :

2 T = 2 
K= ,
, Td =
 2
i
c

On a : =  =   c=1.67s

AN : K=0.0024 , Ti=0.004 , Td =1.69

La réponse y(t) du système de commande peut être tracée sous Matlab ou sous Simulink.
a) Sous Matlab
Sous Matlab, exécuter le programme de définition du système (systeme.m). Puis entrer les
commandes suivantes :
𝑇𝑑 𝑇𝑖 𝑝2+𝑇𝑖 𝑝+1
Dans ces commandes, sys4 désigne le correcteur PID : C(p) = 𝑘
𝑇𝑖 𝑝

Et sysbf désigne le système en boucle fermée de la figure 5 :

» K=0.0024;
» Ti=0.004 ;
» Td=1.69 ;
» sys3=TF(1,1);
» nG4=[K*Td*Ti K*Ti K];
» dG4=[Ti 0];
» sys4=tf(nG4,dG4);
» sysbf=feedback(sys4*sys,sys3);
» step(sysbf);

11
System : sysbf
Time (seconds): 9.67
Répons e indicielle du système asser vi mplitude: 0.997
A
1

0.9 System : sysbf


Time (seconds) : 4.99
0.8 Amplitude: 0.95

0.7

0.6

0.5
y(t)

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7 8 9 10
t (seconds)

Figure 6: la réponse indicielle y(t) du système asservi tracée sous Matlab

D'après l’exécution de la commande sur MATLAB on obtient un système apériodique non


oscillatoire est on note :
➢ 𝑦∞ = 1 => le système est précis grâce à l’action intégrateur du correcteur PID.
➢ Un dépassement nul de la réponse indicielle
➢ Un temps de réponse à 5% de y(t) égal à 5s.

Alor la réponse indicielle obtenu après la régulation reçoit à celle demander par le cahier de
charge

b) Sous Simulink

Sous Simulink, on ne peut pas tracer le schéma de commande comme il est dans la figure 5 car
la fonction de transfert C(p) est une fonction de transfert qui n’est pas réalisable du fait que le
degré de son numérateur est supérieur au degré de son dénominateur.

Pour contourner ce problème, on tracera le schéma bloc suivant :

y*(t) + y(t)
G0 (p)

Avec G 0 (p) = C(p). G(p). Vérifier que G 0 (p) est réalisable car le degré de son numérateur est
inférieur au degré de son dénominateur
On trouve :𝑮𝒐(𝒑) = 𝑲. 𝑻𝒊𝑻𝒅𝒑²+𝑻𝒊𝒑+𝟏
𝑻𝒊∗𝒑(𝟏+𝟐𝗌𝑟∗𝒑+ 𝑟 𝟐∗𝒑²

12
Dans l’environnement Matlab, on peut définir Go(p) par les commandes suivantes :

» sys5=sys4*sys;
» nG0=sys5.num{1};
» dG0=sys5.den{1};

Par la suite on part vers la bibliothèque Simulink pour faire un appelle de


Go(p) on utilisant un comparateur, pour à voir la consigne y*(t) sur le même graphique de
y(t), utiliser un multiplexeur de la bibliothèque Mathoperation .

Le schéma réalisé sur Simulink sera la suivant :

Figure 7: le schéma bloc sur Simulink du système asservi

Dans les paramètres de simulation, on choisit stop time=10s car le tr=5s.


La courbe y(t) tracée sous Simulink :

Figure 8 : la réponse indicielle y(t) du système à l’aide de Simulink

13
 La réponse indicielle obtenu reçoit à celle demander par le cahier de charge une
réponse apériodique non oscillatoire

3- Effet d’une perturbation de sortie


On se propose dans ce paragraphe d’étudier l’effet d’une perturbation de sortie sur le système
de commande. Le schéma à réaliser est le suivant :
d(t)

yc(t) e(t) + y(t)


+ +
+ C(p) G(p)

Où yc(t) est le signal de consigne qui est sous forme d’un échelon unitaire (y c(t) = y*(t)).
d(t) est une perturbation sous forme d’un échelon unitaire qu’on applique à l’instant t =10s

Notre objectif est de montrer que le régulateur PID réalise bien la réjection de la perturbation
d(t) càd qu’après application de la perturbation, la sortie y(t) revient à sa valeur finale 1 dans le
régime permanent.
Puisque C(p) n’est pas réalisable, le schéma bloc qui sera tracé sous Simulink est la suivant :
d(t)

yc(t) e(t) + y(t)


+ +
+ G0 (p)

14
Le schéma réalisé sur Simulink sera le suivant :

on choisit stop time=20s car la perturbation soit injecter à l'instant t=10s

Figure 9: le schéma bloc sur Simulink du système asservi

La réponse indicielle tracée sous Simulink :

Figure 10: La réponse indicielle tracée sous Simulink

15
D’après la figure 10 : on note que de 0s à 10s on a un régime apériodique non oscillatoire avec un
temps de réponse tr=5s or lorsque on fait appliquer une perturbation de type échelon unitaire à
l’instant t=10s le système se déforme brusquement et grâce au correcteur PID le système retourne
à trouver leur stabilité dans un tr’=15s et on tient un régime permanant.
Pour conclure le correcteur PID est capable d’agit sur tout perturbation que le système peut
avoir en gardant une réponse indicielle apériodique

IV. Conclusion :
D'après logiciel MATLAB la simulation des systèmes asservi est devenu plus performante grâce à
la bibliothèque SIMULINK Cette toolbox permet de réaliser des schémas de simulation de
certaines applications d’automatique, de définir les paramètres des éléments utilisés dans les
schémas de simulation et de lancer enfin les simulations et comparer les résultats avec celle
désirer par le cahier de charge.
Dans ce TP2 on a réussi à trouver les performances désirer par notre cahier de charge grâce à
l’utilisation du correcteur PID qui regroupe les deux correcteurs qu’on a vu dans le TP1 (PI+PD),
dans le but d’avoir une réponse indicielle apériodique et non oscillatoire de plus on a montré que
le régulateur PID réalise bien la réjection de la perturbation d(t).

16

Vous aimerez peut-être aussi