Compensadores
Enviado por daniel231190 • 30 de Marzo de 2015 • 1.089 Palabras (5 Páginas) • 516 Visitas
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD ZACATENCO
INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN
TEORIA DEL CONTROL II
PROYECTO FINAL
DISEÑO DE COMPENSADORES
PROFESOR:
NORMA LOZADA C.
ALUMNO:
DÍAZ CAMACHO RICARDO DANIEL GRUPO 6AV1
CORREO: ricardodiazc@hotmail.com
OBJETIVO:
Diseñar los compensadores de la siguiente función realizando los cálculos y comparando con matlab las graficas obtenidas de la función compensada
DESCRIPCIÓN DEL PROCESO:
Realizar el diseño de los compensadores de Adelanto, Atraso y Atraso-Adelanto de la siguiente función
G(s)=1/(s(s+2))
DESARROLLO:
Obtenemos el LGR de la función de transferencia sin compensador
LGR DE LA FUNCION DE LA PLANTA
CODIGO MATLAB PARA LGR DE LA FUNCION SIN COMPENSACION
num=[1];
den=[1 2 0];
roots(den)
rlocus(num,den)
grid on;
Anexo los cálculos del LGR realizados previamente a mano.
COMPENSADOR DE ADELANTO
Elaboramos los cálculos para obtener el compensador de adelanto de la función dada anteriormente.
Y el procedimiento del mismo en matlab, lo cual nos arroja las graficas siguientes
CODIGO MATLAB PARA COMPENSADOR DE ADELANTO
%Compensador de Adelanto
num=[1];
den=conv([1 0],[1 2]);
g_s=tf(num,den)
%muestra los polos del sistema
roots(den)
p1=ans(1);
p2=ans(2);
%condiciones iniciales
tp=1;
Mp=3;
%Calculando frecuencia amortiguada (wd) y la ubicacion del polo (sp)
wd=pi/tp;
sp=complex(-tp,wd);
%Calculando factor de amortiguamiento
E=log(Mp/100);
E=-pi/E;
E=E^2+1;
E=sqrt(1/E);
%Se establece factor de amortiguamiento
E=0.8
%Se calcula la frecuencia natural
wn=wd/sqrt(1-E^2);
Ewn=wn*E;
%Se establece el polo deseado
sd=complex(-Ewn,wd)
%Se desea obtener el angulo de los vectores al polo deseado
%(teta t y alfa a, asi como la distancia del cero x y del polo y
t1=angle(sd);
t1=(t1*180)/pi
t2=angle(sd+2);
t2=(t2*180)/pi
%La sumatoria de angulos de ceros menos la sumatoria de angulos
%de polos es =-180
%El angulo alfa puede tomar valores de 87.85 hasta antes de O2 ya que si
%toma el mismo valor de O2 el polo y el cero se eliminan, por lo tanto se
%le asigna a alfa (a) valor de 89
a=89;
t3=180+a-t1-t2
%Se encuentran las distancias del polo y el cero del compensador
a1=(180*tan(a))/pi;
x=wd/a1;
x=x+Ewn
t3a=(180*tan(t3))/pi
y=wd/t3a
y=y+Ewn
y=161.55
k=[1003.6107]
%Se determinan el polo y el cero del compensador
p1c=conv(k,[1 x])
p2c=[1 y]
%Obtenemos la funcion de transferencia con el compensador y su lugar de las
%raices compensado
c_s=tf(p1c,p2c)
ftgc=g_s*c_s
numsc=p1c
densc=conv (den,p2c)
rlocus(numsc,densc)
grid on;
Anexo cálculos previamente hechos del Compensador de Adelanto.
COMPENSADOR DE RETARDO
CODIGO MATLAB PARA COMPENSADOR DE RETARDO
%Compensador de Atraso
num=[1];
den=conv([1 0],[1 2]);
G_s=tf(num,den)
%Se establecen las siguientes condiciones iniciales
E=0.9;
K_v=10;
%Se determina el lugar de las raices
Wn=1/E;
Wd=Wn*sqrt(1-(E^2));
Sd=complex(-1,Wd);
%Se calcula la ganancia K
K1=abs(Sd);
K2=abs(Sd+2);
K=K1*K2;
%Se establece el compensador
%C(s)=K(s+a)/(s+b)
%G(s)C(s)=K(s+a)/s(s+2)(s+b)
%Al polo del compensador se le asigna un valor cercano al origen
b=[0.001];
%Se evalua Kv=lim(s->0)G(s)C(s)
%y despeja a
a=conv(K_v,conv(b,2));
a=a/K;
%Teniendo los valores del compensador se establece la FdeT compensada
numc=conv(K,[1 a]);
denc=[1 b];
C_s=tf(numc,denc)
%Se determina la FdeT Compensado
GC_s=G_s*C_s
numFTC=conv(num,numc);
denFTC=conv(den,denc);
rlocus(numFTC,denFTC)
grid on;
COMPENSADOR DE RETARDO – ADELANTO
%RED DE ATRASO-ADELANTO PARA EL SISTEMA 1/S(S+2)
clear all
clc
hold on
%SISTEMA SIN COMPENSAR EN LAZO ABIERTO (FT,LGR Y POLOS)
numO=[1];
denO=conv([1 0],[1 2]);
ftSNCLA=tf(numO,denO)
raicesSCLA= roots(denO)
%rlocus(numO,denO)
%title('LGR para el sistema en lazo abierto sin compensar')
%xlabel('Eje real');
%ylabel('Eje imaginario');
grid on
%SISTEMA SIN COMPENSAR EN LAZO CERRADO (FT,LGR Y POLOS)
num =[1];
mO=length (numO);
mI=length (denO);
preden=[zeros(1,mI-mO)
...