Introducción

Los sistemas de regulación lineal son aquellos en los que la relación entre la variable de salida y la variable de entrada se mantiene proporcional a lo largo de todo su rango de operación. Estos sistemas se describen matemáticamente mediante ecuaciones lineales y se caracterizan por su facilidad de análisis y predicción. Dentro de la regulación lineal, destacan tres estrategias principales: proporcional (P), integral (I) y derivativa (D), que pueden utilizarse de forma individual o combinada en el conocido controlador PID.

El objetivo de un sistema de regulación es mantener una variable (llamada variable controlada) lo más cerca posible de un valor deseado (setpoint), a pesar de las perturbaciones externas. La diferencia entre el valor deseado y el valor real se denomina error. La acción del regulador se basa en el error: cuanto mayor sea el error, mayor será la acción de corrección. En este tema estudiaremos cada una de estas acciones, su combinación en el PID, y los conceptos de respuesta dinámica y estabilidad.

Controlador Proporcional (P)

El controlador proporcional ajusta la señal de control en proporción directa al error instantáneo. Matemáticamente, se expresa como:

u(t) = Kp · e(t)

donde u(t) es la señal de control, Kp es la constante proporcional y e(t) es el error en el instante t. Funcionalmente, este controlador responde de forma inmediata al error: si el error aumenta, la acción de control también lo hace.

Ejemplo práctico 1: En un sistema de control de nivel de un depósito, se utiliza una válvula proporcional. Si el nivel desciende 10 cm por debajo del setpoint, la válvula se abre un 20%; si desciende 20 cm, se abre un 40%. Esto produce una respuesta rápida, pero al final siempre queda un error en régimen permanente (offset) porque para mantener la válvula abierta se necesita un error constante.

Ejemplo práctico 2: En un horno eléctrico, un control P ajusta la potencia en función de la diferencia de temperatura. Si la temperatura es 5°C inferior a la deseada, aplica un 50% de potencia; si es 10°C inferior, aplica el 100%. Alcanzará una temperatura estable pero siempre algo por debajo del setpoint si hay pérdidas de calor constantes.

El controlador proporcional se utiliza cuando:

  • Se precisa una respuesta rápida.
  • El sistema tolera un pequeño error permanente.
  • La dinámica del proceso es sencilla y no se requieren acciones correctivas adicionales.

El ajuste del parámetro Kp implica un compromiso: valores bajos producen una respuesta lenta y poco eficaz; valores altos pueden conducir a oscilaciones e incluso inestabilidad.

Controlador Integral (I)

El controlador integral basa su acción en la acumulación del error a lo largo del tiempo:

u(t) = Ki · ∫ e(t) dt

donde Ki es la constante integral. La acción integral suma todos los errores pasados, aumentando la señal de control si el error persiste. Así, es capaz de eliminar el error en régimen permanente. Sin embargo, introduce una respuesta más lenta y puede generar sobreimpulsos o incluso inestabilidad si se utiliza en exceso.

Ejemplo práctico 1: En un horno con pérdidas de calor constantes, la acción integral acumulará el error hasta que la potencia adicional compense exactamente las pérdidas, eliminando el offset. Si el horno pierde 10°C por hora, el integrador aumentará gradualmente la potencia hasta mantener la temperatura deseada.

Ejemplo práctico 2: En un sistema de dosificación química, para mantener el pH constante a pesar de variaciones en la alimentación, la acción integral corrige cualquier desviación sostenida, asegurando que el valor medio coincida con el setpoint.

El controlador integral se emplea cuando:

  • Es necesario eliminar el error en estado estacionario.
  • El sistema puede tolerar respuestas más lentas y sobreimpulsos iniciales.
  • Se busca compensar perturbaciones constantes o acumulativas.

El ajuste de Ki debe hacerse cuidadosamente: un valor demasiado alto puede provocar oscilaciones sostenidas o inestabilidad (efecto windup).

Controlador Derivativo (D)

El controlador derivativo anticipa la tendencia del error, actuando sobre la velocidad de cambio del error:

u(t) = Kd · de(t)/dt

donde Kd es la constante derivativa. Su función principal es prever la evolución del error, proporcionando una acción correctiva antes de que el error crezca demasiado. Esto ayuda a mejorar la respuesta dinámica y reducir el sobreimpulso. Sin embargo, es muy sensible al ruido y rara vez se usa solo.

Ejemplo práctico 1: En el control de posición de un brazo robótico, la acción derivativa anticipa la velocidad del error y aplica una fuerza contraria para suavizar el movimiento y evitar sobreimpulsos al llegar a la posición deseada.

Ejemplo práctico 2: En un sistema de temperatura con gran inercia térmica, la acción derivativa puede adelantarse a un cambio brusco (por ejemplo, apertura de una puerta) y aumentar la potencia antes de que la temperatura caiga, mejorando la respuesta.

El controlador derivativo se utiliza cuando:

  • Se desea mejorar la estabilidad del sistema.
  • Es importante minimizar el sobreimpulso y el tiempo de establecimiento.
  • El sistema es sensible a cambios bruscos.

El ajuste de Kd debe ser moderado, ya que valores altos amplifican el ruido y pueden desestabilizar el sistema. En la práctica, se suele filtrar la señal antes de la derivación.

Controlador PID

La combinación de las tres acciones forma el controlador PID:

u(t) = Kp · e(t) + Ki · ∫ e(t) dt + Kd · de(t)/dt

El PID es el más versátil y utilizado en la industria, ya que permite ajustar el comportamiento del sistema equilibrando rapidez, precisión y estabilidad. El proceso de ajuste de parámetros (sintonización) es fundamental y puede hacerse mediante métodos empíricos, reglas como Ziegler-Nichols o algoritmos de optimización.

