64″ LED Videowand

Wen faszinieren LEDs, bewegte Bilder und Überdimensioniertes nicht?
Eines Tages setzte ich mir den Gedanken in den Kopf, eine Videowand zu bauen. Nach ein wenig Googlen fand ich dann auch schon die ersten teuren Wände, die fertig zu kaufen waren. Es sollte weder überteuert, noch sollte es schon fertig sein. Also ging die Suche weiter. Dann stoß ich auf die WS2811 und deren Nachfolger, wenig später auch auf eine Library dazu. Zu guter Letzt auch noch auf den Beitrag von Olaf, welcher mich letzten Endes auch zum netten und geselligen Stammtisch bewegte.

Das Ganze wird es auch auf der Maker Faire 2014 zu sehen geben.

Wenn ihr diesem überdimensionierten Projekt widerstehen könnt, dann dürft ihr jetzt weiterlesen.

Planung:
Bevor man anfängt für hunderte von Euros in China LEDs einzukaufen, sollte man sich den Anforderungen an dieses Projekt bewusst werden.
Um die LEDs mit der Library betreiben zu können, muss sich die Anzahl der LEDs in der Höhe durch 8 teilen lassen (zwei CAT-Kabel, je 4 Datenleitungen), daraus ergab sich bei mir auch der Wert von 48 LEDs. In der Breite habe ich 86 für ein Seitenverhältnis von 16:9 gewählt.
Die LEDs gibt es in verschiedenen Ausführungen:

  • WS2812 – veraltete Version, sollte man nicht mehr nutzen
  • WS2811 – LEDs und IC separat, man sollte drauf achten, dass jede LED einen eigenen IC hat, sonst kann man beispielsweise die LEDs nur in Dreierblöcken ansprechen.
  • WS2812B – hier ist der IC direkt in die LED integriert. Zudem lässt sich der Strom von beiden Seiten einspeisen.

Zudem kommt auch noch die Pixeldichte. Ich habe mich für 60 LEDs/m entschieden, es gibt Varianten von 30, 32, 60, 120 bis 144 LEDs/m
Der Strom kommt aus der Steckdose – oder so ähnlich. Jede LED zieht bis zu 0.25 W (voll weiß). Dementsprechend sollte man die Stromversorgung skalieren. Für meine insgesamt 4128 LEDs wären das im Worst-Case 1032 W. Im 5 V-Bereich gibt es Treiber mit bis zu 70 A, entsprechend 350 W. Man sollte lieber ein wenig Leistung über haben, als dass nachher einem die Netzteile abrauchen. Für meinen Fall wären 4 x 40 A=1 kW 32 W zu wenig, Risiko. Also lieber 4 x 60 A = 1,2 kW – 168 W im Plus.
Ein Teensy 3.1 kann bis zu 8864 LEDs alleine bei 30Hz ansteuern und hat noch 14 % RAM übrig. Für die, die noch größenwahnsinniger sind: kein Problem! Die Teensys lassen sich untereinander Koppeln, sodass sie synchronisiert eine noch größere Anzahl an LEDs antreiben können. Nur irgendwann macht da der Sicherungskasten (normale Sicherung 16 A -> knapp 6 kW) einem einen Strich durch die Rechnung.


 

Kosten etwas überschlagen und bei Alibaba eine Anzeige eingestellt. Bei der Vielzahl von Angeboten lässt man sich dann doch lieber von vielen Händlern einen guten Preis unterbreiten, als alle einzeln anzuschreiben. WorldSemi ist der Produzent der WS281X (wie das Kürzel WS verrät), jedoch gibt es Händler bei Alibaba, die diese Preise sogar unterbieten (jedoch von WorldSemi einkaufen). Nächte gechattet, bis endlich der Preis grob stimmte, dann noch 4 Spannungswandler raus gehandelt und per WesternUnion überwiesen (in diesem Falle sollte man auf das „Gold Supplier“ Symbol bei Alibaba achten – diese Personen sind vertrauenswürdig, wurden überprüft. Des Weiteren gibt es für alle Sanktionen, falls etwas nicht stimmen sollte). In Deutschland bekommt man für 90 € einen Kurier für ein kleines Paket von A nach B, in China für 90 $ DHL Express mit Lieferung innerhalb von 1-2 Tagen. Am 30.04. versandt, 01.05. Feiertag und am 02.05. um 11 Uhr angeliefert. Besser geht es (selbst national) nicht. An der Tür noch die nicht unerhebliche Zollgebühr entrichten (MwSt. plus bis zu 14% Zoll – ihr kauft im nicht-EU-Ausland aus deutscher Sicht netto ein, bei Sendungen unter 20 € wird jedoch nichts berechnet) und da war der Karton.

