DF10CH

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „{{In Arbeit|Durchflieger 13:15, 4. Feb. 2010 (UTC)}} ==Beschreibung == '''Autor:''' Andreas Auras Diese Seite soll eine Anleitung zum N…“)
 
(Typo's)
Zeile 17: Zeile 17:
  
 
==Features==
 
==Features==
Ein Kontroller bietet 30 PWM Kanäle für 10 RGB-Gruppen und zusätzlich einem gemeinsammen PWM-Helligkeitskanal.
+
Ein Kontroller bietet 30 PWM Kanäle für 10 RGB-Gruppen und zusätzlich einem gemeinsamen PWM-Helligkeitskanal.
  
 
PWM-Frequenz der RGB-Kanäle variable 50 - 400Hz.
 
PWM-Frequenz der RGB-Kanäle variable 50 - 400Hz.
 
Die Auflösung ist abhängig von der PWM-Frequenz und beträgt bei 100Hz 1111 Schritte.
 
Die Auflösung ist abhängig von der PWM-Frequenz und beträgt bei 100Hz 1111 Schritte.
Die PWM-Frequenz des gemeinsammen Helligkeitskanal beträgt 62,5Khz.
+
Die PWM-Frequenz des gemeinsamen Helligkeitskanal beträgt 62,5kHz.
  
 
Die Verbindung zum Rechner erfolgt per USB-Schnittstelle.
 
Die Verbindung zum Rechner erfolgt per USB-Schnittstelle.
 
Mehrere Kontroller können parallel jeweils an einem eigenen USB-Anschluss betrieben werden.
 
Mehrere Kontroller können parallel jeweils an einem eigenen USB-Anschluss betrieben werden.
  
Flexible und konfortable Konfiguration ein oder mehrerer Kontroller mittels einem eigenem '''grafischen''' Setup-Programm.
+
Flexible und komfortable Konfiguration ein oder mehrerer Kontroller mittels einem eigenem '''grafischen''' Setup-Programm.
 
Hierbei können alle PWM-Kanäle nur durch Software-Konfiguration den Ausgängen zugeordnet werden.
 
Hierbei können alle PWM-Kanäle nur durch Software-Konfiguration den Ausgängen zugeordnet werden.
Kanalzuordnung, Weissabgleich und Gammaeinstellung per Setup-Programm individuel für jeden Kanal einstellbar.  
+
Kanalzuordnung, Weissabgleich und Gammaeinstellung per Setup-Programm individuell für jeden Kanal einstellbar.  
  
 
Angesteuert werden kann der Kontroller zur Zeit von meinem Xine-Atmolight-Plugin ab Version 0.3.
 
Angesteuert werden kann der Kontroller zur Zeit von meinem Xine-Atmolight-Plugin ab Version 0.3.
Zeile 36: Zeile 36:
 
Die Hardware besteht nur aus bedrahteten (kein SMD) gut erhältlichen Bauteilen (gibt es alles bei Reichelt).
 
Die Hardware besteht nur aus bedrahteten (kein SMD) gut erhältlichen Bauteilen (gibt es alles bei Reichelt).
 
Die Platine des Kontroller ist einseitig mit einer minimalen Leiterbahnbreite von 0,4mm geroutet und
 
Die Platine des Kontroller ist einseitig mit einer minimalen Leiterbahnbreite von 0,4mm geroutet und
stellt somit keine grossen Anforderungen an den Herstellungsprozess.
+
stellt somit keine großen Anforderungen an den Herstellungsprozess.
 
Ich habe meine Platinen sehr preiswert bei der Firma Electronic Customs Daniel Berghoff herstellen lassen wo auch Einzelstücke bzw. kleine Mengen bestellt werden können.
 
Ich habe meine Platinen sehr preiswert bei der Firma Electronic Customs Daniel Berghoff herstellen lassen wo auch Einzelstücke bzw. kleine Mengen bestellt werden können.
 
Die gelieferte Qualität reicht für dieses Projekt vollkommen aus.
 
Die gelieferte Qualität reicht für dieses Projekt vollkommen aus.
 
   
 
   
Es können LED-Stripes mit gemeinsammer Anode oder Kathode verwendet werden.
+
Es können LED-Stripes mit gemeinsamer Anode oder Kathode verwendet werden.
 
Als LED-Treiber werden ULN2803 oder UDN2981 verwendet womit jeder Kanal maximal 500mA und maximal 50V haben darf.
 
Als LED-Treiber werden ULN2803 oder UDN2981 verwendet womit jeder Kanal maximal 500mA und maximal 50V haben darf.
 
Die Gesamtverlustleistung eines Treiber-IC ist allerdings zu beachten da diese deutlich geringer ausfällt als die Summe der Kanäle eines Treibers!
 
Die Gesamtverlustleistung eines Treiber-IC ist allerdings zu beachten da diese deutlich geringer ausfällt als die Summe der Kanäle eines Treibers!
  
Der zusätzliche gemeinsamme Helligkeitskanal ist dafür gedacht, maximale Helligkeit bei den LED-Stripes zu erreichen. Hierfür wird eine Stromversorgung mit etwas höherer Ausgangsspannung benötigt als die nominale Betriebsspannung der LED-Stripes um die Spannungsverluste von ca. 0,5-0,8V an den Treiber-ICs auszugleichen.
+
Der zusätzliche gemeinsame Helligkeitskanal ist dafür gedacht, maximale Helligkeit bei den LED-Stripes zu erreichen. Hierfür wird eine Stromversorgung mit etwas höherer Ausgangsspannung benötigt als die nominale Betriebsspannung der LED-Stripes um die Spannungsverluste von ca. 0,5-0,8V an den Treiber-ICs auszugleichen.
 
Weiterhin erreicht man mit diesem zusätzlichen Kanal, dass man die Gesamthelligkeit aller LEDs einstellen kann unabhängig von den einzelnen RGB-Kanälen.
 
Weiterhin erreicht man mit diesem zusätzlichen Kanal, dass man die Gesamthelligkeit aller LEDs einstellen kann unabhängig von den einzelnen RGB-Kanälen.
 
Zwar kann man die Gesamthelligkeit auch im Rahmen des Weissabgleich, oder noch schlechter mittels der Parameter des Atmolight-Plugin einstellen, jedoch verliert man hier immer gleichzeitig auch an Auflösung der Kanäle.
 
Zwar kann man die Gesamthelligkeit auch im Rahmen des Weissabgleich, oder noch schlechter mittels der Parameter des Atmolight-Plugin einstellen, jedoch verliert man hier immer gleichzeitig auch an Auflösung der Kanäle.
  
Die Firmware für die beiden eingesetzen AVR ATMega Mikrocontroller beinhaltet eigene Bootloader womit ein Update der Firmware direkt aus dem Setup-Programm möglich ist.
+
Die Firmware für die beiden eingesetzten AVR ATMega Mikrocontroller beinhaltet eigene Bootloader womit ein Update der Firmware direkt aus dem Setup-Programm möglich ist.
  
 
Da ich meine vorhandenen LED-RGB-Stripes, die sich alle 12cm elektrisch aufteilen lassen, unbedingt weiter verwenden wollte, habe ich mich für ein zentralistisches Konzept für den Aufbau des Kontroller entschieden.
 
Da ich meine vorhandenen LED-RGB-Stripes, die sich alle 12cm elektrisch aufteilen lassen, unbedingt weiter verwenden wollte, habe ich mich für ein zentralistisches Konzept für den Aufbau des Kontroller entschieden.
 
Dass hat allerdings den Nachteil, dass viele Verbindungsleitungen vom Kontroller zu den LED-Stripes notwendig sind womit akut die Gefahr eines Kabelsalat hinter dem TV besteht.
 
Dass hat allerdings den Nachteil, dass viele Verbindungsleitungen vom Kontroller zu den LED-Stripes notwendig sind womit akut die Gefahr eines Kabelsalat hinter dem TV besteht.
Letztendlich habe ich mich hier auf Verbindungen per RJ11 Buchsen und Stecker endschieden.
+
Letztendlich habe ich mich hier auf Verbindungen per RJ11 Buchsen und Stecker entschieden.
Bei Reichelt bekommt man sehr preiswert fertig konfektionierte Verbindungskabel (Telefonzuleitung) mit schönen schwarzen Flachbandkabel dass sich einigermassen vernüftig und platzsparend verlegen lässt. (Siehe Bilder oben)
+
Bei Reichelt bekommt man sehr preiswert fertig konfektionierte Verbindungskabel (Telefonzuleitung) mit schönen schwarzen Flachbandkabel dass sich einigermaßen vernünftig und platzsparend verlegen lässt. (Siehe Bilder oben)
  
 
== Hardware ==
 
== Hardware ==
Zeile 66: Zeile 66:
 
Beide Prozessoren kommunizieren seriell mittels ihrer USART-Schnittstellen bei 125KBaud miteinander.
 
Beide Prozessoren kommunizieren seriell mittels ihrer USART-Schnittstellen bei 125KBaud miteinander.
  
IC2-IC5 sind die RGB-Treiber die wahlweise mit den Typen ULN2803 für LED-Stripes mit gemeinsammer Anode(+) bzw. mit den Typen UDN2981 für LED-Stripes mit gemeinsammer Kathode(-) bestückt werden.
+
IC2-IC5 sind die RGB-Treiber die wahlweise mit den Typen ULN2803 für LED-Stripes mit gemeinsamer Anode(+) bzw. mit den Typen UDN2981 für LED-Stripes mit gemeinsamer Kathode(-) bestückt werden.
  
Bei Betrieb mit gemeinsammer Anode(+) sind die Anschlüsse P1<->P2 und P7<->P8 mittels zwei Drahtbrücken zu verbinden.
+
Bei Betrieb mit gemeinsamer Anode(+) sind die Anschlüsse P1<->P2 und P7<->P8 mittels zwei Drahtbrücken zu verbinden.
  
Bei Betrieb mit gemeinsammer Kathode(-) sind die Anschlüsse P2<->P3, P4<->P5 und P6<->P7 mittels drei Drahtbrücken zu verbinden.
+
Bei Betrieb mit gemeinsamer Kathode(-) sind die Anschlüsse P2<->P3, P4<->P5 und P6<->P7 mittels drei Drahtbrücken zu verbinden.
  
 
Die Stromversorgung der LED-Stripes erfolgt über die Buchsen J1 und J2.
 
Die Stromversorgung der LED-Stripes erfolgt über die Buchsen J1 und J2.
Zeile 77: Zeile 77:
 
D3 und D4 sollten unbedingt 3,6V haben und low power Typen (0,5W) sein.
 
D3 und D4 sollten unbedingt 3,6V haben und low power Typen (0,5W) sein.
  
Q1 und Q2 bilden den Treiber für die gemeinsamme Helligkeitssteuerung.
+
Q1 und Q2 bilden den Treiber für die gemeinsame Helligkeitssteuerung.
Die Zener-Spannung von D1 hängt von der LED Betriebsspannung VDD ab und es sollte der grösste Normwert <= VDD - 5,5V gewählt werden.
+
Die Zener-Spannung von D1 hängt von der LED Betriebsspannung VDD ab und es sollte der größte Normwert <= VDD - 5,5V gewählt werden.
 
Weiterhin ist hier mindestens ein 1,3W Typ einzusetzen.
 
Weiterhin ist hier mindestens ein 1,3W Typ einzusetzen.
Wer die Helligkeitssteuerung nicht braucht weil er z.B. keine Stromversorgung mit überhöhter Spannung einsetzen will, kann die Bauteile inkl. R2-R5 und D1 einsparen.
+
Wer die Helligkeitssteuerung nicht braucht weil er z.B. keine Stromversorgung mit überhöhter Spannung einsetzen will, kann die Bauteile inklusive R2-R5 und D1 einsparen.
 
In diesem Fall ist eine Drahtbrücke zwischen Source und Drain bei Q2 einzusetzen.
 
In diesem Fall ist eine Drahtbrücke zwischen Source und Drain bei Q2 einzusetzen.
  
Zeile 97: Zeile 97:
 
Nichtsdestotrotz funktioniert die Methode bei mir auch bei USB-Zuleitungen von 3m sehr zuverlässig wenn die Controller direkt am USB-Anschluss des PC gesteckt sind.
 
Nichtsdestotrotz funktioniert die Methode bei mir auch bei USB-Zuleitungen von 3m sehr zuverlässig wenn die Controller direkt am USB-Anschluss des PC gesteckt sind.
 
Problem gibt es allerdings bei mir wenn ich meinen (sehr preiswerten) 4-fach USB-Hub einschleife da dann Fehler in der Übertragung entstehen.
 
Problem gibt es allerdings bei mir wenn ich meinen (sehr preiswerten) 4-fach USB-Hub einschleife da dann Fehler in der Übertragung entstehen.
Den Betrieb mit einem USB-Hub kann ich deshalb erstmal nicht empfehlen.  
+
Den Betrieb mit einem USB-Hub kann ich deshalb erst einmal nicht empfehlen.  
 
   
 
   
 
Für den privaten gebraucht steht das V-USB unter GPL zur freien Verfügung.
 
Für den privaten gebraucht steht das V-USB unter GPL zur freien Verfügung.
Zeile 122: Zeile 122:
 
Alternative kann das Programm auch mittels "python setup.py install" installiert werden.
 
Alternative kann das Programm auch mittels "python setup.py install" installiert werden.
  
Wer mit dem Programm erstmal ohne Kontrollerhardware experimentieren möchte, kann es mit der Option -s N aufrufen wobei N die Anzahl simulierter DF10CH-Kontroller darstellt.
+
Wer mit dem Programm erst einmal ohne Kontrollerhardware experimentieren möchte, kann es mit der Option -s N aufrufen wobei N die Anzahl simulierter DF10CH-Kontroller darstellt.
  
 
Das Programm öffnet beim Start gleich zwei Fenster wobei dass eine im Hintergrund rahmenlos den ganzen Bildschirm ausfüllt (Fullscreen-Window) und das zweite Fenster im Vordergrund herkömmlich erscheint.
 
Das Programm öffnet beim Start gleich zwei Fenster wobei dass eine im Hintergrund rahmenlos den ganzen Bildschirm ausfüllt (Fullscreen-Window) und das zweite Fenster im Vordergrund herkömmlich erscheint.
Zeile 155: Zeile 155:
 
Nach diesem erfolgreichen Update sollte im Feld "Version" nun "USB: XX.XX PWM: XX" erscheinen und wir können jetzt endlich mit der eigentlichen Konfiguration loslegen.  
 
Nach diesem erfolgreichen Update sollte im Feld "Version" nun "USB: XX.XX PWM: XX" erscheinen und wir können jetzt endlich mit der eigentlichen Konfiguration loslegen.  
  
Auf der rechten Seite können für den selektierten Kontroller mittels der Slider die PWM-Frequenz sowie die gemeinsamme Helligkeit (Common Brightness) individuel eingestellt werden.
+
Auf der rechten Seite können für den selektierten Kontroller mittels der Slider die PWM-Frequenz sowie die gemeinsame Helligkeit (Common Brightness) individuell eingestellt werden.
Diese sollten aber erstmal für die weitere Konfiguration auf den Standardwerten von 100Hz bzw. 255 belassen werden.
+
Diese sollten aber erst einmal für die weitere Konfiguration auf den Standardwerten von 100Hz bzw. 255 belassen werden.
  
 
Mit dem Button "Store Setup" kann die aktuelle Konfiguration im Setup-Programm permanent in die Kontroller übertragen werden.
 
Mit dem Button "Store Setup" kann die aktuelle Konfiguration im Setup-Programm permanent in die Kontroller übertragen werden.
Beim verlassen des Programm mittels des Schliessen-Button im Fensterrahmen erfolgt sicherheitshalber zusätzlich eine entsprechende Abfrage zum speichern.
+
Beim verlassen des Programm mittels des Schließen-Button im Fensterrahmen erfolgt sicherheitshalber zusätzlich eine entsprechende Abfrage zum speichern.
  
 
Mit dem Button "Reset Setup" werden alle angeschlossenen Kontroller auf ihre "Werkseinstellung" zurückgestellt was gleichbedeutend ist mit dem Verlust der aktuellen Konfiguration.
 
Mit dem Button "Reset Setup" werden alle angeschlossenen Kontroller auf ihre "Werkseinstellung" zurückgestellt was gleichbedeutend ist mit dem Verlust der aktuellen Konfiguration.
Zeile 169: Zeile 169:
 
[[Bild:areas_full.png|thumb|Areas Dialog]]
 
[[Bild:areas_full.png|thumb|Areas Dialog]]
  
Als nächstes wird in diesem Dialog erstmal das gewünschte und möglichst auch tatsächlich installierte Layout der LED-Stripes am TV konfiguriert.
+
Als nächstes wird in diesem Dialog erst einmal das gewünschte und möglichst auch tatsächlich installierte Layout der LED-Stripes am TV konfiguriert.
 
Hierzu einfach in den Spinboxes für die gewünschten Bereiche die Anzahl der Kanäle einstellen wobei hier nur für Top, Bottom, Left und Right mehr wie eine Sektion zulässig sind.
 
Hierzu einfach in den Spinboxes für die gewünschten Bereiche die Anzahl der Kanäle einstellen wobei hier nur für Top, Bottom, Left und Right mehr wie eine Sektion zulässig sind.
  
Zeile 177: Zeile 177:
 
Mit der Einführung von zwei Ecksektionen werden nur noch 19 RGB-Kanäle benötigt und zwei Kontroller reichen dann eben aus.
 
Mit der Einführung von zwei Ecksektionen werden nur noch 19 RGB-Kanäle benötigt und zwei Kontroller reichen dann eben aus.
  
Mit betätigen des "Appy" Button werden die erfassten Werten als Sektionen im Hintergrundfenster am Bildschirmrand dargestellt.
+
Mit betätigen des "Apply" Button werden die erfassten Werten als Sektionen im Hintergrundfenster am Bildschirmrand dargestellt.
 
Man kann jetzt die Lage der LED-Stripes anhand der dargestellten Sektionen sehr schön ausrichten.
 
Man kann jetzt die Lage der LED-Stripes anhand der dargestellten Sektionen sehr schön ausrichten.
  
Zeile 187: Zeile 187:
 
Jetzt gilt es, jedem PWM-Kanal eine Sektion sowie eine Farbe zuzuordnen.
 
Jetzt gilt es, jedem PWM-Kanal eine Sektion sowie eine Farbe zuzuordnen.
  
Durch selektion eines Kanal in der Liste wird der entsprechende Ausgang am Kontroller eingeschaltet und falls dort eine LED angeschlossen ist sollte diese jetzt am Bildschirmrand des TV aufleuchten.
+
Durch Selektion eines Kanal in der Liste wird der entsprechende Ausgang am Kontroller eingeschaltet und falls dort eine LED angeschlossen ist sollte diese jetzt am Bildschirmrand des TV aufleuchten.
 
Man kann einen Kanal direkt in der Liste selektieren oder mittels der beiden Buttons "Next Ch" und "Prev Ch" durch die Liste navigieren.
 
Man kann einen Kanal direkt in der Liste selektieren oder mittels der beiden Buttons "Next Ch" und "Prev Ch" durch die Liste navigieren.
  
Zeile 196: Zeile 196:
  
 
Als nächstes ordnet man am besten die Kanäle der selben RGB-Gruppe zu.
 
Als nächstes ordnet man am besten die Kanäle der selben RGB-Gruppe zu.
Eine RGB-Gruppe fasst immer die drei Kanäle zusammen, die auf einer Buchse im Kontroller rausgeführt werden.
+
Eine RGB-Gruppe fasst immer die drei Kanäle zusammen, die auf einer Buchse im Kontroller herausgeführt werden.
 
Sinnvollerweise sollte man so eine Gruppe dann auch auf die RGB-LEDs einer Sektion verbunden haben weil die Zuleitungen sich praktischerweise auch im selben Zuleitungskabel befinden.
 
Sinnvollerweise sollte man so eine Gruppe dann auch auf die RGB-LEDs einer Sektion verbunden haben weil die Zuleitungen sich praktischerweise auch im selben Zuleitungskabel befinden.
 
Seitens der Konfiguration ist das allerdings keine Notwendigkeit da hier jeder Kanal individuell zugeordnet werden kann.
 
Seitens der Konfiguration ist das allerdings keine Notwendigkeit da hier jeder Kanal individuell zugeordnet werden kann.
  
Die RGB-Gruppe-Nummer wird in der Kanaliste als Zahl vor dem Punkt dargestellt.
+
Die RGB-Gruppe-Nummer wird in der Kanalliste als Zahl vor dem Punkt dargestellt.
 
Der Unterkanal einer Gruppe ist die Zahl auf der rechten Seite des Punkt.
 
Der Unterkanal einer Gruppe ist die Zahl auf der rechten Seite des Punkt.
  
 
Wenn man seine Zuleitungen alle gleich mit den LED-Stripes verbunden hat, kann man die nächsten RGB-Gruppen nun im Schnellverfahren über die "channel group" Buttons des Dialog zuordnen.
 
Wenn man seine Zuleitungen alle gleich mit den LED-Stripes verbunden hat, kann man die nächsten RGB-Gruppen nun im Schnellverfahren über die "channel group" Buttons des Dialog zuordnen.
Dazu schaut man sich die Belegung der ersten bereits einzel zugeordneten Gruppe an.
+
Dazu schaut man sich die Belegung der ersten bereits einzeln zugeordneten Gruppe an.
 
In diese z.B. 1.1 -> green, 1.2 -> red, 1.3 -> blue dann kann dieses Schema mit dem Button GRB direkt zugeordnet werden. Verstanden?
 
In diese z.B. 1.1 -> green, 1.2 -> red, 1.3 -> blue dann kann dieses Schema mit dem Button GRB direkt zugeordnet werden. Verstanden?
  
 
Mit dem Button "Delete mapping" kann die Zuordnung des aktuell selektierten Kanal wieder aufgehoben werden.
 
Mit dem Button "Delete mapping" kann die Zuordnung des aktuell selektierten Kanal wieder aufgehoben werden.
Man sollte nur die Kanäle zuweisen an denen auch tatsächlich LEDs angeschlossen sind weil damit nacher nur die wirklich notwendigen Daten zu den Kontrollern gesendet werden.
+
Man sollte nur die Kanäle zuweisen an denen auch tatsächlich LEDs angeschlossen sind weil damit nachher nur die wirklich notwendigen Daten zu den Kontrollern gesendet werden.
  
 
=== Der White Calibration Dialog ===
 
=== Der White Calibration Dialog ===
Zeile 214: Zeile 214:
 
[[Bild:white_cal_full.png|thumb|Dialog für Weissabgleich]]
 
[[Bild:white_cal_full.png|thumb|Dialog für Weissabgleich]]
  
Wird dieser Dialog selektiert, dann schaltet das Setup-Programm alle zugeordneten Kanäle (deshalb bitte unbedingt die Reihenfolge der Konfiguration beachten) ein und es sollten alle LED's am TV aufleuchten.
+
Wird dieser Dialog selektiert, dann schaltet das Setup-Programm alle zugeordneten Kanäle (deshalb bitte unbedingt die Reihenfolge der Konfiguration beachten) ein und es sollten alle LEDs am TV aufleuchten.
Weiterhin wird im Hintergrundfenster die Farbe weiss gesetzt.
+
Weiterhin wird im Hintergrundfenster die Farbe weiß gesetzt.
  
 
Mit der Checkbox "Select All" wird die Wirksamkeit der drei farbigen Slider sowie der Spinbox Felder zum einstellen der Gammawerte bestimmt. Ist die Checkbox selektiert und eines der Bedienelemente wird zum verändern eines Wertes betätigt, dann wird dieser veränderte Wert in alle zugeordneten Kanäle übernommen. Ist die Checkbox nicht selektiert dann wird nur der Kanal der aktuell selektierten Sektion verändert. Die aktuelle Sektion wird durch einen gelben Rahmen im Hintergrundfenster angezeigt in dem natürlich dann auch eine andere Sektion mit der Mause selektiert werden kann.
 
Mit der Checkbox "Select All" wird die Wirksamkeit der drei farbigen Slider sowie der Spinbox Felder zum einstellen der Gammawerte bestimmt. Ist die Checkbox selektiert und eines der Bedienelemente wird zum verändern eines Wertes betätigt, dann wird dieser veränderte Wert in alle zugeordneten Kanäle übernommen. Ist die Checkbox nicht selektiert dann wird nur der Kanal der aktuell selektierten Sektion verändert. Die aktuelle Sektion wird durch einen gelben Rahmen im Hintergrundfenster angezeigt in dem natürlich dann auch eine andere Sektion mit der Mause selektiert werden kann.
  
 
Für die erste Konfiguration sollte die Checkbox selektiert werden und dann mittels der drei farbigen Slider der Weißabgleich erfolgen.
 
Für die erste Konfiguration sollte die Checkbox selektiert werden und dann mittels der drei farbigen Slider der Weißabgleich erfolgen.
Hierzu das ganze solange trimmen bis das Weiss im Hintergrundfenster mit dem (gemichten) Weiss der LED-Stripes übereinstimmt.
+
Hierzu das ganze solange trimmen bis das Weiss im Hintergrundfenster mit dem (gemischten) Weiß der LED-Stripes übereinstimmt.
  
 
Als nächsten sollte der Gammawert, der getrennt für jede Farbe einstellbar ist, getrimmt werden.
 
Als nächsten sollte der Gammawert, der getrennt für jede Farbe einstellbar ist, getrimmt werden.
Hierzu betätigt man den rechten Slider "Brightness" der die Helligkeit aller LEDs sowie die Helligkeit im Hintergrundfenster gleichzeitig beinflusst.
+
Hierzu betätigt man den rechten Slider "Brightness" der die Helligkeit aller LEDs sowie die Helligkeit im Hintergrundfenster gleichzeitig beeinflusst.
 
Der Helligkeitsverlauf zwischen Hintergrundfenster und LED's sollte möglichst gleichmäßig sein.
 
Der Helligkeitsverlauf zwischen Hintergrundfenster und LED's sollte möglichst gleichmäßig sein.
 
Falls es bei unterschiedlichen Helligkeiten zu Farbstichen bei den LEDs kommen, so kann man durch einstellen unterschiedlicher Gammawerte bei den Farben versuchen diese wegzutrimmen.
 
Falls es bei unterschiedlichen Helligkeiten zu Farbstichen bei den LEDs kommen, so kann man durch einstellen unterschiedlicher Gammawerte bei den Farben versuchen diese wegzutrimmen.
Zeile 234: Zeile 234:
 
[[Bild:common_bright.png|thumb|Common Brightness Dialog]]
 
[[Bild:common_bright.png|thumb|Common Brightness Dialog]]
  
Wird dieser Dialog selektiert, dann schaltet das Setupprogramm alle zugeordneten Kanäle auf maximale Helligkeit (unter Berücksichtigung des Weissabgleich womit wir wieder auf die Reihenfolge achten sollten).
+
Wird dieser Dialog selektiert, dann schaltet das Setupprogramm alle zugeordneten Kanäle auf maximale Helligkeit (unter Berücksichtigung des Weißabgleich womit wir wieder auf die Reihenfolge achten sollten).
  
 
Mit dem Slider "Brightness" kann jetzt der Kanal für die gemeinsamme Helligkeit aller angeschlossenen Kontroller gleichzeitig verändert werden.
 
Mit dem Slider "Brightness" kann jetzt der Kanal für die gemeinsamme Helligkeit aller angeschlossenen Kontroller gleichzeitig verändert werden.
 
Im Dialog Devices kann, falls gewünscht, der Wert für jeden Kontroller danach noch individuell beeinflusst werden.
 
Im Dialog Devices kann, falls gewünscht, der Wert für jeden Kontroller danach noch individuell beeinflusst werden.
  
Werden die Kontroller mit einer höheren Betriebsspannung als die nominal Spannung der LED-Stripes betrieben, so kann mit der gemeinsammen Helligkeit auch die maximale Stromaufnahme der LEDs festgelegt werden.
+
Werden die Kontroller mit einer höheren Betriebsspannung als die nominal Spannung der LED-Stripes betrieben, so kann mit der gemeinsamen Helligkeit auch die maximale Stromaufnahme der LEDs festgelegt werden.
 
Hierzu sollte die tatsächliche Stromaufnahme aller LEDs, die man z.B. durch einschleifen eines Amperemeter in der Stromversorgung messen kann, entsprechend begrenzen bezogen auf die Summe der zulässigen Ströme der einzelnen LEDs.
 
Hierzu sollte die tatsächliche Stromaufnahme aller LEDs, die man z.B. durch einschleifen eines Amperemeter in der Stromversorgung messen kann, entsprechend begrenzen bezogen auf die Summe der zulässigen Ströme der einzelnen LEDs.
 
Da ein solcher Abgleich sinnvollerweise erst nach dem Weissabgleich erfolgen sollte, muss sichergestellt sein, das bis dahin keine unerlaubt hohen Ströme fliessen die zu einer Zerstörung der LEDs führen kann.
 
Da ein solcher Abgleich sinnvollerweise erst nach dem Weissabgleich erfolgen sollte, muss sichergestellt sein, das bis dahin keine unerlaubt hohen Ströme fliessen die zu einer Zerstörung der LEDs führen kann.
 
Am besten wird die erste Konfiguration erstmal mit einer Spannungsquelle durchgeführt, die nicht mehr als die Nominalspannung der LEDs liefert.
 
Am besten wird die erste Konfiguration erstmal mit einer Spannungsquelle durchgeführt, die nicht mehr als die Nominalspannung der LEDs liefert.
Während dieser Konfiguration kann dann erstmal eine sehr niederige Gesamthelligkeit eingestellt werden.
+
Während dieser Konfiguration kann dann erstmal eine sehr niedrige Gesamthelligkeit eingestellt werden.
 
Danach dann die endgültige Spannungsquelle anschliessen und langsam die Gesamthelligkeit hochregeln bis der gewünschte Wert erreicht wird.
 
Danach dann die endgültige Spannungsquelle anschliessen und langsam die Gesamthelligkeit hochregeln bis der gewünschte Wert erreicht wird.
  
Zeile 262: Zeile 262:
  
 
= Links =
 
= Links =
Diskussion zum AURORA: {{vdrportal board|71741}}
+
# {{vdrportal board|71741|Diskussion zum AURORA}}
 
+
# {{vdrportal board|88205|Diskussion zum nativen Xine Atmolight Plugin}}
Diskussion zum nativen Xine Atmolight Plugin: {{vdrportal board|88205}}
+
# Das Original: [[Atmo-plugin|Atmolight]]
 
+
# Ein weiteres "next generation" Projekt: [[Solarstorm-plugin]]
Das Original: [[Atmo-plugin|Atmolight]]
+
# V-USB von Objective Development: http://www.obdev.at/products/vusb/index-de.html
 
+
# Preiswerte Platinenherstellung: http://www.electronic-customs.de
Ein weiteres "next generation" Projekt: [[Solarstorm-plugin]]
+
 
+
V-USB von Objective Development: [http://www.obdev.at/products/vusb/index-de.html]
+
 
+
Preiswerte Platinenherstellung: [http://www.electronic-customs.de]
+
  
 
[[Kategorie:Hardware]]   
 
[[Kategorie:Hardware]]   
 
{{i18n|df10ch}}
 
{{i18n|df10ch}}

Version vom 6. Februar 2010, 22:31 Uhr


Diese Seite befindet sich momentan im Aufbau
Durchflieger 13:15, 4. Feb. 2010 (UTC)
Bei Fragen, nutzen Sie bitte folgende Diskussionsseite.
Danke



Inhaltsverzeichnis

Beschreibung

Autor: Andreas Auras

Diese Seite soll eine Anleitung zum Nachbau meines selbst entwickelten "next generation" Atmolight Kontroller sein. Viele Ideen zu diesem Projekt basieren auf dem wunderbaren Atmolight Projekt dessen Entwicklern ich hier nochmals für Ihre Arbeit danken möchte. Bei diesem Projekt handelt es sich um eine völlige Neuentwicklung bei der die höchste Priorität auf einen einfachen und preiswerten Nachbau liegt.

Bilder des Kontroller

Platine von oben
Platine von unten
Platine von der Seite
Platine von der Seite
LED-Stripe mit Anschlusskabel

Features

Ein Kontroller bietet 30 PWM Kanäle für 10 RGB-Gruppen und zusätzlich einem gemeinsamen PWM-Helligkeitskanal.

PWM-Frequenz der RGB-Kanäle variable 50 - 400Hz. Die Auflösung ist abhängig von der PWM-Frequenz und beträgt bei 100Hz 1111 Schritte. Die PWM-Frequenz des gemeinsamen Helligkeitskanal beträgt 62,5kHz.

Die Verbindung zum Rechner erfolgt per USB-Schnittstelle. Mehrere Kontroller können parallel jeweils an einem eigenen USB-Anschluss betrieben werden.

Flexible und komfortable Konfiguration ein oder mehrerer Kontroller mittels einem eigenem grafischen Setup-Programm. Hierbei können alle PWM-Kanäle nur durch Software-Konfiguration den Ausgängen zugeordnet werden. Kanalzuordnung, Weissabgleich und Gammaeinstellung per Setup-Programm individuell für jeden Kanal einstellbar.

Angesteuert werden kann der Kontroller zur Zeit von meinem Xine-Atmolight-Plugin ab Version 0.3. Dieses findet die Kontroller automatisch und liest die Konfiguration aus dem jeweiligen Kontrollern aus. Die Datenverteilung zu mehreren Kontrollern erfolgt im Xine-Atmolight-Plugin.

Die Hardware besteht nur aus bedrahteten (kein SMD) gut erhältlichen Bauteilen (gibt es alles bei Reichelt). Die Platine des Kontroller ist einseitig mit einer minimalen Leiterbahnbreite von 0,4mm geroutet und stellt somit keine großen Anforderungen an den Herstellungsprozess. Ich habe meine Platinen sehr preiswert bei der Firma Electronic Customs Daniel Berghoff herstellen lassen wo auch Einzelstücke bzw. kleine Mengen bestellt werden können. Die gelieferte Qualität reicht für dieses Projekt vollkommen aus.

Es können LED-Stripes mit gemeinsamer Anode oder Kathode verwendet werden. Als LED-Treiber werden ULN2803 oder UDN2981 verwendet womit jeder Kanal maximal 500mA und maximal 50V haben darf. Die Gesamtverlustleistung eines Treiber-IC ist allerdings zu beachten da diese deutlich geringer ausfällt als die Summe der Kanäle eines Treibers!

Der zusätzliche gemeinsame Helligkeitskanal ist dafür gedacht, maximale Helligkeit bei den LED-Stripes zu erreichen. Hierfür wird eine Stromversorgung mit etwas höherer Ausgangsspannung benötigt als die nominale Betriebsspannung der LED-Stripes um die Spannungsverluste von ca. 0,5-0,8V an den Treiber-ICs auszugleichen. Weiterhin erreicht man mit diesem zusätzlichen Kanal, dass man die Gesamthelligkeit aller LEDs einstellen kann unabhängig von den einzelnen RGB-Kanälen. Zwar kann man die Gesamthelligkeit auch im Rahmen des Weissabgleich, oder noch schlechter mittels der Parameter des Atmolight-Plugin einstellen, jedoch verliert man hier immer gleichzeitig auch an Auflösung der Kanäle.

Die Firmware für die beiden eingesetzten AVR ATMega Mikrocontroller beinhaltet eigene Bootloader womit ein Update der Firmware direkt aus dem Setup-Programm möglich ist.

Da ich meine vorhandenen LED-RGB-Stripes, die sich alle 12cm elektrisch aufteilen lassen, unbedingt weiter verwenden wollte, habe ich mich für ein zentralistisches Konzept für den Aufbau des Kontroller entschieden. Dass hat allerdings den Nachteil, dass viele Verbindungsleitungen vom Kontroller zu den LED-Stripes notwendig sind womit akut die Gefahr eines Kabelsalat hinter dem TV besteht. Letztendlich habe ich mich hier auf Verbindungen per RJ11 Buchsen und Stecker entschieden. Bei Reichelt bekommt man sehr preiswert fertig konfektionierte Verbindungskabel (Telefonzuleitung) mit schönen schwarzen Flachbandkabel dass sich einigermaßen vernünftig und platzsparend verlegen lässt. (Siehe Bilder oben)

Hardware

Schaltplan DF10CH Kontroller


Die Schaltung ist recht einfach aufgebaut und erklärt: Die Hauptarbeit auf dem Kontroller teilen sich zwei AVR ATMega Prozessoren. IC6 ist für die USB-Schnittstelle verantwortlich und wird nachfolgend der USB-Prozessor genannt. IC1 ist für die Generierung der PWM-Signale verantwortlich und wird nachfolgend der PWM-Prozessor genannt. Beide Prozessoren kommunizieren seriell mittels ihrer USART-Schnittstellen bei 125KBaud miteinander.

IC2-IC5 sind die RGB-Treiber die wahlweise mit den Typen ULN2803 für LED-Stripes mit gemeinsamer Anode(+) bzw. mit den Typen UDN2981 für LED-Stripes mit gemeinsamer Kathode(-) bestückt werden.

Bei Betrieb mit gemeinsamer Anode(+) sind die Anschlüsse P1<->P2 und P7<->P8 mittels zwei Drahtbrücken zu verbinden.

Bei Betrieb mit gemeinsamer Kathode(-) sind die Anschlüsse P2<->P3, P4<->P5 und P6<->P7 mittels drei Drahtbrücken zu verbinden.

Die Stromversorgung der LED-Stripes erfolgt über die Buchsen J1 und J2. Die zweite Buchsen wird nur benötigt wenn man mittels einem zusätzlicher Verbindungskabel weitere Kontroller mit Strom versorgen möchte.

D3 und D4 sollten unbedingt 3,6V haben und low power Typen (0,5W) sein.

Q1 und Q2 bilden den Treiber für die gemeinsame Helligkeitssteuerung. Die Zener-Spannung von D1 hängt von der LED Betriebsspannung VDD ab und es sollte der größte Normwert <= VDD - 5,5V gewählt werden. Weiterhin ist hier mindestens ein 1,3W Typ einzusetzen. Wer die Helligkeitssteuerung nicht braucht weil er z.B. keine Stromversorgung mit überhöhter Spannung einsetzen will, kann die Bauteile inklusive R2-R5 und D1 einsparen. In diesem Fall ist eine Drahtbrücke zwischen Source und Drain bei Q2 einzusetzen.

Der Jumper JP1 dient dazu, den Bootloader des USB-Prozessor zwangsweise zu starten. Dass wird aber nur notwendig sein wenn der Firmware-Update mal sehr unglücklich unterbrochen wurde.

Die LED D2 signalisiert einen Betriebsbereiten PWM-Prozessor. Sie blinkt (oder besser flackert) wenn Daten von PC gesendet werden.

Firmware

Die Firmware besteht aus vier separaten Programmen: Bootloader USB-Prozessor, Applikation USB-Prozessor, Bootloader PWM-Prozessor, Applikation PWM-Prozessor.

Die Programme des USB-Prozessor setzen für die Kommunikation über USB die Software-Emulation V-USB der Firma Objective Development ein. Das hat den Vorteil dass für die USB-Schnittstelle keine speziellen Prozessoren benötigt werden. Allerdings ist zu beachten, dass diese Methode sowohl von der elektrischen als auch protokolltechnischen Realisierung nicht 100% konform zum USB Standard ist. Nichtsdestotrotz funktioniert die Methode bei mir auch bei USB-Zuleitungen von 3m sehr zuverlässig wenn die Controller direkt am USB-Anschluss des PC gesteckt sind. Problem gibt es allerdings bei mir wenn ich meinen (sehr preiswerten) 4-fach USB-Hub einschleife da dann Fehler in der Übertragung entstehen. Den Betrieb mit einem USB-Hub kann ich deshalb erst einmal nicht empfehlen.

Für den privaten gebraucht steht das V-USB unter GPL zur freien Verfügung. Über die genauen Lizenzbedingungen sowie die Vor- und Nachteile dieser Lösung informiert die Web-Seite des Herstellers sehr ausführlich. Siehe die Links am Ende dieser Seite.

Zum übersetzen der Firmware wird der avr-gcc benötigt.

Die Prozessoren müssen mit einem AVR-Programmiergerät einmalig mit den Bootloader-Programmen geflasht werden. Ich habe hierfür keine ICP-Steckverbindungen auf der Platine vorgesehen da es hier wohl sowieso keinen richtigen Standard für die Pin-Belegung gibt (zumindestens mein Programmer ist hier exotisch :-). Ich habe das ICP-Kabel einfach direkt angelötet und nach dem flashen wieder entfernt.

In den Makefiles gibt es zum flashen mit avrdude entsprechende Ziele. Hier können auch die Werte für FUSE und LOCKBIT's entnommen werden. Mit dem Programmer im AVR-Studio können auch die .elf -Dateien verwendet werden die alle Informationen (flash, fuse, lockbits) enthalten. Wer möchte kann auch auf die Bootloader verzichten und direkt die Applikationen flashen. Die Makefiles bieten hier auch die notwendigen Ziele.

Setup-Programm

Für die Konfiguration der Kontroller gibt es ein in Python realisiertes Setup-Programm mit grafischer TCL/TK Bedienoberfläche. Es setzt eine installierte Python Umgebung der Version 2.6 voraus sowie zusätzlich das Python Modul PyUSB. Bei Debian basierten Linux sind das die Pakete python2.6, python-tk und python-usb.

Der Aufruf kann direkt aus dem Unterverzeichnis "df10ch_setup" mit "./df10ch_setup.py" erfolgen. Alternative kann das Programm auch mittels "python setup.py install" installiert werden.

Wer mit dem Programm erst einmal ohne Kontrollerhardware experimentieren möchte, kann es mit der Option -s N aufrufen wobei N die Anzahl simulierter DF10CH-Kontroller darstellt.

Das Programm öffnet beim Start gleich zwei Fenster wobei dass eine im Hintergrund rahmenlos den ganzen Bildschirm ausfüllt (Fullscreen-Window) und das zweite Fenster im Vordergrund herkömmlich erscheint. Das Vordergrundfenster bietet verschiedene Dialoge, die mit den Buttons auf der linken Seite ausgewählt werden können. Diesen sollten im Rahmen der Konfiguration möglichst nacheinander abgearbeitet werden.

Im Hintergrundfenster wird das konfigurierte Layout, womit die Anordung der LED-Stripes gemeint ist, grafisch in Form von Sektionen (Areas) am Bildschirmrand dargestellt. Bei richtiger Montage der Stripes am TV sollten die Sektionen weitestgehend mit der tatsächlichen Lage der jeweiligen LED's übereinstimmen.


Der Devices Dialog

Devices Dialog

Beim start des Programm scant dieses erstmal den USB-Bus nach Kontrollern ab und stellt die gefundenen Geräte in der Liste dar. Das scannen kann auch manuell mittels dem "Scan Devices" Button ausgelöst werden.

Auf der rechten Seite des Dialog werden zu dem gerade in der Kontrollerliste selektierten Gerät die Konfigurationsdaten angezeigt. Im Feld "Version" werden die Versionsnummern der Firmware sowie der vom Setup-Programm verwalteten und im Kontroller gespeicherten Daten angezeigt. Bei einem nur mit dem Bootloader geflashten USB-Prozessor erscheint hier "Bootloader USB: XX.XX". In diesem Zustand muss der Kontroller erstmal mit der USB-Prozessor Applikationsfirmware versorgt werden. Der Firmware Update wird durch betätigen des gleichnamigen Button im Dialog eingeleitet. Es erscheint ein Dateiauswahldialog in dem die passende Firmwaredatei ausgewählt werden muss. Diese speziellen Firmwaredateien haben alle die Endung ".dff" und für den USB-Prozessor wird hier "df10ch_usb_ctrl.dff" gewählt. Es erfolgt nochmal eine Sicherheitsabfrage die bestätigt werden muss. Danach erfolgt der Firmware-Update für den USB-Prozessor, der praktischer weise gleich für alle angeschlossenen Kontroller durchgeführt wird.

Nach erfolgreichen Update sollte im Feld "Version" nun "USB: XX.XX Bootloader PWM: XX" erscheinen. Wie man sieht ruft der PWM-Prozessor nun auch nach seiner Applikationsfirmware die nun auf gleiche Weise zu installieren ist. Im Dateiauswahldialog anstatt "df10ch_usb_ctrl.dff" dann aber die Firmwaredatei "df10ch_pwm_ctrl.dff" auswählen.

Nach diesem erfolgreichen Update sollte im Feld "Version" nun "USB: XX.XX PWM: XX" erscheinen und wir können jetzt endlich mit der eigentlichen Konfiguration loslegen.

Auf der rechten Seite können für den selektierten Kontroller mittels der Slider die PWM-Frequenz sowie die gemeinsame Helligkeit (Common Brightness) individuell eingestellt werden. Diese sollten aber erst einmal für die weitere Konfiguration auf den Standardwerten von 100Hz bzw. 255 belassen werden.

Mit dem Button "Store Setup" kann die aktuelle Konfiguration im Setup-Programm permanent in die Kontroller übertragen werden. Beim verlassen des Programm mittels des Schließen-Button im Fensterrahmen erfolgt sicherheitshalber zusätzlich eine entsprechende Abfrage zum speichern.

Mit dem Button "Reset Setup" werden alle angeschlossenen Kontroller auf ihre "Werkseinstellung" zurückgestellt was gleichbedeutend ist mit dem Verlust der aktuellen Konfiguration.

Mit den Buttons "Backup" und "Restore" kann die Konfiguration des aktuell selektierten Kontroller in eine Datei gesichert bzw. aus dieser wieder gewonnen werden.

Der RGB-Areas Dialog

Areas Dialog

Als nächstes wird in diesem Dialog erst einmal das gewünschte und möglichst auch tatsächlich installierte Layout der LED-Stripes am TV konfiguriert. Hierzu einfach in den Spinboxes für die gewünschten Bereiche die Anzahl der Kanäle einstellen wobei hier nur für Top, Bottom, Left und Right mehr wie eine Sektion zulässig sind.

Die Eckbereiche zählen dabei jeweils als ein zusammengefasste Sektion der jeweiligen anliegenden Seite. Entsprechend sollten die LED's natürlich auch elektrisch "über Eck" verbunden sein. Ich habe die Eckbereiche eingeführt, um damit Kanäle bzw. Kontroller einsparen zu können. Die LED-Stripes an meinen 37" TV lassen sich in 21 Sektionen aufteilen. Mit der Einführung von zwei Ecksektionen werden nur noch 19 RGB-Kanäle benötigt und zwei Kontroller reichen dann eben aus.

Mit betätigen des "Apply" Button werden die erfassten Werten als Sektionen im Hintergrundfenster am Bildschirmrand dargestellt. Man kann jetzt die Lage der LED-Stripes anhand der dargestellten Sektionen sehr schön ausrichten.

Der Mapping Dialog

Mapping Dialog

In der Mitte dieses Dialog werden in einer Liste alle vorhandenen PWM-Kanäle aller angeschlossenen Kontroller aufgezählt. Jetzt gilt es, jedem PWM-Kanal eine Sektion sowie eine Farbe zuzuordnen.

Durch Selektion eines Kanal in der Liste wird der entsprechende Ausgang am Kontroller eingeschaltet und falls dort eine LED angeschlossen ist sollte diese jetzt am Bildschirmrand des TV aufleuchten. Man kann einen Kanal direkt in der Liste selektieren oder mittels der beiden Buttons "Next Ch" und "Prev Ch" durch die Liste navigieren.

Hat man einen Kanal gefunden bei dem eine LED leuchtet kann die Zuordnung erfolgen. Dazu einfach im Hintergrundfenster die Sektion mit der Maus selektieren, die am nächsten bei der leuchtenden LED liegt. Danach einen der Farbbuttons betätigen und zwar den mit der gleichen Farbe wie die leuchtende LED. Damit ist die Zuordnung für diesen Kanal bereits fertig und das ganze kann jetzt nach gleichem Schema für die nächsten Kanäle erfolgen.

Als nächstes ordnet man am besten die Kanäle der selben RGB-Gruppe zu. Eine RGB-Gruppe fasst immer die drei Kanäle zusammen, die auf einer Buchse im Kontroller herausgeführt werden. Sinnvollerweise sollte man so eine Gruppe dann auch auf die RGB-LEDs einer Sektion verbunden haben weil die Zuleitungen sich praktischerweise auch im selben Zuleitungskabel befinden. Seitens der Konfiguration ist das allerdings keine Notwendigkeit da hier jeder Kanal individuell zugeordnet werden kann.

Die RGB-Gruppe-Nummer wird in der Kanalliste als Zahl vor dem Punkt dargestellt. Der Unterkanal einer Gruppe ist die Zahl auf der rechten Seite des Punkt.

Wenn man seine Zuleitungen alle gleich mit den LED-Stripes verbunden hat, kann man die nächsten RGB-Gruppen nun im Schnellverfahren über die "channel group" Buttons des Dialog zuordnen. Dazu schaut man sich die Belegung der ersten bereits einzeln zugeordneten Gruppe an. In diese z.B. 1.1 -> green, 1.2 -> red, 1.3 -> blue dann kann dieses Schema mit dem Button GRB direkt zugeordnet werden. Verstanden?

Mit dem Button "Delete mapping" kann die Zuordnung des aktuell selektierten Kanal wieder aufgehoben werden. Man sollte nur die Kanäle zuweisen an denen auch tatsächlich LEDs angeschlossen sind weil damit nachher nur die wirklich notwendigen Daten zu den Kontrollern gesendet werden.

Der White Calibration Dialog

Dialog für Weissabgleich

Wird dieser Dialog selektiert, dann schaltet das Setup-Programm alle zugeordneten Kanäle (deshalb bitte unbedingt die Reihenfolge der Konfiguration beachten) ein und es sollten alle LEDs am TV aufleuchten. Weiterhin wird im Hintergrundfenster die Farbe weiß gesetzt.

Mit der Checkbox "Select All" wird die Wirksamkeit der drei farbigen Slider sowie der Spinbox Felder zum einstellen der Gammawerte bestimmt. Ist die Checkbox selektiert und eines der Bedienelemente wird zum verändern eines Wertes betätigt, dann wird dieser veränderte Wert in alle zugeordneten Kanäle übernommen. Ist die Checkbox nicht selektiert dann wird nur der Kanal der aktuell selektierten Sektion verändert. Die aktuelle Sektion wird durch einen gelben Rahmen im Hintergrundfenster angezeigt in dem natürlich dann auch eine andere Sektion mit der Mause selektiert werden kann.

Für die erste Konfiguration sollte die Checkbox selektiert werden und dann mittels der drei farbigen Slider der Weißabgleich erfolgen. Hierzu das ganze solange trimmen bis das Weiss im Hintergrundfenster mit dem (gemischten) Weiß der LED-Stripes übereinstimmt.

Als nächsten sollte der Gammawert, der getrennt für jede Farbe einstellbar ist, getrimmt werden. Hierzu betätigt man den rechten Slider "Brightness" der die Helligkeit aller LEDs sowie die Helligkeit im Hintergrundfenster gleichzeitig beeinflusst. Der Helligkeitsverlauf zwischen Hintergrundfenster und LED's sollte möglichst gleichmäßig sein. Falls es bei unterschiedlichen Helligkeiten zu Farbstichen bei den LEDs kommen, so kann man durch einstellen unterschiedlicher Gammawerte bei den Farben versuchen diese wegzutrimmen.

Falls nach diesem Grundabgleich einzelne Sektionen noch Farbstichigkeiten aufweisen, dann kann jetzt der Vorgang für jede einzelne Sektion individuell erfolgen. Hierzu die Checkbox "Select all" deselektieren und die gewünschte Sektion dann im Hintergrundfenster selektieren.

Der Common Brightness Dialog

Common Brightness Dialog

Wird dieser Dialog selektiert, dann schaltet das Setupprogramm alle zugeordneten Kanäle auf maximale Helligkeit (unter Berücksichtigung des Weißabgleich womit wir wieder auf die Reihenfolge achten sollten).

Mit dem Slider "Brightness" kann jetzt der Kanal für die gemeinsamme Helligkeit aller angeschlossenen Kontroller gleichzeitig verändert werden. Im Dialog Devices kann, falls gewünscht, der Wert für jeden Kontroller danach noch individuell beeinflusst werden.

Werden die Kontroller mit einer höheren Betriebsspannung als die nominal Spannung der LED-Stripes betrieben, so kann mit der gemeinsamen Helligkeit auch die maximale Stromaufnahme der LEDs festgelegt werden. Hierzu sollte die tatsächliche Stromaufnahme aller LEDs, die man z.B. durch einschleifen eines Amperemeter in der Stromversorgung messen kann, entsprechend begrenzen bezogen auf die Summe der zulässigen Ströme der einzelnen LEDs. Da ein solcher Abgleich sinnvollerweise erst nach dem Weissabgleich erfolgen sollte, muss sichergestellt sein, das bis dahin keine unerlaubt hohen Ströme fliessen die zu einer Zerstörung der LEDs führen kann. Am besten wird die erste Konfiguration erstmal mit einer Spannungsquelle durchgeführt, die nicht mehr als die Nominalspannung der LEDs liefert. Während dieser Konfiguration kann dann erstmal eine sehr niedrige Gesamthelligkeit eingestellt werden. Danach dann die endgültige Spannungsquelle anschliessen und langsam die Gesamthelligkeit hochregeln bis der gewünschte Wert erreicht wird.

Ich weise hiermit ausdrücklich nochmals darauf hin, dass der Betrieb mit überhöhter Betriebsspannung durch unsachgemässen Gebrauch oder auch z.B. Hardwarefehlern, amoklaufender Software etc. zur sofortigen oder vorzeitigen Zerstörung der LEDs führen kann!!!!!!

Erfahrungen im praktischen Betrieb

Bisher konnte ich Tests mit zwei Kontrollern durchführen die sehr vielversprechend verlaufen sind. An meinem recht schwachbrüstigen ZOTAC ION-ITX B Board mit Atom N230 single core, Ausgabe über VDPAU mittels vdr-xine-plugin und xine-ui liegt die Rechenlast bei 20 RGB-Kanälen bei ca. 50%. Und das inklusive aktiven autocrop Plugin. Auch bei HDTV (720p, 1080i) konnte ich bisher keine Beinflussungen feststellen.

Bezugsquelle / Download

Zur Zeit befindet sich das Projekt noch in der Testphase bei mir. Ist diese erfolgreich abgeschlossen werde ich die Firmware, das Setup-Programm sowie die in KiCad erstellte Platine zum Download bereitstellen.

Links

  1. Diskussion zum AURORA
  2. Diskussion zum nativen Xine Atmolight Plugin
  3. Das Original: Atmolight
  4. Ein weiteres "next generation" Projekt: Solarstorm-plugin
  5. V-USB von Objective Development: http://www.obdev.at/products/vusb/index-de.html
  6. Preiswerte Platinenherstellung: http://www.electronic-customs.de
In anderen Sprachen