kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




DAY BY DAY zu Regelungs- und Steuerungstechnik für 3-MB und 3-EMo

(EN google-translate)

(PL google-translate)


AKTUELL, Liebe Studierende im Fach Steuer- und Regelungstechnik,...


Am Donnerstag den 11.01.2024 ab 15Uhr im Mechatroniklabor wird es einen Probeetest geben. Die Klausur in elektronischer Form findet dann in der Woche darauf, am Donnerstag dem 18.01.2024 bereits ab 12:30UHR (Gruppe B ab 14Uhr)!!! (GEÄNDERT!) auch im Mechatroniklabor statt. Bitte geben Sie acht, dass Sie keinen Termin verpassen. viele Grüße, Guido Kramann

Vorbemerkung: Generelle Beschaffenheit der Fertigkeiten, die im Studium der Ingenieurwissenschaften erlernt werden

  1. Abstraktion in Hinblick auf eine bestimmte Theorie
  2. Anwendung einer theoretisch fundierten Lösungsmethode auf der abstrakten Ebene
  3. Rücktransformation der abstrakten Lösungsbeschreibung auf das konkrete Problem

Beispiel hier im Fach Regelungstechnik:

  1. Bilden eines mathematischen Modells eines dynamischen Systems
  2. Theoretischer Entwurf eines passenden Reglers
  3. Aufbau und Einbau des Reglers

Übersicht

  • Die vorliegende Seite stellt den Einstiegspunkt für diese Lehrveranstaltung dar und verzeichnet chronologisch die behandelten Inhalte.
  • Aber ein großer Teil der Inhalte findet sich nicht direkt hier, sondern die Seite hier verlinkt auf andere Bereiche von kramann.info.
  • Die Prüfung findet Semester begleitend in elektronischer Form statt (E-Test).

Überblick der zu behandelnden Themen

  1. Einführung in die Grundbegriffe der Regelungstechnik
  2. Labor: Aufbau eines autonomen Vehikels (esp32AV)
  3. Einführung in die Programmierung mit Java / Processing
  4. Labor: Regelungstechnische Versuche mit dem esp32AV
  5. Einführung in die Simulationstechnik mit Scilab
  6. Laplace-Transformation
  7. Lineare Übertragungsglieder
  8. Klassische Auslegungsmethoden für Regelkreise
  9. Polvorgabe zur Auslegung von Regelkreisen

Chronologisches Verzeichnis der im Verlauf des Semesters behandelten Themen


#V1 Mo 25.09.2022 VORLESUNG und ÜBUNGEN

Wie ist die Regelungstechnik entstanden?

Norbert Wiener - Anti-Aircraft Gun ... mit Filmmaterial -- youtube

Worum ging es in dem vorangehenden Film?

Grey Walter's tortoises
Schaltplan von Grey Walters Tortoises.
Autopilot -- youtube
Antiblockiersystem beim Auto (ABS), ab 4'33'' -- youtube

Zentrales Element in der Regelungstechnik ist die (negative) Rückkopplung

Eine negative Rückkopplung und damit ein Regelkreis lässt sich gut am Beispiel eines Fliehkraftreglers erklären:

Dampfmaschine mit Drehzahlregler Modell (Fliehkraftventil) -- youtube
Echte Dampfmaschine im Betrieb mit Fliehkraftregler -- youtube

Wo überall in der technischen Welt sind Ihnen Regelkreise aufgefallen?

Wo überall in nicht-technischen Bereichen tauchen Regelkreise auf?

Einführung in die Grundbegriffe der Regelungstechnik

62_Regelungssysteme/02_Heizregelkreis

Anwendungsbeispiele

Elektrokutsche, Personenkutschfahrt auf kramann.info
15_Einachser -- Einachser auf kramann.info

Hinweise zum Labor am Donnerstag 28.09. in D.2.08 FÜR ALLE GEMEINSAM von 12:20 bis 15:20Uhr.

Beschreibung des verwendeten Systems

siehe: kramann.info/05_esp32AV

Warum wurde für jede Zweiergruppe ein Bausatz vorbereitet?

Warum ist ein solch komplexes System Gegenstand der Laborübungen?

Welche Bedeutung kommt der Simulationstechnik im Zusammenhang mit regelungstechnischen Aufgaben zu?

Beispiel menschliches Gehen:

50_Simulationstechnik/01_Systemtheorie/02_Modell

#L1 Do 28.09.2023 LABOR

siehe: Anleitung zum Bau des esp32AV

#V2 Mo 02.10.2023 Vorlesung


Organisatorisches zur Diskussion: Verschieben einiger Vorlesungstermine auf noch freie Labortermine


Themen:

  1. Einführung in die Simulationstechnik, Motivation
  2. Modellbildung dynamischer Systeme, Beispiel Mensch
  3. Seerosenteich
  4. Euler-Integrationsverfahren
  5. Programmierung einer numerischen Integration nach Euler mit Scilab
  6. Feder-Masse-Schwinger

1. Einführung in die Simulationstechnik, Motivation

50_Simulationstechnik/01_Systemtheorie/01_System

2. Modellbildung dynamischer Systeme, Beispiel Mensch

50_Simulationstechnik/01_Systemtheorie/02_Modell

3. Seerosenteich

50_Simulationstechnik/01_Systemtheorie/04_Seerosen

4. Euler-Integrationsverfahren

50_Simulationstechnik/01_Systemtheorie/05_Eulerintegration

5. Programmierung einer numerischen Integration nach Euler mit Scilab

50_Simulationstechnik/01_Systemtheorie/07_scilab
clear;

k = log(2)

A = 1;

dt=0.5;
index=1;
arrA(index)=A;  //numerische Lösung
arrAG(index)=A; //geschlossene Lösung
arrT(index)=0;
for t=0:dt:5
   A = A + k*A*dt;
   index=index+1;
   arrA(index)=A;
   arrAG(index)=exp(k*(t+dt));
   arrT(index)=t+dt;
end

plot(arrT,arrAG,'bl-',arrT,arrA,'re--');

Code 0-1: Numerische Lösung zum Seerosenteich.

6. Feder-Masse-Schwinger

54_Kinetik/01_Newton/01_LinearSchwinger
clear;