Tabla 1: Efectos de aumentar los parámetros PID en la respuesta
ParámetroTiempo de subidaSobreimpulsoTiempo de establecimientoError permanente
Aumentar KpDisminuyeAumentaCambia pocoDisminuye
Aumentar KiDisminuyeAumentaAumentaElimina
Aumentar KdCambia pocoDisminuyeDisminuyeCambia poco

Ejemplo industrial: En una caldera de vapor, se utiliza un PID para controlar la presión. El lazo cerrado incluye un transmisor de presión, un controlador PID en el DCS, y una válvula de control de combustible. El PID ajusta continuamente la válvula para mantener la presión constante a pesar de las variaciones en la demanda de vapor.

Ejemplo con Raspberry Pi: Se puede implementar un PID en Python para controlar la temperatura de un invernadero, leyendo un sensor DS18B20 y actuando sobre un relé (PWM) que regula una resistencia. Los parámetros se ajustan experimentalmente para obtener una respuesta estable sin oscilaciones.

Respuesta dinámica y estabilidad

La respuesta dinámica describe cómo evoluciona la salida del sistema ante un cambio en la consigna o una perturbación. Los parámetros clave son el tiempo de subida, el sobreimpulso, el tiempo de establecimiento y el error en régimen permanente. La estabilidad garantiza que el sistema regrese al equilibrio tras una perturbación. Un sistema inestable oscilará de forma creciente o divergerá.

El PID bien sintonizado logra un compromiso entre rapidez y estabilidad. Demasiada ganancia proporcional o integral puede llevar a oscilaciones; demasiada derivativa puede amplificar ruido.

Toma nota

Una de las dificultades más frecuentes al implementar un controlador PID es la correcta elección de los parámetros Kp, Ki y Kd. Un ajuste inadecuado puede dar lugar a sistemas lentos, con grandes sobreimpulsos o incluso inestables. Además, la presencia de ruido en la señal puede hacer que la acción derivativa amplifique pequeñas variaciones no deseadas, por lo que es recomendable filtrar la señal o limitar la acción derivativa en la práctica. Por ello, es esencial realizar pruebas controladas y utilizar métodos sistemáticos de sintonización, adaptando los valores a las características específicas de cada proceso.

Tendencias Actuales 2026: PID avanzado y autoajuste

Los controladores modernos incorporan funciones de autoajuste (autotuning) que identifican la dinámica del proceso y calculan los parámetros PID óptimos. También se utilizan estructuras avanzadas como PID con anti-windup (para evitar la saturación del integrador), PID en cascada (para mejorar el rechazo a perturbaciones) y PID con feedforward (prealimentación). Además, la integración con IIoT permite monitorizar el rendimiento del lazo y reajustar parámetros de forma remota.

Aplicaciones con Raspberry Pi: Implementación de un PID en Python

Con una Raspberry Pi 4B y un sensor de temperatura DS18B20, se puede implementar un controlador PID para regular la temperatura de un pequeño horno. La lectura del sensor se realiza cada segundo, se calcula el error, y mediante la librería simple-pid o una implementación propia, se obtiene la señal de control. Esta señal puede ser un valor PWM (0-100%) que se envía a un relé de estado sólido (SSR) o a un transistor para controlar la potencia de una resistencia. El programa puede incluir una interfaz web para ajustar los parámetros en tiempo real y visualizar la evolución de la temperatura.

Aplicaciones con Arduino: Control PID de velocidad de un motor DC

Con un Arduino Uno, un encoder y un driver de motor, se puede construir un lazo cerrado de velocidad. El Arduino lee los pulsos del encoder, calcula la velocidad real, la compara con el setpoint y aplica un control PID para ajustar el PWM que alimenta el motor. Este tipo de sistemas se utiliza en robótica, cintas transportadoras y posicionamiento. La librería PID de Arduino facilita la implementación.

💼 Caso Práctico Industrial: Selección de acción de control

Contexto: Se desea controlar la temperatura de un reactor químico. El proceso tiene una inercia térmica significativa (constante de tiempo grande) y está sujeto a perturbaciones constantes (pérdidas de calor). Se requiere que la temperatura alcance el setpoint sin error permanente, y que los sobreimpulsos sean mínimos para evitar reacciones secundarias no deseadas.

Problema: ¿Qué tipo de controlador es el más adecuado?

Pregunta: Selecciona la opción correcta.

🍓 Caso Práctico Raspberry Pi: Cálculo de acción PID

Contexto: En una Raspberry Pi, tienes un lazo de control PID para temperatura con los siguientes parámetros: Kp = 2, Ki = 0.5, Kd = 0.1. El setpoint es 50°C. En un instante dado, la temperatura medida es 48°C, el error actual es 2°C, la suma de errores acumulados (integral) es 15°C·s, y la derivada del error (calculada como la diferencia con el error anterior) es 0.5°C/s.

Problema: ¿Cuál es la salida del controlador (antes de limitar)?

Pregunta: Calcula la salida usando la fórmula PID estándar.

Nota: Las opciones A, B y C son equivalentes (todas dan 11.55). La D es incorrecta por el signo. Para el ejercicio, cualquier opción con el valor correcto es válida, pero hemos marcado B como correcta para mantener la unicidad.

🐍 Caso Práctico Python: Efecto de los parámetros

Contexto: Estás simulando un lazo PID y observas que la respuesta tiene un sobreimpulso muy grande y oscilaciones prolongadas. El error en régimen permanente es cero.

Problema: ¿Qué ajuste deberías hacer para reducir el sobreimpulso y las oscilaciones?

Pregunta: Selecciona la opción más adecuada.

📚 Recursos Técnicos y Normativos 2026

Normativas y Estándares

Recursos Raspberry Pi y Python