Académique Documents
Professionnel Documents
Culture Documents
AISSI SALIM
Université Batna2
Asservissement
des Systèmes
Linéaires:
Simulations et Travaux
Pratiques Par Matlab/Simulink
Edition GANA
Batna - Algerie
Tél. 033 25 41 16 0561 27 95 65
Fax. 033 25 30 25
E-mail:Dar_gana@yahoo.fr
N° Interne :006/2020
N° dépôt légal :10-2020
ISBN : 978 -9947 -910 -78 -8
Dédicace
Je dédie ce Modest travail à :
o Toute la famille
Remerciements
Sommaire
Introduction Générale
9
Partie 1 : Prise en main avec Matlab Simulink
10
Partie 1 : Prise en main avec Matlab Simulink
Partie 1
11
Partie 1 : Prise en main avec Matlab Simulink
1. Definition de MATLAB
Le mot MATLAB, c'est l'initiale de (MATrix-LABoratory) en français
Laboratoire des matrices. Son environnement est de type visuel orienté pour
calcul numérique et matriciel beaucoup
plus. Un large public de chercheurs et
étudiants exploite la puissance de haute
gamme du Matlab. Il est devenu
actuellement une nécessité dans le
domaine du calcul technique.
En effet Matlab possède beaucoup
de plateformes pour le calcul numérique
et formel ou symbolique, des outils
puissants pour le graphisme. La création
des programmes à base d'instruction plus
performantes et focalisées vers des
problèmes bien précis comme :
les instructions concernant le contrôle Figure1.1 : fenêtre de lancement [1]
des systèmes linéaires non linéaires,
discrets, aléatoires, électronique de puissance, logique floue, réseaux de
neurones,…etc.
Matlab existe en plusieurs versions, portant à chaque fois de nouvelles et
puissantes fonctionnalités. La version est affichée au lancement du logiciel
comme l’indique la figure 1.1.
Barre d'outils
Barre de menu
NB.
Il faut noter que les commandes en Matlab sont de types textuels,
alors la syntaxe doit être respectée pour que les commandes fonctionnent
correctement en évitant la génération des messages d'erreurs
13
Partie 1 : Prise en main avec Matlab Simulink
>> help
Le résultat donne une liste des boites à outils existantes. Chaque boite à
outils sélectionnée affiche sur la partie droite son contenue. Comme l’indique la
figure 1.3
Affichage du contenu de la
boite à outils sélectionnée
14
Partie 1 : Prise en main avec Matlab Simulink
Tableau 1.1
Exemple 1: Exemple 2:
>> help elfun >> help control
"elfun : matlab\elfun Elementary math functions" "control : Control System Toolbox"
Cette boite regroupe un ensemble de commandes Cette boite regroupe l'ensemble de
destinées pour les fonctions mathématique commandes destinées pour le contrôle
élémentaire, sin exp, cos, log,…etc. des systèmes asservis comme :
déclaration des fonction de transfert tf,
Le résultat est donné par :
SS, ZPK, Eig, Roots, réponse des
systèmes Step, Impluse, Bode, …etc.
Le résultat est donné par :
15
Partie 1 : Prise en main avec Matlab Simulink
16
Partie 1 : Prise en main avec Matlab Simulink
Tableau 1.2
17
Partie 1 : Prise en main avec Matlab Simulink
Elle contient aussi une barre de menu, une barre d'outils, un volet
concernant une recherche par mots clés.
La fenêtre Simulink est devisée en deux parties ; la première affiche la
bibliothèque du Simulink et la deuxième affiche les blocs de chaque élément
sélectionné
Volet de recherche
19
Partie 1 : Prise en main avec Matlab Simulink
20
Partie 1 : Prise en main avec Matlab Simulink
21
Partie 1 : Prise en main avec Matlab Simulink
22
Partie 2 : TP Matlab/Simulink Proposés
Partie 2
TP
Matlab/Simulink
Proposés
23
Partie 2 : TP Matlab/Simulink Proposés
But du TP :
Exercice N°1 :
Commencer votre travail en effaçant les variables, en fermant les
fenêtres graphiques et en effaçant la fenêtre MATLAB.
4 5 6
Créer la matrice A= 7 8 3
0 0 2
Calculer le déterminant de A
Calculer B AT
Calculer C= A -1
Calculer D A B
Calculer E 3A
Calculer la matrice F contenant les produits terme à terme des
coefficients de A et de B
Créer la matrice identité de même dimension que A
Créer une matrice G de dimension (15x10) ne contenant que des 1
Sauvegarder A, B, C dans un fichier nommé « essai1.mat »
Effacer toutes les variables, et vérifier qu’elles sont effacées
Restaurer les matrices A, B, C
1 2 3
Soit F2= 4 5 6
0 9 1
24
Partie 2 : TP Matlab/Simulink Proposés
But du TP :
Maitriser les outils nécessaires pour le traitement des polynômes et les
graphismes sous Matlab
Exercice 1 : Calculs sur les polynômes.
25
Partie 2 : TP Matlab/Simulink Proposés
But du TP :
Travail de Préparation :
26
Partie 2 : TP Matlab/Simulink Proposés
2) Donner les réponses temporelles des circuits (a), (b), (c), (d)
définies comme suit :
a) R1-C (entrée =E, la sortie Vs=S1=VC)
b) R1-C (entrée =E, la sortie Vs=S2=VR1)
c) R2-L (entrée =E, la sortie Vs=S3=VL)
d) R2-L (entrée =E, la sortie Vs=S4=VR2)
But du TP :
27
Partie 2 : TP Matlab/Simulink Proposés
( − )( + . )
( ) = 4.25
( + . )( + )( + )
1) Consulter l’aide en ligne sur les commandes Tf, ZPK, TF2SS, TF2ZP
2) Créer un fichier de commande tp3ex1.m pour les commandes MATLAB
de l’exercice N°1
3) Introduire ( ) et ( ) sous MATLAB
4) Donner les pôles de ces deux systèmes
5) Introduire le système ( ) en utilisant la commande ZPK
6) Passer de la représentation fonction de transfert de ( ) et ( ) vers la
forme ZPK connue par la forme
( ( ))( ( ))...( ( ))
d’Evans ( ) = ).
( ( ))( ( ))...( ( ))
28
Partie 2 : TP Matlab/Simulink Proposés
But du TP :
29
Partie 2 : TP Matlab/Simulink Proposés
Travail demandé :
Buts du TP :
30
Partie 2 : TP Matlab/Simulink Proposés
Exercice N°1
VE I1 C VC VE
L VL
31
Partie 2 : TP Matlab/Simulink Proposés
Exercice N°3 :
Utiliser l’aide en ligne sur les commandes LSIM.
1. Tracer la réponse suite à une rampe r(t)=2*t du système h (s)
2. Tracer la réponse suite à une entrée u(t)=sin(4*t+pi/4) du système
h (s)
3. Tracer et comparer les réponses indicielles des deux
systèmes h (s) = et h (s) = .
^ .
4. Donner les pôles de h5(s), h6(s), que remarquez-vous ?
Buts du TP :
Travail de préparation :
Donner la réponse temporelle du système de premier ordre
y( p) k
H ( p) suite à une entrée Echelon, et à une entrée
u ( p ) 1 p
sinusoïdale u(t)=Am sin(t+) [2].
32
Partie 2 : TP Matlab/Simulink Proposés
But du TP :
R L
C
ue t us t
n
( n n
Exercice 2 (programmation)
But du TP :
Maitriser la modélisation des systèmes asservis linéaires continus du
deuxième ordre, "étude du cas d'un système
mécanique ", étudier la solution de leurs
équations différentielles, tracer leurs réponses k f
temporelles.
M
Exercice 1 r
F
Considérons le système mécanique illustré
par la figure ci-contre. z
34
Partie 2 : TP Matlab/Simulink Proposés
Pour l’entrée U(t) = F(t), Force appliquée à la masse, la Sortie y(t) est
la position ou le déplacement de la masse appelée Z(t).
Avec n est la pulsation propre, est l’amortissement
,
n
( + 2 n + n
Exercice 2 :
Répéter les questions de L'EXO 2 du TP N°8 pour H2(P) en donnant
des valeurs a "f, M, K" du système mécanique correspondants.
35
Partie 2 : TP Matlab/Simulink Proposés
But du TP :
R L
k f
C
ue t us t M
r
F
Figure 1 Figure 2
EXERCICE 1
1. Tracer les réponses indicielles dans une même figure ( exp : appelez la
fig 9.1) du système RLC pour les coefficients d'amortissements suivant
: ξ =0.25, 0.5, 0.707, 1 ,1.5 et n de 5 rad /s
2. Pour le système mécanique refaire la même opération de que (1) en
traçant les résultats dans la figure (fig9.2)
3. Comparer les deux courbes des fig9,1 et fig9,2, conclure.
36
Partie 2 : TP Matlab/Simulink Proposés
EXERCICE 2
But du TP :
Ce TP est très important, il permet à l’étudiant de reconnaître si les
systèmes sont stables ou pas. En se basant sur leurs réponses temporelles, et
leurs pôles, et de concevoir une boucle fermée.
TRAVAIL DE PREPARATION
10 ;
H 2 ( p)
2 p 3
1. Calculer la fonction de transfert du système H1(p)xH2(p) en boucle
fermé avec retour unitaire.
2. Discuter la stabilité de ce système en calculant ces pôles.
3. Utiliser la table de Routh pour vérifier votre résultat.
37
Partie 2 : TP Matlab/Simulink Proposés
SIMULATION
1. Vérifier la stabilité de H1(p) et H2(p).
2. Calculer le système H1(p)xH2(p) en boucle fermé avec retour unitaire
via la commande "feedback".
3. Vérifier sa stabilité en utilisant la méthode de Routh [2] et la
commande Matlab.
38
Partie 2 : TP Matlab/Simulink Proposés
But du TP :
Simulation
39
Partie 2 : TP Matlab/Simulink Proposés
40
Partie 3 : Solution des TP Proposés
Partie 3
Solution des TP
Proposés
41
Partie 3 : Solution des TP Proposés
clear all
clc
A=[4 5 6; 7 8 3;0 0 2]
deta=det(A)
B=A'
C=inv(A)
D=A*B
E=3*A
F=A.*B
eye(size(A))
G=ones(15,10)
save essai1.mat
clear all
clc
who
load essai1.mat
F2=[1 2 3;4 5 6;0 9 1]
G = [F2, zeros(3, 3); ones(3), eye(3)]
size(G)
G(:,6)=[7; 8 ;9;10;5;7]
H=G([2 4],[2 6])
W = F2 *F2
M = F2.*F2
N = F2^3
T = F2.^3; I = exp(F2)
J = sqrt(F2)
42
Partie 3 : Solution des TP Proposés
0.5
0
Ordonnées
-0.5
-1
-1.5
-10 -8 -6 -4 -2 0 2 4 6 8 10
Abscices
43
Partie 3 : Solution des TP Proposés
44
Partie 3 : Solution des TP Proposés
réponse temporelle
1
0.8
0.6
0.4
Volts
0.2
-0.2
-0.4
0 2 4 6 8 10 12 14
Temps
-2
-4
-6
-8
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
5
-5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
10
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
45
Partie 3 : Solution des TP Proposés
Exercice N°1
1/ les équations différentielles des circuits R-C et R-L :
E=UR+UC
E=Ri(t)+Ldi(t)/dt
E=UR+UC→E=Ri+1/C ∫i(t)dt
UC(t)=E-UR=E(1-exp(-t/ ))
ih(t)=Aexp(-t/), ip(t)=E/R
i(t)=E/R(1-exp(-t/))
46
Partie 3 : Solution des TP Proposés
E=UR+UC→E=Ri+1/C∫ i(t)dt
Ul(t)=E exp(-t/)
Exercice : 02
t=0:0.1:10
vc(t)en fonction de temps
10
r=1000*10^3
9
c=0.9*10^-6
8
e=10
7
z=r*c
6
vC=e*(1-exp(-t/z))
v c (t )
5
plot(t,vC) 4
grid 3
xlabel('temps') 2
ylabel('vc(t)') 1
title('vc(t)en 0
0 1 2 3 4 5 6 7 8 9 10
fonction de temps') temps
47
Partie 3 : Solution des TP Proposés
2/ Ic(t) en fonction du
temps :
-5 Ic(t)en fonction de temps
x 10
1.2
t=0:0.1:10
1
r=1000*10^3
c=0.9*10^-6 0.8
e=10
I c (t ) 0.6
z=r*c
IC=e/r*exp(-t/z) 0.4
plot(t,IC,'k')
0.2
grid
xlabel('temps') 0
0 1 2 3 4 5 6 7 8 9 10
ylabel('Ic(t)') temps
title('Ic(t)en fonction de
temps')
Vl(t)en fonction de temps
10
3/ Vl(t) en fonction du temps :
9
t=0:0.1:10
8
r=100 7
e=10 6
l=70
V l(t)
y=l/r 4
Vl=e*exp(-t/y) 3
plot(t,Vl,'g') 2
grid 1
0
xlabel('temps') 0 1 2 3 4 5 6 7 8 9 10
temps
ylabel('Vl(t)')
48
Partie 3 : Solution des TP Proposés
y=l/r Il(t)
0.05
Il=e/r*(1-exp(-t/y)) 0.04
plot(t,Il,'m') 0.03
0.02
grid
0.01
xlabel('temps')
0
ylabel('Il(t)') 0 1 2 3 4 5 6 7 8 9 10
temps
title('Il(t)en fonction de
temps')
t=0:0.001:1
r1=100*10^3
r2=1000
c=0.3*10^-6
e=10
l=20
z=r1*c
y=l/r2
Vc=e*(1-exp(-t/z))
Ic=e/r*exp(-t/z)
49
Partie 3 : Solution des TP Proposés
Vl=e*exp(-t/y)
Il=e/r*(1-exp(-t/y))
subplot(4,1,1),plot(t,Vc,'r');
grid
xlabel('temps')
ylabel('vc(t)')
title('Vc(t),Ic(t),Vl(t),Il(t)en
fonction du temps')
subplot(4,1,2),plot(t,Ic,'k');
grid
xlabel('temps')
ylabel('Ic(t)')
subplot(4,1,3),plot(t,Vl,'b');
grid
xlabel('temps')
ylabel('Vl(t)')
subplot(4,1,4),plot(t,Il,'m');
grid
xlabel('temps')
ylabel('Il(t)')
50
Partie 3 : Solution des TP Proposés
S1/E S2/E
r=1000*10^3 r=100
c=0.9*10^-6 l=70
z=r*c y=l/r
n1=[1] n2=[y]
d1=[z,1] d2=[1,y]
s1=Tf(n1,d1) s2=Tf(n2,d2)
51
Partie 3 : Solution des TP Proposés
help tf,
help zpk,
help tf2ss
help tf
num1=[1 5 ]
den1=[1 8 17 10]
num2=[1 10]
den2=[2 3 1]
f1=tf(num1,den1)
f2=tf(num2,den2)
roots(den1)
roots(den2)
Z=[2 -1.2]
P=[-0.3 -1 -5]
K=[4.25]
f3 = ZPK(Z,P,K)
[Z1,P1,K1] = TF2ZP(num1,den1)
[Z2,P2,K2] = TF2ZP(num2,den2)
[A1,B1,C1,D1] = TF2SS(num1,den1)
[A2,B2,C2,D2] = TF2SS(num2,den2)
[A3,B3,C3,D3] = zp2SS(Z,P,K)
save tp3ex1.mat
52
Partie 3 : Solution des TP Proposés
1 5
den1 =
1 8 17 10
num2 =
1 10
den2 =
2 3 1
Transfer function:
s+5
-----------------------
s^3 + 8 s^2 + 17 s + 10
Transfer function:
s + 10
---------------
2 s^2 + 3 s + 1
ans =
-5.0000
-2.0000
-1.0000
ans =
-1.0000
-0.5000
Z=
2.0000 -1.2000
P=
-0.3000 -1.0000 -5.0000
K=
4.2500
Zero/pole/gain:
4.25 (s-2) (s+1.2)
-------------------
(s+0.3) (s+1) (s+5)
Z1 =
-5
P1 =
-5.0000
53
Partie 3 : Solution des TP Proposés
-2.0000
-1.0000
K1 =
1
Z2 =
-10
P2 =
-1.0000
-0.5000
K2 =
0.5000
A1 =
-8 -17 -10
1 0 0
0 1 0
B1 =
1
0
0
C1 =
0 1 5
D1 =
0
A2 =
-1.5000 -0.5000
1.0000 0
B2 =
1
0
C2 =
0.5000 5.0000
D2 =
0
A3 =
-0.3000 0 0
1.0000 -6.0000 -2.2361
0 2.2361 0
B3 =
1
0
54
Partie 3 : Solution des TP Proposés
0
C3 =
4.2500 -28.9000 -14.0649
D3 =
0
1/ Donner la FT en BF (y(s)/u(s)) :
n1=[1 1]
d1=[1 3 1]
f4=tf(n1,d1)
n2=[1]
d2=[5 1]
f5=tf(n2,d2)
n3=[1]
d3=[1 1]
f6=tf(n3,d3)
h=series(f5,f4)/(1+(f4*f5*f6))
55
Partie 3 : Solution des TP Proposés
Transfer function:
------------------------------------------------------------------------------------------
25 s^7 + 185 s^6 + 496 s^5 + 602 s^4 + 362 s^3 + 112 s^2 + 17 s + 1
H(p)=y(p)/u(p)
Y(p)=f5(s)*f4(s)*e(t) e(t)=u(p)-y’(p)
Y’(p)=f6(s)*y(p)
Y(p)=f5(s)*f4(s)*[u(p)-y’(p)]=f5(s)*f4(s)*[u(p)-f6(s)*y(p)]
n1=[5 26 45 33 10 1]
d1=[25 185 496 607 383 136 26 2]
f3=tf(n1,d1)
[z,p,k]=tf2zp(n1,d1)
zpk(f3)
n1 =
5 26 45 33 10 1
d1 =
25 185 496 607 383 136 26 2
Transfer function:
5 s^5 + 26 s^4 + 45 s^3 + 33 s^2 + 10 s + 1
-------------------------------------------------------------------
25 s^7 + 185 s^6 + 496 s^5 + 607 s^4 + 383 s^3 + 136 s^2 + 26 s + 2
56
Partie 3 : Solution des TP Proposés
z=
-2.6180
-1.0000
-1.0000
-0.3820
-0.2000
p=
-2.6539
-2.6180
-1.0000
-0.2730 + 0.2760i
-0.2730 - 0.2760i
-0.3820
-0.2000
k=
0.2000
Zero/pole/gain:
0.2 (s+2.618) (s+1)^2 (s+0.382) (s+0.2)
--------------------------------------------------------------------
(s+2.654) (s+2.618) (s+1) (s+0.382) (s+0.2) (s^2 + 0.5461s + 0.1507)
57
Partie 3 : Solution des TP Proposés
Exercice : 01
Tracer sous MATLAB les réponses d’un échelon unitaire, signal sinusoïdal,
signal carré, signal triangulaire, signal marche d’escalier.
t=0:0.002:10 1.8
1.6
ech=ones(1,length(t)) 1.4
plot(t,ech,'r') 1.2
échelon
1
grid 0.8
xlabel('temps') 0.6
0.4
ylabel(' échelon ') 0.2
title('échelon unitaire') 0
0 1 2 3 4 5 6 7 8 9 10
temps
B/ Signal sinusoïdal :
1
t=0:0.002:10 0.8
r=sin(t) 0.6
0.4
plot(t,r,'g') 0.2
0
grid
-0.2
xlabel('temps') -0.4
-0.6
ylabel(' sinusoidal ') -0.8
title('signal sinusoidal') -1
0 1 2 3 4 5 6 7 8 9 10
temps
58
Partie 3 : Solution des TP Proposés
C/ signal quarré
t=0:0.01:2
clear all
close all
TP N° 5 : signal carré de 10 période avec T=4
T=4; 1
N=10; 0.9
0.8
t=0:0.001:T;
0.7
for i=0:N-1
t1=[0:0.001:T/2]+(i*T) 0.5
y1=ones(1,length(t1)); 0.4
0.3
plot(t1,y1)
0.2
hold on 0.1
t4=[0:0.001:0.01]+(i*T); 0
0 5 10 15 20 25 30 35 40
temps
y4=[0:0.1:1]
plot(t4,y4,'r')
hold on
t2=[T/2:0.001:T]+(i*T)
y2=zeros(1,length(t2));
plot(t2,y2)
t3=[T/2:0.001:(T/2)+0.01]+(i*T);
y3=[0:0.1:1]
plot(t3,y3,'r')
end
grid
xlabel('temps')
ylabel('signal carré d''entrée')
title('TP N° 5 : signal carré de 10
période avec T=4')
59
Partie 3 : Solution des TP Proposés
t=0:0.01:2
y=ones(1,length(t))
hold on
plot(t,y)
grid
t1=t+2 signal marche d'éscalier
6
y1=ones(3,length(t))*2
5.5
hold on
5
plot(t1,y1,'r')
4.5
grid
m a rc h e d 'é s c a li e r
t2=t1+2 4
y2=ones(1,length(t2))*4 3.5
hold on 3
plot(t2,y2,'g') 2.5
grid 2
t3=t2+2 1.5
y3=ones(1,length(t3))*6
1
0 1 2 3 4 5 6 7 8
hold on temps
plot(t3,y3,'v')
grid
t11=2:0.001:2.01
y11=(1:0.1:2)
plot(t11,y11)
grid
t12=4:0.001:4.01
y12=(1:0.1:2)*2
plot(t12,y12)
60
Partie 3 : Solution des TP Proposés
grid
t13=6:0.001:6.01
y13=(1:0.1:2)*2+2
plot(t13,y13)
grid
xlabel('temps')
ylabel(' marche d''éscalier ')
title('signal marche d''éscalier')
E/ signal triangulaire :
clear all
close all
T=4;
N=5;
TP N° 5 : signal triangulaire de 6 période avec T=4
t=0:0.001:T; 2
1.8
1.6
for i=0:N-1
1.4
t1=[0:0.001:T/2]+(i*T)
s ignal d'entrée périodique
y1=t1-(i*T); 1.2
1
plot(t1,y1) 0.8
hold on
0.6
hold on 0.4
t2=[T/2:0.001:T]+(i*T) 0.2
y2=-t2+((i+1)*T); 0
0 2 4 6 8 10 12 14 16 18 20
plot(t2,y2) temps
end
grid
xlabel('temps')
ylabel('signal d''entrée périodique
')
title('TP N° 5 : signal triangulaire
de 5 période avec T=4')
61
Partie 3 : Solution des TP Proposés
F/ Signal Rampe 2
signal rampe
1.8
t=0:0.01:2 1.6
1.4
y=t
1.2
référenc e
1
plot(t,y,'g')
0.8
grid 0.6
0.2
ylabel(' référence ') 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
title('signal rampe') temps
Vc(t)=E/R1[1-exp(-t/ )] =R1*C1
Il=Ve/R*[1-exp(-t/( L2/R2)]
Vl=L2(dIL2)=E(exp(-t/2) 2=L2/R2
H1(p)= = .
Ic(t)=Cd[vc(t)]/dt=C(p H1(p))
( ) τ
H2(p)= = .
H3(p)= = .
Il(t)=Ld[Il(t)]/dt=L(p H3(p))
τ
H4(p)= = .
5/Introduction des FT sous matlab
n1=[15]
d1=[0.5 1]
h1=tf(n1,d1)
n2=[7.5 0]
d2=[0.5 1]
h2=tf(n2,d2)
n3=[15]
d3=[0.5 1]
h3=tf(n3,d3)
n4=[7.5 0]
d4=[0.5 1]
h4=tf(n4,d4)
6/ le système h1 et h3 se sont des systèmes de 1er ordre
63
Partie 3 : Solution des TP Proposés
Réponse temporelle
Impulse Response
30
25
n1=[15]
20
d1=[0.5 1]
Amplitude
15
h1=tf(n1,d1)
10
impulse(sd1)
5
0
0 0.5 1 1.5 2 2.5 3 3.5
Time (sec)
Impulse Response
30
25
20
N2=[15]
Amplitude
D2=[0.5 1] 15
H2=tf(N2,D2)
10
impulse(H2), grid
5
0
0 0.5 1 1.5 2 2.5 3
Time (sec)
64
Partie 3 : Solution des TP Proposés
U(t) AK
1+
t
Step Response
30
k=15
25
d1=[0.5 1]
20
h=tf(k,d1)
Amplitude
15
a=2
5
step(h*a), grid
0
0 0.5 1 1.5 2 2.5 3
Time (sec)
= AK *1/P(1+ p)
=30 *1/p(1+0.5p)=C1/P+C2/1+0.5P
C1=1 C2=-0.5
Y(t)=AK(1-exp(-t/ ))
Y(t)=2*15(1/p-0.5/0.5(p+1/0.5))
Y(t)= 30*(1-exp(-2*t))
65
Partie 3 : Solution des TP Proposés
15
clf 10
t = 0:0.01:4; 5
Amplitude
0
u = 2*sin(4*t+pi/4)
-5
lsim(h,u,t),grid -10
-15
0 0.5 1 1.5 2 2.5 3 3.5 4
Time (sec)
h2(p)=10/(100p2+526p+82)
Step Response
0.14
0.12
0.1
n2=10
0.08
Amplitude
h2=tf(n2,d2) 0.04
step(h2),grid 0.02
0
0 5 10 15 20 25 30 35 40
Time (sec)
66
Partie 3 : Solution des TP Proposés
h3(p)=10/p+0.161 :
Step Response
70
60
n3=10
50
d3=[1 0.161] 40
Amplitude
h3=tf(n3,d3) 30
20
step(h3),grid 10
0
0 5 10 15 20 25 30 35 40
Time (sec)
Dans ces deux réponses nous remarquons que leurs aspects et valeurs finales,
sont presque identiques (malgré h2 est de deuxième ordre et h3 est de premier ordre),
cela est traduit par : la présence d'un pôle dominant (p1= -0.1608) dans le système de
deuxième ordre qui va éliminer l’effet du deuxième pôle p2= -5.0992
pole(h2)
ans =
-5.0992
-0.1608
>> pole(h3)
ans =
-0.1610
67
Partie 3 : Solution des TP Proposés
1.5
t=0:0.01:4*pi; 0.5
u=2*sin(4*t+pi/4); -0.5
-1
plot(t,u) -1.5
-2
0 2 4 6 8 10 12 14
hold on
n=[1]; Linear Simulation Results
2
d=[0.5 1];
1.5
h=tf(n,d) 1
Transfer 0.5
function :
A m plitud e
1 -0.5
--------- -1
0.5 s + 1 -1.5
-2
0 2 4 6 8 10 12 14
Time (sec)
lsim(h)
lsim(h,u,t)
grid
68
Partie 3 : Solution des TP Proposés
3/diagramme de Bode
Bode(h)
grid
Bode Diagram
0
-5
-10
Magnitude (dB)
-15
-20
-25
-30
-35
0
Phase (deg)
-45
-90
-1 0 1 2
10 10 10 10
Frequency (rad/sec)
nyquist(h)
grid
Nyquist Diagram
0.5
0.4
0.3
0.2
0.1
Imaginary Axis
-0.1
-0.2
-0.3
-0.4
-0.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
69
Partie 3 : Solution des TP Proposés
nichols(h)
grid
Nichols Chart
40
0 dB
30 0.25 dB
0.5 dB
20 1 dB
-1 dB
10 3 dB
-3 dB
Open-Loop Gain (dB)
6 dB
0 -6 dB
-10 -12 dB
-20 dB
-20
-30
-40 dB
-40
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)
rlocus(h)
grid
Root Locus
0.4
0.999 0.997 0.995 0.988 0.97 0.88
0.3
0.2
1
0.1
Imaginary Axis
7 6 5 4 3 2 1
0 1
-0.1
1
-0.2
-0.3
70
Partie 3 : Solution des TP Proposés
-10
M a g n it u d e ( d B )
-15
-25
Magnitude= -7 dB
-30
-45
System: h
Frequency (rad/sec): 3.94
Phase (deg): -63
-90
-1 0 1 2
10 10 10 10
Frequency (rad/sec)
-7dB=20 logl0(y/hl)
-7/20= logl0(y/hl)
10^(-7/20)=y/2
Y=2*10^(-0.35)
= 0.8934
71
Partie 3 : Solution des TP Proposés
̈ + 2 ̇ + =
( )
H(p)= =
( ) R L
Avec
K : le gain statique
U : l’entrée
Y : la sortie
Pour un circuit RLC après l’application de loi de Kirchhoff nous obtenons l’équation
différentielle suivante :
̈ + ̇ + =
n2
TL 1
p p 2 2 p 2
n n
1
1
1 2
e
n
t
sin n 1 2
t
arccos Avec Us la tension de sortie et Ue la tension d’entrée
72
Partie 3 : Solution des TP Proposés
H(p)= =
= ( /2)*(sqrt(C/L))
k=1
la condition sur les paramètres RLC pour que le facteur d’amortissement <1
est (R*sqrt(LC))<2*L
Exercice 02
72
Pour un circuit RLC qui a une FT donnée par H 2 ( p ) 2
( p 6 p 36)
sa réponse indicielle est donnée par :
réponse à un echelon d'un circuit RLC TP8
2.5
System: sys1
Time (seconds): 1.63
Amplitude: 2
2
1.5
Amplitude
0.5
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Time (seconds)
73
Partie 3 : Solution des TP Proposés
(∞)
% = 100 ∗ (∞) ( )
Graphiquement le dépassement D% est presque 16.5%
Analytiquement % = 100 ∗ exp (
)=16.303%
√
num1=72
den1=[1 6 36]
sys1=tf(num1,den1)
step(sys1)
%calcul du coefficient d'amortissement Z et de la pulsation naturelle
Wn
[wn,z]=damp(sys1)
%%le dépassement analytiquement
D=100*exp((-z(1)*pi)/sqrt(1-z(1).^2))
̈+ ̇+ = k (9.1)
f
Avec Z le déplacement de la masse, M la valeur
M
de la masse, f est le coefficient de frottement r
F
visqueux et K la raideur du ressort,
z
La fonction de transfert est donnée comme suit
74
Partie 3 : Solution des TP Proposés
/
H(p)= = .
la condition sur les paramètres K, M, f pour que le facteur d’amortissement <1 est
f<(2*sqrt(M*K)) ou M>(f2/(2*k))
Exercice 2 :
Le programme du système mécanique est de la même façon que celui du circuit RLC.
75
Partie 3 : Solution des TP Proposés
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
%%%tracé des réponses d'un système mécanique pour différentes valeurs de ksi
%%%Tp réalisé par la promotion licence contrôle 2013/2014
%%% dans Le circuit RLC, les valeurs de R, L et C sont proposées
%%% de manière à avoir des "ksi=R/(2*sqrt(C/L))= 0.25,0.5, 0.707, 1, 2
clear all
clc
r=2
l=0.05e-3
c=3.125e-6
ksi1=r/(2*sqrt(c/l))
num=1/(l*c)
den=[ 1 r/l 1/(l*c)]
h=tf(num,den)
%%%%%%%%%%%%%%%%%%%%%%%
r1=4
l1=0.05e-3
c1=3.125e-6
ksi2=r1/(2*sqrt(c1/l1))
num1=1/(l*c)
den1=[ 1 r1/l 1/(l*c)]
76
Partie 3 : Solution des TP Proposés
h1=tf(num1,den1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
r2=5.656
l2=0.05e-3
c2=3.125e-6
ksi3=r2/(2*sqrt(c2/l2))
num2=1/(l*c)
77
Partie 3 : Solution des TP Proposés
clear figure
figure(1)
title ('Réponse indicielle : système électrique')
step(h,'b')
hold on
step(h1, 'r')
step(h2, 'g')
step(h3, 'c')
step(h4, 'r*')
grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
%%%tracé des diagrammes de Bode pour différentes valeurs de ksi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
figure(2)
grid
title ('diagramme de bode : système électrique')
bode(h)
hold on
bode(h1,'r')
bode(h2,'g')
bode(h3,'o')
bode(h4,'m')
figure(3)
grid
title('les valeurs de KSI : système électrique ')
plot([ksi1 ksi2 ksi3 ksi4 ksi5],'r')
78
Partie 3 : Solution des TP Proposés
System: h2
Time (sec): 5.19e-005
Amplitude: 1.04
1
Amplitude
0.5
0
0 1 2 3 4
Time (sec) -4
x 10
diagramme de bode : système électrique
20
0
System: h
Frequency (rad/sec): 7.61e+004
Magnitude (dB)
-20
Magnitude (dB): 6.23
-40
-60
-80
-100
0
-45
Phase (deg)
-90
-135
-180
3 4 5 6 7
10 10 10 10 10
Frequency (rad/sec)
79
Partie 3 : Solution des TP Proposés
30
25
20
15
10
0
1 1.5 2 2.5 3 3.5 4 4.5 5
Les résultats obtenus avec des coefficients visqueux fictifs (les valeurs
proposées sont pas pratiques et se sont de type benchmark)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
%%%tracer des réponses d'un système mécanique pour différentes
valeurs de ksi
%%%Tp réalisé par la promotion licence contrôle 2013/2014
%%% La masse et le coefficient de frottement et la raideur sont
proposés
%%% d'une manière à avoir des "ksi=f/(2*sqrt(k*m))" 0.25,0.5, 0.707,
1, 2
clear all
80
Partie 3 : Solution des TP Proposés
clc
f=2
m=0.05e-3
k=320000
ksi1=f/(2*sqrt(k*m))
num=k/m
den=[ 1 f/m k/m]
h=tf(num,den)
%%%%%%%%%%%%%%%%%%%%%%%
f1=4
m1=0.05e-3
k1=320000
ksi2=f1/(2*sqrt(k1*m1))
num1=k/m
den1=[ 1 f1/m1 k1/m1]
h1=tf(num1,den1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f2=5.656
m2=0.05e-3
k2=320000
ksi3=f2/(2*sqrt(k2*m2))
num2=k2/m2
den2=[ 1 f2/m2 k2/m2]
h2=tf(num2,den2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%
f3=8
m3=0.05e-3
81
Partie 3 : Solution des TP Proposés
k3=320000
ksi4=f3/(2*sqrt(k3*m3))
num3=k3/m3
den3=[ 1 f3/m3 k3/m3]
h3=tf(num3,den3)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f4=16
m4=0.05e-3
k4=320000
ksi5=f4/(2*sqrt(k4*m4))
num4=k4/m4
den4=[ 1 f4/m4 k4/m4]
h4=tf(num4,den4)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear figure
figure(1)
step(h,'b')
title('réponse indicielle: système mécanique Masse ressort')
hold on
step(h1, 'r')
step(h2, 'g')
step(h3, 'c')
step(h4, 'r*')
grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
%%%tracé des diagrammes de bode pour différentes valeurs de ksi
82
Partie 3 : Solution des TP Proposés
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
figure(2)
title ('diagramme de Bode : système mécanique')
bode(h)
hold on
bode(h1,'r')
bode(h2,'g')
bode(h3,'o')
bode(h4,'m')
grid
figure(3)
grid
title('les valeurs de KSI')
plot([ksi1 ksi2 ksi3 ksi4 ksi5],'r')
1
Amplitude
0.5
0
0 1 2 3 4
Time (sec) -4
x 10
83
Partie 3 : Solution des TP Proposés
Magnitude (dB)
-20
-40
-60
-80
-100
0
-45
Phase (deg)
-90
-135
-180
3 4 5 6 7
10 10 10 10 10
Frequency (rad/sec)
Systèmes Electrique
figure(4)
grid
title ('diagramme de nichols : système électrique')
nichols(h)
hold on
nichols(h1,'r')
nichols(h2,'g')
nichols(h3,'o')
84
Partie 3 : Solution des TP Proposés
nichols(h4,'m')
figure(5)
grid
title ('diagramme de nyquist : système électrique')
nyquist(h)
hold on
nyquist(h1,'r')
nyquist(h2,'g')
nyquist(h3,'o')
nyquist(h4,'m')
Nichols Chart
20
-20
Open-Loop Gain (dB)
-40
-60
-80
-100
-180 -135 -90 -45 0 45
Open-Loop Phase (deg)
85
Partie 3 : Solution des TP Proposés
Nyquist Diagram
2.5
1.5
0.5
Imaginary Axis
-0.5
-1
-1.5
-2
-2.5
-1 -0.5 0 0.5 1 1.5
Real Axis
86
Partie 3 : Solution des TP Proposés
num1=[1 1]
den1=[1 2 3]
num2=[10]
den2=[2 -3]
sys1=tf(num1,den1)
sys2=tf(num2,den2)
step(sys1)
step(sys2)
%%%%% retour unitaire des systèmes sys1 et sys2
sys3=feedback(sys1*sys2,1)
87
Partie 3 : Solution des TP Proposés
1
Amplitude
0.5
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Time (seconds)
88
Partie 3 : Solution des TP Proposés
89
Partie 3 : Solution des TP Proposés
IL faut noter que le bloc Scope doit être configurer d'une manière précise
pour que le graphe de simulation donne des résultats clairs. Pour le cas
simple, on doit donner le nombre de graphe à afficher, (Number of axes=4).
Une autre chose importante c'est que le graphe simulé peut être
enregitrer dans l'espace de travail Matlab avec un nom d'une variable
si on coche la case "save data to workspace".
"Limit data points to last" ce sont les derniers points à afficher après
chaque simulation. Le nombre de points dans cette case doit être
suffisament grand, pour que le graphe de la simulation soit complet et
claire.
90
Partie 3 : Solution des TP Proposés
91
Partie 3 : Solution des TP Proposés
On rappelle que pour pouvoir simuler cette structure on doit régler les
paramètres de simulation :
92
Conclusion générale
Conclusion Générale
Dans ce document nous avons présenté l'essentiel du logiciel
Matlab et son logiciel associé Simulink avec une proposition d'un
ensemble de TP Matlab destinés aux enseignants ainsi que les étudiants
en licence et master nécessitant une connaissance sur des systèmes
asservis linéaires continus.
Dans les prochaines éditions de ce livre nous allons enrichir son
contenu, en ajoutant d’autre type et genre d’exercices qui seront
bénéfiques et utiles pour d'autres disciplines, en proposant à chaque
fois d'autres TP avec leurs solutions.
Vos remarques et questions seront les bienvenues. Contactez
nous sur l'e-mail suivant :
salim.aissi@gmail.com
93
Conclusion générale
94
Bibliographie
BIBLIOGRAPHIE
[1]. Site éditeur de logiciels Matlab : www.mathworks.com
[2]. Cours d'asservissement système linaire et continu Pr. Saidi Lamir
Université de Batna2
[3]. Précision des systèmes continus asservis Thierry CHATEAU 24
octobre 2010
[4]. Stabilité Des Systèmes Linéaires Continus t. Chateau, polytech cf
[5]. Cours d'automatique Professeur Belkacem OULD BOUAMAMA Ecole
Polytechnique de Lille LAGIS UMR CNRS 8146
[6]. Simulation des systèmes continus INSA de LYON 3GI 2005-2006
Lounis Adouane (tp1)
[7]. Simulation des systèmes continus INSA de LYON 3GI 2005-2006
Lounis Adouane (tp2)
[8]. Support du cours LCS Langage du calcul scientifique (Matlab)
Université Abderrahmane MIRA de Bejaia Département ST
[9]. tp n°1 travaux pratiques d’automatique au 41 : commande classique des
systèmes linéaires, Fournie Guillaume, Dufrene Johann ING 2 – ep
[10]. TP1 Régulation AuroFC1U1 Exercice d’application Polythèque’
Clermont-Ferrand : Auro-1
[11]. TP1 : Etude temporelle des systèmes linéaires continus 1/2 TP1
AuroFC1U1
[12]. http://blogmatlab.blogspot.com/search/label/ebooks
[13]. polycopies Tps systèmes asservis Université de Caen basse Normandie
pour L3 SPI EII
[14]. Ecole Nationale Supérieure de Physique de Strasbourg, FIP, 1ère
Année Laurent Barbé et Benjamin MAURIN – 2005-2006
95
Edition GANA
126,Lgts Batna Tél. 0561279565 Fax : 033 25 30 25
E.mail : dar_gana@yahoo.fr
96