Forum: Mikrocontroller und Digitale Elektronik LED dimmen: welche methode ist besser


von Master S. (snowman)


Angehängte Dateien:

Lesenswert?

Hallo

nun muss auch ich ein paar hochleistungs-LEDs dimmen. die einfache 
variante ist, die LEDs in serie, dann gegen GND ein Mosfet mit PWM 
ansteuern. mir ist aber eine zweite variante in den sinn gekommen in der 
art eines step-down-converters, dessen ausgangsspannung je nach strom 
geregelt wird.
ich habe dafür mal eine skizze gemacht (siehe attachment). über den 
shunt entsteht eine spannung die verstärkt und durch einen tiefpass dem 
ADC eines uC zugeführt wird, welcher wiederum die PWM generiert.

da ich 6 solcher LED-"stränge" regeln will, kam mir die idee von 
soft-PWM in einem billigen uC, der mindestens 6 ADC-eingänge hat. nun 
frage ich mich, welche ansteuerungsmethode (siehe attachment) besser 
ist: tut es die einfache mit nur dem Mosfet oder ist die aufwändige mit 
der spule vorzuziehen. der wirkungsgrad ist mir dabei sehr wichtig.

..oder gibt es eine noch bessere lösung?

vielen dank

von MaWin (Gast)


Lesenswert?

Du willst offenbar sowieso per PWM dimmen.

Kann man machen wenn man meint daß sich sonst die Farbe ändert und man 
dafür die flimmrigen Rücklichter eines BMW haben will.

Aber wie man den STROM der eingeschalteten LED regelt, dazu gibt es 
mehrere Methoden.

a) Ein simpler Vorwiderstand

b) Eine lineare Stromregelung.

c) Eine geschaltete Stromquelle (Stromschaltregler).

In allen 3 Fällen lohnt es sich, diesen Maximalstrom NICHT durch den uC 
regeln zu lassen, denn dann gehen die LEDs wenigstens nicht kaputt, wenn 
das Programm falsch war oder sich der uC aufhängt.

Ein Vorwiderstand ist nichts schlechtes, gerade wenn man ein Netzteil 
zur verfügung hat und damit geng Spannung und genug Leistung.

Sind die Schwankungen der Versorgung gross (ungeregeltes Netzteil doer 
Batterie/Akku) dann kann eine lineare Stromsenke sinnvoll sein.

      +--|<|--|<|--|<|--|<|-- +
      |
uC --|< NPN Transi wie BD139
      |E
      R (4V/Iled)
      |
    Masse

Will man die Stromaufnahme noch reduzieren weil man viel mehr Spannung 
hat als die LEDs brauchen, dann kann ein Stromschaltregler sinnvoll 
sein, je nach LED-Strom ein LM2576 oder so.

Aber den Strom per uC regeln, das würde ich sein lassen. So aufwändig 
ist ein Vorwiderstand bzw. Transistor und Widerstand, bzw. 2 
Transistoren und 2 Widerstände nicht. Und aflls dich diser Aufwand schon 
überfordert, dann ist ein Schaltregler erst recht nichts für dich.

von Hans (Gast)


Lesenswert?

Deine Tastatur funktioniert nicht. Shifttaste klemmt!

von Master S. (snowman)


Lesenswert?

vielleicht hätte ich noch erwähnen sollen, dass sowieso ein uC da ist, 
der den "befehl" entgegen nimmt, wie hell, die LEDs nun sein müssen (es 
ist ja nicht so, dass die LEDs eine bestimmte "dimmung" auf immer und 
ewig haben müssen, sondern dass diese geändert werden kann)

a) fällt weg, wegen zu hoher verlustleistung, und weil diese methode 
keine möglichkeit bietet die helligkeit zu ändern (dimmen)

b) fällt weg, wegen zu hoher verlustleistung; via änderung der 
referenzspannung könnten zwar unterschiedliche helligkeiten realisiert 
werden (aber etwa gleich aufwändig)

c) das entspricht meiner obigen skizze, nur dass ich mir 6x den preis 
von diesem schaltregler spare


ps: grundspeisung der LEDs via einem geregelten schaltnetzteil (24V)

von Udo S. (urschmitt)


Lesenswert?

Master Snowman schrieb:
> c) das entspricht meiner obigen skizze, nur dass ich mir 6x den preis
> von diesem schaltregler spare

Und was kosten die LEDs wenn du einmal(, zweimal, dreimal, ...) einen 
Fehler in deinem Programm hast?

ich würde einen geschalteten und dimmbaren (ggf. via PWM) Stromregler 
nehmen.

von Uwe (Gast)


Lesenswert?

Die obere Schaltung könnte im "Prinzip" funktrionieren die untere naja.
Bei der unteren wird der Strom nicht wirklich begrenzt bzw. nur wenn der 
FET (Innenwiderstnd des µC IOs und Gatekapazität) durch PWM im 
Linearbetrieb arbeitet. Im Schaltbetrieb bei durchgeschaltetem FET würde 
der Strom nur durch den Innenwiderstand der Spannungsquelle oder des 
FETs begrenzt werden (oder durch die LED)

