PI Regler - PT1
Inhalt
PI Regler - PT1¶
Mit PT\(_1\) Glieder können viele reale Systeme gut approximiert werden. Dazu zählen Anwendungen in Bereich der Temperatur, Elektrotechnik als auch Mechanische Streken.
PI Regler - Geschwindigkeitsstrecke¶
System
Ein mechanische Antrieb kann mit der Differentialgleichung
beschrieben werden, wobei \(\omega(t)\) eine Rotationsgeschwindigkeit ist. Mit dem Übergang in den Laplacebereich
gewinnen wir die Übertragungsfunktion
welche wir elegant in control
verwenden können.
PI - Regler
Für einen Geschwindigkeitsregler wollen wir einen PI der Form
verwenden. Für die Einstellung des Reglers stehen nun die zwei Parameter \(V_I\) und \(T_I\) zur Verfügung.
Reglerentwurf in control
¶
import control
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')
s = control.TransferFunction.s
# system
V = 10
J = 10
d = 1
Gp = V / (J*s + d)
Gp
# controller
Vi = 1
Ti = 1
Gr = Vi*(1+Ti*s)/s
Gr
# closed loop system
Tyr = Gp*Gr/(1+Gp*Gr)
Tyr
def sim(Vi = 1, Ti = 1, Tend=25):
"""simulate closed loop system"""
Gr = Vi*(1+Ti*s)/s
Tyr = Gp*Gr/(1+Gp*Gr)
t = np.linspace(0,Tend,1000)
plt.figure(figsize=(12,6))
y,t = control.matlab.step(Tyr,t)
plt.plot(t,y)
In einem aktiven Jupyter Notebook kann ein Regler elegant ausgelegt werden.
Warnung
ipywidgets funktionieren nur in einem Jupyter Notebook mit aktiven Python Kernel. Im Jupyter Book (Html) werden ipywidgets darum nicht angezeigt.
# does not work in html sites, you need a running Python kernel.
import ipywidgets as widgets
widgets.interact(sim,Vi = (0.0,5,0.01),Ti=(0.0,5,0.05));
sim(Vi=2,Ti=1)