Dudas DMX (RS485): Optoacoplador, buffer, in/out...

Como dice SrDonGato la conexión es en paralelo, aunque los receptores DMX (cabezas, focos, móviles...) traen un conector de entrada y otro de salida y externamente casi da la sensación de ser en serie. De todas formas, el esquema que has puesto no usa los conectores de salida (link) de los aparatos y en cambio usa un splitter externo, algo inusual para pocos focos (a no ser que haya muucha distancia entre ellos). Ibnu AlHaizam, en el caso que he planteado, el Arduino haría las funciones de mesa de control, aunque con el mismo hardware, podrías usarlo para conectar otros dispositivos (también puedes usar focos con DMX integrado o un dimmer para conectar los que no tengan DMX).

En cuanto a la cuestión que planteé, voy a concretar unas cuantas cosas:

  • Por si alguien no vió el enlace de la guía que quiero seguir, mi esquema de partida es el siguiente:

  • En cuanto a la cuestión de protección, seguramente use un par de 4N25 o 4N28 para la protección (o un integrado que lleve 4 de estos), ya que como comentaste SrDonGato, no hay problema en la cuestión de niveles. Según tu comentario, ¿sería correcto usar GND como LOW (emisor), +5V como HIGH (colector) y 3.3V como referencia (base?)?

  • Para tener comunicación bidireccional half-duplex (con un mismo MAX485) CON PROTECCIÓN, sería necesario colocar dos optoacopladores por sentido (cables HOT y COLD, pines 2 y 3 del XLR), o sea 4 optoacopladores, 2 para el envio con los niveles anteriores (RS485) y 2 para la recepción configurados con niveles TTL, ¿correcto?

  • En cuanto al código, en principio si no quisieramos buffer creo haber entendido que no hace falta cargar nada al Arduino, solo con conectar a los pines digitales 0 (RX) y 1 (TX), que conectan directamente con el chip FTDI que transforma dichas señales USB. Pero la idea es almacenar un pequeño buffer (suficiente con un frame de 512 canales completo). Es decir, 8bits de canal + 1bit de inicio + 2bits de final X 512 canales = 702 bytes. Por lo que he visto, el mejor código para manejar DMX desde Arduino (sin PC) está en este post, aunque me queda un poco de lectura para poder entender al 100% su funcionamiento :S.

En fín, mañana iré de compras y seguiré con la investigación. Gracias a los interesados (aunque de momento seamos pocos :P).

Salu2 a to2