Simulink Regelkreise
SIMULINK
Regelkreise
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth
Simulink Regelkreise
Inhalt
• Modellierung einer Regelstrecke in Simulink
• Analyse der Streckeneigenschaften in Matlab
• Berechnung von Reglerkoeffizienten in Matlab
• Auslegung eines Beobachters mit Zustandsregler in
Matlab
• Simulation des Gesamtsystems in Simulink und Aus-
wertung der Ergebnisse
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth
Simulink Regelkreise
Ziel der Vorlesung
Wichtig in dieser Vorlesung
• ist nicht ein möglichst optimaler Reglerentwurf
• sondern die Entwurfsmethodik in Matlab an sich
• und das wechselseitige Zusammenspiel zwischen Mat-
lab und Simulink
– Entwurf in Matlab
– Simulation/Validierung in Simulink
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 1
Simulink Regelkreise
Regelstrecke: Gleichstromnebenschlußmaschine
Systemgleichungen:
d IA
Ankerspannung: UA = E A + RA I A + L A ·
dt
Gegenspannung: EA = CE · N · Ψ
dN 1
Drehzahl: = · (MM i − MW )
dt 2πJ
Inneres Drehmoment: M M i = CM · I A · Ψ
Maschinenkonstanten: CE = 2π · CM
LA
Ankerzeitkonstante: TA =
RA
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 2
Simulink Regelkreise
Regelstrecke: Gleichstromnebenschlußmaschine
Maschinendaten
Ankerwiderstand: RA = 250 mΩ
Ankerinduktivität: LA = 4 mH
Nennfluß: ΨN = 0, 04 Vs
Trägheitsmoment: J = 0, 012 kg m2
Motorkonstanten: CE = 236, 8
CM = 38, 2
Ankerzeitkonstante TA = 16 ms
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 3
Simulink Regelkreise
Regelstrecke: Gleichstromnebenschlußmaschine
Signalflußplan der GNM
MW
UA IA MM i ?− N
-e - - - -e - r -
6−
EA 1 1 CM ΨN 1
RA 1 + sTA 2π Js
CE ΨN
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 4
Simulink Regelkreise
Analyse der Regelstrecke (GNM)
Vorbereitende Schritte
• Erstellen einer Initialisierungsdatei mit allen relevanten
Maschinen– und Simulationsdaten
• Erstellen eines Simulink–Blockdiagramms der GNM
• Hinzufügen von Eingangs– und Ausgangssignalen
• Einstellen der Simulationsparameter
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 5
Simulink Regelkreise
Analyse der Regelstrecke (GNM)
Analyse
• in Simulink (Sprungantworten)
• in Matlab mittels der Befehle
[A,B,C,D] = linmod(’sys’[,x,u])
[A,B,C,D] = linmod2(’sys’[,x,u])
[A,B,C,D] = dlinmod(’sys’,TS ,[,x,u])
• mit dem interaktiven Simulink LTI–Viewer
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 6
Simulink Regelkreise
Analyse in Simulink
• Einfügen entsprechender Quellen (Sprung, Rechteck,
Sinus, ...)
• Einfügen entsprechender Senken (OutP ort, T oW orkspace)
• Simulation Starten
• Plotten der interessierenden Zeitverläufe
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 7
Simulink Regelkreise
Analyse in Matlab
• Erzeugen eines LTI–Objekts im Matlab–Workspace:
[A,B,C,D] = linmod(’sys’[,x,u])
• Durchführen der relevanten Analysen mit Hilfe von Be-
fehlen der Control System Toolbox, z.B. impulse, step,
bode, pzmap, nyquist, ...
• Anzeigen charakteristischer Daten, z.B. Einschwing-
zeit, Anstiegszeit, Durchtrittsfrequenz, ...
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 8
Simulink Regelkreise
Analyse mit Simulink Control Design Blockset
• Einfügen von Eingängen und Ausgängen im Simulink
Modell
• Starten des LTI–Viewers aus dem Control Design Block-
set
• Anzeigen charakteristischer Daten, z.B. Einschwing-
zeit, Anstiegszeit, Durchtrittsfrequenz, ...
• Wechsel zwischen verschiedenen Plotvarianten, z.B.
Sprungantwort, PZ–Verteilung, Bodediagramm, ...
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 9
Simulink Regelkreise
Regelungsentwurf–Kaskadenregelung
Kaskadierte Strom– und Drehzahlregelung
• Unterlagerte Stromregelung als PI–Regler ausgelegt
• Überlagerte Drehzahlregelung als PI–Regler ausgelegt
• Messung von Strom und Drehzahl
• Vernachlässigung von EA beim Regelungsentwurf
(Störgröße)
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 10
Simulink Regelkreise
Regelungsentwurf–Stromregelung
Stromregelung
MW
∗
IA U ∗
UA IA MM i N
- e - ?−
A
- -e - - r- -e - r -
6− 6−
IA Strom- 1 EA 1 1 CM Ψ N 1
Regler 1 + sTt RA 1 + sTA 2π Js
CE Ψ N
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 11
Simulink Regelkreise
Regelungsentwurf–Stromregelung
Auslegung nach Betragsoptimum
Streckenübertragungsfunktion:
IA(s) 1 1 1
GI (s) = ∗ = · ·
UA(s) 1 + sTt RA 1 + sTA
LA
Streckenzeitkonstante: T1 = TA = R
A
Stromrichterzeitkonstante: Tσ = Tt
Streckenverstärkung: V = R1
A
UA∗ (s)
1
³ ´
Reglerübertragungsfunktion: GRI (s) = I ∗ (s)−I (s) = VRI sT + 1
A A RI
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 12
Simulink Regelkreise
Regelungsentwurf–Kaskadenregelung
Auslegung nach Betragsoptimum
• Einstellregeln:
T1 LA
TRI = T1 = TA VRI = =
2Tσ V 2Tt
• Reglerübertragungsfunktion:
à !
LA 1
GRI (s) = · +1
2Tt sTA
• Berechnung der Reglerkoeffizienten in separater
Initialisierungsdatei
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 13
Simulink Regelkreise
Regelungsentwurf–Kaskadenregelung
Reglerrealisierung in Simulink
1 V_R 1
Sollwert Reglerausgang
P−Anteil
1
2 V_R/T_n
s
Istwert int_R
I−Anteil
• Implementierung als maskiertes Subsystem
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 14
Simulink Regelkreise
Regelungsentwurf–Drehzahlregelung
Drehzahlregelung
MW
IA∗ UA∗ UA IA MM i N
- e - - e -
N∗ ?−
- -e - - r- -e - r -
6− 6− 6−
N Drehzahl- I
A
Strom- 1 EA 1 1 CM Ψ N 1
Regler Regler 1 + sTt RA 1 + sTA 2π Js
r
CE Ψ N
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 15
Simulink Regelkreise
Regelungsentwurf–Kaskadenregelung
Auslegung nach Symmetrischem Optimum
• Stromregelkreis wird als unterlagertes Teilsystem betrachtet:
IA(s) 1 1
GIers(s) = = ≈
∗ (s)
IA 1 + 2 Tt · s + 2 Tt2 · s2 1 + 2 Tt · s
• Übertragungsfunktion der zu regelnden Gesamtstrecke:
N (s) C M ΨN 1 1 1
GN (s) = ∗ = · = ·
IA(s) 2 πJ · s 1 + 2 Tt · s TS · s 1 + T σ · s
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 16
Simulink Regelkreise
Regelungsentwurf–Kaskadenregelung
Auslegung nach Symmetrischem Optimum
• Festlegung der Reglerparameter:
TS 1 2 πJ
TRN = 4 Tσ = 8 Tt VRN = = ·
2 Tσ 4 T t C M ΨN
• Übertragungsfunktion der drehzahlgeregelten GNM:
N (s) 1 + 8 Tt · s
GN ers(s) = =
N ∗(s) 1 + 8 Tt · s + 16 Tt2 · s2 + 16 Tt3 · s3
• Berechnung der Reglerkoeffizienten in separater
Initialisierungsdatei
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 17
Simulink Regelkreise
Beobachterentwurf
Aufgabenstellung
• Die GNM soll drehzahlgeregelt werden
• Es soll kein Drehzahlsensor verwendet werden
• Die Drehzahl wird durch einen Zustandsbeobachter
geschätzt
• Als Messung liegt der Ankerstrom IA vor
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 18
Simulink Regelkreise
Beobachterentwurf
Entwurfsschritte
• Beobachter State–Space Modell mittels linmod extra-
hieren
• Beobachterpole festlegen (hier D0–Polynom)
• Beobachterrückführmatrix L mittels place bestimmen
• Beobachter State–Space Object mittels estim bestim-
men
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 19
Simulink Regelkreise
Beobachterentwurf
Beobachtergleichungen
u
x̂˙ = (A − LC) x̂ + [B − LD L] ·
y
• Realisierung des Beobachters in einem State − Space
Block in Simulink
• Der Beobachter erhält zwei Eingangsgrößen: u und y
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 20
Simulink Regelkreise
Beobachterentwurf
Störgrößenbeobachter
• Im konventionellen Luenbergerbeobachter verbleibt bei
Störgrößen ein Schätzfehler
• Erweiterung des Luenbergerbeobachters zur Störgrößen-
schätzung
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 21
Simulink Regelkreise
Beobachterentwurf
z
?
F
u r- -?
e-
ẋ xr - y
-e -
B C
6
A
ẑ ẑ˙
? K
F
?
e
e ?
L r e
6−
- -?
e-
x̂˙ x̂r - ŷ
-e -
B C
6
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 22
Simulink Regelkreise
Beobachterentwurf
Gleichungen des Störgrößenbeobachters
x̂˙ = Ax̂ + Bu + Le + Fẑ = (A − L C)x̂ + B u + Ly + Fẑ
ẑ˙ = Ke = −K Cx̂ + K y
ŷ = Cx̂
Vektorschreibweise
x̂˙ A − LC F x̂ B L u
= · + ·
ẑ˙ −KC 0 ẑ 0 K y
h i x̂
ŷ = C 0 ·
ẑ
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 23
Simulink Regelkreise
Beobachterentwurf
Realisierung des Störgrößenbeobachters
• Erstellen der erweiterten Zustandsdarstellung
inkl. Störgrößenschätzung
• Implementierung im State − Space Block in Simulink
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 24
Simulink Regelkreise
Zustandsregelung
Entwurf einer Zustandsregelung
• Die Meßgröße IA wird direkt verwendet
• Die restlichen zwei Zustandsgrößen UA und N werden
dem Beobachter entnommen
• Die Zustandsdarstellung der Strecke wird mittels linmod
generiert
• Der Zustandsreglervektor R wird mittels place bestimmt
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 25
Simulink Regelkreise
Zustandsregelung
Implementierung der Zustandsregelung
• Die beobachteten und der gemessene Zustand werden
zu einem vollständigen Zustandsvektor zusammenge-
faßt (M ux)
• Das Regelgesetz u = KV w − Rx̂ wird aus entsprechen-
den Simulink–Blöcken erzeugt
• Untersuchung des geregelten Gesamtsystems durch Si-
mulation
Vorlesung Matlab/Simulink
Dipl.-Ing. U. Wohlfarth 26