Wie steuere ich eine Buck-Boost-Wandlerschaltung von einem Mikrocontroller aus?

Ich lese in letzter Zeit über Buck-Boost-DC-DC-Wandler und eine Sache ist mir immer noch nicht ganz klar. Die meisten Wandler-ICs, die ich gesehen habe, haben einen Eingangspin für eine Rückkopplungsschleife. Zum Beispiel erfordert LTC3780 einen Spannungsteiler, bei der typischen Anwendung wird er mit R1- und R2-Widerständen (links) erstellt:

Geben Sie hier die Bildbeschreibung ein

Soweit ich weiß, ist die einzige Möglichkeit, eine solche Schaltung von einem Mikrocontroller aus einzustellen, die Verwendung eines digitalen Potentiometers. Das Problem ist, dass digitale Potentiometer, die ich gefunden habe, entweder ziemlich teuer sind oder eine große Toleranz haben, wie 20 oder 30%.

Gibt es eine bessere Möglichkeit, die Ausgangsspannung solcher Wandler einzustellen? Und wenn nicht, gibt es andere Arten von ICs, die eine einfachere Steuerung über einen Mikrocontroller ermöglichen?

reicht es das fb netzwerk einzustellen? Müssen Sie nicht auch die Kappen und den Induktor entsprechend ändern (außerhalb eines bestimmten Bereichs)?
Sie suchen einen großen Spannungsbereich? Es gibt digitale Set-Regler, die man über i2c einstellen kann. Es gibt auch Pmics-Power-Management-ICs, die Sie verwenden können, um Spannungen zu begrenzen und Strom und Spannung zu betrachten
Sie könnten auch erwägen, Ihren eigenen um einen Mikrocontroller herum zu entwerfen und den IC vollständig zu überspringen.
Ist es möglich, die Rückkopplungsstufe mit einem Hochgeschwindigkeitspuffer zu isolieren, gefolgt von einem Summier- oder Differenzverstärker, damit eine MCU mit einer DAC- oder GPIO-basierten R2R-Leiter einen Offset/eine Anpassung an die Spannung des Rückkopplungsnetzwerks anwenden kann, um die Ausgangsspannung anzupassen digital (trotz analoger Schnittstelle)
R2 und R1 bilden den Rückkopplungsteiler für den VOSENSE-Pin. Sie würden im Grunde diesen Knoten nehmen und das tun, was ich zuvor gesagt habe, indem Sie eine analoge Schaltung einfügen, um einen digitalen Offset über einen DAC zu ermöglichen
@kolosy nicht wirklich, Kappen und Induktivitäten hängen stärker von der Frequenz usw. ab. Ich könnte einfach das Worst-Case-Szenario wählen (für die meisten Gleichungen liegt es bei 50% Einschaltdauer).
@SomeHardwareGuy Ich bin mir nicht sicher, was Sie mit breitem Bereich meinen. Ich möchte dies mit einem 12-V-Eingang und einem Ausgang von einigen V bis 15,5 V betreiben. Können Sie einen solchen IC nennen? Ich war mir nicht sicher, wonach ich suchen sollte - ich suchte nach einem synchronen Buck-Boost-Wandler mit externen Transistoren.
@ pjc50 das war mein ursprünglicher Plan, aber ich erkunde meine Möglichkeiten
@KyranF Ich bin mir nicht sicher, was einige dieser Dinge bedeuten (wie die R2R-Leiter), aber ich werde mehr darüber lesen
@PiotrSarnacki R2R Leiter ist für parallele IO-Pins, um einen DAC zu machen. Wikipedia/Google zeigt, wie es funktioniert

Antworten (2)

Obwohl der absolute Wert des Widerstands eines digitalen Potentiometers um 30 % variieren kann, ist die Anpassung zwischen den internen Widerständen wirklich gut. Das bedeutet, dass bei einem Spannungsteiler (nämlich einem Potentiometer) die Genauigkeit der Spannungsteilung ziemlich gut ist, da der Spannungsteilerfaktor vollständig vom Verhältnis der verwendeten Widerstände abhängt, nicht von ihrem absoluten Wert.

