Regelungs- und Steuerungs- und Simulationstechnik 4EIT 4MT WING im Sommersemester 2023
(EN google-translate)
(PL google-translate)
|






#1 Do 23.03.2023
Motivation
Wir sind umgeben von komplexen dynamischen Systemen


Steuerungen
|
Geregelte technische Geräte und Komponenten
|
Was bedeutet Regelung im Vergleich zu Steuerung? -- Beispiele aus der Technik



Autonomes Fahren Level 1 bis 5

Regelkreise in lebenden Systemen
|
Warum wird ein CAE-Tool (Computer added engineering) eingesetzt (Scilab)?
...und brandneu: Was bringt die Kombination mit ChatGPT?
Aufgabe für ChatGPT: Die Differentialgleichung dx/dt=x soll numerisch mit Hilfe des Euler-Integrationsverfahrens integriert werden. Es gelte: x(t=0s)=1. Es sollen 10 Integrationsschritte in einer Schrittweite von 0,1s durchgeführt werden. Damit wäre die Integrationszeit nach dem 10. Schritt bei 1,0 Sekunden. Schreiben Sie ein Scilab-Programm, das diese Aufgabe erledigt.
//Hier ist das Scilab-Programm, das die Differentialgleichung numerisch mit dem Euler-Integrationsverfahren löst: // Set the initial condition x0 = 1; // Set the number of integration steps and the step size n = 10; dt = 0.1; // Create arrays to store the time and solution values t = 0:dt:dt*n; x = zeros(1, n+1); x(1) = x0; // Perform the Euler integration for i = 1:n x(i+1) = x(i) + dt * x(i); end // Plot the results plot(t, x) xtitle('Numerical Solution of dx/dt = x', 'Time (s)', 'x') //Das Programm gibt das Ergebnis als Grafik aus, die die numerische Lösung von x(t) gegen die Zeit t darstellt.
Code 0-1: Antwort von ChatGPT
Teil 1: Behandlung einführender Fragestellungen
|






Hinweis auf die besondere Bedeutung und Notwendigkeit der Visualisierung, wenn es um das Verstehen von Simulationsergebnissen geht.

Teil 2: Einführung in Scilab



Teil 3: Scilab und ein erstes Simulationsmodell








Übung mit Scilab
Die Methode inv(...) ermöglicht es Matrizen zu invertieren und so lineare Gleichungssysteme zu lösen.
Beispielsweise kann folgendes LGS wie folgt mit Scilab gelöst werden:
$ \left[\begin{array}{cc}19 \\ 43\end{array}\right] = \left[\begin{array}{cc}1 & 2 \\ 3 & 4\end{array}\right] \cdot \left[\begin{array}{cc}x \\ y\end{array}\right] $
Formel 0-1: Lösung wäre: x=5 & y=7.
A=[1,2;3,4]; b=[19;43]; xy = inv(A)*b
Code 0-2: Lösung mit Hilfe von Scilab.
Lösen Sie folgende LGS mit Hilfe von Scilab:
$ \left[\begin{array}{cc}-26 \\ -12\end{array}\right] = \left[\begin{array}{cc}-1 & 2 \\ 3 & 4\end{array}\right] \cdot \left[\begin{array}{cc}x \\ y\end{array}\right] $
Formel 0-2: LGS2
$ \left[\begin{array}{cc}26 \\ 62 \\ 98\end{array}\right] = \left[\begin{array}{cc}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{array}\right] \cdot \left[\begin{array}{cc}x \\ y\end{array}\right] $
Formel 0-3: LGS2
#2 Do 30.03.2023
Themen
|
1. Wiederholung: Grundelemente eines Regelkreises

2. Wiederholung: Matrizenoperationen mit Scilab



3. Systemtheorie -- Die Begriffe System, Modell und Modell-Verifikation



4. Scilab und ein erstes Simulationsmodell



Im Unterricht entstandene Lösungen zur numerischen Integration der DGL des Seerosenteiches
clc; clear; mode(0); n=604800; m=n+1; t=0:1:n; y=zeros(1,m); for i=1:m y(i)=exp((1/872542)*(i-1)); end //----------------------- y1=zeros(1,m); y1(1)=1; for i=(2:m) y1(i)=y1(i-1)+(1/872542)*y1(i-1); end plot(t,y1) plot(t,y,'re--')
Code 0-3: Studentische Lösung
clear; dt = 60; woche = 7*24*60*60 tmax = woche*9 //Simulationsdauer in Sekunden schritte = floor(tmax/dt); t = 0:dt:tmax; k = 1/872542; y = exp(t*k); plot(t,y) A = 1; Aerg = zeros(1,1); Aerg(1,1) = A; //A0 ii=2; for i=dt:dt:tmax Aneu = A + k*A*dt; Aerg(1,ii) = Aneu; A = Aneu; ii=ii+1; end plot(t,Aerg,'re--')
Code 0-4: Variante
5. Übungen
Die Übungen werden in die Entwicklung des Seerosenteichmodells mit eingeflochten:
|
#3 Do 13.04.2023
Themen:
|
1. Wiederholung Euler-Integrationsverfahren
Siehe Übung 1
2. Einführung des Newtonschen Gesetzes als theoretische Grundlage für die Modellierung dynmaischer mechanischer Systeme

In Worten: "Die Impulsänderung eines starren Körpers ergibt sich aus der Summe der an ihn angreifenden äußeren Kräfte."
3. Einführung des Feder-Masse-Dämpfer-Schwingers
und 4. Einführung des in Scilab verfügbaren Integrators ODE



// mx.. = -cx -Dx. // // dx/dt = v // dv/dt = (-C/m)*x + (-D/m)*v //1. gespeicherte Variablen löschen clear; //2. Parameter definieren m = 1; //kg C = 1; // N/m D = 0.2; // Ns/m //3. Anfangsbedingungen setzen: x0 = 1; // m v0 = 0; // m/s //4. Zeitschrittweite und Anfangszeit festlegen dt = 0.01; // s t0 = 0; // s tend = 3; // s //5. Arrays vorbereiten, um die Daten Zeitschritt für Zeitschritt zu sammeln: t_sammel(1) = t0; x_sammel(1) = x0; v_sammel(1) = v0; //6. Iteratives Euler-Integrations-Verfahren x_alt = x0; v_alt = v0; i=1; for t=dt:dt:tend x_neu = x_alt + v_alt*dt; v_neu = v_alt + ((-C/m)*x_alt + (-D/m)*v_alt)*dt; i=i+1; t_sammel(i) = t; //Daten speichern x_sammel(i) = x_neu; v_sammel(i) = v_neu; x_alt = x_neu; v_alt = v_neu; end plot(t_sammel,x_sammel,t_sammel,v_sammel);
Code 0-5: Simulationsprogramm für den Feder-Masse-Dämpfer-Schwinger.
// mx.. = -cx -Dx. // // dx/dt = v // dv/dt = (-C/m)*x + (-D/m)*v //1. gespeicherte Variablen löschen clear; //2. Parameter definieren m = 1; //kg C = 1; // N/m D = 0.2; // Ns/m //3. Anfangsbedingungen setzen: x0 = 1; // m v0 = 0; // m/s //4. Zeitschrittweite und Anfangszeit festlegen dt = 0.01; // s t0 = 0; // s tend = 3; // s //5. RECHTE SEITE FUNKTION DERFINIEREN: //t_sammel(1) = t0; //x_sammel(1) = x0; //v_sammel(1) = v0; function f = rechteSeite(t,y) x = y(1,1); v = y(2,1); f(1,1) = v; f(2,1) = -(C/m)*x-(D/m)*v; endfunction //6. Aufruf des ode-Integrators t = 0:dt:tend; y0 = [x0;v0]; y = ode(y0,t0,t,rechteSeite); plot(t,y(1,:),t,y(2,:));
Code 0-6: Gleiche Simulation, jedoch unter Verwendung des ODE-Integrators von Scilab.
Übung 1: Numerische Integration mit dem Euler-Verfahren am Beispiel des Räuber-Beute-Modells
Unter nachfolgendem Link finden Sie eine Beispielimplementierung des Räuber-Beute-Modells nach Lottka und Voltera in Java/C-Syntax. Übertragen Sie dieses System mit den dort vorfindlichen Parametern und erzeugen Sie auch einen Plot des Simulationsverlaufes.

