Compensador Lgr
Enviado por alexandreska • 1 de Junio de 2015 • 1.237 Palabras (5 Páginas) • 447 Visitas
Ejemplo: Método de Diseño de Respuesta en Frecuencia para el Control de Inclinación
Respuesta a lazo abierto
Compensador por Adelanto
Compensador en Atraso
En la página de Modelación del Control de Inclinación, la función de transferencia se derivó como
La entrada (ángulo de deflexión del elevador, delta e) será 0.2 rad (11 grados), y la salida es el ángulo de inclinación vertical (theta).
Los requerimientos de diseño son
• Sobrepico: Menor que el 10%
• Tiempo de Subida: Menor que 5 segundos
• Tiempo de establecimiento: Menor que 10 segundos
• Error de estado estacionario: Menor que el 2%
Para ver las condiciones originales del problema, refiérase por favor a Control de Inclinación : Modelación.
Respuesta a lazo abierto
Recordemos de su libro de control que el método de diseño de respuesta en frecuencia es más efectivo para sistemas estables a lazo abierto. Para verificar la estabilidad a lazo abierto de nuestro sistema, cree un nuevo archivo-m, e ingrese los siguientes comandos. Luego de correr este archivo-m en la ventana de comandos del Matlab le debería dar la respuesta al escalón que se muestra abajo:
de=0.2;
num=[1.151 0.1774];
den=[1 0.739 0.921 0];
step (de*num,den)
Desgraciadamente, este sistema es inestable a lazo abierto; sin embargo, todavía podemos diseñar el sistema de realimentación via método de respuesta en frecuencia (a pesar que esta podría no ser la manera más sencilla). Primero, generemos el diagrama de Bode a lazo abierto y veamos cómo se ve. Cambie el archivo-m al siguiente y vuelva a ejecutarlo en la ventana de comandos del Matlab. Debería verse un diagrama de Bode similar al de abajo:
num=[1.151 0.1774];
den=[1 0.739 0.921 0];
bode (num,den)
De los requerimientos de diseño, podemos determinar que la frecuencia natural (Wn) debe ser mayor que 0.9 y el coeficiente de amortiguamiento (zeta) debe ser mayor que 0.52 (refiérase por favor a Control de Inclinación: Método del Lugar de Raíces para mayores detalles). Usando las dos ecuaciones de abajo, vemos que el ancho de banda y el margen de fase deben ser mayores que 0.9 y 52 grados, respectivamente.
• Tr = Tiempo de Subida
• Wn = Frecuencia natural
• BW = Ancho de banda
• zeta = Coeficiente de amortiguamiento
• PM = Margen de fase
Ahora tenemos el ancho de banda de 1 rad/seg. y el margen de fase de 80 grados. Estos valores están dentro de nuestra región deseada. Grafiquemos la respuesta a lazo cerrado al escalón y veamos cómo se ve. Borre el comando bode del archivo-m anterior y agregue los siguientes comandos. Luego de correr este nuevo archivo-m le debería dar la siguiente lazo cerrado respuesta al escalón :
[numc,denc]=cloop(num,den,-1);
de = 0.2;
t =0:0.01:10;
step (de*numc,denc,t)
como puede ver, la respuesta transitoria es peor ya que resulta en un tiempo de establecimiento largo. Implementaremos un compensador en adelanto para mejorar la respuesta del sistema.
Compensador en Adelanto
En referencia a la sección de "Compensador por adelanto o atraso mediante respuesta en frecuencia" en la página Compensador en Adelanto y Atraso, un compensador en adelanto va a agregar un fase positiva al sistema. Una fase positiva adicional incrementa el margen de fase; por lo tanto, incrementará el amortiguamiento. El tiempo de establecimiento decrecería como resultado de este incremento en el amortiguamiento.
La función de transferencia de un típico compensador de primer orden en adelanto es
Necesitamos hallar alead, Tlead y Klead. Primero, puede usarse el requerimiento de margen de fase y la siguiente ecuación para hallar alead
Como es necesario tener un margen de fase de mayor que 52 grados, alead debe ser mayor que 8.43. Usando este alead, el requerimiento de ancho de banda mayor que 0.9 y la siguiente ecuación nos lleva a tener un Tlead menor que 0.382.
Por ahora haga Klead igual a 0.1, alead igual a 10, y Tlead igual a 0.3, ingrese los siguientes comandos a un archivo-m nuevo.
num=[1 151 0.1774];
den=[1 0.739 0.921 0];
alead=10;
Tlead=0.3;
aleadtlead=alead*Tlead;
k=0.1;
numlead=k*[aleadtlead 1];
denlead=[Tlead 1];
num1=conv(num,numlead);
den1=conv(den,denlead);
bode(num1,den1)
[numc,denc]=cloop(num1,den1,-1);
de=0.2;
t=0:0.01:10;
...