Wenn Ihre Ausgangsspannung unter der maximalen Nennspannung des digitalen Potentiometers liegt , können Sie einfach ein digitales Potentiometer verwenden, um das Rückkopplungsnetzwerk ohne Fanfare zu ersetzen. Die meisten digitalen Potis können nur 5,5 V aufnehmen, aber einige sind für wesentlich mehr ausgelegt.

Wenn Ihre Ausgangsspannung höher ist als die maximale Nennleistung des digitalen Potentiometers oder wenn Sie eine Feineinstellung wünschen , können Sie das digitale Potentiometer mit externen Widerständen kombinieren, um einen zusammengesetzten Spannungsteiler zu bilden. Beachten Sie, dass dies dazu führt, dass die Absolutwertvariation des digitalen Potentiometers ins Spiel kommt. Es gibt Techniken, um diesen Fehler zu minimieren, wie hier beschrieben .

Wenn Sie digitale Potentiometer ganz vermeiden möchten , können Sie den Rückkopplungsteiler auch von einem D/A-Eingang empfangen lassen, wie hier anhand eines D/A-Laufwerks gezeigt v C T R L :

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Da die Rückkopplungsspannung v F B wird vom LTC3780 auf 0,8 V geregelt, die Ausgangsspannung wird geregelt auf:

v Ö = ( 1 + R 2 R 1 ) 0,8 R 2 R 3 ( v C T R L 0,8 )

Einstellung v C T R L bis 0,8 V bewirkt keine Änderung der Ausgangsspannung; zunehmend v C T R L bewirkt, dass die Ausgabe abfällt und abnimmt v C T R L lässt es steigen.

Es sollte beachtet werden, dass Sie, egal was Sie tun, den Regler sorgfältig bewerten und Komponenten anpassen sollten ( L , C Ö U T , ich T H Netzwerk), um die Stabilität über alle Betriebsbedingungen hinweg zu gewährleisten. Im Zweifel tendieren Sie hier eher zur konservativen Seite.

