necesidades del proyecto
Necesitamos un controlador de IC de bajo costo que:
- Puede fuente o sumidero al menos 15mA / LED
- Tiene una interfaz similar a SPI (no I 2 C)
- Tiene un pasador de seguridad separado
- Tiene al menos 256 intensidades de escala de grises
- Preferiblemente al menos 8 canales / chip
¿Alguien puede recomendar algunos dispositivos a considerar? Creo que los dispositivos multiplexados / charlieplex no funcionarán para este proyecto, pero estoy abierto a puntos de vista opuestos.
Por qué el proyecto necesita esto
Estamos buscando impulsar 120 leds RGB (320 canales en total) en una pantalla de visión de persistencia. La naturaleza de este dispositivo (montado en un rayo de bicicleta) significa que para obtener la resolución "horizontal" (a lo largo de la circunferencia de la rueda) de 10 mm / píxel virtual, debemos poder cargar una "columna" completa de píxeles (un radio) en 0.746 mS. La línea de retención es para asegurar que toda la columna se encienda de una vez, en lugar de una por una. 1Mhz I 2 C termina siendo más lento que SPI: al usar chips ATmega que funcionan a 20Mhz, el subsistema SPI puede cargar 24 controladores de 16 canales en aproximadamente el tiempo necesario (a 12 bits / canal). I 2 C a 1Mhz y 8 / bits / canal (sobrecarga cero) puede programar 320 canales en 2.56mS o más de 3 veces el tiempo. Dada la arquitectura del sistema, realmente preferiríamos quedarnos con un solo procesador central para facilitar el control y la comunicación.
Trabajo anterior
TLC5940 Hemos utilizado TLC5940 (que se puede obtener en Ebay en cantidades para alrededor de $ 1 / pieza) con éxito en el tiempo. Estos controladores pueden hundir oficialmente hasta 120mA / chip, lo que significa 7.5mA / canal (8mA si solo se usan 15 canales). Estamos considerando sobrecargar los TLC5940 para alcanzar 15mA / canal (225mA / chip peak), sin embargo, esto parece inseguro. ¿Lo es? ¿Hay formas de sobrecargar el controlador LED de una manera más segura? El TLC5940 puede indicar un error térmico en uno de sus pines. Se espera que el proyecto se despliegue en el entorno de alta velocidad del aire: no se espera que la disipación de calor sea un problema.
75HC595 También hemos intentado usar el registro de desplazamiento 74HC595 para esto. Esto tiene dos problemas. Una es que 74HC595 solo puede generar 8.75mA / canal si todos los canales son uno. La segunda es que al usar un controlador LED PWM, necesitamos obtener 0.746 ms / actualización porque cada "píxel" horizontal dura 0.75 ms. PWMing manual significa que para N linear niveles de escala de grises tendríamos que actualizar cada registro de desplazamiento N veces / 0.75 mS, lo que rápidamente se vuelve difícil de manejar una vez que te das cuenta de que el brillo se percibe exponencialmente.