Im Teil 2 erkläre ich das Grundprinzip der WS2811 RGB LED Pixel.
China Post
Meine Bestellung via Aliexpress in China wurde anscheinend bei der China Post aufgegeben und ist nun auf dem Weg in die Schweiz. Zumindest interpretiere ich das aus der Tracking Anzeige der China Post.
Es sind nun 15 Tage vergangen seit ich die Testbestellung für meine programmierbaren RGB LED’s tätigte. Ich hin gespannt wann (ob) sie hier in der Schweiz eintreffen.
Zeit um sich ein wenig mit der Technik auseinander zu setzen …
In der Zwischenzeit verbrachte ich schon über 8 Stunden im Internet mit der Suche nach Informationen über diese WS2811 LED Pixel Technik und passende Controller. Vor allem suchte ich nach einer verständlichen Anleitung, wie diese WS2811 genau funktionieren. Bevor ich mich für eine passende Ansteuerung entscheiden kann, will ich zuerst die Grundlagen der Ansteuerung verstehen.
Wie funktioniert ein WS2811
Das Funktionsprinzip ist relativ einfach zu erklären. Ein LED Pixel besteht aus drei farbigen LED (Rot, Grün, Blau) welche sich in einem Gehäuse befinden. Die dreifarbige LED ist mit einem IC WS2811 verbunden. Das sieht dann so aus:
Quelle/Bild: http://www.doityourselfchristmas.com
Diese programmierbaren LED Pixel kann man nicht einfach an eine Spannungsversorgung anschliessen. Sie werden so NICHT leuchten.
Es benötigt dazu einen speziellen LED Controller. Dieser Controller sendet die notwendigen Informationen an den ersten angeschlossenen LED Pixel. Der Controller übermittelt jeweils die Helligkeit der drei Farben Rot, Grün und Blau. Durch das Mischen der drei Farben kann man bekanntlich fast das ganze Farbspektrum generieren.
Jetzt haben wir aber eine ganze Reihe von solchen Farbpixeln aneinander gereiht. Wie kann man alle Pixel korrekt ansteuern?
Das geht so: Der Controller muss genau wissen, wie viele LED Pixel angeschlossen sind. Man kann bis zu 2048 solcher Pixel aneinander hängen!
Das ist ein einzelner LED Pixel:
Der Controller sendet die Information für den ersten LED Pixel. Danach folgt die Information für den nächsten Pixel. Der erste WS2811 IC sendet seinen Status an den nächsten Pixel und übernimmt dann den nächsten Status. Nun sendet der Controller die nächste Pixel Farbinformation. Der sendet seinen Status an den zweiten Pixel und der sendet seinen Status wiederum an den dritten Pixel. So geht das dann weiter bis alle angehängten Pixel wissen, was für eine Farbe sie haben sollen.
Grundprinzip wie ein Steuersignal aussieht:
Das Signal geht beim ersten IC rein (DIN Digital In) und dann wieder raus (DO Digital Out):
Da je Pixel drei Farben übermittelt werden müssen ist der Signalaufbau schlussendlich etwas komplexer.
Pro Pixel steht eine 24 Bit Information zur Verfügung (8Bit Rot, 8 Bit Grün, 8 Bit Blau). Das bedeutet, man kann gut 16 Millionen Farbkombinationen einstellen (2 hoch 24).
Zuletzt sendet der Controller die Information, dass nun alle Pixel leuchten sollen. Danach beginnt das Ganze wieder von Vorne. Der beschriebene Ablauf geht jedoch so schnell vonstatten, dass man das von Auge nicht sehen kann.
Hier ein technisches Datenblatt vom WS2811 Chip >>>
Geschwindigkeit
Jedoch habe ich heraus gefunden, dass ab 512 Pixel die Übertragung etwas langsamer wird. Bei 512 Pixel können die Pixel 30 Mal pro Sekunde angesteuert werden. Bei 1024 Pixel wird sich das vermutlich auf 15 Bildwechsel pro Sekunde reduzieren. Das ist jedoch immer noch ganz flott.
Hier ein Youtube Video mit einem klassischen T-1000 Controller und einem kurzen LED Streifen:
Alle Controller die ich im Internet gefunden habe funktionieren jedoch nach dem gleichen Prinzip. Es wird ein Muster nach dem anderen ‘abgespult’. Darum erinnern mich praktisch alle Weihnachtsbeleuchtungen an meine 80er Jahre Disco Zeit.
Konzept meiner Weihnachtsbeleuchtung
Meine Weihnachtsbeleuchtung soll jedoch aus statischen Weihnachtsbildern bestehen. Ich stelle mir das so vor, dass die Dekoration fix mit einem bestimmten Muster leuchtet. Alle paar Minuten soll die Beleuchtung dann ein anderes Aussehen annehmen. Dies will ich durch andere Farbkombinationen erreichen. Also leuchtet das Weihnachtsbäumchen zuerst Rot und beim nächsten Muster Blau. Dazu kann man das Aussehen zusätzlich verändern indem man einige LED mal ausschaltet und dann beim nächsten Muster wieder einschaltet.
In einem ersten Schritt stelle ich mir vor, dass die Bilder einfach umschalten. In einem zweiten Schritt sollen dann die Bilder langsam zum nächsten wechseln. Zum Beispiel werden die LED’s langsam auf dunkel gedimmt und dann werden sie wieder hell mit dem nächsten Muster. Ich kann mir da jedoch noch viel kreativere Übergänge vorstellen.
Arduino als WS2811 Kontroller
Nach stundenlangem googlen bin ich zum Schluss gekommen, dass meine angedachte Lösung mit dem Arduino Mikroprozessor immer noch die beste Lösung ist. So habe ich mir den Arduino Ethernet bestellt. Gegenüber dem klassischen Arduino Uno R3 hat dieser Arduino zusätzlich einen Netzwerkanschluss und einen SD Speicherkarten Slot.
Spätestens wenn meine Test RGB LED Pixel aus China eintreffen, berichte ich wie man diese mit Arduino ansteuern kann.
Bei Gelegenheit möchte ich noch auf einen Unterschied der WS2811 Modelle hinweisen. Es gibt nämlich solche mit nur einer Datenleitung und solche mit einer Datenleitung und einem Clock Signal.
Tipp
Coole Wiki Seite (Engl.) mit Informationen über digitale Weihnachtsbeleuchtung www.doityourselfchristmas.com/wiki/
1 Kommentar
Hallo Heinz, ich suche und lese jetzt schon seit Januar über verschiedene Steuerungen und Software. Ich habe auch schon mit Arduino getestet. Zur Zeit bin ich an Jinx! drann mit einem LED-Player-M von Diamex und 500 WS2811. Erste Tests waren nach vielen hin und her erfolgreich.
Wie und mit welcher Software hast du die geilen Effekte an deinem Mega Tree hinbekommen. Das gefällt mir sehr gut. Kann ich das mit den Diamex eventuell lösen? Das Teil hat 8 Kanäle und ich weis nicht ob das bei der Lösung hilft.
Ich würde mich über eine Nachricht von dir freuen.