WS2812 sind dreifarbige Leuchtdioden (RGB) mit einem integrierten Mikrochip, der mittels PWM fast alle Regenbogenfarben erzeugen kann. Sie sind für den Bau von Lichterketten vorgesehen, wo man jede LED einzeln steuern kann. Diese Lichterketten kauft man meist als Meterware auf Rollen. Sie haben eine selbstklebende Rückseite. An den gekennzeichneten Stellen kann man sie einfach mit einer Schere durchschneiden.
Unter dem Namen WS2811 kann man den Mikrochip auch einzeln ohne Leuchtdioden kaufen. Von einem anderen Hersteller gibt es kompatible SK6812, sowie die 4-Farbige Variante SK6812RGBW.
Der Daten-Eingang ist mit DI beschriftet. An den Ausgang DO kann man weitere Streifen anschließen. Achtung: Die Reihenfolge der drei Anschlüsse ist nicht immer gleich! So wird der LED Streifen an den Mikrocontroller angeschlossen:
Der 47 Ω Widerstand passt den Ausgangswiderstand des Mikrocontrollers an den Wellenwiderstand der langen Leitung an. Dadurch werden störende Reflexionen reduziert. Der Optimale Wert liegt meist irgendwo zwischen 30 und 80 Ohm und kann mit einem Oszilloskop ermittelt werden. Bei kurzen Leitungen (bis 30 cm) kannst du ihn weg lassen.
Der 220 Ω Widerstand am Eingang der Lichterkette wird empfohlen, wenn Mikrocontroller und Lichterkette separate Stromversorgungen haben. Er beschützt die erste LED vor Zerstörung, wenn sie ein Daten-Signal vom Mikrocontroller bekommt, während sie keine Stromversorgung hat.
Man steuert die erste LED mit einer folge von Impulsen an. Die ersten 24 Impulse verwendet diese LED für sich selbst, alle weiteren Impulse reicht sie zur nächsten LED weiter. Diese macht das ebenfalls, usw. Mit 2400 Impulsen kann man also 100 LEDs ansteuern. Jede einzelne LED verwendet ein Paket von 24 Impulsen:
Das sind 3 Bytes welche die Helligkeit der Farben grün, rot und blau (in dieser Reihenfolge) bestimmen. Jede LED-Farbe kann also Helligkeitswerte von 0 bis 255 annehmen. Das höherwertige Bit wird zuerst übertragen.
Mit diesen Zeiten bist du zu allen im Jahr 2021 bekannten Varianten der WS2812 kompatibel.
Bei der SK6812 ist das Protokoll identisch, nur die Grenzwerte des Timings sind etwas anders. Bei der 4-Farbigen SK6812RGBW werden 32 Bits übertragen, in der abweichenden Reihenfolge: rot, grün, blau und weiß.
Die neuen WS2812 ab Version 5 kommen mit Signalen ab 2,7 Volt aus. Viele im Handel befindlichen Produkte sind jedoch älter und brauchen mindestens 3,5 Volt. Leider geben die wenigsten Händler an, mit welcher Chip-Version ihr Produkt bestückt ist. Wenn der Streifen neben jedem LED Chip einen kleinen Kondensator enthält, dann ist er wahrscheinlich mit der älteren Version bestückt. Eine primitive Lösung ist die folgende Schaltung:
Hier wird die Versorgungsspannung der ersten Leuchtdiode mit Hilfe einer Diode auf 4,3 Volt reduziert. Dadurch erkennt sie die 3,3V Signale des Mikrocontrollers als gültige HIGH Pegel. Die reduzierte Versorgungsspannung beeinträchtigt allerdings die Helligkeit und den Farbton der ersten LED. Die Schaltung wird daher in Diskussionsforen zu Recht als "unsauber" bezeichnet.
Besser ist ein richtiger Pegelwandler am Eingang der Lichterkette, zum Beispiel mit dem Mikrochip 74LVC1G17. Der oben gezeigte Schutzwiderstand ist bei diesem IC nicht nötig.
Viele Leute unterschätzen die Stromaufnahme ihrer Lichterketten. Einfach nur ein starkes Netzteil anzuschließen ist zu kurz gedacht.
Der größte Knackpunkt ist der Spannungsabfall in den LED Streifen. Bei bis zu 10 Ampere pro Meter ist der Spannungsabfall nicht vernachlässigbar. Wenn du einen LED Streifen einfach nur an einem Ende mit Strom versorgst, kommt am anderen Ende nur noch wenig davon an, so dass die LEDs ungleichmäßig leuchten. Keiner will das. Deswegen speist man die Stromversorgung mit dicken Kabeln an gegenüberliegenden Enden ein:
Hier wurde ein langer LED Streifen in drei Stücke aufgeteilt, um den Spannungsabfall zu reduzieren. Jedes Teilstück bekommt seine Stromversorgung von gegenüberliegenden Enden eingespeist. Der Spannungsabfall in den Streifen wirkt sich so auf alle LEDs gleichmäßig aus.
Die Zuleitungen zu den Teilstücken werden am Ausgang des Netzteils zusammengeführt. So braucht man zwar etwas mehr Kabel, dafür reduziert es den Spannungsabfall. Um die Abstrahlung von Radiowellen zu reduzieren, verlege die Leitungen (5V und GND) paarweise möglichst dicht nebeneinander oder verdrillt.
Um lange dicke Leitungen zu vermeiden kann man mehrere kleine Netzteile verwenden. Oder man installiert ein zentrales 12 Volt Netzteil und verteilt einige Step-Down Wandler, die daraus stabile 5 Volt machen.
Beim Anschluss des Mikrocontrollers ist wichtig, dass seine GND Leitung mit der ersten LED zusammen trifft (nicht mit dem Netzteil!) und dass der hohe Last-Strom seinen eigenen davon separierten Weg hat. Ansonsten bewirkt Spannungsabfall auf der hoch belasteten Leitung eine Verzerrung des Signals, so dass die ganze Chose unzuverlässig arbeitet.
Wenn du ein Arduino Board verwendest, bedenke dass dessen 5 Volt Anschluss mit der USB Buchse verbunden ist. Wenn du das USB Kabel einsteckst während das Netzteil der Lichterkette versehentlich ausgeschaltet ist, wird die ganze Lichterkette vom USB Port versorgt und diesen überlasten.
Je nach Packungsdichte können diese Lichterketten eine Menge Wärme erzeugen. Wenn man die Streifen in ein schickes Gehäuse einbaut bekommt man schnell Probleme mit Hitzestau. Denn die WS2812 Leuchtdioden vertragen noch weniger Wärme, als einfachere Lichterketten.
Also immer an gute Kühlung denken. Es gibt im Fachhandel schöne Aluminium-Profile mit Diffusor, die man mit Abstandshalter in Ecken montieren kann, so dass immer noch genug Luft zur Kühlung zirkuliert.