Forum: Mikrocontroller und Digitale Elektronik PWM-Auflösung im untersten Bereich verbessern


von Maxim (maxim) Benutzerseite


Lesenswert?

Ich möchte eine sehr helle LED (diese 100 Watt Dinger aus China) dimmen. 
Das Dimmen geschieht recht langsam, also z.B. 0% bis 100% in 10 Minuten. 
Das funktioniert mit einem 16-Bit Timer nicht ganz zufriedenstellend. 
Das Problem ist, dass die unterste Stufe zu hell erscheint. Mir ist der 
Unterschied zwischen "aus" und "minimal" noch zu groß. Außerdem sind die 
Helligkeitsunterschiede in untersten Bereich zu groß. Man sieht dort 
also deutliche Sprünge in der Helligkeit (was an der logarithmischen 
Wahrnehmung der Augen liegt) Wie könnte man das lösen?

Mir fallen drei Möglochkeiten ein:

a) Die PWM-Auflösung im untersten Bereich künstlich erhöhen (Soft-PWM), 
z.B. auf 18 Bit. Dadurch sinkt die PWM-Frequenz von 244 auf 61 Hz. Unter 
50 Hz möchte ich nicht gehen. Daher ist 18 Bit die max. Auflösung.

b) Analogschaltung bauen aus 20-Bit DAC und Komparator. Wie hoch muss 
die Sägezahnfrequenz sein, damit ich ein PWM-Signal von 100 Hz bekomme 
bei einer Auflösung von 20 Bit? Wie erzeuge ich so ein Signal? Ist das 
mit geringem Aufwand möglich? Welche Anforderungen muss der Komparator 
erfüllen?

c) 20-Bit DAC mit nachgeschaltetem Operationsverstärker, der einen 
Transistor (z.B. TIP142 oder TIP147 Darlingtontransistoren) im 
Teillastbereich regelt. Ein Nachteil wäre, dass die LED dann im unteren 
Helligkeitsbereich nicht gleichmäßig leuchtet, weil sie aus 100 LEDs (10 
parallel x 10 seriell) aufgebaut ist und manche LEDs bei kleineren 
Spannungen leuchten als andere. Aber das wäre eher ein Schönheitsmanko. 
Wäre diese Methode ok?

Würde für b) und c) der 24-Bit Audio DAC CS4334-KSZ gehen? Datasheet: 
http://docs-europe.electrocomponents.com/webdocs/0edd/0900766b80eddd46.pdf

Ich bevorzuge a) oder c). b) erscheint mir zu kompliziert.

: Bearbeitet durch User
von Peter K. (Gast)


Lesenswert?

Leds kann man am besten mit Stromquellen steuern also per Dac eine 
Spannungsgesteurte Stromquelle ansteuern und mit denen die LEDs treiben.

Ansonsten könntest du noch die PWM in Software machen, dann kannst du 
auch eine 64Bit PWM machen oder jede andere Auflösung realisieren is 
dann eben nur eine Frage der Frequenz

von m.n. (Gast)


Lesenswert?

Wie wäre es, zwei Bereiche à 16-Bit über unterschiedliche Stromquellen 
vorzusehen?
Der untere meinetwegen von 0 - 3% und der obere von 3 - 100%.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Maxim S. schrieb:
> Das funktioniert mit einem 16-Bit Timer nicht ganz zufriedenstellend.
> Das Problem ist, dass die unterste Stufe zu hell erscheint.

Das liegt an der "Kennlinie" des Auges.

Lösung:

  https://www.mikrocontroller.net/articles/LED-Fading

P.S.
256 Stufen reichen vollkommen aus - wenn sie denn richtig über den 
Helligkeitsbereich verteilt sind. Genau das macht das Beispielprogramm 
im oben genannten Artikel.

: Bearbeitet durch Moderator
von Stefan F. (Gast)


Lesenswert?

Ich würde auch zwei Stromquellen empfehlen. Dafür brauchst du im 
einfachsten Fall nur einen simplen I/O Pin, der einen Widerstand 
umschaltet.

von Maxim (maxim) Benutzerseite


Lesenswert?

Stefan U. schrieb:
> Ich würde auch zwei Stromquellen empfehlen. Dafür brauchst du im
> einfachsten Fall nur einen simplen I/O Pin, der einen Widerstand
> umschaltet.

Ok. Ich verstehe aber noch nicht ganz, wie man zwei Stromquellen 
parallel betreiben kann. Würde die Umschaltung zwischen diesen nicht zu 
einem Flackern führen?

von m.n. (Gast)


Lesenswert?

Maxim S. schrieb:
> Würde die Umschaltung zwischen diesen nicht zu
> einem Flackern führen?

Nein, wenn der Umschaltpunkt stimmt.
Eine weitere Möglichkeit wäre, zwei 16-Bit PWM gleichzeitig arbeiten zu 
lassen, wobei die eine die groben und die andere die feinen Stromstufen 
vorgibt. Im Grunde würde für die groben Stufen auch 8-Bit PWM reichen.

von Dennis (Gast)


Lesenswert?

Maxim S. schrieb:
> Ich verstehe aber noch nicht ganz, wie man zwei Stromquellen
> parallel betreiben kann.

Genauso wie man zwei Spannungsquellen in Reihe betreiben kann...

Es gibt zum Thema eine herausragende Buchreihe, das schon tausenden 
Ingenieuren den Weg zum Verständnis geebnet hatte:

ISBN 3868940790

:-)

von Maxim (maxim) Benutzerseite


Angehängte Dateien:

Lesenswert?

Also etwas in der Art?

R3 müsste 1 Ohm sein.

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

LM358 und TIP142 würde ich auf den ersten Blick als zu langsam 
einschätzen, wenn die PWM-Signale dort direkt anliegen sollten.

von Peter D. (peda)


Lesenswert?

Maxim S. schrieb:
> Man sieht dort
> also deutliche Sprünge in der Helligkeit

Genau das will man doch bei einer Beleuchtung.
Mich stört aber, daß bei großer Helligkeit die Stufen nicht mehr zu 
sehen sind. Daher hole ich die PWM-Werte aus einer logarithmisch 
gestuften Tabelle. Dann reichen 10 Helligkeitsstufen völlig aus.

von Maxim (maxim) Benutzerseite


Lesenswert?

m.n. schrieb:
> LM358 und TIP142 würde ich auf den ersten Blick als zu langsam
> einschätzen, wenn die PWM-Signale dort direkt anliegen sollten.

Hm? Das macht für mich keinen Sinn. Die PWM-Signale werden davor 
natürlich durch einen RC-Filter zu Konstantspannungen umgewandelt.

von Maxim (maxim) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Maxim S. schrieb:
>> Man sieht dort
>> also deutliche Sprünge in der Helligkeit
>
> Genau das will man doch bei einer Beleuchtung.
> Mich stört aber, daß bei großer Helligkeit die Stufen nicht mehr zu
> sehen sind. Daher hole ich die PWM-Werte aus einer logarithmisch
> gestuften Tabelle. Dann reichen 10 Helligkeitsstufen völlig aus.

Mein Problem ist, dass selbst bei PWM-Stufe 1 von 2^16 die Helligkeit zu 
hoch ist. Damit bringt die logarithmischen Tabelle (die ich im Übrigen 
auch verwende) nichts mehr.

von Peter D. (peda)


Lesenswert?

Maxim S. schrieb:
> Mein Problem ist, dass selbst bei PWM-Stufe 1 von 2^16 die Helligkeit zu
> hoch ist.

Wie ist denn die Innenschaltung der 100W-LED?
Hat die vieleicht einen Stützkondensator?

von Falk B. (falk)


Lesenswert?

@ Maxim S. (maxim) Benutzerseite

>Mein Problem ist, dass selbst bei PWM-Stufe 1 von 2^16 die Helligkeit zu
>hoch ist. Damit bringt die logarithmischen Tabelle (die ich im Übrigen
>auch verwende) nichts mehr.

Bei einer 16 Bit PWM mit 8 MHZ hat man 122 Hz PWM-Frquenz. Der PWM-Wert 
1 erzeugt einen 125ns breiten Puls. Denn muss so ein Leistungstreiber 
erstmal WIRKLICH exakt ausführen. Das können die allermeisten NICHT!

von Yalu X. (yalu) (Moderator)


Lesenswert?

Möchtest du den Strom durch die 100W-LED wirklich über Vorwiderstände
bzw. Transistoren im Linearbetrieb begrenzen? Wenn man einmal 10%
Toleranz in der LED-Flussspannung einrechnet, werden da über 10 W im
Widerstand bzw. im Transistor verbraten.

Wenn dieser kleine Backofen aber kein Problem für dich ist, kannst du
mit der PWM-Frequenz auch auf 1 Hz oder noch weniger heruntergehen. Du
musst dann nur einen Tiefpass mit entsprechend großer Zeitkonstante
dahinter schalten, um das Flackern zu beseitigen.

von Maxim (maxim) Benutzerseite


Lesenswert?

Falk B. schrieb:
> @ Maxim S. (maxim) Benutzerseite
>
>>Mein Problem ist, dass selbst bei PWM-Stufe 1 von 2^16 die Helligkeit zu
>>hoch ist. Damit bringt die logarithmischen Tabelle (die ich im Übrigen
>>auch verwende) nichts mehr.
>
> Bei einer 16 Bit PWM mit 8 MHZ hat man 122 Hz PWM-Frquenz. Der PWM-Wert
> 1 erzeugt einen 125ns breiten Puls. Denn muss so ein Leistungstreiber
> erstmal WIRKLICH exakt ausführen. Das können die allermeisten NICHT!

Ich habe einen BUZ11 als Schalter genommen. Zwischen uC und BUZ11 ist 
ein Gegentaktverstärker (wenn ich mich richtig erinnere). Jedenfalls 
sind die Flanken sehr steil, das Gate wird durch die vorgeschalteten 
Transistoren bis auf 12 V geladen und auf 0 V entladen. Ich habe nicht 
nachgemessen, aber vermutlich entspricht das PWM-Signal an der LED recht 
genau dem am uC-Pin.

Peter D. schrieb:
> Wie ist denn die Innenschaltung der 100W-LED?
> Hat die vieleicht einen Stützkondensator?

10 parallel x 10 seriell, kein Kondensator. Es liegt einfach daran, dass 
die LED so hell ist. Deswegen ist die unterste PWM-Stufe immer noch 
relativ hell.

von m.n. (Gast)


Lesenswert?

Maxim S. schrieb:
> Die PWM-Signale werden davor
> natürlich durch einen RC-Filter zu Konstantspannungen umgewandelt.

Dann darf der OPV keinen Offset aufweisen.

Maxim S. schrieb:
> Ich habe einen BUZ11 als Schalter genommen.

Nun doch wieder mit Schalter?

von Falk B. (falk)


Lesenswert?

@Yalu X. (yalu) (Moderator)

>Möchtest du den Strom durch die 100W-LED wirklich über Vorwiderstände
>bzw. Transistoren im Linearbetrieb begrenzen? Wenn man einmal 10%
>Toleranz in der LED-Flussspannung einrechnet, werden da über 10 W im
>Widerstand bzw. im Transistor verbraten.

Man muss ja nicht die volle Leistung linear verbraten, es reichen die 
untersten 2-3%, dann geht es per PWM weiter.

>Wenn dieser kleine Backofen aber kein Problem für dich ist, kannst du
>mit der PWM-Frequenz auch auf 1 Hz oder noch weniger heruntergehen. Du
>musst dann nur einen Tiefpass mit entsprechend großer Zeitkonstante
>dahinter schalten, um das Flackern zu beseitigen.

AUA! Was soll denn der Unfug?

von m.n. (Gast)


Lesenswert?

Maxim S. schrieb:
> 10 parallel x 10 seriell, kein Kondensator. Es liegt einfach daran, dass
> die LED so hell ist. Deswegen ist die unterste PWM-Stufe immer noch
> relativ hell.

Die LEDs haben selber eine Kapazität. Bei kurzen PWM-Impulsen muß man 
diese aktiv entladen, sonst "leuchten" sie nach.

von Falk B. (falk)


Lesenswert?

@ Maxim S. (maxim) Benutzerseite

