0% ont trouvé ce document utile (0 vote)
12 vues18 pages

Réponse indicielle PID en MATLAB

Transféré par

cam.yameogo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues18 pages

Réponse indicielle PID en MATLAB

Transféré par

cam.yameogo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi