DMX en Arduino con RS485

3

Estoy implementando DMX en Arduino. DMX utiliza el estándar RS485 para comunicarse.

En las especificaciones de RS485, se observa que hay una línea positiva, una línea negativa y una línea de tierra. Si la línea positiva está en un potencial más alto que la línea negativa, se da un 1. Viceversa para un 0. Ahora, aparentemente, el protocolo no mide la diferencia entre cada línea y el suelo, sino solo la diferencia de potencial entre la línea positiva y negativa (que debe ser de al menos 200 mV).

Esto me hace suponer que sería posible manejar fácilmente DMX directamente desde Arduino, poniendo una línea alta (5V) y una baja. Sin embargo, al consultar el sitio web de Arduino con información sobre las implementaciones de DMX, toda la información que puedo encontrar está usando un poco de protección sobre Arduino.

¿Es necesario usar un escudo o también funcionará una conexión directa? Actualmente, todavía no tengo ningún componente DMX, por lo que no puedo probarlo de inmediato.

    
pregunta jdepypere

1 respuesta

9

Chips de controlador y terminación de bus DMX

Al buscar en Internet puede ver varios chips que se utilizan para conducir una comunicación DMX. Todos están diseñados para convertir señales de nivel lógico (LOW & HIGH) a los niveles de señal diferencial EIA-485 en el cable de par trenzado.

Muy comunes son los chips de MAXIM que también uso para mi implementación. El que prefiero es el MAX485 o MAX481, que son idénticos a excepción del modo de apagado de baja potencia en MAX481 que no necesitamos en el escenario DMX. MAX481 y MAX485 de MAXIM

Otros chips que se usan con frecuencia son los transceptores de bus diferencial 75176b de Texas Instruments.

Un esquema típico que usa MAX481 para un controlador DMX es:

Aislamiento

Paraunaconfiguraciónsimple,esposibleconectarelchipDriverdirectamentealospinesArduino,perosinecesitaunsistemarobusto,especialmenteenunentornodeescenario,tendráqueagregarmáscomponenteselectrónicosparaevitardañoseléctricosporequiposdefectuososocircunstanciasaccidentales.

ElpotencialeléctricodelladoDMXdelaimplementacióndebeestaraisladodelprocesador.Hay2tiposdechipsqueimplementantodoloquenecesitas:

UnconvertidorCC/CCde5voltiosa5voltioscondesacoplamientogalvánico.Haysolucionescompletasdisponiblesenunsolocomponente,comoNME0505SCoAM1S-0505SZ,quesepuedenusarparagenerarunafuentedealimentaciónde5Vqueseaaisladagalvánicamentehasta1000V.Porlotanto,inclusosihayunaltovoltajeconectadoalbusDMX,existelaposibilidaddequenohayadañosoquehayapocodaño.OptoacopladorescompatiblesdealtavelocidadTTLEstoschipsutilizanunLEDyuntransistorsensiblealaluzparaaislarelbusDMXdelospinesdedatosArduino.HayoptoacopladorescompatiblesconTTLestándardisponiblescomoel6N137deMOTOROLA.

Hay3señalesdedatosdelarduinoquedebentraersedelladodelosarduinosalladodeDMX:transmitir,recibiryladireccióndelosdatos:

Fuente

Por lo tanto, necesita al menos un chip de controlador y para estar seguro es mejor que haga un aislamiento con algunos optoacopladores. Una solución mínima con solo:

  • 1x SN 75176

  • 1x 100 Ohm 1%

pero no hay aislamiento!

    
respondido por el kimliv

Lea otras preguntas en las etiquetas

Comentarios Recientes

o C-Switch o AnalogueISP12 y miden la frecuencia de reloj de SBK2 baja todo el tiempo. Además, cuando el módulo METH4 está conectado al chip de dirección del reloj, parpadeará dos veces a una frecuencia portadora de RF media cuando el receptor solicite más señal. También se puede encontrar un problema similar en un receptor conectado al sistema de alta frecuencia LF: las interrupciones de RF siempre hacen que suenen las alarmas, pero debido al enlace no verificado, el dispositivo no sirve para nada ((Nota: iOS... Lees verder