Theorie

Vom Becken zum Regler

Das Projekt nutzt ein bewusst kompaktes Modell erster Ordnung. Es ist fachlich erklaerbar, diskret simulierbar und gut geeignet, um Regelungstechnik in Python sichtbar zu machen.

Tankmodell

Ein Zustand: der Wasserstand

Der Wasserstand `h(t)` wird als Zustandsmodell erster Ordnung beschrieben. Die effektive Beckenflaeche `A` verbindet Volumenstrom und Aenderung des Wasserstands.

Der freie Ablauf wird als Wurzelkennlinie angenaehert. Die Pumpe wird ueber eine normierte Stellgroesse `u` zwischen 0 und 1 beschrieben.

model.txt
q_out(h)  = c * sqrt(h)
q_pump(u) = u * q_pump_max
0 <= u <= 1

Diskrete Simulation

Euler-Schritt mit fester Abtastzeit

euler_step.txt
h[k + 1] = h[k] + Delta_t * dh_dt

Nach jedem Schritt wird der Wasserstand auf den physikalisch sinnvollen Bereich zwischen 0 m und maximaler Beckenhoehe begrenzt.

PID-Regler

Positiver Fehler bedeutet: Pumpe staerker fahren

Im Projekt ist der Fehler als `e[k] = h[k] - h_set` definiert. Ist der Wasserstand zu hoch, wird der Fehler positiv und die Pumpenleistung steigt.

Der I-Anteil wird begrenzt. Ausserdem pausiert die Integration, wenn die Pumpe bereits an einer Stellgrenze liegt und der Fehler die Saettigung weiter verstaerken wuerde.

pid.txt
u[k] = Kp * e[k]
     + Ki * sum(e[i] * Delta_t)
     + Kd * (e[k] - e[k-1]) / Delta_t