Circuito de controlador de cubo LED 8x8x8

Voy a construir un cubo LED de 8x8x8. Antes de hacerlo, necesito encontrar un buen circuito de controlador. Vine aquí porque tengo muy poco conocimiento sobre cómo encajan muchas piezas electrónicas.

Así que aquí está mi plan.

Usaré el Arduino UNO para ejecutar las animaciones.

El cubo en sí se fabricará con 512 LED azules difusos de 3 mm. Estos LED tienen una Vf = 3.4vcorriente máxima de 20mA. Quiero poder proporcionar esa corriente máxima. El cubo se configurará de modo que las 64 columnas sean los ánodos de los LED y las 8 capas contengan todos los cátodos de los 64 LED en esa capa.

Decidí usar nueve registros de desplazamiento 74HC595 para expandir las E/S de Arduino a las 72 salidas requeridas. A partir de aquí, no sé qué usar para conectar los registros de desplazamiento al cubo. Los primeros 8 registros controlarán las columnas (ánodos) y el último controlará las capas (cátodos).

Algunos han sugerido que use el UNL2803 para "antiaccionar" los 64 ánodos y los 8 transistores o MOSFET para encender y apagar las capas.

No entiendo cómo conectar el UNL2803 o las otras partes, ¿alguien podría brindarme algo de claridad, tal vez un esquema simple? Simplemente no entiendo cómo usar un UNL2803 para generar corriente ...

Esquema a continuación para CubeDriver:

imagen

Para mi propia satisfacción, ¿qué hacen los LED en el interior del cubo? ¿Puede verlos adecuadamente? Entonces, ¿vale la pena considerar solo los LED en la superficie del cubo? ¡Todos los 512 LED van a disipar casi 35 W! ¿Desea poder encender o apagar cualquier combinación, es decir, tener control total sobre cada LED?
@IgnacioVazquez-Abrams Genial!!!
@Andyaka Si el circuito está bien diseñado, solo habrá uno o un par de LED encendidos a la vez, se abordarán uno por uno a un ritmo rápido y se encenderán o apagarán. Mismo principio que las pantallas (direccionamiento matricial).

Respuestas (2)

Su respuesta a la pregunta de Andy implica que desea controlar cada LED por separado. Ha iniciado el camino del uso de una matriz para controlar los LED, lo que le permitiría encender cualquier LED y muchas combinaciones, pero no un control completamente independiente de todos los LED.

Por lo tanto, una dirección a seguir son los controladores completamente independientes, uno por LED. Esto será más fácil de programar desde su computadora. Sin embargo, necesitará una forma de generar 512 cables separados por valor de valores desde su PC o microcontrolador. Una forma económica de hacer esto sería usar algunos pines de E/S para enviar datos a registros de desplazamiento de 8 bits (en una serie larga o en varias series más cortas) que pueden tener la capacidad de absorber suficiente salida de corriente para impulsar su LED directamente (con resistencia en serie con cada uno, por supuesto). 74HC597, 74HCT597 y 74HC299, 74HCT299 son posibilidades. Si necesita más corriente por LED, aún podría usar registros de desplazamiento y agregar paquetes de transistores de 8 anchos, como LUN2803A como controladores.

Dicho esto, puede crear el efecto visual de los LED controlados de forma independiente, utilizando una matriz. Su programa selecciona a su vez cada "fila" de LED, los pulsa brevemente en el patrón deseado, luego pasa al siguiente conjunto, y así sucesivamente, hasta que su programa haya cubierto todos los LED... luego comience de nuevo. (también conocido como multiplexación)

Para 8x8x8 LED (512), necesitaría una matriz mínima de 22 x 24 (por ejemplo: 22 filas x 24 columnas = 46 pines), aunque 16 x 32 = 512 (48 pines) sería más congruente con su cubo, por lo que es más fácil programar. Su programa necesitaría recorrer continuamente las 16 filas, configurando las 32 columnas para esa fila (o viceversa), "actualizándolas" digamos 50 veces por segundo para crear la impresión de iluminación constante y movimiento fluido. Eso es 50 x 16 = 800 filas/seg.

Tenga en cuenta que dado que cada LED 'encendido' solo está encendido durante una fracción del tiempo completo (digamos 1/16), aparecerá más tenue que cuando está en tiempo completo, por lo que es posible que deba aumentar la corriente para compensar.

Hay una serie de proyectos similares en YouTube, probablemente puedas encontrar uno con una cantidad similar de LED, a partir del cual puedes medir las compensaciones entre el brillo, la suavidad y la velocidad de la CPU necesarias para seguir refrescando y agregar animación .

Bien, espero que eso ayude.

esquemático

simular este circuito : esquema creado con CircuitLab

Establecer D1. Pulso D2. Repita 7 veces más. Tenga en cuenta que el uso de un MOSFET con un ULN requerirá el uso de una resistencia pull-up.

Necesito obtener corriente usando el UNL2803, no hundirlo.
¿Ya ha tenido la oportunidad de leer la hoja de datos?
Acabo de refrescarme la memoria, lo siento. En su esquema, la corriente no proviene del pin COM, explique.
El pin COM es para sujetar el voltaje alimentado a los transistores.
¿Es correcto el esquema que agregué?
No necesita ambos dispositivos en la línea; o el MOSFET permitirá la corriente, o el ULN la hundirá.