>Ich habe einen BUZ11 als Schalter genommen. Zwischen uC und BUZ11 ist
>ein Gegentaktverstärker (wenn ich mich richtig erinnere).

Erspare uns die Lyrik und posten einen sinnvollen Schaltplan.

> Jedenfalls
>sind die Flanken sehr steil, das Gate wird durch die vorgeschalteten
>Transistoren bis auf 12 V geladen und auf 0 V entladen. Ich habe nicht
>nachgemessen, aber vermutlich entspricht das PWM-Signal an der LED recht
>genau dem am uC-Pin.

Zwischen "vermutlich" und "nachmessen" liegen WELTEN!

>10 parallel x 10 seriell, kein Kondensator. Es liegt einfach daran, dass
>die LED so hell ist. Deswegen ist die unterste PWM-Stufe immer noch
>relativ hell.

Ohne eine echte Messung kann man da kaum was sagen. Nimm doch einfach 
mal ein Labornetzteil und miss aus, in welchem Strombereich du deine 
MONSTER-LED betreiben musst, damit der untere Bereich ausreichend dunkel 
ist ;-)

von Maxim (maxim) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Erspare uns die Lyrik und posten einen sinnvollen Schaltplan.

Also gut, ich werde es heute Abend nachmessen und den Schaltplan posten.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Falk B. schrieb:
> @Yalu X. (yalu) (Moderator)
>
>>Möchtest du den Strom durch die 100W-LED wirklich über Vorwiderstände
>>bzw. Transistoren im Linearbetrieb begrenzen? Wenn man einmal 10%
>>Toleranz in der LED-Flussspannung einrechnet, werden da über 10 W im
>>Widerstand bzw. im Transistor verbraten.
>
> Man muss ja nicht die volle Leistung linear verbraten, es reichen die
> untersten 2-3%, dann geht es per PWM weiter.

2-3% decken vielleicht den minimalen Spannungsabfall am Stromregler ab.
Zusätzlich sollte man noch mindestens so viel Spannungsrserve vorsehen,
wie die Flussspannung der LED(s) infolge von Exemplarstreuungen und
Temperaturschwankungen variiert. Und da sind die von mir genannten 10%
sicher nicht zu hoch gegriffen. In Summe sind wir also bei 12-13%, was
bei 100 W LED-Leistung (bei 100% PWM-Tastverhältnis) immerhin 12-13 W
sind.

>>Wenn dieser kleine Backofen aber kein Problem für dich ist, kannst du
>>mit der PWM-Frequenz auch auf 1 Hz oder noch weniger heruntergehen. Du
>>musst dann nur einen Tiefpass mit entsprechend großer Zeitkonstante
>>dahinter schalten, um das Flackern zu beseitigen.
>
> AUA! Was soll denn der Unfug?

Natürlich ist das energetischer Unfug. Ich habe aber bisher nirgends
etwas von einem geschalteten Stromregler gelesen, der bei dieser
Leistungsklasse durchaus sinnvoll wäre. Dieser Vorschlag ist nur für den
Fall gedacht, dass der TE einen solchen partout nicht einsetzen will
(weil er vielleicht zu kompliziert im Aufbau ist), sondern stattdessen
lieber bei der Backofenlösung bleiben will.


Maxim S. schrieb:
> Also gut, ich werde es heute Abend nachmessen und den Schaltplan posten.

Ja, das wird die Diskussion sicher erleichtern.

von Falk B. (falk)


Lesenswert?

@ Yalu X. (yalu) (Moderator)

>> Man muss ja nicht die volle Leistung linear verbraten, es reichen die
>> untersten 2-3%, dann geht es per PWM weiter.

>2-3% decken vielleicht den minimalen Spannungsabfall am Stromregler ab.
>Zusätzlich sollte man noch mindestens so viel Spannungsrserve vorsehen,
>wie die Flussspannung der LED(s) infolge von Exemplarstreuungen und
>Temperaturschwankungen variiert. Und da sind die von mir genannten 10%
>sicher nicht zu hoch gegriffen. In Summe sind wir also bei 12-13%, was
>bei 100 W LED-Leistung (bei 100% PWM-Tastverhältnis) immerhin 12-13 W
>sind.

Ich rede von 2-3% der LEISTUNG, nicht Spannung!

>> AUA! Was soll denn der Unfug?

>Natürlich ist das energetischer Unfug.

Ein Tiefpass mit 1Hz und weniger ist vor allem UNFUG!

>Ja, das wird die Diskussion sicher erleichtern.

Wie langweilig ;-)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Falk B. schrieb:
> Ich rede von 2-3% der LEISTUNG, nicht Spannung!

Ok, dann lass es mich dir am konkreten Beispiel in aller Ausführlichkeit
vorrechnen:

Die nominelle Flussspannung einer Einzel-LED sei 3,4 V, die tatsächliche
wird – abhängig vom jeweiligen Exemplar und der aktuellen Temperatur –
irgendwo zwischen 3,2 V und 3,6 V liegen. Von diesen LEDs sind 10 in
Reihe geschaltet, das ergibt eine Gesamtflusspannung von

  Uf = Ufmin ... Ufmax,   wobei Ufmin = 32 V und Ufmax = 36 V


Der einzuregelnde Strom der gesamten Anordnung beträgt

  I = 100 W / 34 V = 2,94 A

Der minimale Spannungsabfall Urmin am Stromregler sei 1 V. Um den
kompletten Bereich der möglichen Flussspannungen abzudecken, braucht man
also eine Betriebsspannung von mindestens

  Ub = Ufmax + Urmin = 36 V + 1 V = 37 V

Im Worst-Case ist die Flussspannung am LED-Modul Ufmin = 32 V. Dann
fallen am Stromregler

  Urmax = Ub - Ufmin = 37 V - 32 V = 5 V

ab. Die in diesem Fall im Stromregler verbratene Leistung ist somit

  Pr = Ur · I = 14,7 W

Für diese Verlustleistung muss der Stromregler (bzw. dessen Kühlkörper)
ausgelegt werden, damit er auch bei auf Maximum eingestellter Helligkeit
des LED-Moduls überlebt.

Deswegen wäre im vorliegenden Fall ein geschalteter Stromregler sehr
viel geschickter, aber du scheinst da ja anderer Meinung zu sein, und
die diesbezügliche Meinung des TE kennen wir noch nicht, werden sie aber
vermutlich heute Abend erfahren.

> Ein Tiefpass mit 1Hz und weniger ist vor allem UNFUG!

Aha ...

von Falk B. (falk)


Lesenswert?

@Yalu X. (yalu) (Moderator)

>> Ich rede von 2-3% der LEISTUNG, nicht Spannung!

>Ok, dann lass es mich dir am konkreten Beispiel in aller Ausführlichkeit
>vorrechnen:

Musst du nicht, weil du mich grundlegend missverstehst!

Ich meinte, dass man von 0-3% Nominalleistung mit einer linearen 
Konstantstromquelle das LED-Cluster speisen könnte und erst ab 3% auf 
reinen Schaltbetrieb umschaltet! Also ist auch die Verlustleistung am 
Linerregler eher 3% von 14,7, sprich 0,45W.
Wie man das schaltungstechnisch macht ist eine andere Frage!

>Deswegen wäre im vorliegenden Fall ein geschalteter Stromregler sehr
>viel geschickter, aber du scheinst da ja anderer Meinung zu sein,

Energetisch gesehen natürlich, das hab ich doch nie bestritten! Der OP 
hat aber anscheinend Probleme mit fein einstellbaren kleinen Leistungen. 
Denn ein Schaltregler mit vielleicht 100kHz kann nicht mit 125ns breiten 
PWM-Pulsen sinnvoll angesteuert werden!

>> Ein Tiefpass mit 1Hz und weniger ist vor allem UNFUG!

>Aha ...

Ja! So einen Käse hat man wahrscheinlich nicht mal im Zeitalter der 
Analogrechner gemacht!

von uwe (Gast)


Lesenswert?

> Mein Problem ist, dass selbst bei PWM-Stufe 1 von 2^16 die Helligkeit zu
> hoch ist.
100W/65536=0,0015W=1,5mW.
Da ist der Leistungschalter wohl zu langsam beim abschalten.

von Martin S. (led_martin)


Lesenswert?

Mein Vorschlag:

Versuche es doch mal mit dithern der PWM, Du machst weiterhin mit dem 
Timer1 16 Bit PWM, gibst aber bei jedem Zyklus einen neuen PWM-Wert vor, 
und zwar nach folgendem Schema (für 18 Bit PWM):

Stufe 1: 1, 0, 0, 0, 1, 0, 0, 0, ...
Stufe 2: 1, 0, 1, 0, 1, 0, 1, 0, ...
Stufe 3: 1, 1, 1, 0, 1, 1, 1, 0, ...
Stufe 4: 1, 1, 1, 1, 1, 1, 1, 1, ...
Stufe 5: 2, 1, 1, 1, 2, 1, 1, 1, ...
Stufe 6: 2, 1, 2, 1, 2, 1, 2, 1, ...

Das Muster wiederholt sich alle 4 PWM-Zyklen.

Vorteile: Du must an dem Aufbau nichts ändern, und die PWM Auflösung 
steigt, ohne das die kleinere PWM Frequenz allzusehr auffällt. Bei den 
höheren Stufen wird man das gar nicht merken. Bei den 244Hz PWM Freuenz 
hast Du ja genug Zeit, die neuen Werte zu schreiben.

Mit freundlichen Grüßen - Martin

von Yalu X. (yalu) (Moderator)


Lesenswert?

Falk B. schrieb:
> Musst du nicht, weil du mich grundlegend missverstehst!
>
> Ich meinte, dass man von 0-3% Nominalleistung mit einer linearen
> Konstantstromquelle das LED-Cluster speisen könnte und erst ab 3% auf
> reinen Schaltbetrieb umschaltet!

Ok, dann habe ich dich sogar ganz gewaltig missverstanden.

Jetzt weiß ich aber, was du meintest :)

von S. K. (hauspapa)


Lesenswert?

Lass doch mal die minimale Pulsbreite konstant und mach die PWM Frequenz 
einstellbar. Ruhig von 244Hz bis hinunter zu 5Hz, ist ja nur ein 
Versuch. Wie dunkel kommst Du bis Flackern anfängt?

Wenn die erste Stufe dunkel genug ist, ist der Rest mit Software lösbar. 
(gleichzeitige Variation von PWM Frequenz & Dutycycle)

viel Erfolg
hauspapa

von Maxim (maxim) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ihr hattet recht. Die Spannung an der LED ist meilenweit vom PWM-Signal 
entfernt. 100ns entsprechen einem PWM-Wert von 2 (oder 1, bin mir nicht 
ganz sicher) zu 2^16. Man sieht, dass das Signal umso breiter wird, je 
mehr Transistoren nachgeschaltet sind.

Sind die BC3x7 zu langsam?

von Gerd E. (robberknight)


Lesenswert?

Maxim S. schrieb:
> Sind die BC3x7 zu langsam?

nein, aber wenn Du die über die ganzen Widerstände betreibst, werden sie 
langsam. Auch der BUZ11 ist keine Rakete.

Aber zuerst schau doch bitte mal in das Datenblatt vom BUZ11 zum Thema 
max. Gate-Source Voltage. Und dann schau in Deinen Schaltplan, auf was 
für eine Spannung Dein Gate bei 32V Versorgung kommt.

Wenn Du das in den ns-Bereich bekommen und ordentlich aufbauen willst, 
dann nimm am besten nen integrierten Treiberbaustein und versorge den 
mit separaten 12V. Und dann such noch nach nem für schnelles Schalten 
optimierten Leistungsfet.

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Die On-Zeit deines BUZ11 ist also ca. 8µs, d.h. 64 Takte (8MHz Clock 
angenommen) lang, anstatt 1 Takt. Hier musst du ansetzen. Mit dem BUZ11 
wirst du das Ziel nicht erreichen können, der ist zu langsam.

von Maxim (maxim) Benutzerseite


Lesenswert?

Konrad S. schrieb:
> Die On-Zeit deines BUZ11 ist also ca. 8µs, d.h. 64 Takte (8MHz Clock
> angenommen) lang, anstatt 1 Takt. Hier musst du ansetzen. Mit dem BUZ11
> wirst du das Ziel nicht erreichen können, der ist zu langsam.

Vor allem muss ich Q3 und Q4 rausschmeißen. Ich habe sie nur eingebaut, 
um das Gate mit einer höheren Spannung anzusteuern. Aber das war 
Quatsch. Der BUZ11 sollte schon bei 5V voll durchschalten. Laut 
LTSpice-Simulationen ist die Kombination aus Q3 und Q4 extrem träge. Der 
Gegentaktverstärker asu Q1 und Q2 ist dagegen recht flink.

Morgen probiere ich mal das PWM-Signal direkt an GT_IN anzulegen. 
Ansonsten müsste ich noch einige MOSFETs aus einem PC-Mainboard haben. 
Die sollten schnell sein.

von Maxim (maxim) Benutzerseite


Lesenswert?

Gerd E. schrieb:
> Aber zuerst schau doch bitte mal in das Datenblatt vom BUZ11 zum Thema
> max. Gate-Source Voltage. Und dann schau in Deinen Schaltplan, auf was
> für eine Spannung Dein Gate bei 32V Versorgung kommt.

Ja, das war blöd. Die Idee war, dass das Gate schneller lädt, wenn ich 
höhere Spannungen nehme. Aber natürlich muss es dann auch länger 
entladen werden. ;)

> Wenn Du das in den ns-Bereich bekommen und ordentlich aufbauen willst,
> dann nimm am besten nen integrierten Treiberbaustein und versorge den
> mit separaten 12V. Und dann such noch nach nem für schnelles Schalten
> optimierten Leistungsfet.

Ok, ich schaue mich mal um, was es so gibt. Danke.

von Possetitjel (Gast)


Lesenswert?

Maxim S. schrieb:

> Laut LTSpice-Simulationen ist die Kombination aus Q3
> und Q4 extrem träge.

Natürlich. Die Kollektorwiderstände sind viel zu groß.
Du steuerst die Transistoren weit in die Sättigung,
logisch, dass das ewig dauert, bis sie dort wieder
heraus sind.

Kollektorwiderstände auf 2 kOhm verkleinern und Schottky-
dioden (Kleinsignaldioden! keine Gleichrichter) als
Sättigungsschutz von der Basis zum Kollektor (Q3, Q4)
schalten, und die Sache sollte deutlich schneller werden.

> Der Gegentaktverstärker asu Q1 und Q2 ist dagegen recht
> flink.

Natürlich.
Das sind ja auch nur Spannungsfolger; die bleiben wegen
der Emittergegenkopplung immer hübsch im linearen Bereich.

von Gerd E. (robberknight)


Lesenswert?

Maxim S. schrieb:
> Gerd E. schrieb:
>> Aber zuerst schau doch bitte mal in das Datenblatt vom BUZ11 zum Thema
>> max. Gate-Source Voltage. Und dann schau in Deinen Schaltplan, auf was
>> für eine Spannung Dein Gate bei 32V Versorgung kommt.
>
> Ja, das war blöd. Die Idee war, dass das Gate schneller lädt, wenn ich
> höhere Spannungen nehme. Aber natürlich muss es dann auch länger
> entladen werden. ;)

Und nach ner Weile muss es entlötet werden, das dauert noch länger.

von Falk B. (falk)


Lesenswert?

@ Konrad S. (maybee)

>Die On-Zeit deines BUZ11 ist also ca. 8µs, d.h. 64 Takte (8MHz Clock
>angenommen) lang, anstatt 1 Takt. Hier musst du ansetzen. Mit dem BUZ11
>wirst du das Ziel nicht erreichen können, der ist zu langsam.

Quark. Der BUZ11 ist allemal schnell genug, WENN er knackig am Gate 
angesteuert wird! Turn on time, delay, etc, liegt alles unter 100ns. OK, 
ein sauberer 100ns Puls könnte schwierig werden. A und O ist ein 
gescheiter MOSFET-Treiber ala ICL7667. Siehe MOSFET-Übersicht. Der 
selbstgestrickte Treiber ist in vieler Hinsicht Murks.

Der Schaltplan des OP ist aber wie so oft nicht original, denn als Last 
sind sicher NICHT 10 Ohm drin sondern der LED-Cluster + Vorwiderstand 
(hoffe ich mal) Und die SPANNUNG ist nebensächlich, denn die ist wegen 
der LED-Kennlinie und parasitären Kapazität eher vermurkst, wenn man am 
Drain vom MOSFET misst. Entscheidend ist der STROM durch die LED bzw den 
MOSFET, der macht das Licht bzw. Dunkelheit. Optimal misst man mittels 
Shunt und Differenztastkopf in Reihe zur LED, zur Not reicht auch ein 
normaler Tastkopf.

von Possetitjel (Gast)


Lesenswert?

Falk B. schrieb:

> Der BUZ11 ist allemal schnell genug, WENN er knackig am
> Gate angesteuert wird! Turn on time, delay, etc, liegt
> alles unter 100ns.

Lies mal weiter im Datenblatt: turn-off-delay typ. 180ns;
fall time typ. 130ns.

> OK, ein sauberer 100ns Puls könnte schwierig werden.

Das möchte ich doch meinen.

Gate-Kapazität typ. 1.5 nF; Miller-Effekt auch nicht
vergessen. Da ist man schnell mit 1 A Gatestrom für 100 ns
dabei.

Andererseits sind die 100 ns ohnehin ein akademischer Furz:
Knapp 250 Hz PWM-Frequenz sind maximal 4 ms Einschaltdauer.
Die (geschätzt) 4 µs, die jetzt lt. Ozillogramm erreicht
werden, ermöglichen also 10 bit (!) Auflösung.

Wenn es gelingt, die minimale Einschaltdauer auf 0.5 µs
zu drücken, ergibt das schon 13 bit - das sind 8192 Stufen
gegen bisher 1024.

von Falk B. (falk)


Lesenswert?

@ Possetitjel (Gast)

>> Der BUZ11 ist allemal schnell genug, WENN er knackig am
>> Gate angesteuert wird! Turn on time, delay, etc, liegt
>> alles unter 100ns.

