ALL SOFTWARE ON www.kramann.info IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Sommersemester 2017
Verbindliche Folienvorlage zum Tag der offenen Tür 19.5.2017
Zusammenhang zwischen einer linearen DGL im Zeitbereich und im Laplacebereich
Verketten von Übertragungsblöcken im Zeit- und im Laplacebereich
Themen Mittwoch, 25.03.2015
Teil 1
Einführung in Scilab: Umgang mit Matrizen, Darstellung von Übertragungsfunktionen, Eigenwertbestimmung
Polstellen einer Übertragungsfunktion
Übungen zu Laplacetransformation, selbständiges Überprüfen mit Scilab
Teil 2
P-Regler
Einfluß des P-Reglers auf das Übertragungsverhalten, resp. auf die Lage der Eigenwerte
Faustregel bei Polvorgabe
Anwendung des P-Reglers auf die vorangehenden Beipsiele
//Inverse einer Matrix
B=inv(A)
//Transponierte einer Matrix
B=A'
//3x3 Einheitsmatrix
B=eye(3,3);
//Eigenwerte einer Systemmatrix
ew=eye(3,3);
//Beispiel zum Umgang mit Übertragungsfunktionen in Scilab
m = 0.2;
r = 0.03;
D = 0.01;
J = 0.5*m*r*r;
s = poly(0,"s");
G = syslin('c',[1],[J*s*s+D*s]);
R = syslin('c',[5+2*s],[1]);
H = R*G
Q = H/(1+H)
//Pole und Nullstellen der Strecke:
plzr(G)
//Umwandlung in Zustandsform, dann Eigenwerte bestimmen:
strecke=tf2ss(G)
clean(ss2tf(strecke))
Astrecke = strecke(2)//A-Matrix auslesen
ewStrecke = spec(Astrecke)
disp("Eigenwerte der Regelstrecke:")
disp(ewStrecke) //aus einem Skript heraus gezielt anzeigen
//Direkte Simulation der Übertragungsfunktion mit csim:
t = linspace(0,0.001,1000);
anz = size(t);
u = ones(anz(1),anz(2)); //AB bei csim immer Null, Input hier: Sprung auf 1, es folgt daraus die Sprungantwort.
ystrecke = csim(u,t,G);
plot(t,ystrecke(1,:)');
Code 0-1: Scilab-Merkblatt
$ m \ddot y + D \dot y + C y = F
$
Formel 0-2: Linearer Schwinger mit Dämpfungselement und äußerer Kraft F.
m/kg
C/(N/m)
D/(Ns/m)
1
0
2
2
1
0
1
1
1
1
0
-1
1
2
-1
Tabelle 0-1: Varianten eines Linearen Schwingers
Einige Übertragungsfunktionen im Zeitbereich als Grundlage für Übungen
$ \ddot x + 3 x = 4 u
$
Formel 0-3: a\right)
$ \dot x - x = u
$
Formel 0-4: b\right)
$ 3 \ddot x + \dot x = u
$
Formel 0-5: c\right)
$ \ddot x + x = u
$
Formel 0-6: d\right)
$ \dot x + 2 x = u
$
Formel 0-7: e\right)
$ \dot x - 3 x = u
$
Formel 0-8: f\right)
$ \dot x + 5 x = 5 u
$
Formel 0-9: g\right)
Schalten Sie a) und b) in Reihe und geben die Gesamtübertragungsfunktion im Lapalce-Bereich an.
Schalten Sie c) und d) in Reihe und geben die Gesamtübertragungsfunktion im Lapalce-Bereich an.
Schalten Sie e), f) und g) in Reihe und geben die Gesamtübertragungsfunktion im Lapalce-Bereich an.
Themen Dienstag, 31.03.2015
Vergleich P-Regler in Laplace und Zeitbereich
PID-Regler in Laplace und Zeitbereich
Bedeutung von P-, I- und D-Anteil
Das erste Verfahren von Ziegler und Nichols zur Auslegung eines Reglers
Themen Mittwoch, 01.04.2015
Teil 1
Simulation linearer Systeme im Zeitbereich mit Scilab
Realisierung einer Totzeit im Laplace- und Zeitbereich mit Scilab
Begriff der Sprungantwort
Das zweite Verfahren von Ziegler und Nichols zur Auslegung eines Reglers
Der Begriff der technischen Stabilität
Teil 2
Anwendung der Verfahren nach Ziegler und Nichols
Betrachtung der Lage der Eigenwerte im Vergleich zu den Auslegungsergebnissen
Verwenden Sie die Tabelle der Varianten eines Linearen Schwingers aus der Übung in der letzten Woche.
Führen Sie jeweils für alle Varianten eine Totzeit von 0,5 Sekunde ein und legen PID-Regler nach dem ersten Verfahren von Ziegler-Nichols aus.
Wenden Sie ohne Totzeit das zweite Verfahren nach Ziegler Nichols an.
Betrachten Sie die Lage der Eigenwerte der sich ergebenden Gesamtsysteme und prüfen Sie, ob diese technisch stabil sind.
Fortsetzung der Aufgabe, optimale Regelparameter für den realen Einachser zu finden
Setzen Sie auf der Grundlage des nachfolgenden Zwischenergebnisses eine Parameteroptimierung für einen PI-Regler um.
Interpretieren Sie das Ergebnis im Hinblick auf die noch nicht berücksichtigte Totzeit.
Extrahieren Sie die Matrizen A und B aus dem Gesamtübertragungsverhalten mittels tf2ss(Q) und realisieren Sie dann eine Optimierung für ein mit +/-500 begrenztes Stellsignal im Zeitbereich.
clear();
z=300;
u = 0.2*ones(z,1);
t = linspace(0,3,z);
s = poly(0,"s");
pa=0.0246580;
pb=7.9769475;
pc=280.08032;
G = syslin('c',[1],[pa*s*s+pb*s+pc]);
u = 300*ones(z,1);
y = csim(u',t',G);
//plot(t,y(1,:),t,om);
disp("Mit zusätzlichem Integrator um Übertragungsfunktion für Winkel zu bekommen:");
GI = syslin('c',[1],[pa*s*s*s+pb*s*s+pc*s]);
yi = csim(u',t',GI);
//plot(t,yi(1,:),'re',t,phi,'gre',m1(:,1),-m1(:,2)+0.12,'blu');
rp=1200.0;
ri=16.0;
//R=rp+ri/s=(rp*s+ri)/s
R = syslin('c',[rp*s+ri],[s]);
H = R*GI;
Q = H/(1+H);
z=300;
u = 0.2*ones(z,1);
t = linspace(0,3,z);
yq = csim(u',t',Q);
plot(t,yq);
Code 0-2: Zwischenergebnis sprung6c_pi_regler.sce
Themen Mittwoch, 06.05.2015
Teil 1
Ergänzen Sie in Scilab die Systemmatrix um das Integrationsglied.
Vergleichen Sie die Eigenwerte der entstandenen Systemmatrix mit denen der Übertragungsfunktion GI
Erweitern Sie das System aus der nachfolgenden Teillösung um den PI-Regler im Zeitbereich.
Hinweis: Anfangsbedingungen: [0,0,0,0], Sollwert für phi=0.2rad. Wie kann unmittelbar die Regeldifferenz phisoll-phi aufintegriert werden?
Teil 2
Optimierung der Parameter des PI-Reglers mit optim(..) im Zeitbereich bei begrenztem pwm-Signal auf +/-500.
Einbau der Totzeit und erneute Optimierung
Verifikation der gefundenen Ergebnisse am realen System.
clear();
z=300;
u = 0.2*ones(z,1);
t = linspace(0,3,z);
s = poly(0,"s");
pa=0.0246580;
pb=7.9769475;
pc=280.08032;
G = syslin('c',[1],[pa*s*s+pb*s+pc]);
u = 300*ones(z,1);
y = csim(u',t',G);
//plot(t,y(1,:),t,om);
disp("Mit zusätzlichem Integrator um Übertragungsfunktion für Winkel zu bekommen:");
GI = syslin('c',[1],[pa*s*s*s+pb*s*s+pc*s]);
yi = csim(u',t',GI);
//plot(t,yi(1,:),'re',t,phi,'gre',m1(:,1),-m1(:,2)+0.12,'blu');
rp=1200.0;
ri=16.0;
//R=rp+ri/s=(rp*s+ri)/s
R = syslin('c',[rp*s+ri],[s]);
H = R*GI;
Q = H/(1+H);
z=300;
u = 0.2*ones(z,1);
t = linspace(0,3,z);
yq = csim(u',t',Q);
//plot(t,yq);
disp("Darstellung und Simulation von G im Zeitbereich");
Ag=[0,1;-pc/pa,-pb/pa];
Bg=[0;1/pa];
//Vergleichskontrolle der Eigenwerte von G und Ag:
zust=tf2ss(G);
Ag_test=zust(2);
disp(spec(Ag));
disp(spec(Ag_test));
disp("Simulationsmodell für G:");
function f = rechteSeiteG(t,yy)
u_sim = 300.0;
f = Ag*yy+Bg*u_sim;
endfunction
y0 = [0,0]';
t0 = 0;
yg_sim = ode(y0,t0,t,rechteSeiteG);
disp("O.K.: liegen ineinander");
//BEI BEDARF ANZEIGEN LASSEN:
plot(t,yg_sim(1,:),'gre',t,y,'red--');
Übung 13.1 unten zu Störübertragungsverhalten und Eigenwerte bestimmen und mit Scilab überprüfen.
Polvorgabe mit ppol am Beispiel der Geschwindigkeitsreglung des Elektromotors in Kapitel 8
Zustandsregler für den Einachser mit und ohne Integrator und Polvorgabe mit ppol und Winkelgeschwindigkeit ungleich Null.
Themen Mittwoch, 13.05.2015
Aktueller Stand zum Einachser und Grundlage für die Herstellung eines Zustandsreglers:
Bild 0-4: SYSTEM0 - Identifiziertes Übertragungsverhalten der Einachser-Strecke zwischen pwm als Eingang und der Winkelgeschwindigkeit ω als Ausgang im Zeitbereich.
a=0.0246580
b=7.9769475
c=280.08032
Code 0-4: Identifizierte Modellparameter.
Bild 0-5: SYSTEM1 - Ergänzung des Winkels φ als Zustand. Entspricht dem Hinzufügen eines Integrationsgliedes im Laplace-Bereich.
Bild 0-6: SYSTEM2 - Ergänzung von γ, dem zeitlichen Integral des Winkels φ als Zustand. Entspricht dem weiteren Hinzufügen eines Integrationsgliedes im Laplace-Bereich.
[fopt, xopt, gopt] = optim(list(NDcost,berechneFehler), "b", x0.*0.001, x0.*1000.0, x0);
Hinweise zu optim()
NDcost - generic external for optim computing gradient using finite differences
"b" - If bounds are required, this sequence of arguments must be "b"
Code 0-5: Hinweise zu optim(), Scilab-Hilfe.
Teil 1
Einige Ergänzungen:
Dämpfungsgrad (Kapitel 7.5)
Frequenzgang, Bodediagramm, Phasenreserve, Amplitudenreserve (Kapitel 11.4 und wg. Scilab auch 7.4)
Teil 1 - Übungen
Lösen Sie die nachfolgenden Aufgaben mit Hilfe von Scilab.
Übung 1
Formulieren Sie SYSTEM1 mit einem Zustandsregler.
Es soll ω geregelt werden. Wählen Sie r1, r2, r3 und r4 so, dass dies einem P-Regler mit P-Anteil = 3000 entspricht. Bestimmen Sie die Eigenwerte der Strecke und des geregelten Systems.
Nehmen Sie die Eigenwerte beim P-geregelten System aus ü1.2 und verbessern diese leicht, indem Sie den Eigenwert, der Null ist auf -1 verschieben. Bestimmen Sie hierzu mit ppol die Regelmatrix R neu und analysieren dann R (I-Anteil?) und überprüfen die Eigenwertlage anschließend.
Realisieren Sie hier den gleichen P-Regler wie in ü1.2 - jetzt aber soll φ geregelt werden - und wählen r1, r2, r3, r4 und r5 entsprechend.
Wie in ü1.3, soll auch hier der Eigenwert bei Null auf -1 verschoben und R entsprechend bestimmt und analysiert werden.
Was ändert sich an dem Zustandsregler von ü2.1, wenn die Winkelgeschwindigkeit im stationären Zustand nicht mehr Null sein soll, sondern einen Wert ωstat?
Setzen Sie r4=0 und Transformieren Sie dann den Zustandsregler so, dass ein PID-Regler entsteht. Geben Sie für diesen das Störübertragungsverhalten an.
Welche Unterschiede ergeben sich im Störübertragungsverhalten zwischen den geregelten Systemen aus ü2.2 und ü2.3 mit r4=0? - Geben Sie jeweils deren Eigenwerte an und vergleichen diese miteinander.
Unter Verwendung allen bisherigen Wissens soll ein optimaler Regler für den Einachser entworfen und getestet werden.
Es werden Gruppen gebildet, in denen immer eine Person aus "Echtzeitsysteme" ist.
Es soll desweiteren versucht werden, balancierte Vorwärtsfahrt zu realisieren, z.B. auf Grundlage eines Zustandsreglers mit zyklisch variierenden Sollwerten, oder einem Beobachtermodell für die Fahrtgeschwindigkeit.
Aufnahme von yk und uk im balancierten Zustand beim Einachser.
Bestimmung der Systemmatrix A mittels LSQ.
Themen Dienstag, 09.06.2015
Darstellung des impliziten Euler-Verfahrens zur numerischen Integration (vergl. Kapitel 12.2 Einachser).
Übung in Kapitel 12.2, Aufgabe 1.
Themen Mittwoch, 10.06.2015
Teil 1
Präsentation zur Identifikation des Einachsers mittels LSQ
Präsentation Reglerauslegung beim Einachser auf der Grundlage des identifizierten Systems
Teil 2
Fortsetzung der Übung in Kapitel 12.2, insbesondere Aufgabenteile 1.6 bis 1.8.
Übung in Kapitel 12.2, Aufgabe 2.
Einführung
Regelkreise werden in technischen Systemen beispielsweise verwendet, um:
die Drehzahl eines Motors auch unter sich ändernden Lasten konstant zu halten,
ein Fahrzeug auch bei auftretenden Störungen wie Seitenwind und Schlaglöchern automatisch auf einer vorgegebenen Bahn zu halten,
die von einer Relaistation empfangene Sendeleistung eines Mobiltelefons auch bei wechselnden Dämpfungen durch Wände, Landschaftstopologie etc. auf einem konstanten Niveau zu halten,
die Temperatur in einem Wohnraum trotz sich ändernden Wärmeabfluß durch geöffnete Fenster oder sich ändernder Außentemperatur konstant zu halten,
die bei einem Raster-Kraft-Mikroskop durch ein Piezo-Element auf eine abzutastende Probe ausgeübte Kraft trotz sich ändernder Oberflächenstrukturen konstant halten,
usw. usw.
An diesen Beispielen wird deutlich, dass es Regelungssysteme gibt, die auf ganz unterschiedlichen
physikalischen Größen agieren. Geregelt werden beispielsweise Druck, Temperatur,
Ort, Geschwindigkeit, Winkel, Winkelgeschwindigkeit, Kraft, Moment, Strom, Spannung,
Leistung usw.
Alle diese erwähnten Systeme weisen aber eine ähnliche Struktur auf.
Immer gibt es eine oder mehrere Größen, die in einem gewünschten Bereich gehalten werden sollen, aber Störungen durch äußere Einflüsse unterliegen.
Diese Größen werden immer durch Sensoren erfaßt.
Immer wird aus den erfaßten Größen und aus den Wunschgrößen automatisch berechnet, wie auf das System einzuwirken ist.
Immer geschieht diese Einwirkung automatisch.
Die Bestimmung der automatischen Einflußnahme auf den aktuellen Zustand erfolgt also eben auf der Grundlage dieses aktuellen Zustandes.
Diese Rückkopplung ist der wesentlichste Aspekt eines Regelungssystems überhaupt.
Aus dem Wunsch heraus aus dieser Gemeinsamkeit eine übergreifende Wissenschaft
ins Leben zu rufen, geht die Begründung der Kybernetik durch Norbert Wiener in
den 1970er Jahren hervor.
Es soll nicht verschwiegen werden, dass diese Wissenschaft auf
technischen Entwicklungen fußt, die im Zweiten Weltkrieg gemacht wurden.
Insbesondere wurden in England unter Verwendung des Radars automatische
Nachführungen für Flug-Abwehr-Geschütze entwickelt.
War der Begriff des Regelkreises erst einmal klar gefaßt, wurden diese
auch in Nicht-technischen Systemen identifiziert:
Unser Körper regelt die Körpertemperatur auf 37o C.
Unser Herzschlag paßt sich den äußeren Leistungsanforderungen an.
Unser motorisches System gemeinsam mit den Augen bildet einen Regelkreis, der es uns erlaubt, nach etwas genau zu greifen. Das Versagen dieses Regelkreises resultiert in Zittern!
Ein Hund querab von seinem joggenden Herrchen paßt, wenn er hergerufen wird, ständig seine Laufrichtung an die sich ändernde Position seines Herrchens an. Eine so genannte "Hundskurve" entsteht.
Schwindet das Vertrauen in den Finanzmarkt, ziehen immer mehr Leute ihr Geld ab, was zu sinkenden Börsenkursen und weiter schwindendem Vertrauen führt. - Diese gefährliche positive Rückkopplung führte in der Vergangenheit schon zum Kollaps des Weltmarktes.
Regelsysteme, die in der Lage sein sollen Störungen zu kompensieren und nicht zu verstärken,
Um den prinzipiellen Aufbau eines Regelungstechnischen Systems zu verdeutlichen,
wird im folgenden Unterkapitel ein einfaches Regelungssystem vorgestellt,
anhand dessen die allgemein gültige Grundstruktur aufgezeigt wird.