Johannes epler Universität Linz Institut für Regelungstechnik und Prozessautomatisierung Prozessautomatisierung 2 Praktikum ẋ = Ax+Bu v u y y = Cx+Du ẇ = Âw+ ˆB u u+ ˆB y y ˆx = Ĉw+ ˆD u u+ ˆD y y ˆx Stand: SS 2017 Markus Schöberl / Hubert Rams
Organisation Ansprechpersonen Bei Fragen zu den Aufgaben stehen Ihnen Markus Schöberl und Hubert Rams zur Verfügung Vor jedem Praktikum werden zwei Tutorien angeboten Die Termine werden zeitgerecht auf der Institutshomepage veröffentlicht Nach Möglichkeit bitte Fragen im Tutorium abklären! Praktikumsdurchführung Das Praktikum wird grundsätzlich in Zweiergruppen absolviert Die Gruppeneinteilung erfolgt in der Vorbesprechung Die Aufgabenstellungen werden zeitgerecht auf der Institutshomepage im Downloadbereich zur Verfügung gestellt Alle PraktikumsteilnehmerInnen müssen mit der Lösung der Aufgabenstellungen vertraut sein Um dies zu überprüfen werden in unregelmäßigen Abständen Einzelaufgaben gestellt Rechnerraum Der Rechnerraum (MT 0404 - Science Park 4 Stock) steht allen PraktikumsteilnehmerInnen zur Verfügung Der Schlüssel kann jederzeit im Sekretariat abgeholt werden Folgende Punkte sind zu beachten: Der Rechnerraum muss nach dem Benützen wieder ordnungsgemäß verlassen und versperrt werden opieren von Software ist Diebstahl Zum Ablegen von Ihren Daten steht Ihnen die und nur die Festplatte mit der Bezeichnung DATA zur Verfügung Bitte legen Sie keine Dateien auf dem Desktop, auf dem Laufwerk C: oder in den Eigenen Dateien ab Für den Erhalt der lokal 1
abgespeicherten Daten können wir keine Garantie abgeben Die Laufwerke werden gelegentlich von den Studentendaten gesäubert, dh bringen Sie ins Praktikum Ihre Daten auf einem Datenträger (USB-Stick, externe Festplatte, CD,) mit Stecken Sie keine dspace-verbindungskabel um! Bei unsachgemäßer Behandlung kann es zur Beschädigung der dspace-arten kommen Sollten die Arbeitsplätze nicht für den Betrieb der Streckensimulatoren vorbereitet sein, so wenden Sie sich bitte an einen der Institutsangestellten Sollten bei den Rechnern technische Gebrechen auftreten, so ist dies ebenfalls am Institut zu melden! Es ist nicht möglich mit den Laborrechnern ins Internet zu gelangen Aktuell ist die Software Maple2015, Maxima15081, Matlab R2016a und dspace56 installiert ontrollieren Sie, ob ihre Dateien kompatibel sind Im Praktikum kann keine Rücksicht auf nicht funktionierende Ausarbeitungen genommen werden, und es ist nicht möglich das Praktikum mit einem privaten Rechner zu absolvieren! 2
Praktikum 1 Identifikation mit parametrischen Modellen und Regelungsnormalform Der erste Teil des ersten PAT 2 Praktikums steht im Zeichen der Identifikation dynamischer Systeme Im Gegensatz zu den nicht parametrischen Methoden, welche in PAT 1 behandelt werden, sollen hier so genannte parametrische Methoden zur Anwendung kommen Dabei geht es darum die oeffizienten einer Übertragungsfunktion zu bestimmen Die Algorithmen beruhen darauf, dass ein zuvor definierter Fehler minimiert wird Dieser Fehler ist im Speziellen als die quadratische Abweichung zwischen einem Modellsignal und dem tatsächlich gemessenen Signal gegeben Ziel ist vor allem die Behandlung und praktische Anwendung von industriell bereits weitverbreiteten Identifikationsverfahren, aber auch die Vermittlung des tieferen Verständnisses dieser Verfahren Die Identifikation soll in 3 Schritten erfolgen: 1 in der Simulation, 2 am Streckensimulator, 3 am realen Modell Dazu ist es notwendig die Verfahren geeignet zu implementieren, sodass sie sowohl in der Simulation als auch am Signalprozessor getestet weden können Neben der Identifikation werden systemtheoretische Untersuchungen und die Berechnung von Normalformen behandelt 11 Matlab-Programme für die Identifikation Im ersten Teil dieses Praktikums sollen die in der Vorlesung vorgestellten Algorithmen zur Identifikation linearer zeitinvarianter Systeme in Matlab/Simulink implementiert werden 3
O = 2 > Praktikum 1 Identifikation 11 Matlab-Programme für die Identifikation Aufgabe 11 Offline- und Online-Identifikation Ein lineares, zeitinvariantes System ist durch seine z-übertragungsfunktion m b i z i G(z) = i=0 n mit a n = 1 a i z i i=0 eindeutig beschrieben Die Identifikation wird nach der Methode der gewichteten kleinsten Quadrate durchgeführt Für den Fehler e wird die Norm verwendet e Q = e T Qe mit Q = diag ( q N,q N 1,,1 ) R N N, 0 < q 1 1 Implementieren Sie in Matlab zwei Programme zur Offline-Identifikation, wobei dem ersten die Berechnung mit den Matrizen und dem zweiten die Berechnung mit den rekursiven Formeln zugrunde liegt Die Programme sollen in der Form G = identoff(u,y,m,n,q,t a ) bzw G = identoffrek(u,y,m,n,q,t a ) mit den Übergabeparametern u y n m q und dem Rückgabeparameter G T a Eingangsfolgenwerte Ausgangsfolgenwerte Nennergrad Zählergrad Gewichtungsfaktor Abtastzeit in s identifizierte Strecke ( tf-objekt) aufgerufen werden können Der Test der Algorithmen gelingt durch Vorgabe einer z-übertragungsfunktion und Simulation 2 Implementieren Sie in Matlab/Simulink den Algorithmus zur Online Identifikation mit Hilfe der gewichteten kleinsten Quadrate als Blockdiagramm apseln Sie das Diagramm in ein Subsystem, das die Ein- und Ausgänge nach Bild 11 aufweist E A 1 @ A J E B E? = J E Bild 11: Simulink-Block zur Online-Identifikation Als Blockparameter sollen der Zählergrad m, der Nennergrad n, das Gewicht q und die Abtastzeit T a verwendet werden Testen Sie Ihre Implementierung anhand verschiedener einfacher Strecken in Simulink 4
Praktikum 1 Identifikation 12 Der Torsionsschwinger 12 Der Torsionsschwinger Bild 12 zeigt den schematischen Aufbau des Labormodells Torsionsschwinger Dabei wird an eine permanenterregte Gleichstrommaschine ein mechanisches System, bestehend aus drei Schwungmassen, die über zwei Torsionsfedern verbunden sind, angekoppelt E ) 4 ) ) ) M M M!! ) E?? G G G! / A E? D I J H = J H E A >, H A D B A @ A H = I I A 5? D M E C A H A I I C Bild 12: Schematischer Aufbau des Torsionsschwingers Unter der Voraussetzung, dass keine Sättigungseffekte auftreten, lautet das mathematische Modell der Gleichstrommaschine i A = 1 L A (u A R A i A k m ω 1 ) ω 1 = 1 Θ 1 (k m i A M Last ) mit der Ankerspannung u A, dem Ankerstrom i A, der Drehwinkelgeschwindigkeit ω 1, der Ankerinduktivität L A, dem Ankerwiderstand R A, der Motorkonstanten k m, dem Trägheitsmoment Θ 1 und dem Lastmoment M Last Das vom Motor erzeugte Moment beträgt demnach M A = k m i A Mit Θ 1, Θ 2 und Θ 3 werden die Trägheitsmomente der drei Stränge und mit c 1 und c 2 die Torsionssteifigkeiten der beiden opplungsfedern bezeichnet Weiters wirken in den Lagern geschwindigkeitsproportionale Reibmomente mit den Reibkoeffizienten d 1, d 2 und d 3 sowie auf die Schwungmasse 2 ein Lastmoment M L 121 Das Labormodell Beim Labormodell wurden nachfolgende Daten experimentell festgestellt L A = 8957µH Θ 1 = 25652 10 6 kgm 2 R A = 6382Ω Θ 2 = 6442 10 6 kgm 2 k m = 41 10 3 Nm/A Θ 3 = 5097 10 6 kgm 2 u A 24V d 1 = 3984 10 6 Nms c 1 = 1719 10 3 Nm/rad d 2 = 0918 10 6 Nms c 2 = 1719 10 3 Nm/rad d 3 = 2397 10 6 Nms 5
Praktikum 1 Identifikation 122 Aufgaben 122 Aufgaben Aufgabe 12 Modellbildung des Torsionsschwingers Die Motorspannung u A dient als Stellgröße, als Ausgangsgröße wird die Winkelgeschwindigkeit ω 3 herangezogen Für die Untersuchungen der ersten beiden Punkte gilt M L = 0 1 Ist das System mit den Zustandsgrößen x T = [i A, ϕ 1, ϕ 2, ϕ 3, ω 1, ω 2, ω 3 ] vollständig erreichbar / vollständig beobachtbar? Führen Sie diese Untersuchungen (mit symbolischen Parametern) in Maple durch 2 Istdas Systemmitden Zustandsgrößenx T = [i A, ϕ 2 ϕ 1, ϕ 3 ϕ 2, ω 1, ω 2, ω 3 ] vollständig erreichbar / vollständig beobachtbar? 3 Den Ausgangspunkt für die folgenden Betrachtungen bildet das Zustandsmodell (des vollständig erreichbaren und beobachtbaren Systems) [ ] ua ẋ = Ax+B y = c T x Implementieren Sie dieses Modell in Simulink unter Verwendung obiger Daten 4 Berechnen Sie die Übertragungsfunktion G(s) mit û A als Eingangsgröße und ˆω 3 als Ausgangsgröße 5 Berechnen Sie die Übertragungsfunktionen G(z) und G # (q) mit T a = 10ms M L Aufgabe 13 Offline- und Online-Identifikation 1 Schalten Sie in Simulink auf das Modell des Torsionsschwingers eine geeignete Impulsfolge auf und ermitteln Sie mit Hilfe der Offline-Identifikationsprogramme die zugehörige z-übertragungsfunktion Vergleichen Sie diese mit der nominellen Übertragungsfunktion 2 Schalten Sie in Simulink auf das Modell des Torsionsschwingers eine geeignete Impulsfolge auf und ermitteln Sie mit Hilfe des Online-Identifikationsprogrammes aus Aufgabe 11 Punkt 2 die zugehörige z-übertragungsfunktion Vergleichen Sie diese mit der nominellen Übertragungsfunktion 6
4 + Praktikum 1 Identifikation 13 Ein elektrisches Netzwerk 13 Ein elektrisches Netzwerk Bild 13 zeigt ein aktives elektrisches Netzwerk mit der Eingangsspannung u E und der Ausgangsspannugu A DerOperationsverstärkerwirdfürdienachfolgendenBetrachtungen als ideal angenommen + 4! + 4 - + 4 " ) 4 # Bild 13: Elektrisches Netzwerk 131 Das Labormodell Die Realisierung dieses Modells beruht auf folgenden Bauteilwerten R 1 = 330kΩ R 3 = 110kΩ R 5 = 100kΩ C 1 = 100nF R 4 = 100kΩ C 2 = 33nF, wobei der Widerstand R 2 als Potentiometer ausgeführt ist und im Bereich von 322kΩ bis 332 kω variiert werden kann 132 Aufgaben Aufgabe 14 Modellbildung des elektrischen Netzwerks 1 Bestimmen Sie das mathematische Modell des elektrischen Netzwerks und implementieren Sie dieses in Simulink Achten Sie darauf, dass die Parameter einfach zu verändern sind 2 Berechnen Sie den Wert von R 2 so, dass für die Eigenwerte λ i des Systems gilt Re(λ i ) = 0 3 Berechnen Sie die Übertragungsfunktion des Systems im s-, z- und q-bereich für T a = 1ms 7
Praktikum 1 Identifikation 14 Realisierung am DSP 4 Berechnen und zeichnen Sie in Abhängigkeit von R 2 die Pol- und Nullstellen der Übertragungsfunktionen 5 Ist das elektrische Netzwerk vollständig erreichbar / vollständig beobachtbar? Aufgabe 15 Offline- und Online-Identifikation Wählen Sie dazu einen Wert für R 2, für den das System BIBO-stabil ist 1 Schalten Sie in Simulink auf das Modell des elektrischen Netzwerks eine geeignete Impulsfolge auf und ermitteln Sie mit Hilfe der Offline-Identifikationsprogramme die zugehörige z-übertragungsfunktion Vergleichen Sie diese mit der nominellen Übertragungsfunktion 2 Schalten Sie in Simulink auf das Modell des elektrischen Netzwerks eine geeignete Impulsfolge auf und ermitteln Sie mit Hilfe des Online-Identifikationsprogrammes aus Aufgabe 11 Punkt 2 die zugehörige z-übertragungsfunktion Vergleichen Sie diese mit der nominellen Übertragungsfunktion 14 Realisierung am DSP Sowohl bei der Identifikation als auch bei der Implementierung von Regelungsaufgaben hat man das Problem, Echtzeitanforderungen erfüllen zu müssen Im Praktikum werden wir ein inzwischen sehr weit verbreitetes System der Firma dspace verwenden, welches es erlaubt, die Algorithmen für den digitalen Signalprozessor (DSP), graphisch unter Matlab/Simulink zu entwickeln Durch den in der Umgebung integrierten C-Codegenerator, C-Compiler und Linker kann aus dem Simulink-Blockschaltbild der Echtzeit-Assemblercode für den digitalen Signalprozessor erstellt werden Um unter Matlab/Simulink auch die am Signalprozessorboard vorhandenen Analog/Digital Converter (ADC) und Digital/Analog Converter (DAC) ansprechen zu können, stellt dspace eine zusätzliche Bibliothek für Simulink zur Verfügung, welche ADC- und DAC- Blöcke enthält, die somit einfach in das Blockschaltbild integriert werden können Auf der Institutshomepage im Downloadbereich finden Sie ein Datenblatt dieses Signalprozessorsystems (dspace DS1104), welches Ihnen einen Einblick in dessen Leistungsfähigkeit und Architektur geben soll 141 Streckensimulator Der Streckensimulator wird dazu verwendet, die mathematischen Modelle der Strecke getrennt von der Stellgrößenaufschaltung (bzw später vom Regler) ablaufen zu lassen Hierzu sollen jeweils 2 Signalprozessorsysteme zusammengeschaltet werden, wobei einer das Eingangssignal bzw das digitale Regelgesetz realisiert und der zweite DSP die Strecke darstellt Der Vorteil gegenüber der reinen Simulation liegt darin, dass dabei die Strecke 8
Praktikum 1 Identifikation 141 Streckensimulator 5 J A A H H A? D A H 2 > 2 = 2 > 2 > 5 J H A? A I E = J H 5 J A A H H A? D A H Bild 14: Zum Streckensimulator asynchron zum Regler ablaufen kann und alle realen Störungen wie Mess- und Quantisierungsrauschen, sowie die Wandlungszeit der A/D- und D/A-Wandler bereits auf das Gesamtsystem wirken Die Computer im Studentenlabor werden nach dem im Bild 14 dargestellten Schema verschaltet Um nun Regler und Simulator gemeinsam betreiben zu können, sind die entsprechenden Aus- und Eingänge des DSP zu verwenden Tabelle 11 gibt Aufschluss über die Belegung der Anschlüsse P1a und P1b des DSP-Boards und darüber, welche Anschlüsse durch das abel miteinander verbunden sind Achtung!! Bitte die Verbindungskabel nicht umstecken!! P1a P1b Verbindungskabel P1a P1b DAC1 DAC2 ADC1 ADC2 DAC3 DAC4 ADC3 ADC4 DAC5 DAC6 ADC5 ADC6 DAC7 DAC8 ADC7 ADC8 ADC1 ADC2 DAC1 DAC2 ADC3 ADC4 DAC3 DAC4 ADC5 ADC6 DAC5 DAC6 ADC7 ADC8 DAC7 DAC8 Tabelle 11: Belegung DSP Schnittstelle Aufgabe 16 Führen Sie für das elektrische Teilsystem des Torsionsschwinger den Grenzübergang L A 0 durch Die so erhaltene algebraische Gleichung kann nach i A gelöst werden Verwenden Sie diese Beziehung, um das vollständig erreichbare und vollständig beobachtbare mathematische Modell des Torsionsschwingers um das elektrische Teilsystem zu reduzieren Implementieren Sie das reduzierte Modell am Streckensimulator Verwenden Sie für die einzelnen Modelle Subsystem-Blöcke, damit Sie diese einfach austauschen können Führen Sie weiters die Offline-Identifikation am Streckensimulator durch Aufgabe 17 Führen Sie die Online-Identifikation für das mathematische Modell des Torsionsschwingers aus Aufgabe 16 am Streckensimulator durch 9
Praktikum 1 Identifikation 15 Die Regelungsnormalform 15 Die Regelungsnormalform Die Eigenwertvorgabe für lineare, zeitinvariante Systeme wird besonders anschaulich und kann auch automatisiert werden, wenn das zu regelnde System in der Regelungsnormalform vorliegt Aus diesem Grund wird ein wichtiger Punkt dieses Praktikums die Transformation auf die Regelungsnormalform sein Dazu betrachten wir in einem ersten Schritt das Eingrößensystem ẋ = Ax+bu mit A = 1 1 0 0 0 1 2 1 1, b = Aufgabe 18 Zeigen Sie, dass dieses System vollständig erreichbar ist Aufgabe 19 Überlegen Sie sich die Vorgehensweise um die Normalformen im Eingrößenfall zu erhalten, welche im PAT2 Skriptum beschrieben ist Aufgabe 110 Normalformen 1 Transformieren Sie das System sukzessive auf die Normalform (27) ẋ 1 a 11 1 0 0 x 1 0 ẋ 2 a 21 a 22 1 0 0 x 2 = 0 0 + u ẋ n 1 a n 1,1 1 x n 1 0 ẋ n a n,1 a n,n x n 1 des PAT2 Skriptums unter Verwendung des beschriebenen Eliminationsalgorithmus Testen Sie ihr Ergebnis auf Plausibilität (Beispielsweise durch Vergleich der charakteristischenpolynome) onstruieren Siein jedemschrittdiematrizen N i, N i,b i, b i und führen Sie ihre Berechnungen in Maple durch 1 1 0 2 Transformieren Sie das System auf die Normalform (28) ẋ 1 a n 1 1 0 0 ẋ 2 a n 2 0 1 0 0 0 0 = 0 ẋ n 1 a 1 0 0 1 ẋ n a 0 0 0 0 x 1 x 2 x n 1 x n 0 0 + 0 1 u des PAT2 Skriptums unter Verwendung der Transformation, welche die einzelnen Eliminationsschritte zusammenfasst Testen Sie ihr Ergebnis auf Plausibilität (Beispielsweise durch Vergleich der charakteristischen Polynome) 10
Praktikum 1 Identifikation 15 Die Regelungsnormalform Der Mehrgrößenfall gestaltet sich im Vergleich zum Eingrößenfall etwas aufwändiger Aufgabe 111 Überlegen Sie sich die Vorgehensweise um die Normalformen im Mehrgrößenfall zu erhalten, welche im PAT2 Skriptum beschrieben ist 11