von Harald Wilhelms (Gast)


Lesenswert?

Master Snowman schrieb:
> vielleicht hätte ich noch erwähnen sollen, dass sowieso ein uC da ist,
> der den "befehl" entgegen nimmt, wie hell, die LEDs nun sein müssen (es
> ist ja nicht so, dass die LEDs eine bestimmte "dimmung" auf immer und
> ewig haben müssen, sondern dass diese geändert werden kann)
>
> a) fällt weg, wegen zu hoher verlustleistung, und weil diese methode
> keine möglichkeit bietet die helligkeit zu ändern (dimmen)
>
> b) fällt weg, wegen zu hoher verlustleistung; via änderung der
> referenzspannung könnten zwar unterschiedliche helligkeiten realisiert
> werden (aber etwa gleich aufwändig)

Bist Du möglicherweise der Ansicht, das Du bei PWM keinen
Vorwiderstand/KSQ brauchst? Dann solltest Du Deine Ansicht
schleunigst revidieren. Nur wenn Du als "Vorwiderstand" eine
Drossel, also einen Schaltregler nimmst,n verringerrt sich die
Verlustleistung.
Gruss
Harald

von vip (Gast)


Lesenswert?

MaWin schrieb:
> Kann man machen wenn man meint daß sich sonst die Farbe ändert und man
> dafür die flimmrigen Rücklichter eines BMW haben will.

Spätestens mit L und/oder C wird da nicht so viel flimmern, wenn man es 
vernünftig macht. Untere Schaltung macht natürlich nicht viel Sinn so 
ganz ohne Vorwiderstände, bei der oberen würde ein Tiefpass vor dem ADC 
und eine Schutzschaltung, die verhindert, dass der Schalttransistor 
länger als die maximale Zykluslänge durchschaltet, nicht ganz falsch 
sein.

von Master S. (snowman)


Lesenswert?

ok danke, Uwe! stimmt, so habe ich das noch nicht gesehen. na, dann 
bräucht ich nach ansicht von Harald Wilhelms eine drossel/spule; also 
sowas im prinzip wie ich's in der oberen teil der skizze habe. richtig?

edit: @vip: du meinst also, dass die erste schaltung funktionieren 
müsste? ja, über einen HW-abschaltung bei überstrom habe ich auch schon 
nachgedacht.

von vip (Gast)


Lesenswert?

Abschaltung bei Überstrom verkompliziert das ganze nur, ein Monoflop am 
Transistor sollte gegen Fehler in der Ansteuerung reichen. Wenn der 
Transistor durch ist, hilft sowieso nur noch eine Sicherung.

von Udo S. (urschmitt)


Lesenswert?

vip schrieb:
> Abschaltung bei Überstrom verkompliziert das ganze nur, ein Monoflop am
> Transistor sollte gegen Fehler in der Ansteuerung reichen.

Nur wenn er das Monoflop nicht so oft aufruft, daß sich ein duty cycle 
von > 50% ergibt, dann läuft der Strom hoch.
Das Monoflop schützt nur vor einem Absturz bei der die Ansteuerung auf 1 
geht, nicht vor Programmierfehlern wie z.B. Overflows beim rechnen oder 
schlicht falschen Parametern etc.
Wenn er schon die Stromregelung über einen selbstprogrammierten µC 
macht, sollte er statt der LEDs beim entwickeln Widerstände nehmen und 
viel viel testen. Das selbe nach jeder Codeänderung.

von Master S. (snowman)


Lesenswert?

das testen wird an einem labornetzgerät sein, bei dem ich den strom 
begrenzen werde. diesbezüglich habe ich keine bedenken. allerdings habe 
ich das mit dem monoflop nicht verstanden. ich hätte mir einfach eine 
logik gemacht, die einerseits beim uC ein "stop-interrupt" auslösst und 
gleichzeitig das PWM-signal hardwäremässig zum Mosfet unterbricht. ist 
dagegen etwas "einzuwenden"?
ps: danke für alle bisherigen, konstruktiven ideen/meinungen. danke!