>Lies mal weiter im Datenblatt: turn-off-delay typ. 180ns;
>fall time typ. 130ns.

In meinem Datenblatt stehen da 50 bzw. 20ns. OK, es ist der BUZ11A, der 
lag auf meiner Festplatte.

>Wenn es gelingt, die minimale Einschaltdauer auf 0.5 µs
>zu drücken, ergibt das schon 13 bit - das sind 8192 Stufen
>gegen bisher 1024.

Klingt realistisch.

von S. K. (hauspapa)


Lesenswert?

Das bekommt man schon noch hingebogen. Zumindest für einen Test:

Warum eigentlich die Inverterstufe mit Q4?

Q3 brauchst Du für den Levelshift.
Q4 aber nicht. Die Invertierung kannst Du in Software machen, das spart 
eine ganze Stufe.

1.
Du entfernst Q4 und zeichnest in Deinem Schaltplan zwischen Kollektor 
von Q3 und Kollektor von Q4 eine Verbindung.
Jetzt arbeitet Q3 auf 5k Lastimpedanz (R1 nach Plus, R4 nach Masse je 
10k) und gleichzeitig ist die Gatespannung auf 1/2 Versorgungsspannung 
begrenzt. Beides nichts Schädliches wenn da über 30V daherkommen.

2.
R6 kleiner machen könnte auch noch ein bischen was bringen, mit 
Basisstrom bist Du für mehrere 100mA Gatestrom etwas gar geizig. (als 
Hausnummer 1k)

3.
bei Q3 1k zwischen Basis und Emitter hat auch noch niemandem geschadet

100ns liegen so sicher nicht drin aber mit den 3 kleinen Änderungen 
würde ich doch unter 1us erwarten.

Währe schön wenn Du das wenigstens mal durch den Simulator jagen 
könntest.
(natürlich mit invertiertem Ansteuersignal)

viel Erfolg
hauspapa

von Konrad S. (maybee)


Lesenswert?

Falk B. schrieb:
> ein sauberer 100ns Puls könnte schwierig werden.

Eben.

Possetitjel schrieb:
> Wenn es gelingt, die minimale Einschaltdauer auf 0.5 µs
> zu drücken, ergibt das schon 13 bit - das sind 8192 Stufen
> gegen bisher 1024.

Die 16-Bit-Auflösung ist schon da, nur leider nicht im Bereich von 1 bis 
ca. 64, also blöderweise genau der für geringe Helligkeit wichtige 
Bereich. Bei den größeren Helligkeiten sind 64 Takte hin oder her eher 
uninteressant.

von Peter D. (peda)


Lesenswert?

Ich würde einfach nen fertigen Treiber-IC nehmen, der macht auch gleich 
die Pegelanpassung.

http://de.farnell.com/microchip/mcp1407-e-p/treiber-mosfet-non-inv-6a-pdip8/dp/1317124

Und mehr als 12V Gatespannung ist Unsinn, also noch nen 7812 zur 
Versorgung.

von m.n. (Gast)


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Ich würde einfach nen fertigen Treiber-IC nehmen, der macht auch gleich
> die Pegelanpassung.

Nur hat man damit noch keine geschaltete Stromquelle.

Mit VNP10 und AD8532 hatte ich vor einiger Zeit ein "Blitzlicht" gebaut, 
wobei aber nur 1 µs Auflösung gefordert war. Vielleicht hilft ein Bild 
der Signale zur Einschätzung:
A2 = Steuersignal, A1 = Spannung am 1,1 Ohm Shunt.
Für kürzere Impulse wäre zunächst ein schneller OPV notwendig, gefolgt 
von einem schnelleren FET.

von Peter D. (peda)


Lesenswert?

m.n. schrieb:
> Nur hat man damit noch keine geschaltete Stromquelle.

Dazu müßte man erstmal die Daten der unbekannten 100W LED kennen, ob sie 
für Spannungs- oder Stromsteuerung ausgelegt ist.

von m.n. (Gast)


Lesenswert?

Maxim S. schrieb:
> weil sie aus 100 LEDs (10 parallel x 10 seriell)

Aber gut, die Angaben des TO sind doch eher schwankend.

von Ulrich F. (Gast)


Lesenswert?

Maxim S. schrieb:
> Der BUZ11 sollte schon bei 5V voll durchschalten.
Da singt das Datenblatt ein anderes Lied:
Ca. ein 1/3 bei 5V.

von Maxim (maxim) Benutzerseite


Lesenswert?

S. K. schrieb:
> Warum eigentlich die Inverterstufe mit Q4?

Wenn ich mich richtig erinnere, habe ich das Signal invertiert, weil die 
LED beim Einschalten der Spannungsversorgung ansonsten kurz aufblitzte, 
weil am uC-Pin nicht sofort 5V anliegen. Eventuell könnte man das mit 
einem 10k-Pullupwiderstand am PWM-Pin lösen. Aber wenn der uC (ATTiny) 
beim Einschaltvorgang die Pins auf 0V zieht, wird das auch nichts 
bringen.

Ulrich F. schrieb:
> Maxim S. schrieb:
>> Der BUZ11 sollte schon bei 5V voll durchschalten.
> Da singt das Datenblatt ein anderes Lied:
> Ca. ein 1/3 bei 5V.

Ja, da hast du recht. Dann werde ich mal die Tipps von hauspapa 
probieren (Beitrag "Re: PWM-Auflösung im untersten Bereich verbessern").

