Modellierung eines PID-Reglers: Von der proportionalen Grundlage bis zum vollständigen Rückkopplungsloop
Ein PID-Regler erzeugt ein Steuersignal basierend auf dem Fehler e(t) = Sollwert - Messwert. In seiner einfachsten Form korrigiert die proportionale Komponente u(t) = K_p * e(t) Abweichungen. Zum Beispiel bei der Regelung des Wasserstandes: Wenn e(t) > 0 ist, öffnet sich ein Ventil proportional zum Fehler, wobei das Signal jedoch an maximaler Durchflussmenge begrenzt wird.
Realwelt-Systeme weisen Verzögerungen auf. Bei einem Heizkörper breitet sich die Wärme gemäß der Diffusionsgleichung ∂w/∂t = Δw + f(x,y,t) aus, wobei f die Wärmequelle darstellt. Dies ist ein diffusiver Prozess mit Dämpfung – vergleichbar mit Wellen, die Energie verlieren.
Numerische Simulation der Wärmeleitung
Analytische Lösungen in Mathematica zeigen die Temperaturverteilung:
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}
];
Temperaturwerte in größeren Entfernungen von der Quelle steigen verzögert an. Um Rückkopplung zu simulieren, wechseln wir zur diskreten Zeitbereichsmodellierung mittels FDTD (Finite-Difference Time-Domain).
Grundschritt für die 2D-Wärmeleitungsgleichung:
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}
];
CFL-Stabilitätsbedingung: δt / δx² ≤ 0,25. Simulationen zum Ein- und Ausschalten des Heizers bestätigen die Trägheit des Systems.
Proportionalregler: Persistierender Fehler
P-Regler-Anbindung: Heizleistung = K_p * Clip[Fehler, {0, ∞}]. Bei geringer Heizleistung stabilisiert sich die Temperatur unterhalb des Sollwerts aufgrund von Verlusten. Erhöht man K_p, verkürzt sich die Einschwingzeit, doch verstärken sich Oszillationen – der stationäre Fehler bleibt erhalten.
Graphik zeigt:
- Geringe Leistung: langsamer Anstieg, erreicht Sollwert nicht.
- Hohe Leistung: Oszillationen ohne Konvergenz.
Integralanteil: Beseitigung des stationären Fehlers
Der Integralanteil akkumuliert den Fehler: accError += Fehler; u(t) = K_p Fehler + K_i accError. Damit kompensiert er statische Verluste.
Beispiel mit reduzierter Leistung:
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}
]
];
Die Temperatur nähert sich dem Sollwert ohne Oszillation an.
Derivativer Anteil: Vorhersage von Oszillationen
Der Derivatanteil reagiert auf die Änderungsrate des Fehlers: u(t) = K_p e + K_i ∫e + K_d * de/dt. Er dämpft zukünftige Überschwingungen.
Der vollständige PID-Regler verringert die Anstiegszeit, erfordert jedoch präzise Abstimmung. Zu hohe K_d-Werte führen zu Artefakten.
Vergleich:
- P-allein: langsame Reaktion, persistierender Fehler.
- PI: Konvergenz, mögliche Überschwingung.
- PID: optimale Reaktion, minimale Oszillation.
Formaler Aufbau und mechanisches System
Komplette Formel: u(t) = K_p e(t) + K_i ∫₀ᵗ e(τ) dτ + K_d de/dt.
Für eine Masse m: x''(t) = u(t)/m. Differenzieren des PID vereinfacht ihn: u'(t) = K_i e + K_p e' + K_d e''.
Ohne Regler: konstante u=1 ergibt x(t) = t²/(2m) – parabelförmige Bahn.
Mit P-Regler: e(t) = a - x(t) bildet einen geschlossenen Kreislauf. Die Abstimmung der Koeffizienten ist ein iterativer Prozess, der die Systemdynamik berücksichtigt.
Wichtige Erkenntnisse:
- Der proportionale Anteil liefert die Basisreaktion, hinterlässt jedoch einen stationären Fehler.
- Der Integralanteil beseitigt akkumulierte Abweichungen in trägen Systemen.
- Der Derivatanteil prognostiziert Änderungen und beschleunigt die Stabilisierung.
- Die FDTD-Simulation visualisiert Effekte zur Fehlersuche.
- Stabilität erfordert Erfüllung der CFL-Bedingung und Begrenzung von u(t).
— Editorial Team
Noch keine Kommentare.