DMX

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

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.

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ürs Net-IO...

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)
')

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

  • dmx set6chan erwartet 7 Zahlen: StartKanal Wert 1 ... Wert 6
  • dmx fade schaltet auf ein internes 'Fade Programm'. Dieses ist so eingestellt, das es für meine Lampen funktioniert ;-)

Ausblick

DMX soll noch erweitert werden, zB. um:

ArtNetNode

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

Wikipedia-de

OpenDMX

Hennes Sites

DMX4Linux 2.6 - A DMX device driver package for Linux

MiniDMX

MiniDMX

uDMX Art-Net_ALT

Grundlagen: DMX

RS232 -> DMX

DMX-512 - was ist das?

Bezugsquellen

Also das ist keine Werbung! Es wurde darum gebeten, einige DMX fähigen Lampen zu nennen:

[1]

[2]