Protocolo DMX (Parte 1: Funcionamiento)

DMX es la abreviación de Digital Multiplex, un protocolo universal utilizado por la mayoría de fabricantes de mesas de iluminación y proyectores robotizados o estáticos y es usado como medio de comunicación entre los equipos y los controladores.

El controlador (o master) DMX es el encargado de generar y enviar instrucciones a través de los cables DMX en forma de cadena de datos para que sea recibida por un decodificador DMX. Este decodificador, será es el encargado de traducir los datos recibidos en un lenguaje entendible por el equipo, lámpara, tira led, etc que se encuentre colocada.

Canales DMX

El protocolo DMX512 se basa en la utilización de canales («channels») para transmitir órdenes de control a los aparatos que lo soporten. El protocolo DMX512 tiene un límite de 512 canales por universo (DMX universe), y pueden manejarse varios universos con un único controlador.

Por cada uno de los universos viajan sin cesar cadenas de datos de 512 valores, un valor por cada canal. Son enviadas 40 veces por segundo a todos los dispositivos del sistema. A su vez, cada canal trabaja en valores de 8 bits, es decir, cada dato de la señal se puede regular desde el valor 0 hasta el valor 255 (valores DMX o DMX values).¿Pero cuántos canales necesito para controlar mi dispositivo de iluminación? Dependerá del tipo de
lámpara que queremos colocar:

Por ejemplo: para controlar un foco de luz sencillo mediante DMX, necesitaríamos un controlador o dimmer DMX. Como norma general sería necesario un único canal DMX para su control, ya que el único aspecto que desearíamos tener bajo control es la intensidad luminosa. Así pues, un valor DMX 0 del canal utilizado, significará que la intensidad de la luz estará en su más bajo nivel: apagado o al 0%, y el valor DMX 255 significará que la misma esté en su máximo nivel: encendido o al 100%.

Si lo que querríamos controlar mediante DMX es una tira led RGB, necesitaríamos un controlador DMX con 3 canales de salida, para que cada uno de los colores de la tira reciba su señal de intensidad luminosa. De nuevo, para cada uno de los canales y de forma independiente, el valor DMX 0 de cada canal, significará que la intensidad de la luz estará en su más bajo nivel: apagado o al 0%, y el valor DMX 255 significará que la misma esté en su máximo nivel: encendido o al 100%.

Direccionamiento DMX

El correcto direccionamiento de esta señal de datos permite manejar los aparatos DMX desde los controladores (masters) de modo que cuando se da la orden de encender la lámpara, cambiar de color, etc, el aparato es capaz de realizarlo adecuadamente.

La señal DMX enviada desde un controlador contiene comandos DMX, como dirección de destino y valor
DMX asignado a esa dirección. Es muy importante la configuración de la dirección DMX (DMX Address o Start Address) en cada aparato de destino DMX, ya que si no se indica correctamente, la señal no tiene forma de saber a dónde están siendo enviados estos comandos.Es decir, para que la información llegue a destino, es necesario configurar la dirección de cada uno de los aparatos, que debe ser acorde a la dirección de emisión del controlador. Esta señal DMX viaja a través de todos los dispositivos enlazados en el sistema y cada uno de ellos recoge únicamente la información que le corresponde: el valor DMX para sus canales.

En la imagen a continuación, se muestra el ejemplo más sencillo para dimear una línea de focos:
Cada foco únicamente necesitará utilizar un canal DMX. Tomará la información del valor relativa a su dirección, luciendo de forma independiente unos de otros, en concordancia a los datos recibidos. Si lo  que se desea es que dos (o más) focos reaccionen de la misma manera, puede hacerse de dos formas:

  • Asignar la misma dirección. (ej. Dirección 003).
  • Asignar diferentes direcciones, con valores DMX iguales. (ej. Dirección 001 y Dirección 002 ).

Uno de los sistemas más habituales para dar la dirección a los equipos DMX es mediante la utilización de

varios microinterruptores (dip switchs). Lo que estos interruptores hacen es indicar mediante combinación binaria, la dirección asignada al dispositivo.