clear; //vorgegeben a = 0.1; b = 0.01; c = 0.01; d = 0.1; //anzahl beute und jäger B = 8; R = 2; dt = 0.01; tend = 300; i=1; //arrays beute(1) = B; raeuber(1) = R; time(1) = 0; for t=dt:dt:tend Rneu = R + (- R*d + B*R*c)*dt; Bneu = B + (B*a - B*R*b)*dt; i = i+1; beute(i) = Bneu; raeuber(i) = Rneu; time(i) = t; B = Bneu; R = Rneu; end plot(time,beute,time,raeuber);
Code 0-7: studentische Lösung (Parameter optimiert: dt, tend)

Bild 0-1: Plot dazu.
Hinweise:
|
Übung 2
a) Analysieren Sie die Varianten zum linearen Feder-Masse-Dämpfer-Schwinger mit Euler-Integrationsverfahren und ODE.
b) Schreiben Sie ein Simulationsprogramm mit Scilab für ein Masse-Dämpfer-System (OHNE Feder). Es soll das Euler-Integrationsverfahren verwendet werden. Anfangsauslenkung soll x=1m sein, dt=0.01s. Die Parameter sind: m=2kg, D=0.1Ns/m.
// Gleichungen mx..=-cx-Dx. //dx/dt=v //dv/dt=(-C/m)*x+(-D/m)*V //Löschen aller evtl. belegten Variablen clear; //Parameter definieren m = 2; //kg C = 0; //N/m D = 1; //Ns/m //Anfangsbedingung setzten für x. und v x0 = 0; //m wir starten bei einem Meter- Die Feder ist bereits gestreckt v0 = 1; //m/s //Zeitschrittweite festlegen dt = 0.001; //s t0 = 0; //s tend = 20; //s //Arrays vorbereiten um, die Daten zu sammeln t, x und v t_sammel(1) = t0; x_sammel(1) = x0; v_sammel(1) = v0; i=1; //Anwendung des Euler-Integrations-Verfahren x_alt=x0; v_alt=v0; for t=dt:dt:tend //von dt, in dt schritten bis tend x_neu = x_alt + v_alt *dt; v_neu = v_alt + ((-C/m)*x_alt +(-D/m )*v_alt)*dt; i=i+1; t_sammel(i) = t; //Daten speichern x_sammel(i) = x_neu; v_sammel(i) = v_neu; x_alt = x_neu; //im nächsten Durchlauf wird der aktuelle Wert eingesetz v_alt = v_neu; end plot(t_sammel, x_sammel,t_sammel,v_sammel)
Code 0-8: studentische Lösung
c) Schreiben Sie das Simulationsprogramm von b) so um, dass nun der ODE-Integrator in Scilab benutzt wird.
// mx.. = -cx -Dx. // // dx/dt = v // dv/dt = (-C/m)*x + (-D/m)*v //1. gespeicherte Variablen löschen clear; //2. Parameter definieren m = 2; //kg C = 0; // N/m D = 1; // Ns/m //3. Anfangsbedingungen setzen: x0 = 0; // m v0 = 1; // m/s //4. Zeitschrittweite und Anfangszeit festlegen dt = 0.01; // s t0 = 0; // s tend = 20; // s //5. RECHTE SEITE FUNKTION DERFINIEREN: //t_sammel(1) = t0; //x_sammel(1) = x0; //v_sammel(1) = v0; function f = rechteSeite(t,y) x = y(1,1); v = y(2,1); f(1,1) = v; f(2,1) = -(C/m)*x-(D/m)*v; endfunction //6. Aufruf des ode-Integrators t = 0:dt:tend; y0 = [x0;v0]; y = ode(y0,t0,t,rechteSeite); plot(t,y(1,:),'red--',t,y(2,:),'gre--');
Code 0-9: studentische Lösung
#4 Do 20.04.2023
Themen
|
1. Wiederholung: Euler-Integrationsverfahren / Newtonsches Gesetz
2. Eigenwerte
Die Lage der Eigenwerte linearer Differentialgleichungssysteme geben Auskunft über die Systemeigenschaften Stabilität und Schwingungsfähigkeit.
Ihre Bestimmung stellt eines der wichtigsten Hilfsmittel bei der Analyse und Auslegung technischer und regelungstechnischer Systeme dar.

