Anwendung der Methode2 mit Unterstützung von Scilab
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.
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.
|