BlockWerk Documentation
PID

PID Controller

Continuous

Le bloc PIDController implémente un régulateur Proportionnel-Intégral-Dérivé standard pour les systèmes d'asservissement en boucle fermée (commande par rétroaction). Il combine trois termes de commande en parallèle pour réguler précisément un procédé : une action proportionnelle pour une réponse immédiate, une action intégrale pour éliminer l'erreur en régime permanent, et une action dérivée pour amortir les dépassements.

Simuler dans BlockWerk

Bac à sable interactif directement dans votre navigateur — aucune installation, moteur WebAssembly.

Simuler dans BlockWerk →

Modèle Mathématique

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)

Approximation numérique discrète :

I[n] = I[n-1] + Ki × e[n] × Δt                              (Euler explicite)
D[n] = (Kd × N × (e[n] - e[n-1]) + D[n-1]) / (1 + N × Δt)  (Filtre Euler implicite)

La fonction de transfert du filtre de la dérivée est Kd × N × s / (s + N), où NN est le coefficient de filtrage. Ce filtre passe-bas évite d'amplifier excessivement le bruit de mesure. Une valeur de NN plus élevée réduit le filtrage (N→∞N \to \infty correspond à une dérivation pure). Les valeurs courantes se situent entre N=10–100N = 10\text{–}100.

Entrées & Sorties

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

Paramètres

Paramètres Label Type Défaut Description
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

Exemples d'Utilisation

Régulation de Température d'un Four

Consigne (200°C) → [+]
                     \
Temp Mesurée  → [-] → Erreur → PIDController (Kp: 2, Ki: 0.05, Kd: 1) → Élément chauffant

Asservissement en Position d'un Servomoteur

Un échelon de position de consigne requiert Kd>0K_d > 0 afin d'éviter que le servomoteur ne dépasse sa position cible et n'oscille autour de celle-ci.

Remarques & Bonnes Pratiques

  • Standard Industriel : La grande majorité des boucles d'asservissement industrielles reposent sur le régulateur PID.
  • Réglage (Tuning) : Commencer généralement par ajuster KpK_p seul (Ki=0,Kd=0K_i=0, K_d=0), ajouter l'action KiK_i pour annuler l'erreur statique, puis KdK_d pour stabiliser et amortir les oscillations.
  • Pas de Simulation : Tous les gains fonctionnent de manière cohérente indépendamment du pas de temps de calcul Δt\Delta t, géré en interne.

Composants Associés