C = 1; // N/m
m = 1; // kg

x = 1;
v = 0;

dt=0.01;
index=1;
arrX(index)=x;  //numerische Lösung
arrV(index)=v; //geschlossene Lösung
arrT(index)=0;
for t=0:dt:5
   xneu = x + v*dt;
   vneu = v -(C/m)*x*dt;
   index=index+1;
   arrX(index)=xneu;
   arrV(index)=vneu;
   arrT(index)=t+dt;
   x=xneu;
   v=vneu;
end

plot(arrT,arrX,'bl-',arrT,arrV,'re--');

Code 0-2: Numerische Lösung Feder-Masseschwinger.

#V3 Mo 09.10.2023 Vorlesung

Themen

  1. Wiederholungen: Regelkreis, DGLS (Differentialgleichungssysteme), Euler-Integrationsverfahren
  2. Abbildung eines Reglers in der Simulation des linearen Feder-Masse-Schwingers
  3. Verwendung des Scilab-eigenen Integrators ODE
  4. Eigenwerte linearer DGLS
  5. Zusammenhang zwischen Eigenwertlage und Reglerauslegung

1. Wiederholungen: Regelkreis, DGLS (Differentialgleichungssysteme), Euler-Integrationsverfahren

62_Regelungssysteme/02_Heizregelkreis
50_Simulationstechnik/01_Systemtheorie/04_Seerosen
54_Kinetik/01_Newton/01_LinearSchwinger
50_Simulationstechnik/01_Systemtheorie/05_Eulerintegration

2. Abbildung eines Reglers in der Simulation des linearen Feder-Masse-Schwingers

3. Verwendung des Scilab-eigenen Integrators ODE

54_Kinetik/01_Newton/04_ODE
m = 1; //kg
C = 1; // N/m

function f = rechteSeite(t,y)
   x=y(1);
   v=y(2);
   f(1)=v;
   f(2)=-(C/m)*x;
endfunction 

dt=0.01;
t=0:dt:10;
y0=[1;0];
t0=0;

y = ode(y0,t0,t,rechteSeite);

plot(t,y(1,:)); //Auslenkung

Code 0-3: Umsetzung für Feder-Masse-Schwinger

k = log(2);

function f = rechteSeite(t,y)
    // dA/dt = k*A
    A = y(1);
    f(1) = k*A;
endfunction

dt = 0.1;
t = 0:dt:7;

y0 = 1; // A0=1m^2
t0 = 0;

yg = exp(k*t);

y = ode(y0,t0,t,rechteSeite);

plot(t,y(1,:),'bl',t,yg(1,:),'re--');

Code 0-4: Aus der Übung: Seerosenteich auch mit ODE

Geregeltes System:
m = 1; //kg
C = 1; // N/m
P = 1.0;
D = 1.0;
// m*x.. = -C*x + FR 
//   x.. = -(C/m)*x + FR/m
//    FR = P*(0-x) + D*(0-v) 
function f = rechteSeite(t,y)
   x=y(1);
   v=y(2);
   FR = P*(0-x) + D*(0-v); 
   f(1)=v;
   f(2)=-(C/m)*x + FR/m;
endfunction 

dt=0.01;
t=0:dt:10;
y0=[1;0];
t0=0;

y = ode(y0,t0,t,rechteSeite);

plot(t,y(1,:)); //Auslenkung

Code 0-5: Einbau eines PD-Reglers

4. Eigenwerte linearer DGLS

62_Regelungssysteme/04_Laplace/01_Eigenwerte

5. Zusammenhang zwischen Eigenwertlage und Reglerauslegung

62_Regelungssysteme/08_Polvorgabe

#V4 Do 19.10.2023 Vorlesung (ab 12:20Uhr im Mechatroniklabor D.2.08)


Konsolidierung des bisher Erlernten in einer umfangreichen Übung


Nachdem in den vorangehenden Lehrveranstaltungen das Hauptgewicht auf der Vermittlung von Theorien lag, soll diese Lehrveranstaltung darauf verwendet werden, das bisher Erlernte durch praktische Übungen zu vertiefen.

Die Aufgaben der drei nachfolgenden Übungsblöcke sollen nacheinander jeweils innerhalb einer halben Stunde gelöst und direkt im Anschluß besprochen werden. Sie beziehen sich auf jeweils unterschiedliche theoretische Inhalte.

Gleichzeitig stellen die Übungen eine Hinführung zum Verständnis der Reglerauslegung durch Polvorgabe dar.

ÜBUNG 1 -- Matrizendarstellung linearer dynamischer Systeme und Bestimmung der Eigenwerte

Aufgabe 1.1 -- Umwandlung in Matrizendarstellung

Die nachfolgende lineare Differentialgleichung zweiten Grades hat in Matrizendarstellung die darunter stehende Form:

$ \ddot x = -\dot x - x + u $

Formel 0-1: Beispiel einer linearen Differentialgleichung. u ist eine von außen auf das System wirkende Stellgröße.


$ \left[\begin{array}{cc}\dot x \\ \dot v\end{array}\right] = \left[\begin{array}{cc}0 & 1 \\ -1 & -1\end{array}\right] \cdot \left[\begin{array}{cc}x \\ v\end{array}\right]+\left[\begin{array}{cc}0 \\ 1\end{array}\right] \cdot u $

Formel 0-2: Die gleiche Differentialgleichung in Matrizenform.


$ \dot \vec y = A \cdot \vec y +B \cdot u $

Formel 0-3: Verallgemeinerte Darstellung des oben stehenden linearen dynamischen Systems.


Die Eigenwerte dieses dynamischen Systems werden allein aus der so genannten Systemmatrix A bestimmt:

$ |A-E \cdot lambda|=0 $

Formel 0-4: Bestimmungsformel für Eigenwerte Labda.


Im konkreten Fall ergibt sich:

$ lamda 1 & 2 = -0.5 +/- i \cdot \frac \sqrt \left(3\right) 2 $

Formel 0-5: Eigenwerte der Systemmatrix A.


Das Ergebnis kann leicht mit Scilab unter Verwendung der Funktion spec() überprüft werden. Im konkreten Fall mit: spec([0,1;-1,-1]).

