Skip to content
RFrftools.io
Motor Control21 de marzo de 20268 min de lectura

Afinación PID de Ziegler-Nichols: bucle abierto hacia ganancias

Aprenda a ajustar el PID de Ziegler-Nichols utilizando la ganancia del proceso, el tiempo muerto y la constante de tiempo. Ejemplo resuelto con valores reales.

Contenido

Por qué el ajuste PID sigue siendo importante

Los controladores PID están en todas partes. En serio, controlan todo, desde el circuito térmico del horno de reflujo hasta la regulación de la velocidad de un motor de corriente continua sin escobillas. A pesar de todas las nuevas y sofisticadas estrategias de control, como el control predictivo por modelos, el PID clásico sigue siendo el rey. ¿Por qué? Funciona, es muy barato de implementar en un microcontrolador básico, y cuando logras el ajuste, funciona a la perfección.

El truco está en esa afinación. Un PID mal configurado oscilará como un borracho en la cuerda floja o responderá tan lentamente que podría controlarse manualmente. He visto controladores térmicos que sobrepasan los 40 °C porque alguien acaba de adivinar las ventajas. No es muy bueno cuando intentas refractar una placa llena de 0201 pasivos.

El método de ciclo abierto de Ziegler-Nichols proporciona a los ingenieros un punto de partida sólido y repetible basado en tres características clave del proceso: ganancia del proceso KK, tiempo muerto LL y constante de tiempo τ\tau. Existe desde 1942 y todavía se usa porque evita las conjeturas. Haces una prueba, mides tres parámetros, los agregas a algunas fórmulas y tienes una línea base que normalmente te da el 80% del resultado.

El método de respuesta escalonada en bucle abierto

Este es el plan de juego: poner el sistema en circuito abierto, realizar un cambio gradual en el actuador (como un paso de voltaje en un controlador de motor) y registrar lo que ocurre con la variable de proceso. De esa curva de respuesta en forma de S, extraerás tres parámetros críticos.

La primera es ganancia de proceso KK: cuánto cambio de salida obtienes por paso de entrada. Pueden ser RPM por voltio, grados Celsius por porcentaje de ciclo de trabajo, independientemente de las unidades con las que hable su sistema. Si el PWM de su calentador pasa del 0% al 50% y, finalmente, la temperatura aumenta 75 °C, la ganancia del proceso es de 1,5 °C por ciclo de trabajo porcentual.

El siguiente es el tiempo muerto LL: el retraso antes de que algo comience a moverse, medido en segundos. Esto es puro retraso. Cambias la entrada y, por un momento frustrante, no pasa nada. Luego, el sistema se activa y comienza a responder. El tiempo muerto es el enemigo del control rápido. Cuanto más tengas, más conservadora será tu afinación.

Por último, está la constante de tiempo τ\tau: el tiempo que se tarda en alcanzar aproximadamente el 63% del valor final una vez que se inicia el retraso inicial. Esto proviene de la teoría de sistemas de primer orden. Una respuesta exponencial alcanza el 63,2% de su valor final después de una constante de tiempo. En la práctica, se traza una línea tangente en el punto de inflexión de la curva en S, se observa dónde se cruza con la línea del valor final y se mide hasta el momento en que comenzó la respuesta.

Reúna esos tres números y Ziegler-Nichols le entregará fórmulas directas para los controladores P, PI y PID completos. Lo bueno es que no es necesario conocer la física subyacente. No importa si se trata de una masa térmica con pérdidas por convección o de un motor con una dinámica contraelectromotriz. La respuesta escalonada te lo dice todo.

Las fórmulas de Ziegler-Nichols

Para un controlador PID, las reglas clásicas de ajuste de bucle abierto son las siguientes:

Kp=1.2 τK LK_p = \frac{1.2\,\tau}{K\,L}
Ti=2LT_i = 2L
Td=0.5LT_d = 0.5L

Estos le dan la ganancia proporcional KpK_p, el tiempo integral TiT_i y el tiempo derivado TdT_d en la forma estándar. Sin embargo, la mayoría de los controladores modernos utilizan la forma paralela (ISA), por lo que tendrás que convertir:

Ki=KpTiK_i = \frac{K_p}{T_i}
Kd=Kp⋅TdK_d = K_p \cdot T_d

Para un controlador solo para PI (útil en sistemas ruidosos donde la acción derivada causa más problemas de los que resuelve):

KpPI=0.9 τK LK_p^{\text{PI}} = \frac{0.9\,\tau}{K\,L}
TiPI=L0.3=3.33LT_i^{\text{PI}} = \frac{L}{0.3} = 3.33L

Observe que el ajuste del PI es más conservador: menor ganancia proporcional, mayor tiempo integral. Eso es intencional. Sin el término derivado para compensar a los clientes potenciales, es necesario retroceder un poco para mantener la estabilidad.

