LEDs und WS2812

Wer mit Hardware bastelt, kann mit blinkenden und leuchtenden Anzeigen nicht nur schöne Effekte erzeugen und Aufmerksamkeit gewinnen. LEDs sind auch unverzichtbare Hilfsmittel zur Anzeige eines Status, z.B. durch Blinken, sondern die Ausgabe oder Anzeige selbst ist oft der Zweck einer Schaltung.

LED Grundlagen

Ehe sie aber LEDs einfach an eine Stromversorgung hängen, sollten Sie eine Grundregel wissen:

LED nie ohne Stromsteuerung, z.B. Vorwiderstand, betreiben! Sie werden beim Leuchten niederohmig und ohne Wiederstand steigt der Strom sehr schnell an und verbrennt die LED.

Ein Glühbirnchen ist ein sehr genügsames Bauteil. Es hat einen festen Widerstand und wenn mehr Spannung anliegt, dann steigt der Strom entsprechend mit an. Der Widertand erhöht sich sogar noch, wenn der Glühfaden warm wird. Wenn die Spannung ansteigt ist dann wird mit erhöhtem Widerstand der Strom proportional weniger schnell steigen. Ein Glühfaden kann natürlich auch durchbrennen aber er ist nicht "kritisch"

Eine LED aber funktioniert komplett anders. Es ist ein Halbleiter, der bei Erreichen der Durchflussspannung sehr niederohmig wird. Das ist schon fast ein Kurzschluss. Wer also eine LED mit einer Spannung betreibt, bei der sie leuchtet, und den Strom nicht begrenzt, verheizt sie in Sekundenbruchteilen. Eine entsprechende Schaltung muss den Strom begrenzen, d.h. immer wenn der Strom zu hoch wird, muss ein anderes Bauteil den Strom begrenzen oder die Spannung soweit reduzieren, dass die LED grade nicht mehr niederohmig ist. Es ist quasi der Tanz auf der Klinge. So eine Steuerung ist aber sehr billig zu realisieren. Ein einfacher ohmscher Widerstand in Reihenschaltung genügt und das ist ganz einfach zu erklären.

Wenn in der Schaltung die LED durchlässig wäre, also 0 Ohm hätte, dann würde die komplette Spannung am Wiederstand anliegen und der ohmsche Widerstand bestimmt den fließenden Strom ( I=U/R). Der Strom kann also nicht endlos hoch sein. Wenn dann an der LED aber 0 Volt abfallen, dann leuchtet sie nicht aber ist auch nicht durchlässig. Die LED hat also einen gewissen Widerstand womit aber auch eine Spannung an ihr abfällt. Die Spannung wird sich genau dort einpendeln, wo die LED gerade leuchtet aber der Widerstand noch hoch genug ist, damit die Spannung das Leuchten am Leben erhält. Das ist ein Regelkreis und je nach Eingangsspannung und der LED-Betriebsspannung bemisst sich der Vorwiederstand.

Kommen Sie nun aber nicht auf den Gedanken auf den Widerstand zu verzichten und genau die LED-Betriebsspannung anzulegen. Zwischen LED gibt es bauartbedingt immer Toleranzen und selbst die Farbe einer LED ist relevant. Der Tick ist also einen konstanten Strom zu gewährleisten.

Die meisten LEDs sind bei ca. 20mA am hellsten. Ein paar mA mehr oder weniger sind tolerierbar. Es gibt aber auch "Low Current"-LEDs, die auch schon bei 2mA anfangen zu leuchten, wenngleich nicht in voller Helligkeit. Damit ist aber auch klar, dass eine Reihenschaltung nicht nur stromsparender sondern auch ehe die gleiche Leuchtstärke sicherstellt als eine Parallelschaltung. Allerdings gibt es auch hier mehrere gute und schlechte Optionen:

