mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Streckenmodellierung aus Sprungantwort


Autor: DickerLiebhaber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahoi,

ich versuche mich gerade an einer Regler Implementierung für einen 
kleinen Stellmotor.
Ich habe erstmal die Sprungantwort der Strecke aufgenommen.
-> S-förmige Kurve (also offenbar mindestens PT2 Verhalten), Tg=200ms, 
Tu=60ms.
Das Verhältnis Tg/Tu=3,3 sagt laut diverser Tabellen eine schwierige 
Regelbarkeit der Strecke voraus.

Ich will nun lernen wie man einen kompletten Regelkreis simuliert,
um damit auch die (theroretisch) optimalen Regelparameter bestimmen zu 
können. (Will rumspielen und sehen was passiert)

Problem ist jetzt: Wie bekomme ich aus meinen gemessenen Werten Tg, Tu 
die Parameter für ein PT2-Glied, damit ich die Strecke modellieren kann.
Also von: Tg,Tu --> in diese lustige Form K/(1+T1*s)*(1+T2*s)

Mir fehlen nun die Werte für T1 und T2 für die Simulation.

Ich habe herausgefunden, dass dies unter dem Stichwort Approximation von 
Sprungantworten in der Fachwelt bekannt ist. (Bin leider nur Metzger)

Die Wendetangentenverfahren nach Küpfmüller und Strejc fallen weg, da 
diese offenbar nur für ein PT1-Glied gelten.
Andere Verfahren für PT2-Glieder, auf die ich gestoßen bin, gelten 
leider nur, wenn Tg/tu >9.5.


In kurz:

Wie komme ich an T1,T2 für ein PT2-Glied, wenn Tg/Tu<9 ?

Autor: R. M. (exp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal unter Einstellregeln nach CHIEN, HRONES und RESWICK:

z.B. hier ->

http://de.wikipedia.org/wiki/Faustformelverfahren_...

Autor: Christoph Gradl (christoph_gradl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
welche Softwarepackete hast du zur Verfügung bzw. mit welcher Software 
(Matlab / Simulink!?) möchtest du simulieren? Für Matlab / Simulink 
hätte ich noch M-Files gespeichert, wo du die Vorgehensweise siehst, wie 
man soetwas machen kann. Falls du diese benötigst, einfach posten.

Ansonsten kannst auch diese Quelle verwenden:
Haager Regelungstechnik 2.Auflage Seite 71 (ich hoffe ich irre mich 
nicht, da ich jetzt das Buch nicht bei der Hand habe)

Nach der Bestimmung der Parameter musst dir dann noch überlegen, welchen 
Regler du verwenden möchtest, und da gibt es sehr viele Möglichkeiten 
(PID-Regler, Zustandsregler, FKL-Verfahren, ....).

MFG
Christoph

Autor: DickerLiebhaber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Männer, vielen Dank für eure Antworten.

Die diversen Faustformelverfahren, nach denen man aus der Sprungantwort 
den Regler dimensionieren kann, sind mir bereits bekannt, stellen aber 
nicht mein Problem dar.

Ich möchte den Reglerkreis in Simulink oder auch Scilab simulieren.
Dafür benötige ich die natürlich auch die Übertragungsfunktion der 
Sprungantwort. Aus der Sprungantwort (habe ich mit Scope aufgenommen) 
will ich das Übertragungsverhalten hinreichend genau approximieren. 
Genau dafür benötige ich ein entsprechendes Verfahren (mit der oben 
genannten Randbedingung Tg/Tu<9)

Christoph, an den m-Files für die grundsätzliche Vorgehensweise habe ich 
starkes Interesse.

Autor: R. M. (exp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Möglichkeit bei Tg/Tu = 3.3 ist der Ansatz ein Übertragungselement 
mit n gleichen Zeitkonstanten T1 anzunähern.

Hier beziehe ich mich auf "Taschenbuch der Regelungstechnik" von 
Lutz/Wendt.

Hier ist eine Tabelle aus diesem Werk - Kapitel 9 : Ermittlung 
mathematischer Modelle ...

n       2      3     4    5

Tg/Tu  9.64  4.58  3.13  2.43

Tg/T1  2.71  3.69  4.46  5.11      (auf 2 Dezimalstellen abgetippt)


Dein Tg/Tu = 200 /60 = 3.33

der nächste Wert in der Tabelle ist 3.13 -> n=4  -> Tg/T1 = 4.46

damit T1 =  44.80 [ms]

somit G(s) = Kp / [ ( 1 + 44.80 s) ( 1 + 44.80 s) ( 1 + 44.80 s) ( 1 + 
44.80 s) ]

Es ist auch eine Formel zur Berechnung der Tabelle angegeben,
aber die möchte ich lieber nicht abtippen.

mit freundlichen Grüssen

Autor: R. M. (exp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anstelle von T1 = 44.80 soll es natürlich heissen T1 = 44.80 * 10^(-3).

Dann kommt man zu folgender Impulsantwort ( anhang)

mfg

Autor: R. M. (exp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
... und zu folgender Sprungantwort (anhang)

Autor: Christoph Gradl (christoph_gradl)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
im Anhang die Matlab / Simulink und Maple 9.5 Dateien.

Jedoch weiß ich nicht wie "fit" du im Umgang mit Matlab / Simulink bist, 
ich hoffe die M-Files sind zum Verstehen.

Wenn du Matlab verwendest, kannst du auch die Identification Toolbox 
verwenden. Da kannst du direkt eine Übertragungsfunktion identifizieren.

http://www.mathworks.com/help/toolbox/ident/

Oder einfach mal ident in das Command Window schreiben und probieren. ;)

Es gibt eigentlich sehr viele Wege welche zum Ziel führen.

Ich habe auch selber mal mit der Optimization Toolbox einen PI(D) - 
Regler "eingestellt". Man erhält somit einen für die eigenen Vorgaben 
(beliebige Kostenfunktion) optimierten Regler.

http://www.mathworks.com/products/optimization/


LG,
Christoph

Autor: DickerLiebhaber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wow, ich bin begeistert, das ist 1A Hilfe!

@ R. M. Mir ist gar nicht in den Sinn gekommen, die Strecke durch ein 
System höherer Ordnung als PT-2 zu beschreiben. Durch ein wenig 
googlieren bin ich nun ebenfalls auf eine äquivalente Tabelle für 
PT-n-Glieder gestoßen. Sehr hilfreich, vielen Dank! Genau so einen 
Ansatz habe ich gesucht.

@ Christoph. Vielen Dank für die Daten. Ich denke, ich kann mich dort 
durchbeißen. Die ML Identification Toolbox war mir bis jetzt noch nicht 
geläufig, macht einen sehr guten Eindruck.

Autor: Tim (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Ich habe ein ähnliches Problem.
Ich arbeite mit der Software WinFact 7 und habe bereits auch versucht 
meine Strecke mithilfe von mehrenen Zeitgliedern gleicher Konstante 
nachzubilden. Ormann fällt auch weg, weil t30/t70 > 0,45.

Im Anhang sehr Ihr meine Sprungantwort. Habe ich vielleicht 
unterscheidliche Zeitkonstanten in der Antwort? Wie kann ich diese 
ermitteln?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.