BlockWerk Documentación
PID

PID Controller

Continuous

El bloque PIDController implementa un controlador Proporcional-Integral-Derivativo estándar para sistemas de control por retroalimentación en bucle cerrado. Combina tres términos de control en paralelo para regular con precisión un proceso: una acción proporcional para respuesta inmediata, una acción integral para eliminar el error en estado estacionario y una acción derivativa para amortiguar sobreimpulsos.

Simular en BlockWerk

Simulador interactivo en tu navegador — sin instalación, motor WebAssembly.

Simular en BlockWerk →

Modelo Matemático

u(t)=Kp e(t)+Ki∫0te(τ) dτ+Kd ddte(t)u(t) = K_p \, e(t) + K_i \int_{0}^{t} e(\tau) \, d\tau + K_d \, \frac{d}{dt} e(t)

Aproximación numérica discreta:

I[n] = I[n-1] + Ki × e[n] × Δt                              (Euler hacia adelante)
D[n] = (Kd × N × (e[n] - e[n-1]) + D[n-1]) / (1 + N × Δt)  (Filtro Euler hacia atrás)

La función de transferencia del filtro derivativo es Kd × N × s / (s + N), donde NN es el coeficiente del filtro. Este filtro paso bajo previene la amplificación del ruido de medición. Un valor mayor de NN implica menor filtrado (N→∞N \to \infty corresponde a una derivada pura). Los valores típicos oscilan entre N=10–100N = 10\text{–}100.

Entradas y Salidas

Direction ID Label Tipo Status
→ In error Error number Required
→ In reset Reset number Optional
← Out out Output number Output

Parámetros

Parámetros Label Tipo Por defecto Descripción
kp Proportional Gain (Kp) number 1 Controls immediate response to error
ki Integral Gain (Ki) number 0.1 Eliminates steady-state error over time
kd Derivative Gain (Kd) number 0.1 Dampens oscillations by responding to error rate of change
n Filter Coefficient (N) number 100 Derivative filter cutoff frequency. Higher = less filtering
form PID Form select parallel Parallel: u = Kp·e + Ki·∫e + Kd·de/dt. Series: u = Kp·(1 + 1/(Ti·s) + Td·s)·e
min Saturation Min number -1000000000000000 Lower output limit for anti-windup protection
max Saturation Max number 1000000000000000 Upper output limit for anti-windup protection

Ejemplos de Uso

Control de Temperatura de un Horno

Setpoint (200°C) → [+]
                     \
Temp Medida   → [-] → Error → PIDController (Kp: 2, Ki: 0.05, Kd: 1) → Calentador

Control de Posición de un Servomotor

Una señal escalón como posición objetivo requiere Kd>0K_d > 0 para amortiguar el movimiento y evitar que el servomotor sobrepase u oscile alrededor de la posición final.

Observaciones y Buenas Prácticas

  • Estándar Industrial: La gran mayoría de los lazos de control de retroalimentación en la industria emplean controladores PID.
  • Sintonización (Tuning): Generalmente se inicia ajustando KpK_p con Ki=0,Kd=0K_i=0, K_d=0, luego se introduce KiK_i para anular el error en estado estacionario y finalmente KdK_d para mitigar sobreimpulsos.
  • Paso de Simulación: Todas las ganancias operan de manera consistente e independiente del paso temporal Δt\Delta t, que se gestiona internamente.

Bloques Relacionados