Regelungstechnik 2 für EIT Teil 1: Einführung in die zeitdiskrete Regelung
Version 1.0 Prof. Dr. David Zogg Institut für Automation IA Hochschule für Technik Fachhochschule Nordwestschweiz Windisch, Januar 2012
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
1/13
Dokumentenkontrolle
Änderungen
Version
Datum
Autoren
Bemerkung
1.0
01.01.2012
David Zogg
Erstellung
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
2/13
1.
Zweck
4
2.
Referenzen
4
3.
Symbolverzeichnis
4
4.
Einführung
5
4.1.
Lernziele
5
4.2.
Praxisbeispiel „Kaffeemaschine“
5
4.3.
Programmierung der Regelstrecke in MATLAB
7
4.4.
Der zeitkontinuierliche Regelkreis (Repetition)
8
4.5.
Programmierung des Regelkreises in MATLAB/Simulink
9
4.6.
Vom zeitkontinuierlichen zum zeitdiskreten Regelkreis
10
4.7.
Programmierung des digitalen Regelkreises in Simulink
11
4.8.
Zusammenfassung
13
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
3/13
1.
Zweck
Das vorliegende Skript dient als Grundlage für das Modul „Regelungstechnik 2“ (rt2) im 6. Semester des Studiengangs Elektro- und Informationstechnik (EIT). Im Modul „Regelungstechnik 1“ (rt1) des 5. Semesters wurde die Auslegung von zeitkontinuierlichen PID- und Zustandsreglern behandelt. Das vorliegende Modul „Regelungstechnik 2“ (rt2) befasst sich nun mit der zeitdiskreten Darstellung. Im vorliegenden ersten Teil wird der zeitkontinuierliche Regelkreis kurz repetiert und eine erste Einführung in die zeitdiskrete Regelung gegeben.
2.
Referenzen
[ 1 ] H. Mann, H. Schiffelgen, R. Froriep: Einführung in die Regelungstechnik, 11. Auflage, Hanser Verlag, München 2009 [ 2 ] M. Reuter, S. Zacher: Regelungstechnik für Ingenieure, 12. Auflage, Vieweg+Teubner Verlag, Wiesbaden 2008 [ 3 ] H. Gassmann: Theorie der Regelungstechnink, 2. Auflage, Verlag Harri Deutsch, Rapperswil/Frankfurt 2003 [ 4 ] H.P. Geering: Regelungstechnik, 3. Auflage, Springer Verlag, Zürich/Berlin 1994
3.
Symbolverzeichnis
e
Regelfehler
G
Strecke (Übertragungsfunktion)
K
Regler (Übertragungsfunktion)
KP
Verstärkung P-Anteil
KI
Verstärkung I-Anteil
KD
Verstärkung D-Anteil
s
Laplace-Operator
TN
Nachstellzeit (I-Anteil)
TV
Vorhaltezeit (D-Anteil)
u
Eingangsgrösse (Stellgrösse, Steuergrösse)
w
Führungsgrösse (Sollwert)
x
Zustandsgrösse
y
Ausgangsgrösse (Messgrösse, Istwert)
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
4/13
4.
Einführung
4.1. Lernziele Lernziel Repetition zeitkontinuierlicher PID-Regler Schritt vom zeitkontinuierlichen zum zeitdiskreten Regelkreis verstehen Zeitdiskreten Regler für Praxibeispiel in MATLAB simulieren können
Taxonomiestufe (Bloom) Anwendung Verständnis Anwendung
4.2. Praxisbeispiel „Kaffeemaschine“ Die wesentlichen Elemente eines Regelkreises sollen anhand der Temperaturregelung einer Kaffeemaschine kurz repetiert werden. Abbildung 1 zeigt die Komponenten der Kaffeemaschine. Das Wasser wird im Thermoblock auf nahezu 100°C erwärmt. Der Thermoblock besteht aus einem wasserdurchflossenen Aluminimumblock mit Heizpatronen und hat im Gegensatz zu einem reinen Durchlauferhitzer eine thermische Trägheit. Der Thermoblock wird beim Einschalten der Kaffeemaschine vorgewärmt, damit die hohe Heizleistung beim nachträglichen Bezug einer Tasse Kaffee zur Verfügung steht. Um einen guten Espresso zu bekommen, sind folgende Punkte zu beachten: • • •
Brühzeit nicht zu kurz, sonst wird der Kaffee zu „wässrig“ Brühzeit nicht zu lange (max. 20 sec), sonst wird der Kaffee „bitter“ Temperatur (ca. 95°C) und Druck (ca. 10 bar) müssen genau stimmen
Für die Temperaturregelung sind folgende Komponenten notwendig: • •
Thermoblock (Aktuator) Temperatursensor
Abbildung 1: Kaffemaschine mit Komponenten
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
5/13
Als „Herz“ enthält die Kaffeemaschine eine Elektronik-Platine mit Mikroprozessor, auf welchem der eigentliche Regler-Code läuft. Dieser Code ist auf einem digitalen System programmiert, welches uns hier speziell interessiert (Abbildung 2).
Abbildung 2: Elektronik-Platine mit Mikroprozessor
Zunächst wollen wir aber die Regelstrecke des Thermoblockes, also der Temperaturregelung, näher betrachten (Abbildung 3).
Abbildung 3: Regelstrecke „Thermoblock“
Die Regelstrecke kann in zwei Bilanzgebiete aufgeteilt werden: • •
Durchfliessendes Wasser Alublock
Beide Bilanzgebiete weisen eine gewisse thermische Trägheit auf (Wärmekapazität * Masse) und sind in „Serie“ geschaltet. Deshalb handelt es sich hier um einen Tiefpass 2. Ordnung (nicht schwingfähig): G ( s) = (1) (2)
b ( s + a1 ) ⋅ ( s + a2 )
&y&(t ) + (a1 + a2 ) y& (t ) + a1a2 y (t ) = b ⋅ u(t )
Gleichung ( 1 ) ist die Übertragungsfunktion im Laplace-Bereich und Gleichung ( 2 ) die Differentialgleichung im Zeitbereich. Die Parameter b, a1 und a2 sind von der realen Regelstrecke abhängig. Weitere typische Übertragungsfunktionen sind im Buch [ 1 ], Seite 115, Tabelle 2.63 angegeben.
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
6/13
4.3. Programmierung der Regelstrecke in MATLAB In diesem Abschnitt soll die Regelstrecke „Thermoblock“ ( 1 ) in MATLAB programmiert und analysiert werden. Dazu werden folgende MATLAB-Befehle verwendet: Funktion Laplace-Operator Regelstrecke
MATLAB-Befehl s = tf(‘s‘) G = b/((s+a1)*(s+a2))
Pole/Nullstellen Bode-Diagramm Nyquist-Diagramm Sprungantwort
pzmap(G) bode(G) nyquist(G) step(G)
Beispiel-Werte b = 10 a1 = a2 = 1
File: RT2_Lektion1_RegelstreckeKaffeemaschine.m Die Outputs sind in der folgenden Abbildung zusammengestellt.
Bode Diagram
Pole-Zero Map
1 Imaginary Axis (seconds-1)
Magnitude (dB)
100 0
Phase (deg)
-100 0 G -90 -180 -2 10
-1
0
10
1
10
0 -0.5 -1 -2
2
10
G 0.5
10
-1.5
-1
-0.5
Nyquist Diagram
Step Response
10
10 G
G 8 Amplitude
Imaginary Axis
5 0 -5
-10 -5
0
Real Axis (seconds-1)
Frequency (rad/s)
6 4 2
0
5 Real Axis
10
0
0
2
4
6
8
Time (seconds)
Abbildung 4: Regelstrecke „Thermoblock“
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
7/13
4.4. Der zeitkontinuierliche Regelkreis (Repetition) Wenn die Regelstrecke „Thermoblock“ ( 1 ) als G bezeichnet wird und der Temperaturregler als K, beschreibt folgendes Signalflussbild den zeitkontinuierlichen Regelkreis. Dabei sind alle Signale zeitkontinuierlich (analog). Dazu gehören die Führungsgrösse w (Solltemperatur), der Regelfehler e (Temperaturabweichung), die Stellgrösse u (Heizleistung), und die Messgrösse y (Ist-Temperatur).
Abbildung 5: Zeitkontinuierlicher (analoger) Regelkreis
Der zeitkontinuierliche Regler K kann z.B. ein PID-Regler sein, welcher folgende Form hat: (3)
∫
u (t ) = K p ⋅ e(t ) + K I ⋅ e(t ) ⋅ dt + K D ⋅
de(t ) dt
mit den Verstärkungen KP für den P-Anteil, KI für den I-Anteil und KD für den DAnteil. Laplace-transformiert gilt die Gleichung ( 4 ), welche mit der Definition der Nachstellzeit TN und der Vorhaltezeit TV in ( 5 ) umgewandelt werden kann. (4)
(5)
KI + KD ⋅ s s 1 K ( s ) = K p (1 + + TV ⋅ s ) TN ⋅ s
K (s) = K p +
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
TN =
KP KI
TV =
KD KP
31.01.2012
8/13
4.5. Programmierung des Regelkreises in MATLAB/Simulink Der zeitkontinuierliche Regelkreis aus Abbildung 5 wird nun in MATLAB/Simulink programmiert, was mit Stellgrössenbeschränkung und entsprechendes Skalierungen auf folgendes Simulink-Signalflussbild führt (die Stellgrössenbeschränkung ist ein wichtiger Schritt zur realitätsnahen Simulation!):
Abbildung 6: Analoger Regelkreis „Temperaturregelung Kaffeemaschine“ in Simulink
File: RT2_Lektion1_AnalogPID_Kaffeemaschine.mdl Es wird der zeitkontinuierliche PID-Block aus der Simulink-Library verwendet:
Abbildung 7: Simulink-Block „PID Kontinuierlich“
Die Sprungantwort auf einen Sprung in der Führungsgrösse w um 50°C ist wie folgt:
Abbildung 8: Sprungantwort auf Führungsgrösse 0 50 (links), Stellgrösse u (rechts)
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
9/13
Die Stellgrössenbeschränkung bei +50 Watt ist deutlich zu erkennen. Das Regelverhalten kann über P-, I- und D-Anteil optimiert werden. Dies ist alles soweit nichts Neues. Nun folgt im nächsten Kapitel aber der Schritt in die digitale Welt.
4.6. Vom zeitkontinuierlichen zum zeitdiskreten Regelkreis Hier wollen wir nun den Schritt in die „digitale Welt“ wagen, welche effektiv auf der Elektronik-Platine (Abbildung 2) realisiert werden kann. Dazu müssen die analogen Signale in digitale Signale gewandelt werden, digital verarbeitet werden, und nachher wieder in analoge Signale zurückgewandelt werden. Das vollständige Signalflussbild mit digitalem Regler ist in folgender Abbildung gezeigt (vgl. Buch [ 1 ], Kapitel 6.1 und 6.2 ab Seite 234).
Abbildung 9: Zeitdiskreter (digitaler) Regler im vollständigen Regelkreis
Die Messgrösse y (Temperatur) aus der Regelstrecke wird über einen Sensor gemessen und über einen Messumformer (MU) in ein normiertes Signal y* gewandelt (z.B. 0..10V). Dieses Signal wird anschliessend analog-digital gewandelt (A/D). Damit wird das Signal zeitlich „abgetastet“, was in der Treppenfunktion yk resultiert (k steht für die Abtastzeitpunkte). Der A/D-Wandler führt aber auch eine betragsmässige Quantisierung durch, da dieser mit einer begrenzten Auflösung arbeitet. Bei einer Auflösung von 16 Bit wird der Bereich von 0..10V in Schritte von der Grösse 10 V/ 215 = 0.305 mV aufgeteilt. Nach der A/D-Wandlung wird der Istwert elektronisch mit dem Sollwert verglichen. Der digitale PID-Regler berechnet zu jedem Abtastzeitpunkt k die entsprechende Stellgrösse uk aus dem Regelfehler e k (bzw. aus den Werten aus der Vergangenheit ek-1). Anschliessend wandelt der Digital-Analog-Wandler (D/A) die Werte uk zu den diskreten Zeitpunkten k wieder in ein (quasi) kontinuierliches Signal uk* um, indem die Werte zwischen den Abtastzeitpunkten einfach auf dem letzten Wert konstant gehalten werden. An-
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
10/13
schliessend wird die Treppenfunktion uk* durch den Aktuator wieder in ein analoges Signal „verschmiert“ (z.B. aufgrund der Trägheit der Heizung).
4.7. Programmierung des digitalen Regelkreises in Simulink In einem weiteren Schritt soll nun das analoge Signalflussbild aus Abbildung 6 mit den Elementen des digitalen Regelkreises ergänzt werden. Dazu wird der analoge PID-Regler durch einen entsprechenden digitalen PID-Reglerblock ersetzt. Zudem wird die Dynamik des Aktuators durch einen Tiefpass mit einer bestimmten Eckfrequenz (hier 50 rad/sec) modelliert. Die Quantisierung im A/D-Wandler wird durch einen entsprechenden Quantisierungsblock mit einer Schrittgrösse von 10/215 (16 bit) realisiert.
Abbildung 10: Digitaler Regelkreis „Temperaturregelung Kaffeemaschine“ in Simulink
File: RT2_Lektion1_DigiztalPID_Kaffeemaschine.mdl Es wird der zeitdiskrete PID-Block aus der Simulink-Library verwendet:
Abbildung 11: Simulink-Block „Discrete PID Controller“ (MATLAB-Version 2011b)
Neben den eigentlichen Regelparametern P, I und D können hier zahlreiche weitere Einstellungen vorgenommen werden. Die wichtigsten sind:
•
Sample time: Hier wählen wir zunächst eine schnelle Abtastzeit von 0.01 sec
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
11/13
•
Output saturation (Tab PID Advanced): Hier setzen wir die Stellgrössenbeschränkung wie beim analogen Fall auf +/- 5 (also +/- 50 Watt)
Die Sprungantwort auf einen Sprung in der Führungsgrösse w um 50°C ist wie folgt:
Abbildung 12: „Digitale“ Sprungantwort auf Führungsgrösse 0 50 (links), Stellgrösse u (rechts)
Makroskopisch sieht die Sprungantwort in Abbildung 12 gleich aus wie in Abbildung 8. Wenn wir die Stellgrösse aber herauszoomen, sehen wir sofort die typische Treppenfunktion:
Abbildung 13: Treppenfunktion in der Stellgrösse u (herausgezoomt). Gelb = Stellgrösse vor dem Aktuator, violett = Stellgrösse nach dem Aktuator
Wir sehen auch deutlich, wie die Stellgrösse nach dem Aktuator durch dessen Dynamik „verschmiert“ wird. Der Aktuator wirkt also wie ein Filter (er ist ja hier durch einen Tiefpass modelliert). Übung: Vergrössern Sie nun allmählich die Abtastzeit und beobachten Sie, was geschieht. Wir vergrössern nun die Abtastzeit massiv, nämlich um den Faktor 10 (Sample time = 0.1 sec). Mit den gleichen Regelparametern wird der Regler zunächst völlig instabil. Wir müssen die Parameter P, I und D jeweils um den Faktor 10 reduzieren!
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
12/13
Auch dann haben wir immer noch instabiles Regelverhalten. Wir müssen nun die Integrationsmethode von „Forward Euler“ auf „Trapezoidal“ stellen. Erst jetzt haben wir eine einigermassen „vernünftige“ Sprungantwort:
Abbildung 14: „Digitale“ Sprungantwort mit vergrösserter Abtastzeit (0.1 sec statt 0.01 sec)
Wir können nun mit den Reglerparametern P, I und D die Sprungantwort optimieren. Wir erreichen aber nicht mehr dieselbe Robustheit wie mit der kleinen Abtastzeit von 0.01 sec! Daraus lernen wir Folgendes:
• •
•
Das Vergrössern der Abtastzeit destabilisiert das System. Die Robustheit nimmt ab. Die Regelparameter müssen angepasst werden, da offenbar die Abtastzeit eine grosse Rolle spielt. Bei einer Vergrösserung der Abtastzeit um den Faktor 10 mussten wir die Regelparameter um den Faktor 10 verkleinern. Die Integrationsmethode hat offenbar einen grossen Einfluss, insbesondere bei grossen Abtastzeiten. Die Methode „Trapezoidal“ ist stabiler als „Forward Euler“.
Zunächst sind diese Erkenntnisse für uns rein phänomenologisch. Wir werden aber im weiteren Verlauf des Unterrichts die Gründe dafür kennenlernen.
4.8. Zusammenfassung Gelerntes Der zeitkontinuierliche PID-Regler wurde repetiert und verstanden. Der Schritt vom zeitkontinuierlichen zum zeitdiskreten Regelkreis wurde prinzipiell verstanden: Es muss eine A/D- und D/A-Wandlung eingeführt werden Das Signal wird «abgetastet» mit bestimmter «Abtastzeit» Wir haben den zeitdiskreten PID-Regler in MATLAB simuliert Wir haben interessante Phänomene kennengelernt. Die Robustheit nimmt offenbar ab. Natürlich möchten wir die Gründe erfahren.
Lernziel erreicht? ☺☺☺ ☺☺☺
☺
Ausblick Verstehen, was «hinter» dem PID-Block in MATLAB steckt Gleichungen des zeitdiskreten PID-Reglers kennenlernen Wie implementiert man so was in der Realität?
RT2, Teil 1, Zeitdiskrete Regelung – Prof. Dr. D. Zogg
31.01.2012
13/13