Estas fórmulas tienen como objetivo una relación entre un cuarto de decaimiento: cada sobreimpulso es aproximadamente un 25% más pequeño que el anterior. Es agresivo, pero por lo general es un punto de partida sólido. Obtienes una velocidad decente sin convertir tu sistema en un martillo neumático. La mayoría de los ingenieros terminan desajustándose desde aquí, pero es mucho mejor que empezar desde cero.

Ejemplo resuelto: control de velocidad del motor DC

Concretemos esto. Imagine que está diseñando un controlador de velocidad para un motor de corriente continua con escobillas de 24 V en una cinta transportadora. Usted aumenta el PWM del 0% al 20% y controla la velocidad con un codificador tacómetro. Esto es lo que ves:

El motor comienza a moverse 0,15 s después del paso. Ese es tu tiempo muerto → L=0.15 sL = 0.15\,\text{s}. Podrían ser constantes de tiempo eléctricas, superación de la inercia mecánica, lo que sea. No te importa por qué, solo que está ahí.

La velocidad alcanza el 63% del valor final en t=0.15+0.8=0.95 st = 0.15 + 0.8 = 0.95\,\text{s}. Empezaste a responder a los 0,15 s, por lo que la constante de tiempo es τ=0.8 s\tau = 0.8\,\text{s}. Probablemente esto esté dominado por la inercia mecánica y la amortiguación viscosa del sistema.

La velocidad final se establece en 600 RPM para un ciclo de trabajo del 20%. La ganancia de proceso es de K=60020=30 RPM/%K = \frac{600}{20} = 30\,\text{RPM/\%}. Agradable y lineal, al menos en este rango de operación.

Ahora conéctese a las fórmulas PID:

Kp=1.2×0.830×0.15=0.964.5=0.2133K_p = \frac{1.2 \times 0.8}{30 \times 0.15} = \frac{0.96}{4.5} = 0.2133
Ti=2×0.15=0.3 sT_i = 2 \times 0.15 = 0.3\,\text{s}
Td=0.5×0.15=0.075 sT_d = 0.5 \times 0.15 = 0.075\,\text{s}

Conversión a forma paralela:

Ki=0.21330.3=0.711 s−1K_i = \frac{0.2133}{0.3} = 0.711\,\text{s}^{-1}
Kd=0.2133×0.075=0.016 sK_d = 0.2133 \times 0.075 = 0.016\,\text{s}

Para un control solo por PI (con el que probablemente empezaría en un motor real, sinceramente):

KpPI=0.9×0.830×0.15=0.724.5=0.16K_p^{\text{PI}} = \frac{0.9 \times 0.8}{30 \times 0.15} = \frac{0.72}{4.5} = 0.16
TiPI=3.33×0.15=0.5 sT_i^{\text{PI}} = 3.33 \times 0.15 = 0.5\,\text{s}

Puede verificarlos al instante con la calculadora PID Controller Tuning (Ziegler-Nichols). Te ahorra tener que hacer la aritmética a mano en todo momento.

Consejos prácticos para sistemas reales

Comience con PI y luego añada D. El ruido de los sensores a menudo hace que los términos derivados sean más problemáticos de lo que valen. He visto cómo la acción derivada amplificaba el ruido de cuantificación del codificador y lo convertía en un zumbido de 50 Hz que hacía sonar a todo el conjunto mecánico. Comience con el PI, confirme la estabilidad y añada únicamente la derivada si necesita un rechazo más rápido de las perturbaciones o un seguimiento más estricto. En muchos casos, no lo harás. Ziegler-Nichols es un punto de partida. El enfoque de un cuarto de decaimiento puede producir más sobreimpulso del deseado, especialmente en sistemas en los que el sobrepaso es caro o peligroso. La mayoría de los ingenieros reducen la KpK_p entre un 20 y un 30% con respecto al valor calculado y modifican la TiT_i para lograr un equilibrio entre velocidad y suavidad. Por lo general, multiplico la ganancia proporcional por 0,7 y veo cómo se siente. Siempre puedes aumentarla más adelante. La frecuencia de muestreo importa. Si tu bucle de control funciona a 1 kHz pero el tiempo muerto es de 150 ms, estás perfecto. A 50 Hz, tendrás una acción derivada burda que podría no ser de mucha ayuda. La regla general es que el período de la muestra debe ser al menos entre 5 y 10 veces más rápido que la constante de tiempo derivada. De lo contrario, solo estás amplificando el ruido entre muestras. Para el ejemplo de motor anterior con Td=0.075T_d = 0.075 s, querrás muestrear al menos cada 7,5 ms, lo que significa 130 Hz o más. La resistencia al enrollamiento es crítica. El término integral generará errores durante la saturación, por ejemplo, cuando el motor ya tiene un ciclo de trabajo del 100%, pero el punto de ajuste es aún más alto. Sin la protección contra el enrollamiento, el integrador no deja de funcionar y, cuando el error finalmente se invierte, se produce un sobrepaso masivo, ya que el término integral tarda una eternidad en solucionarse. Implemente la fijación o el cálculo inverso, o corra el riesgo de que la cinta transportadora arroje piezas al otro lado de la habitación. Vuelva a ajustar en condiciones reales. Las características del proceso cambian con la carga, la temperatura, el voltaje de suministro y una docena de otras variables. La constante de tiempo efectivo de un motor aumenta cuando se carga. La ganancia de un calefactor cambia a medida que cambia la temperatura ambiente. Sintonízalo en el peor de los casos o, al menos, verifica que tus ganancias sigan siendo las mismas. El sistema que caracterizaste como vacío puede comportarse de manera totalmente diferente cuando realmente está haciendo un trabajo útil. Tenga cuidado con las no linearidades. El método Ziegler-Nichols supone que su sistema es razonablemente lineal alrededor del punto de operación. Si su actuador se satura, tiene una banda muerta significativa o la ganancia del proceso cambia drásticamente con las condiciones de operación, es posible que necesite aumentar la programación o el control adaptativo. Un único conjunto de ganancias de PID no puede ser suficiente.

