Forum: Mikrocontroller und Digitale Elektronik pi regler


von tobias hofer (Gast)


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:
1
pi_volt_out = pi(soll_volt, ist_volt);
2
unterlagerter_pi = pi_volt_out - soll_strom;
3
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

von Matthias (Gast)


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...

von tobias hofer (Gast)


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.

von Matthias (Gast)


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...

von Null (Gast)


Lesenswert?

N'volles 2 Quadranten Teil - nein?

von tobias hofer (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.