Saturación y anti-windup
Un motor no da más de 12 V y una válvula no abre más del 100 %. Cuando u se topa con ese límite, el lazo queda abierto, pero la integral sigue acumulando error. Cuando por fin hace falta bajar, primero hay que «desenrollar» todo lo acumulado. Eso es el windup, y en este taller lo ves pasar y lo arreglas de cuatro maneras.
⏱ 60 minutos1 Para qué sirve esto y cuándo se usa
Todo lo que diseñaste hasta ahora supone que el actuador entrega cualquier u. Ninguno lo hace. En el levitador el PWM no pasa de 100 %; en tu motor del laboratorio hay zona muerta y tope de voltaje. Con integral y saturación, el windup aparece sí o sí.
- Identifica si u satura (mira u_{max} del diseño contra el límite del actuador).
- Si satura y hay I: pon anti-windup. Back-calculation es la opción por defecto.
- Escoge T_t: T_i (clásico) o la regla 2 del paper si conoces cuánto satura.
- Comprueba en los tres escenarios: referencia alcanzable, inalcanzable y perturbación.
2 El simulador: tres escenarios, cuatro métodos
Planta \dfrac{e^{-0{,}5s}}{3s+1} con PI Lambda (K_p=2{,}727, T_i=3\ \text{s}). Escoge el escenario y qué métodos ver. La tabla compara todos.
1) Referencia alcanzable: «sin anti-windup» se pasa a 1,2; la integral (abajo) sube de más y tarda en bajar. 2) Referencia inalcanzable: sin anti-windup, al bajar r a 1 la salida tarda muchísimo, porque la integral se fue lejos mientras pedías 2. 3) Perturbación: usa el botón de la calculadora (sección 5) y mira el IAE del back-calculation bajar al menor de todos.
3 El problema, paso a paso
- Pides un cambio grande. El controlador calcula u_c mayor que el máximo y el actuador entrega u_{sat}=u_{max}.
- Como u_{sat} ya no crece aunque u_c crezca, la realimentación no tiene efecto: el sistema va en lazo abierto.
- Mientras tanto e>0 y u_I sigue creciendo, aunque no sirva de nada.
- La salida llega a la referencia, el error cambia de signo, pero u_I es enorme: tarda en bajar y la salida se pasa.
- u_c
- lo que calcula el PID [las del actuador]
- u_{sat}
- lo que de verdad entrega el actuador, recortado al límite [las del actuador]
- u_I
- el estado del integrador [las del actuador]
4 Las soluciones
| Método | Qué hace | Parámetro |
|---|---|---|
| Back-calculation | Le resta a la integral \frac{1}{T_t}(u_c-u_{sat}): la devuelve hacia el límite con constante T_t | T_t |
| Clamping | Lo mismo con T_t=T_s: la integral se recorta de inmediato | ninguno |
| Integración condicional | Congela la integral mientras esté saturado y el error empuje hacia afuera | ninguno |
| Híbrido (paper) | Condicional más back-calculation | T_t |
Sin saturación, u_{sat}=u_c y el último término vale cero: el PI funciona normal. Solo actúa cuando el actuador no obedece.
- T_t
- constante de tiempo del anti-windup: qué tan rápido se desenrolla la integral [s]
- T_s
- periodo de muestreo del controlador digital (aquí 0,01 s) [s]
5 ¿Cuánto vale T_t? La regla 2 del paper
La regla clásica es T_t=T_i (PI) o T_t=\sqrt{T_iT_d} (PID). El paper encuentra que, para rechazar perturbaciones, el mejor T_t casi siempre es menor que T_i, y lo escribe como T_t=\alpha T_i.
- Razón de saturación: R_S=\dfrac{u_f-u_{lim}}{u_f-u_0}: qué fracción del esfuerzo necesario no se puede dar.
- Agresividad: x=\lambda/T. Un x pequeño es un controlador agresivo.
- Regla 2, cuando no conoces la duración de la perturbación:
\begin{gathered}\alpha=\max\left\{a,\ \frac{T_s}{T_i}\right\}\\ a=-0{,}3-0{,}63\,x+1{,}5\,R_S\\ T_t=\alpha\,T_i\end{gathered}
- Si R_S es pequeño, gana T_s/T_i: lo óptimo es el clamping.
- u_0
- acción antes de la perturbación [las del actuador]
- u_f
- acción que haría falta sin límite [las del actuador]
- u_{lim}
- el tope del actuador [las del actuador]
- R_S
- razón de saturación, entre 0 y 1 [sin unidades]
En el escenario de perturbación: u_0=0, u_f=-0{,}8, u_{lim}=-0{,}5, así que R_S=0{,}375 (valor por defecto).
En el primer escenario el clamping queda con más IAE que no hacer nada (2,95 contra 2,61): recorta tanto la integral que la salida llega tarde. En el de perturbación pasa lo contrario: con la regla 2 (T_t\approx0{,}41\ \text{s}) el back-calculation queda con el menor IAE (2,78, contra 3,26 con T_t=T_i). La conclusión del paper: el instantáneo y el condicional van mejor con retardos grandes o poca saturación; el dinámico con un T_t bien escogido, con controladores agresivos y mucha saturación.
6 Ahora tú
7 Ponte a prueba
8 La receta para el día del parcial
- Explica el windup en tres frases: el actuador satura, el lazo queda abierto, la integral sigue acumulando.
- Back-calculation: \dot u_I=K_i\,e+\frac{1}{T_t}(u_{sat}-u_c).
- T_t: clásico T_i; regla 2 con R_S y x.
- Clamping = T_t=T_s. Condicional = congelar mientras satura hacia afuera.
1. «Si el actuador no obedece, la integral no acumula.»
2. Para perturbaciones, T_t menor que T_i.
Responde las siete preguntas para cerrar el taller.
Siguiente: Taller 24 · Simulacro del Parcial 2 →