Bevor es an die richtige Weihnachtsbeleuchtung geht, machen wir einen Testaufbau um die Hardware auf ihre Funktionalität zu prüfen.
Die Vorbereitung teilt sich in zwei Bereiche auf. Einerseits müssen wir die Software vorbereiten um den Teensy 3.1 Mikroprozessor anzusteuern. Damit der Teensy von Vixen Lights angesteuert werden kann, muss eine entsprechende Software auf das Board geladen werden. Danach muss man am Teensy nichts mehr ändern. Hardwareseitig müssen wir den Adapter mit dem Teensy zusammen löten und das Ganze mit Spannung versorgen.
Digitale Weihnachtsbeleuchtung selbst gebaut Teil 1 Digitale Weihnachtsbeleuchtung selbst gebaut Teil 3
Vorbereitung Hardware
Da all meine Teensy’s bereits zusammen gelötet sind kann ich diesen Schritt nur beschreiben ohne Fotostrecke.
Zuerst lötet man links und rechts von der Längsseite des Teensy (die kleinere der beiden Platinen) je einen 14 Pin-Steg (Schwarzer Steg mit Pins) an. Die Pins schauen dabei gegen unten! Verlötet wird der Steg zuerst auf der Oberseite des Teensy.
Danach wird der Teensy auf den OctoWS2811 Adapter aufgesteckt. Die USB Anschlussbuchse vom Teensy muss dabei so ausgerichtet werden, dass man ein USB Kabel einstecken kann. Der kleine Reset Taster befindet sich entsprechend auf der Seite der schwarzen RJ-45 Buchse. Nun wird das ganze umgedreht und auf der Unterseite verlötet.
Wichtig beim löten: Nicht zu lange an einem Pin ‘herum-löten’, dadurch könnte sich die Elektronik überhitzen. Ich löte immer über das Kreuz und lasse jeweils einen Pin aus. Danach löte ich die restlichen Pins wiederum abwechselnd übers Kreuz.
Vorbereitung Software
Der Teensy 3.1 basiert auf der Architektur von Arduino. Darum wird zur Programmierung die Software von Arduino benötigt. Es muss eine Arduino Version herunter geladen werden welche die Teensyduino Software unterstützt.
Ich entscheide mich für die aktuellste Version Arduino 1.6.5 > Download
Über den ‘Button’ “Just Download” lade ich den rund 80 MB grossen Windows Installer herunter. Das Setup lässt sich problemlos unter Windows 10 installieren. Nach erfolgreicher Installation das Programm einmal kurz starten und wieder beenden.
Danach lade ich die Software Teensyduino 1.25 (ca. 52 MB) für den Teensy 3.1 herunter und installiere diese wie in der Anleitung beschrieben. Wichtig, das Installationsprogramm muss mit der Option “Als Administrator ausführen” gestartet werden. Ansonsten gibt es eine Fehlermeldung! Weitere Infos zum Teensy Loader >>>
Bei der Frage nach den Libraries, welche man installieren möchte, klicke ich einfach auf “All”. So kann man bei Bedarf auch andere Anwendungen mit dem Teensy Mikroprozessor ausprobieren.
Testaufbau
Jetzt können wir den Teensy mittels USB Kabel bereits mit dem Computer verbinden. Dabei sollte Windows den Mikroprozessor automatisch erkennen und den passenden Treiber installieren.
Jetzt kann man die Arduino Software erneut starten und unter “Werkzeuge > Platine > Teensy 3.2 / 3.1” auswählen. Danach bei “Werkzeuge > Port > COMx” anwählen. x entspricht dem USB Port an welchem der Teensy erkannt wurde. Im Normalfall steht nur ein COM Port zur Auswahl, welcher gleich der richtige ist.
Achtung: Wird der Teensy an einem anderen Port eingesteckt, muss man den COM Port wieder anpassen.
Softwareseitig sind wir dem ersten Test schon ganz nah.
Wir wählen “Datei > Beispiele > OctoWS2811 > BasicTest”
Es wird nun ein einfaches Programm geladen mit welchem wir unsere LED Pixel testen können. Um gleich zu Beginn alle angeschlossen LED zu testen geben wir dem Programm noch die exakte Anzahl an LED an, welche wir anschliessen werden. Dazu suchst Du die Zeile “const int ledsPerStrip = 120” Hier kannst Du die Zahl 120 auf die Anzahl deiner LED anpassen. Mehr braucht es nicht.
Nun laden wir dieses Programm auf den Teensy. Dazu klickt man entweder auf den Pfeil der nach Rechts zeigt oder “Sketch > Hochladen”. Nun öffnet sich ein zusätzliches Fenster (der Teensy Loader 1.25 von Teensyduino). Dort steht, man soll auf den Knopf vom Teensyboard drücken.
Nachdem man auf den Knopf gedrückt hat, hört man ein paar Töne und die Anzeige im Teensy-Fenster wechselt kurz auf “Reboot”.
Jetzt haben wir den Teensy erfolgreich programmiert. Um das zu ‘beweisen’ müssen wir jedoch erst noch ein paar GRB LED anschliessen. 🙂
LED anschliessen
Wichtig: Während der Verkabelung und bei jeder Änderung unbedingt immer das USB Kabel vom Teensy und das Netzteil ausstecken. Nimm Dir diese kurze Zeit, denn die WS2811/WS2812 RGB LED sind empfindlich gegen Spannungsschwankungen und statische Entladungen.
Wichtig 2: Die 5 Volt Spannungsversorgung kann man von beiden Seiten der LED Kette anschliessen. Das Datensignal geht jedoch nur in einer Richtung. Daher muss man beim verbauen der LED Stripes oder Pixel darauf achten wo das Datensignal hinein und wo hinaus geht (Ergänzende Infos unten im Bericht).
Wie werden die LED verkabelt? Die LED benötigen eine 5 Volt Speisung und das Datensignal vom Teensy. Der Minus Pol vom Teensy und vom externen Netzgerät werden miteinander verbunden. Die Plus Leitung hingegen nicht.
Für das Datensignal nimmt man am besten ein altes Netzwerkkabel wo man auf der einen Seite einen Stecker abschneidet. Das Kabelende wird abisoliert und die Drähte werden freigelegt. Für unseren Testaufbau benötigen wir nur zwei Drähte (Stecker und Kabelbelegung sind weiter unten beschrieben). An einem Strang kann man bis zu 1024 LED anschliessen. Insgesamt hat ein OctoWS2811 acht solcher Datenstränge. Total sind daher 8192 LED pro Teensy möglich. Für mehr nimmt man einfach einen weiteren Teensy dazu. Aber Vorsicht, bei so vielen LED gibt es bei der hier beschriebenen Lösung via USB Kabel Probleme mit dem Datendurchsatz.
Funktionstest
Nun verbinden wir vorsichtig den Teensy mit der LED Kette. Am besten nochmals kurz alle Verbindungen überprüfen. Besonders bei den chinesischen LED bedeutet Rot nicht zwingend Plus oder Schwarz Minus! Haben wir die Datenleitung auf der richtigen Seite angeschlossen? Nach dem Check schliessen wir das USB Kabel an den PC. Zuletzt geben wir noch Strom auf das externe Netzteil.
Wenn alles richtig verkabelt wurde beginnen die LED nun zu leuchten und wechseln ihre Farbe.
Sollten die LED jedoch nicht leuchten nicht gleich verzweifeln. Am besten nochmals den ganzen Aufbau von Beginn an überprüfen. Die Versorgungsspannung mit einem Messgerät checken. Erst wenn alle Komponenten stimmen kann die LED Kette leuchten.
Ein paar Detailinformationen
Das OctoWS2811 Board
Das OctoWS2811 Board enthält zwei RJ45 Buchsen. Jede RJ45 ist mit 4 Datenkanälen verdrahtet. Von der Unterseite betrachtet sind die Kanäle 1 – 4 Links oben, Links unten die Kanäle 5 – 8.
Für die Verdrahtung zwischen dem Teensy 3.1 und den WS2811/WS2812 RGB LED nimmt man am besten ein Netzwerkkabel das man zerschneidet.
Je nach verwendetem Netzwerkkabel werden folgende Adernpaare für den entsprechenden Kanal verwendet:
In Tests habe ich erfolgreich bis zu 50 Meter lange Netzwerkkabel verwendet für die Ansteuerung. Grundsätzlich gilt jedoch, um so kürzer um so besser. Wenn man im Garten eine Beleuchtung ansteuern möchte, werden es schnell einige Meter.
Die Stromversorgung
Achtung, immer gut auf die Polarität achten! Einmal die Verdrahtung verpolen und im schlechtesten Fall geht die gesamte Steuerelektronik kaputt.
Die meisten RGB LED mit dem WS2811 oder WS2812 Digital Chip arbeiten mit 5 Volt. Im chinesischen Shop Aliexpress.com habe ich auch Versionen mit 12 Volt entdeckt. Für die Stromversorgung über lange Distanzen gilt, um so höher die Spannung um so besser. Denn bei 5 Volt fliesst ein beachtlicher Strom. Daraus erfolgen Probleme mit dem Spannungsabfall am Versorgungskabel. Entsprechend grosse Kabelquerschnitte werden benötigt.
Netzteile mit 30-50 Ampere bei 5 Volt kosten so um die 60 – 100 CHF.
Dateneingang / Datenausgang – Die verschiedenen LED Typen
Wie bereits erwähnt muss unbedingt die Datenrichtung beachtet werden. Je nach LED Modell sind die Datenanschlüsse unterschiedlich beschriftet. Beim nachfolgenden Modell hat es Pfeile. Das Datensignal muss in der Richtung des Pfeiles geführt werden.
Wichtig: Bei chinesischen Produkten darf man sich niemals auf die Kabelfarben verlassen. Rot muss nicht zwingend Plus bedeuten genau so wenig muss Schwarz unbedingt der Minuspol sein. Hier ist zur Vorsicht geraten. Im Zweifelsfall zuerst im Internet nach Beispielen googeln. Und wenn immer noch Zweifel bestehen nur eine einzige LED Kette anschliessen und nicht gleich eine ganze Serie.
Beim folgenden WS2812 – 16 LED Ring steht “Data Input” und “Data Output”. Hier ist die Richtung klar. Dazu gibt es noch die 5 Volt Spannungsversorgung (Power 5V DC) und der gemeinsame Ground (Power Signal Ground) der für das Datensignal und die Stromversorgung genutzt wird.
Etwas schwieriger ist es bei folgendem LED Pixel welcher mit dem WS2811 Chip gesteuert wird. Auf der einen Seite des Prints zeigen die Pfeile zur LED (DI = Data Input = Daten Eingang) und auf der anderen Seite (DO = Data Out = Daten Ausgang) von der LED weg. Nun muss man genau schauen welcher Draht an dieser Seite angelötet ist. Folgt man dem Draht, ist die Sache klar. Wiederum ist der Ground (GND) von Stromversorgung und Datensignal gemeinsam. Die +5Volt können nur an einer Seite angeschlossen werden, bei langen Kabellängen jedoch auch von beiden Seiten. Selbst wenn die LED nicht leuchten fliesst immer Strom. Einerseits wegen den IC’s welche die LED steuern und anderseits wegen den Kabelwiderständen. Also unbedingt einen Hauptschalter einplanen mit welchem bei Nichtgebrauch die komplette Speisung unterbrochen wird.
Der Testaufbau
Wir haben also ein Netzteil, ein Teensy 3.1 und eine LED Kette. Im hier beschriebenen Testaufbau kann man den Teensy 3.1 entweder über die USB Schnittstelle vom Computer oder durch ein eigenständiges Netzteil mit Micro USB Stecker und 5 Volt speisen. Das LED Programm ist in den Speicher des Teensy geladen, darum wird der Computer zum Betrieb nicht benötigt. Für die programmierbare Weihnachtsbeleuchtung muss jedoch der PC immer laufen und mit dem Teensy 3.1 verbunden sein.
Experimentieren
Wer nun Lust hat und sich in der Arduino Programmierung etwas auskennt kann nun bereits verschiedenste Lichtprogramme schreiben. Man kann z.B. die Farbe der LED im Takt der Musik verändern oder signalisieren wenn eine Mail eingetroffen ist. Die Möglichkeiten sind praktisch unbegrenzt.
Teil 3
Im Teil 3 starten wir dann endlich mit der Weihnachtsbeleuchtungssoftware Vixen Lights 3.2. Letztes Jahr arbeitete ich noch mit der Version 3.1. Darum muss ich mich zuerst wieder ein wenig in die Software einarbeiten. Ich hoffe ich schaffe es noch im Laufe des Oktobers darüber zu schreiben. Parallel dazu muss ich mich langsam um die eigene Anlage kümmern. 🙂
30 Kommentare
Hallo Heinz, die Anleitung ist echt super, auch wenn es bei mir leider nicht funktioniert…
Ich würde gerne den Teensy ebenfalls an Vixen anschließen, welchen Code hast du denn drauf geladen?
Ich freue mich über deine Antwort.
Hi fotofreak, I love your blog, and I’m happy to see that the teensy 3.2 works with Vixen Lights.
I have tried so much… But it didn’t works. It works with the fast.LED Sektch but not with the octows2811. I hope you are so friendly and show me the Sektch you wrote. Then my LEDs will shine so bride as yours.
Greetings from L.A.
Brian
Hallo
super gemacht das ganze
werde Sie den Tennsy 3.1 und OctoWS2811 zum Download frei geben?
mfg
Anton
Hallo Anton
Ja, ich möchte im Teil 3 auch die Teensy Software zum Download anbieten. Leider habe ich mal wieder wenig Zeit und komme nicht zum schreiben. Sobald meine Weihnachtsbeleuchtung bereit ist werde ich aber sicher dazu kommen. Kann aber noch ein paar Wochen dauern. Ansonsten sende ich den Code gerne auch ohne weitere Doku per Mail zu.
Grüsse
Heinz
Das währe super .
Meinec E- Mail *********@web.de
Mfg Anton
Hallo Anton
Hab Die Mailadresse hier ‘ausgesternt’.
Aber es kommt eine Fehlermeldung “Mailbox Voll”. (jedoch auf eine andere Maiadresse lautend)
Ist das Mail trotzdem angekommen?
Gruss
Heinz
hallo
sory habe mail box frei gemacht
nein leider nichts gekommen
gruss
Anton
Hallo!
Ich warte schon gespannt auf Teil 3 und die Anbindung an Vixen, bis wann wird es die ungefähr geben?
lg Werner
Hi,
tolles Prokjekt. Leider schon fast ein Jahr nicht´s mehr passiert hier 🙁
Warte auch gespannt auf den dritten Teil, da ich einfach nicht weiter komme.
Würde mich auch über den Code freuen, Schaffe es leider nicht den Teensy mit Vixen zu verbinden.
Gruß Matze
Hallo Matthias
Ja, ich weiss. Bin allgemein nur wenig aktiv. Werde nochmals einen Anlauf nehmen für den Teil 3. Ist ja eine neue Version Vixen Lights heraus gekommen. Muss mich aber erst nochmals reinarbeiten und dokumentieren. Ich hoffe ich schaffe es in den nächsten ein, zwei Wochen. Versprechen kann ich aber nichts.
Gruss
Heinz
Danke für die Antwort. Ich will dich da auf keinen Fall unter Druck setzen. Wenn es nicht´s wird, dann ist das eben so. Muss man eh den Hut ziehen, wenn sich jemand solche Mühe gibt, alles so toll zu dokumentieren.
Gruß Matze
Ha, ist soeben vollbracht, das Werk! Rund 6 Stunden Schreibarbeit für den 3ten und vorerst letzten Teil. 🙂 Viel Spass beim lesen.
Gruss
Heinz
Danke, Danke. Danke !!!!
Gruß Matze
Hallo coole Sache
kann man dan tennsy code von dir bekommen?
vg Thomas
Hi Thomas
Du kannst den Code direkt im Teil 3 herunter laden.
http://www.technikfreak.ch/2016/10/09/digitale-weihnachtsbeleuchtung-selbst-gebaut-teil-3/
Viel Erfolg.
Gruss Heinz
Guten Abend Heinz,
ich habe ein kleines Problem. Vielleicht hast Du ja eine schnelle Lösung.
Die ersten 50 Pixel sind an Strang eins angeschlossen. Am Ausgang (Datenleitung) der ersten 50 Pixel habe ich ein weiteres Lankabel angeschlossen um zu den nächsten 100 Pixeln zu kommen. Und da ist das Problem: Die 100 Pixel geben Merkwürdige Lichtspiele wieder. Fasse ich die blanke Leitung (Datenleitung) an leuchten sie so wie sie sollen.
Ich kann es mir nicht erklären.
P.S: Alle 50 Pixel speise ich die 5 Volt neu ein. (Ringleitung)
Hallo Björn
Kann mir eigentlich nur vorstellen, dass der Minuspol nicht mitgeführt wurde. Es ist wichtig, dass Du bei der Datenleitung den Minus mitführst, auch wenn der über die Speisung eigentlich vorhanden ist. Da kann es aber bei längeren Leitungen zu Potentialunterschieden kommen.
Also ein verdrilltes Adernpaar mit Minus und Data verbinden. Dann sollte es klappen.
Gruss
Heinz
Guten Morgen Heinz,
erstmal danke für Deine schnelle Antwort. Nur für mich zum Verständnis:
Ich habe Data (Orange) am Eingang der ersten Pixel und Data Ground (Orange/Weiß) an den Minus vom Netzteil. Diese Pixel laufen.
Nun gehe ich vom Ausgang der ersten Pixel zum Eingang der nächsten Pixel. (1 Ader Data Orange). Dann flackern die Pixel. D.h von diesen soll ich dann eine Brücke von Minus auf Data (Orange) legen???? Oder den Data Ground (Orange/weiß) nochmals auf Minus?
Ich frage nur damit ich das heute Abend testen kann.
Hi Björn, sorry für die späte Antwort.
Also auf keinen Fall den Data gegen GND verbinden! Eigentlich ist der Data Minus auch gleich der Minus der Speisung. Ich meinte eigentlich nur, dass Du am Ausgang des letzten Pixels wo die Verlängerung kommt, dass Du dort den Data Plus Ausgang zum Data Plus Eingang sowie dazu den Minus vom letzten Pixel zum Minus des nächsten Pixels verbindest. Also nicht einfach nur ein Draht für den Data Plus nimmst.
Sollte das nicht gehen, den letzten Pixel der noch geht oder den ersten Pixel der nicht mehr richtig geht ersetzen. Es kann gerne mal ein Treiber kaputt gehen, wenn es mal ein Potentialfehler gibt oder oder der Treiber Chip einen Knacks bekommen hat.
Sorry, etwas schwierig zum beschreiben.
Guten Morgen Heinz,
doch ich verstehe was Du meinst. Ich habe gestern den Data-minus vom Eingang der nächsten Pixel nochmals mit GND (geschirmtes Kabel) verbunden. Und siehe da es läuft.
Das hier klappt leider nicht, warum auch immer 🙂
“”””” Ich meinte eigentlich nur, dass Du am Ausgang des letzten Pixels wo die Verlängerung kommt, dass Du dort den Data Plus Ausgang zum Data Plus Eingang sowie dazu den Minus vom letzten Pixel zum Minus des nächsten Pixels verbindest. Also nicht einfach nur ein Draht für den Data Plus nimmst.””””
Ich werde jetzt noch weiter testen und mich dann nochmal melden.
Bis dahin besten Dank.
Hallo Herr Dössegger,
Ich habe eine Frage: Ich habe 3 Sterne mit jeweils 50 WS2811 LED angeschlossen ( 12Volt liegt an jeden Stern an und die Datenleitung verbindet alle drei Sterne D out zu D in) . Mit dem Teeensy und den Arduino Beispielen leuchten alle 3 auf und die Beispiele funktionieren. Wenn ich nun auf das Vixen Programm wechsle um eine Effektabfolge zu starten geht immer nur der erste Stern. Die Abfolgen funktionieren im Demomodus auch zur Musik aber nun mit echter Hardware scheint irgendwo ein Fehler zu sein. Ich vermute beim Set UP Display mache ich etwas falsch oder bei der Auswahl des Controler. Ich hab schon viel gelesen und videos angesehen aber finde nicht das Problem. Hätten Sie eine Idee.
Vielen Dank für eine Antwort Gruß
Rene Domke
Hallo Rene,
hast du du die Pixel-ketten schon mal getauscht…vielleicht ist ein Chip defekt…hatte ich auch schon…dann funktioniert der restliche teil auch nicht…Viele Grüße Remo
Rene hat mir gerade noch geschrieben wegen einem anderen Problem. Hier lag das Problem, dass man die Anzahl der verwendeten Pixel in meinem Teensy Code eingeben muss. Und diese standen noch auf 50 Pixel, hier muss man angeben wie viele Pixel man komplett ansteuert.
Hmm, ok…war ja auch meine Vermutung…aber rene schrieb ja das im Beispiel alle drei aufleuchten…aber wenn es jetzt Funktioniert, umso besser…
Hallo
Ich habe da mal eine Frage zu den Anschlüssen am Netzwerkkabel.
Alles was ich anschließe läuft über ein (oranges) Kabel nur. Was muss ich im vixen eingeben damit ich auch Lampen an den anderen anschließen kann bzw an 5-8? Vielen Dank im voraus…
Hallo Timo
Die Lösung findest Du im Teil 3 (https://www.technikfreak.ch/2016/10/09/digitale-weihnachtsbeleuchtung-selbst-gebaut-teil-3/).
Im Code bei “ledsPerStrip” z.B. 20 eingeben. Dann sind 20 Pixel am ersten Strin, von 21 bis 40 ab Zweiten String usw.
Wenn Du bei PixelCount 80 eingibst, werden an den ersten 4 Ausgängen je 20 LED angesteuert. Es müssen halt immer gleich viel sein pro Strip.
const int ledsPerStrip = 20; // Maximale Anzahl Pixel pro Strang
int PixelCount = 80; // Effektive Anzahl Pixel
float hell = 0.50; // Dimmer 1.00=100% Helligkeit – 0.50=50% Helligkeit
Viel Erfolg.
Gruss
Heinz
Hallo Heinz, vielen Dank für deine Arbeit und das Veröffentlichen.
Nach TIA 568B sind die Kabel in folgender Reihenfolge:
1. Orange/Weiss
2. Orange
3. Grün/Weiss
4. Blau
5. Blau/Weiss
6. Grün
7. Braun/Weiss
8. Braun
Ist die Anordnung auch so im OCTO Adapter berücksichtigt ? Denn wenn ich nach deiner Anleitung gehe scheint es als wären die Farben der Reihe nach aufgelegt, und demnach wären grün und grün/weiss beieinander, was es aber im Patchkabel nicht ist.
Grüße,
Reiner
Hallo Reiner
Also die Farben sollten gemäss der oben aufgeführten Tabelle stimmen. Die aufgeführten Nummern beschreiben die Kanal Nummer von Teensy und nicht die Positionsnummer am Stecker! Tatsächlich liegen die Paare nicht durchgehend nebeneinander.
Und wichtig ist, dass man immer den richtigen Draht (der mit Weiss) als Ground nimmt.
Gruss
Heinz
Hallo Heinz,
wenn ich 4 Sterne mit jeweils 100 LEDs mache (also insgesamt 400 LEDs) muss ich dann auch nur den Code hier:
const int ledsPerStrip = 20; // Maximale Anzahl Pixel pro Strang
int PixelCount = 80; // Effektive Anzahl Pixel
float hell = 0.50; // Dimmer 1.00=100% Helligkeit – 0.50=50% Helligkeit
wie folgt ändern:
const int ledsPerStrip = 100; // Maximale Anzahl Pixel pro Strang
int PixelCount = 400; // Effektive Anzahl Pixel
float hell = 0.50; // Dimmer 1.00=100% Helligkeit – 0.50=50% Helligkeit
und dann jeden einzelnen Stern an einen Datenstrang des Patchkabels anschließen?
Ich habe versucht, das Mapping der Kanäle, Strings und Outputs mal in Excel darzustellen, so wie ich es verstehe und ein PDF erstellt. Wenn ich auf dem Holzweg bin bitte ich um Korrektur.
http://roettgen-services.de/Vixen-Output-Mapping.pdf