Die beiden grünen Schaltungen sind aus Sicht der Bauteilersparnis aber auch Energieersparnis am besten. Die rote Variante verbietet sich bei unterschiedlichen LEDs mit unterschiedlichen Durchlassspannungen da dann die LED mit der niedrigsten Durchlassspannung den meisten Strom verkraftet und verbrennt oder zumindest deutlich heller ist. Die blaue Variante ist möglich aber bedeutet nicht nur mehr Bauteile sondern auch einen dreimal so hohen Energieverbrauch, bei dem die Widerstände Wärme abgeben. Die Reihenschaltung rechts ist daher zu bevorzugen, solange die Betriebsspannung ausreicht und alle LEDs den gleichen Strom benötigen. Eine Kombination von "Low Current"-LEDs mit ca. 2mA und klassischen LEDs mit ca. 20mA geht natürlich nicht..

Beim Einsatz von 3,3V wird es mit Betriebsspannungen von 1,7-2,5V pro LED natürlich nicht mit Reihenschaltungen.

Einfache RGB-LEDs und Bändern

Interessant wird das ganz natürlich mit Farbe und in jedem Baumarkt finden sich mittlerweile LED-Bänder mit verschiedenen LEDs, die auch noch entsprechend angesteuert werden. Allerdings gibt es dabei zwei Typen zu unterscheiden:

  • RGB-Bänder mit getrennter Ansteuerung je Farbe

    Neben der Masse sind hier Rot, Grün und Blau als eigene Leitung herausgeführt. Damit sind zwar alle Farbmischungen möglich aber das ganze Band hat immer die gleiche Farbe. Für Möbelinstallation reicht das natürlich aus. Allerdings sind alle LEDs auch parallel ausgeführt, denn um 100 LEDs mit 20mA zum Leuten zu bringen, müssten 170-250V anliegen und die Bänder könnten nicht überall gekürzt werden. Hier wird also schon mit entsprechende hohen Strömen gearbeitet.
    Das Band auf dem Bild nutzt 12V und jede Farbe hat pro Segment einen Vorwiderstand. Manchmal gibt es auch noch eine extra Leitung und LED für die Farbe Weiß.
  • RGB-Bänder mit digitaler Ansteuerung

    Diese Bänder werden meist mit 5V betrieben und haben nur drei Anschlüsse. Über den mittleren "Datenanschluss" wird die Farbe digital (z.B. 3x 8 Bit) signalisiert. Jede LED gibt die Signale mit dem nächsten Takt weiter, so dass eine Software seriell die Farben quasi "durchschiebt. Die Steuerung der LEDs übernimmt dann der kleine schwarze Chip. Bekannte bezeichnungen sind WS2811 und WS2812

Für Raumbeleuchtungen reichen also die ersten günstigeren LEDs aus, während für eine individuelle Ansteuerung von LEDs die intelligenten Bänder den Vorzug erhalten sollten. Wie so häufig in der Do it Yourself -Szene gibt es für die Ansteuerung schon fertige Bibliotheken, die auch eine gute Quelle für kompatible LED-Bänder sind.

(DEPRECATED) 595 style shift registers - http://www.usledsupply.com/shop/rgb-32-spi-dmx-decoder.html
(DEPRECATED) hl1606 based led strips - http://bliptronics.com/item.aspx?ItemID=83
(DEPRECATED) lpd6803 based led pixels - http://bliptronics.com/item.aspx?ItemID=86
tm1809 based led strips
tm1804 based pixels
ws2801 based led strips and pixels
lpd8806 based led strips - https://www.adafruit.com/products/306
ucs1903 based led strips
sm16716 chipset - e.g http://www.amazon.com/gp/product/B00BI0CS4W
support für the ws2811 chipset

Mittlerweile haben sich aber wohl zwei Modelle durchgesetzt. Achten Sie dennoch beim Einkauf auf die Details. Hier sehen Sie ein Modell, in dem die LEDs wohl 6 Anschlüsse und es ein gesondertes IC gibt. Es kann ein diskreter Aufbaue eines WS2811 sein

Es kann aber auch ein gänzlich unbekannter Chip sein, der da im Baumarkt verkauft wird.

WS2812B/WS2811 und SK6812RGBW

