Está en la página 1de 2

clc

clear all
%COMPENSADOR ADELANTO EN FRECUENCIA
%Requerimientos del sistema
kvc=10; MFD=50;MGD=50;

%Planta
num1=[5];
den1=[25,5,1];
G=tf(num1,den1)
Gr=feedback(G,1)
kva=num1/polyval(deconv(den1,[1 0]),0)
k=kvc/kva
num=[k*num1];
fprintf('\n**Planta del Sistema**\n')
G1=tf(num,den1);
G1ret=feedback(G1,1);

%Diseñando de la Planta + Compensador de Adelanto


%Diagrama de bode de la planta
w0=logspace(-1,2,500);
[Gan0,Fase0]=bode(G1,w0);
GandB0=20*log10(Gan0);

%Hallamos el margen de fase y ganancia


w1=logspace(-1,2,500);
[Gan1,Fase1]=bode(G1,w1);
Gandb1=20*log10(Gan1);

%Margen de fase
VecIndice1=find(Gandb1<=0);
Indice1=VecIndice1(1);
Wogan=w1(Indice1);
MF1=Fase1(Indice1)+180

%Fase adicional
Fadic1=MFD-MF1;

%Fase asicional aumnetando valor entre(5°-12°)


fprintf('\n**Aumentar un valor entre 5°y12°**\n')
Fadic2=Fadic1+5
%Se calcula el factor de atenuacion Alfa
alfa=(1-sin(Fadic2*pi/180))/(1+sin(Fadic2*pi/180))

%Nuevo cruce de ganancia

%Ganancia adicionada por el compensador

r=20*log10(1/sqrt(alfa));
VecIndice2=find(Gandb1<=-r);
Indice2=VecIndice2(1);
Wm=w1(Indice2);

T2=1/[sqrt(alfa)*Wm ];
%parametros del compensador

Z1comp=1/T2
P1comp=1/(alfa*T2)
k1comp=(1/alfa)*k
numcomp1=k1comp*[1 Z1comp];
dencomp1=[1 P1comp];
Gcom1=tf(numcomp1,dencomp1)

%Planta Compensada
fprintf('\n**Planta Compensada**\n')
G1co=series(G,Gcom1)
G1coretro=feedback(G1co,1)

%Respuesta en el Tiempo
figure(1);step(Gr,G1coretro),hold on, grid on
title('Respuesta en el Tiempo')
legend('Planta Sin Compensador','Planta Compensada')

%Respuesta en Frecuencia
figure(2);bode(G),hold on, grid on
bode(G1co)
title('Respuesta en Frecuencia')
legend('Planta Sin Compensador','Planta Compensada')

También podría gustarte