Da es ein konjugiert komplexes Eigenwertpaar gibt, ist das System schwingungsfähig.

Da auch die am weitesten rechts liegenden Eigenwerte in der linken Halbebene der komplexen Ebene liegen, ist das System stabil.

Wandeln Sie auch die nachfolgenden linearen Differentialgleichungen zuerst in die Matrixform um.

Bestimmen Sie dann jeweils von Hand die Eigenwerte des Systems.

Überprüfen Sie das Ergebnis mit Hilfe von Scilab.

Geben Sie schließlich an, ob das System stabil oder instabil ist und ob es schwingungsfähig ist.

$ \ddot x = -x $

Formel 0-6: Übung 1.1


$ \ddot x = x + u $

Formel 0-7: Übung 1.2


$ \ddot x = -x-2 \cdot \dot x $

Formel 0-8: Übung 1.3


$ \ddot x = -x-2 \cdot \dot x + 2 \cdot F $

Formel 0-9: Übung 1.4


$ \ddot w = -2 \cdot w-3 \cdot \dot w $

Formel 0-10: Übung 1.5


$ \dot x = -x $

Formel 0-11: Übung 1.6


ÜBUNG 2 -- Numerische Integration

Übung 2.1 Schreiben Sie mit Scilab unter Verwendung des Eulerschen Integrationsverfahrens ein Simulationsprogramm, mit dem sich der Verlauf der Zustandsgrößen der folgenden linearen Differentialgleichung bestimmen lässt:

$ \ddot x = -2 \cdot x-0.2 \cdot \dot x $

Formel 0-12: Lineare Differentialgleichung


  • Die Anfangsbedingungen seien: x0=2, v0=0, mit v=dx/dt.
  • Die Simulationsschrittweite sei dt=0.1s.
  • Die Simulationsdauer sei 10 Sekunden.
  • Sowohl der Verlauf von x, als auch der Verlauf von v sollen in einem grafischen Plot dargestellt werden.

Übung 2.2: wie 2.1, aber es soll nun der in der ode()-Funktion bei Scilab integrierte Integrator verwendet werden.

ÜBUNG 3 -- Zustandsregler

Bestimmen Sie die Eigenwerte von:

$ \ddot x = -2 \cdot x $

Formel 0-13: Lineare Differentialgleichung


Das System wird ergänzt durch die Stellgröße u:

$ \ddot x = -2 \cdot x + u $

Formel 0-14: Lineares dynamisches System mit Stellgröße u.


u soll gebildet werden, indem die Summe der Regeldifferenzen zu x und v (v=dx/dt) gebildet werden, jeweils mit den Sollwerten 0, also:

$ u = \left(0-x\right)+\left(0-v\right) $

Formel 0-15: Bilden der Stellgröße u.


Es ist möglich, das so um die konkrete Stellgröße u ergänzte dynamische System auch wieder in Matrixform in folgender Form darzustellen:

$ \dot \vec y = A \cdot \vec y $

Formel 0-16: Formale Darstellung des Zus \tan ds-geregelten Systems.


Bestimmen Sie für das durch den Zustandsregler veränderte dynamische System auch wieder die Eigenwerte und interpretieren Sie das Ergebnis.

#V5 Do 26.10.2023 Vorlesung

Sie haben nun in der vergangenen Woche durch die umfangreiche Übung die nötigen mathematischen Grundlagen vertieft, die die Grundlage für das wohl modernste und wichtigste Verfahren zur Auslegung von Reglern bildet, die so genannte Polvorgabe.

Sie werden nun systematisch in das Verfahren der Polvorgabe eingeführt.

Motivation:

Ein System, das sich gut mit Hilfe eines Zustandsreglers behandeln lässt, ist das invertierende Pendel, das wir an späterer Stelle noch ausführlich behandeln werden:

15_Einachser

Themen im Zusammenhang mit dem Verfahren der Polvorgabe

  1. Gradientenfelder: Visualisierung der dynamischen Eigenschaften eines dynamischen Systems
  2. Einführung in das Verfahren der Polvorgabe
  3. Berechnungsbeispiel zur Polvorgabe
  4. Wo soll man die Polstellen (Eigenwerte) hinlegen? -- Kriterium der Technischen Stabilität
  5. Verwendung der Funktion ppol in Scilab zur Bestimmung der Regelmatrix R
  6. Wie kann ein System behandelt werden, wenn der Sollwert nicht der Nullvektor ist? -- Koordinatentransformation
  7. Berechnungsbeispiel zur Koordinatentransformation

1. Gradientenfelder: Visualisierung der dynamischen Eigenschaften eines dynamischen Systems

Siehe auch: 62_Regelungssysteme/13_Analyse/02_Nichtlinear

Es ist möglich mit Scilab zu visualisieren, in welche Richtung der Systemzustand eines dynamischen Systems strebt an verschiedenen Rasterpunkten im Zustandsraum strebt.

Ein linearer Feder-Masse-Schwinger mit Dämpfung strebt zum Nullpunkt, also in Richtung y=[x;v]=[0;0].

Zunächst die Ihnen bekannte Art der Simulation:

m = 1; //kg
C = 1; // N/m
P = 1.0;
D = 1.0;
function f = rechteSeite(t,y)
   x=y(1);
   v=y(2);
   f(1)=v;
   f(2)=-(C/m)*x -(D/m)*v;
endfunction 

dt=0.01;
t=0:dt:10;
y0=[1;0];
t0=0;
y = ode(y0,t0,t,rechteSeite);
plot(t,y(1,:),t,y(2,:)); //Auslenkung und Geschwindigkeit im Verlauf

Code 0-6: Simulationsbeispiel eines linearen Feder-Masse-Dämpfer-Systems mit konkreten Parametern.

Plot aus obiger Simulation.

Bild 0-1: Plot aus obiger Simulation.

Jetzt das Gradientenfeld zum gleichen Beispiel mittels :

m = 1; //kg
C = 1; // N/m
P = 1.0;
D = 1.0;
function f = rechteSeite(t,y)
   x=y(1);
   v=y(2);
   f(1)=v;
   f(2)=-(C/m)*x -(D/m)*v;
endfunction 

dt=0.01;
t=0:dt:10;
t0=0;

