Modelado de un Controlador PID: Desde lo Básico Proporcional hasta el Lazo de Retroalimentación Completo
Un controlador PID genera una señal de control basada en el error e(t) = punto de regulación - valor medido. En su forma más sencilla, la componente proporcional u(t) = K_p * e(t) corrige las desviaciones. Por ejemplo, en el control del nivel de agua: cuando e(t) > 0, una válvula se abre proporcionalmente al error, pero la señal se limita al flujo máximo.
Los sistemas reales presentan retardos. Para un calentador, el calor se propaga según la ecuación de difusión ∂w/∂t = Δw + f(x,y,t), donde f representa la fuente de calor. Este es un proceso difusivo con amortiguamiento—similar a ondas con pérdida de energía.
Simulación Numérica de la Difusión Térmica
Las soluciones analíticas en Mathematica muestran la evolución de la temperatura:
sol = NDSolveValue[
{
D[w[x, y, t], t] == Laplacian[w[x, y, t], {x, y}] +
If[(x + 2)^2 + y^2 < 0.1 && t > 0.0, 100.0, 0],
w[x, y, 0] == 0
},
w,
{x, y} ∈ Rectangle[{-2, -1}, {2, 1}],
{t, 0, 10}
];
La temperatura en puntos lejanos a la fuente aumenta con retraso. Para simular retroalimentación, pasamos a un modelo discreto en el dominio del tiempo usando FDTD (Diferencias Finitas en el Tiempo).
Paso básico para la ecuación de calor 2D:
solveHeat[w_, f_, dt_: 0.0025, dx_: 0.1] := Table[
If[i > 1 && i < 50 && j > 1 && j < 50,
w[[i, j]] + dt (
w[[i - 1, j]] + w[[i, j - 1]] - 4 w[[i, j]] +
w[[i, j + 1]] + w[[i + 1, j]]
)/dx^2 + dt f[i, j],
w[[i, j]]
],
{i, 50}, {j, 50}
];
Condición de estabilidad CFL: δt / δx² ≤ 0.25. Las simulaciones de encendido/apagado del calentador confirman la inercia del sistema.
Controlador Proporcional: Error Persistente
Conexión del controlador P: calentador = K_p * Clip[error, {0, ∞}]. A baja potencia del calentador, la temperatura se estabiliza por debajo del objetivo debido a pérdidas. Aumentar K_p reduce el tiempo de establecimiento, pero amplifica las oscilaciones—y el error en estado estable permanece.
Gráfico muestra:
- Potencia baja: aumento lento, no alcanza el punto de regulación.
- Potencia alta: oscilaciones sin convergencia.
Componente Integral: Eliminando el Error en Estado Estable
El integral acumula el error: accError += error; u(t) = K_p error + K_i accError. Esto compensa las pérdidas estáticas.
Ejemplo con potencia reducida:
Module[{w = Table[0., {50}, {50}], accError = 0.0},
Table[
With[{error = (0.0022 - w[[25, 25]])},
{
heater = 20000.0 Clip[error + 0.001 accError, {0, Infinity}]
},
accError += error;
w = solveHeat[w, Function[{i, j}, If[Max[Abs[{i, j} - {25, 2}]] < 1, heater, 0.0]]];
{{steps, w[[25, 25]]}, {steps, heater/30000.0}}
],
{steps, 1, 3000}
]
];
La temperatura converge al punto de regulación sin oscilaciones.
Componente Derivativa: Prediciendo Oscilaciones
La derivada responde a la tasa de cambio del error: u(t) = K_p e + K_i ∫e + K_d * de/dt. Amortigua sobrepasos futuros.
El PID completo reduce el tiempo de subida, pero requiere un ajuste preciso. Un K_d excesivo introduce artefactos.
Comparación:
- Solo P: respuesta lenta, error persistente.
- PI: convergencia, posible sobrepaso.
- PID: respuesta óptima, mínimas oscilaciones.
Definición Formal y Sistema Mecánico
Fórmula completa: u(t) = K_p e(t) + K_i ∫₀ᵗ e(τ) dτ + K_d de/dt.
Para una masa m: x''(t) = u(t)/m. Derivando el PID lo simplifica: u'(t) = K_i e + K_p e' + K_d e''.
Sin controlador: u constante = 1 da x(t) = t²/(2m)—trayectoria parabólica.
Con controlador P: e(t) = a - x(t) forma un lazo cerrado. Ajustar los coeficientes es un proceso iterativo que considera la dinámica del sistema.
Conclusiones clave:
- El término proporcional proporciona la respuesta base, pero deja error en estado estable.
- El integral elimina la desviación acumulada en sistemas inerciales.
- La derivada predice cambios, acelerando la estabilización.
- La simulación FDTD visualiza efectos para depuración.
- La estabilidad requiere cumplir la condición CFL y limitar u(t).
— Editorial Team
Aún no hay comentarios.