kramann.info
© Guido Kramann

Login: Passwort:










Regelungssysteme
1 day_by_day
2 Heizregelkreis
3 Verzoegerungsglieder
4 Laplace
..4.1 Eigenwerte
..4.2 PT1
..4.3 PRegler
..4.4 Scilab
5 Regleroptimierung
..5.1 Guetefunktion
..5.2 Heuristiken
..5.3 Scilab
..5.4 Gradientenverfahren
..5.5 ModifizierteG
..5.6 Gleichstrommotor
..5.7 Stoerverhalten
6 Javaanwendung
..6.1 PIDgeregelterAntrieb
..6.2 RungeKuttaIntegrator
..6.3 Gradientenverfahren
7 Einstellregeln
..7.1 Totzeit
..7.2 Methode1
..7.3 Methode2
..7.4 Scilab
..7.5 Daempfungsgrad
..7.6 Uebung
8 Polvorgabe
9 Beobachter
10 AutonomerHackenprosche
..10.1 Herleitung
..10.2 Scilab
..10.3 Modellerweiterung
..10.4 Scilab
..10.5 Modellgueltigkeit
..10.6 java
11 Stabilitaet
..11.1 Beispiele
..11.2 Nyqusitkriterium
..11.3 Windup
..11.4 Bode
12 Adaptiv
..12.1 Definition
..12.2 Einachser
..12.3 Auswertung
..12.4 Identifikation
..12.5 Regleroptimierung
..12.6 Zustandsregler
..12.7 Beobachter
13 Analyse
..13.1 Linear
..13.2 Nichtlinear
14 Kalmanfilter
15 Ue_04_2014
..15.1 Geschwindigkeit
..15.2 Richtung
..15.3 Gesamtsystem
..15.4 RiccatiUSW
..15.5 TdOT
16 Inverses_Pendel
17 Einachser
..17.1 Mechanik
..17.2 Uebung8
18 Fuzzy
..18.1 Fuzzylogik
..18.2 FuzzyRegler
..18.3 Uebung9
..18.5 Softwareentwicklung
....18.5.1 AgileSoftwareentwicklung
....18.5.2 FuzzyRegler
....18.5.3 Uebung
..18.6 Umsetzung
....18.6.1 FuzzyRegler
....18.6.2 Simulation
....18.6.3 Optimierung
....18.6.4 Uebung
..18.7 Haengependel
....18.7.1 Haengependel
....18.7.2 Simulation
....18.7.3 FuzzyRegler
....18.7.4 Optimierer
....18.7.5 Genetisch
..18.8 Information
..18.9 Energie
21 Beispiel1
98 day_by_day_WS2021_SoSe21
99 day_by_day_SoSe2018
kramann.info
© Guido Kramann

Login: Passwort:




Anwendung der Methode2 mit Unterstützung von Scilab

Bestimmung der charakteristischen Größen K<sub>S</sub>, T<sub>u</sub> und T<sub>a</sub> aus dem Graph der Sprungantwort für G(s)=1/(1+2s+s^2).

Bild 0-1: Bestimmung der charakteristischen Größen KS, Tu und Ta aus dem Graph der Sprungantwort für G(s)=1/(1+2s+s^2).

  • Die Kurve wurde mit Hilfe des folgenden Scilab-Skriptes gewonnen:
//s als Argument für ein Polynom definieren:
s = poly(0,"s"); 
//Übertragungsfunktion definieren:
//G = syslin('c',[K],[1+s*T+P*s^2]); //PT2
G = syslin('c',[1],[1+2*s+s^2]); //Auch Nullstelle
//G = syslin('c',[K*exp(-0.5*s)],[1+s*T+P*s^2]); //PT2 mit Totzeit
//Zeitbereich für die Simulation festlegen:
t=[0:0.01:10]; 
u=ones(1,1001);
//Sprungantwort für die gegebene Übertragungsfunktion bestimmen:
//y=csim('impuls',t,G); 
y=csim(u,t,G); 
yp=diff(y);
ypp=diff(yp);
wendestellen = find(abs(ypp)<0.00000001);
wende = find(min(ypp(wendestellen)));
yw=y(wendestellen(wende));
tw=t(wendestellen(wende));
ypw=yp(wendestellen(wende))/(t(2)-t(1));
tt=t(30:300);
wt = yw + ypw*(tt-tw);
plot(tt,wt,'red');
plot2d(t,y);
xtitle("Sprungantwort zu G(s) ")
Tu=t(30)
Ta=t(300)-Tu
Ks=1

Code 0-1: Berechnung der Sprungantwort eines PT2-Gliedes in Scilab.

  • Scilab unterstützt direkt die Darstellung einer ganzen Reihe an in der Regelungstechnik üblichen Darstellungen von Übertragungsgliedern.
  • Im folgenden Skript werden der Reihe nach ein Pol-Nullstellen-Diagramm, ein Nyquist-Diagramm, ein Bode-Diagramm und die Sprungantwort eines Übertragungsgliedes dargestellt.
//s als Argument für ein Polynom definieren:
s = poly(0,"s"); 
//Parameter festlegen:
K = 1; 
T = 1; 
P = 1; 
//Übertragungsfunktion definieren:
G = syslin('c',[K],[1+s*T+P*s^2]); //PT2
//G = syslin('c',[s+1],[2+s*T+P*s^2]); //Auch Nullstelle
//G = syslin('c',[K*exp(-0.5*s)],[1+s*T+P*s^2]); //PT2 mit Totzeit
//Pol-Nullstellen Diagramm zeichnen
subplot(221);
plzr(G); 
//Frequenzgang berechnen
freqmin=1; // minimale Frequenz
freqmax=1000; // maximale Frequenz
subplot(222);
nyquist(G,freqmin,freqmax); // Ortskurve über Frequenzbereich
subplot(223);
bode(G,freqmin,freqmax); // Ortskurve über Frequenzbereich
//Zeitbereich für die Simulation festlegen:
t=[0:0.01:10]; 
u=ones(1,1001);
//Sprungantwort für die gegebene Übertragungsfunktion bestimmen:
//y=csim('impuls',t,G); 
y=csim(u,t,G); 
subplot(224);
plot2d(t,y);
xtitle("Sprungantwort zu G(s) ")

Code 0-2: Erzeugen diverser in der Regelungstechnik gebräuchlicher Darstellungen für Übertragungsglieder.

Mit obigem Skript erzeugte Diagramme.

Bild 0-2: Mit obigem Skript erzeugte Diagramme.

Übung 5
  • Bestimmen Sie mit Hilfe von Scilab und "01_ziegler_nichols", bzw. "02_ziegler_nichols_Totzeit" mit beiden Methoden passende PID-Regelparameter für folgende Strecken:
  • G(s) = exp(-0.1s)/(s^2+2s+1)
  • G(s) = 1/((s+1)*(s+2))
  • G(s) = 1/(s^2+1)
  • G(s) = 1/((s-1)*(s+2))
  • G(s) = exp(-s)/((s+1)*(s+2))
  • Legen Sie eine Drehzahlregelung für den Motor aus Kapitel 5.4 aus gemäß Ü4 Aufg.1/2.
  • Wird die Bedingung aus Ü4 Aufg.2 (maximale Spannung 10V) erfüllt?
  • Hinweis: Die Exponentialfunktion kann mit %p_e(-a*s) in Scilab geschrieben werden.