y0=[1;0];
ya = ode(y0,t0,t,rechteSeite);
y0=[0;1];
yb = ode(y0,t0,t,rechteSeite);
y0=[0.5;0.5];
yc = ode(y0,t0,t,rechteSeite);
y0=[-0.5;0.5];
yd = ode(y0,t0,t,rechteSeite);

plot(ya(1,:),ya(2,:),'blu',yb(1,:),yb(2,:),'red',yc(1,:),yc(2,:),'gre',yd(1,:),yd(2,:),'blk');
a = gca();
a.x_label.text = 't/s';
a.y_label.text = 'y';
a.title.text = 'Gradientenfeld';

fchamp(rechteSeite,0,linspace(-1.0,1.0,11),linspace(-1.0,1.0,11));

Code 0-7: Erzeugen einer Darstellung des Gradientenfeldes mittels fchamp.

Plot des Gradientenfeldes aus obigem Skript.

Bild 0-2: Plot des Gradientenfeldes aus obigem Skript.

In obigem Plot sind die Trajektorien von vier Simulationen zu sehen und dazu auch die Richtung, in die der Zustand an den Rasterstellen strebt.

Die Stabilität des Systems lässt sich hier unmittelbar ersehen.

Setzt man die Dämpfung zu Null, wird das System grenzstabil:

Grenzstabiles System: Die Gradienten zeigen Kreisbahnen an.

Bild 0-3: Grenzstabiles System: Die Gradienten zeigen Kreisbahnen an.

2. Einführung in das Verfahren der Polvorgabe

siehe: 62_Regelungssysteme/08_Polvorgabe

3. Berechnungsbeispiel zur Polvorgabe

$ \left[\begin{array}{cc}\dot x \\ \dot v\end{array}\right]=\left[\begin{array}{cc}0 & 1 \\ -1 & 0\end{array}\right] \cdot \left[\begin{array}{cc}x \\ v\end{array}\right] $

Formel 0-17: Gegebenes dynamisches System.


$ lambda_{1 & 2}=-1+/-i $

Formel 0-18: Wunschpolstellen.


4. Wo soll man die Polstellen (Eigenwerte) hinlegen? -- Kriterium der Technischen Stabilität

siehe: 62_Regelungssysteme/07_Einstellregeln/05_Daempfungsgrad
Stabilität allgemein: 62_Regelungssysteme/11_Stabilitaet

5. Verwendung der Funktion ppol in Scilab zur Bestimmung der Regelmatrix R

siehe 62_Regelungssysteme/08_Polvorgabe

6. Wie kann ein System behandelt werden, wenn der Sollwert nicht der Nullvektor ist? -- Koordinatentransformation

7. Berechnungsbeispiel zur Koordinatentransformation

Tafelbild aus dem Unterricht: Auslegen eines Zustandsreglers.
Vorgabe der Regelstrecke und der Wunscheigenwerte.

Bild 0-4: Vorgabe der Regelstrecke und der Wunscheigenwerte.

Bildung der veränderten Systemmatrix A*.

Bild 0-5: Bildung der veränderten Systemmatrix A*.

Bestimmung der Regelmatrix R=[r1,r2].

Bild 0-6: Bestimmung der Regelmatrix R=[r1,r2].

ÜBUNG
function f = rechteSeite(t,y)
   x=y(1);
   v=y(2);
   u=-1*x-2*v;
   f(1)=v;
   f(2)=-x+u;
endfunction 

dt=0.01;
t=0:dt:10;
y0=[1;0];
t0=0;
y = ode(y0,t0,t,rechteSeite);
//plot(t,y(1,:),t,y(2,:)); //Auslenkung und Geschwindigkeit im Verlauf
plot(y(1,:),y(2,:)); //Auslenkung und Geschwindigkeit im Verlauf
fchamp(rechteSeite,0,linspace(-1.0,1.0,11),linspace(-1.0,1.0,11));

Code 0-8: System mit Zustandsregler

A = [0,1;-1,0];
B = [0;1];
r1=1;
r2=2;
R = [r1,r2];

function f = rechteSeite(t,y)
   x=y(1);
   v=y(2);
   f=A*y-B*R*y;
endfunction 

dt=0.01;
t=0:dt:10;
y0=[1;0];
t0=0;
y = ode(y0,t0,t,rechteSeite);
//plot(t,y(1,:),t,y(2,:)); //Auslenkung und Geschwindigkeit im Verlauf
plot(y(1,:),y(2,:)); //Auslenkung und Geschwindigkeit im Verlauf
fchamp(rechteSeite,0,linspace(-1.0,1.0,11),linspace(-1.0,1.0,11));

Code 0-9: System mit Zustandsregler in Matrixform.

#V6 Do 02.11.2023 Vorlesung

Vertiefung zum Zustandsregler am Beispiel des invertierenden Pendels

Themen

  1. Wiederholungen zum Zustandsregler
  2. Das invertierende Pendel, Beispiele für technische Nutzung des Grundprinzips
  3. Herleitung der dynamischen Gleichungen des invertierenden Pendels
  4. Umsetzung des invertierenden Pendels als Scilab-Simulation
  5. Linearisierung des invertierenden Pendels als Vorarbeit zur Anwendung der Theorie des Zustandsreglers
  6. Auslegung eines Zustandsreglers für das invertierende Pendel
  7. Test und Analyse des zustandsgeregelten Systems mit Hilfe von Scilab

Die hier behandelten Inhalte als Aufzeichung einer vorangehenden Lehrveranstaltung, siehe "9 -- Dienstag 21.05.2019 ", insbesondere Bild 0-4 und Bild 0-5, hier:

62_Regelungssysteme/01_day_by_day

Aktuelle Tafelbilder zur Herleitung des invertierenden Pendels:

Tafelbild 1 zum invertierenden Pendel.

Bild 0-7: Tafelbild 1 zum invertierenden Pendel.

Tafelbild 2 zum invertierenden Pendel.

Bild 0-8: Tafelbild 2 zum invertierenden Pendel.

Tafelbild 3 zum invertierenden Pendel.

Bild 0-9: Tafelbild 3 zum invertierenden Pendel.

#V7 Do 09.11.2023 Vorlesung


AKTUELL: Die Vorlesung Regelungstechnik für 3-MB und 3-EMO findet am Donnerstag den 09.11. wie die male davor ab 12:20Uhr im Mechatroniklabor D.2.08 statt (...weil das Laborpraktikum ausfällt!)


Fortsetzung zur Vertiefung des Zustandsreglers am Beispiel des invertierenden Pendels

Themen

  1. Vorstellung der Simulationsgleichungen für das invertierende Pendel
  2. Linearisierung zur Vorbereitung der Berechnung der Eigenwerte
  3. Auslegung des Zustandsreglers mit Hilfe von ppol (Scilab)
  4. Ausregelung des kompletten Zustands, auch der Verschiebung auf der x-Achse
  5. Preview Übertragungsfunktionen und Laplace-Transformation

1. Vorstellung der Simulationsgleichungen für das invertierende Pendel

$ \ddot \phi = \frac {-m \cdot h^2 \cdot \dot \phi ^2 \cdot \sin \left( \phi \right) \cdot \cos \left( \phi \right) + h \cdot m \cdot \sin \left( \phi \right) \cdot g + h \cdot \cos \left( \phi \right) \cdot FA}{J + m \cdot h^2 \cdot \sin \left( \phi \right)^2} \\ $

Formel 0-19: Differentialgleichung für das invertierende Pendel.


2. Linearisierung zur Vorbereitung der Berechnung der Eigenwerte

$ \ddot \phi = \frac {h \cdot m \cdot g \cdot \phi + h \cdot FA}{J} \\ $

Formel 0-20: Linearisierte Differentialgleichung für das invertierende Pendel.


3. Auslegung des Zustandsreglers mit Hilfe von ppol (Scilab)

clear();
disp("Schritt 1: Eigenwerte des linearisierten Systems:");

//  phi.. = phi * mgh/J + FA * h/J

//  =>   phi. = om
//       om.  = phi * mgh/J + FA * h/J

//  =>

m = 1;  //kg
g = 9.81; //m/s^2
h = 0.5; //m
r = 0.1; //m
l = 2*h;
J = 0.25*m*r^2 + (1/12)*m*l; // kg*m^2

A = [0,1 ; m*g*h/J, 0]

B = [0;h/J]

lambda = spec(A);

disp("EW ohne Regler:");
disp(lambda);  //   lambda1/2=  +/- 7.5594729  (instabil)

disp("Schritt 2: Bestimmung der Parameter des Zustandsreglers mit ppol:");

//R=ppol(A,B,EW),   [phi.; om.] = A*y - B*R*y
//(vergl. Kapitel 8 unten)
//Ergebnis überprüfen:
EW = [-1+%i,-1-%i]
R=ppol(A,B,EW)  // == 10.153333    0.3433333  
spec(A-B*R)

disp("Testen des Refglers im Originalsystem: siehe inverspendel_test.sce");

//  FA = -10.153333*phi -0.3433333*om

Code 0-10: inverspendel.sce

clear();
disp("Verwenden der Regelparameter im Originalsystem:");

m = 1;  //kg
g = 9.81; //m/s^2
h = 0.5; //m
r = 0.1; //m
l = 2*h; //m
J = 0.25*m*r^2 + (1/12)*m*l; // kg*m^2

function f = rechteSeite(t,y)
    phi = y(1,1);
    om  = y(2,1);
    f(1,1) = om;
    FA = -10.153333*phi -0.3433333*om;
    N = J + m*h*h*sin(phi)*sin(phi);
    f(2,1) = (-m*h*h*om*om*sin(phi)*cos(phi) + h*m*sin(phi)*g + h*cos(phi)*FA )/N;
endfunction

t = linspace(0,20,3000);
y0 = [0.2,0.1]';
t0 = 0;
y  = ode(y0,t0,t,rechteSeite);

plot(t,y(1,:)',t,y(2,:)');

Code 0-11: inverspendel_test.sce

Anfangsbedingungen im Fangbereich des Reglers: y0 = [0.2,0.1]';

Bild 0-10: Anfangsbedingungen im Fangbereich des Reglers: y0 = [0.2,0.1]';

Anfangsbedingungen außerhalb des Fangbereichs des Reglers: y0 = [0.4,0.1]';

Bild 0-11: Anfangsbedingungen außerhalb des Fangbereichs des Reglers: y0 = [0.4,0.1]';

4. Ausregelung des kompletten Zustands, auch der Verschiebung auf der x-Achse

Die Newtonsche Gleichung in x-Richtung muss nun mit berücksichtigt werden:

$ \ddot x= \frac {FA}{m} \\ $

Formel 0-21: Newtonsche Gleichung in x-Richtung für das invertierende Pendel.


5. Preview Übertragungsfunktionen und Laplace-Transformation

Siehe: 62_Regelungssysteme/04_Laplace nebst Unterkapiteln.

#V8 Do 16.11.2023 Vorlesung ab 15:00Uhr


AKTUELL, Stand 15.11.23: Wegen Bahnstreik, am 16.11. ab 15Uhr über BBB. Link wurde per E-Mail über Moodle verschickt. Ansonsten, soweit nicht anders kommuniziert, findet die Vorlesung Steuer- und Regelungstechnik für das dritte Semester 3-MB und 3-EMO in nächster Zeit immer Donnerstags im Anschluss an das Labor statt, somit um 15:00Uhr, normalerweise im Mechatronik-Labor D.2.08.


THEMA: Laplace-Transformation und Übertragungsfunktionen

62_Regelungssysteme/02_Heizregelkreis -- Wiederholung zu den Komponenten eines Regelkreises.
Laplacetransformation, siehe: 62_Regelungssysteme/04_Laplace nebst Unterkapiteln.
62_Regelungssysteme/04_Laplace/02_PT1 -- Das PT1-Übertragungsglied in der Darstellung im Laplcebereich.
62_Regelungssysteme/04_Laplace/03_PRegler -- Umformregeln im Laplcebereich.
62_Regelungssysteme/04_Laplace/04_Scilab -- Die klassische Darstellung des PID-Reglers im Laplacebereich.
62_Regelungssysteme/07_Einstellregeln/01_Totzeit -- Totzeit und deren Darstellung im Laplacebereich.
62_Regelungssysteme -- Beispiele zu syslin
80_Robuste_Systemintegration/07_Reglerentwurf/03_Systemidentifikation -- Beispiele zu syslin