das ist eine sehr informative Antwort, danke! Was ist die Rolle von CFF in der letzten Option? ist es für die Stabilisierung der Ausgabe? Und wenn ja, welchen Wert sollte ich wählen, ich nehme an, etwas Kleines wie 470n mit einem ziemlich kleinen R3?
@PiotrSarnacki, C F F ist ein Feedforward-Kondensator. Sie können beispielsweise einen Wert von 1 nF auswählen. Das Vorhandensein von R 3 reduziert die Loop-Verstärkung, so wie Sie es vielleicht möchten C F F um die Schleifenverstärkung gegenüber dem Rückkopplungsteilerverhältnis unveränderlich zu halten. Das heißt, Sie möchten es vielleicht auch nicht. Wie bereits erwähnt, sollten Sie die Stabilität des Reglers sorgfältig bewerten ... und die Auswahl der Komponenten könnte eine langwierige Frage (und Antwort) für sich sein. Also... du könntest gehen C F F nicht ausgefüllt, und fügen Sie es nur hinzu, wenn Sie feststellen, dass es benötigt wird.
Ich habe mit der Schaltung aus der letzten Option in LTSpice gespielt und entweder verstehe ich es wirklich nicht oder ich mache etwas falsch. Das Problem ist, dass Vosense, soweit ich das Datenblatt verstehe, ein Eingangspin ist. Die Vout-Spannung wird von der Buck/Boost-Schaltung auf der rechten Seite (MOSFETs usw.) gesteuert, und dann liest Vosense die durch den Spannungsteiler geteilte Ausgangsspannung und passt die Arbeitszyklen der MOSFETs entsprechend an. Es scheint, dass auf Ihrer Schaltung Vout mit Vout, Vfb mit Vosense und Vctrl mit uC verbunden wäre. Wenn das stimmt, verstehe ich nicht, wie das mit der Einstellung der richtigen Spannung auf Vosense funktionieren würde.
@PiotrSarnacki, du hast recht: v Ö U T verbindet sich mit v Ö U T , v F B verbindet sich mit v Ö S E N S E , und v C T R L verbindet sich mit einem D/A-Wandler vom μC. Und wie beschrieben wird die Ausgangsspannung sein v Ö U T = ( 1 + R 2 R 1 ) 0,8 R 2 R 3 ( v C T R L 0,8 ) . „Wenn das stimmt, sehe ich nicht, wie das mit der Einstellung der richtigen Spannung auf Vosense funktionieren würde.“ Was meinen Sie?
Also, ich sehe das wahrscheinlich völlig falsch, sorry, wenn das der Fall ist. Wie auch immer, da Vosense ein Eingangspin ist, sollte es den Vout mit einem Spannungsteiler teilen. Wenn Sie sich das Beispiel im Datenblatt ansehen, möchten sie Vout auf 12 V setzen und wählen 20 k für R1 und 280 k für R2. In diesem Fall: Vosense = R1/(R1+R2) * Vout. Bei 12 V beträgt die Spannung bei Vosense also 0,8 V. Wenn Vout höher ist als die Spannung an Vosense, ist sie höher usw. In Ihrer Antwort berechnen Sie Vout basierend auf Vctrl, während Vfb hier der "Ausgang" sein sollte.
@PiotrSarnacki, obwohl v Ö S E N S E ein Eingang ist, wird er auf 0,8 V "servoiert". Sie können sich den Buck-Boost-Wandler als einen riesigen Leistungs-Operationsverstärker vorstellen, mit einer [internen] 0,8-V-Referenz, die mit seinem [internen] nichtinvertierenden Eingang verbunden ist. Die Ausgabe des Konverters ( v Ö U T ) wird zu dem getrieben, was benötigt wird, um seinen invertierenden Eingang zu machen ( v Ö S E N S E ) auf seinen nicht invertierenden Eingang, der 0,8 V beträgt. Das ist die Grundidee aller Steuerungssysteme. Bei Berechnungen kann man also einfach davon ausgehen, dass nach Erreichen des eingeschwungenen Umrichters v Ö S E N S E wird 0,8 V sein.
Tut mir leid, Sie noch einmal zu stören, aber ich habe keine Ahnung, wie ich es in LTSpice zum Laufen bringen soll, also fehlt mir wahrscheinlich wieder etwas. Ich habe im Grunde genommen die LTC3780-Beispielschaltung von Linear genommen und R3 und CFF hinzugefügt. Egal welche Werte ich wähle, die Ausgangsspannung funktioniert nicht wie erwartet. Die Schaltung ist hier, wenn Sie (oder jemand anderes, der dies liest) damit spielen möchte: dropbox.com/s/ua4pxbw47x8s730/3780.asc?dl=0 . Ich habe ein paar verschiedene Werte von R1, R2 und R3 ausprobiert. Hier ist ein Screenshot eines relevanten Teils des Schaltplans: cl.ly/image/0b2Z193e2j2T/…

Der einfachste Weg ist mit einem digitalen Poti, verwenden Sie ihn einfach im ratiometrischen Modus, dh als Potentiometer, nicht als Rheostat. Bei Verwendung als Potentiometer gilt die grobe Widerstandstoleranz für beide Teile des Teils und spielt daher keine Rolle. Ein 6-Bit-Pot sollte in der Lage sein, weniger als 0,5 lsb Fehler zu haben, obwohl die Widerstandstoleranz 20 % betragen könnte, und sollte weniger als ~ 1 $ kosten (jedenfalls in den USA).

Alternativen wie das Hinzufügen von Verstärkern zum Einstellen der Referenz über die DAC-Steuerung sind machbar, aber viel komplizierter. Sie müssten wahrscheinlich 2 OpAmps hinzufügen, um die richtige Einstellung und Polarität zu erhalten.