ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Maltab


Enviado por   •  8 de Octubre de 2015  •  Síntesis  •  2.410 Palabras (10 Páginas)  •  114 Visitas

Página 1 de 10

clear all

close all

clc

s=tf('s');

Gs=input('ingrese planta == ');

Hs=input('ingrese valor de sensor == ');

[A,Tm]=step(feedback(Gs,Hs));

step(Gs);

grid

figure

step(feedback(Gs,Hs));

title('Planta');

grid

[num,den]=tfdata(Gs,'v');

[numr,denr]=tfdata(feedback(Gs,Hs),'v');

Cont=menu('Que tipo de controlador necesita implementar','P','PI','PID','Ragazzini');

switch Cont

case 1

disp('');

disp('Controlador Proporcional');

if length(den)==2

disp('De primer orden ')

if pole(Gs)>=-0.9

kc=-den(end)/Hs;

disp('Kc >= ')

disp(kc)

Kp=0.5*abs(kc);

Cs=pid(Kp);

hold on

step(feedback(Cs*Gs,Hs),'r')

legend('planta', 'planta controlada')

grid

hold off

else

pp=pole(Gs);

dt=0.05;

t=0:dt:max(Tm);

y=step(Gs,t);

dy=diff(y)/dt;

[m,p]=max(dy);

d2y=diff(dy)/dt;

yi=y(p);

ti=t(p);

L=ti-yi/m;

if L==0

L=0.005;

end

Tu=(y(end)-yi)/m+ti-L;

figure

plot(t,y,'b',[0 L L+Tu t(end)],[0 0 y(end) y(end)],'k')

title('respuesta escalon')

ylabel('amplitud')

xlabel ('tiempo sg')

grid

Kp=Tu/L;

Cs=pid(Kp);

figure

step(feedback(Gs,Hs));

hold on

step(feedback(Cs*Gs,Hs),'r')

legend('planta','planta controlada')

grid

hold off

end

else

disp('De segundo orden ')

if real(max(pole(Gs)))>=-0.9 %% cerca a 0

kc=abs(-(denr(end)));

Ret=feedback(Gs,1);

[numret,denret]=tfdata(Ret,'v');

wn=sym('Wn');

eq=0;

for i=2:2:length(denret)

eq=eq+(denret(i)*((1j*wn)^(length(denret)-i)));

end

d=solve(eq);

Wc=d(1);

Pc=2*pi/Wc;

Cs=pid(0.5*kc);

figure

step(feedback(Cs*Gs,Hs),'r')

...

Descargar como (para miembros actualizados) txt (5 Kb) pdf (44 Kb) docx (13 Kb)
Leer 9 páginas más »
Disponible sólo en Clubensayos.com