Cuándo usar un método diferente

Ziegler-Nichols asume un modelo de primer pedido más tiempo muerto (FOPDT). Es una aproximación bastante buena para muchos procesos industriales, pero no para todos. Para sistemas complejos con múltiples constantes de tiempo, como un sistema térmico en cascada con un calentador, un difusor de calor y una masa térmica, métodos como Cohen-Coon o el ajuste automático de relés podrían funcionar mejor. Cohen-Coon gestiona de forma más eficiente los procesos con proporciones más altas de tiempo muerto y constante.

Si no puedes realizar una prueba escalonada de forma segura porque el proceso está en fase de producción o porque un paso importante podría dañar algo, considera la posibilidad de utilizar métodos de identificación de ciclo cerrado o de ajustar automáticamente el software. Algunos controladores tienen rutinas de ajuste automático integradas que realizan pruebas de retroalimentación de relés para caracterizar el sistema y, al mismo tiempo, mantenerlo bajo control.

Para sistemas realmente rápidos con un tiempo muerto mínimo, es posible que obtenga mejores resultados con la colocación de postes u otras técnicas basadas en modelos. Pero, sinceramente, para el 90% de los problemas de control integrado a los que se enfrentará, Ziegler-Nichols lo acerca lo suficiente como para que baste con algunos ajustes manuales.

Pruébalo

Obtenga los datos de respuesta escalonada, extraiga KK, LL y τ\tau y encienda la calculadora de ajuste PID. Calculará los parámetros PI y PID para que puedas elegir el enfoque correcto para tu sistema. Márcalo como favorito: lo usarás más de lo que piensas. Cada vez que veas el rastro de un osciloscopio preguntándote por qué suena tu bucle de control, aquí es donde empiezas.

Preguntas Frecuentes

El método de bucle abierto de Ziegler-Nichols implica aplicar una entrada escalonada al sistema, registrar la curva de respuesta y extraer tres parámetros: ganancia del proceso (K), tiempo muerto (L) y constante de tiempo (τ). Estos parámetros se incorporan luego a fórmulas establecidas para calcular las ganancias de PID que proporcionan un ajuste de referencia sólido.
El tiempo muerto (L) es el retraso en segundos antes de que el sistema comience a responder después de aplicar una entrada escalonada. La constante de tiempo (τ) se mide trazando una línea tangente en el punto de inflexión de la respuesta de la curva en S, encontrando el punto en el que se interseca con la línea del valor final y, a continuación, midiendo el tiempo transcurrido desde el inicio de la respuesta.
La ganancia de proceso (K) es la relación entre el cambio de salida y el cambio de entrada en su sistema, medida en unidades específicas para su aplicación, como RPM por voltio o °C por ciclo de trabajo porcentual. Por ejemplo, si un paso de PWM del 50% provoca un aumento de temperatura de 75 °C, la ganancia del proceso es de 1,5 °C por ciento.
Ziegler-Nichols proporciona un método sistemático y repetible que, por lo general, permite realizar un ajuste óptimo en el 80% según las características del sistema medidas. Predecir las ganancias suele tener como resultado un rendimiento deficiente, como oscilaciones intensas, o sobreimpulsos excesivos, como los controladores térmicos que sobrepasan los 40 °C o más.

Artículos Relacionados