Tutorial de controladores PID
Introduccion
El controlador de 3 terminos
Las caracteristicas de los controladores P, I y D
Problema Ejemplo
Respuesta de Lazo Abierto al escalon
Control Proporcional
Control Proporcional - Derivativo
Control Proporcional-Integrativo
Control Proporcional-Integrativo-Derivativo
Consejos generales para el disenho de una controlador PID
Introduccion
En este tutorial se mostraran las caracteristicas de los controladores proporcionales (P),
integrativos (I) y derivativos (D). Se mostrara tambien en forma basica como utilizarlos para
obtener la respuesta deseada. Para el efecto, se considerara el siguiente sistema realimentado:
Planta: Un sistema a ser controlado
Controlador: provee la excitacion para la planta; esta disenhado para controlar el
comportamiento del sistema
El controlador de tres terminos
La funcion de transferencia de un controlador PID posee la siguiente forma:
Kp = ganancia proporcional
KI = ganancia integral
Kd = ganancia derivariva
Inicialmente, se vera el modo en que el controlador PID trabaja en un sistema de lazo cerrado,
utilizando el esquema mostrado mas arriba. La variable (e) representa el error, es decir, la
diferencia entre la entrada de referencia (R) y la salida medidad del sistema (Y). Esta senhal de
error (e) se envia al controlador PID, donde el mismo computa tanto la derivada como la integran
de esta senhal. La senhal (u) a la salida del controlador es igual a (Kp) por el error mas (Ki) por la
integral del error mas (Kd) por la derivada del error.
La senhal (u) se envia a la planta, para obtener asi una nueva salida (Y). Esta nueva salida (Y) se
envia nuevamente al sensor para calcular la nueva senhal de error (e). El controlador toma esta
nueva senhal y calcula nuevamente la integral y la derivada del mismo.
Las caracteristicas de los controladores P, I, y D
Un controlador proporcional (Kp) tendra el efecto de reducir el tiempo de crecimiento y reducira
(pero no elimina) el error de estado estable. Un control integrativo (Ki) tendra el efecto de
eliminar el error de estado estable, pero sin embargo podria empeorar la respuesta transitoria. Un
control derivativo (Kd) tendra el efecto de aumentar la estabilidad del sistema al disminuir el
sobrepico, mejorando la respuesta transitoria. Los efectos de cada uno de los controladores Kp,
Kd, y Ki en un sistema de lazo cerrado estan resumidos en la tabla que se presenta debajo.
Controlador T. Crecimiento Sobrepico T. Establecimiento Error Estado Estable
Kp Disminuye Aumenta Poco cambio Disminuye
Ki Disminuye Aumenta Aumenta Elimina
Kd Poco cambio Disminuye Disminuye Poco cambio
Notese que estas correlaciones podria no ser exactamente precisas, ya que el efecto de cada
controlador sera dependiente de los otros. Por este motivo, la tabla mostrada solo debe ser
utilizada como referencia para determinar los valores de Ki, Kp y Kd.
Problema Ejemplo
Supongase un sistema compuesto por una masa, un resorte y un amortiguador.
La ecuacion que modela el sistema es
(1)
Tomando la transformada de Laplace de la ecuacion (1)
La funcion de transferencia entre el desplazamiento X(s) y la entrada F(s) sera entonces
Sea
M = 1kg
b = 10 N.s/m
k = 20 N/m
F(s) = 1
Reemplazando estos valores en la funcion de transferencia arriba, tenemos
La meta en este caso es mostrar como cada uno de los parametros Kp, Ki y Kd contribuyen a
obtener:
Tiempo de crecimiento rapido
Minimo sobrepico
Eliminacion de error de estado estable
Respuesta de lazo abierto al escalon
Se vera, inicialmente la respuesta de lazo abierto al escalon. Para esto, se creara un nuevo archivo
script "pdi1.sce" y se incluira en el mismo el siguiente codigo:
// se define la variable
s=poly(0,"s");
// definicion de los polinomios numerador y denominador
num=poly([1],"s","coeff");
den=poly([20 10 1],"s","coeff");
// se define el sistema basado en los polinomios
[sistema1]=syslin('c',num/den);
// intervalo de tiempo
t=0:0.005:2;
// respuesta a funcion escalon
[y X]=csim("step",t,sistema1);
plot2d(t,y);
Al ejecutar el script por medio del comando
-->exec('pdi1.sce')
se obtendra el grafico que se muestra.
La ganacia DC de la funcion de transferencia de la planta es igual a 1/20, de modo tal que el valor
final de la salida para una entrada unitaria sera 0.05. Esto corresponde a un error de estado estable
de 0.95, lo que en realidad es bastante grande. Puede apreciarse tambien que el tiempo de
crecimiento es aproximadamente igual a un segundo, con un tiempo de establecimiento de 1.5
segundos aproximadamente. Procederemos ahora a disenhar un controlador que reduzca el
tiempo de crecimiento y el tiempo de establecimiento, al mismo tiempo que elimina el error de
estado estable.
Control Proporcional
De la tabla presentada con anterioridad, se ve que el controlador proporcional (Kp) reduce el
tiempo de crecimiento, aumenta el sobrepico y reduce el error de estado estable. La funcion de
transferencia de lazo cerrado del sistema presentado con la inclusion de un controlador
proporcional sera:
Sea la ganancia (Kp) igual a 300. En el archivo script, la definicion del numerador debera ser
modificada:
Kp=300;
num=poly([Kp],"s","coeff");
den=poly([20+Kp 10 1],"s","coeff");
El grafico obtenido en este caso al ejecutar el archivo sera:
El grafico muestra como el comtrolador proporcional reduce tanto el tiempo de crecimiento y el
error de estado estable, mientras aumenta el sobrepico y disminuye ligeramente el tiempo de
establecimiento.
Control Proporcional - Derivativo
Analizaremos ahora el control PD. De la tabla mostrada arriba, se recuerda que el cotrolador
derivativo (Kd) reduce tanto el sobrepico como el tiempo de establecimiento.La funcion de
transferencia de lazo cerrado del sistema con el controlador PD incluido sera entonces:
Sea Kp igual a 300 y sea Kd igual a 10. El archivo script debera ser modificado como se muestra:
// Inclusion de un controlador PD
Kp=300;
Kd=10;
num=poly([Kd Kp],"s","coeff");
den=poly([20+Kp 10+Kd 1],"s","coeff");
[sistema3]=syslin('c',num/den);
[y X]=csim("step",t,sistema3);
plot2d(t,y);
Este grafico muestra que la parte derivativa del controlador reduce tanto el sobrepico como el
tiempo de establecimiento, con poca influencia en el tiempo de crecimiento y el error en estado
estable.
Control Proporcional Integrativo
Antes de analizar el controlador PID propiamente dicho, nos detendremos en un controlador del
tipo PI. De la tabla, puede verse que un controlador integral (Ki) disminuye el tiempo de
crecimiento, aumenta tanto el sobrepico como el tiempo de establecimiento, y elimina el error de
estado estable. Para el sistema dado, la funcion de transferencia de lazo cerrado con la adicion del
controlador sera:
Establecemos Kp = 30, y Ki =70. Las modificaciones en el archivo script seran las siguientes:
// Inclusion de un controlador PI
Kp=30;
Ki=70;
num=poly([Kp Ki],"s","coeff");
den=poly([Ki 20+Kp 10 1],"s","coeff");
[sistema4]=syslin('c',num/den);
[y X]=csim("step",t,sistema4);
plot2d(t,y);
El grafico obtenido:
Se ha reducido la ganacia proporcional (Kp) debido a que el controlador integrativo tanbien
reduce el tiempo de crecimiento y aumenta el sobrepico al igual que el controlador proporcional
(doble efecto). La respuesta de arriba muestra como el controlador integral elimino el error en
estado estable.
Controlador Proporcional, Integrativo y Derivativo
Ahora, trabajaremos sobre el controlados PID propiamente dicho. La funcion de transferencia de
lazo cerrado, en este caso sera:
Luego del proceso de ensayo y error (facilmente implementable gracias a SCILAB), las
ganancias Kp=350, Ki=300, y Kd=50 proveen la respuesta deseada. Para verificar esto, incluya
las siguientes lineas en el archivo:
// Inclusion de un controlador PDI
Kp=350;
Ki=300;
Kd=50;
num=poly([Ki Kp Kd],"s","coeff");
den=poly([Ki 20+Kp 10+Kd 1],"s","coeff");
[sistema5]=syslin('c',num/den);
[y X]=csim("step",t,sistema5);
plot2d(t,y);
Asi, se ha obtenido un sistema sin sobrepico, con rapido tiempo de establecimiento y
crecimiento, y sin error de estado estable.
Consejos generales para el diseño de un controlador PID
En el proceso de determinar un controlador PID con SCILAB para un sistema dado, los
siguientes pasos son utiles para obtener una respuesta deseada.
1. Ontemga la respuesta la lazo cerrado y determine las caracteristicas a ser mejoradas
2. Agregue un control proporcional para mejorar el tiempo de crecimiento
3. Agregue un control derivativo para mejorar el sobrepico
4. Agregue un control integrativo para eliminar el error de estado estable
5. Ajuste cada una de las ganancias Kp, Ki, y Kd hasta que se obtenga la respuesta deseada.
Utilice para esto la tabla de referencia.
Finalmente, debe tenerse en cuenta que no es necesario implementar los 3 controladores en todo
caso. Por ejemplo, sin un controlador PI ofrece una buena respuesta, no es necesario adicionar el
control derivativo. Debe mantenerse el controlador lo mas simple posible.
Top Related