# Controlador PID

Un controlador PID o controlador proporcional, integral y derivativo, es un mecanismo de control que a través de un lazo de retroalimentación permite regular la velocidad, temperatura, presión y flujo entre otras variables de un proceso en general. El controlador PID calcula la diferencia entre nuestra variable real contra la variable deseada
El algoritmo del control PID consta de tres parámetros distintos: el proporcional, el integral, y el derivativo. El valor proporcional depende del error actual, el integral depende de los errores pasados y el derivativo es una predicción de los errores futuros. La suma de estas tres acciones es usada para ajustar el proceso por medio de un elemento de control, como la posición de una válvula de control o la potencia suministrada a un calentador.
El error es la desviación existente entre el valor de la variable de proceso y el valor consigna, o "Set Point". Se expresa matemáticamente como una función en el tiempo:
$e(t)=\mathrm {SP} -\mathrm {PV} (t)$ , donde SP es el set point y PV(t) es la variable de proceso.
Históricamente, se ha considerado que, cuando no se tiene conocimiento del proceso, el controlador PID es el controlador más adecuado. Ajustando estas tres variables en el algoritmo de control del PID, el controlador puede proveer una acción de control adaptada a los requerimientos del proceso en específico. La respuesta del controlador puede describirse en términos de respuesta del control ante un error, el grado el cual el controlador sobrepasa el punto de ajuste, y el grado de oscilación del sistema. Nótese que el uso del PID para control no garantiza un control óptimo del sistema o la estabilidad del mismo.
Algunas aplicaciones pueden requerir únicamente uno o dos modos de los que provee este sistema de control. Un controlador PID puede ser llamado también PI, PD, P o I en la ausencia de las acciones de control respectivas. Los controladores PI son particularmente comunes, ya que la acción derivativa es muy sensible al ruido, y la ausencia del proceso integral puede evitar que se alcance al valor deseado debido a la acción de control.

## Historia y aplicaciones

Los primeros controladores PID empezaron con el diseño de los limitadores de velocidad. Posteriormente, los controladores PID fueron usados para la dirección automática de barcos. Uno de los ejemplos más antiguos de un controlador PID fue desarrollado por Elmer Sperry en 1911, mientras que el primer análisis teórico de un controlador PID fue publicado por el ingeniero ruso americano Nicolas Minorsky en 1922. Minorsky estaba diseñando sistemas de dirección automática para la Armada de los Estados Unidos y realizó sus análisis observando al timonel, y notando así que el timonel controlaba la nave no solo por el error actual, sino también en función de los errores pasados y en la tasa actual de cambio, logrando así que Minorsky desarrollara un modelo matemático para esto. Su objetivo era lograr estabilidad, y no control general, lo cual simplificó el problema significativamente. Mientras que el control proporcional brinda estabilidad frente a pequeñas perturbaciones, era insuficiente para tratar perturbaciones constantes, como un vendaval fuerte el cual requería un término integral. Finalmente, el término derivativo se agregó para mejorar el control.
Se realizaron pruebas del controlador en el USS New Mexico (BB-40), donde este se encargaba de controlar la velocidad angular del timón. El control PI se mantuvo virando con un error de ±2°. Al agregar el elemento D se logró un error del ±1/6°, mucho mejor que lo que un timonel podría lograr.
Finalmente, debido a la resistencia del personal, la Armada no adoptó este sistema. Trabajos similares se llevaron a cabo y se publicaron en la década de 1930.
Por tener una exactitud mayor a los controladores proporcional, proporcional derivativo y proporcional integral se utiliza en aplicaciones más cruciales tales como control de presión, flujo, fuerza, velocidad, en muchas aplicaciones químicas, y otras variables. Además, es utilizado en reguladores de velocidad de automóviles (control de crucero o cruise control) y control de ozono residual en tanques de contacto.
Un ejemplo muy sencillo que ilustra la funcionalidad básica de un PID es cuando una persona entra a una ducha. Inicialmente, abre la llave de agua caliente para aumentar la temperatura hasta un valor aceptable (también llamado setpoint). El problema es que puede llegar el momento en que la temperatura del agua sobrepase este valor, así que la persona tiene que abrir un poco la llave de agua fría para contrarrestar el calor y mantener el balance. El agua fría es ajustada hasta llegar a la temperatura deseada. En este caso, el humano es el que está ejerciendo el control sobre el lazo de control, y es el que toma las decisiones de abrir o cerrar alguna de las llaves; pero ¿no sería ideal si en lugar de nosotros, fuera una máquina la que tomara las decisiones y mantuviera la temperatura que deseamos?
Esta es la razón por la cual los lazos PID fueron inventados: para simplificar las labores de los operadores y ejercer un mejor control sobre las operaciones. Algunas de las aplicaciones más comunes son:
* Lazos de temperatura (aire acondicionado, calentadores, refrigeradores, etc.)
* Lazos de nivel (nivel en tanques de líquidos como agua, lácteos, mezclas, crudo, etc.)
* Lazos de presión (para mantener una presión predeterminada en tanques, tubos, recipientes, etc.)
* Lazos de caudal (mantienen el caudal dentro de una línea o cañería)

## Funcionamiento

Para el correcto funcionamiento de un controlador PID que regule un proceso o sistema se necesita, al menos:
* Un sensor, que determine el estado del sistema (termómetro, caudalímetro, manómetro, etc).
* Un controlador, que genere la señal que gobierna al actuador.
* Un actuador, que modifique al sistema de manera controlada (resistencia eléctrica, motor, válvula, bomba, etc).
El sensor proporciona una señal analógica o digital al controlador, la cual representa el punto actual en el que se encuentra el proceso o sistema. La señal puede representar ese valor en tensión eléctrica, intensidad de corriente eléctrica o frecuencia. En este último caso la señal es de corriente alterna, a diferencia de los dos anteriores, que también pueden ser con corriente continua.
El controlador recibe una señal externa que representa el valor que se desea alcanzar. Esta señal recibe el nombre de punto de consigna (o punto de referencia, valor deseado o setpoint), la cual es de la misma naturaleza y tiene el mismo rango de valores que la señal que proporciona el sensor. Para hacer posible esta compatibilidad y que, a su vez, la señal pueda ser entendida por un humano, habrá que establecer algún tipo de interfaz (HMI-Human Machine Interface), son pantallas de gran valor visual y fácil manejo que se usan para hacer más intuitivo el control de un proceso.
El controlador resta la señal de punto actual a la señal de punto de consigna, obteniendo así la señal de error, que determina en cada instante la diferencia que hay entre el valor deseado (consigna) y el valor medido. La señal de error es utilizada por cada uno de los 3 componentes del controlador PID. Las 3 señales sumadas, componen la señal de salida que el controlador va a utilizar para gobernar al actuador. La señal resultante de la suma de estas tres se llama variable manipulada y no se aplica directamente sobre el actuador, sino que debe ser transformada para ser compatible con el actuador utilizado.
Las tres componentes de un controlador PID son: parte Proporcional, acción Integral y acción Derivativa. El peso de la influencia que cada una de estas partes tiene en la suma final viene dado por la constante proporcional, el tiempo integral y el tiempo derivativo, respectivamente. Se pretenderá lograr que el bucle de control corrija eficazmente y en el mínimo tiempo posible los efectos de las perturbaciones.

### Proporcional

La parte proporcional consiste en el producto entre la señal de error y la constante proporcional para lograr que el error en estado estacionario se aproxime a cero, pero en la mayoría de los casos, estos valores solo serán óptimos en una determinada porción del rango total de control, siendo distintos los valores óptimos para cada porción del rango. Sin embargo, existe también un valor límite en la constante proporcional a partir del cual, en algunos casos, el sistema alcanza valores superiores a los deseados. Este fenómeno se llama sobreoscilación y, por razones de seguridad, no debe sobrepasar el 30%, aunque es conveniente que la parte proporcional ni siquiera produzca sobreoscilación. Hay una relación lineal continua entre el valor de la variable controlada y la posición del elemento final de control (la válvula se mueve al mismo valor por unidad de desviación). La parte proporcional no considera el tiempo, por lo tanto, la mejor manera de solucionar el error permanente y hacer que el sistema contenga alguna componente que tenga en cuenta la variación respecto al tiempo, es incluyendo y configurando las acciones integral y derivativa.
La fórmula del proporcional está dada por: $P_{\mathrm {sal} }=K_{p}\,{e(t)}$
Donde:
$K_{\text{p}}$ es la ganancia proporcional, valor de sintonización.
$e(t)=\mathrm {SP} -\mathrm {PV} (t)$ es el error (SP es el punto de establecimiento, y PV(t) es la variable de proceso)
$t$ es el tiempo o tiempo instantáneo(el actual),
El error, la banda proporcional y la posición inicial del elemento final de control se expresan en tanto por uno. Nos indicará la posición que pasará a ocupar el elemento final de control.
Ejemplo: Cambiar la posición de una válvula (elemento final de control) proporcionalmente a la desviación de la temperatura (variable) respecto al punto de consigna (valor deseado).

### Integral

El modo de control Integral tiene como propósito disminuir y eliminar el error en estado estacionario, provocado por perturbaciones exteriores y los cuales no pueden ser corregidos por el control proporcional. El control integral actúa cuando hay una desviación entre la variable y el punto de consigna, integrando esta desviación en el tiempo y sumándola a la acción proporcional. El error es integrado, lo cual tiene la función de promediarlo o sumarlo por un período determinado; Luego es multiplicado por una constante Ki. Posteriormente, la respuesta integral es adicionada al modo Proporcional para formar el control P + I con el propósito de obtener una respuesta estable del sistema sin error estacionario. El modo integral presenta un desfase en la respuesta de 90° que sumados a los 180° de la retro-alimentación (negativa) acercan al proceso a tener un retraso de 270°, luego entonces solo será necesario que el tiempo muerto contribuya con 90° de retardo para provocar la oscilación del proceso. <<< la ganancia total del lazo de control debe ser menor a 1, y así inducir una atenuación en la salida del controlador para conducir el proceso a estabilidad del mismo. >>> Se caracteriza por el tiempo de acción integral en minutos por repetición. Es el tiempo en que delante una señal en escalón, el elemento final de control repite el mismo movimiento correspondiente a la acción proporcional.
El control integral se utiliza para obviar el inconveniente del offset (desviación permanente de la variable con respecto al punto de consigna) de la banda proporcional.
La fórmula del integral está dada por: $I_{\mathrm {sal} }=K_{i}\int _{0}^{t}{e(\tau )}\,{d\tau }$
Donde:
$K_{\text{i}}$ es la ganancia integral, un parámetro de ajuste,
$\tau$ es la variable de integración (toma en cuenta el valor desde el instante 0 hasta el instante actual $t$).
Ejemplo: Mover la válvula (elemento final de control) a una velocidad proporcional a la desviación respecto al punto de consigna (variable deseada ).

### Derivativo

La acción derivativa es proporcional a la velocidad de cambio del error, es decir, tiene en cuenta la inercia de la variable medida. Esto dota a la acción derivativa de un carácter previsor, permitiendo evitar oscilaciones del error y proporcionando al controlador la capacidad de adaptarse a cambios imprevistos en las características del sistema (por ejemplo, cambios en la temperatura ambiente o el material trabajado en un controlador de temperatura).
La acción derivativa se manifiesta cuando hay un cambio en el valor absoluto del error; (si el error es constante, solamente actúan los modos proporcional e integral).
Se deriva el error con respecto al tiempo y se multiplica por una constante Kd y luego se suma a las señales anteriores (P+I).
La fórmula del derivativo está dada por: $D_{\mathrm {sal} }=K_{d}{\frac {de}{dt}}$
Donde:
$K_{\text{d}}$ es la ganancia derivativa, un parámetro de ajuste,
$t$ es el tiempo o tiempo instantáneo (el presente)
El control derivativo se caracteriza por el tiempo de acción derivada en minutos de anticipo. La acción derivada es adecuada cuando hay retraso entre el momento de la acción de corrección y su repercusión en la variable controlada.
Cuando el tiempo de acción derivada es grande, hay inestabilidad en el proceso. Cuando el tiempo de acción derivada es pequeño la variable oscila demasiado con relación al punto de consigna. Suele ser poco utilizada debido a la sensibilidad al ruido que manifiesta y a las complicaciones que ello conlleva.
El tiempo óptimo de acción derivativa es el que retorna la variable al punto de consigna con las mínimas oscilaciones
Ejemplo: Corrige la posición de la válvula (elemento final de control) proporcionalmente a la velocidad de cambio de la variable controlada.
La acción derivada puede ayudar a disminuir el rebasamiento de la variable durante el arranque del proceso. Puede emplearse en sistemas con tiempo de retardo considerables, porque permite una repercusión rápida de la variable después de presentarse una perturbación en el proceso.

## Significado de las constantes

Kp constante de proporcionalidad: se puede ajustar como el valor de la ganancia del controlador o el porcentaje de banda proporcional. Ejemplo: Cambia la posición de la válvula proporcionalmente a la desviación de la variable respecto al punto de consigna. La señal P mueve la válvula siguiendo fielmente los cambios de temperatura multiplicados por la ganancia.
Ki constante de integración: indica la velocidad con la que se repite la acción proporcional.
Kd constante de derivación: hace presente la respuesta de la acción proporcional duplicándola, sin esperar a que el error se duplique. El valor indicado por la constante de derivación es el lapso durante el cual se manifestará la acción proporcional correspondiente a 2 veces el error y después desaparecerá. Ejemplo: Mueve la válvula a una velocidad proporcional a la desviación respecto al punto de consigna. La señal I va sumando las áreas diferentes entre la variable y el punto de consigna repitiendo la señal proporcional según el tiempo de acción derivada (minutos/repetición).
Tanto la acción Integral como la acción Derivativa, afectan a la ganancia dinámica del proceso. La acción integral sirve para reducir el error estacionario, que existiría siempre si la constante Ki fuera nula. Ejemplo: Corrige la posición de la válvula proporcionalmente a la velocidad de cambio de la variable controlada. La señal d es la pendiente (tangente) por la curva descrita por la variable.
La salida de estos tres términos, el proporcional, el integral, y el derivativo son sumados para calcular la salida del controlador PID. Definiendo y (t) como la salida del controlador, la forma final del algoritmo del PID es:
       $\mathrm {y(t)} =\mathrm {MV(t)} =K_{p}{e(t)}+K_{i}\int _{0}^{t}{e(\tau )}\,{d\tau }+K_{d}{\frac {de}{dt}}$

## Ajuste de parámetros del PID

El objetivo de los ajustes de los parámetros PID es lograr que el bucle de control corrija eficazmente y en el mínimo tiempo los efectos de las perturbaciones; se tiene que lograr la mínima integral de error. Si los parámetros del controlador PID (la ganancia del proporcional, integral y derivativo) se eligen incorrectamente, el proceso a controlar puede ser inestable, por ejemplo, que la salida de este varíe, con o sin oscilación, y está limitada solo por saturación o rotura mecánica. Ajustar un lazo de control significa ajustar los parámetros del sistema de control a los valores óptimos para la respuesta del sistema de control deseada. El comportamiento óptimo ante un cambio del proceso o cambio del "setpoint" varía dependiendo de la aplicación. Generalmente, se requiere estabilidad ante la respuesta dada por el controlador, y este no debe oscilar ante ninguna combinación de las condiciones del proceso y cambio de "setpoints". Algunos procesos tienen un grado de no linealidad y algunos parámetros que funcionan bien en condiciones de carga máxima no funcionan cuando el proceso está en estado de "sin carga". Hay varios métodos para ajustar un lazo de PID. El método más efectivo generalmente requiere del desarrollo de alguna forma del modelo del proceso, luego elegir P, I y D basándose en los parámetros del modelo dinámico. Los métodos de ajuste manual pueden ser muy ineficientes. La elección de un método dependerá de si el lazo puede ser "desconectado" para ajustarlo, y del tiempo de respuesta del sistema. Si el sistema puede desconectarse, el mejor método de ajuste a menudo es el de ajustar la entrada, midiendo la salida en función del tiempo, y usando esta respuesta para determinar los parámetros de control. Ahora describimos como realizar un ajuste manual.

### Ajuste manual

Si el sistema debe mantenerse online, un método de ajuste consiste en establecer primero los valores de I y D a cero. A continuación, incremente P hasta que la salida del lazo oscile. Luego establezca P a aproximadamente la mitad del valor configurado previamente. Después incremente I hasta que el proceso se ajuste en el tiempo requerido (aunque subir mucho I puede causar inestabilidad). Finalmente, incremente D, si se necesita, hasta que el lazo sea lo suficientemente rápido para alcanzar su referencia tras una variación brusca de la carga.
Un lazo de PID muy rápido alcanza su setpoint de manera veloz, un lazo de PID no tan rápido alcanza su setpoint de manera no tan veloz. Algunos sistemas no son capaces de aceptar este disparo brusco; en estos casos se requiere de otro lazo con un P menor a la mitad del P del sistema de control anterior.

### Método de Ziegler-Nichols

El método de Ziegler-Nichols permite realizar un ensayo sobre el sistema a controlar y a partir de ese ensayo se calculan los parámetros del PID necesarios para conseguir una buena respuesta rápida y con poco sobrepulso.

## Limitaciones de un control PID

Mientras que los controladores PID son aplicables a la mayoría de los problemas de control, puede ser pobres en otras aplicaciones. Los controladores PID, cuando se usan solos, pueden dar un desempeño pobre cuando la ganancia del lazo del PID debe ser reducida para que no se dispare u oscile sobre el valor del "setpoint". El desempeño del sistema de control puede ser mejorado combinando el lazo cerrado de un control PID con un lazo abierto. Conociendo el sistema (como la aceleración necesaria o la inercia) puede ser accionado y combinado con la salida del PID para aumentar el desempeño final del sistema. Solamente el valor de avanacción (o Control prealimentado) puede proveer la mayor porción de la salida del controlador. El controlador PID puede ser usado principalmente para responder a cualquier diferencia o "error" que quede entre el setpoint y el valor actual del proceso. Como la salida del lazo de avanacción no se ve afectada a la realimentación del proceso, nunca puede causar que el sistema oscile, aumentando el desempeño del sistema, su respuesta y estabilidad.
Por ejemplo, en la mayoría de los sistemas de control con movimiento, para acelerar una carga mecánica, se necesita de más fuerza (o torque) para el motor. Si se usa un lazo PID para controlar la velocidad de la carga y manejar la fuerza o torque necesaria para el motor, puede ser útil tomar el valor de aceleración instantánea deseada para la carga, y agregarla a la salida del controlador PID. Esto significa que sin importar si la carga está siendo acelerada o desacelerada, una cantidad proporcional de fuerza está siendo manejada por el motor además del valor de realimentación del PID. El lazo del PID en esta situación usa la información de la realimentación para incrementar o decrementar la diferencia entre el setpoint y el valor del primero. Trabajando juntos, la combinación avanacción-realimentación provee un sistema más confiable y estable.
Otro problema que posee el PID es que es lineal. Principalmente el desempeño de los controladores PID en sistemas no lineales es variable. También otro problema común que posee el PID es, que en la parte derivativa, el ruido puede afectar al sistema, haciendo que esas pequeñas variaciones, hagan que el cambio a la salida sea muy grande. Generalmente un Filtro pasa bajo ayuda, ya que elimina las componentes de alta frecuencia del ruido. Sin embargo, un FPB y un control derivativo pueden hacer que se anulen entre ellos. Alternativamente, el control derivativo puede ser sacado en algunos sistemas sin mucha pérdida de control. Esto es equivalente a usar un controlador PID como PI solamente.

## Ejemplos prácticos

Se desea controlar el caudal de un flujo de entrada en un reactor químico. En primer lugar se tiene que poner una válvula de control del caudal de dicho flujo, y un caudalímetro, con la finalidad de tener una medición constante del valor del caudal que circule. El controlador irá vigilando que el caudal que circule sea el establecido por nosotros; en el momento que detecte un error, mandará una señal a la válvula de control de modo que esta se abrirá o cerrará corrigiendo el error medido. Y tendremos de ese modo el flujo deseado y necesario. El PID es un cálculo matemático, lo que envía la información es el PLC.
Se desea mantener la temperatura interna de un reactor químico en su valor de referencia. Se debe tener un dispositivo de control de la temperatura (puede ser un calentador, una resistencia eléctrica,...), y un sensor (termómetro). El P, PI o PID irá controlando la variable (en este caso la temperatura). En el instante que esta no sea la correcta avisará al dispositivo de control de manera que este actúe, corrigiendo el error. De todos modos, lo más correcto es poner un PID; si hay mucho ruido, un PI, pero un P no nos sirve mucho puesto que no llegaría a corregir hasta el valor exacto.
Un ejemplo muy común es el control de altitud de un dron, donde la señal a controlar es la altitud mediante un instrumento sensor de altitud (puede ser un sensor de ultrasonido en el dron o posiblemente una cámara conectada externamente en comunicación inalámbrica, etc), y donde la variable a controlar es la velocidad y por ende el empuje hacia arriba del suelo del dron. Un control P daría directamente una respuesta a cada variación intentando compensar el error, inmediatamente, como esto no es práctico se añade la parte Derivativa (D), donde esta parte del control se dedica a compensar las variaciones "suavizándolas" y permitiendo un espacio temporal-longitudinal entre los espacios y las respuestas del control, en dicho caso al no poder reaccionar de la misma manera, no sea alcanza a compensar el error generando un "offset", finalmente se añadirá una parte Integral al control (I), dotándole de la facilidad de ajustar las variaciones entre respuestas al error, minimizando entre respuestas el "offset" generado.

## Bibliografía

Ogata, Katsuhiko (1998). Ingeniería de control moderna [Miguel Ángel Martínez Sarmiento] (en inglés) (Tercera edición). Pearson Educación. ISBN 970-17-0048-1. Consultado el 26 de enero de 2024.