Wenn's nicht zufriedenstellend ist, werde ich wohl einen MOSFET-Treiber 
(ev. mit schnellerem MOSFET) bestellen. Der IRLU8743 ist z.B. ein sehr 
schneller MOSFET und kann mit 5V geschaltet werden. Damit würden Q3 und 
Q4 komplett entfallen. Ev. bräuchte man dann auch keinen Treiber mehr. 
Er verträgt aber max. 30V V_DS 
(http://cdn-reichelt.de/documents/datenblatt/A100/IRLU8743_IR.pdf). An 
den 10 LEDs fällt aber genug Spannung ab, so dass dies kein Problem 
wäre. Oder?

: Bearbeitet durch User
von Ulrich F. (Gast)


Lesenswert?

Maxim S. schrieb:
> Eventuell könnte man das mit
> einem 10k-Pullupwiderstand am PWM-Pin lösen.
Nein!
Wie willst du denn den Pin mit einem Pullup hoch halten, wenn der AVR 
den Pin mit Gewalt runter zieht?

Maxim S. schrieb:
> Aber wenn der uC (ATTiny)
> beim Einschaltvorgang die Pins auf 0V zieht, wird das auch nichts
> bringen.
Default ist 0 im Ausgangsregister und Pin auf Eingang.

Du hast nur die initialisierungs Reihenfolge vertauscht....

Tipp:
Erst eine 1 in das Ausgangsregister schreiben.
Dann den Pin auf Ausgang schalten.

von S. K. (hauspapa)


Lesenswert?

>Wenn ich mich richtig erinnere, habe ich das Signal invertiert, weil die
>LED beim Einschalten der Spannungsversorgung ansonsten kurz aufblitzte

Es ist richtig, ohne Inverterstufe leutet die LED solange Du im Reset 
bist.
Das lässt sich aber auch anders in den Griff bekommen.

>3.
>bei Q3 1k zwischen Basis und Emitter hat auch noch niemandem geschadet
lässt Du weg.

Dafür 100k zwischen uC Ausgang (PWM Seite von R3) und Pluspol (V1). Der 
steuert Q3 auf wenn der uC im Reset ist. Bildet gleichzeitig mit R3 
einen hochohmigen Spannungsteiler damit dem uC nichts passieren kann.

Zum Q3 beschleunigen könntest Du entweder R3 verkleinern oder 
100pF....1nF parallel schalten (evtl. mit 10...100R in Reihe um den uC 
Ausgang zu schonen)

viel Spass
hauspapa

von Peter K. (Gast)


Lesenswert?

Warum verwendet man für die Led denn keine Konstantstromquelle?

Sollte doch für die LED kein Problem sein und der Aufbau einer 
Konstantstromquelle mit PWM Steuerung ist auch kein großes Problem...

Die Vorteile sind jedenfalls dass der emittierte Lichtstrom einer LED 
nahezu linear mit dem Strom durch die LED zusammenhängt dadurch hat man 
auch keine Probleme was Schwellenspannung der Diode angeht oder 
exponentieller Stromverlauf bei Spannungssteuerung

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

Ich habe mal ein paar Schaltungsvarianten mit LTspice simuliert. In den
Diagrammen ist jeweils das Eingangssignal mit zeitlich ansteigender
Frequenz und der Laststrom zu sehen.

1. Die Orginalschaltung vom TE, wobei ich – damit die Schaltung nicht
   allzu langsam wird – die 10kΩ- durch 1kΩ-Widerstände ersetzt habe:
   Das Ausschalten des Laststroms wird auf Grund der Sättigung von Q1
   und Q2 um 4,9 µs verzögert, die Verzögerung beim Einschalten fällt
   kaum ins Gewicht.

2. Die Schaltung mit den vom Hauspapa vorgeschlagenen Änderungen: Das
   Einschalten wird auf Grund der Sättigung von Q4 um 1,0 µs verzögert,
   die Ausschaltverzögerung spielt keine Rolle.

3. Stromgegenkopplung für Q8 und Q9 verhindert deren Sättigung: Ein- und
   Ausschaltverzögerung betragen jeweils etwa 35 ns. Damit wird die
   Pulsbreite kaum verfälscht.

Der in der Simulation verwendete Mosfet BSZ165N04NS hat gemessen am
Rdson (13,8 mΩ) eine recht niedrige Eingangskapazität (630 pF), was der
Schaltgeschwindigkeit zugute kommt. Aber auch mit anderen Mosfets lassen
sich wahrscheinlich Verzögerungen von unter 100 ns erzielen. Man sollte
nur nicht gerade den dicksten Brummer mit 5 nF nehmen.

In der Praxis könnten die Ergebnisse etwas schlechter ausfallen, da in
der Simulation keinerlei Leiterbahnkapazitäten und -induktivitäten
berücksichtigt sind, die sich bei 35 ns schon so langsam bemerkbar
machen. Für die LED-Dimmerei sollte sie aber immer noch gut genug sein.

Trotzdem würde ich keine der drei Schaltungen nehmen, sondern einen
Logic-Level-Mosfet nur über das Emitterfolgerpäärchen (ohne die beiden
anderen Transistoren) ansteuern. Das dürfte ähnlich schnell werden und
spart 2 Transistoren und fast alle Widerstände ein.

Und ich würde nach wie vor aus den weiter oben genannten Gründen über
eine geschaltete Konstantstromquelle nachdenken.

von Maxim (maxim) Benutzerseite


Lesenswert?

Yalu X. schrieb:
> Trotzdem würde ich keine der drei Schaltungen nehmen, sondern einen
> Logic-Level-Mosfet nur über das Emitterfolgerpäärchen (ohne die beiden
> anderen Transistoren) ansteuern. Das dürfte ähnlich schnell werden und
> spart 2 Transistoren und fast alle Widerstände ein.

Erstmal ein Danke für die Mühe! Zu genau dem Schluss bin ich auch 
gekommen. Mit einem LogL-MOSFET bräuchte man auch keinen Treiber bzw. 
die zwei gekoppelten Transistoren sollten ausreichen.

Der BSZ165N04NS hat aber eine sehr abenteuerliche Bauform. Ich werde 
wohl den IRLU8743 probieren. Er ist auch leichter zu bekommen.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Maxim S. schrieb:
> Der BSZ165N04NS hat aber eine sehr abenteuerliche Bauform.

Ja, das stimmt. Ich einfach irgendeinen aus der LTspice-Bibliothek
genommen, der von den Parametern gut gepasst hat. In der realen Welt
gibt es genügend ebenfalls passende Typen in anderen Gehäusen.

> Ich werde wohl den IRLU8743 probieren.

Den würde ich als nicht besonders geeignet ansehen.

Seine Eingangskapazität beträgt fast 5 nF (dazu kommt noch die
Miller-Kapazität), entsprechend hoch sind die Ströme, die für schnelles
Schalten fließen müssen. Wenn du ihn direkt an den Mikrocontroller
anschließen wolltest, müsstest du einen Widerstand von mindestens 220 Ω
vor das Gate schalten, um den Schaltstrom auf ein für den µC
erträgliches Maß zu begrenzen. Dadurch würden aber die Schaltzeiten auf
deutlich mehr als 1 µs ansteigen, was du nicht willst.

Zusammen mit einem Emitterfolger aus zwei Transistoren als Treiber wären
die Schaltzeiten zwar wieder in Ordnung, trotzdem entstünden dabei
unnötig starke Strompitzen auf der 5V-Versorgung.

Maxim S. schrieb:
> Er verträgt aber max. 30V V_DS
> (http://cdn-reichelt.de/documents/datenblatt/A100/IRLU8743_IR.pdf). An
> den 10 LEDs fällt aber genug Spannung ab, so dass dies kein Problem
> wäre. Oder?

Der Spannungsabfall an den LEDs ensteht erst, wenn auch Strom durch sie
fließt. Bei gesperrtem Mosfet fließt hängt der Spannungsabfall vom
Reststrom des Mosfets ab. Ist er sehr gering, wird der größte Anteil der
Versorgungsspannung am Mosfet und nicht an den LEDs abfallen. Der Mosfet
wird davon zwar nicht kaputt gehen, denn vor dem eigentlichen Durchruch
wird der Reststrom ansteigen und dadurch die DS-Spannung begrenzt
werden. Ein Problem würde ich eher darin sehen, dass der Leckstrom, der
im Datenblatt nur für 24 V angegeben ist, bei höheren Spannungen evtl.
auf einen Wert ansteigt, der die LEDs auch im ausgeschalteten Zustand
noch leicht glimmen lässt.

Du brauchst für die 3 A aber auch keinen Mosfet mit einem Rdson von 3,1
mΩ. Selbst bei einem 20fachen Rdson kannst du den Mosfet immer noch ohne
Kühlkörper betreiben. Mosfets mit höherem Rdson haben i.Allg. kleinere
Kapazitäten bzw. benötigen zum Durchschalten weniger Ladung im Gate.

Mögliche Alternativen wären:
1
            Udsmax/V   Rdson/mΩ   Qgtot/nC   Gehäuse
2
————————————————————————————————————————————————————————————
3
IRLR3105       55         43         13      TO-252
4
IRLZ34N(S)     55         60         17      TO-220 (TO-263)
5
IRF7478        60         30         21      SO-8
6
IRLR2908       80         30         22      TO-252
7
————————————————————————————————————————————————————————————

Diese Typen sind evtl. auch ohne Treiber (mit ca. 100 Ω vor dem Gate)
ausreichend schnell, aber so rein gefühlsmäßig wäre ein einfacher
Emitterfolger trotzdem sinnvoll.

von Maxim (maxim) Benutzerseite


Lesenswert?

Also ich habe nun alles außer Q1 und Q2 entfernt und zwischen PWM und 
GT_IN einen 100 Ohm Widerstand eingesetzt (siehe 
Beitrag "Re: PWM-Auflösung im untersten Bereich verbessern"). Der Stromimpuls 
durch die LED (gemessen an einem 1 Ohm Shunt) kommt nun an 50 ns heran 
(wenn das PWM-Signal ebenfalls 50 ns breit ist)! Es gibt zwar noch kurze 
Nachschwinger, aber das ist nebensächlich. Die LED kann nun so dunkel 
gedimmt werden, dass sie nicht mehr wahrnehmbar ist.

Da der BUZ11 bei 5V GS-Spannung aber nicht voll durchschaltet, erwärmt 
er sich bei 100% PWM stark. Da wird demnächst ein Ersatz bestellt.

Ich habe nun noch eine Frage zur Stabilität der Schaltung: Wie bekomme 
ich die hochfrequenten Spannungsschwankungen von der 5V-Schiene des uCs 
weg? Elkos und Keramikkondensatoren nahe uC sind ja selbstverständlich. 
Kann man mit kleinen Induktivitäten eine bessere Entstörung erreichen? 
Wenn ja, wo muss ich die platzieren?

----------------------------------------------
|     |       |                              |
|     |       |                             LED
|     |       |        ------------------    |
|   470uF     |    5V  |                |    |
|     |     LM317-----------uC---100R--GTV--NFET
32V   |       |        |    |           |    |
|     |       |       100n  |           |    |
|     |       |        |    |           |    |
|---------------------------------------------

GTV sind die beiden Transistoren Q1 und Q2.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@Maxim S. (maxim) Benutzerseite

>Also ich habe nun alles außer Q1 und Q2 entfernt und zwischen PWM und
>GT_IN einen 100 Ohm Widerstand eingesetzt (siehe
>Beitrag "Re: PWM-Auflösung im untersten Bereich verbessern").

Man könnte sogar direkt mit dem AVR ansteuern, der ist besser als sein 
Ruf.

Beitrag "Re: Transistor, 1A, 4MHz Schaltfrequenz"

>Der >Stromimpuls
>durch die LED (gemessen an einem 1 Ohm Shunt)

Wo und wie gemessen?

>kommt nun an 50 ns heran
>(wenn das PWM-Signal ebenfalls 50 ns breit ist)! Es gibt zwar noch kurze
>Nachschwinger, aber das ist nebensächlich. Die LED kann nun so dunkel
>gedimmt werden, dass sie nicht mehr wahrnehmbar ist.

HEUREKA!

>Da der BUZ11 bei 5V GS-Spannung aber nicht voll durchschaltet, erwärmt
>er sich bei 100% PWM stark. Da wird demnächst ein Ersatz bestellt.

IRLZ34N ist der Klassiker.

>Ich habe nun noch eine Frage zur Stabilität der Schaltung: Wie bekomme
>ich die hochfrequenten Spannungsschwankungen von der 5V-Schiene des uCs
>weg? Elkos und Keramikkondensatoren nahe uC sind ja selbstverständlich.

Wie und wo hast du gemessen? Bilder?
Wie sieht dein Aufbau im Moment aus?
Oft sind es auch Meßfehler.

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.