DMX
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.
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
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: