Skip to content
RFrftools.io
Motor Control21 de marzo de 20266 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 de control del motor. Calculadora online gratuita.

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 bucle 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 procesoKK, tiempo muertoLLy constante de tiempoτ\tau. Existe desde 1942 y todavía se usa porque evita las conjeturas. Se hace una prueba, se miden tres parámetros, se incorporan a algunas fórmulas y se obtiene una línea base que, por lo general, da como resultado 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.

El primero es ganancia de procesoKK: 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 muertoLL: 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úne esos tres números y Ziegler-Nichols te 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 afinación de bucle abierto son las siguientes:

Kp=1.2τKLK_p = \frac{1.2\,\tau}{K\,L}
Ti=2LT_i = 2L
Td=0.5LT_d = 0.5L
Éstos dan la ganancia proporcionalKpK_p, el tiempo integralTiT_iy el tiempo derivadoTdT_den 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=KpTdK_d = K_p \cdot T_d
Para un controlador solo para PI (útil en sistemas ruidosos en los que la acción derivada causa más problemas de los que resuelve):
KpPI=0.9τKLK_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.

El objetivo de estas fórmulas es obtener una ratio de un cuarto de decaimiento: cada rebasamiento es aproximadamente un 25% menor 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 a partir de aquí, pero es mucho mejor que empezar desde cero.

Ejemplo resuelto: control de velocidad de un motor de corriente continua

Hagamos esto concreto. 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 segundos después del escalón. Ese es tu tiempo muerto →L=0.15sL = 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 ent=0.15+0.8=0.95st = 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.8s\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 § 26§. 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.3sT_i = 2 \times 0.15 = 0.3\,\text{s}
Td=0.5×0.15=0.075sT_d = 0.5 \times 0.15 = 0.075\,\text{s}
Conversión a forma paralela:
Ki=0.21330.3=0.711s1K_i = \frac{0.2133}{0.3} = 0.711\,\text{s}^{-1}
Kd=0.2133×0.075=0.016sK_d = 0.2133 \times 0.075 = 0.016\,\text{s}
Para el control únicamente por PI (con el que probablemente empezaría en un motor real, sinceramente):

§ 12§

TiPI=3.33×0.15=0.5sT_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

Empieza con PI y, después, quizás añada D. El ruido de los sensores suele hacer 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 sobreimpulsos de los que se desea, especialmente en sistemas en los que sobrepasar es caro o peligroso. La mayoría de los ingenieros reducen el artículo 27§ entre un 20 y un 30% con respecto al valor calculado y modifican el artículo 28 para equilibrar la velocidad y la 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 conTd=0.075T_d = 0.075s, querrás muestrear al menos cada 7,5 ms, lo que significa 130 Hz o más. Es fundamental evitar el enrollamiento. 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 ajustarlo en condiciones reales. Las características del proceso cambian con la carga, la temperatura, la tensión de alimentación y una docena de variables más. 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 la falta de linealidad. El método Ziegler-Nichols presupone 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 con más elegancia los procesos con proporciones más altas de tiempo muerto y constante.

Si no puede realizar una prueba por etapas de forma segura porque el proceso está en fase de producción o porque un paso importante podría dañar algo, piense en utilizar métodos de identificación en bucle cerrado o en el ajuste automático del 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.

En el caso de sistemas realmente rápidos con un tiempo muerto mínimo, es posible que obtenga mejores resultados colocando los 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 los artículos 30§, 31§ y 32§ 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.

Artículos Relacionados