Está en la página 1de 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/259235374

Controlador Digital Mediante el Protocolo DMX-512

Conference Paper · September 2013

CITATIONS READS
2 13,432

6 authors, including:

Francisco Rafael Trejo-Macotela Abel Garcia-Barrientos


Universidad Politécnica de Pachuca Universidad Autónoma de San Luis Potosí
25 PUBLICATIONS   27 CITATIONS    101 PUBLICATIONS   180 CITATIONS   

SEE PROFILE SEE PROFILE

Luis Abraham Sánchez Gaspariano Carlos Muñiz-Montero


Benemérita Universidad Autónoma de Puebla Universidad Politécnica de Puebla
66 PUBLICATIONS   97 CITATIONS    76 PUBLICATIONS   281 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Implementation of Fractional Order Systems View project

Artificial Intelligence in Education View project

All content following this page was uploaded by Luis Abraham Sánchez Gaspariano on 04 June 2014.

The user has requested enhancement of the downloaded file.


Controlador Digital Mediante el Protocolo DMX-512

F. R. Trejo-Macotela1, A. García-Barrientos2, A. Bautista-Flores1,


M. N. Gutiérrez-Mendoza1, L. A. Sánchez-Gaspariano3, C. Muñiz-Montero3
1
Ingeniería en Telemática/Laboratorio de Robótica y Electrónica Avanzada, Universidad Politécnica de Pachuca. Carr.
Pachuca-Cd. Sahagún km 20, Rancho Luna, Ex-Hacienda de Santa Bárbara. Municipio de Zempoala, Hidalgo. CP. 42830.
Tel. 7715477510, ext. 2351, e-mail: trejo_macotela@upp.edu.mx
2
Ingeniería en Mecatrónica/Laboratorio de Robótica y Electrónica Avanzada, Universidad Politécnica de Pachuca. Carr.
Pachuca-Cd. Sahagún km 20, Rancho Luna, Ex-Hacienda de Santa Bárbara. Municipio de Zempoala, Hidalgo. CP. 42830.
Tel. 7715477510, ext. 2442, e-mail: abel@upp.edu.mx
3
Ingeniería en Electrónica y Telecomunicaciones, Universidad Politécnica de Puebla. Tercer carril del Ejido “Serrano”
S/N, San Mateo Cuanalá, Juan C. Bonilla, Puebla, México. CP. 72640.

Resumen (ÁREA TEMÁTICA: TIF)


En el presente trabajo se muestra el desarrollo de un controlador digital bajo el protocolo de comunicación DMX512 para
el control de sistemas de iluminación, en este caso una luminaria PAR64 con tecnología LED con seis canales de control.
La parte medular del controlador digital está implementada mediante la tarjeta Arduino UNO Rev. 3, además de un circuito
integrado MAX 485 como interfaz de comunicación serial [1]. Se utilizan las terminales analógicas de entrada de la tarjeta
Arduino para seleccionar el valor de entrada de cada canal de control. La velocidad de respuesta del controlador es
prácticamente instantánea, considerando que un paquete de tamaño máximo (512 canales) toma aproximadamente 23 ms en
su envío, correspondiente a un máximo de tasa de refresqueo de 44 Hz aproximadamente. La programación se realizó bajo
el lenguaje propio de Arduino [2] con el apoyo de la librería DMX de 4 universos versión 0.3 [3]. Para interconectar el
controlador con la luminaria se utilizó un cable estándar XLR de 3 pines.

Palabras clave: Arduino, DMX512, Microcontrolador.

Abstract (TIF)

This paper shows the development of a digital controller under the DMX512 communication protocol for controlling
lighting systems, in this case a light PAR64 LED technology with six channels of control. The core of the digital controller
is implemented using Arduino UNO board Rev. 3 and a serial communication interface (the integrated circuit MAX 485)
[1]. In order to select the input value of each control DMX channels are used the analog terminals of the Arduino board.
The response speed of the controller is nearly instantaneous, whereas a packet of maximum size (512 channels) takes
approximately 23 ms in shipment, corresponding to a maximum refresh rate of 44 Hz approximately. The program was
performed under the language of Arduino [2] with the support of the DMX library for four universes 0.3 version [3]. For
interconnect the light with the controller was used a standard cable 3-pin XLR.

