Hallo zusammen,
Eine Frage an alle Regelungstechnikfreunde...!
(Bei Regelungstechnikfeinde -> bitte wegklicken ;))
Ich versuche mal auf das kollektive Wissensportal hier zuzugreifen, in
der Hoffnung vielleicht einen Tipp zu bekommen.
es geht um den Reglerentwurf von Schaltnetzteilen.
Wir entwickeln einen Leistungs-DCDC-Converter (Step-Down) für hohe
Ausgangsströme. Der Wandler ist eigentlich in seiner ersten Version
schon fertig, es geht jetzt nur noch um die Optimierung.
Nun zur Problemstellung:
Die Anforderungen bezüglich der Last sind sehr hoch.
Der Wandler muss starke Lastsprünge ausregeln können, kleine Ströme
sowie
auch sehr sehr hohe Ströme liefern, und mit quasi jeder beliebigen
Lastimpedanz "zurecht" kommen, d.h. ohmsch, kapazitiv und induktiv.
"zurecht kommen" heißt, dass es nicht schwingen darf, und im
Zweifelsfall bei Überlast eben Abschalten.
Der Wandler wird im Current-Mode-Betrieb geregelt. Zur Spannungsregelung
zunächst ein einfacher PI-Regler. Der Currentmode vereinfacht einem
schonmal das Leben, weil dann meine Regelstrecke näherungsweise nur noch
PT1-Verhalten hat. Doch das Problem ist, dass aus mechanischen Gründen
wir unsere Ausgangskapazität vom Wandler sehr klein gewählt haben. Das
macht mir sehr zu schaffen, weil dadurch bei starken Lastsprüngen keine
Stützkapazität mehr da ist und der Regler quasi alles alleine machen
muss. Weiterhin neigt die Regelschleife dadurch leicht zum Schwingen,
wenn die Last sehr hoch ist und externe Induktivitäten dann mit der
Ausgangskapazität einen Schwingkreis bilden. Folglich war ich gezwungen
den P-Anteil vom Regler sehr klein zu wählen. Zusätzliche Totzeit- und
PT1-glieder in der Regelstrecke "fressen" mir noch die Phase im oberen
kHz-Bereich weg.
Hab das alles schon als mathematisches Modell im Bodediagramm
aufgestellt ...
Ein Experiment, die Last über den I-Anteil zu regeln (d.h. schneller
I-Regler), hat am Anafang gut funktioniert, aber nur solange ich keine
große Kapazität angeschlossen hatte. Logisch, die Kapazität braucht auch
ihre Zeit, bis sie geladen ist, andernfalls schwingt der Integrator wenn
er zu schnell ist (hab ich dann auch über das Bode-Diagramm gesehen).
und genau hier liegt die Zwickmühle...
Der Wandler läuft zur Zeit sehr stabil, regelt im msec-Bereich aus, aber
jeder fragt mich ob die Regelung noch schneller geht.
gibt es hier einen Trick ?
Wie machen es handelsübliche Schaltnetzteile ?
Sind die z.b. nur auf eine maximal zulässige Kapazität ausgelegt ?
Vielleicht weiß ja jemand von euch was... :)
Habe bisher leider noch keine Application-note gefunden, wo genau dieses
Problem behandelt wird.
In meiner Literatur bekomm ich auch keine Infos darüber.
> Der Wandler muss starke Lastsprünge ausregeln können,> kleine Ströme sowie auch sehr sehr hohe Ströme liefern,
Da ist natürlich ein Schaltregler sehr ungünstig.
Er kann prinzipbedingt den Strom nur langsam ändern,
weil ja die Spule die Stromänderung gerade verhindert.
Nimmt man eine kleine Spule, ändert sich der Strom auch
in jedem Impuls stark, also hat man starken Ripple.
Macht man nun den Ausgangselko gross um den Stromripple
wenigstens nicht in einen Spannungsripple umzuwandeln,
dann sind Spannungsänderungen nur langsam durchzuführen.
Und ist die Impulsdauer lang, ist nicht nur die geringst
mögliche Reaktionszeit lang, sondern auch die Energie
pro Impuls eher gross, es ist also schwer konstant niedrige
Leistung zu übertragen.
Ihr müsst erst mal ermitteln was euch wichtig ist.
Wenn geringe leistung (1mA) auch in Form von kurzen
Impulsen passiern darf (Dreieck von 0mA auf 10mA
ansteigend, dann von 10mA auf 0mA fallend, dann 9 mal
so lange Pause), dann ist es nicht so schlimm, aber
schwer messbar. Meist fällt nämlich auch die Spannung
in der Pause auf 0V.
Hat man das was erlaubt wäre zusammengetragen (eierlegende
Wollmilchsäue machen die Suche halt schwieriger, man kann
sich auch selber ins Knie schiessen), dann wisst ihr, wie
kurz ein Impuls sein darf, wie klein die Spule sein muß
und wie klein der Elko sein kann. Da ihr schnelle Reaktion
haben wollt, werdet ihr versuchen, Elko und Spule so klein
wie möglich zu machen, allerdings steigt dadurch der Ripple.
Hat man eine Auslegung, die der Schalt-MOSFET noch schafft,
die von Spule und Elko getragen werden, dann kommt die
Regelung. Neben der langsamen Art (man mittelt den
einzustellenden Strom über mehrer Impulse) kann man per
Sample&Hold genau den Mittelwert über einen Impuls bilden,
den letzten Impuls, und den nächsten Impuls danach
ausrechnen.
Also: Lag der Mittelwert (Strom oder Spannung, was euch
interessiert) im letzten Impuls über/unter dem Sollwert,
muß der nächste Impuls kürzer/länger werden. War aber
der letzte Impuls sowieso schon eine Korrektur damit die
Spannung sinkt oder steigt und wäre nach dem nächsten
Impuls keine Korrektur mehr notwendig, dann muß das
eingerechnet werden. Kann man analog oder digital machen.
Noch schneller mann man regeln, in dem man die abgezogene
Energie aus dem Ausgangselko kontinuierlich misst, und
das Ergebnis für den nächsten Impuls annimmt.
Man bildet also ein Modell des Schaltreglers "wenn ich
1us einschalte übertrage ich (unter aktuellen
Rahmenbedingungen wie Eingangsspannung und Ausgangsspannung)
? Joule" und sagt, "wenn während der Dauer des letzten
(ladenden) Impulses die (entladende) Energiemenge soundso
hoch war (x), dann pumpe ich DIEMAL (also im nächsten
Impuls) genau x hinein.
Dann schwankt zwar Spannung und Strom weil ich ja einen
Impuls hinterherhinke, aber das versuche ich NICHT
auszugleichen. Den Ripple, der sich innerhalb eines
Impulses ergibt, den kann ein Schaltnetzteil sowieso nicht
regeln. Ich bin mit der Methode immer so schnell, daß
im nächsten Impuls alles korrigiert wird, was der letzte
Impuls als Fehler hatte.
Problem der Geschichte: Das geht nur für kleine Fehler,
bei grossen braucht man mehrere Impulse um sie auszugleichen,
der Regler muß also mit Sättigungseffekten klarkommen.
Ganz allgemein hat man meist noch ein Problem wenn der
Schaltregler vom kontinuierlichen i den diskontinuierlichen
Betrieb geht und bei diskontinuierlichen auf Grund der
niedrígen abgezogenen Leistung sogar Impulse ausgelassen
werden müssen. Eine Mindestlast hilft, diesen Betriebsbereich
zu umgehen.
Schau Dir vielleicht mal Class-D-Endstufen an. Das sind im Grunde nichts
weiter als Schaltregler mit Synchrongleichrichtung, die +Vb nach -Vb und
zurück mit 20kHz schaffen.
Bei Current Mode ist je nach d auch eine Slope Compensation erforderlich
um SHOs zu unterdruecken.
Auch die Nullstelle welche der ESR des Ausgangskondenstors bildet
mitmodelieren byw beachten, eventuel hilft diese um die Phase zu heben.
Wenn kerkos im Einsaty sind eher unwahrscheinlich.
Was du brauchst ist zusaetzlicher Phasenboost, zb durch ein Lead Glied,
also eine Zusaetzliche Nullstelle mit Polstelle. Gemeinsam mit dem PI
Regler hat man dann zwei Nullstellen, wie bei einem PID auch, um die
Phase bei hoeherer Frequenz zu heben und um dann mit der Verstaerkung
raufzugehen um die Crossoverfrequenz zu erhoehen.
Multiphasen Buckwandler bieten auch in Bezug auf Lastausregelung einen
Vorteil.
Erweitere deinen Regler um eine Nullstelle, Pol kommt sowieso hinzu...
Was aber auch die schnellste Regelung nicht verhindern kann ist die
limietierung der Stromsteilheit in der Drossel. Bei einem srunghaften
Lastanstieg vergeht einfach zeit bis der Strom, auch bei noch so
schnellem Regler, raufgerampt wird. In dieser Zeit wird der
Ausgangskondensator leergesaugt mit entsprechendem Spannungseinbruch.
Ein kleiner Induktivitaet erlaubt schnellere Stromanderungen, allerdings
steigt dann klarerweise der Rippel, un man braucht vl wieder mehr C.
Bei kleinem L geht der Wandler sehr bald ein den DICM, was wieder wie
Strecke ändert. Um dann auch noch schnell zwischen Mode Transitionen zu
schalten macht man den Regler adaptiv, in der Regel nur mehr Digital zu
machen.
Die erste Nullstelle wird wie gewohnt aus R2 und C1 gebildet, die zweite
durch R1 und C3. Soetwas verwenden in der Regel Voltage Mode geregelte
Wandler.
Hysereseregler sind prinzipbedingt sehr schnell, und werden bei
Hocjstrom Bucks oft verwendet. Stichwort: "Fast Hysteretic Control"
MFG
Hallo...
danke für eure Beiträge !
@Ben:
jetzt weiß ich was ich mit unserem Wandler mache, wenn ich mal
zuviel Zeit haben sollte. Am Reglereingang ein Audiosignal und am
Leistungsausgang eine PA-Box ;)
@MaWin:
also bei uns ist beides klein, das C und das L auch. Spannungsrippel in
Bezug zur Nennspannung nur etwa 3%.
Da L klein, kann Strom sehr schnell ansteigen. Regelungstechnisch gut,
für den Überlastschutz aber wiederum unschön, weil die Reaktionszeiten
dann sehr schnell ausfallen müssen. Dazu hab ich mir aber schon was
ausgedacht :)
Deine Methode zur Regelung klingt beim Durchlesen zunächst verständlich.
Die genaue Umsetzung ist mir aber (noch) nicht geläufig.
Du meinst nicht zufällig die Hsyterese-Regelung ? (sorry, wenn ich jetzt
total daneben lag ;))
@Fralla:
Ja, das mit dem D-Anteil hab ich mir auch schon überlegt, hatte es in
der Vergangenheit mal simuliert, werde es nochmal versuchen.
Was mich immer beschäftigt ist dieses Plateau im Bodediagramm bei der
Openloop. Wenn ich den I-Anteil gezwungenermaßen eher langsam einstelle,
so wandert mir der Pol weg und es ensteht dann diese Stufe im
Frequenzgang, siehe Handskizze im Anhang (Phasengang hab ich der
Einfachheit weggelassen, kann man sich dazudenken).
Ich überleg mir ständig, wie ichs schaffe diese Stufe oberhalb der
0dB-Linie zu bringen, aber ohne dass der Wandler dann schwingt und
immernoch genug Phasenreserve hat.
Vor allem wenn man dann so eine Resonanz noch drin hat.
Was meint ihr ? Vielleicht wird jetzt mein Problem noch etwas
verständlicher...
Ergänzung:
Leerlauf bzw. ganz kleine Last sichern wir mit einem Burst-Betrieb ab.
Paar pulse ein und paar Pulse aus, im Mittel die Sollspannung.
Hysterese-Regelung bzw Zweipunktregelung finde ich bei uns nicht so gut,
weil
wir einen Leistungstrafo verwenden, und der sättigt ziemlich schnell bei
zu langer Aussteuerung...
Die regelungstechnischen Betrachtungen von mir beziehen sich nur auf den
CCM-Modus. DCM wäre nochmal extra. Das als Anmerkung.
> Du meinst nicht zufällig die Hsyterese-Regelung
Nein.
Die führt zu belibigen frequenzen und ggf. immens hohem Strom in der
Spule.
Ich gehe bei Schaltreglern von fester Taktfrequenz aber variabler
Impulsbreite aus und hab nur 3 verschiedene Reglermethoden skizziert,
die mit immer mehr Aufwand zu immer schnellerer Regelung führen, weil
sich die letzte auf genau eine Impulsbreite beschränkt. Wenn du nur 3%
Ripple hast, kannst du natürlich nicht schneller als 33 Taktimpulse
regeln. Mehr als 20% Ripple musst du schon zulassen wenn es shcnell
gehen soll.
>Wenn du nur 3% Ripple hast, kannst du natürlich nicht schneller als 33 >Taktimpulse regeln. Mehr als 20% Ripple musst du schon zulassen
Ich denke nicht, dass er nur 3% in der Drossel hat.
>Spannungsrippel in Bezug zur Nennspannung nur etwa 3%.> aber ohne dass der Wandler dann schwingt und immernoch genug >Phasenreserve hat.
Diess peaken bei Induktiver lasst zeiht die Phase natürlich sehr schnell
runter. Bei soetwas hilft eben eine weitere Nullstelle (oder in PID
Berachtungsweise ein D-Anteil). Aber auch achten dass die Polstellen
(welche ja immer Zwingen dazukommen) nicht unnötig weit weg(hoch) sind
(sonst fängt man Noise von wo auch immer ein). (Deshalb hab ich in dem
OP-Ampo regler auch C2 und R3 eingezeichtnet).
Aber auch Hysterese Regler in betracht ziehen, es gibt auch Methoden um
den Strom zu kontrollieren und die f nicht ausufern zu lassen.
Das könnte interessant sein:
http://floridapec.engr.ucf.edu/publications/conferences/pesc/WeiguPESC%5B1%5D.pdf
Synchroniation eines Hysetresegeregelten Buck mittels PLL ist im Anhang,
zwar etwas andere Leistung, aber das Prinzip ist immer Anwendbar.
Hystereseregelung ist nicht gleich hystereseregelung, da gibt es mehr
Ausführungsformen als in der standard Dutycycleregelung.
Ich habe mal einen DC/DC Wandler für Telekom/Funk Busse gebaut, eine
klassische synchrone Multiphasenbuck Topologie. Da waren Anforderungen
extreme Anforderungen (zig Ampere Pulslasten bis weit über 30kHz) dabei.
Statt der klasischen Dutycycleregelung mit überlagerter Current Share
Reglung kamm eine PLL synchronisierte Hystereseregelung zum Einsatz,
wobei das Current Sharen dann alles andere als Trivial ist (deshalb das
Sync).
Aber in deinem Fall würde ich erst ernsthaft über einen D-Anteil
nachdenken...
MFG
MaWin schrieb:> Mehr als 20% Ripple musst du schon zulassen wenn es shcnell> gehen soll.
Beim Stromrippel haben wir etwa 20%, da würde es gehen.
Beim Spannungsrippel sind 20% für unsere Anwendung nicht zulässig.
Außerdem kann wie gesagt die Ausgangskapazität quasi fast unendlich
sein.
Man soll in der Lage sein jeden x-beliebigen Verbaucher anzuschließen.
Soll heißen, dass plötzlich mal ein 100mF-Elko dranhängen kann. Da würde
ich von meinen 20% Spannungsrippel dann nicht mehr viel sehen.
Aber gut mal was anderes gehört zu haben.
ich werde es bei Gelegenheit versuchen zu verinnerlichen ;)
Verschickt mich gerade etwas...
Muss erst drüber nachdenken, was deine Methode bedeuten würde....
d.h. Umsetzung, Implementierung, Stabilitätsverhalten, Vor- und
Nachteile.
Fralla schrieb:> Aber in deinem Fall würde ich erst ernsthaft über einen D-Anteil> nachdenken...
Schon dabei, aber für heute mach ich Schluss :)
Auch dir Danke für deinen Anhang bzw Link. interessant.
Hallo nochmal,
habe zwischenzeitlich gemessen und neue berechnungen gemacht.
wollte erstmal überprüfen inwieweit mein mathematisches modell mit dem
praktischen verhalten übereinstimmt. verblüffend gut.
wenn ich z.b. den P-Anteil immer schneller einstelle, so schwingt der
wandler auch genau bei der konfiguration, bei der die phasenreserve im
modell ziemlich genau 0° hat :) siehe bild...
wenn ich einen D-Anteil noch dazu mache, reicht es zwar für die
Konfiguration aus dem Bild immernoch nicht, aber ich habe schon deutlich
mehr Freiheitsgrad.
Jetzt habe ich noch versucht, den I-Anteil (Integrator) bei hohen
kapazitiven Lasten zum Schwingen zu bringen, aber ich kriegs nicht mehr
hin.
Wenn ich den I-Anteil verhältnismäßig schnell einstelle und gleichzeitig
sehr große kapazitive Lasten habe mit geringem ESR, so war meine
Überlegung, dass der Regler schwingen sollte, weil er versucht die große
Kapazität (für den Regelkreis großes Tau) zu schnell zu laden und dann
hinterher wieder dagegen regeln muss.
Im Phasengang geht die Phase dabei bis auf fast -180°, aber eben nur
fast, weil mit zwei Verzögerungsglieder (I-Glied + großes PT1) schafft
man nur maximal -179,999°. vielleicht liegt da der Haken ?
(siehe zweites Bild)
Aber wir hatten einen Fall, wo der Wandler bei großem C definitiv
geschwungen hat mit langsamer Frequenz, so um die 300Hz.
Dann dachte ich, haja cool, muss ich den I-Anteil langsamer machen weil
das Ausgangs-C zu groß ist. und siehe da, Schwingung war weg.
Aber irgendwie scheint da noch was von der Theorie her nicht zu
passen...
Vielleicht antwortet ja hier noch jemand was ;)
Danke schonmal!
Hallo stephan,
könntest Du evtl. einen kurzen Schaltplanauszug zeigen?
Bzw. kurz erklären, wie Du den Frequenzgang gemessen hast?
Würde mich sehr interessieren.
Vielen Dank!
Viele Grüße,
Michael
Ich denke bei der Reglerdimmensionierung weniger in Kp, Ki, Kd sonder
eher in Pol und Nullstellen. (klar, kann man aber einfachst umrechnen).
Ganz kann ich dein Problem nicht erfassen, aber vl hilft das (wenn du es
nicht schon weist):
Der Kondensator macht eine Nullstelle wn=1/(ESR*C), welche hilft die
Phase anzuheben. Liegt diese Nullstelle vor der Crossoverfequenz so kann
es sein, dass man ohne D-Anteil auskommt. Bei kleinem ESR liegt diese
Nullstelle sehr hich, sodass sie nicht mehr Hilft. Hier muss mit einem
D-Anteil nachgeholfen werden, wobei zu beachten ist, dass keine
"conditional-stability" auftritt. Was bedeuted, dass der Amplitudengang
die 0db unterschreitet dann wieder nach oben geht um die 0db linie dann
bei der gewünschten Phasenreserve zu schneiden. Das kann Voltage Mode
Buck leicht vorkommen, bei Current Mode weniger.
Um die jetzt Konkret zu helfen brächte man mehr Informationen über den
Wandler, Controller, Berechnung, Messung.
Die Bilder, Mathcad?
Ich nehm so ein Teil zum Messen: http://www.venable.biz/pr-3235.php,
dammit kann man auch ohne Probleme mit einem DSP/FPGA Regler Open Loop
messen. Und ganz einfach die Messungen in Matlab exportieren und dann
fitting Funktionen anweden zur Streckencharakterisierung, das ganze
mehrdimmensional (zb von Temp, Uin, Last abhängig). Erleichtert das
Design adaptiver und nichtlinearer Regler ungemein.
Der Meister Ridley bietet auch so ein Teil an:
http://www.ridleyengineering.com/analyzer.htm
MFG
Hallo,
ihr habt es schon richtig erraten...es ist ein Mathcad Bodediagramm.
Um die Frage von Michael K. gleich mit zu beantworten:
nein, ich habe den Frequenzgang nicht direkt gemessen, sondern ich habe
die reglerparameter so lange geändert, bis der Wandler geschwungen hat,
und dann lediglich geschaut, ob das mit der Berechnung in Mathcad
zusammenpasst, um quasi eine Abschätzung machen zu können, ob die
Berechnung einigermasen zu stimmen scheint oder ob ich weit daneben
liege...
Ich habe das Regelungsmodell komplett zufuß in Mathcad gemacht, also
jeden Funktionsblock als komplexe Übertragungsfunktion dargestellt und
hinterher miteinander verrechnet.
Bin selber noch recht neu in dem Thema, daher hab ich durch diese
aufwendige Herangehensweise auch bereits einiges gelernt. In Zukunft
werde ich sowas besser in z.b. matlab simulink machen, weil es ggf.
einfacher von Hand geht.
Schaltplanauszug kann ich leider nicht machen, da es sich hier um ein
kommerzielles Projekt handelt und ich auch nicht weiß, wer hier alles
mitliest.
Das generelle Verhalten der Regelung von Wandlern ist aber meistens sehr
ähnlich denke ich. Zumindest die Probleme, auf die ich hinaus will, sind
eher genereller Natur.
Ich versuch mal paar Eckdaten zu geben:
Es ist ein Universal Buck Wandler für hohe Ausgangsströme (100A
Nennstrom) mit Vollbrücke und Leistungstrafo. Schaltfrequenz im Bereich
von 100kHz.
Sekundärseitig mit aktiver Gleichrichtung.
Die Glättungsdrossel beträgt um die 1uH, sehr klein.
Glättungskondensator wie gesagt auch sehr klein, im Bereich von 150uF.
Verbraucher sind insofern nicht spezifiziert, daher kann es vorkommen,
dass der Ausgang rein ohmsch, kapazitiv, oder auch induktiv belastet
wird.
Es kann mal sein, dass plötzlich ein Riesen-100mF Elko dranhängt, im
nächsten Fall gar keine Kapazität. Das ganze bei unterschiedlichen
Strömen zwischen 1A und über 100A, auch wechselnd mit Lastsprünge.
Die Regelung ist rein analog. d.h. Ausgangsspannungsregelung mit
unterlagerter Stromregelung (Currentmode).
Die Regelstrecke besteht aber noch aus einem weiteren PT2-Glied,
aufgrund einer Isolationsstrecke, die dazwischen üebrwunden werden muss
(Filterung etc.). Dadurch habe ich das Problem, dass die Phase im oberen
kHz Bereich verhältnismäßig steil abfällt.
Der Wandler ist eigentlich vom Konzept her schon fertig, fehlt noch die
Feinheiten.
Meine Frage von eben zuletzt war so, dass ich wissen wollte, ob ich
aufgrund der unterschiedlichen Ausgangskapazitäten ich meinen Integrator
vom Regler entsprechend auch lansgam einstellen muss, wenn ich von einem
großen C als Worstcase ausgehe.
Für den Fall dass dann kein C angeschlossen ist, entsteht aber diese
Stufe im Freqeunzgang (siehe Mathcad Bild von vorher). Diese Stufe kann
aber je nach Arbeitspunkt dazu führen, dass die 0dB-Linie zweimal
durchtreten wird, so ähnlich wie Du (Fralla) es schon beschrieben hast.
Bei den Parametern denke ich auch eher an Pol und Nullstellen in Form
von Zeitkonstanten.
Danke...