Hallo Forum, dies ist meine erste OpAmp-Schaltung. Sie dient dazu, einen Ladestrom zu begrenzen, indem die Feedback-Spannung des Schaltreglers erhöht wird, wenn der gewünschte Strom erreicht ist. (Siehe Schaltplan.) Meine Frage hier betrifft aber nur den Differenzverstärker. OpAmp ist ein MCP6231. Da ich keine besonderen Anforderungen an den OpAmp sehe, habe ich einfach einen im kleinen Gehäuse gewählt. 1. Gegenkopplung Impedanz am negativen Eingang (Tiefpass mit integriertem Spannungsteiler): 4,7kΩ (R13) Gewünste Verstärkung: 250 -> Gegenkopplung: 1MΩ (R14) Die beabsichtigte Ausgangsspannung Ua habe ich daneben gezeichnet, für den Fall Ladestrom = 0,5A. Die 35mV sind die minimale Ausgangsspannung des MCP6231. Ist so richtig, oder? 2. Eingangsstromkompensation am positiven Eingang Wird oft empfohlen. Habe ich aber weggelassen, da R8 mit 0.02Ω eine „niedrige“ Impedanz darstellt. In Ordnung, oder? 3. Stabilisierung der Ausgangsspannung Der OpAmp geht bis 200kHz, der Schaltregler schaltet mit 1MHz. Damit der Feedback-Spannungsteiler trotzdem stabil arbeiten kann, habe ich einen 100nF-Kerko vorgesehen. Ist das sinnvoll, oder provoziere ich evtl. den OpAmp zum Schwingen, oder...? Versorgungsspannung des OpAmp ist Akkuspannung (≈3,2V) oder extern (mit 78L05), mit Dioden zusammengeschaltet. (Mir ist klar, dass R8 relativ klein ist, und evtl. weitere Spannungsabfälle zwischen R8, Schaltregler-GND, OpAmp-GND, und PWM-Tiefpass-GND entstehen können. Da muss ich beim Platinenlayout sorgfältig sein.)
Tuxpilot schrieb: > habe ich einen > 100nF-Kerko vorgesehen. Ist das sinnvoll, oder provoziere ich evtl. den > OpAmp zum Schwingen, oder...? Ja die 100nF direkt am OPV-Ausgang können dazu führen, dass er schwingt (siehe Abschnitt 4.3 im Datenblatt deines OPV). http://ww1.microchip.com/downloads/en/DeviceDoc/21881e.pdf Noch übler in dieser Hinsicht ist C12 (47nF) direkt am invertierenden Eingang des OPV. Der liegt in der Rückkoppelschleife und kostet dich schon bei einigen kHz-Bereich viel Phasenreserve. Schau dir Abschnitt 4.7.2 im Datenblatt an, wo sich die Hersteller des OPVs schon wegen ein paar pF am inv-Eingang Sorgen machen und Kompensationsmaßnahmen vorschlagen. -> C12 darf nicht direkt am invertierenden OPV-Eingang liegen. Tuxpilot schrieb: > Da ich keine besonderen Anforderungen an den > OpAmp sehe Du willst in Anbetracht deines sehr kleinen Messwiderstands erreichen, dass der OPV am Eingang mit einer Genauigkeit von besser 1mV arbeitet, oder? Aber der von dir gewählte OPV hat eine Offsetspannung irgendwo ziwschen -5mV und +5mV.
Die Schaltung wird wohl so nicht funktionieren, weil der OpAmp keine symetrische Spannungsversorgung hat. Was liegt bei PWM-CHG für eine Spannung an, eine positive? Der OpAmp ist nicht in der Lage eine negative Spannung auszugeben wenn es keine negative Betriebsspannung gibt.
Messer, Gabel, Schere, Licht sind für kleine Kinder nicht. Dasselbe gilt für totale Nullen im Power-Management. Tipp: Fürs Laden eines LiPo-Akkus gibt es eigene Charger-ICs mit Schaltregler.
Danke für die Hinweise. Achim S. schrieb: > Ja die 100nF direkt am OPV-Ausgang können dazu führen, dass er schwingt > (siehe Abschnitt 4.3 im Datenblatt deines OPV). Dann lasse ich sie weg. Ok, es wären nur 2μA Ripple, das schafft die Ausgangsstufe des OpAmp sicher alleine, und ist im Schaltregler sowieso intern kompensiert. > Noch übler in dieser Hinsicht ist C12 (47nF) direkt am invertierenden > Eingang des OPV. Der liegt in der Rückkoppelschleife und kostet dich > schon bei einigen kHz-Bereich viel Phasenreserve. Schau dir Abschnitt > 4.7.2 im Datenblatt an, wo sich die Hersteller des OPVs schon wegen ein > paar pF am inv-Eingang Sorgen machen und Kompensationsmaßnahmen > vorschlagen. > -> C12 darf nicht direkt am invertierenden OPV-Eingang liegen. Einige kHz würden am positiven Eingang wieder reinkommen, wenn der Strom begrenzt wird. Der Tiefpass ist nicht so schnell. Reicht es, einen 1kΩ-Widerstand zwischen negativen Eingang und Tiefpass zu schalten? > Du willst in Anbetracht deines sehr kleinen Messwiderstands erreichen, > dass der OPV am Eingang mit einer Genauigkeit von besser 1mV arbeitet, > oder? Aber der von dir gewählte OPV hat eine Offsetspannung irgendwo > ziwschen -5mV und +5mV. Aber die Offsetspannung ist konstant, und so kann ich sie in Software kompensieren. Richtig? Günter Lenz schrieb: > Die Schaltung wird wohl so nicht funktionieren, > weil der OpAmp keine symetrische Spannungsversorgung hat. > Was liegt bei PWM-CHG für eine Spannung an, eine positive? > Der OpAmp ist nicht in der Lage eine negative Spannung > auszugeben wenn es keine negative Betriebsspannung gibt. (Oh, habe ich verschwiegen.) PWM_CHG ist der PWM-Ausgang eines AVR. 10kHz PWM-Frequenz und Logikspannung von 3–5V High bzw. 0V Low. μC und OpAmp haben dieselbe Versorgungsspannung. Negative Ausgansspannung brauche ich nicht, im Diagramm habe ich ja 35mV als niedrigste Ausgansspannung gezeichnet. Jürgen Wissenwasser schrieb: > Tipp: Fürs Laden eines LiPo-Akkus gibt es eigene Charger-ICs mit > Schaltregler. Ja, aber da ich Eingangsspannung 4,5–24V, Ausgangsspannung 3,6V, Ausgangsstrom ≥2A, und Eingangsstrom begrenzbar möchte, fand ich den TPS54332 letztendlich doch einfacher (bis jetzt). Kennst du einen Laderegler, den ich bisher übersehen habe?
Ich glaube, ich verstehe jetzt das Problem wegen der asymmetrischen Spannungsversorgung. Der OpAmp gibt bei U_d = 0 eine Spannung von (VCC+GND)/2 aus. Das heißt, ich muss U- der Versorgungsspannung entsprechend anpassen.
Tuxpilot schrieb: > dies ist meine erste OpAmp-Schaltung. Sie dient dazu, einen Ladestrom zu > begrenzen, indem die Feedback-Spannung des Schaltreglers erhöht wird, > wenn der gewünschte Strom erreicht ist. (Siehe Schaltplan.) Meine Frage > hier betrifft aber nur den Differenzverstärker. Gut gemeinter Rat. Die Frage solltest Du LTspice stellen. Dafür ist das Tool da. mfg Klaus
:
Bearbeitet durch User
Tuxpilot schrieb: > Der OpAmp gibt bei U_d = 0 eine Spannung von > (VCC+GND)/2 aus. Nein, sorum läuft das nicht. Denk an die Rückkopplung des OPV. Würde der Ausgang bei Ud=0 immer auf die halbe Versorgungsspannung gehen, dann würde vom Ausgang über den Rückkoppelwiderstand ja wieder Strom auf den Eingang fließen, der das Ud=0 aufhebt. Solange der OPV stabil mit Rückkopplung arbeitet (nicht schwingt oder in Sättigung geht) gibt er am Ausgang genau die Spannung aus die es braucht, dass das Ud an seinen Eingägen gegen 0V geht. (Genauer: dass das Ud am Eingang seiner Offsetspannung entspricht). Du willst den OPV in Sättigung betreiben. Dann geht sein Ausgang nicht auf die halbe Versorgung sondern so weit "nach unten" wie es der OPV schafft. Du bräuchtest von daher eine negative Versorgung also nur dann, wenn du auch negative Ausgangsspannungen erreichen wolltest oder wenn du sehr nahe an die 0V herankommen willst. Zu glauben, der OPV würde über einen großen Bereich der Eingangsspannungen den Ausgang genau auf 35mV legen (wie du es für deine Regelung ansetzt), ist aber auch illusorisch. Die 35mV sind ein Wert aus dem Datenblatt, der für eine bestimmte Übersteuerung des Eingangs und für eine bestimmte Last passt. Wenn du den OPV in Sättigung betreibst, dann wird sich irgendeine Ausgangsspannung einstellen (die aber zumindest die Größenordnung von 35mV hat). Einen genauen Wert für die tatsächliche Spannung kannst du aber nicht vorhersagen.
J.W.: > Tipp: Fürs Laden eines LiPo-Akkus gibt es eigene Charger-ICs mit > Schaltregler. So oder "Aufgabentrennung": Vielleicht solltest Du den Spannungswert am Shunt verstärken, auf einen ADC Deines µC geben und den DCDC via Deiner PWM steuern. Habe das mal (nicht mit PWM sondern) mit DAC gemacht - geht. oder mit der PWM einen MOSFET/L/C/D-Kombi ansteuern... Gute App-Note bei Atmel/Microchip. http://application-notes.digchip.com/015/15-16122.pdf mfg
Die Spannung an R8 kann ich mit dem ADC im AVR direkt lesen, der hat ja einen Verstärker integriert. Wenn ich schnell genug lese, kann ich VSNS über PWM_CHG beeinflussen, indem ich den Tiefpass nicht an einen OpAmp anschließe, sondern direkt an VSNS. (Ausgehend vom letzten Schaltplan.) Das kann ich beides auf der gleichen Platine ausprobieren. Das mit dem MOSFET klingt nach ATtiny861A mit PLL, negativ-Buck-Regler mit N-FETs, mehr Software, und weniger Bauteile. Ich werde es mit dem OpAmp ausprobieren, das erscheint mir am einfachsten. Ich habe es in LTspice ausprobiert, Schwingen habe ich aber nicht erreichen können. (Ich habe wenig Vertrauen in meine Fähigkeiten, Simulationen korrekt durchzuführen.)
Tuxpilot schrieb: > Ich habe es in LTspice ausprobiert, Schwingen habe ich aber nicht > erreichen können. (Ich habe wenig Vertrauen in meine Fähigkeiten, > Simulationen korrekt durchzuführen.) Um die Stabilität/Schwingneigung zu bewerten nehme ich meist eins von folgenden beiden Verfahren: a) schau dir in der Transienten-Simulation das Verhalten bei einem kleinen Spannungssprung an. Du kannst dafür auch gerne eine zusätzliche Spannungsquelle einbauen, die nichts anderes macht, als den aktuellen Arbeitspunkt nach einigen µs um z.B. 5mV zu verschieben. Stellt sich das System schnell und gutmütig auf den neuen Arbeitspunkt ein? Oder schwingt es über und schwingt lange nach, bis es den neuen Arbeitspunkt erreicht? Im zweiten Fall ist es nicht ganz unwahrscheinlich, dass das reale System schwingen würde. b) mach eine AC-Simulation und schau, ob dein Verstärker ein starkes "Peaking" hat (also Anstieg der Verstärkung in einem schmalen Frequenzbereich kurz vor der Grenzfrequenz des Systems). Geht das Peaking um mehr als 10 dB nach oben? In dem Fall ist es nicht ganz unwahrscheinlich, dass das reale System schwingen wird. Die Simulation wird dir nicht "exakt" zeigen, ob du die Grenze zur Schwingneigung überschritten hast. Denn es gibt immer noch ein paar reale parasitäre Effekt zusätzlich, die du in der Simu nicht abbildest. Aber die Simu kann dir sagen, ob dein Verstärker deutliche Schwingneigung hat oder nicht. Als Illustration habe ich dir mal Ausschnitte aus deiner ursprünglichen Schaltungsidee angehängt. Du siehst in der AC-Analyse ein starkes Peaking bei ~10kHz, in der Transienten-Analyse ein starkes Überschwingen und langes Nachschwingen mit ~10kHz. In der Simu (mit dem einfachsten OpAmp-Modell) scheint die Schaltung als (grade noch) stabil. In der Realität, mit weiteren parasitären Effekten, wäre sie aber sicher ein Kandidat für eine Instabilität. Auf die Art kannst du also überprüfen, ob der Differenzverstärker alleine stabil ist oder nicht. Ob das Gesamtsystem dann auch stabil wäre (bei dem du den OPV ja in die Rückkopplung deines Schaltreglers packst) wäre nochmal eine andere Frage.
Ich dachte mir, jetzt wo ich LTspice zum Laufen bekommen habe, kann ich ja ein wenig damit rumspielen. Das mit den AC-Simulationen verstehe ich ehrlich gesagt nicht so genau. Solche Peaks habe ich bisher nicht entdeckt. (Ich habe den MCP6231 in LTspice plötzlich nicht mehr zum Laufen bekommen, obwohl ich an der MCP6231.lib nichts geändert habe. Immer „Timestep too small […]“. AD8613 soll ein Ersatz für die Simulation sein.) AD8613_PWM_1k.png: Scheint nicht zu vielen Schwingungen zu neigen. Ich habe versucht, ein paar Sprünge vor dem Tiefpass, nach dem Tiefpass, und an U+ zu erzeugen. Andere Bilder: Ich habe mit einem 700kHz Buck-Converter versucht, den TPS54332 ungefähr nachzubilden, weil ich nicht weiß, was ich mit TIs PSPICE-Modell anfangen kann. Ich habe Sprünge an V_out und U- erzeugt, und I_out wird nachgeregelt. 20kHz_Vout_1k.png Eine sehr seltsame Akkuspannung, aber I_out passt. Das simulierte Verhalten entspricht meinen Vorstellungen. Mal sehen, wie es in der Realität aussehen wird. (Und mal sehen, wie ich das messen werde.)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.