Übung zu Eigenwerten
Bestimmen Sie die Eigenwerte folgender linearer Differentialgleichungen zweiten zweiten Grades und überprüfen Sie im Anschluß Ihr Ergebnis auf Richtigkeit mittels spec(...) mit Hilfe von Scilab:
$ \ddot x = -x $
Formel 0-4: DGL. Nr.1
$ \ddot x = -x - \dot x $
Formel 0-5: DGL. Nr.2
$ \ddot x=x - \dot x $
Formel 0-6: DGL. Nr.3
$ 4 \ddot x =-2 \cdot x - \dot x $
Formel 0-7: DGL. Nr.4
3. Saalübung: P-Regler, PD-Regler
|
Zusatzübung: beide Systeme (mit und ohne Regler) simulieren:
m = 1.0; C = 1.0; P=1; D=1; xsoll = 0; vsoll = 0; tend = 10; x0=1; v0=0; y0=[x0;v0]; t0=0; function f = rechteSeite(t,y) x = y(1,1); v = y(2,1); FR = P*(xsoll-x)+D*(vsoll-v); f(1,1) = v; f(2,1) = -(C/m)*x+FR/m; endfunction dt=0.01; t = 0:dt:tend; t0 = 0; y = ode(y0,t0,t,rechteSeite); plot(t,y(1,:),t,y(2,:));
Code 0-10: beide Systeme (mit und ohne Regler) simulieren

Bild 0-2: System mit PD-Regler.
4. Zustandsregler
|

Übung zum Zustandsregler
Versehen Sie nachfolgendes dynamisches System mit einem Zustandsregler, der die Eigenwerte des Gesamtsystems nach -1+i und -1-i verschiebt.
Als Stellgröße gilt hier die externe Kraft F.
$ m \cdot \ddot x = -Cx + F $
Formel 0-8: mit m=1kg & C=1m/s & F ist die Stellkraft.
#5 Do 27.04.2023
Themen
|
Quiz: Eigenwerte, Reglkreisauslegung
|
Zustandsregler

