Está en la página 1de 5

Creacion del modelo de planta.................................................................................................

1
Discretización...........................................................................................................................2
Diseño del controlador.............................................................................................................2
Diseño en tiempo continuo......................................................................................................2
Diseño en tiempo discreto.......................................................................................................3
Diseño del observador..............................................................................................................4
Diseño en tiempo continuo......................................................................................................4
Diseño en tiempo discreto.......................................................................................................4
Calculo de la ganancia..............................................................................................................4
Ganancia em tiempo continuo.................................................................................................4
Ganancia en tiempo discreto....................................................................................................4
Comprobación del sistema en lazo cerrado en tiempo discreto...............................................5
simulación en Simulink.............................................................................................................5
Creacion del modelo de planta
A = [ 0 1
-100 -10];
B = [0
2];
C = [1 0];
D = 0;
step(A,B,C,D)
Discretización
h =
0.01;
I =
eye(size(A));
F =
I + A*h + A^2*h^2/2;
G =
(I*h + A*h^2/2)*B;
t =
0:h:1.2;
x =
[0
0]; u = 1;
step(A,B,C,D); hold on
for k=1:length(t)
x = F*x + G*u;
y = C*x;
plot(t(k),y,'*')
pause(0.01)
end
legend('contimuo','discreto')

Diseño del controlador


polos =[-5 -20];

Diseño en tiempo continuo


K = acker(A,B,polos)
Alc = A-B*K
step(A,B,C,D); hold on
step(Alc,B,C,D)
legend('lazo abierto','lazo cerrado')
K =

0 7.5000

Alc =

0 1
-100 -25

Diseño en tiempo discreto


polosd = exp(polos*h)
Kd = acker (F,G,polosd)

polosd =

0.9512 0.8187

Kd =

-3.5926 6.6000
Diseño del observador
polosO = [-20 -100];

Diseño en tiempo continuo


polosO = [-20 -100];
L = acker(A',C',polosO)'

L =

110
800

Diseño en tiempo discreto


polosOd = exp(polosO*h)
Ld = acker(F',C',polosOd)'

polosOd =

0.8187 0.3679

Ld =

0.7084
3.6021

Calculo de la ganancia
Ganancia em tiempo continuo
Kg = pinv(C*inv(-A+B*K)*B)

Kg =

50

Ganancia en tiempo discreto


Kgd = pinv(C*inv(I-F+G*K)*G)

Kgd =

50.0000
Comprobación del sistema en lazo cerrado en tiempo discreto
Flc = F-G*Kd;
x = [0
0]; r = 0.019;
step(A,B,C,D); hold on
for k=1:length(t)
x = Flc*x + G*Kgd*r;
y = C*x;
plot(t(k),y,'*')
pause(0.01)
end
legend('continuo','discreto rn lazo cerrado')

simulación en Simulink
open_system('proyecto.slx')
sim('proyecto.slx')
plot(tout,r,tout,y)
axis([0 1.2 0.019])
legend('referencia','salida')

Published with MATLAB® R2016a

También podría gustarte