Übung 1 -- Wandeln Sie jeweils um in den Zeit- bzw. Laplacebereich

1a)

$ \ddot x + 3 \dot x + x = 4 u $

Formel 0-22: Transformieren Sie die lineare Differentialgleichung in den Laplacebereich.


1b)

$ X s^3 + X s - 4 U s^2 = U $

Formel 0-23: Transformieren Sie in den Zeitbereich.


1c)

$ G\left(s\right) = \frac {s^2+1}{s^3+s} $

Formel 0-24: 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-25: 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.

  • Bilden Sie das Gesamtübertragungsverhalten des offenen und des geschlossenen Regelkreises.
  • Transformieren Sie beide danach in den Zeitbereich.
  • Welcher Typ von Regler liegt hier vor?

$ G\left(s\right) = \frac {1}{s^2+5s} $

Formel 0-26: Regelstrecke


$ R\left(s\right) = \frac {1}{s} + 5 + s $

Formel 0-27: 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)

  • Übertragen Sie R(s) und G(s) mit Hilfe von syslin() nach Scilab.
  • Ergänzten Sie Ihr Scilab-Skript so, dass aus R(s) und G(s) das Übertragungsverhalten H(s) des offenen und des geschlossenen Regelkreises Q(s) gebildet werden.

2b)

  • Vervollständigen Sie zwei Varianten des Scilab-Skripts aus 2a) so, dass ein
  • Einheitssprung auf den offenen und den geschlossenen Regelkreis simuliert wird.

2c)

Verdeutlichen Sie sich durch Zeichnen eines Blockschaltbildes:

  • Was ist jeweils Ein- bzw. Ausgang beim offenen und geschlossenen Regelkreis?


#V9 Do 23.11.2023 Vorlesung ab 15:30Uhr im Mechatroniklabor D.2.08

Themen

  1. Wiederholung der Regeln für die Laplace-Transformation
  2. Sprungantwort eines PT1-Übertragungsgliedes mit ode (Darstellung im Zeitbereich) in Scilab
  3. Sprungantwort eines PT1-Übertragungsgliedes mit csim (Darstellung im Laplacebereich) in Scilab
  4. Eigenschaften des PT1-Übertragungsgliedes
  5. Parametrisierung des PT1-Übertragungsgliedes anhand der Sprungantwort
  6. Experimentelle Auslegungsverfahren für Regler: Methode 1 nach Ziegler und Nichols

1. Wiederholung der Regeln für die Laplace-Transformation

Siehe: 62_Regelungssysteme/04_Laplace nebst Unterkapiteln.

1a)

$ \ddot x + 3 \dot x + x = 4 u $

Formel 0-28: Transformieren Sie die lineare Differentialgleichung in den Laplacebereich.


1b)

$ X s^3 + X s - 4 U s^2 = U $

Formel 0-29: Transformieren Sie in den Zeitbereich.


2. Sprungantwort eines PT1-Übertragungsgliedes mit ode (Darstellung im Zeitbereich) in Scilab

clear();

m = 1.0;
C = 1.0;
D = 1.0;

function f = rechteSeite(t,y)
    x = y(1,1);
    v = y(2,1);
    F = 1;
    f(1,1) = v;
    f(2,1) = -(C/m)*x-(D/m)*v+F/m;
endfunction

t = 0:0.01:30;
y0 = [0,0]';
t0 = 0;
y  = ode(y0,t0,t,rechteSeite);

