|
|
Agregado de un controlador PID
Dibujo de la respuesta a lazo cerrado
Elección de las ganancias para el controlador PID
A partir del problema principal, las ecuaciones dinámicas en la forma función de transferencia son las siguientes:



y el esquema del sistema se ve:
Para las condiciones originales del problema y la derivación de las ecuaciones de arriba y el esquemático, refiérase por favor a página de Modelación del bus.
Queremos diseñar un controlador realimentado de modo que cuando la perturbación del camino (W) se simula por una entrada escalón unitario, la salida (X1-X2) tenga un tiempo de asentamiento menor que 5 segundos y un sobrepico menor que 5%. Por ejemplo, cuando el colectivo corre hacia un escalón de 10 cm de altura, la carrocería del colectivo oscilará en un rango de +/- 5 mm y dejará de oscilar en 5 segundos.
El modelo del sistema puede representarse en Matlab creando un archivo-m nuevo y entrando los siguientes comandos (refiérase a problema original para detalles de cómo obtener estos comandos).
m1=2500; m2=320; k1 = 80000; k2 = 500000; b1 = 350; b2 = 15020; nump=[(m1+m2) b2 k2] denp=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2] num1=[-(m1*b2) -(m1*k2) 0 0] den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2] numf=num1; denf=nump;
Recordemos que la función de transferencia para un controlador PID es:
donde KP es la ganancia proporcional, KI es la ganancia integral, y KD es la ganancia derivativa. Asúmase que necesitaremos estas tres ganancias en nuestro controlador. Para comenzar, podríamos hacerlo suponiendo un valor para cada: KP=208025, KI=832100 and KD=624075. Esto puede implementarse en Matlab agregando el siguiente código en su archivo-m:
KD=208025; KP=832100; KI=624075; numc=[KD,KP,KI]; denc=[1 0];Simulemos ahora la respuesta (que es la distancia X1-X2) del sistema a una perturbación escalón en el camino. Del esquema de arriba podemos Encontrar la función de transferencia de la perturbación del caminoW a la salida (X1-X2):
numa=conv(conv(numf,nump),denc); dena=conv(denf,polyadd(conv(denp,denc),conv(nump,numc)));Note que la función "polyadd" no es una función estándar en Matlab; tendrá que copiarla a un archivo-m nuevo para usarla. Pinche aquí para más información sobre definir nuevas funciones en Matlab.
Refiérase a la página de Modelación del colectivo, nump = denf como podemos ver en el comando anterior. Por lo que podemos simplificar esta función de transferencia como sigue:
numa=conv(numf,denc); dena=polyadd(conv(denp,denc),conv(nump,numc));
Ahora hemos creado la función de transferencia a lazo cerrado en Matlab esto representará la planta, la perturbación, y el controlador. Veamos cómo se ve la respuesta a lazo cerrado al escalón para este sistema, antes de comenzar con el proceso de control. Tenga en cuenta que vamos a usar un escalón de 0.1 m de alto como nuestra perturbación, para simularlo, todo lo que debemos hacer es multiplicar numa por 0.1. Agregue el siguiente código en su archivo-m:
t=0:0.05:5;
step(0.1*numa,dena,t)
title('rta. a lazo cerrado al escalón de 0.1 m de alto con controlador pid')
debería ver la respuesta (X1-X2) a un escalón W como ésta:

z1=1;
z2=3;
p1=0;
numc=conv([1 z1],[1 z2])
denc=[1 p1]
num2=conv(nump,numc);
den2=conv(denp,denc);
rlocus(num2,den2)
title('root locus with controlador PID ')
[K,p]=rlocfind(num2,den2)
debería ver los polos y ceros a lazo cerrado en el plano s como aquí, y puede elegir la ganancia y los polos dominantes en el gráfico por usted mismo:

Ahora que tenemos la función de transferencia a lazo cerrado , controlar el sistema is simplemente cuestión de cambiar las variables KD,KP,y KI . De la figura anterior, podemos ver que el sistema tiene mayor amortiguamiento que el requerido, pero el tiempo de establecimiento es muy corto. Esta respuesta aún no satisface el requerimiento de un 5% de sobrepico . Como se mencionara atrás, esto puede rectificarse ajustando las ganacias KD, KP y KI para hallar una respuesta mejor. Incrementemos KP,KI,KD en 2 veces para ver qué pasa. Regrese a su archivo-m y multiplique KP,KI,KD por 2 y entonces vuelva a ejecutar el archivo, debería obtenerse la siguiente figura:

Para comparar éste con el gráfico de baja ganancia y controlador PID , puede cambiar los ejes:
axis([0 5 -.01 .01])

para este problema, resulta que el Método de diseño PID controla adecuadamente el sistema. Esto puede verse mirando el diagrama del lugar de raíces. Esta tarea puede lograrse simplemente cambiando únicamente las ganancias del controlador PID . Siéntase libre para jugar con los tres parámetros, KD,KP y KI, como le sugiriéramos, pero casi siempre obtendrá que la respuesta tendrá ya sea gran sobrepico porcentual o muy corto tiempo de establecimiento. Pero si realmente encuentra un diseño PID bueno envíenos un email con sus resultados! Nos interesa las distintas maneras de resolver nuestros ejemplos; incluiríamos su solución en una próxima versión de estos tutoriales.