Atmo-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Farberkennung: Erweiterung)
K (Farberkennung)
Zeile 420: Zeile 420:
 
*Zurückrechnen von [http://de.wikipedia.org/wiki/HSV-Farbraum HSV-Farbraum] in [http://de.wikipedia.org/wiki/RGB-Farbraum RGB-Farbraum]
 
*Zurückrechnen von [http://de.wikipedia.org/wiki/HSV-Farbraum HSV-Farbraum] in [http://de.wikipedia.org/wiki/RGB-Farbraum RGB-Farbraum]
  
*'''[http://de.wikipedia.org/wiki/Gammakorrektur Gamma Korrektur]'''   
+
*'''[http://de.wikipedia.org/wiki/Gammakorrektur Gammakorrektur]'''   
  
 
*'''[http://de.wikipedia.org/wiki/Wei%C3%9Fabgleich Weißabgleich]'''
 
*'''[http://de.wikipedia.org/wiki/Wei%C3%9Fabgleich Weißabgleich]'''

Version vom 3. September 2006, 17:21 Uhr

Inhaltsverzeichnis

Allgemeine Funktionsbeschreibung

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

Warnung
Warnung

ACHTUNG: Artikel wird gerade überarbeitet


Das Atmolight-Plugin dient zum Ansteuern einer farbigen Hintergrundbeleuchtung für Fernsehgeräte. Die angezeigte Farbe hängt dabei vom Bildschirminhalt ab. Als Vorlage diente das Ambilight von Philips. Die Ansteuerung der Beleuchtung erfolgt über einen Mikrocontroller. Dieser wird über eine serielle Schnittstelle (oder über einen USB<->Seriell-Wandler) mit dem VDR verbunden. Als Lichtquellen kommen RGB Anordnungen aus CCFL Kaltlichtkathodenröhren oder Leuchtdioden (LEDs) zum Einsatz. Das Plugin ist in der Lage für jede der vier Kanten des Fernsehgerätes (also links/rechts/oben/unten) eine individuell berechnete Farbe auszugeben. Die Beleuchtung wird dann quasi als "Verlängerung" des Bildes über die Grenzen des Fernsehers hinaus genutzt. Zusätlich wird eine "Summenfarbe" ausgegeben, die verwendung findet, wenn nur eine RGB-Leuchte zentral hinter dem Fernsehgerät plaziert werden soll.

Es werden also laufend fünf verschiedene RGB Farbkanäle ausgegeben.

Status

Bilder

Hardware

Hardwareanforderungen

  • VDR mit full featured DVB-Karte
  • mind. 1 Ansteuerplatine mit Mikrocontroller
  • LEDs oder CCFLs als Leuchtmittel

LED-Variante

Funktionsprinzip

LED-Module/-Streifen

Als LED-Streifen bieten sich ... (@Simon: Dein Part ;-)) oder LED-Streifen als Selbstbaulösung an. Beide sind mit Superflux-LEDs bestückt.
Datei:Superflux.jpg
Superflux-LEDs
Für den Selbstbau existiert ein Platinenlayout, daß direkt für den Anschluss an Variante 2 der Ansteuerplatinen geeignet ist. Der LED-Streifen (ca. 200x25mm) wird mit jeweils 12 roten, blauen und grünen Superflux-LEDs bestückt, durch Hintereinanderschalten lassen sich fast beliebig lange LED-Streifen herstellen:
Datei:Streifen.jpg
"2-fach LED-Streifen"
Die Superflux-LEDs können preisgünstig über ebay bezogen werden, 150 Stück kosten ca. 35€ plus Versand, leider ist die Qualität sehr stark vom Anbieter anhängig. (TODO: link) Zusätzlich werden natürlich die Platinen benötigt, Kosten ca. 5€ pro Stück bei Herstellung durch einen Platinenhersteller. Passende Vorwiderstände werden auch benötigt, für den Selbstbaustreifen wurden 100 Ohm für Rot, 180 Ohm für Blau und 270 Ohm für Grün verwendet (Tip: bei manchen ebay-Anbietern werden Vorwiderstände gleich mit angeboten). Ein Aufbau auf Lochraster ist zwar möglich, aber bei größerer LED-Stückzahl nicht zu empfehlen. Vor die LED-Streifen wird eine Streuscheibe montiert, sodaß eine möglichst homogene Farbmischung entsteht.

Ansteuerplatinen

Als Mikrocontroller kommt ein ATMega8 der Firma ATMEL zum Einsatz. Eine Ansteuerplatine mit Mikrocontroller und Leistungsteil kann jeweils 2 RGB-Kanäle ansteuern. Für eine Einkanal-Variante kann die Platine ebenfalls verwendet werden, eine vollständige Bestückung ist dann nicht erforderlich (halber Leistungsteil). Durch Kaskadierung von 2 Platinen kann eine 4-Kanal-Variante hergestellt werden; der serielle Datenstrom wird dann einfach von der ersten Platine an die zweite Platine durchgereicht. Beispiele für solche Aufbauten:

Die Helligkeitsregulierung der Leuchtmittel erfolgt dabei durch PWM (Pulsweitenmodulation). Für einen definierten Strom durch die LEDs wird mit Vorwiderständen und einer geregelten Versorgungsspannung gesorgt. Denkbar aber noch nicht getestet wäre auch zb. Luxeon LEDs mit einer zusätzlichen Konstantstromquelle und PWM zu betreiben.

Es sind zwei Varianten der Ansteuerplatine für LEDs entstanden.Beide verwenden den gleichen Mikrocontoller und die gleiche Firmware. Sie lassen sich als einseitige Platine herstellen oder notfalls sogar auf Lochraster aufbauen.

Variante 1 (Simon) Variante 2 (Daniel)
Datei:Atmo Simon Schaltplan gKathode.jpg
Schaltplan für Variante mit gemeinsamer Kathode
Datei:Atmo Simon Schaltplan gAnode.jpg
Schaltplan für Variante mit gemeinsamer Anode
Datei:Atmo Simon Bestückung gKathode.jpg
Bestückung der Variante mit gemeinsamer Kathode
Datei:Atmo Simon Bestückung gAnode.jpg
Bestückung der Variante mit gemeinsamer Anode
  • universelle Lösung, zur Ansteuerung beinahe beliebiger RGB-LED-Lichtquellen geeignet, sowohl Module mit gemeinsamer Anode als auch mit gemeinsamer Kathode können betrieben werden (Auswahl durch Bestückung)
  • Versorgung der LED-Streifen mit 5V bis 48V, dadurch Einsatz von Kaufstreifen möglich
  • Auswahl der Kanäle über Jumper
  • für die Ansteuerung von 12V-LED-Streifen mit gemeinsamer Anode optimiert
  • Stromversorgung direkt aus dem PC-Netzteil möglich
  • Auswahl der Kanäle über Programmierung des Controllers


Das Aufspielen der Firmware auf den Mikrocontroller erfolgt über einen PC. Dazu wird ein Programmieradapter benötigt, der im einfachsten Falle nur aus einer handvoll Bauteilen besteht.

Bauteilelisten der Ansteuerplatinen
Bauteileliste für Variante 2
Anzahl Artikel Reichelt-Best.Nr. Einzelpreis Gesamtpreis Bemerkung
1 ATMega 8 ATMEGA8-16 DIP 1,65€ 1,65€
1 IC-Sockel GS28P-S 0,33€ 0,33€
1 Spannungsregler uA7805 0,17€ 0,17€ Eventuell reicht auch der 78l05
1 RS232-Treiber MAX232ACPE 2,30€ 2,30€ Der MAX232E ist billiger, braucht aber größere Cs (> 1µF)
1 IC-Sockel GS16P 0,18€ 0,18€
1 Wannenstecker WSL10G 0,07€ 0,07€
1 Quarz 11,0592-HC49U-S 0,44€ 0,44€ flache Version
6 Widerstand 100 Ohm 1/4W100 0,10€ 0,60€ Ab 10 Stück: 3,3Cent/Stück, bei Mono nur 3
6 Mosfet IRL540N 0,67€ 4,02€ bei Mono-Version nur 3 Stück
1 Widerstand 270 Ohm 1/4W270 0,10€ 0,10€
1 Widerstand 10 kOhm 1/4W10K 0,10€ 0,10€
1 Anschlussklemme 2 pol AKL101-02 0,13€ 0,13€
1 Anschlussklemme 8 pol AKL101-08 0,53€ 0,53€ bei Mono-Version reicht auch AKL101-04
1 Elko 470µ RAD470/16 0,11€ 0,11€
1 Elko 1µ RAD1/63 0,04€ 0,04€
1 LED 3mm grün SLK 3MMGN 0,07€ 0,07€
2 Keramik-Kondensator 22p KERKO22P 0,04€ 0,08€
9 Keramik-Kondensator 100n KERKO100N 0,07€ 0,63€ passend biegen
1 Sub-D-Buchse 9pol D-SUBBU 09US 0,21€ 0,21€ IN
1 Sub-D-Stecker 9pol D-SUBST 09US 0,31€ 0,31€ OUT, optional



Summe
12,07€

CCFL-Variante

CCFL-Röhren

Bei den CCFLs gibt es aufgrund der temperaturabhängigen Lichtausbeute und des vorgeschalteten Inverters keinen direkten Zusammenhang zwischen Pulsbreite und Helligkeit, so daß eine Helligkeitsregelung erforderlich ist. Diese wird mit Hilfe von Fotodioden realisiert, die direkt an den CCFLs befestigt werden und so die die aktuelle Helligkeit an den Controller zurückliefern. Als CCFLs bieten sich die Modelle "Kaltlicht Kathoden Twin-Set" von Revoltec aus der Case-Modding-Szene an, diese sind für ca. 7€ pro Farbe erhältlich. Zur Montage der Fotodioden ist ein Zerlegen der Röhren erforderlich.

Software

Installation

Softwareanforderungen

Parameter

Folgende Kommandozeilenparameter gibt es

Parameter (kurz) Parameter (lang) Beschreibung
-n <IP>/<PORT> --net=<IP>:<PORT> Sende Daten übers Netzwerk (Z.b. 192.168.0.1:1234)
-s <DEV> --serial=<DEV> Sende Daten an eine serielle Schnittstelle (Z.b. /dev/ttyS1)
-o <MODE> --output=<MODE> Legt fest, welche Ansteuerplatine angeschlossen ist, mögliche Optionen sind:
LED für eine der beiden Varianten der LED-Ansteuerplatine
CCFL für die Ausgabe an die ursprüngliche CCFL-Platine (wird im Moment nicht unterstützt)

Bedienung

Funktionsweise

Farberkennung

  1. Erzeuge Histogramm des Hue Kanals unter Berücksichtigung von Gewichtungsfaktoren und Gewichtungsfunktionen:
    • Position des Pixels im Bild.
    • Value des Pixels.
  2. Wende Fensterung mit Dreiecks-Fenster auf Hue-Histogramm an.
  3. Finde Maximum im gefensterten Hue-Histogramm.
  4. Damit ist der Farbton bestimmt.


  1. Erzeuge Histogramm verwendeten Saturation in der Umgebung der gefundenen Hue nter Berücksichtigung von Gewichtungsfaktoren und Gewichtungsfunktionen:
    • Position des Pixels im Bild.
    • Value des Pixels.
  2. Wende Fensterung mit Dreiecks-Fenster auf Saturation-Histogramm an.
  3. Finde Maximum im gefensterten Saturation-Histogramm.
  4. Damit ist die "Sättigung" bestimmt.


  • 2 Modi
  1. Value Peak
    • Bestimme Maximum von Value im Bild, sprich die höchste vorkommende "Helligkeit"
  2. Value Average
    • Bestimme Mittelwert von Value im Bild, sprich die durchschnittliche "Helligkeit"
  • Helligkeitsanpassung

Serielles Protokoll

Kanalnummer Kanalbeschreibung
0 Mitte
1 Links
2 Rechts
3 Oben
4 Unten

Sonstiges

Probleme

Links

  1. Homepage des Plugins
  2. atmolight für LED Development-Thread
  3. Dateien zur Platine Variante 2
In anderen Sprachen