Actualmente, en los equipos más profesionales o de última generación, este direccionamiento se puede
hacer mediante un display al que se le asigna el número directamente.

Uso y asignación de los canales para dispositivos más complejos

Vamos a ilustrarlo con un ejemplo de un dispositivo RGB:

Si tenemos 3 aparatos en nuestro enlace que utilizan cada uno 3 canales DMX, la dirección DMX del primer aparato puede ser configurada en 1 (1 al 3), la del segundo en 4 (4 al 6) y la del tercero en 7 (7 al 9).

Obviamente que ésta no es la única forma de configurar las direcciones DMX, ya que bien puede el segundo aparato configurarse en 21 (21 al 23) y el tercero en 31 (31 al 33). Lo que debe tenerse en cuenta es que las direcciones DMX de los aparatos nunca deben estar entrepuestas ya que esto originaría una respuesta inesperada de los mismos.

Otro ejemplo:

Vamos a ver un ejemplo de iluminación de unas tiras LED RGB mediante señal DMX:

  • Cambiando los valores DMX de cada dirección o canal, es posible crear colores en los dispositivos.
  • De la misma forma, luminarias con la misma dirección asignada, reaccionaran de la misma forma.

Facebooktwittermail

6 comentarios

  1. Según he leído, veo que la señal en este protocolo se debe enviar una 40 veces en un segundo. Mi pregunta es si esto debe ser así o se puede enviar los comandos con una frecuencia distinta?
    Es que estoy intentando hacer un controlador con un Arduino y me gustaría saber si puedo enviar los comandos a una frecuencia menor para optimizar el codigo.

    Quedo atento y gracias de antemano.

    1. Buenas tardes Jhilius,

      Perdona el retraso en la respuesta.

      La especificación del protocolo DMX establece que la velocidad de transmisión es de 250Kbit/s.
      Si se cambia esa velocidad, los dispositivos DMX conectados no van a entender la señal que les llega, ya que ellos esperan señales a 250Kbit/s, no a otra velocidad.
      Si la señal es más lenta cada 0 y 1 va a «ocupar» más espacio del que le corresponde y el receptor va a leer una señal distinta.

      Por ejemplo: si bajamos la velocidad a la mitad (125Kbit/s) y enviamos un 00101010111 el receptor va a entender 00001100110-01100111111, que no tiene nada que ver.
      Si la señal es más rápida cada 0 y 1 va a «ocupar» menos espacio del que le corresponde y el receptor no va a saber si lo que recibe es un 0 o un 1.

      Y si la señal es alrededor de 40Hz, concretamente 250000 bits en un segundo divididos por 512 canales multiplicados por 11 (11 bits por canal, no solo 8); entonces la operación matemática final se ve así: 250000 / (512 * 11) = alrededor de 44,38 Hz de frecuencia de actualización para todos los canales.

      Hay que tener en cuenta si que la MCU es capaz de lograr esa velocidad para los 512 canales simultáneamente.

      Un cordial saludo,
      Soporte técnico FULLWAT.

  2. Una Consulta, si yo tengo por ejemplo una luminaria deportiva (reflector) de alta potencia que trabaja con 4 drivers, cuantos canales necesitaría para poder controlar el encendido, pagado y dimerización del equipo.

    Un solo canal es suficiente para controlar esa luminarias que tiene 4 drivers?

    1. Buenos días Carlos,
      Si vuestra luminaria tiene 4 drivers, ¿puede ser que sean cuatro placas diferentes, cada una con su driver, que estén controlandose todas a la vez? Visualmente tendrías una sola luminaria pero internamente serían 4 diferentes.
      Si es así, deberíais poner la misma dirección DMX en cada decodificador para cada una de las placas (o poner uno solo que pueda controlar todo) y así conseguir que «todas las placas se comporten igual».
      Si la luminaria es monocolor, necesitarás un decodificador de 1 canal. Si es RGB, de 3 canales, si es RGB+Blanco de 4 canales, …

      Un cordial saludo,
      Soporte técnico FULLWAT

Responder

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *