Académique Documents
Professionnel Documents
Culture Documents
Compte Rendu TP1 Automatique Linéaire: - Hicham Elfarissi - Abdessamad Guessous - Qmsi
Compte Rendu TP1 Automatique Linéaire: - Hicham Elfarissi - Abdessamad Guessous - Qmsi
• Abdessamad Guessous
• QMSI
1/Nous allons tracer les diagrames de bode des 3 fonctions en boucle ouvert
P1: K=0.1
sys1 = zpk([],[-1,-5],[0.1])
sys1 =
0.1
-----------
(s+1) (s+5)
margin(sys1 )
1
sysbf1=feedback(sys1,1)
sysbf1 =
0.1
-------------------
(s+1.025) (s+4.975)
margin(sys1)
2
step(sysbf1)
3
P2: K=10
sys2 = zpk([],[-1,-5],[10])
sys2 =
10
-----------
(s+1) (s+5)
margin(sys2)
sysbf2=feedback(sys2,1)
sysbf2 =
10
---------------
(s^2 + 6s + 15)
step(sysbf2)
4
P3: K=100
sys3 = zpk([],[-1,-5],[100])
sys3 =
100
-----------
(s+1) (s+5)
margin(sys3)
5
sysbf3=feedback(sys3,1)
sysbf3 =
100
----------------
(s^2 + 6s + 105)
step(sysbf3)
6
bode(sys1,sys2,sys3)
7
stepinfo(sysbf1)
stepinfo(sysbf2)
stepinfo(sysbf3)
8
SettlingMin: 0.8134
SettlingMax: 1.3163
Overshoot: 38.2102
Undershoot: 0
Peak: 1.3163
PeakTime: 0.3224
Conclusion:
on remarque que l'augmentation de gain proportionel permet de diminuer l'erreur, et ameliorer la precision.
Le schéma:
sysInt1 = zpk([],[0,-1,-5],[1]);
sysInt2 = zpk([],[0,-1,-5],[10]);
sysInt3 = zpk([],[0,-1,-5],[100]);
sysIntBF1 = feedback(sysInt1,1);
sysIntBF2 = feedback(sysInt2,1);
sysIntBF3 = feedback(sysInt3,1);
step(sysIntBF1)
9
stepinfo(sysIntBF1)
step(sysIntBF2)
10
stepinfo(sysIntBF2)
step(sysIntBF3)
11
stepinfo(sysIntBF3)
On remarque que :
• pour k=1: le systeme est plus mais le temps de prise est long (=15sec)
• pour k=10: le systeme est moins stable mais le temps de prise est moins long (=12sec)
• pour k=100: Le systeme est instable. le temps de prise est non déterminé.
margin(sysInt1)
12
margin(sysInt2)
13
margin(sysInt3)
bode(sysInt1,sysInt2,sysInt3)
14
Conclusion:
Le schéma:
sysDev1 = zpk([0],[-1,-5],[1]);
sysDev2 = zpk([0],[-1,-5],[10]);
sysDev3 = zpk([0],[-1,-5],[100]);
sysDevBF1 = feedback(sysDev1,1);
sysDevBF2 = feedback(sysDev2,1);
sysDevBF3 = feedback(sysDev3,1);
step(sysDevBF1)
15
stepinfo(sysDevBF1)
step(sysDevBF2)
16
stepinfo(sysDevBF2)
step(sysDevBF3)
17
stepinfo(sysDevBF3)
margin(sysDev1)
18
margin(sysDev2)
19
margin(sysDev3)
bode(sysDev1,sysDev2,sysDev3)
20
On remarque que :
21