Solarstorm-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Maintainer: Eike Edener, Daniel König
Autor(en): Eike Edener, Daniel König

Motivation

Das Atmolight hatte zu wenig Kanäle, ganz einfach! Und cooler sein als Philips ist eh Pflicht. Nun mal im Ernst: Nachdem wir einen Philips Aurea Fernseher in freier Wildbahn gesehen haben, fingen wir gleich an zu philosophieren, ob wir unser Atmolight nicht auch in diese Richtung weiterentwickeln können. Nach kurzer Zeit war klar: Mit dem bestehenden Atmolight-Konzept tun wir uns schwer, ein neues mußte also her.

Konzept

Vorgaben für das Solarstorm als Nachfolger des Atmolight waren:

  • variable Kanalanzahl ohne Neuprogrammierung des Controllers
  • leichte Erweiterbarkeit der Kanalanzahl
  • für verschiedene Flachbildschirmgrößen anpaßbar
  • Anbindung per USB an den VDR
  • Versorgung über das Netzteil des VDRs
  • abwärtskompatibel zu den common anode LED-Streifen


Und heraus gekommen ist das folgende Konzept: Es soll eine zentrale Steuerplatine geben, die mit dem VDR-Plugin kommuniziert. Da fast alle USB-fähigen Controller, die in Frage kamen, "unangenehm zu lötende" Gehäuseformen haben, mußte also eine Kaufplatine mit USB-fähigem Controller und Bootloader ab Werk her. Bootloader deshalb, weil man dann auf zusätzliches Programmierequipment verzichten kann und auch der "Endkunde" in der Lage ist, die Firmware zu aktualisieren. Die Wahl fiel auf das [[1]], dies gibt es in verschiedene [[2]]. Um die Generierung der PWM für die LEDs nicht in Software machen zu müssen, entschlossen wir uns für den [[3]] von [Instruments] für die Erzeugung der PWM. Dieser wird per SPI mit Daten versorgt, also ideal für die Ansteuerung mit dem AVR. Außerdem lassen sich mehrere TLCs in Reihe schalten, die variable Kanalanzahl ist also gesichert.

Hardware

Steuerplatine (AVRopendous)

Die Steuerplatine übernimmt folgende Aufgaben: Ermittlung der Anzahl angeschlossener Treiberplatinen beim Start, Meldung der Anzahl an den VDR, Entgegennahme der PWM-Daten vom Solarstorm-Plugin und Weiterleitung an die TLC-Controller auf den Treiberplatinen. Später soll zur einfacheren Inbetriebnahme auch noch eine Testfunktion integriert werden, mit der man eine einfache Verdrahtungsprüfung der angeschlossenen LED-Streifen ohne laufendes VDR-Plugin machen kann.

Treiberplatine

Die Treiberplatine besteht aus einer einseitigen Platine der Grösse 68x75 mm. Diese kommt ohne SMD-Bauteile aus. Der Anschluss an die Steuerplatine erfolgt per 10-poliger Pfostenleiste. Die Verbindung mehrerer Treiberplatinen erfolg ebenfalls per 10-poliger Pfostenleiste. Auf der letzten Treiberplatine in der Kette muss ein Jumper gesetzt werden, um das Ende der Kette zu kennzeichnen. Angeschlossen werden können LED-Streifen mit gemeinsamen Pluspol (common anode). Der maximale zulässige Strom pro Kanal wird durch die ULN2803-Treiber begrenzt, mehr als tbd. mA pro Kanal sollten nicht verwendet werden. Pro Treiberplatine können 16 LED-Stränge angeschlossen werden. Durch die RGB-LEDs ergeben sich dadurch 5 1/3 Kanäle pro Platine. Der überschüssige Strang ist nicht verloren, sondern wird bei der Kaskadierung mehrerer Treiberplatinen verwendet (Vielfache von 3 als Platinenanzahl wäre optimale Ausnutzung).

Datei:Platine rueck.jpg
Platinenrückseite
Datei:Platine vorn.jpg
Platine von vorn


Verdrahtung AVRopendous-Tiny
Port B Signal IN-Stecker
PB0 unused -
PB1 SCLK (SPI Clock) Pin 8
PB2 MOSI Pin 10
PB3 MIS0 Pin 9
PB4 unused -
PB5 unused -
PB6 XLAT Pin 7
PB7 GSCLK Pin 4
VCC +5V Pin 1
GND GND Pin 2
Port B Signal IN-Stecker
PC5 BLANK Pin 6
Rest unused -

Die letzte Platine in der Kette erhält einen Jumper im OUT-Stecker über Pin 9 & 10. Der Anschluss der LED-Leisten beginnt bei 1. Platine (die am Opendous) gegenüber vom +/- Anschluss in der Reihenfolge RGB mit Kanal "links unten", dann weiter im Uhrzeigersinn.

LED-Streifen

Um die Vielzahl der Kanäle auch nutzen zu können und um das modulare Konzept verifizieren zu können, haben wir passende LED-Streifen entwickelt (und irgendwie gehört es auch seit dem Atmolight zu jeder Entwicklung dazu ;) ). Wir entschieden uns dieses Mal für SMD-LEDs. Diese haben den Vorteil, dass man keine Löcher bohren muss und die Platinen schmal werden und sich relativ unauffällig auch an modernen Flachbildfernsehern anbringen lassen. Die Streifen lassen sich alle 5 cm trennen und sollten sich dadurch an Fernsehern nahezu jeder Größe montieren lassen. Ein "Basisstreifen" ist 50x1cm gross, mehrere Streifen lassen sich in Reihe schalten. Um einzelne Kanäle anzuschliessen, müssen die Streifen nicht vollständig geteilt werden, es reicht, die Leiterbahnen "R", "G" und "B" zu unterbrechen.


So kommen die LED-Platinen vom Platinenhersteller
Platinen in aufgetrennt, LEDs bereits bestückt
Eine einzelne Platine nach dem Auftrennen mit LEDs
50er-Pack SMD-LEDs, die Widerstände werden nicht gebraucht
50 LEDs auf der Rolle
nochmal in groß
Grossaufnahme
Durch Auftrennen der Leiterbahn lassen sich einzelne Kanäle abtrennen

Software

AVR-Firmware

Übersicht

Programmierung

Inbetriebnahme

<!> TODO <!> <
>

VDR-Plugin

Übersicht

Programmierung

Inbetriebnahme

<!> TODO <!> <
>


Montage

Probemontage an Samaels 46" Pioneer Kuro

sonstiges

Verbesserungspotential

Der Aufbau und die Inbetriebnahme der "Nullserie" hat einiges an Erkenntnissen gebracht. Für die nachfolgende Serien wären aus unserer Sicht folgende Verbesserungen sinnvoll:

  • etwas größere Platine, um ein 4. Bohrloch unterzubringen
  • mehr Abstand von den Bohrlöchern zu den Bauteilen (um z.B. Distanzbolzen zu montieren)
  • evtl. Integration einer Sicherung und eines Verpolungsschutzes
  • Verwendung der DIP-Version des AVROpenDouse + Erstellung einer Adapterplatine