Bei der Verkabelung sollte man auf den Querschnitt achten. Ich habe 0,75 mm Litze genommen (zweiadriges Lautsprecherkabel zu 100 m gibt es für 12 € bei eBay). Die Maximallänge je Einspeisung liegt bei 5 Metern. Um Spannungsabfall im großen Maße zu verhindern, habe ich jeden Streifen immer neu eingespeist. Die Kupferbahnen auf den Streifen sind so schmal, dass Spannungsabfall vorprogrammiert ist. Besonders schlimm: GND ist schmaler als ein Millimeter und hat neben 5 V mit dem größten Durchsatz zu kämpfen. Die Daten werden jedes mal über den eingebauten WS2811 Chip verstärkt ausgegeben, sodass hier eigentlich nicht viel Kupfer nötigt wäre. Intern arbeiten die LEDs mit einem Shiftregister, welches asynchron angesprochen wird. Das heißt, die Daten kommen nur über eine Leitung an und die Zeiten von 0 und 1 sind hier spezifisch, keine Clock (vgl. UART – SPI).

Auf der Holzplatte habe ich zuerst die ganzen Positionen links und rechts aufgezeichnet. Hierbei lohnt es sich einen Streifen zu nehmen und an den Schnittmarkierungen die Kante anzuzeichnen. Dadurch gibt es dann ein Pixelverhältnis von 1:1. Das ganze natürlich vorher schön zentrieren 😉
Beim Aufkleben ist eine Aluleiste oder sonstiges langes, gerades eine große Hilfe. Krumm und schief sieht das nicht gut aus. Die Streifen jedoch immer wechselseitig kleben, bedeutet: erste Zeile zeigt nach rechts (Pfeile auf den Streifen), zweite nach links, usw.
Ebenso muss dann auch mit den Kabeln für die Daten verfahren werden:
Die 8 Gruppen werden von jeweils einem Datenstrang „gefüttert“, also müssen diese auch nur Gruppenweise verbunden werden. Die Einspeisung startet links (im Sketch gibt es die Option auch für Einspeisung von rechts), am Ende eines Streifens (folgend der Pfeilrichtung) ist dann DO mit DI (teilweise ist die Bezeichnung sehr inkonsistent, also nicht wundern, wenn DI und DO andersherum bezeichnet sind) in der nächsten Zeile zu verbinden. Für meinen Fall waren das dann immer 6 Zeilen S-Förmig verbunden.
Die Einspeisung der Daten erfolgt über CAT-6-Kabel – hier ein 3 m Kabel einmal halbieren und anlöten. Für die genaue farbliche Verdrahtung am besten die Dokumentation des Teensy-Adapters angucken.
Daten und Stromversorgung haben unterschiedliche Massen. Um auch bei den Daten dem Spannungsabfall entgegenzuwirken, habe ich innerhalb der Gruppen die Massen auf der linken Seite jeweils verbunden (da wo die Daten eingespeist werden). Nicht unbedingt notwendig, aber zur Sicherheit 😉
Der Teensy selbst kann über eine Stromversorgung mit versorgt werden (5 V und GND Pins am Adapter), oder über USB. Bei USB ist es nur Plug & Play, bei einem Netzteil muss vorher noch die Kontaktplatte auf der Rückseite des Boards durchtrennt werden, um zu verhindern, dass der angeschlossene Computer durch den Rückfluss zerstört wird (siehe „Teensy 3.0 Power“). Dann kann ein Sketch jedoch nur bei laufendem Netzteil auf das Board geladen werden.

Bei der Ansteuerung als solches habe ich dann aber doch auf Existentes zurückgegriffen und so den Teensy 3.1 mit dem Adapter bei Exp-Tech geordert, nachdem mein Paket aus den USA verschollen war. Teensys lassen sich mit einem Mod der Arduino Anwendung (<= 1.0.5, ansonsten muss man ein paar Ordner der neuen Struktur anpassen) ruck zuck programmieren. Die Library lässt sich mit der Installation auch einfach mit installieren. Ansonsten ist sie zusammen mit dem Processing Sketch in einer ZIP enthalten. Den Processing Sketch habe ich um eine praktische GUI mit verschiedenen Elementen erweitert:

OCTOWS GUI

Das ganze lässt sich auch mit meiner Maschine MK II über MIDI ansteuern – ist letztendlich ein großgewordener DMX-Controller.

In den Videos hört man die Stromstärken-gesteuerten Netzteile (entgegen des Aufklebers Temperaturgesteuert zu sein, richtet es sich nach der Amperezahl). Das Flackern kommt durch Überlagerung der Eigenfrequenz der LEDs, der Wiederholrate (30 Hz) und der Frequenz der Kamera.

Neben der GUI habe ich auch noch Tetris und Snake programmiert, unter anderem mit einem Bluetooth Gamepad, aber dazu in einem anderem Projekt…

*Info: In diesem Beitrag verweisen orangefarbende Links auf Affiliates.