DMX: Unterschied zwischen den Versionen
Veyron (Diskussion | Beiträge) K (hat „Ethersex/dmx“ nach „DMX“ verschoben: vertan) |
Mgue (Diskussion | Beiträge) |
||
(26 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
== Konfiguration == | == Konfiguration == | ||
+ | In menuconfig: | ||
+ | |||
+ | ┌──────────────────────────────────────────────────────────────────────────┐ | ||
+ | │ │ Load a Default Configuration ---> │ │ | ||
+ | │ │ General Setup ---> │ │ | ||
+ | │ ┌──────────────────────────────────────────────────────────────────────────┐ │ | ||
+ | │ │ [*] Prompt for experimental code │ │ | ||
+ | │ │ ... │ │ | ||
+ | │ └──────────────────────────────────────────────────────────────────────────┘ │ | ||
+ | │ │ Network protocols ---> │ │ | ||
+ | │ │ I/O support ---> │ │ | ||
+ | │ ┌──────────────────────────────────────────────────────────────────────────┐ │ | ||
+ | │ │ (Full-featured) I/O abstraction model (Port I/O) │ │ | ||
+ | │ │ [ ] HC595 output expansion │ │ | ||
+ | │ │ [ ] HC165 input expansion (EXPERIMENTAL) ---> │ │ | ||
+ | │ │ [ ] PS/2 keyboard │ │ | ||
+ | │ │ [-] PS/2: Use German layout │ │ | ||
+ | │ │ [ ] HD44780 module driver (Character-LCD) ---> │ │ | ||
+ | │ │ [ ] S1D15G10 module driver (130x130-R/G/B-LCD) │ │ | ||
+ | │ │ [ ] TTY Layer (EXPERIMENTAL) ---> │ │ | ||
+ | │ │ [ ] ADC input │ │ | ||
+ | │ │ [-] KTY Calculation Support │ │ | ||
+ | │ │ [ ] Onewire support │ │ | ||
+ | │ │ [-] Onewire device detection support │ │ | ||
+ | │ │ [-] Onewire DS2502 (eeprom) support │ │ | ||
+ | │ │ [ ] Named and logic state I/O ---> │ │ | ||
+ | │ │ [ ] I2C Master Support (EXPERIMENTAL) ---> │ │ | ||
+ | │ │ [ ] Camera support (EXPERIMENTAL) ---> │ │ | ||
+ | │ │ [ ] FS20 RF-control ---> │ │ | ||
+ | │ │ [ ] Send RC5 IR-codes │ │ | ||
+ | │ │ [ ] PWM Generator ---> │ │ | ||
+ | │ │ [ ] Game Input ---> │ │ | ||
+ | │ │ [ ] Buttons Input ---> │ │ | ||
+ | │ │ [ ] Blinkenlights - MicroControllerUnitFrame ---> │ │ | ||
+ | │ │ --- Usart Configuration (0/1) │ │ | ||
+ | │ │ [ ] Modbus Support │ │ | ||
+ | │ │ [*] DMX Support ---> │ │ | ||
+ | │ ┌──────────────────────────────────────────────────────────────────────────┐ │ | ||
+ | │ │ (512) DMX Max Chan │ │ | ||
+ | │ └──────────────────────────────────────────────────────────────────────────┘ │ | ||
+ | │ │ (0) DMX usart select │ │ | ||
+ | └──────────────────────────────────────────────────────────────────────────┘ | ||
+ | |||
+ | * DMX Max Chan: Hier ist die Anzahl der DMX Kanäle zu wählen. Die maximale Anzahl von 512 Kanälen sollten nur bei Bedarf eingestellt werden. | ||
+ | |||
+ | * DMX usart select: Für denn Fall das der AVR mehrere USART's besitzt, kann hier eine dieser gewählt werden. Ansonsten steht die usart: 0 zur Verfügung. | ||
== Anschluss == | == Anschluss == | ||
+ | DMX ist physikalisch ein RS485 Bus. Die USART des AVRs wird daher an einen Transreceiver, wie zB. dem MAX485 oder SN75176 angeschlossen. | ||
+ | === Etherrape === | ||
+ | Beim Etherrape gestalltet sich dies recht einfach, da schon alles vorbereitet ist. Einfach den IC6 bestücken, JP2 nicht und J3 setzten. | ||
+ | |||
+ | D+ und D- liegen dann an der Pin leiste: RS485 an, wobei A D+ und B D- sind. | ||
+ | |||
+ | Massepunkte hat man ja beim Etherrape reichlich, da sucht man sich dann einen freien aus. | ||
+ | |||
+ | === Net-IO === | ||
+ | [http://www.dmxcontrol.de/wiki/Art-Net-Node_für_25_Euro#Hardware Hier] ist das ganz gut beschrieben... | ||
+ | === Andere ... === | ||
+ | Der Anschluss eines MAX485 an einen AVR gestaltet sich i.d.R. recht einfach (siehe Datasheet des ICs). | ||
+ | |||
+ | ''hier bist Du gefordert, zB für das [[AVR_Webmodul]] ...'' | ||
+ | |||
+ | === Pinning === | ||
+ | Mit Hilfe des Skripts: | ||
+ | ./scripts/add-hardware-brocken [Dateiname] | ||
+ | eine passende Konfiguration erstellen. | ||
+ | |||
+ | Beispiel fürs Etherrape: | ||
+ | |||
+ | ifdef(`conf_DMX', `dnl | ||
+ | /* port config for dmx */ | ||
+ | pin(DMX_RS485EN_PIN, PC2) | ||
+ | pin(DMX_RS485TX_PIN, PD1) | ||
+ | ') | ||
+ | |||
+ | Beispiel fürs Netio (Aufbau nach Anleitung aus dem Wiki von dmxcontrol, s.o.): | ||
+ | ifdef(`conf_DMX', `dnl | ||
+ | /* port config for dmx */ | ||
+ | pin(DMX_RS485EN, PD3, OUTPUT) | ||
+ | pin(DMX_RS485TX, PD1, OUTPUT) | ||
+ | ') | ||
+ | |||
+ | Zu beachten ist, das der 'Enable-Pin' des Transreceivers auch auf den AVR gelegt wird! | ||
+ | |||
+ | === Hinweis === | ||
+ | Bei größeren Projekten bei denen zB. Erdschleifen potentiell auftreten können, sollte über den Einsatz von Optokopplern nachgedacht werden. | ||
+ | |||
+ | == [[EthersexLightingArchitecture#Git_branch | ECMD]] == | ||
+ | |||
+ | == Artnet == | ||
+ | |||
+ | Artnet ist ein DMX-over-IP Protokoll. Es können maximal 512 Channels pro Universe versendet werden. Es ist darauf zu achten, dass das ethersex Gerät im Output Universe 0 zu finden ist (Daten, die angezeigt werden sollen oder auf den DMX Output (RS-485) geleitet werden sollen). | ||
+ | |||
+ | [http://qlc.sourceforge.net/ QLC] z.B. fängt aber erst beim universe 1 zu zählen an. (kann in unter protocols->artnet->output universe geändert werden) | ||
+ | |||
+ | '''Wichtig!''' NET_MAX_FRAME_LENGTH muss >= 572 bytes sein da sonst das ArtDMX (DMX Daten) Paket nicht ganz im uip stack ankommt. (einzustellen in menuconfig - Expertenmodus: an) | ||
− | |||
== Ausblick == | == Ausblick == | ||
+ | DMX soll noch erweitert werden, zB. um: | ||
+ | === [[Stella_Light| Stella]] === | ||
+ | Evtl. könnte man das [[Ecmd speed protocol]] und [[Stella_Light#Programme|Stella Control]] auch für DMX nutzen... | ||
+ | |||
+ | === [[Blinkenlights_MCUF|MCUF]] === | ||
+ | Das [http://wiki.blinkenarea.org/index.php/Protokolle '''m'''icro'''c'''ontroller '''u'''nit '''f'''rame protocol] bietet sich evtl. auch an. | ||
+ | ---- | ||
+ | |||
+ | = Links = | ||
+ | == DMX == | ||
+ | [http://de.wikipedia.org/wiki/DMX_(Lichttechnik) Wikipedia-de] | ||
+ | |||
+ | [http://www.opendmx.net/index.php/DMX_4_Linux OpenDMX] | ||
+ | |||
+ | [http://www.hoelscher-hi.de/hendrik/light/profile.htm Hennes Sites] | ||
+ | |||
+ | [http://llg.cubic.org/dmx4linux/avrdmx.html DMX4Linux 2.6 - A DMX device driver package for Linux] | ||
+ | |||
+ | [http://www.plischka.at/DMX-512.html MiniDMX ] | ||
+ | |||
+ | [http://www.dzionsko.de/elektronic/minidmx/minidmx.htm MiniDMX ] | ||
+ | |||
+ | [http://lutz.in.hagen.de/cms/index.php/projekte/udmx-mod/udmx-art-net/menu-id-43.html uDMX Art-Net_ALT] | ||
+ | |||
+ | [http://www.mikrocontroller.com/de/dmx512.php Grundlagen: DMX] | ||
+ | |||
+ | [http://www.ulrichradig.de/home/index.php/avr/rs232-dmx RS232 -> DMX] | ||
+ | |||
+ | [http://www.soundlight.de/techtips/dmx512/dmx512.htm DMX-512 - was ist das?] | ||
+ | |||
+ | == Bezugsquellen == | ||
+ | Also das ist keine Werbung! Es wurde darum gebeten, einige DMX fähigen Lampen zu nennen: | ||
+ | |||
+ | http://www.musicstore.de/de_DE/EUR/lightmaXX-LED-RGB-Color-Bar-Short-DMX-Wall-Washer/art-LIG0004983-000 | ||
+ | |||
+ | http://www.conrad.de/goto.php?artikel=591317 | ||
+ | |||
+ | == Beispielbilder == | ||
+ | <gallery> | ||
+ | Bild:Artnet-example1.jpg | ||
+ | Bild:Artnet-example2.jpg | ||
+ | Bild:Artnet-example3.jpg | ||
+ | Bild:DMXexample1.jpg | ||
+ | Bild:Artnet_dmxconsole.png | ||
+ | </gallery> | ||
+ | |||
+ | [[Category:Ethersex]] | ||
+ | [[Category:StepByStep]] | ||
+ | [[Category:DMX]] |
Aktuelle Version vom 10. August 2011, 01:54 Uhr
Inhaltsverzeichnis
DMX / DMX512 / DMX-512/1990
Digital Multiplex ist die Abkürzung für das Protokoll, welches in der Veranstaltungs- und Bühnentechnik Verwendung findet. Es ermöglicht die Ansteuerung von diversen Lampen und Effektstrahlern.
Konfiguration
In menuconfig:
┌──────────────────────────────────────────────────────────────────────────┐ │ │ Load a Default Configuration ---> │ │ │ │ General Setup ---> │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ [*] Prompt for experimental code │ │ │ │ ... │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ Network protocols ---> │ │ │ │ I/O support ---> │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ (Full-featured) I/O abstraction model (Port I/O) │ │ │ │ [ ] HC595 output expansion │ │ │ │ [ ] HC165 input expansion (EXPERIMENTAL) ---> │ │ │ │ [ ] PS/2 keyboard │ │ │ │ [-] PS/2: Use German layout │ │ │ │ [ ] HD44780 module driver (Character-LCD) ---> │ │ │ │ [ ] S1D15G10 module driver (130x130-R/G/B-LCD) │ │ │ │ [ ] TTY Layer (EXPERIMENTAL) ---> │ │ │ │ [ ] ADC input │ │ │ │ [-] KTY Calculation Support │ │ │ │ [ ] Onewire support │ │ │ │ [-] Onewire device detection support │ │ │ │ [-] Onewire DS2502 (eeprom) support │ │ │ │ [ ] Named and logic state I/O ---> │ │ │ │ [ ] I2C Master Support (EXPERIMENTAL) ---> │ │ │ │ [ ] Camera support (EXPERIMENTAL) ---> │ │ │ │ [ ] FS20 RF-control ---> │ │ │ │ [ ] Send RC5 IR-codes │ │ │ │ [ ] PWM Generator ---> │ │ │ │ [ ] Game Input ---> │ │ │ │ [ ] Buttons Input ---> │ │ │ │ [ ] Blinkenlights - MicroControllerUnitFrame ---> │ │ │ │ --- Usart Configuration (0/1) │ │ │ │ [ ] Modbus Support │ │ │ │ [*] DMX Support ---> │ │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ (512) DMX Max Chan │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ (0) DMX usart select │ │ └──────────────────────────────────────────────────────────────────────────┘
- DMX Max Chan: Hier ist die Anzahl der DMX Kanäle zu wählen. Die maximale Anzahl von 512 Kanälen sollten nur bei Bedarf eingestellt werden.
- DMX usart select: Für denn Fall das der AVR mehrere USART's besitzt, kann hier eine dieser gewählt werden. Ansonsten steht die usart: 0 zur Verfügung.
Anschluss
DMX ist physikalisch ein RS485 Bus. Die USART des AVRs wird daher an einen Transreceiver, wie zB. dem MAX485 oder SN75176 angeschlossen.
Etherrape
Beim Etherrape gestalltet sich dies recht einfach, da schon alles vorbereitet ist. Einfach den IC6 bestücken, JP2 nicht und J3 setzten.
D+ und D- liegen dann an der Pin leiste: RS485 an, wobei A D+ und B D- sind.
Massepunkte hat man ja beim Etherrape reichlich, da sucht man sich dann einen freien aus.
Net-IO
Hier ist das ganz gut beschrieben...
Andere ...
Der Anschluss eines MAX485 an einen AVR gestaltet sich i.d.R. recht einfach (siehe Datasheet des ICs).
hier bist Du gefordert, zB für das AVR_Webmodul ...
Pinning
Mit Hilfe des Skripts:
./scripts/add-hardware-brocken [Dateiname]
eine passende Konfiguration erstellen.
Beispiel fürs Etherrape:
ifdef(`conf_DMX', `dnl /* port config for dmx */ pin(DMX_RS485EN_PIN, PC2) pin(DMX_RS485TX_PIN, PD1) ')
Beispiel fürs Netio (Aufbau nach Anleitung aus dem Wiki von dmxcontrol, s.o.):
ifdef(`conf_DMX', `dnl /* port config for dmx */ pin(DMX_RS485EN, PD3, OUTPUT) pin(DMX_RS485TX, PD1, OUTPUT) ')
Zu beachten ist, das der 'Enable-Pin' des Transreceivers auch auf den AVR gelegt wird!
Hinweis
Bei größeren Projekten bei denen zB. Erdschleifen potentiell auftreten können, sollte über den Einsatz von Optokopplern nachgedacht werden.
ECMD
Artnet
Artnet ist ein DMX-over-IP Protokoll. Es können maximal 512 Channels pro Universe versendet werden. Es ist darauf zu achten, dass das ethersex Gerät im Output Universe 0 zu finden ist (Daten, die angezeigt werden sollen oder auf den DMX Output (RS-485) geleitet werden sollen).
QLC z.B. fängt aber erst beim universe 1 zu zählen an. (kann in unter protocols->artnet->output universe geändert werden)
Wichtig! NET_MAX_FRAME_LENGTH muss >= 572 bytes sein da sonst das ArtDMX (DMX Daten) Paket nicht ganz im uip stack ankommt. (einzustellen in menuconfig - Expertenmodus: an)
Ausblick
DMX soll noch erweitert werden, zB. um:
Stella
Evtl. könnte man das Ecmd speed protocol und Stella Control auch für DMX nutzen...
MCUF
Das microcontroller unit frame protocol bietet sich evtl. auch an.
Links
DMX
DMX4Linux 2.6 - A DMX device driver package for Linux
Bezugsquellen
Also das ist keine Werbung! Es wurde darum gebeten, einige DMX fähigen Lampen zu nennen:
http://www.conrad.de/goto.php?artikel=591317