Wenn Sie im Internet und verschiedenen Marktplätzen suchen, dann stoßen Sie fast immer auf diese beiden Bezeichnungen. WS2812B ist der Chip samt LEDs in einem Gehäuse und WS2811 ist der Chip alleine zum selbst verlöten. Eine zusätzliche weiße LED enthält der SK6812RGBW.

Diese Streifen sind natürlich aufwändiger und teurer als einfache RGB-Bänder. Dafür können Sie hier jede Farbe jeder LED einzeln ansteuern. Alle Chips sind dabei hintereinander geschaltet und werden mit Energie versorgt. Eine Datenleitung verbindet den vorherigen LED-Baustein mit dem Nachfolger

Zur Ansteuerung werden dann seriell 3x 8 Bit, also 24bit  für die Farben R/GB eingeliefert und von der ersten LED angezeigt. Die nächsten 3 Bit werden von der LED aber einfach durchgereicht und von der zweiten LED ausgewertet. Die nächsten 24Bit werden von der ersten und zweiten LED durchgereicht und landen so bei der dritten LED. Erst wenn zwischen den Paketen eine Pause von ca. 50uμs liegt, fängt das Spiel von vorne an. Die Übermittlung eines einzelnen Bit dauert 1,25μs, d.h. 30 µs pro LED.

Wer ohne flackern mit 25 Updates/Sek arbeiten will, darf nicht mehr als 40ms pro Lauf verbrauchen. Bei 50µs Reset-Zeit bleiben also noch bleiben also 40.000µs -50 = 39950µs für LEDs. 30µs/Led ergibt also 1331 LEDs zur Ansteuerung bei einer Baudrate von 33,333bit/Sek. Nur gut, dass es entsprechende Libraries für die verschiedenen Bastelbausteine gibt:

Vergleichen Sie nicht nur die Preise, denn nicht nur das Lieferland (Deutschland; EU, China) machen einen Unterschied sondern auch Wasserdicht/innen und vor allem die "LED pro Meter) sind durchaus variabel.

Libraries

Die Ansteuerung der LED mit einem Bitstrom macht heute keiner mehr von Hand. Dafür gibt es mehrere Libraries, mit denen Sie diese LEDs ansteuern können.

ESP32 #38: NeoPixel (WS2812b) Library Contest
https://www.youtube.com/watch?v=5nvAmingjUA

Fertige Firmware

Nicht immer müssen sie selbst alles programmieren. Die große Verbreitung des ESP8266/ESP32 hat zu ganz vielen fertigen Lösungen geführt, die sie nur noch flashen müssen. Meist startet dann der ESP als Access-Point zur Erstkonfiguration um sich dann in ihre Haus-LAN einzubinden. Alles andere geht dann per Webseite oder vielleicht auch REST, MQTT etc.

Adressierbare LED Strips mit WLED ansteuern (SK6812) - Grundlagen | haus-automatisierung.com [4K]
https://www.youtube.com/watch?v=GfSvnVixAfs

230V LEDs

Nun reicht manchmal ja die kleine LED auf dem Eigenbau-Board nicht aus und es darf etwas "mehr" sein. Warum nicht einfach eine Ansteuerung für 230V bauen?

Bitte arbeiten Sie nicht ohne entsprechende Kenntnisse mit Spannungen über 25 Volt. Vor allem, wenn es gar nicht erforderlich ist

Bei Spannungen unter 25 Volt AC oder 60 Volt DC kann gänzlich auf einen Schutz gegen Berühren verzichtet werden; diese Spannungen gelten auch für Tiere und Kinder als ungefährlich
Quelle https://de.wikipedia.org/wiki/Kleinspannung

Es gibt nämlich schon massenhaft fertige Module, die sie problemlos auch umprogrammieren können. Gerade der Siegeszug des ESP8266-Chips ist hier "Schuld" daran, dass vermutlich jede LED mit E27 Sockel im Innern einen ESP8266 zur Ansteuerung verwendet. Leider ist der Markt hier sehr veränderlich, so dass es immer neue Geräte gibt und andere verschwinden. Es kann sogar sehr sinnvoll sein, die eingebaute Firmware durch eine Eigenentwicklung zu ersetzen.

Weitere Links