miércoles, 12 de diciembre de 2007
EJEMPLO DE COMPENSADOR DE ADELANTO
%---------------------------------------
%Diseño de un Compensador de Adelanto
%Ogata K, Ingeniería de Control Moderna
%Tercera Edición
%Ejemplo 9.1, pag. 615
%_--------------------------------------
close all, clear all, clc
%Planta
num=4; den=[1 2 0]; planta=tf(num,den);
%Requerimientos de Diseño
kv=20; MFD=50; MG=50;
%Se halla k del Compensador
kva=polyval(num,0)/polyval(deconv(den,[1 0]),0);
k=kv/kva;
%Se continúa el diseño sobre plantaux=k*planta
numaux=k*num; denaux=den; plantaux=tf(numaux,denaux);
%Se halla los vectores de Ganancia (gandB) y Fase (fase)
w=logspace(-1,2,500); [gan,fase]=bode(numaux,denaux,w); gandB=20*log10(gan);
%Se halla el margen de fase: MF
VectIndices=find(gandB<0); indice="VectIndices(1);" mf="180-(-fase(Indice));" color="#33cc00">%Se halla la fase a compensar: Fadic
Fadic=MFD-MF+5;
%alfa
alfa=(1-sin(Fadic*pi/180))/(1+sin(Fadic*pi/180));
%ganancia del compensador
r=20*log10(sqrt(1/alfa));
%Se halla la nueva frecuencia de creuce de ganancia: wm
VectIndice2=find(gandB<-r); Indice2=VectIndice2(1); wm=w(Indice2) %T
T=1/sqrt(alfa)/wm;
%Parámetros del Compensador
Zc=1/T; Pc=1/alfa/T; Kc=k/alfa;
Comp=tf(Kc*[1 Zc],[1 Pc])
%Planta Compensada
PlantaCompensada=series(planta,Comp)
%Respuesta en el Tiempo
figure(1), step(feedback(planta,1)), hold on, grid on
step(feedback(PlantaCompensada,1))
%Respuesta en Frecuencia
figure(2),bode(planta), hold on, grid onbode(PlantaCompensada)
EN LA VENTANA DE COMANDOS DE MATLAB:
wm =
8.8694
Transfer function:
40.39 s + 178.2
---------------
s + 17.82
Transfer function:
161.5 s + 713
-------------------------
s^3 + 19.82 s^2 + 35.65 s
>>
RESPUESTA PLANTA, RESPUESTA PLANTA COMPENSADA
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario