CONTROLADOR PID PARA UN SISTEMA MASA-RESORTE CON FRICCION
OSCAR LEONARDO MOSQUERA DUSSAN 2005100830 Presentado al Ingeniero: GERMAN MARTINEZ
UNIVERSIDAD SURCOLOMBIANA FACULTAD DE INGENIERIA INGENIERIA ELECTRONICA SISTEMAS AUTOMATICOS DE CONTROL NEIVA-HUILA 2008
Teniendo el siguiente sistema:
Hallamos la funcion de trasferencia para el sistema : F(s) = X(s)[ Ms^2+bs+k]
X(s) 1 ----- = ----------------F(s) Ms^2+bs+k
Teniendo : F=1N M=1kg
b=30N/s
X(s) =
k=8 N/m
1 -------------S^2+30s+8
Procedo a calcular la respuesta en lazo abierto con el fin de conocer como se comporta el sistema, y los parámetros de rendimiento en lazo cerrado. Para ello usamos el software Matlab. %Respeusta del sistema num=[1]; den=[1 30 8]; [numc,denc]=cloop(num,den); g=tf(num,den); gc=tf(numc,denc); figure(1) step(num,den)%Respuesta step(num,den)%Respuesta del sistema en lazo abierto grid on figure(2) step(numc,denc)%lazo step(numc,denc)%lazo cerrado , parametros de rendimiento. grid on
Step response para el sistema en lazo abierto.
Step response para el sistema en lazo cerrado, en la grafica observamos los parámetros de desempeño.
Implementando el controlador P. %p=proporcional num=[1]; den=[1 30 8]; plant=tf(num,den); kp=260; contr=kp; sys_cl=feedback(contr*plant,1); t=0:0.01:2; figure(1) step(sys_cl,t); grid on
Con el controlador P obtenemos una mejora notable en el comportamiento del sistema en cuanto a tiempo de subida, tiempo de establecimiento y Ess, y un incremento en el overshoot.
Implementando el controlador Proporcional Derivativo: %pd=proporcional %pd=proporci onal derivativo num=1; den=[1 30 80]; plant=tf(num,den); kp=480; kd=15; contr2=tf([kd contr2=tf([kd kp],1); sys_cl=feedback(contr2*plant,1); t=0:0.01:2; figure(1) step(sys_cl,t); grid on
Como observamos el sobreimpulso ahora es demasiado pequeño aproximadamente del 0%.
Implementando el controlador Proporcional Integral Derivativo %Proporcional integra y derivativo num=1; den=[1 30 8]; plant=tf(num,den); kp=600; ki=150; kd=15; contr4=tf([kp contr4=tf([kp ki kd],[1 0]); sys_cl=feedback(contr4*plant,1); t=0:0.01:2; step(sys_cl,t); grid on
La respeusta obtenida es la siguiente, como observamos el sistema presenta un tiempo de subida minimo, eliminamos el overshoot y el error en estado estable. CONTROLADOR PID.