Controlador PID

Al momento de controlar un proceso, es posible definir un proceso de control ya sea en lazo cerrado o en lazo abierto. En lazo abierto tenemos un controlador que recibe una entrada y entrega una salida, su mayor ventaja es que es un proceso simple de modelar, entender y ejecutar, sin embargo la desventaja de este proceso es que no posee relación con la salida. Por ejemplo, supongamos que queremos controlar un ascensor. El sistema en lazo abierto sabe que si el usuario define el piso 7, entonces hay que forzar el motor durante una determinada cantidad de tiempo para llegar al piso 7, pero si se suben unos cuantos usuarios con sobrepeso, el ascensor tendrá que esforzarse mucho más, pero como el controlador sólo está programado para funcionar una determinada cantidad de tiempo, entonces como resultado tendremos un ascensor que en vez llegar al piso 7 llegará tal vez al piso 6 o quedará a medias. En fin, afortunadamente la mayoría de los procesos industriales cuenta con procesos de lazo cerrado, es decir, la respuesta del controlador depende de la salida.


En la imagen vemos que la referencia (R, el piso elegido), entra al sistema. Luego, el controlador (C, computador central y motores) interpreta esta información y ejecuta una acción (como inyectar corriente a los motores), luego esta acción la recibe el sistema y este cambia su estado (System vendría a ser la dinámica del sistema físico), "y" es la salida del sistema, es decir el piso actual. Luego esta información es leida por sensores del computador para ser restado a la referencia, luego lo que sale de la resta entre la posición deseada y la posición actual, lo llamamos "e", de error. Nuevamente "e" entra al sistema y se repite todo el proceso. En otras palabras, que es lo que queremos...??? Muy bien, lograr que e = 0, es decir, lograr que nuestro error sea 0, o por lo menos, lograr un error bastante pequeño (que lo podamos admitir).

Ahora, que es el controlador PID? fijémonos en C (controlador). El diseño de este bloque determinará el exito de nuestro proyecto. Si el controlador es muy brusco ante un "e" algo elevado, como lo sería si estuviésemos en el piso 1 y quisiésemos llegar al 12, entonces el controlador aplicaría mucha fuerza y los usuarios sentirían que su peso se multiplica por 10 y más que ascensor parecería simulador de despegue espacial. Sin duda es una buena aplicación para atracción de parque temático, pero no para un ascensor de departamentos residenciales. Lo mejor, será algo suave, preciso y que no se pase del piso deseado. Es ahora cuando reemplazamos el controlador "C" por un P.I.D


Lo que hace este tipo de controlador es crear 3 líneas de acción para una misma referencia.

  •  La primera es la proporcional, es decir multiplica el error por algún factor. 
  • La segunda es la integral, integra nuestro error y lo multiplica por un factor
  • La tercera es la derivativa, deriva el error y lo multiplica por otro factor


Los factores son solamente las ponderaciones del controlador, es decir, si queremos que predomine la acción proporcional por sobre la integral, elegimos Kp mayor a Ki, etc. Luego todas las acciones se suman y se ejecutan sobre el sistema

Generalmente, la respuesta del sistema, vendrá dada por los siguientes casos

El primer caso es cuando el controlador nos da una posición final con cierto error, en general, la respuesta del controlador es rápida. para mejorar el error, agregamos acción integral, que integra el error y permite llevar el error a cero.

El siguiente caso es cuando el controlador nos da una respuesta bastante rápida, sin embargo, se generan oscilaciones. Este caso se llama sub-amortiguado y generalmente las oscilaciones son el 25% de la anterior. En algunos sistemas las oscilaciones son muy grandes y el sistema se demora mucho tiempo es estabilizarse. Lo que podría ser crítico en sistemas de control de péndulos o artefactos donde no queremos variaciones.

El tercer caso es cuando se alcanza la posición deseada sin embargo el tiempo de respuesta es muy lento. Es posible de acelerar, sin embargo si aceleramos la respuesta (ajustando los factores Kp ó Kd), corremos el riesgo de caer en el tercer caso (sub-amortiguado).

El último caso es un oscilador y es cuando el sistema es inestable y el margen de fase es menor a 0°, esto lo veremos en otra entrada. Sin embargo, claramente este caso no lo queremos.

El comportamiento del sistema depende únicamente de la elección de los factores ya mencionados y encontrar los factores óptimos traerá varias horas de prueba y error así que si vas a ocupar esta herramienta de control asegúrate de organizarte y trabajar con tiempo ya que de lo contrario no tendrás el tiempo mínimo como para optimizar tu controlador.

Para ver un proyecto rápido donde podemos aplicar todo esto, te dejo este proyecto que hice, donde un carrito tienen la misión de seguir una línea de cinta aisladora en el piso.

 Mucha Suerte y éxito.




No hay comentarios:

Publicar un comentario

Comenta aquí...