von xcdark (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Nur wenn er das Monoflop nicht so oft aufruft, daß sich ein duty cycle
> von > 50% ergibt, dann läuft der Strom hoch.

Deshlab: Monoflop auf halbe Zykluszeit.

von xcdark (Gast)


Lesenswert?

Master Snowman schrieb:
> ich hätte mir einfach eine
> logik gemacht, die einerseits beim uC ein "stop-interrupt" auslösst und
> gleichzeitig das PWM-signal hardwäremässig zum Mosfet unterbricht. ist
> dagegen etwas "einzuwenden"?

Letztenendes nichts anderes als das vorgeschlagene. Ob du das Zeitklied 
nur nutzt, um den Transistor zu sperren, oder auch den µC mitteilst, 
dass es einen Fehler gibt (was durchaus sinnvoll ist), bleibt dir 
überlassen.

von S. T. (cmdrkeen)


Lesenswert?

Also am einfachsten (und ziemlich effizient) nimmt man einfach den 
LED-strang mit Vorwiderstand(hier wird die einzige Leistung verbraten, 
deswegen summe der Flußspannungen nur leicht unter Betriebsspannung)
Der Vorwiderstand dient auch als Symmetriewiderstand zwischen parallelen 
LED-strängen und natürlich zum Schutz der LEDs bei Fehlfunktion des µC.

und den Strang schaltet man über einen FET ... vorzugsweise N-Kanal 
gegen Masse mit einem Gate-Treiber (z.b. 7667) um die Schaltverluste zu 
minimieren.

Sicher flackert die ganze Geschichte aber ab 20kHz oder 30kHz kann das 
niemand mehr wahrnehmen auch nicht bei relativ schnellen Bewegungen.

evtl baut man sich damit auch einen kleinen Radio-störsender ... aber 
emv-technisch habe ich eine solche Schaltung noch nie betrachtet.

mit einem ein wenig überdimensionierten MOSFET (100A) mit niedriegem 
RDSon und besagtem Gatetreiber habe ich ein Modul aus  96Stück  1/2Watt 
weißen LEDs gut regeln können. die ziehen eingeschaltet 2,5 A bei 24V.
Der Mosfet blieb kalt.

Einzige Frage: wie hoch kann die auflösung bei 30kHz PWM sein ... also 
mir reichen 8bit. mit der hardware-PWM eines 20MHz atmega gehen auch 
9bit

von Master S. (snowman)


Lesenswert?

@S.T.: danke! das mit dem vorwiderstand hätte natürlich schon den 
grossen vorteil der einfachheit, und dass ich mehrere "weisse" LED 
stränge parallel schalten könnte. was meinst du: wenn ich 1A pro strang 
habe und die summe der LED-vorwärtsspannungen innerhalb eines stranges 
23.5V ist, wie hoch müsste da die versorgungsspannung sein? genügten da 
noch 24V?
ps: 8bit-PWM genügt längstens

von MaWin (Gast)


Lesenswert?

> wenn ich 1A pro strang habe und die summe der LED-vorwärtsspannungen
> innerhalb eines stranges 23.5V ist, wie hoch müsste da die
> versorgungsspannung sein? genügten da noch 24V?

Nein.


Selbst wenn diese 23.5V bei Nennstrom gemessen sein sollten,
und nicht aus dem Datenblatt stammen wo sie wohl von 3.1
bis 3.6V pro LED angegeben sind,
schwankt die Spannung mit der Temperatur und die LEDs werden
heisser wenn sie leuchten, er sinkt beispielsweise um 4mV/K,
bei 7 LEDs also um 28mV und von 20 bis 70 GradC um 1.4V.

Also werden aus 0.5V für den Widerstand 1.9V, und der Stron
der bei 0.5 Ohm an 0.5V noch 1A beträgt steigt auf 3.8A,
natürlich nur theoretisch, deine LEDs sind vorher kaputt.

Du brauchst deutlich mehr als 2% der Betriebsspannung für den
Widerstand, eher 20%, also 5V mehr.

von Master S. (snowman)


Lesenswert?

OK, danke für die erklärung.
> also 5V mehr.
das heisst pro strang 5W verlustleistung. da ich 6 stränge habe also bis 
zu 30W verlustleistung. somit ist diese idee leider schon wieder tot. 
danke trotzdem.
hintergrund: es wird eine aquariumsbeleuchtung, die am tag 10-12h 
leuchtet.

von Master S. (snowman)


Lesenswert?

ich bin jetzt gerade via untenstehendem link über den MIC3202 
gestolpert. ich glaube, das könnte meine einfache und effektive lösung 
sein :-)
http://www.led-treiber.de/html/getaktete_treiber.html#MIC3202

von S. T. (cmdrkeen)


Lesenswert?

Es geht hier ja nicht um Hochpräzise Lichtsteuerung ... d.h. wenn die 
nacher im betrieb doch dunkler werden ist es ja quasi egal ... und die 
Fische wirds nicht stören.

1A Strangstrom ist schon de Hausnummer ...
wenn die maximalen flussspannungen addiert 23,5V ergeben, leuchten die 
natürlich mit 24V.
wo du den 0,5 Ohm 0,5W widerstand  dafür hernimmst ist die andere frage.

aber die Versorgungsspannung wählt man ja anhand der max werte aus und 
den widerstand berechnet man anhand der min werte der flussspannung.

d.h.
7 LED max 3,4V = 23,8V
7 LED min 3V = 21V

24V-21V = 3V
3V/150mA = 20 Ohm
3V*150mA = 0,45W

so dimensioniere ich den strang. meist fließt dann weniger Strom als 
angepeilt ... was ich aber nicht als problem sehe.

in deinem fall: mit 24V und 6 Strängen a 1A bedeutet das ja 6*24W = 144W 
und ob davon nun 5% oder 30% als Wärme mit rausgehen ist doch nicht so 
Problematisch ... teuer ists allemal

wenn du 3 oder 5W LED's nutzt ... würde ich mir auch um das 
wärmemanagemend gedanken machen.

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.