Stella Light: Unterschied zwischen den Versionen
(→Was ist das Stella Modul) |
Warhog (Diskussion | Beiträge) (→Programme) |
||
(19 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Was ist das Stella Modul == | == Was ist das Stella Modul == | ||
Das Stella Modul erzeugt [http://de.wikipedia.org/wiki/Pulsweitenmodulation PWM] | Das Stella Modul erzeugt [http://de.wikipedia.org/wiki/Pulsweitenmodulation PWM] | ||
− | Signale und gibt diese an | + | Signale und gibt diese an bis zu zwei wahlfreien Ports des Mikrocontrollers aus. Es |
− | können somit bis zu | + | können somit bis zu 16 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 | 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 | in der Regel die einzige, einfach zu realisierende Möglichkeit für diesen Zweck | ||
Zeile 10: | Zeile 10: | ||
* PWM wird hier per Software nachgebildet, es werden nicht die (meist nur in kleiner Zahl vorhandenen) Hardware PWM Kanäle benutzt. | * 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. | * 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. | ||
+ | * Dieses Modul ist nicht kompatibel zu Modulen, welche Interrupts abschalten (z.B. das Funk Modul). Es tritt bei Nichtbeachtung sichtbares Flimmern auf. | ||
* Keine [http://de.wikipedia.org/wiki/Gammakorrektur Gammakorrektur] | * Keine [http://de.wikipedia.org/wiki/Gammakorrektur 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. | * 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 | + | * Um Prozessorzeit zu sparen kann die Frequenz ca halbiert werden, wenn die Option "Fast Frequency" nicht aktiviert wurde. |
− | * Angesteuert wird per [[ECMD]] | + | * Kanäle können nicht nur einfach gesetzt werden, sondern auch zum Zielwert faden. Es sind zwei Fade Algorithmen implementiert. |
+ | * Angesteuert wird per [[ECMD]], mit Hilfe der inline-vfs Webseite oder über das separate UDP Stella Modul. | ||
− | == | + | ==StellaLight Modul aktivieren: Menuconfig== |
Um Stella in ethersex zu aktivieren, wählt man im Menü | Um Stella in ethersex zu aktivieren, wählt man im Menü | ||
Zeile 24: | Zeile 26: | ||
│ │ [*] Stella Light ---> | │ │ [*] 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 für Stella zu nutzen: | + | 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 : |
<source lang="text"> | <source lang="text"> | ||
ifdef(`conf_STELLA', `dnl | ifdef(`conf_STELLA', `dnl | ||
− | + | STELLA_PORT1_RANGE(PD2,PD7) | |
+ | STELLA_USE_TIMER(1) | ||
') | ') | ||
</source> | </source> | ||
+ | |||
+ | |||
+ | beim mega644 (etherrape) muss es wie folgt lauten: | ||
+ | <source lang="text"> | ||
+ | ifdef(`conf_STELLA', `dnl | ||
+ | STELLA_PORT1_RANGE(PD0,PD7) | ||
+ | STELLA_USE_TIMER(2) | ||
+ | ') | ||
+ | </source> | ||
+ | |||
+ | Möchtest du bis zu 16 Kanäle nutzen, musst du zusätzlich STELLA_PORT2_RANGE angeben. | ||
== Hardware Beispiel Aufbauten == | == Hardware Beispiel Aufbauten == | ||
− | Die | + | |
+ | {| align="right" | ||
+ | || [[Bild:1_stella_all_off.jpg|200px|thumb|Testaufbau von Stella mit Beschreibung]] | ||
+ | || [[Bild:2_stella_all_on.jpg|200px|thumb|Stella leuchtet durch PWM der Stella Channels]] | ||
+ | || [[Bild:3_mosfets.jpg|200px|thumb|Mosfet mit Lastwiderständen]] | ||
+ | || [[Bild:4_schaltung_fet.png|200px|thumb|Schaltung der Mosfet Platine]] | ||
+ | |} | ||
+ | |||
+ | Luxeon Leds: http://www.leds.de/High-Power-LEDs/Lumileds-LUXEON-LEDs/<br> | ||
+ | IRFR1205.pdf: http://ethersex.de/index.php/Bild:Irfr1205.pdf<br> | ||
+ | control6.src: http://paste2.org/p/1184512<br> | ||
+ | Pinning für etherrape: http://paste2.org/p/1184514 | ||
+ | |||
+ | Als Leds verwende ich hier "Luxeon Leds" welche ich mit den Lastwiderständen auf zirka 700-800mA begrenzt habe. Die Lastwiderstände haben zirka 1,5Ohm..2,2 Ohm, 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 Hand nehmen. Ich verwende hier ein IR([[IRMP]]) Signal um die Leds zu dimmen. Es soll einmal als Hintergrundbeleuchtung dienen. Durch das Control6 Script ist es möglich via Tastendruck den PWM der Stella Lights zu steuern. Ich verwende in diesen Beispiel eine Denon Fernbedienung. | ||
== Ansteuerung == | == Ansteuerung == | ||
− | === Per ECMD === | + | === Per [[ECMD]] === |
Stella unterstützt ecmd Befehle. Folgende Befehle können benutzt werden: | Stella unterstützt ecmd Befehle. Folgende Befehle können benutzt werden: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==== channels ==== | ==== channels ==== | ||
Liefert die Anzahl an einkompilierten Kanälen zurück. Kann nicht zur Laufzeit geändert werden. | 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. | |
− | |||
− | ==== stella fadestep | ||
− | Setzt bzw. liefert die Geschwindigkeit fürs Faden. Fordert einen | ||
− | |||
− | |||
− | |||
− | === | + | ==== 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 === | === Programme === | ||
− | Du findest im ethersex Quellcode unter contrib/ | + | Du findest im ethersex Quellcode unter contrib/artnet ein c Programm, |
− | welches du mit "make" übersetzten kannst. | + | welches du mit "make" übersetzten kannst. Damit kann ethersex wie ein dmx Client angesprochen werden, sofern artnet mit einkompiliert worden ist. |
− | + | <s>Stelladroid, eine Android App um die Kanäle bequem vom Sofa aus zu steuern. http://sourceforge.net/projects/stelladroid/. </s> | |
− | |||
− | http:// | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
[[Category:Ethersex]] | [[Category:Ethersex]] | ||
[[Category:PWM]] | [[Category:PWM]] |
Aktuelle Version vom 19. August 2011, 09:30 Uhr
Inhaltsverzeichnis
Was ist das Stella Modul
Das Stella Modul erzeugt PWM Signale und gibt diese an bis zu zwei wahlfreien Ports des Mikrocontrollers aus. Es können somit bis zu 16 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.
- Dieses Modul ist nicht kompatibel zu Modulen, welche Interrupts abschalten (z.B. das Funk Modul). Es tritt bei Nichtbeachtung sichtbares Flimmern auf.
- 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.
- Um Prozessorzeit zu sparen kann die Frequenz ca halbiert werden, wenn die Option "Fast Frequency" nicht aktiviert wurde.
- Kanäle können nicht nur einfach gesetzt werden, sondern auch zum Zielwert faden. Es sind zwei Fade Algorithmen implementiert.
- Angesteuert wird per ECMD, mit Hilfe der inline-vfs Webseite oder über das separate UDP Stella Modul.
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_PORT1_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)
')
Möchtest du bis zu 16 Kanäle nutzen, musst du zusätzlich STELLA_PORT2_RANGE angeben.
Hardware Beispiel Aufbauten
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
Als Leds verwende ich hier "Luxeon Leds" welche ich mit den Lastwiderständen auf zirka 700-800mA begrenzt habe. Die Lastwiderstände haben zirka 1,5Ohm..2,2 Ohm, 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 Hand nehmen. Ich verwende hier ein IR(IRMP) Signal um die Leds zu dimmen. Es soll einmal als Hintergrundbeleuchtung dienen. Durch das Control6 Script ist es möglich via Tastendruck den PWM der Stella Lights zu steuern. Ich verwende in diesen Beispiel eine Denon Fernbedienung.
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/.