Day by Day
(EN google-translate)
(PL google-translate)
Nachfolgend wird chronologisch verzeichnet, welche Inhalte in den Einzellehrveranstaltungen im Fach Regelungstechnik für den Bachelor Maschinenbau im Wintersemester 2021/22 behandelt wurden.
#1 Montag 26.09.2021
Teil 1: Grundbegriffe in der Regelungstechnik
Was ist Kybernetik? -- youtubeNorbert Wiener Wikipedia
Norbert Wiener - Men, Machines, and the World About Them (1950), siehe 18'20'' -- youtube
Norbert Wiener - Anti-Aircraft Gun ... mit Filmmaterial -- youtube
Grey Walter's tortoises
62_Regelungssysteme/02_Heizregelkreis
Beispiele für Regelkreise
Unterschied - Regelung Steuerung erklärt anhand von zwei Beispielen15_Einachser -- Einachser auf kramann.info
Elektrokutsche, Personenkutschfahrt auf kramann.info
Dampfmaschine mit Drehzahlregler Modell (Fliehkraftventil) -- youtube
Echte Dampfmaschine im Betrieb mit Fliehkraftregler -- youtube
Autopilot -- youtube
Antiblockiersystem beim Auto (ABS), ab 4'33'' -- youtube
Regelstrecken mit und ohne Ausgleich
Regelstrecken MIT Ausgleich -- youtubeRegelstrecken OHNE Ausgleich -- youtube
Teil 2: Einführung in die Mikrocontroller-Programmierung mit dem Arduino-Micro -- Übersicht
02_WS2021_22/01_RTS/99_Material -- Material (Entwurf) für die Laborversuche.https://store.arduino.cc/products/arduino-micro
Arduino IDE Download (Entwicklungsumgebung)
96_Arduino -- Arduino Micro auf kramann.info
45_Mikro17 -- Teilweise auf Arduino Micro abgestimmte Mikrocontroller-Vorlesung auf kramann.info
40_Mikrocontroller/06_UART -- serielle Schnittstelle
40_Mikrocontroller/04_PWM -- Darstellung, was ein PWM-Signal ist, wie es erzeugt und wie es programmiert wird.
Teil 3: CAE (Computer Aided Engineering) Werkzeug "Scilab" (ähnlich zu Matlab)
https://www.scilab.org/download/6.1.1 -- Scilab Download37_Scilab -- Scilab Einführung auf kramann.info
54_Kinetik/01_Newton/04_ODE -- Numerische Simulation eines linearen dynamischen Systems mit Scilab
#2 Montag 04.10.2021
Teil 1: WIEDERHOLUNGEN und Ergänzungen
|
37_Scilab
50_Simulationstechnik/01_Systemtheorie/07_scilab (Verwendung von Schleifen in Scilab)
Teil 2: Das Verzögerungsglied erster Ordnung (PT1-Übertragungsglied)
Tafelrechnung heute: Untere Integrationsgrenze des linken Integrals gleich Null, liefert aber etwas ungleich Null. Das wurde von mir übersehen, darum nachfolgende korrigierte Fassung:
Bild 0-1: Geschlossene Lösung der linearen Differentialgleichung eines PT1-Übertragungsgliedes für eine Sprungantwort mit u=u0=const.>0. a1,a0 sind konstante positive Parameter.
|
Teil 3: Demonstration der Ausstattung für das Heimlabor
|
#3 Montag 11.10.2021
Zu heute sollten Sie alle die Boxen mit dem Equipment für die Laborversuche und einem Laptop mit der Arduino IDE und Scilab dabei haben (1 Satz pro Zweiergruppe reicht).
|
Hinweise zum praktischen Teil dieser Lehrveranstaltung:
|
Vorschau zu den nächsten Themen, die behandelt werden:
|
Versuch #1: Installation der Arduino IDE auf dem eigenen Laptop
Versuch #1 steht an dieser Stelle. Alle weiteren Versuche folgen hier nachfolgend als Unterkapitel hinter day_by_day.
Bitte laden Sie die aktuelle Version der Arduino-Entwicklungsumgebung (Arduino IDE) unter nachfolgendem Link für Ihr Betriebssystem herunter und folgen Sie den Installationsanweisungen, bzw. verfahren Sie wie üblich:
Bereits in früheren Lehrveranstaltungen habe ich Videos erstellt, in denen die notwendigen ersten Schritte gezeigt werden:
Es folgen die Videos (als "nicht gelistet" auf youtube hochgealden und mit OBS-Studio erstellt):
Teil1 Um was geht es in den Videos?: https://youtu.be/hirAbmhThvA
Teil2 Download und Installation der Arduino IDE: https://youtu.be/BxzIk0RVjCc
Teil3 Erstellen, kompilieren und übertragen eines ersten Programms: https://youtu.be/s9a2o1YyruY
Installieren Sie vorbereitend auf nachfolgende Lehrveranstaltungen gleich auch Scilab:
Bringen Sie Ihren Laptop mit der installierten Arduino IDE und die Box mit dem Versuchsequipment mit in die Lehrveranstaltung am Montag den 11.10.
#4 Montag 18.10.2021
Teil 1: Numerische Integration der Differentialgleichung eines PT1-Übertragungsgliedes
Im allgemeinen ist es nicht möglich Differentialgleichungen geschlossen zu lösen, die im Zusammenhang regelungstechnischer Systeme auftauchen.
Jedoch ist es meistens möglich Differentialgleichungen numerisch zu lösen.
Ausgehend von einer Anfangsbedingung y0 zum Zeitpunkt t0 wird dann mit Hilfe der durch die DGL repräsentierten Steigung der Wert von y nach einem endlichen aber kleinen Zeitschritt Dt bestimmt, also der Wert y(t0+Dt). Dieser ist dann wieder Ausgangspunkt für den nächsten Schritt und so weiter.
Da hier im Prinzip die Sekandetensteigung benutzt wird, gibt es einen kumulativen numerischen Fehler, der durch den Einsatz mehr oder weniger geschickter numerischer Verfahren einmal größer und einmal kleiner ausfallen kann.
Die einfachste numerische Integrationsmethode, aber auch die schlechteste, wasn den numerischen Fehler anbelangt, ist das Eulersche Integrationsverfahren.
Dieses soll im folgenden auf die Differetialgleichung eines PT1-Übertragungsgliedes angewendet werden und der Verlauf der sich ergebenden Kurve mit der der geschlossenen Lösung vergleichen werden.
Die theoretische Herleitung folgt hier. Die praktische Umsetzung erfolgt dann mit Scilab.
Ist eine Differentialgleichung so darstellbar, dass links alleine die erste Ableitung der Zustandsgröße steht und rechts eine beliebige stetig differenzierbare Funktion von y und der Zeit t (s.u.), so läßt sich das Euler-Integrationsverfahren anwenden:
$ \dot y=f\left(y & t\right) \\ $
Formel 0-1: Differentialgleichung ersten Grades. \left(Das &-Zeichen ist ein Formatierungsfehler. Dort müßte ein Komma stehen\right)
Hierzu wird für das Differential links der Differenzenquotient ersertzt:
$ \frac {y\left(t+ \Delta t\right)-y\left(t\right)}{ \Delta t}=f\left(y & t\right) \\ $
Formel 0-2: Differential durch Differenzenquotient ersetzt. \left(Das &-Zeichen ist ein Formatierungsfehler. Dort müßte ein Komma stehen\right)
Nun kann nach y zum Zeitpunkt t+Dt aufgelöst werden und schon erhält man das Grundschema des Eulerschen Integrationsverfahrens, bei dem der Neue Wert sich immer aus dem alten plus Dt mal der aktuellen Steigung ergibt.
$ y\left(t+ \Delta t\right)=y\left(t\right)+f\left(y\left(t\right) & t\right) \cdot \Delta t \\ $
Formel 0-3: Grundschema für das Euler-Integrationsverfahren.
Dies soll für den Spezialfall eines PT1-Übertragungsgliedes angewendet werden, bei dem zunächst einfach alle Parameter auf 1 gesetzt sind:
$ \dot y + y = 1 $
Formel 0-4: Beispiel-Differentialgleichung
$ \frac {y\left(t+ \Delta t\right)-y\left(t\right)}{ \Delta t}=1-y \\ $
Formel 0-5: Differential durch Differenzenquotient ersetzt.
$ y\left(t+ \Delta t\right)=y\left(t\right)+\left(1-y\left(t\right)\right) \cdot \Delta t \\ $
Formel 0-6: Nach dem neuen y-Wert aufgelöst.
Spielen wir das Ganze zunächst von Hand durch:
vorgegebene Anfangsbedingungen: t0 = 0 DT = 0.1s y(t0) = 0 ------------------------------- ERSTER Integrationsschritt y(t0 + 1*DT) = y(t0) + (1-y(t0))*DT = 0 + (1-0)*0.1 = 0.1 ------------------------------- ZWEITER Integrationsschritt y(t0 + 2*DT) = y(t0+1*DT) + (1-y(t0+1*DT))*DT = 0.1 + (1-0.1)*0.1 = 0.19 usw.
Code 0-1: Numerische Integration obiger DGL von Hand.
ÜBUNG: Bestimmen Sie den dritten Integrationsschritt.
Nun soll ein Scilab-Programm geschrieben werden, das uns die Arbeit abnimmt und noch einen Plot erzeugt:
clear t0 = 0; Dt = 0.1; y0 = 0; y_alt = y0; //Zum Daten sammeln: TT = t0; YY = y0; for t=Dt:Dt:10 y_neu = y_alt + (1-y_alt)*Dt; YY = [YY,y_neu]; TT = [TT,t]; //Vorbereitung für den nächsten Integrationschritt: //Aus dem jetzigen y_neu wird im nächsten Schtritt //das y_alt: y_alt = y_neu; end plot(TT,YY); //siehe help axes_properties a = gca(); a.x_label.text = 't/s'; a.y_label.text = 'T/GradCelsius (Beispiel)'; a.title.text = 'PT1-Übertragungsglied numerisch integriert';
Code 0-2: Scilab-Programm, das die Euler-Integration durchführt, die Daten sammelt und danach plottet.
Bild 0-2: Diesen Plot liefert obiges Programm.
Übung
Bei realen Systemen ist es oft notwendig, Modellparameter aus einem Plot zu ermitteln, bei dem die Zustandsgröße über die Zeit dargestellt ist.
Nehmen Sie einmal an, Sie erhalten obigen Plot und gehen davon aus, dass es das Ergebnis ist, das sich für y im zeitlichen Verlauf ergibt, wenn man an den Eingang für u einen Einheitssprung setzt, also u=const.=1 setzt. Was sich dann ergibt, ist die so genannte Sprungantwort des Systems.
Wir gehen hier davon aus, dass ein PT1-Übertragungsglied vorliegt. Und das hat die allgemeine Form:
$ \frac {T}{K}\doty+ \frac {1}{K}y=u $
Formel 0-7: Differentialgleichung \left(DGL\right) des PT1-Übertragungsgliedes.
Die Parameter sind hier anders als in unserer vorangehenden Berechnung zu K und T substituiert.
|
Und wir wissen auch bereits, dass die geschlossene Lösung bei einem Sprung am Eingang als Inhomogenität die folgende geschlossene Lösung liefert:
$ y\left(t\right)=u_0 \cdot K \cdot \left(1-e^\left(-t/T\right)\right) \\ $
Formel 0-8: Geschlossene Lösung obiger DGL & wenn u=u0=const. gilt.
Ferner können in einem Plot dann die Parameter K und T einfach abgelesen werden. Hier sieht man wie:
Bild 0-3: Ablesemöglichkeit der Parameter K und T.
|
Teil 2: Vorbesprechung des ersten Testats
Mit Hilfe der in Teil 1 gewonnenen Informationen soll nun unter der Annahme, dass auch unsere Regelstrecke auf dem Mikrocontroller einem PT1-Übertragungsglied entspricht, hierfür die Parameter T und K ermittelt werden.
Was sollen Sie tuen?:
Gehen Sie dazu bitte folgendermaßen vor:
|
Wie erfolgt die Abgabe des Testats?
|
Das .zip-File soll ein Datenblatt, ein Video und alle Scilab-Skripte und Berechnungen enthalten, die Sie generiert haben.
Späteste Abgabe ist ein Tag vor der übernächsten Veranstaltung, also Sonntag, 31.10. 00:00Uhr.
Das Datenblatt soll eine Zusammenfassung ihrer Ergebnisse enthalten und Sie identifizieren. Darum soll es folgende Daten enthalten:
|
Das Video kann einfach mit dem in der Hand gehaltenen Handy gemacht sein. Es dient nur der Bekräftigung der Glaubwürdigkeit, dass Sie in der Gruppe selbstständig gearbeitet haben. Das Video soll ohne Schnitt ablaufen und folgendes enthalten, bzw. so ablaufen:
|
Bitte nutzen Sie die LV, um ggf. Verständnisschwierigkeiten bzgl. der Aufgabe zu klären.
#5 Montag 25.10.2021
Die heuteige LV findet ohne Boxen in IWZ204 statt, aber die am 01.11. wieder im PC-Pool IWZ140 mit Boxen
Bisher haben Sie als einzigen Reglertyp den Zweipunktregler kennengelernt. Der hat die schlechten Eigenschaften, das er zu Schwingungsverhalten führt und Sprungstellen aufweist. In der klassischen linearen Theorie der Regelungstechnik werden aber lineare Regler bevorzugt eingesetzt und auch die Regelstrecken werden dort linearisiert.
Es ist nicht so einfach, diese linearen Reglertypen ohne Laplace-Transformation zu behandeln, aber Laplace-Transformation zu behandeln ist auch schwierig, darum machen wir beides, aber mit praktischen Beispielen.
Ein ähnliches Dilemma stellt sich ein, wenn man nach einem leicht verständlichen Auslegungsverfahren für eine Regler schaut. Die erste Methode nach Ziegler und Nichols ist zwar einfach, setzt aber Totzeit in der Regelstrecke voraus. Diese ist zwar bei realen Systemen immer gegeben, jedoch ist deren Verwendung in Scilab wieder etwas umständlich. Auch hier werden wir uns der Sache Schritt für Schritt nähern und immer wieder klären, was nun wirklich wichtig ist und was nur notwendige Workarrounds sind.
Thema 1: Funktionen in Scilab
37_Scilab/03_Funktionenclear; function y=quadrat(x) z = x.*x; //jedes Element wird quadriert. y = 2*z; endfunction quadrat(9) u = quadrat([1,2,3,4,5,6,7,8,9]) disp(u);
Code 0-3: Beispiel aus dem Unterricht.
Thema 2: Vergleich zwischen Runge-Kutta-Integrator und Euler-Integrationsverfahren
30_Informatik3/16_Nuetzliches/03_RungeKuttaThema 3: Numerische Simulation eines PT1-Übertragungsgliedes mittels Runge-Kutta in Scilab
Scilab bietet fertige Integratoren an, die besser sind, als das Euler-Integrationsverfahren, wie die ode-Funktion. Jedoch muß man dafür die zu simulierende Differentialgleichung, oder das zu simulierende Differentialgleichungssystem in die passende Form bringen. Man kann aber auch selber bessere Integrationsverfahren in Scilab formulieren, als das Euler-Verfahren. Diesen Weg nehmen wir zuerst.
Beispiele, wo die ode-Funktion benutzt wird, finden Sie hier:
62_Regelungssysteme/07_Einstellregeln/01_Totzeit -- Implementierung und Verwendung des Runge-Kutta-Verfahrens in Scilab.
Thema 3: Was ist Totzeit und wie kann man sie in Scilab behandeln?
62_Regelungssysteme/07_Einstellregeln/01_TotzeitThema 4: Erste Regler-Entwurfsmethode nach Ziegler und Nichols
62_Regelungssysteme/07_Einstellregeln/02_Methode1Thema 5: PT1Tt-Übertragungsglied für das ein P-Regler ausgelegt werden soll.
Übung
|
Thema 6: P-, PD-, PI- und PID-Regler
Wir werden die klassische Form des PID-Reglers aus dem Laplace-Bereich zunächst in den Zeitbereich transformieren und dann versuchen einen Regelkreis mit P, PD, PI und PID-Regler zu modellieren und zu simulieren.
Thema 7: Laplace-Transformation (light)
62_Regelungssysteme/04_Laplace#5 Montag 01.11.2021
Thema 1: Besprechung des Testats
02_WS2021_22/01_RTS/06_Testat1_LoesungThema 2: Methode 1 nach Ziegler und Nichols für die Heizregelstrecke aus dem Testat
#6 Montag 08.11.2021
Hinweis 1: Montag 15.11.2021 findet wieder OHNE Boxen in IWZ204 statt.
Hinweis 2: Für Studierende, die die Testate nicht oder unvollständig gemacht haben, biete ich unter der Voraussetzung, dass sie die Klausur bestehen einen Nachtermin an.
Sollten Sie sprachliche Probleme haben, fragen Sie aktiv nach. Ich wiederhole gerne wichtige Teile der Vorlesung auf Englisch.
Desweiteren können Sie Textpassagen hier aus day_by_day oder an anderen Stellen auf kramann.info in Ihre eigene Sprache mit deepL übersetzen lassen:
FORTSETZUNG DER ÜBUNG Methode 1 nach Ziegler und Nichols für die Heizregelstrecke aus dem Testat
Temperatur_ZieglerNichols.zip -- Unvollständiger Zwischenstand, wie er letzte Woche während einer ersten Diskussion des Themas entstanden war.Ziel der Übung: Anwendung der Methode 1 nach Ziegler und Nichols auf die Heizregelstrecke aus dem ersten Testat.
Nachfolgend finden Sie einige Hinweise zum Vorgehen. Bitte lesen Sie diese Hinweise sorgfältig durch.
Allgemeines
|
Konkrete Hinweise zur Umsetzung der Aufgabe
|
Im Fall des Systems aus dem ersten Testat taucht das spezielle Problem auf, dass wir nicht ohne weiteres ein negatives Stellsignal u erzeugen können. Machen Sie sich dies zunächst in der Gruppe klar und fragen bitte nach, falls Sie das nicht verstehen.
Um diesem Problem zu begegnen, dass keine Kälte, sondern nur Wärme als Stellsignal erzeugt werden kann, wird nun folgender "Trick" angewendet:
Wir verschieben den Arbeitspunkt beim Stellsignal nach oben.
Konkret: Die neutrale Position für u wird nicht mehr damit gleichgesetzt, dass keine Wärme erzeugt wird, sondern sie wird auf einen mittleren Wert der Wärmezufuhr nach oben verlegt. Anstatt also das Stellsignal u mit der mittleren Spannung UU gleichzusetzen, die auf den Heizwiderstand gegeben wird, soll gelten: UU = a*u + b. Dabei sind a und b konstante positive Werte.
Zudem wird das schon im Testat aufgetauchte Vorgehen beibehalten, dass auch die Regelgröße y nicht einfach mit der gemessenen Temperatur TT gleichgesetzt wird, sondern es muß diejenige Raumtemperatur Toffset voher von TT abgezogen werden, die sich ergibt, wenn UU=b ist (vergl. oben). Es soll also gelten: y = TT - Toffset.
Desweiteren gilt es zu beachten: Die Möglichkeit die erzeugte Wärme einzustellen, ist darauf beschränkt, ein so genanntes Pulsweiten moduliertes Signal (PWM) auf den Gate-Eingang des Leistungs-MOSFETs zu geben, das im Zahlenbereich 0 bis 255 liegen kann. Naheliegenderweise wird deshalb nicht mehr die Wärme oder die elektrische Spannung als Stellsignal angesehen, sondern dieses PWM-Signal. Und um damit die Sache mit dem Arbeitspunkt zu realsieren, wie sie weiter oben beschrieben wird, setzt man sinnvollerweise PWM=127 als Arbeitspunktverschiebung, also u = -127...+127, aber PWM = u+127.
Praktisch wird das PWM-Signal mit Hilfe der Funktion analogWrite(...) auf den Heizwiderstand gebracht. Wird nun vorausgesetzt, dass PWM einen Wert enthält, der zwischen 0 und 255 liegt, dann steht in der loop-Funktion irgendwo: analogWrite(9,PWM); und damit die LED ebenfalls die aktuelle Höhe des Stellsignals als Helligkeit anzeigt, kann noch ergänzt werden: analogWrite(10,PWM);
Vergewissern Sie sich in Vorversuchen, dass bei PWM=0 die LED nicht leuchtet und der Heizwiderstand nicht warm wird, bzw. das der Fall ist für PWM=255.
Zusammenfassung und Veranschaulichung der besherigen Ausführungen
Die besondere Leistung Norbert Wieners bei der Begründung der modernen Regelungstechnig lag auch in der wichtigen Erkenntnis, dass in ihr nur Beziehungen zwischen Eingangs- und Ausgangssignalen formuliert werden, ohne Rücksicht auf die dahinterstehenden physikalischen Größen.
... und genau dafür finden Sie in dieser Übung nun ein praktisches Beispiel. Anstatt dass wir uns darauf versteifen, in die Regelstrecke Wärme als Stellsignal einzubringen und die Temperatur als Regelgröße anzusetzen, betrachten wir beides als Signale und führen eine Vorverarbeitung dieser Signale durch. Dies geschieht so weit, dass wir am Ende als Stellsignal für die Regelstrecke ein u verwenden, das zwischen -127 und 128 liegt und dem um -127 verschobenen PWM-Signal entspricht. Und anstatt direkt die Temperatur so zu nehmen, wie sie der Sensor liefert, wird ersatzweise ein Wert verwendet, von dem erst noch die Temperatur abgezogen wird, die sich nach einiger Zeit einstellt, wenn man u=0, d.h. PWM=127 setzt. Dies alles wird nachfolgend noch in ein Bild gefasst:
Bild 0-4: Veransschaulichung zu der vorangehenden Beschreibung
Weitere Hilfestellungen
|
Greifen Sie auf alle Angaben zur Schaltung und zu Programmiertechniken zurück, die bereits hier ausgeführt wurden:
02_WS2021_22/01_RTS/02_Versuch003
02_WS2021_22/01_RTS/02_Versuch004
02_WS2021_22/01_RTS/02_Versuch005
02_WS2021_22/01_RTS/06_Testat1_Loesung
Zusatzaufgabe
|
Zusatzaufgabe 2 / Variante der ganzen Übung hier
Das Einstellen des kritischen Zustandes ist bei dem hier vorliegenden sehr langsamen Prozeß etwas mühselig.
Eine Alternative besteht darin, eine Sprungantwort aufzuzeichnen und das zweite Verfahren nach Ziegler und Nichols zu verwenden.
Gerade weil wir schon gesehen haben, dass die Sprungantwort eine Wendestelle hat, bietet sich dieses zweite Verfahren hier an:
Beachten Sie dabei:
|
Heute sollen Sie sich vor allem das Vorgehen mit der Mikrocontroller-Hardware klarmachen. Kommende Woche werden wir die Daten mit Scilab auswerten.
#7 Montag 15.11.2021 (und #8 Montag 22.11., sowie #9 Montag 29.11. mit Scilab in IWZ140)
Teil 1: Ziegler-Nichols mit Heizregelung
02_WS2021_22/01_RTS/07_Ziegler_Nichols62_Regelungssysteme/07_Einstellregeln/02_Methode1
62_Regelungssysteme/07_Einstellregeln/03_Methode2
Teil 2: Einführung in die Laplace-Transformation
62_Regelungssysteme/04_Laplace62_Regelungssysteme/04_Laplace/03_PRegler
Fortsetzung Laplace-Transformation
Regeln
|
Beispiele
|
Wichtig:
|
PT2-Übertragungsglieder
54_Kinetik/01_Newton/02_Daempfung -- Linearer Feder-Masse-Dämpfer-Schwinger54_Kinetik/01_Newton/04_ODE -- Modellierung und Simulation im Zeitbereich
62_Regelungssysteme/01_day_by_day -- Modellierung und Simulation unter Angabe der Übertragungsfunktion mit syslin
Eigenwerte == Polstellen der Übertragungsfunktion
62_Regelungssysteme/04_Laplace/01_Eigenwerte -- Eigenwerte des linearen Feder-Masse-Dämpfer-SchwingersDämpfungsgrad
62_Regelungssysteme/07_Einstellregeln/05_DaempfungsgradPolvorgabe
62_Regelungssysteme/08_Polvorgabe64_Regelungssysteme/13_Analyse/01_Linear -- Polstellen plotten mit plzr, s.u.
Im Unterricht entstanden:
m = 1.0; // kg C = 1.0; // N/m D = 0.1; // Ns/m FA = 0; // N // m*a = -C*x -D*v + FA , [x]=m, [v]=m/s // x. = v // v. = ( -C*x -D*v + FA )/m function f = rechteSeite(t,y) x = y(1); v = y(2); f(1) = v; f(2) = ( -C*x -D*v + FA )/m; endfunction t = 0:0.01:15; y0 = [1,0]'; t0 = 0; y = ode(y0,t0,t,rechteSeite); plot(t,y(1,:)',t,y(2,:)');
Code 0-4: Linearer Schwinger simuliert.
Anfangsbed. Null, aber FA=1N:
m = 1.0; // kg C = 1.0; // N/m D = 0.1; // Ns/m FA = 1; // N ### geändert ### "Einheitssprung" // m*a = -C*x -D*v + FA , [x]=m, [v]=m/s // x. = v // v. = ( -C*x -D*v + FA )/m function f = rechteSeite(t,y) x = y(1); v = y(2); f(1) = v; f(2) = ( -C*x -D*v + FA )/m; endfunction t = 0:0.01:60; y0 = [0,0]'; // ### geändert ### //Anfangsbedingungen auf Null gesetzt t0 = 0; y = ode(y0,t0,t,rechteSeite); plot(t,y(1,:)',t,y(2,:)');
Code 0-5: Anfangsbed. Null, aber FA=1N:
..jetzt durch Angabe der Übertragungsfunktion simuliert:
clear; m = 1.0; // kg C = 1.0; // N/m D = 0.1; // Ns/m FA = 1; // N ### geändert ### "Einheitssprung" // m*a = -C*x -D*v + FA , [x]=m, [v]=m/s // x. = v // v. = ( -C*x -D*v + FA )/m //s als Argument für ein Polynom definieren: s = poly(0,"s"); //Übertragungsfunktion definieren: G = syslin('c',[1],[m*s*s + D*s + C]); t=[0:0.01:60]; zs=size(t) u=FA*ones(1,zs(2)); y=csim(u,t,G); plot2d(t,y); //plzr(G);
Code 0-6: Schwinger mittels syslin simuliert.
Deckungsgleiche Simulation im Zeitbereich:
m = 1.0; // kg C = 1.0; // N/m D = 0.1; // Ns/m FA = 1; // N ### geändert ### "Einheitssprung" // m*a = -C*x -D*v + FA , [x]=m, [v]=m/s // x. = v // v. = ( -C*x -D*v + FA )/m function f = rechteSeite(t,y) x = y(1); v = y(2); f(1) = v; f(2) = ( -C*x -D*v + FA )/m; endfunction t = 0:0.01:60; y0 = [0,0]'; // ### geändert ### //Anfangsbedingungen auf Null gesetzt t0 = 0; y = ode(y0,t0,t,rechteSeite); //plot(t,y(1,:)',t,y(2,:)'); //Nur Auslenkung plotten: plot(t,y(1,:)','gre--');
Code 0-7: Deckungsgleiche Simulation im Zeitbereich
#10 Montag 06.12.2021
Nicht vergessen: heute 12:30Uhr online, s. Moodle ;-)
Zur Konsolidierung der doch recht vielen neuen Inhalte, soll die heutige Unterrichtseinheit mit einer Übung beginnen. Im Anschluß beginnen wir damit, die Bedeutung von Eigenwerten zur Auslegung der Regler für lineare dynamische zu ergründen.
Übung 1 -- Wandeln Sie jeweils um in den Zeit- bzw. Laplacebereich
1a)
$ \ddot x + 3 \dot x + x = 4 u $
Formel 0-9: Transformieren Sie die lineare Differentialgleichung in den Laplacebereich.
1b)
$ X s^3 + X s - 4 U s^2 = U $
Formel 0-10: Transformieren Sie in den Zeitbereich.
1c)
$ G\left(s\right) = \frac {s^2+1}{s^3+s} $
Formel 0-11: Transformieren Sie in den Zeitbereich. Eingang sei U & Ausgang sei X.
1d)
$ G\left(s\right) = \frac {s^2+1}{s^3+s} $
Formel 0-12: Transformieren Sie in den Zeitbereich. Eingang sei U & Ausgang sei X.
1e) Nachfolgend sind die Laplace-Transformierten einer Regelstrecke G(s) und eines Reglers R(s) dargestellt.
|
$ G\left(s\right) = \frac {1}{s^2+5s} $
Formel 0-13: Regelstrecke
$ R\left(s\right) = \frac {1}{s} + 5 + s $
Formel 0-14: Regler
Übung 2 -- Umsetzung regelungstechnischer Systeme mit Scilab
Nehmen Sie sich erneut das System von 1e) vor.
Hinweis: Orientieren Sie sich bei der Umsetzung der folgenden Aufgabe an dem Scilab-Skript von letzter Woche ("Schwinger mittels syslin simuliert.", s.o.)
2a)
|
2b)
|
2c)
Verdeutlichen Sie sich durch Zeichnen eines Blockschaltbildes:
|
#11 Montag 13.12.2021
Einführung in die Eigenwerttheorie im Zusammenhang mit linearen regelungstechnischen Problemen
62_Regelungssysteme/04_Laplace/01_Eigenwerte -- Eigenwerte des linearen Feder-Masse-Dämpfer-SchwingersDämpfungsgrad
62_Regelungssysteme/07_Einstellregeln/05_DaempfungsgradPolvorgabe
62_Regelungssysteme/08_Polvorgabe62_Regelungssysteme/13_Analyse/01_Linear -- Polstellen plotten mit plzr, s.u.
Übungsaufgaben
#1
Gegeben sei ein linearer Schwinger mit Dämpfer. Dessen Parameter lauten:
|
|
Je nach Ihrer eigenen Einschätzung, würden Sie obige Aufgabe selbsttätig lösen, oder aber gemeinsam im Unterricht, um sie dann im Anschluß erneut selber mit veränderten Parametern durchzurechnen.
Veränderte Parameter für einen zweiten Durchgang durch alle Übungsschritte:
|
#12 Montag 03.01.2022
Bitte beachten Sie die Hinweise zur Prüfung und die Übungsaufgaben auf Moodle.
|
Thema 1: Wiederholung zur Bedeutung von Eigenwerten bei linearen dynamischen Systemen
62_Regelungssysteme/04_Laplace/01_Eigenwerte -- Eigenwerte des linearen Feder-Masse-Dämpfer-SchwingersThema 2: Polvorgabe. Eine Eigenwert-basierte Methode zur Auslegung von Regelkreisen
62_Regelungssysteme/08_Polvorgabe64_Regelungssysteme/13_Analyse/01_Linear -- Polstellen plotten mit plzr, s.u.
62_Regelungssysteme/11_Stabilitaet
62_Regelungssysteme/07_Einstellregeln/05_Daempfungsgrad -- Technische Stabilität eines Regelkreises
Beispiel zu Polvorgabe
Bild 0-5: Ein linearer Schwinger soll mit einem Zustandsregler versehen werden. Dieser greift über die externe Kraft F in das System ein.
Bild 0-6: Das geregelte System soll seine Eigenwerte bei -1+i und -1-i haben. Die Ermittlung passender Parameter r1 und r2 der Regelmatrix R erfolgt mittels Koeffizientenvergleich.
Übung
$ \ddot x = -x -0.5 \dot x + F $
Formel 0-15: Was ergibt sich für r1 und r2 bei einer so veränderten Systemgleichung \left(Dämpfung eingeführt\right) & wenn die Sollpole gleich bleiben?
Thema 3: Hinweise und Vorbereitungen zur Prüfung
Bitte beachten Sie die Hinweise zur Prüfung und die Übungsaufgaben auf Moodle.
95_ETEST
Die Aufgaben bei Moodle konzentrieren sich auf die regelungstechnische Theorie. In der Prüfung wird dieser Teil etwas reduziert zugunsten von Aufgaben und Fragen zu Scilab, Laplace-Transformation und zur technischen Realisierung eines Regelkreises mittels eines Mikrocontrollers, wie im Testat.
Wie können diese weiteren Aufgaben aussehen? -- Beispiele:
1) Schreiben Sie die Systemmatrix in Scilab-Schreibweise folgender Differentialgleichung hin:
$ \ddot x = -x -\dot x + u $
Formel 0-16: DGL
2) Formulieren Sie die Übertragungsfunktion zu obigem System (x Output / u Input) mittels syslin in Scilab-Syntax.
3) Unter der praktischen Umsetzung zu Ziegler-Nichols, finden sich folgende Codezeilen:
... y = 0.1*(YYY[0]+YYY[1]+YYY[2]+YYY[3]+YYY[4]+YYY[5]+YYY[6]+YYY[7]+YYY[8]+YYY[9]); e = ysoll-y; e_integ = e_integ + e*0.1; //DT=0.1 Sekunde u = K*(e+e_integ/TN); PWM = (int)(u + 127.5); if(PWM<0) PWM=0; if(PWM>255) PWM=255; ...
Code 0-8: Mittels Ziegler-Nichols ausgelegte Heizregelung
Sie finden das vollständige Programm hier:
Erklären Sie jede dieser Codezeilen.
Was müßte man ändern, wenn nur ein P-Regler mittels ZN ausgelegt würde, aber sonst alles gleich bliebe? Geben Sie dabei auch den genauen Wert an, der sich dann für den Verstärkungsfaktor K ergibt (siehe Originalquelltext).
4) Verständnisfragen:
|
#13 Montag 10.01.2022
Beachten Sie die aktualisierten Hinweise zur Prüfung (Moodle / Mail über Moodle).