Key words: Arduino, DMX512, Microcontroller.

INTRODUCCIÓN costosos. Los problemas eran frecuentes y la


incompatibilidad estaba asegurada. Cada fabricante
Antes del protocolo DMX512 existía una proliferación
utilizaba diferentes conectores e identificaciones de los
de sistemas y protocolos por parte de diversos
pines.
fabricantes, el más difundido era el control analógico
lineal, sistema con el cual cada uno de los dimmers Los voltajes y las corrientes de control eran diversos y
(regulador de intensidad) necesitaba de un control con un frecuentemente con polaridades diferentes. Con la
conductor proveniente de la consola. Cuanto más llegada de las consolas con memoria, basadas en
aumentaba el número de canales, también lo hacían el microprocesadores, la conexión entre ellas y el dimmer
número de contactos y de conectores. Los cables y los (raramente analógicos) ya era conveniente y preferible
conectores multipolares eran pesados, obstaculizantes y para distribuir las señales a través de conectores

281
multipolares. Algunos fabricantes de vanguardia tiene un conector de salida, se conecta mediante un cable
iniciaron el empleo de sistemas de transmisión más DMX512 al conector del primer esclavo. Un segundo
eficientes, como multiplexión analógica o digital. Esto cable une la salida “OUT” o “THRU” del primer esclavo
creó más confusión porque se crearon nuevas a la entrada “IN” del esclavo siguiente en la cadena, y así
incompatibilidades además de las ya existentes. Se sucesivamente. El último esclavo en la cadena de
trataban de protocolos propietarios, incompatibles entre margarita debe tener un terminador conectado a ella [5].
ellos, y ninguna de las casas productoras podía soñar con Un terminador es un conector macho independiente con
utilizar productos de la competencia para no favorecerla. un resistor de 120 Ω conectado con el cable de
DMX512 (Digital MultipleX, 512 canales) es un impedancia característica (conectado a través del par de
protocolo electrónico digital de comunicación serial señales de datos primarios). Los sistemas con algunos
utilizado principalmente en aplicaciones de luminotecnia cuantos dispositivos y cables de series cortas, pueden
para el control de diferentes dispositivos de iluminación trabajar sin un terminador, aunque la norma requiere su
de espectáculos (cabezas móviles, sistemas de uso. Algunos dispositivos DMX incorporan diversas
iluminación basados en LEDs, proyectores, dispositivos maneras de configurar el terminador, manual, con un
de efectos especiales, máquinas de humo, entre otros) selector mecánico o por software, o de detección
permitiendo la comunicación entre los equipos de control automática de ausencia de cable conectado [5].
de luces y las propias fuentes de luz. Cada red de DMX se denomina "Universo DMX".
Sistemas de gran tamaño (consolas de operador) pueden
tener la capacidad de controlar múltiples universos, con
DESARROLLO un conector de salida para cada universo.

El protocolo DMX512 se basa en la utilización de


"canales" para transmitir órdenes de control a los Conectores y cableado
aparatos que lo soporten. DMX512 tiene un límite de 512 Los conectores estándar del protocolo DMX es el XLR
canales por universo, y cada canal se puede regular desde de cinco pines (como se muestra en la Figura 1). El
el valor 0 hasta 255. Una red DMX512 utiliza una
nombre proviene del fabricante original (Cannon X
topología de caída de multi-bus con nodos enlazados en
connector, with a Latch and Rubber guard, connector
lo que comúnmente se llama una cadena tipo margarita.
Cannon X, con latch y anillo de guarda). Solamente tres
Una red consta de un solo controlador, lo que el
controlador DMX512 es el único maestro de la red y uno de estos cinco pines han sido estandarizados debido a su
o más dispositivos esclavos.La implementación del bajo costo y a la fabricación por diversas compañías,
hardware del sistema está basado principalmente en una dando origen al XLR de 3 pines (Figura 2). Los dos pines
tarjeta Arduino UNO rev. 3 como elemento controlador restantes se consideran para una utilización futura que
DMX y un circuito integrado MAX 485 como interfaz de permita a los dispositivos una comunicación de retorno
comunicación serial [1,4]. Se contó con una luminaria hacia el controlador con cierta información (tal como
PAR64 de LEDs como elemento a controlar. El horas de operación de la lámpara, temperatura de
microcontrolador montado en la tarjeta Arduino se operación, etc.) [6].
programa mediante el lenguaje de programación propio
de Arduino (basado en Wiring) muy similar al lenguaje C
y el entorno de desarrollo Arduino (basado en
Processing), toda esta plataforma es de código abierto
(open source) [2].

