Stella Light

Aus Ethersex_Wiki
Version vom 9. Jänner 2011, 16:24 Uhr von Djmaster (Diskussion | Beiträge) (Hardware Beispiel Aufbauten)
Wechseln zu: Navigation, Suche

Was ist das Stella Modul

Das Stella Modul erzeugt PWM Signale und gibt diese an einem wahlfreiem Port des Mikrocontrollers aus. Es können somit bis zu 8 unabhängige Signale für z.B. Servo Motoren oder LEDs generiert werden. Für das Faden von LEDs ist dies insbesondere nützlich, da PWM in der Regel die einzige, einfach zu realisierende Möglichkeit für diesen Zweck ist.

Nützlich zu wissen:

  • PWM wird hier per Software nachgebildet, es werden nicht die (meist nur in kleiner Zahl vorhandenen) Hardware PWM Kanäle benutzt.
  • Das Stella Modul benötigt einen komplett eigenen 8-Bit Timer und kann daher nicht zusammen mit anderen Modulen, die den selben Timer benötigen, kompiliert werden.
  • Keine Gammakorrektur
  • StellaLight hat eine hohe PWM Frequenz um sichtbares flimmern zu vermeiden (Bei 18 MHz Takt wird eine >200Hz PWM erzeugt) und kann sehr schnell neue Farbwerte annehmen.
  • Kanäle können nicht nur einfach gesetzt werden, sondern auch zum Zielwert faden. Es sind mehrere Fade Algorithmen implementiert.
  • Angesteuert wird per ECMD oder mit Hilfe der inline-vfs Webseite.

StellaLight Modul aktivieren: Menuconfig

Um Stella in ethersex zu aktivieren, wählt man im Menü

 │ │                Load a Default Configuration  --->
 │ │                ...
 │ │                Applications  --->
 │ │                  ...
 │ │                  [*] Stella Light  --->

StellaLight kann über ecmd, inline-vfs webseite und artnet angesteuert werden. Wenn artnet benutzt wird, verhält sich das StellaLight Modul wie ein DMX Client.

Es gibt noch ein paar Dinge, die nicht per menuconfig konfiguriert werden können. Du musst z.B. folgendes in pinning/hardware/{deineHardware}.m4 hinzufügen, falls es nicht schon eingetragen ist, um beispielsweise Pins 2-7 von PortD und Timer 1 für Stella zu nutzen  :

ifdef(`conf_STELLA', `dnl
  STELLA_PORT_RANGE(PD2,PD7)
  STELLA_USE_TIMER(1)
')


beim mega644 (etherrape) muss es wie folgt lauten:

ifdef(`conf_STELLA', `dnl
  STELLA_PORT1_RANGE(PD0,PD7)
  STELLA_USE_TIMER(2)
')

Hardware Beispiel Aufbauten

Als Leds verwende ich hier "Luxeon Leds" welche ich mit den Lastwiderständen auf zirka 700-800mA begrenzt habe. Die Lastwiderstände habe ich zwischen 1,5Ohm und 2,2 Ohm gewählt, kommt darauf an welche Farbe die Leds haben, und mit welcher Spannung die Leds versorgt werden. Spätestens jetzt sollte man sich das Datenblatt der gekauften Led zur Hanf nehmen. Ich verwende hier ein IR(IRMP) Signal um die Leds zu dimmen. Es soll einmal als Hintergrundbeleuchtung dienen.

Luxeon Leds: http://www.leds.de/High-Power-LEDs/Lumileds-LUXEON-LEDs/
IRFR1205.pdf: http://ethersex.de/index.php/Bild:Irfr1205.pdf
control6.src: http://paste2.org/p/1184512
Pinning für etherrape: http://paste2.org/p/1184514

Stella Testaufbau mit Beschreibung
Stella Leds leuchten
Mosfets für die Leds
Schaltung Mosfets

Ansteuerung

Per ECMD

Stella unterstützt ecmd Befehle. Folgende Befehle können benutzt werden:

channels

Liefert die Anzahl an einkompilierten Kanälen zurück. Kann nicht zur Laufzeit geändert werden.

stella fadestep VALUE

Setzt bzw. liefert die Geschwindigkeit fürs Faden. Fordert einen Parameter fürs setzen.

channel CHANNEL VALUE FADE_FUNCTION

Setzt bzw. liefert den Wert eines Kanals. Fürs abfragen muss nur CHANNEL angegeben werden. Fürs setzen muss der Kanal per CHANNEL und die Zielhelligkeit per VALUE angegeben werden. Optional kann noch die Fade Funktion ausgewählt werden. Entweder "s" für setzen, "f" für faden oder "y" für flashy.

Programme

Du findest im ethersex Quellcode unter contrib/artnet ein c Programm, welches du mit "make" übersetzten kannst. Damit kann ethersex wie ein dmx Client angesprochen werden, sofern artnet mit einkompiliert worden ist.

Stelladroid, eine Android App um die Kanäle bequem vom Sofa aus zu steuern. http://sourceforge.net/projects/stelladroid/.