mikrocontroller.net

Forum: FPGA, VHDL & Co. PT1 Verhalten nachbilden


Autor: AlteraUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
zum Testen eines Regelalgorithmus wollte ich in meiner TestBench einen 
Elektromotor nachbilden. Ich hab bisher auch alles soweit 
zusammenbekommen, bis auf das PT1 Verhalten des Motors. Testen konnte 
ich es schon ohne Verzögerung, aber das macht wenig Sinn, wenn der Motor 
den Änderungen direkt folgt.
Hat vielleicht schon jemand ein ähnliches Problem gehabt?
Wie kann ich das PT1 Glied in VHDL nachbilden? Ich hatte darüber 
nachgedacht die Differentialgleichung in eine Differenzengleichung 
umzuformen, aber irgendwie klappt das nicht ganz so wie ich mir das 
vorgestellt hab ;-).
Wenn ich
 habe, entspricht das ja der Änderung der Größe über der Zeit t. Kann 
ich das dann im Falle von einer Zeitdiskreten Betrachtung (von 
Abtastzeitpunkt zu Abtastzeitpunkt) das ganze so schreiben:
Weil dann würde aus der PT1 Differenzialgleichung:
Das werden:
Da wäre nur noch das Problem, wie muss ich die Abtastzeit T 
dimensionieren?
Danke.

Autor: Kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AlteraUser schrieb:
> Da wäre nur noch das Problem, wie muss ich die Abtastzeit T
> dimensionieren?

So als Faustregel würd ich mal einen Faktor 10 kleiner als die kleinste 
Zeitkonstante deines Motors ansetzen. Dann mal ausprobieren und schauen, 
ob sich das Ergebnis stark verändert, wenn du T noch kleiner machst. 
Eventuell kannst du T natürlich auch noch größer machen, dann wirds 
einfach auf der Hardware umzusetzen.

Grüße,
Kai

Autor: AlteraUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das habe ich auch gelesen, dass die Abtastrate um den Faktor 10 
größer sein soll als die kleinste im System vorkommende Zeitkonstante. 
Mein kleines Gedankenproblem ist nur, dass ich ja zu beginn am Ausgang 
den Wert 0 habe. D.h. dass dieser Ausdruck:
auch null ist.
Daher würde ja meine Gleichung zu Beginn wie folgt lauten:
Das würde doch heißen, dass der erste Wert den ich mit diesem PT1 Glied 
errechnen würde, ungehindert dem Eingangswert folgen würde. Das 
entspräche doch aber in keinster Weise einem PT1-Verhalten. Steh ich da 
vielleicht aufm Schlauch? ;-)

Autor: Kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im ersten Schritt fehlt der Wert von
 Den wirst du wohl pauschal zu Null setzen. Im zweiten 
Berechnungsschritt gibts ja dann aus dem ersten Schritt schon einen Wert 
für
 Ist halt am Anfang nicht exakt, das bessert sich aber dann ja bei 
stabiler approximation nach hinten raus.

Autor: AlteraUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay vielen Dank für die Hilfe, ich werde es einfach mal ausprobieren, 
mal sehen ob es so klappt ;-).

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

Bewertung
0 lesenswert
nicht lesenswert
Also ich konnte so eben eine erfolgreiche Simulation fertigstellen. 
Falls auch mal jemand ein solches Problem haben sollte, ich habe die 
folgende Gleichung:
In die Differenzengleichung:
Aufgelöst nach dem Ausgang:

Anbei noch das Simulationsergebnis aus ModelSim.
@Kai
Danke für die Hilfe.

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.