Exercice 2
2-a) La valeur finale en boucle ouverte
>> A = [1]
A=
>> B = [0.000000001 0.00001 1]
B=
0.0000 0.0000 1.0000
>> H = tf(A,B)
H=
-----------------------
1e-09 s^2 + 1e-05 s + 1
Continuous-time transfer function.
>> step (10*H)
b) La valeur finale en boucle fermée
>> G = feedback (H,1)
G=
-----------------------
1e-09 s^2 + 1e-05 s + 2
Continuous-time transfer function.
>> step(10*G)
3-a) Traçons la réponse indicielle en boucle ouverte et en boucle fermée pour plusieurs valeurs de Kp
- 1er cas : Kp=1
>> correcteur = pid(1,0,0)
correcteur =
Kp = 1
P-only controller.
>> C = feedback(correcteur*H,1)
C=
1
-----------------------
1e-09 s^2 + 1e-05 s + 2
Continuous-time transfer function.
>> step(10*H)
>> step(10*C)
- 2ème cas : Kp=2
>> correcteur = pid(2,0,0)
correcteur =
Kp = 2
P-only controller.
>> D = feedback (correcteur*H,1)
D=
2
-----------------------
1e-09 s^2 + 1e-05 s + 3
Continuous-time transfer function.
>> step(10*H)
>> step(10*D)
- 3ème cas : Kp= 3
>> correcteur = pid(3,0,0)
correcteur =
Kp = 3
P-only controller.
>> E = feedback (correcteur*H,1)
E=
3
-----------------------
1e-09 s^2 + 1e-05 s + 4
Continuous-time transfer function.
>> step(10*H)
>> step(10*E)
- 4ème cas : Kp=4
>> correcteur = pid(4,0,0)
correcteur =
Kp = 4
P-only controller.
>> F = feedback (correcteur*H,1)
F=
4
-----------------------
1e-09 s^2 + 1e-05 s + 5
Continuous-time transfer function.
>> step(10*F)
>> step(10*H)
- 5ème cas : Kp=5
>> correcteur = pid(5,0,0)
correcteur =
Kp = 5
P-only controller.
>> I = feedback(correcteur*H,1)
I=
5
-----------------------
1e-09 s^2 + 1e-05 s + 6
Continuous-time transfer function.
>> step(10*I)
>> step(10*H)
Conclusion :
b) Fixons une valeur de Kp comprise entre 1 et 2 :
On prend Kp= 1,5
Ki est maintenu à 0
Choisissons une valeur de Kd comprise entre 10-5 et 4. 10-5
Kd=0.00001
>> correcteur = pid (1.5,0,0.00001)
correcteur =
Kp + Kd * s
with Kp = 1.5, Kd = 1e-05
Continuous-time PD controller in parallel form.
>> J = feedback (correcteur*H,1)
J=
1e-05 s + 1.5
-------------------------
1e-09 s^2 + 2e-05 s + 2.5
Continuous-time transfer function.
>> step(10*J)
Kd=0.00002
>> correcteur = pid (1.5,0,0.00002)
correcteur =
Kp + Kd * s
with Kp = 1.5, Kd = 2e-05
Continuous-time PD controller in parallel form.
>> K = feedback (correcteur*H,1)
K=
2e-05 s + 1.5
-------------------------
1e-09 s^2 + 3e-05 s + 2.5
Continuous-time transfer function.
>> step(10*K)
Kd=0.00003
>> correcteur = pid(1.5,0,0.00003)
correcteur =
Kp + Kd * s
with Kp = 1.5, Kd = 3e-05
Continuous-time PD controller in parallel form.
>> L = feedback (correcteur*H,1)
L=
3e-05 s + 1.5
-------------------------
1e-09 s^2 + 4e-05 s + 2.5
Continuous-time transfer function.
>> step(10*L)
Kd=0.00004
>> correcteur = pid(1.5,0,0.00004)
correcteur =
Kp + Kd * s
with Kp = 1.5, Kd = 4e-05
Continuous-time PD controller in parallel form.
>> M = feedback (correcteur*H,1)
M=
4e-05 s + 1.5
-------------------------
1e-09 s^2 + 5e-05 s + 2.5
Continuous-time transfer function.
>> step(10*M)
Remarque : En essayant plusieurs différentes valeurs de Kd, on remarque qu’au fur et à
mesure que la valeur du Kd augmente, on obtient moins d’oscillation.
La valeur de kd permettant d’obtenir moins d’oscillation est Kd=4. 10-5
c) On fait maintenant varier Ki pour les valeurs 10000,20000,30000 et 40000
Ki=10000
>> correcteur = pid(1.5,10000,0.00004)
correcteur =
1
Kp + Ki * --- + Kd * s
s
with Kp = 1.5, Ki = 1e+04, Kd = 4e-05
Continuous-time PID controller in parallel form.
>> N = feedback (correcteur*H,1)
N=
4e-05 s^2 + 1.5 s + 10000
-------------------------------------
1e-09 s^3 + 5e-05 s^2 + 2.5 s + 10000
Continuous-time transfer function.
>> step(10*N)
Ki=20000
>> correcteur = pid(1.5,20000,0.00004)
correcteur =
1
Kp + Ki * --- + Kd * s
s
with Kp = 1.5, Ki = 2e+04, Kd = 4e-05
Continuous-time PID controller in parallel form.
>> O = feedback (correcteur*H,1)
O=
4e-05 s^2 + 1.5 s + 20000
-------------------------------------
1e-09 s^3 + 5e-05 s^2 + 2.5 s + 20000
Continuous-time transfer function.
>> step(10*O)
Ki=30000
>> correcteur = pid(1.5,30000,0.00004)
correcteur =
1
Kp + Ki * --- + Kd * s
s
with Kp = 1.5, Ki = 3e+04, Kd = 4e-05
Continuous-time PID controller in parallel form.
>> P = feedback (correcteur*H,1)
P=
4e-05 s^2 + 1.5 s + 30000
-------------------------------------
1e-09 s^3 + 5e-05 s^2 + 2.5 s + 30000
Continuous-time transfer function.
>> step(10*P)
Ki=40000
>> correcteur = pid(1.5,40000,0.00004)
correcteur =
1
Kp + Ki * --- + Kd * s
s
with Kp = 1.5, Ki = 4e+04, Kd = 4e-05
Continuous-time PID controller in parallel form.
>> Q = feedback (correcteur*H,1)
Q=
4e-05 s^2 + 1.5 s + 40000
-------------------------------------
1e-09 s^3 + 5e-05 s^2 + 2.5 s + 40000
Continuous-time transfer function.
>> step(10*Q)
Pour KI=30000, on atteint la valeur de la consigne sans dépassement.
d) Ajustons Kp pour obtenir une réponse proche d’un système de premier ordre :
on a Ki=30000 / Kd=0.00004 ET Kp comprise entre 1 et 2