Übertragungsfunktion mit Matlab darstellen?

1 Antwort

Ein Ansatz wäre die Wurzelortskurve zu verwenden. Hierzu definiere die Übertragungsfunktion der Strecke und Plotte die zugehörige WOK. Bestimme aus dem Graphen anschließend die kritische Verstärkung die dazu führt, dass der geschlossene Regelkreis Pole auf der Imaginärachse hat.

Eine weitere Möglichkeit ohne die WOK wäre von einem Startwert K(0) zu starten und dafür für den geschlossenen Kreis die Sprungantwort zu bestimmen. Man erhöht schließlich K(0) um einen fixen Betrag dK auf K(1) = K(0) + dK und plottet die Sprungantwort des geschlossenen Kreises für K(1). Dies führt man so lange durch bis man ein K(n) gefunden hat für welches die Sprungantwort endlich ist (der Regelkreis ist stabil) und für den K(n+1) zu einem instabilen Regelkreis führt (unbegrenzte Sprungantwort). Kkrit liegt nun zwischen K(n) und K(n+1). Man setze nun Kneu(0) = Kalt(n) und verringere die Schrittweite dK bis man ein K(n) gefunden hat welches nahe genug an Kkrit liegt.

Noch eine weitere Möglichkeit bei minimalphasigen stabilen Systemen liegt in dem Ablesen von 1/Kkrit aus dem Bodediagramm, dort wo der Phasengang eine Phase von 180° annimmt.

Die relevanten Matlab Befehle wären:

rlocus(G0) für WOK

bode(G0) für Bodesiagramm

nyquist(G0) für Nyquistdiagramm

step(G0/(1+G0)) für Sprungantwort von geschlossenem Regelkreis

ggf. noch hold on und hold off

Hier ein Beispielcode (nicht getestet)

G0 = tf(...);

%% "Trial and error" Ansatz
K0 = 3e-0;
dK = 1e-1;
NumTries = 10;
tfinal = 5;

Kn = zeros(1, NumTries + 1);

for(n = 0:NumTries)
  Kn(n+1) = K0 + n*dK;
  step(feedback(Kn*G0, 1), tfinal, 'DisplayName', string(Kn(n))); %Bei Problemen hier 'DisplayName', string(Kn(n)) löschen
  hold on
end

Das Ergebnis sollte eine Menge von Sprungantworten in einer gemeinsamen Figure sein. Das Vorgehen ist für den Ansatz dann wie oben beschrieben.

Woher ich das weiß:Studium / Ausbildung – Studium der Elektrotechnik (Energie, Automatisierung)