plot(t,y(1,:)');

Code 0-12: Sprungantwort simuliert, Darstellung im Zeitbereich.

3. Sprungantwort eines PT1-Übertragungsgliedes mit csim (Darstellung im Laplacebereich) in Scilab

//
//  x.. + x. + x = F
//
//  Xs^2 + Xs + X = F
//
//  X(s^2+s+1) = F
//
//  X/F = 1/(s^2+s+1)
//

s = poly(0,"s");
G = syslin('c',[1],[s*s+s+1]); //Definition eines PT2-Übertragungsgliedes

t = 0:0.01:30;
z=size(t);
spal = z(2)
u = ones(1,spal);  //PWM-Signal hatte den Wert 4.
y = csim(u,t,G);

plot(t,u(1,:)',t,y(1,:),'red--');

Code 0-13: Sprungantwort simuliert, Darstellung im Laplacebereich.

4. Eigenschaften des PT1-Übertragungsgliedes

62_Regelungssysteme/04_Laplace/02_PT1

5. Parametrisierung des PT1-Übertragungsgliedes anhand der Sprungantwort

ÜBUNG

Versuchen Sie anhand des Plots des unter 2. und 3. simulierten Systems nachträglich die Parameter des PT1-Übertragungsgliedes durch grafische Analyse zu finden. Vergleichen Sie Ihr Ergebnis mit der tatsächlichen Funktion.

Nehmen Sie nachfolgende Übertragungsfunktion als das zu verwendende System:

$ G\left(s\right)= \frac {1}{s+1} $

Formel 0-30: Übertragungsfunktion.


clear();
//
//  G(s) = 1/(s+1)
//
//  X/U = 1/(s+1)
//  X(s+1)=U
//  sX+X=U
//  Zeitber.:
//  x.+x=u
//  x.  = -x +u
function f = rechteSeite(t,y)
    x = y(1,1);
    u = 1;
    f(1,1) = -x+u;
endfunction

t = 0:0.01:10;
y0 = 0;
t0 = 0;
y  = ode(y0,t0,t,rechteSeite);

plot(t,y(1,:)');

Code 0-14: Musterlösung zum ersten Teil.

s = poly(0,"s");
G = syslin('c',[1],[s+1]); //Definition eines PT1-Übertragungsgliedes

t = 0:0.01:10;
z=size(t);
spal = z(2)
u = ones(1,spal);  //PWM-Signal hatte den Wert 4.
y = csim(u,t,G);

g = 0.63*u;

plot(t,u(1,:)',t,g(1,:)',t,y(1,:),'red--');

Code 0-15: Musterlösung zum Laplaceteil: T=1 und K=1.

6. Experimentelle Auslegungsverfahren für Regler: Methode 1 nach Ziegler und Nichols

62_Regelungssysteme/07_Einstellregeln

#V10 Do 30.11.2023 Vorlesung ab 15:30Uhr im Mechatroniklabor D.2.08

Themen

  1. Wiederholungen zur Laplacetransformation / Geschlossener Regelkreis / Störverhalten
  2. Implementierung eines PID-Reglers im Laplace und im Zeitbereich
  3. Das Runge-Kutta Integrationsverfahren
  4. Totzeit
  5. Implementierung von Totzeit im Zeitbereich
  6. Das erste Verfahren nach Ziegler und Nichols

1. Wiederholungen zur Laplacetransformation / Geschlossener Regelkreis / Störverhalten

Laplace Einführung -- 62_Regelungssysteme/04_Laplace
Laplace-Regeln -- 62_Regelungssysteme/04_Laplace/03_PRegler

$ G\left(s\right) = \frac {1}{s^2+2 \cdot s+1} $

Formel 0-31: Beispiel für eine Regelstrecke.


$ R\left(s\right) = \frac {s \cdot 3+1}{1} $

Formel 0-32: Beispiel für einen Regler.


$ Q\left(s\right) = R\left(s\right) \cdot G\left(s\right) $

Formel 0-33: Offener Regelkreis Q\left(s\right).


$ H\left(s\right) = \frac {Q\left(s\right)}{1+Q\left(s\right)} $

Formel 0-34: Geschlossener Regelkreis H\left(s\right).


Störverhalten -- 62_Regelungssysteme/05_Regleroptimierung/07_Stoerverhalten

Hinreichend für Stabilität von Übertragungsfunktionen: Zählergrad kleiner oder gleich Nennergrad und Polstellen in linker Halbebene.


2. Implementierung eines PID-Reglers im Laplace und im Zeitbereich

PID-Regler im Laplacebereich -- 62_Regelungssysteme/07_Einstellregeln/02_Methode1

3. Das Runge-Kutta Integrationsverfahren

Das Runge-Kutta Integrationsverfahren: 30_Informatik3/16_Nuetzliches/03_RungeKutta

4. Totzeit

Totzeit: 62_Regelungssysteme/07_Einstellregeln/01_Totzeit

5. Implementierung von Totzeit im Zeitbereich

6. Das erste Verfahren nach Ziegler und Nichols

Ziegler-Nichols, 1. Methode: 62_Regelungssysteme/07_Einstellregeln/02_Methode1
Übung

Gegeben sei folgendes Übertragungsverhalten, dargestellt als Übertragungsfunktion im Laplacebereich.

$ G\left(s\right)=e^\left(-0.1s\right) \cdot \frac {1}{s^2+s+0.5} $

Formel 0-35: Formel für zweites Übungsblatt Ü4.


  1. Transformieren Sie die Übertragungsfunktion in den Zeitbereich.
  2. Bereiten Sie eine Simulation mit P-Regler für das System im Zeitbereich vor.
  3. Bringen Sie das System mit Hilfe der Simulation in den kritischen Zustand und bestimmen Sie damit die Parameter für einen PID-Regler nach Methode 1 von Ziegler und Nichols.
  4. Testen Sie mit Hilfe einer Simulation das gefundene System mit PID-Regler im Zeitbereich.
  5. Modellieren und simulieren Sie das Gesamtsystem (geschlossener Regelkreis) mittels csim unter Vernachlässigung der Totzeit.
  6. Bestimmen Sie unter Vernachlässigung der Totzeit die Eigenwerte der Regelstrecke von Hand als Postellen der Übertragungsfunktion.
  7. Bestimmen Sie die EW auch aus der Systemmatrix.
  8. Kontrollieren Sie die EW mit Scilab.
  9. Bestimmen Sie die EW der Gesamtübertragungsfunktion des geschlossenen Regelkreises mit Hilfe von Scilab.
  10. Vergleichen Sie die Lagen der Eigenwerte vor und nach Einbau des PID-Reglers und beurteilen Sie das Ergebnis der Reglerauslegung nach der Theorie der Polvorgabe.
clear();

xtot=0;
xtottot=0;

function f=modell(y,t,dt)
       x=y(1,1);
       v=y(2,1);
       einteg=y(3,1); 

       Kkrit = 2.213;//2.25;   
       Tkrit = 3.9;

       K = 0.6*Kkrit;
       TN = 0.5*Tkrit;
       TV = 0.12*Tkrit;

       //R(s) = K*(1+(1/TN*s)+TV*s)
       //R(s) = K + (K/TN)/s + K*TV*s
       //U/E  = K + (K/TN)/s + K*TV*s    
       //U    = K*E + E*(K/TN)/s + E*K*TV*s    
       //u    = K*e + (K/TN)*Integral(e)+(K*TV)de/dt 

       xsoll = 1.0;
       //e     = xsoll - x;
       e     = xsoll - xtot;
       ealt     = xsoll - xtottot;

       //u=Kkrit*e;
       u = K*e + (K/TN)*einteg + (K*TV)*(e-ealt)/dt; 
       
       f(1,1)=v;
       f(2,1)=-x-v+u;
       f(3,1)=e;
endfunction

function yneu=ruku(y,t,dt)
       k1=modell(y,t,dt);
       k2=modell(y+0.5.*dt.*k1,t+0.5*dt);
       k3=modell(y+0.5.*dt.*k2,t+0.5*dt);
       k4=modell(y+dt.*k3,t+dt);
       yneu=y+dt.*(k1+2.*k2+2.*k3+k4)./6;
endfunction

tmax = 60.0;
dt   = 0.01;
schritte = ceil(tmax/dt);

yalt = [0,0,0]';
ysim = yalt;
t=0.0;
tt=t;

Ttot = 0.5;
anztot = round(Ttot/dt)
xtotarr = zeros(anztot,1);

for i=1:1:schritte
    yneu=ruku(yalt,t,dt);   
    yalt=yneu;
    ysim=[ysim,yalt];
    tt  =[tt,t];
    t=t+dt;

    xtottot = xtot;
    xtot = xtotarr(modulo((i-1),anztot)+1);
           xtotarr(modulo((i-1),anztot)+1)=yneu(1);
end

plot(tt,ysim(1,:))

Code 0-16: Einbau des mit Ziegler-Nichols ausgelegten PID-Reglers.

#V11 Do 07.12.2023 Vorlesung ab 15:00Uhr! im Mechatroniklabor D.2.08

Themen

  1. Wiederholungen: Störverhalten / 1. Methode nach Ziegler und Nichols
  2. Übersicht über die bisher bekannten Übertragungsglieder
  3. Die zweite Methode nach Ziegler und Nichols
  4. Stabilität eines dynamischen Systems
  5. Das Bode-Diagramm

1. Wiederholungen: Störverhalten / 1. Methode nach Ziegler und Nichols

2. Übersicht über die bisher bekannten Übertragungsglieder

  1. P, I, D, PD, PI, PID
  2. PT1, PT2, PT3, ...
  3. PTnTt
ÜBUNG
  • Geben Sie Beispiel-Übertragungsfunktionen zu den oben aufgelisteten Typen an Übertragungsgliedern.

3. Die zweite Methode nach Ziegler und Nichols

62_Regelungssysteme/07_Einstellregeln/03_Methode2
ÜBUNG
  • Verwendung der Methode 2 bei der Regelstrecke bei dem bereits verwendeten PT2Tt-System:

$ G\left(s\right)= \frac {1}{s^2+s+1} \cdot e^-0.5s $

Formel 0-36: Regelstrecke & für die der Regler ausgelegt werden soll.


4. Stabilität eines dynamischen Systems

62_Regelungssysteme/11_Stabilitaet

5. Das Bode-Diagramm

62_Regelungssysteme/11_Stabilitaet/04_Bode
ÜBUNG: PID geregeltes System aus Ziegler Nichols Methode 2
s = poly(0,"s");

K = 13.2;
Tn = 0.5;
Tv = 0.125;

G = syslin('c',[1],[1+2*s+s^2]); //Definition eines PT1-Übertragungsgliedes
R = syslin('c',[K*(Tn*s + 1 + Tv*Tn*s*s)],[Tn*s])
Q = G*R; //Offener regelkreis
H = Q/(1+Q);//Geschlossener Regelkreis
t = 0:0.01:10;

z=size(t);
spal = z(2)
w = ones(1,spal);  //Sollwertsprung.
y1 = csim(w,t,H);

y2 = csim(u,t,G);

//plot(t,u(1,:)',t,g(1,:)',t,y1(1,:),'red-',t,y2(1,:),'blu--');
plot(t,y2(1,:),'red-',t,y1(1,:),'blu--');

Code 0-17: Lösung.

#V12 Do 14.12.2023 Vorlesung ab 15:00Uhr! im Mechatroniklabor D.2.08

Themen

  1. Organisatorisches
  2. Stabilität eines dynamischen Systems
  3. Der Frequenzgang
  4. Das Bode-Diagramm und Vereinfachtes Nyquist-Kriterium
  5. Übungen

1. Organisatorisches


Liebe Studierende im Fach Steuer- und Regelungstechnik, ...


Am Donnerstag den 11.01.2024 ab 15Uhr im Mechatroniklabor wird es einen Probeetest geben. Die Klausur in elektronischer Form findet dann in der Woche darauf, am Donnerstag dem 18.01.2024 bereits ab 12:30UHR!!! (GEÄNDERT!) auch im Mechatroniklabor statt. Bitte geben Sie acht, dass Sie keinen Termin verpassen. viele Grüße, Guido Kramann

2. Stabilität eines dynamischen Systems

62_Regelungssysteme/11_Stabilitaet + AUFGABE
62_Regelungssysteme/11_Stabilitaet/01_Beispiele

3. Der Frequenzgang

Man Erhält rechnerisch den Frequenzgang für...

$ G\left(s\right)= \frac {1}{1+s} $

Formel 0-37: PT1


...indem man für s die Größe i*omega einsetzt, mit Omega=2*PI*frequenz.

Die Frequenz kann in einem bestimmten Bereich variiert werden. So erhält man die Amplitudenveränderung und Phasenverschiebung abhängig von der Eingangsfrequenz.

Ein entsprechendes Diagramm heißt Frequenzgang.

62_Regelungssysteme/11_Stabilitaet/02_Nyqusitkriterium

4. Das Bode-Diagramm und Vereinfachtes Nyquist-Kriterium

Das Bodediagramm ist eine besondere, standardisierte Form zur Darstellung des Frequenzganges. Es besteht aus einem Amplituden- und einem Phasendiagramm, wobei beide so unternander dargestellt werden, dass die Ordinaten zueinander passen:

62_Regelungssysteme/11_Stabilitaet/04_Bode

Begriffe:

  • Phasenreserve
  • Amplitudenreserve
  • Dämpfungsgrad
  • Windup-Effekt
62_Regelungssysteme/11_Stabilitaet/03_Windup

Wiederholung: Technische Stabilität


62_Regelungssysteme/07_Einstellregeln/05_Daempfungsgrad
ÜBUNG: Anwendung des vereinfachten Nyquist-Kriterums:
s = poly(0,"s"); 
R = syslin('c',[s+1],[1]);
G = syslin('c',[1],[s^2+2.0*s+2]);
Q = R*G; //offener Regelkreis
H = Q/(1+Q); // geschlossener Regelkreis
bode(Q,0.01,100.0)

Code 0-18: Beispielsystem: PI-Regler mit PT2-Übertragungsglied als Regelstrecke

zieger1_inversesPendel.zip -- Gescheiterter Versuch Ziegler-Nichols1 auf ein Nicht-lineares System anzuwenden.

5. Übungen

Siehe: "Aufgaben (02.06.2014)" hier ganz unten:

62_Regelungssysteme/11_Stabilitaet/04_Bode

Verwenden Sie die gleichen Parameter für das invertierende Pendel, wie bei dessen Einführung.


AKTUELL, Stand 12.01.24:



Der E-Test zu Steuer- und Regelungstechnik 3-MB, 3-EMO findet bereits ab 12:30Uhr (Gruppe B ab 14Uhr) am Donnerstag den 18.01.2024 im Mechatroniklabor D.2.08 statt.