Está en la página 1de 8

CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.

html

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:

1 of 8 21/02/2011 10:27 p.m.


CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.html

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.

2 of 8 21/02/2011 10:27 p.m.


CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.html

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

3 of 8 21/02/2011 10:27 p.m.


CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.html

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:

4 of 8 21/02/2011 10:27 p.m.


CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.html

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);

5 of 8 21/02/2011 10:27 p.m.


CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.html

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:

6 of 8 21/02/2011 10:27 p.m.


CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.html

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);

7 of 8 21/02/2011 10:27 p.m.


CTM: PID Tutorial http://www.ing.una.py/APOYO/CONTROL CON SCILAB/PID/PID.html

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 disenho de un controlador PDI


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.

8 of 8 21/02/2011 10:27 p.m.

También podría gustarte