mikrocontroller.net

Forum: FPGA, VHDL & Co. Impelemtierung eines Störgrößenbeobachters auf FPGA/VHDL


Autor: Robert M. (andro86)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bemühe mich gerade einen Störgrößenbeobachter zu implementieren. Von 
der Strucktur sieht er so aus wie auf dem angehängten MatLab Modell. Es 
handelt sich um eine einfache I-Regelstrecke, dem ein einfacher 
(nachgebildeter) Zustandsregler vorgeschaltet ist. Dieser Zustandsregler 
besitzt intern einen PWM-Generator, der die Regelgröße auf einen festen 
Wertebereich von 0-500 abbildet und somit einen Flaschenhals in meinem 
Code darstellt. Und genau hier ist mein Problem, da die 
Integrierer-Vorverstärkung gerade einmal nur 0,1 beträgt, gehen mir bei 
der zeitdiskreten Wertverarbeitung des FPGAs zu viele Werte verloren. 
Was ist damit meine ist in Ergebnisse zu sehen. e_Obs_gain ist der Wert, 
der nach dem Integrier-Vorverstärker raus kommt und e_Obs_gain_fix ist 
der Wert, mit dem mein FPGA arbeitet. Durch diesen Quantisierungsfehler 
erreiche ich nicht meinen Sollwert und ich wollte nachfragen, ob ihr 
irgendwelche Tips habt, wie ich das compensieren kann.
Mit mehr Nachkommastellen arbeiten geht hier nicht wegen dem 
PWM-Generator, der den Eingangswert des Integrators auf 500 begrenzt.

Autor: Klakx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ich noch nicht genau drin stecke nochmal gefragt..
Nutzt du jetzt den Wertebereich schon voll aus?

Und kannst du das mit den 0,1 nochmal erklären?

Idealisiert ohne PWM bräuchtest du wieviele Werte?

Autor: Robert M. (andro86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Regelsystem besteht aus einem Step-Down als Stellglied mit dem Duty 
Cycle als Stellgröße. Die Regelstrecke ist demnach meine Drossel.

Die 0.1 kommen so zusammen: Meine Regelstrecke hat eine Zeitkonstante 
von T_L = 100 µs. Die zu regelnde Größe taste ich mit Ta = 10 µs. Damit 
ergibt sich für die Verstärkung meines zeitdiskreten Integrators Ta/ T_L 
= 0,1.

Ich könnte den kompletten Wertebereich meines PWM-Generators voll 
ausnutzen, jedoch spuckt mir der Quantisierungsfehler stärker in die 
Suppe je kleiner der verwendete Wertebereich ist.

Der PWM-Generator (im Bild im Block Current Control i_L2 Observer) muss 
drinen sein, weil er zur Streckennachbildung dazu gehört.

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es scheint sich hier aber mehr um ein generelles mathematisches Problem 
zu handeln, als um ein FPGA-Problem, oder?

Autor: Robert M. (andro86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Es scheint sich hier aber mehr um ein generelles mathematisches Problem
> zu handeln, als um ein FPGA-Problem, oder?

was genau meinst du?

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robert M. schrieb:
> was genau meinst du?

Dass du das gleiche Problem in eine Simulation hast, bei einer 
Implementierung auf einen µC, oder einem Aufbau mit diskreten 
Bauteilen..
Es ist ein Problem der Dimensionierung deiner Regelschleife und nicht 
ein Problem, dass erst bei der Implementierung auf ein FPGA auftritt, 
weil das FPGA zu klein, langsam,.. ist.

Autor: Kommunikator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem scheint mir hier die Abtastung mit Faktor 10. Ein bissl 
wenig!

Autor: Weltbester FPGA-Pongo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich würde mal interessieren was hier rausgekommen ist. TE?

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.