mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pi regler


Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

ich bin daran einen buck converter zu bauen der mit einem dspic geregelt 
und gesteuert wird. es sollte sowohl der strom als auch die spannung 
geregelt werden.

nun habe ich folgendes reglerproblem:

ich habe einen PI Regler (äusserer regelkreis) der die spannung regelt 
und einen inneren regelkreis der stromregler (kaskadenregelung).

beide regler unabhängig voneinander funktionieren bestens.

nun muss ich ja diese beiden regler zusammenschalten. hier habe ich 
jetzt jedoch das problem das ich das nicht hinbekomme. damit das problem 
ein bisschen verständlicher wird hier der pseudo code.


Pseudo code:
pi_volt_out = pi(soll_volt, ist_volt);
unterlagerter_pi = pi_volt_out - soll_strom;
pwm = pi(unterlagerter_pi, ist_strom);

mir ist einfach noch nicht klar wie ich den ausgang des volt pi regler 
mit dem soll strom verechnen muss.

vieleicht kann mir hier jemand weiterhelfen und einen guten tip geben.

beten dank

tobias

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...ich habe einen PI Regler (äusserer regelkreis) der die spannung 
regelt
und einen inneren regelkreis der stromregler (kaskadenregelung)....
 regler unabhängig voneinander funktionieren bestens.


Nun, das Widerspricht sich aber...

Wie können die unabhängig sein und zugleich kaskadiert ???

Naja:

Also: der Stromregler bekommt einen Stromsollwert. Diesen führt der 
Stromregler nach.
Der Stromsollwert ist das Ausgangssignal des Spannungsreglers (also die 
Stellgröße des U-Reglers).
Das heißt, deine Funktion
PI_voltregler ( U_ist, U_soll) muss einen Stromsollwert zurückliefern..

Dann gilt (pseudocode)

I_soll                       = PI_Voltregler ( Uist, Usoll);
PWM_duty (oder was weiß ich) = PI_Stromregler ( I_soll, I_ist);

Sowas ist ein unterlagerter Regler...

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

>Wie können die unabhängig sein und zugleich kaskadiert ???

Ich habe die beiden Regler separat ausprobiert. Nur um zu überprüfen ob 
die
Spannungs und Stromregelung funktioniert. Die waren natürlich nicht 
zusammengeschalten.

>Das heißt, deine Funktion
>PI_voltregler ( U_ist, U_soll) muss einen Stromsollwert zurückliefern..

Also der äussere Regelkreis ist ja der Spannungsregler, der bekommt 
einen Soll Spannungswert der Ausgang ist dann der Sollstrom für den 
Stromregler.

Nun möchte ich ja aber auch einen z.B. maximalen Strom vorgeben. Wo 
programmiere ich das rein? Da liegt mein Problem.
Der Ausgang des Spannungsregler = Sollstrom ist ja noch unabhängig vom 
Vorgegebenen maximalen Strom.

Vieleicht sehe ich hier den Wald vor lauter Bäumen nicht. Am Ende sollte 
ich auf jeden Fall ein Netzteil haben bei dem ich Strom und 
Spannungvorgeben kann.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
te ich ja aber auch einen z.B. maximalen Strom vorgeben. Wo
programmiere ich das rein? Da liegt mein Problem.
Der Ausgang des Spannungsregler = Sollstrom ist ja noch unabhängig vom
Vorgegebenen maximalen Strom....


nicht ganz.

Dann macht man das so:

I_soll                       = PI_Voltregler ( Uist, Usoll);
I_soll* = begrenzt ( I_soll );
PWM_duty (oder was weiß ich) = PI_Stromregler ( I_soll*, I_ist);


So ist die saubere Lösung. Du tust einfach den SOllwert des Stromreglers 
auf einen (einstellbaren) Maximalwert beschränken. Sind Spule und 
Stromrückführung ordentlich berechnet, funktioniert das auch sehr gut

Interessehalber kannst du mich ja mal auf dem laufenden halten.
Mich würde auch der Schaltplan mal interessieren...

Autor: Null (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
N'volles 2 Quadranten Teil - nein?

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias

Besten Dank, Wie gesagt ich habe den Wald vor lauter Bäumen nicht 
gesehen.

Ich werde feedback geben wenn ich das ganze ausprobiert habe.

Das Netzteil ist ein synchroner Buck Konverter. Ich erreiche nun einen 
Wirkungsgrad von 96%. Ich werde sobald ich das Schema überarbeitet habe 
einmal posten.

Gruss Tobias

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.