Topología de red
Jack (Hembra) Plug (Macho)
Una red DMX512 utiliza una topología de caída de
multi-bus con nodos enlazados en lo que comúnmente se Figura 1. Conector XLR de 5 pines [6].
llama una cadena tipo margarita. Una red consta de un
solo controlador, lo que DMX512 es el único dueño de la
red y uno o más dispositivos esclavos. Por ejemplo, una
consola de iluminación se emplea a menudo como el
controlador de una red de dispositivos esclavos como
dimmers, máquinas de humo y luces móviles
inteligentes.
Cada dispositivo esclavo tiene un DMX512 "IN" y, en la Jack (Hembra) Plug (Macho)
mayoría de los casos, un DMX512 "OUT", conector a
Figura 2. Conector XLR de 3 pines [6].
veces marcado como "THRU". El controlador, que sólo

282
En la Tabla 1 se muestra la función de cada uno de los Direccionamiento y codificación de los datos
pines utilizados en el protocolo DMX, tanto para el caso
de conectores de 3 o 5 pines. La mayoría de los datos se envían con el Código de
Inicio predeterminado nulo de 00h (Citado de la norma:
8.5.1 Código de inicio de NULL).
Tabla 1. Función de cada pin de los conectores XRL
Un código de inicio NULL identifica ranuras de datos
Pin Cable Señal posteriores como un bloque de un tipo secuencial de 8-bit
1 Encapsulado Tierra (0V) de información.
2 Conductor interno (negro Datos ̶ Los paquetes identificados por un código de inicio
3 Conductor interno (blanco) Datos + NULL son los paquetes enviados por defecto en las redes
de DMX512. Las versiones anteriores de esta norma
4 Conductor interno (verde) Datos (extra) ̶
suponen que sólo un dimmer de datos de la clase sería
5 Conductor interno (rojo) Datos (extra) +
enviado a través de paquetes NULL como código de
inicio. En la práctica los paquetes NULL de código de
inicio han sido utilizados por una amplia variedad de
El estándar DMX512 requiere cable tipo par trenzado dispositivos, esta versión reconoce este hecho.
con blindaje y recubrimiento (cable coaxial) de baja Cada paquete de inicio de código NULL no contiene
capacitancia (Figura 3) diseñado para el protocolo RS- ningún dato formal o estructura de direcciones, como se
485. Esta configuración de cable asegura que cualquier muestra en la Figura 5. El dispositivo debe ser capaz de
interferencia afecte en ambas señales equivalentemente identificar la posición de los datos dentro del paquete.
(configuración diferencial). El blindaje ayuda a Los “dimmer packs” (paquetes de variadores de
minimizar las interferencias que pudiesen sufrir las intensidad, 0-255) se utilizan para determinar los niveles
señales que se transmiten. Existen diversas tipos de de sus reguladores. Normalmente, un amortiguador tiene
cableado en el mercado, sin embargo las características una dirección de partida que representa el menor número
principales a considerar son: dimmer en ese paquete. A modo de ejemplo, por dos
- Impedancia (110-120Ω). paquetes de seis dimmers cada uno, el primer paquete se
- Capacitancia (< 25pF conductor-conductor, < 40pF iniciaría en la dirección 1 y el segundo paquete en la
conductor-recubrimiento). dirección 7. Cada ranura en el paquete de DMX512
- Atenuación. corresponde a un regulador de intensidad [7].
- Número de pares conductores (mínimo un par).
- Número de trenzas por pie. Paquete de datos DMX
- Diámetro del material conductor. 88µs 8µs 44µs 44µs 44µs 44µs 44µs
- Calibre del conductor (AWG, American Wire Gauge).
Canal 1 Canal 2 Canal 3 Canal 512
- Máxima temperatura y corriente. Espacio MAB Inicio
0 - 255 0 - 255 0 - 255
...
0 - 255
- Material interno y externo del encapsulado.
- Entre otras. Datos de los canales

Figura 5. Paquete de datos DMX.

4µS 4µS 4µS 4µS 4µS 4µS 4µS 4µS 4µS 4µS 4µS

Cubierta Bit de LSB MSB Stop Stop


b1 b2 b3 b4 b5 b6
Recubrimiento interna inicio b0 b7 bit 1 bit 2

Par 1 Figura 6. Paquete de datos DMX por canal.

Drenador
Implementación
Par 2
Para la construcción del controlador digital DMX-512 se
utilizaron los siguientes dispositivos:
Blindaje
- Tarjeta Arduino UNO Rev. 3.
Figura 4. Configuración del cable para DMX [4]. - 6 Potenciómetros de 10 KΩ.
- 12 Push-buttons.
- CI MAX 485.
- 1 Resistencia de 10 Ω.
- 1 Conector Cannon XLR.

283
3V3 5V Vin

6 potenciómetros RST Alimentación D13

Valores variables para salida DMX AREF D12

D11

R6 R5 R4 R3 R2 R1 D10

Entradas/Salidas Digitales
10K 10K 10K 10K 10K 10K
Arduino D9 12 push-buttons
UNO D8 para valores on-off
D7

D6

A0 D5

Entradas Analógicas
Salida DMX a
A1 D4
conector XLR
A2 D3
2 3 1
A3 D2

A4 D1
Tx
A5 D0
Rx
GND

R7
1 8 10

2 MAX485 7

3 6

4 5

Figura 7. Diagrama circuital del sistema controlador digital para el protocolo DMX512.

En el esquemático implementado que se muestra en la En la Figura 8 se muestra el diagrama de flujo


Figura 7, se dispone de seis canales con valores desarrollado en este proyecto. Se muestra la
variables, proporcionados por seis potenciómetros configuración de cada uno de los canales DMX y la
conectados en las entradas analógicas de la tarjeta lectura de las entradas analógicas generadas por cada
Arduino. potenciómetro. Para el desarrollo del programa en
Los valores de diez bits son reducidos a ocho bits (0-255 Arduino se utilizaron las librerías DMX de 4 universos
que son los que utiliza el protocolo DMX), y doce versión 0.3 (lib_dmx.h) [3].
canales con valores on-off (todo-nada) manejados con
doce pulsadores conectados a las entradas digitales de la Tabla 1. Distribución de canales DMX512 de la luminaria LED
tarjeta. PAR64
Las entradas digitales utilizan las resistencias de pull-up Canal DMX Valor Función
internas de la tarjeta Arduino, si el botón está pulsado, el 0 Apagado color ROJO
CANAL 1
valor de la entrada es “0” lógico, y si no está pulsado el 1 - 255 Cambio gradual de intensidad luminosa

valor de la entrada es “1” lógico. 0 Apagado color VERDE


CANAL 2
1 - 255 Cambio gradual de intensidad luminosa
0 Apagado color AZUL
CANAL 3
Resultados 1 - 255 Cambio gradual de intensidad luminosa
CANAL 4 0 - 255 Luz ajustable
El sistema desarrollado se ha puesto en marcha para
CANAL 5 0 - 255 Velocidad
controlar una luminaria PAR64 de LEDs de 6 canales (1. 0-2 Activación de CANAL 1 – CANAL 4
Color rojo. 2. Color verde. 3. Color azul. 4. Ajuste de 3 - 49 Estrobo
intensidad de luz. 5. Velocidad. 6. Programas especiales), 50 - 100 Programas de variación de color
en la Tabla 2 se muestra la distribución de canales de la CANAL 6 101 - 150 Programas de cambio gradual
luminaria empleada. 151 - 200 Programas de salto
Se utilizan las terminales analógicas de entrada de la 201 - 250 Programas PWM
tarjeta Arduino para seleccionar el valor de cada canal de 250 - 255 Control de apertura de sonido
control. La velocidad de respuesta del controlador es d001 d512 Modo de 3 CANALES
prácticamente instantánea, considerando que un paquete d.001 d.512 Modo de 6 CANALES
de tamaño máximo (512 canales) toma aproximadamente
23 ms en su envío, correspondiente a un máximo de tasa En la Figura 9 se muestran una imagen del circuito físico
de refresqueo de 44 Hz aproximadamente. desarrollado en el presente proyecto. Algunos resultados
en el control de la luminaria PAR64 son mostrados en la
Figura 10 para algunos canales.

284
INICIO CONT.

i=2; i<=13, i++


¿Botón 6 pulsado? Si Leer bits de la entrada
analógica 6 (0-255)

Entradas = i No
ActivarResistencias = 1
Mandar cero bits al
canal 6
No ¿i=13?
Escala de valores de 10
Si
bits a 8 bits
Dirección DMX=1
Número de canales=6
Transmisión=Universo 1
No
¿Valor > 1023?

No Mandar cero bits al Si


¿Botón 1 pulsado?
canal 1
Valor = 1023
Si Valor >> 2

Leer bits de la entrada


analógica 1 (0-255)
FIN

No Mandar cero bits al


¿Botón 2 pulsado?
canal 2 Figura 8. Diagrama de flujo del programa desarrollado en
Arduino.
Si

Leer bits de la entrada


analógica 2 (0-255)

No Mandar cero bits al


¿Botón 3 pulsado?
canal 3

Si

Leer bits de la entrada


analógica 3 (0-255)

No Mandar cero bits al


¿Botón 4 pulsado?
canal 4

Si

Leer bits de la entrada


analógica 4 (0-255)

Si Leer bits de la entrada


¿Botón 5 pulsado?
analógica 5 (0-255)

No

Mandar cero bits al


canal 5
Figura 9. Fotografía del sistema implementado.

CONT.

285
[5] Phillips. “Introduction to DMX”. BU Controls 2008.

[6] Elation Professional. “DMX 101: A DMX 512 Handbook”. A


Division of the American DJ Group of Companies. May 2008.
www.elationlighting.com
[7] http://es.scribd.com/doc/86135601/DMX
[8] García Diego. “DMX – Luminotecnia”. Colegio S.I. de Loyola
CaCo García.
[9] A. E. Delgado, José Mira y S. Dormido Canto, “Teoría de
electrónica digital”, 2ª Edición, Editorial Sanz y Torres SL,
2001.
[10] Dogan Ibrahim, “Microcontroller Based Applied Digital
Control”, Editorial John Wiley, 2006.

Figura 10. Fotografías de resultados del control de la luminaria


PAR64 por DMX.

CONCLUSIÓN
El desarrollo de este proyecto da la pauta para el diseño
de controladores DMX con mayor robustez, controlando
múltiples elementos (luminarias). El cableado
comúnmente utilizado para las interconexiones DMX es
el par trenzado, sin embargo se deja como trabajo futuro
la implementación de algún tipo de sistema de
comunicación inalámbrico para la interconexión de cada
dispositivo. En aplicaciones de luminotecnia, el control
mediante el protocolo DMX512 es una solución atractiva
en cuanto a eficiencia, velocidad de respuesta, robustez y
economía.

REFERENCIAS

[1] Hoja de datos. “MAX485, Low-Power, Slew-Rate-Limited RS-


485/RS-422 Transceivers”. Maxim Integrated Products 2003.
[2] Sitio web de Arduino: http://www.arduino.cc/
[3] Merino T. Deskontrol Electronics. Librerías DMX de 4
universos versión 0.3. http://www.deskontrol.net
[4] Domingo Peña J., Gámiz Caro J., Grau i Saldes A., Martínez
García H. “Comunicaciones en el entorno industrial”. Editorial
UOC. 2003.

286

View publication stats

También podría gustarte