LED-Treiber

LEDs werden mit einem Strom - allerdings je nach Typ auch unterschiedlich - von etwa 20mA zum Leuchten gebracht. Bei höheren Strömen gehen sie kaputt! Also muss man für eine Strombegrenzung sorgen, bzw für einen Strom o.a. konstanter Größe.

Eine **Konstantstromquelle** ist das Gegenstück zu einer (Konstant-)Spannungsquelle: Eine (ideale) Spannungsquelle hat einen möglichst kleinen Innenwiderstand, eine (ideale) Stromquelle einen möglichst großen. Wir schließen daraus messerscharf, dass man eine einigermaßen brauchbare Konstantstromquelle erhält, wenn man eine Spannungsquelle mit einem (möglichst großen) Widerstand in Serie schaltet. Das ist der theoretische Hintergrund von "Vorwiderständen".

(Achtung: Scherz! Nicht nachmachen!) 230V Haushaltsnetz + 12k Widerstand + Diode 1N4007 sollte also eine LED prima zum Leuchten bringen. (Achtung: Scherz! Nicht nachmachen! Das ist **Aufgabe #4** (Theorie, einfach - deSilva): "Wo ist da der Pferdefuss?")

Ansonsten gibt es ICs, die ganz ausgezeichnet bis zu 64 LEDs zum Leuchten bringen:
 * MAX 7219** bzw. 7221 (einfach und preiswert!)
 * TLC 5940** (der "Mercedes" unter den LED Treibern)
 * SAA 1064** (mit I2C Ansteuerung, das kann sehr praktisch sein...)


 * PT 4115** (eine Spannungs- (oder PWM-) geregelter Konstantsromquelle bis 1 A (muss aber noch beschaltet werden mit einer Spule und Elko..)
 * WS 2801** (nur 3 (aber einzeln gedimmte!) Kanäle; [] )
 * WS 2803** (mit 18 Kanäle, 28p Gehäuse)

Nun die Praxis! Es folgen gelegentlich noch ein paar Bildchen/Schaltungen hierzu - das ist imer lästig zusammenzustellen, sorry!


 * Fall 1**: Ein "Normal-LED" am Mikrocontroller bereitet keine Schwierigkeiten. Diese leuchtet, sobald einige mA durch sie fließen und geht bei 20 bis 30 mA Dauerstrom kaputt. Gleiches gilt für einen Mikrocontrollerausgang :-) Da hat jemand wirklich mal aufgepasst! Wir schalten also: PLUS -> Vorwiderstand R -> LED -> Mikrocontroller "Pin 5". Wenn wir den Mikrocontroller-Ausgang(!) P auf LOW setzen, dann fließt ein Strom, der nur durch den Widerstand R begrenzt wird, der entsprechend zu bemessen ist (**Aufgabe #5** (einfach)).

Wenn der Ausgang "Pin 5" auf HIGH (= fast (!) 5V, jedenfalls in der Regel) gesetzt wird, dann fließt auch ein Strom, aber nur ein ganz, ganz kleiner. PLUS können z.B, die 5 Volt sein, die auch an der Mikrocontrollerversorgung anliegen. der Ausgang hat aber niemals exakt diesen Wert, sondern ein klein wenig drunter, vielleicht 4,9 V. Die 0,1 V Spannungsdiferenz reichen aber nicht, um die LED anzusteuern; für eine rote LED muss das etwa 1,5V sein, für eine grüne 2V, für eine helle weiße oder blaue 3 bis 3,6 V.

PLUS muss nicht notwendigerweise die Speisespannung des Mikrocontrollers sein, es geht auch kleiner oder größer! Wir müssen nur darauf achten (-> Theorie eines Mikrocontroller-Ausgangs), das kein nennenswerter Strom mit einer Spannung > Versorgungspannung +0,6V dorthin gelangt. Wenn wir also 3 weiße LEDs mit 3,3V "Vorwärtsspannung" hintereinanderschalten, dann können wir sie problemlos an 12V betreiben und mit dem 5V-Mikrocontroller schalten. Das wollen die Leute immer nicht glauben :-) (**Aufgabe #5b**: Wie groß muss dann der Vorwiderstand sein?) Es kann durchaus auch Sinn ergeben, eine KLEINERE Spannung (z.B. 2,5V) zur Speisung der LED zu verwenden, weil dann weniger Wärme am Vorwiderstand vergeudet wird. Oder wir haben eine sogenannte DUO-LED (in der in Wirklichkeit 2 LEDs gegeneinander geschaltet sind). Mit zwei 220 Ohm (**Warum gerade 220 Ohm?**) Widerständen bauen wir einen Spannungsteiler auf, und schalten die DUO-LED zwischen die 2,5V und dem Mikrocontrollerausgang. Nicht ganz so einfache Frage: **Und wie kriegen wir sie wieder aus?** Ich habe die Berechnungen bereits durchgeführt, weil es sich hier schon um eine recht anspruchsvolle Schaltung handelt. Der Transistor und der Emitterwiderstand bilden eine geschaltete Stromquelle. D.h. wir "schalten" zwar den Transistor, aber er "schalten nicht voll durch" im "ON" Zustand, sondern regelt (!) die Stromstärke auf den eingestellten Wert. Die Wärme wird dadurch nicht mehr nur am Widerstand sondern (vor allem) am Transistor abgeleitet. Der große Vorteil ist, dass wir im großen Umfang unabhängig von der Versorgungsspannung sind und vor allem von der konkreten Vorwärtsspannung der LEDs!
 * Fall2:** Durch Hochleistungs-LEDs fließt ein bedeutend größerer Strom als 30 mA, auch schon durch Infrarot-LEDs (ca 100mA)! 300mA ist ein nicht unüblicher Wert. In solchen Fällen benutzen wir einen NPN-Transistor als "Emitterfolger" und "High-Side-Driver", und schalten unsere LED(s) in den Kollektorpfad. Die Ansteuerungslogik ist nun umgekehrt: bei HIGH leuchten die LEDs, bei LOW sperrt der Transistor. Der Emitterwiderstand begrenzt gegenkopplungsmäßig (!) den Strom im Kollektorpfad. Es kann an ihm nie mehr als 4,4 V anliegen! (Aufgabe #6: Berechnung des Emitterwiderstands und aller Ströme und Spannungen in dieser Schaltung).

In der Literatur findet man dieses Beispiel oft mit einem integrierten Spannungsregler wie einem LM317 (hier aus: [] einer SEHR instruktiven Seite, auch wenn sie mit ihren Details den Anfänger vielleicht etwas erschlägt :-) )

Der klassische LM317 ist nun allerdings nicht schaltbar von einem Mikrocontroller, es gibt da aber ausreichend Alternativen mit sogenannten "step-down" Wandlern, die praktisch alle einen Schalteingang haben, z.B. der o.g. PT4115.

Ein speziell auf LEDs und Mikrocontroller hin ausgerichteter Chip ist der o.g. WS1801 und WS1803. Sie sind zudem noch kaskadierbar, müssen aber mit einem etwas komplizierteres Protokoll betrieben werden.

Apropos.: Wenn wir mit dem Steckboard arbeiten, sind Widerstände gar nicht so schlecht. Ob wir nun ein Drähtchen stecken oder einen Widerstand bleibt sich oft gleich...