Moin,
ich versuche momentan einen einstellbaren Step-Down Regler zu
realisieren. Als PWM-Quelle nutze ich einen der 8-Bit Timer eines
mega644 mit 16Mhz Takt im Fast-PWM-Modus ohne Prescaler. Ich habe also
eine PWM-Frequenz von 62.5kHz. Ich habe die angehängte Schaltung
aufgebaut, was soweit auch funktioniert. Nun möchte ich die Spannung
gerne in max. 50mV Schritten Regeln können. Allerdings liegen zwischen
zwei Timerwerten ~200mV, was zu viel ist (OCR1AL=10: ~1.9V, OCR1AL=11:
~2.1V).
Eingangsspannung ist noch 10V (später 24V). Als Last hängen ca. 150 Ohm
am Ausgang.
Wie kann ich eine höhere Auflösung erreichen?
Hi,
200 mV pro bit kommt mir ein wenig viel vor.
Theoretisch müssten sich 10V/8bit -> ca 40mV pro Bit ergeben.
die 40mV gelten aber nur für den kontinuierlichen Modus
Es scheint so, als ob du noch im diskontinuierlichen Modus bist. Häng
mal mehr Last dran.
Mehr Auflösung? 8 Bit sind nunmal 8 Bit. Man könnte allerdings
schummeln, wenn man nicht auf eine feste Frequenz festgelegt ist, indem
man den TOP-Wert des Timers variabel macht:
Normalerweise kann man nur die Werte
1/255
2/255 ... einstellen.
1/192 liegt aber mittig zwischen den beiden
Wenn man also den TOP-Wert des Timers zwischen 255 und 192 wechselt,
also
1/255
1/192
2/256...
Die Frequenz schwankt dann allerdings zwischen 83 kHz und 62 kHz
Zu deiner Schaltung:
- R8 kannst du Weglassen.
- Bei 10V wird dein Mosfet nur mit einer Gatespannung von 4.4V
angesteuert, etwas wenig
Cyclon schrieb:> Allerdings liegen zwischen> zwei Timerwerten ~200mV, was zu viel ist (OCR1AL=10: ~1.9V, OCR1AL=11:> ~2.1V).
Ob zwischen 2 Timerwerten 200mV liegt ist doch egal. Davor hast du doch
einen Regler der die gemessene Ausgangsspannung mit dem Sollwert
vergleicht. Und dessen Aufloesung (ADC) ist massgebend. Der Timer wird
quasi vom Regler moduliert.
> Eingangsspannung ist noch 10V (später 24V). Als Last hängen ca. 150 Ohm> am Ausgang.
Bei 24V schlaegst es dir aber das Gate vom Mosfet durch. Da wirst du die
Gate-Source Spannung begrenzen muessen auf unter 20V (Z-Diode)
Cyclon schrieb:> Wie kann ich eine höhere Auflösung erreichen?
Warum nimmst du nicht einen 16-Bit Timer, der is viel flexibler!
Ich empfehle dir einen vernünftigen Treiber und ggf. die Ausführung als
Synchronwandler. Deine Diode macht unnötig Verluste!
Wozu D2?
Gruß Knut
@Helmi
Der Gatetreiber ist IMHO sehr gut:
-Er liefert ausreichend Strom und hat einen geringen statischen
Stromverbrauch.
-begrenzt die Gatespannung auf 11V, unabhängig von der Eingangsspannung
-kommt mit sehr wenigen Teilen aus.
-ist sehr schnell, weil keiner der Bipolartransistoren in die Sättigung
getrieben wird.
Für D2 sehe ich momentan auch keinen Sinn, es sei denn, die Anwendung
erfordert das Verhindern eines Rückstroms in die Versorgung.
Wirkungsgradgünstiger wäre in diesem Fall die Position in Reihe zum FET,
denn dann muss nicht der komplette Ausgangsstrom durch die Diode, sonder
nur der (kleinere) Eingangsstrom.
Was ist den die Ziellast? Für eine Last von 150Ω @2V ist das Teil etwas
überdimensioniert.
Andreas R. schrieb:> Der Gatetreiber ist IMHO sehr gut:
Ist er nicht, bestenfalls ausreichend
Andreas R. schrieb:> Er liefert ausreichend Strom
ja
Andreas R. schrieb:> hat einen geringen statischen> Stromverbrauch.
keine Vergleich zu einem integrierten Treiber!
Andreas R. schrieb:> begrenzt die Gatespannung auf 11V, unabhängig von der Eingangsspannung
stimmt etwa
Andreas R. schrieb:> -kommt mit sehr wenigen Teilen aus.
ein Treiber ist kompakter
Andreas R. schrieb:> ist sehr schnell, weil keiner der Bipolartransistoren in die Sättigung> getrieben wird.
Treiber ist schneller.
100R Gatevorwiderstände sind, ohne zu rechnen, zu groß. 22R sind
üblicher!
Gruß Knut
Erstmal Danke für eure Antworten, mein Problem hat sich erledigt.
Irgendwas stimmte nicht mit dem PWM-Modus (oder ich hab den immer noch
nicht richtig verstanden). Im "Non-Inverting Fast-PWM-Modus" hatte ich
die oben beschriebenen Probleme, jetzt habe ich mein Programm intern auf
"Inverting Fast-PWM" umgebaut und es läuft. Keine Ahnung wo da der
Unterschied ist.
Der Vollständigkeit halber möchte ich dennoch auf eure Beiträge
eingehen:
>Mehr Auflösung? 8 Bit sind nunmal 8 Bit. Man könnte allerdings>schummeln, wenn man nicht auf eine feste Frequenz festgelegt ist, indem>man den TOP-Wert des Timers variabel macht:>Normalerweise kann man nur die Werte
Ja gut, das mit der Auflösung war unglücklich ausgedrückt. Ich meinte
damit kleinere Abstände in der Spannung.
>Ob zwischen 2 Timerwerten 200mV liegt ist doch egal. Davor hast du doch>einen Regler der die gemessene Ausgangsspannung mit dem Sollwert>vergleicht. Und dessen Aufloesung (ADC) ist massgebend. Der Timer wird>quasi vom Regler moduliert.
Nee, das ist eben nicht egal. Wenn der Timer nur 200mV Schritte kann,
kann der Regler davor regeln soviel er will, dann trifft er u.U. nie die
gewünschte Spannung.
>Bei 24V schlaegst es dir aber das Gate vom Mosfet durch. Da wirst du die>Gate-Source Spannung begrenzen muessen auf unter 20V (Z-Diode)
Das regelt mein Mosfet-Treiber.
>Warum nimmst du nicht einen 16-Bit Timer, der is viel flexibler!>Ich empfehle dir einen vernünftigen Treiber und ggf. die Ausführung als>Synchronwandler. Deine Diode macht unnötig Verluste!
Bei ner 16-Bit PWM würde die Frequenz zu niedrig sein, dann bräuchte ich
ne größere Spule. Synchronwandler kannte ich noch nicht, sieht aber
interessant aus. Werd ich auf jeden Fall mal ausprobieren.
>Wozu D2?
Gute Frage. Was ich mir bei der Diode gedacht hab, weiß ich auch nicht
mehr, die ist wirklich überflüssig.
>Was ist den die Ziellast? Für eine Last von 150Ω @2V ist das Teil etwas>überdimensioniert.
Ziellast sind bis zu 4A, hatte aber leider nix zur Hand, was das
aushalten würde, daher die 150 Ohm.
@knutinator:
Ich will jetzt hier keine Diskussion über integrierte und diskrete
Treiber lostreten, aber kannst du mir nen Treiber nennen der die
Gate-Spannung des Fets auf ungefährliche 12V begrenzt?
Ich bin eigentlich ganz zufrieden mit meinem Treiber. Ist günstig, nimmt
nicht viel Platz weg und hat schön viele Teile die kaputt gehen
können...
Cyclon schrieb:> Nee, das ist eben nicht egal. Wenn der Timer nur 200mV Schritte kann,> kann der Regler davor regeln soviel er will, dann trifft er u.U. nie die> gewünschte Spannung.
Dein Regler mittelt das doch aus. Wenn du zum Beispiel 266mV haben
willst dann stellt dein Regler erst 200mV , 200mV und dann 400mV ein.
Der Mittelwert ist dann 266mV. Diese Mittelwertbildung besorgt dir dein
Ausgangsfilter mit L1 , C1. Das ginge sogar mit nur 2 Ausgangszuständen
auch 2 Punktregler genannt. Z.B eine Regelung für ein Heizgerät da wird
auch nur Ein/Aus geschaltet. Deshalb ist die Auflösung der PWM egal wenn
die von einem Regler aus ihre Daten bekommt.
Guck dir den Regelmechanismus vom MC34063 an. Der hat keine PWM, sondern
nur ein Flip Flop. Ist also gewissermaßen auch ein 2-Punktregler. Ein
"Mehrpunktregler" verbessert aber trotzdem den Ripple.
Falls der Ausgangsstrom durch die Differenz zwischen den Spannungen
"ISENSE" und "VSENSE" berechnet werden soll,
erreicht man selbst bei Einsatz von 0.1% Widerständen bei R4..7,
nur ca. 100mA Genauigkeit.
Je nach Anwendungsfall kann das aber durchaus ausreichend sein.
Eine zusätzliche Möglichkeit wäre noch, irgendwo in der Brücke ein
Trimmpoti vorzusehen, oder Sofwaremässig einen Korrekturwert
miteinzubeziehen ...