Übung 1 zum Zustandsregler
Versehen Sie nachfolgendes dynamisches System mit einem Zustandsregler, der die Eigenwerte des Gesamtsystems nach -1+i und -1-i verschiebt.
Als Stellgröße gilt hier die externe Kraft F.
$ m \cdot \ddot x = -Cx + F $
Formel 0-9: mit m=1kg & C=1m/s & F ist die Stellkraft.
Übung 2 zum Zustandsregler
$ \ddot x = -x -v $
Formel 0-10: Zu regelndes System \left(Regelstrecke\right)
Für oben stehendes System ist ein Zustandsregler so zu finden, dass die EW liegen bei: Lambda 1/2 = -1 +/- i*sqrt(3)/2
Übung 3 zum Zustandsregler
Gegeben sei ein lineares Feder-Masse-Dämpfer-System mit folgenden Parametern: m=2kg, C=1N/m, D=0Ns/m.
|
Über eine zusätzlich auf den starren Körper einwirkende Stellkraft F, soll nun ein Zustandsregler umgesetzt werden. Die beiden Eigenwerte des geregelten Systems sollen beide bei -2 liegen. Das heißt, die haben keinen Imaginärteil. Hinweis: Man nennt so etwas eine doppelte Polstelle.
|
Zusatzaufgaben
Bestimmen Sie für nachfolgende Systemmatrizen die Eigenwerte von Hand und überprüfen Ihre Ergebnisse mit Hilfe von Scilab. Geben Sie außerdem jeweils an, ob das entsprechende System stabil, instabil, oder grenzstabil ist und ob es schwingungsfähig ist, oder nicht:
$ A=\left[\begin{array}{cc}0 & 1 \\ -2 & 0\end{array}\right] $
Formel 0-11: Systemmatrix 1.
$ A=\left[\begin{array}{cc}0 & 1 \\ 2 & 0\end{array}\right] $
Formel 0-12: Systemmatrix 2.
$ A=\left[\begin{array}{cc}0 & 1 \\ 2 & -2\end{array}\right] $
Formel 0-13: Systemmatrix 3.
$ A=\left[\begin{array}{cc}0 & 1 \\ -2 & -2\end{array}\right] $
Formel 0-14: Systemmatrix 4.
#6 Do 04.05.2023
Invertierendes Pendel (Herleitung an der Tafel)
clear m=1; // in kg r=0.1; // in m h=1; // in m J=0.25*m*r*r + 1/12*m*h*h; F_A=0; g=9.81; //in m*s^-2 phi0 = 0.2; w0 = 0; t0 = 0; dt = 0.1; tend = 3; function f = rechteSeite(t,y) phi = y(1,1); w = y(2,1); s=sin(phi); c=cos(phi); F_A = -29.43*phi -2.595419*w; f(1,1) = w; f(2,1) = (0.5*c*F_A+0.5*m*g*s-0.25*m*h*h*w*w*s*c)/(J+0.25*m*h*h*s*s); endfunction t = 0:dt:tend; y0 = [phi0;w0]; y = ode(y0,t0,t,rechteSeite); plot(t,y(1,:),t,y(2,:),'red'); a = (m*g*h)/(2*J) b = h/(2*J); A = [0,1;a,0] B = [0;b] EW = spec(A) // 7.5594729 + 0.i // -7.5594729 + 0.i RR = real(EW(1)); EWsoll = [-RR+RR*%i,-RR-RR*%i]; RRRR = ppol(A,B,EWsoll) //RRRR = 29.43 2.595419
Code 0-11: Studentische Lösung für die Simulation.
#7 Do 11.05.2023
Beginn: 12Uhr!
Themen
|
Dynamische Gleichungen zum invertierenden Pendel:
$ \ddot \phi = \frac {0.5 \cos \left( \phi \right)F_A+0.5mgh \cdot \sin \left( \phi \right)-0.25mh^2 \cdot \dot \phi ^2 \cdot \sin \left( \phi \right) \cdot \cos \left( \phi \right)}{J+0.25mh^2 \cdot \sin ^2\left( \phi \right)} $
Formel 0-15: Euler-Gleichung.
$ m \cdot \ddot x=F_A $
Formel 0-16: Newton-Gleichung für die x-Richtung.
$ \ddot \phi = \frac {h}{2J} \cdot F_A+ \frac {mgh}{2J} \cdot \phi $
Formel 0-17: Linearisierte Euler-Gleichung.
Übung
Aufgabe 0:
Animation des geregelten Einachsers mit Scilab.
Aufgabe 1:
Versehen Sie nachfolgendes dynamisches System mit einem Zustandsregler, der die Eigenwerte des Gesamtsystems nach -1+i und -1-i verschiebt.
Als Stellgröße gilt hier die externe Kraft F.
$ m \cdot \ddot x = -Cx + F $
Formel 0-18: mit m=1kg & C=1m/s & F ist die Stellkraft.
Aufgabe 2:
Bestimmen Sie für nachfolgende Systemmatrizen die Eigenwerte von Hand und überprüfen Ihre Ergebnisse mit Hilfe von Scilab. Geben Sie außerdem jeweils an, ob das entsprechende System stabil, instabil, oder grenzstabil ist und ob es schwingungsfähig ist, oder nicht:
$ A=\left[\begin{array}{cc}0 & 1 \\ -2 & 0\end{array}\right] $
Formel 0-19: Systemmatrix 1.
$ A=\left[\begin{array}{cc}0 & 1 \\ 2 & 0\end{array}\right] $
Formel 0-20: Systemmatrix 2.
$ A=\left[\begin{array}{cc}0 & 1 \\ 2 & -2\end{array}\right] $
Formel 0-21: Systemmatrix 3.
$ A=\left[\begin{array}{cc}0 & 1 \\ -2 & -2\end{array}\right] $
Formel 0-22: Systemmatrix 4.
Aufgabe 3:
Gegeben sei ein lineares Feder-Masse-Dämpfer-System mit folgenden Parametern: m=2kg, C=1N/m, D=0Ns/m.
|
Über eine zusätzlich auf den starren Körper einwirkende Stellkraft F, soll nun ein Zustandsregler umgesetzt werden. Die beiden Eigenwerte des geregelten Systems sollen beide bei -2 liegen. Das heißt, die haben keinen Imaginärteil. Hinweis: Man nennt so etwas eine doppelte Polstelle.
|
Aufgabe 4: Modellierung und Regelung eines hängenden Pendels
Ein homogener zylindrischer Stab, Länge 1m, Radius 0.1m, Masse 1kg, sei an einem Ende gelenkig mit einem rotatorischen Freiheitsgrad aufgehangen und der Schwerkraft ausgesetzt.
Die Ruhelage phi=0rad soll im hängenden Zustand sein, eine Drehung gegen den Uhrzeigersinn sei positiv (phi>0).
|
clear m=1; // in kg r=0.1; // in m h=1; // in m J=0.25*m*r*r + 1/12*m*h*h; F_A=0; g=9.81; //in m*s^-2 phi0 = 0.4; w0 = 0; x0 = 0; v0 = 0; t0 = 0; dt = 0.1; tend = 3; a = (m*g*h)/(2*J) b = h/(2*J); function f = rechteSeite(t,y) phi = y(1,1); w = y(2,1); x = y(3,1); v = y(4,1); s=sin(phi); c=cos(phi); //F_A = -29.43*phi -2.595419*w; //nur PHI regeln. R = [63.764999, 7.7862571, -57.14563, -22.678418]; F_A = -R*y; f(1,1) = w; f(2,1) = (0.5*c*F_A+0.5*m*g*s-0.25*m*h*h*w*w*s*c)/(J+0.25*m*h*h*s*s); f(3,1) = v; f(4,1) = (1/m)*F_A; endfunction t = 0:dt:tend; y0 = [phi0;w0;x0;v0]; y = ode(y0,t0,t,rechteSeite); plot(t,y(1,:),'blk',t,y(2,:),'red',t,y(3,:),'blu',t,y(4,:),'gre'); //a = (m*g*h)/(2*J) //b = h/(2*J); // siehe oben ! A = [0,1;a,0] B = [0;b] EW = spec(A) // 7.5594729 + 0.i // -7.5594729 + 0.i RR = real(EW(1)); EWsoll = [-RR+RR*%i,-RR-RR*%i]; RRRR = ppol(A,B,EWsoll) //-------------------------------- //Gesamtsystem regeln: A = [0,1,0,0 a,0,0,0 0,0,0,1 0,0,0,0]; B = [0 b 0 1/m]; spec(A) q=7.5594729; //Wunscheigenwerte: EW = [-q+%i*q,-q-%i*q, (-q+%i*q)/2,(-q-%i*q)/2]; R = ppol(A,B,EW)
Code 0-12: Regelung des Gesamtszustandes phi, omega, x, vx.
...mit Animation:
clear m=1; // in kg r=0.1; // in m h=1; // in m J=0.25*m*r*r + 1/12*m*h*h; F_A=0; g=9.81; //in m*s^-2 phi0 = 0.43; w0 = 0; x0 = 0; v0 = 0; t0 = 0; dt = 0.001; tend = 3; a = (m*g*h)/(2*J) b = h/(2*J); //-------------------------------- //Gesamtsystem regeln: A = [0,1,0,0 a,0,0,0 0,0,0,1 0,0,0,0]; B = [0 b 0 1/m]; spec(A) q=7.5594729; //Wunscheigenwerte: EW = [-q+%i*q,-q-%i*q, (-q+%i*q)/2,(-q-%i*q)/2]; R = ppol(A,B,EW) function f = rechteSeite(t,y) phi = y(1,1); w = y(2,1); x = y(3,1); v = y(4,1); s=sin(phi); c=cos(phi); //F_A = -29.43*phi -2.595419*w; //nur PHI regeln. F_A = -R*y; f(1,1) = w; f(2,1) = (0.5*c*F_A+0.5*m*g*s-0.25*m*h*h*w*w*s*c)/(J+0.25*m*h*h*s*s); f(3,1) = v; f(4,1) = (1/m)*F_A; endfunction t = 0:dt:tend; y0 = [phi0;w0;x0;v0]; y = ode(y0,t0,t,rechteSeite); //plot(t,y(1,:),'blk',t,y(2,:),'red',t,y(3,:),'blu',t,y(4,:),'gre'); // phi omega x v //1. ys ? (Schwerpunktskoordinate von y) // ys = 0.5*h*cos(phi) yS = 0.5*h*cos(y(1,:)); //2. pA unterer Endpunkt des Stabes // // pA = pS + rSA // [sin phi ] // rSA = [ ] * 0.5*h // [-cos phi ] //pAx = xS + 0.5*h*sin(phi) //pAy = yS - 0.5*h*cos(phi) pAx = y(3,:) + 0.5*h*sin(y(1,:)); pAy = yS - 0.5*h*cos(y(1,:)) //3. pB oberer Endpunkt des Stabes // // pB = pS - rSA // [-sin phi ] // rSA = [ ] * 0.5*h // [cos phi ] //pAx = xS - 0.5*h*sin(phi) //pAy = yS + 0.5*h*cos(phi) pBx = y(3,:) - 0.5*h*sin(y(1,:)); pBy = yS + 0.5*h*cos(y(1,:)) zs = size(yS); spalten = zs(2); p=1.5; for i=1:spalten xWerte = [p,p,-p,-p, pAx(1,i),pBx(1,i)]; yWerte = [0,p, p, 0, pAy(1,i),pBy(1,i)]; plot(xWerte,yWerte); clf; end
Code 0-13: Voll ausgeregeltes invertierendes Pendel mit Animation.
#8 Do 25.05.2023
Wir beginnen bereits um 12:30Uhr!
Themen
|
1. Einführung in die klassische Regelungstechnik auf Grundlage der Laplacetransformation
Zustandsregler sind Stand der Technik und günstig bei der Simulation am Computer. In der klassischen Regelungstechnik wird aber die s.g. Laplace-Darstellung regelungstechnischer Systeme verwendet. Diese erlaubt es, Systeme einfacher zu klassifizieren und zudem m.E. Regler aufgrund von Messdaten mit Stift und Papier auszulegen.

