Controlador de tira LED de 512 canales a través de RJ45 (comandos basados ​​en TCP o UDP)

¿Cómo harías lo siguiente?

Estoy buscando un atenuador de tira de LED de 512 canales (tamaño variable), controlado por TCP/IP o UDP.

Mi tablero de sueños tiene:

  • 512 canales individuales @ 12V
  • Cada canal capaz de hundirse hasta 0,3 A (idealmente 0,5 A máx.)
  • Corriente promedio general por canal 0.2A (80->100A total máximo es más que adecuado, no siempre usará los 512 canales completos)
  • Tiempo de desvanecimiento predeterminado entre estados de encendido/apagado, alrededor de 0,5 segundos
  • Conectores IDC o tapones de terminales de tornillo en grupos de ~16
  • Interfaz RJ45 cat5e para controlar a través de la red
  • La capacidad de enviar comandos simples a través de TCP o UDP en un formato como ".c,s"; (donde c es el número de canal y s es el estado para cambiar a 1/0, encendido/apagado)
  • Tiempos de latencia decentes (es decir, retraso imperceptible al encender todos los canales a la vez)
  • Formato industrial (es decir, montaje en riel DIN, aislado)

He intentado construir y comprar varios sistemas. Desarrollé una placa mbed/MM5451 con una gran cantidad de canales (144) pero una clasificación de corriente baja. Intenté trabajar con chips PCA9685, no pude entender la funcionalidad. Intenté registros de desplazamiento y arreglos darlington con arduino, aunque escalar esto fue problemático. He visto muchas soluciones de terceros, ninguna de las cuales es adecuada. La solución más exitosa hasta la fecha fue la conexión en cadena de placas DMX especializadas, con un arduino intermedio y una Raspberry pi como servidor de comando.

Después de un año de retoques, realmente espero que alguien pueda indicarme la dirección definitiva. Por lo general, termino comprometiéndome con el recuento actual frente al canal con soluciones inadecuadas para el mismo problema. Ciertamente no es un ingeniero eléctrico, agradecería una opinión experimentada.

¿Ideas?

¿Y DMX es adecuado teniendo en cuenta que no tengo necesidad de variar el brillo (además del desvanecimiento entre estados)?

Hay demasiadas cosas para responder aquí, tal vez dividirlas en preguntas individuales que puedan responderse.
Cierto, aunque pensé que una descripción general de todo el sistema podría ayudar a llamar mi atención sobre tableros existentes similares. Proceso de eliminación entonces. ¿DMX es solo un nivel de abstracción sin sentido aquí?
DMX sería una exageración si no necesita controlar el brillo y establecer animaciones de desvanecimiento. Introduciría más complejidad tanto en el hardware como en el software. Lo sé porque mi último proyecto fue una placa dimmer DMX. Tiene 15 canales (5x3rgb) @ 2A por canal. Funciona bien, pero hay que tener en cuenta todo tipo de consideraciones porque se conectó a un bus que también tiene muchos dispositivos conectados (otros paquetes de dimmers). Cualquiera de ellos podría enviar algo de alto voltaje a través del bus y liberar el humo mágico de tu tablero. De todos modos, he dicho demasiado. :)

Respuestas (1)

Necesitas:

  1. 512 canales de controlador PWM de alta corriente;
  2. Algunos medios para configurar alguno/todos los canales sobre la marcha;
  3. Algunos medios de comunicación con el dispositivo de configuración.

Si puede encontrar un controlador PWM multicanal de alta corriente con una interfaz de control en serie, sería un buen comienzo (porque podría eliminar los FPGA). En su defecto, para mí, la solución es:

  1. 512 canales de colector abierto/controlador de drenaje, ya sea como controladores individuales o como unidades multicanal.
  2. Un FPGA (o una colección de FPGA) con al menos 512 pines de salida para proporcionar su PWM y posiblemente una lógica de desvanecimiento.
  3. Una MCU razonablemente poderosa con una interfaz Ethernet y un bus de memoria externo que puede usar para mapear los registros de control PWM en el FPGA/s directamente en la memoria de la MCU para facilitar el acceso.

    • Un ARM Cortex-M3 o M4 con los periféricos necesarios sería ideal, por ejemplo, el STM32F407 en un paquete QFP144, además de un circuito de soporte que incluya un Ethernet PHY y magnetismo.
    • Una colección de Xilinx XC6SLX4 en el paquete QFP144 para FPGA; necesitaría al menos 8, además de circuitos de apoyo.
    • Los conductores costarán; sus requisitos de corriente y voltaje no son triviales, por lo que pagará por la nariz. Tenga en cuenta también cuánto calor generarán esos controladores; el enfriamiento no será opcional.
    • Por último, pero no menos importante, la fuente de alimentación. Esto es lo que realmente dolerá: 512 canales de hasta 500 mA cada uno con 256 amperios a 12 V. Eso es más de 3kW de potencia. Si intenta reducir las especificaciones de la fuente de alimentación (a 512*0,2 A, es decir, 1,2 kW), tarde o temprano le fallará, así que no lo haga.

En resumen, este es un proyecto de diseño considerable que, particularmente como único, costará bastante dinero (al menos $ 750 en partes, excluyendo la fuente de alimentación y las placas de circuito). También tendrías que programarlo para que haga lo que quieras.

Gracias. Como no usaré FPGA, la pregunta del millón es qué controladores entonces. Controlador PWM de alta corriente multicanal con serial/I2C. Actualmente estoy revisando mbed (LPC1768), por lo que cubre el ARM M3. Tengo TCP/IP funcionando anoche, cambiaré a UDP más tarde para velocidades más altas. No te preocupes por los costos. La fuente de alimentación tampoco es una preocupación real: un proyecto típico que usa la placa solo ocupará 150-> 300 canales, y me aseguraré de que haya 2 fuentes de alimentación de 100 A para cada placa. Nunca me he encontrado con una situación que requiriera más de 80 amperios de iluminación.
TLC5946 solo puede absorber 40 mA por canal, así que eso es todo. MM5451 -> 25mA máx. (una pena, pequeño y agradable controlador). PCA9685 -> 25mA máx. Honestamente, dudo que haya un solo paquete en este sentido capaz de hundir 0.3A por canal.
Estoy de acuerdo, deberá separar los componentes del controlador y PWM; Los controladores de alta corriente multicanal con salida PWM son inusuales. Además, los FPGA son la forma más fácil de obtener una gran cantidad de PWM en un solo paquete, y el PWM multicanal (simple) es realmente fácil de hacer en un FPGA. Podría usar MCU, pero encontrar una MCU en un paquete que se pueda soldar a mano que pueda hacer 64 PWM simultáneos con una interfaz de memoria simple para controlarlos estará a la par con encontrar los controladores.