Académique Documents
Professionnel Documents
Culture Documents
Compte 2
Compte 2
MHA RIHAB
MECHAOUAT NOUHAILA
OUSSAMA MEGRINI
2
BUT : Le but de cette manipulation est l’initiation à la toolbox SIMULINK de Matlab. Cette
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.
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 :
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 :
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
Remarque : Matlab connaît les variables définies sous Simulink, ainsi il est possible de retourner
des résultats numériques sous Matlab.
» 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
𝑒−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.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
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
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
2 T = 2
K= ,
, Td =
2
i
c
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) = 𝑘
𝑇𝑖 𝑝
» 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.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)
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.
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};
13
La réponse indicielle obtenu reçoit à celle demander par le cahier de charge une
réponse apériodique non oscillatoire
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)
14
Le schéma réalisé sur Simulink sera le suivant :
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