2. Die Laplacetransformation

Eigenwerte können auch über Nullstellen des Nenner einer Übertragungsfunktion bestimmt werden.
Einige Übertragungsfunktionen im Zeitbereich als Grundlage für Übungen
Übung 1
$ \ddot x + 3 x = 4 u $
Formel 0-23: a\right)
$ \dot x - x = u $
Formel 0-24: b\right)
$ 3 \ddot x + \dot x = u $
Formel 0-25: c\right)
$ \ddot x + x = u $
Formel 0-26: d\right)
$ \dot x + 2 x = u $
Formel 0-27: e\right)
$ \dot x - 3 x = u $
Formel 0-28: f\right)
$ \dot x + 5 x = 5 u $
Formel 0-29: g\right)
|
3. Übertragungsglieder

Mit Hilfe der Sprungantwort lassen sich Eigenschaften erkennen, wie:
|
Übung 2
Plotten Sie mit Scilab für folgende Systeme den Einheitssprung. Führen Sie dazu die notwendige Laplace-Transformation aus und finden Sie selber eine sinnvolle Simulationsdauer:
$ \ddot x + \dot x + 3 x = 4 u $
Formel 0-30: a\right)
$ 3 \ddot x + \dot x = u $
Formel 0-31: b\right)
$ \ddot x + x = u $
Formel 0-32: c\right)
$ \dot x + 2 x = u $
Formel 0-33: d\right)
$ \dot x - x = u $
Formel 0-34: e\right)
Beispiellösungen nebst den Plots:
//Formel 0-17: // x.. + x. + 3x = 4u // 4 // x/u = ------------------ // s^2 + s + 3 //s als Argument für ein Polynom definieren: s = poly(0,"s"); //Übertragungsfunktion definieren: G = syslin('c',[4],[s*s+s+3]); t=[0:0.01:10]; u=ones(1,1001); y=csim(u,t,G); subplot(121); plot2d(t,y); subplot(122); plzr(G);
Code 0-14: zu Formel 0-17
4. Regler in Laplace-Darstellung

