Cubo LED 9x9x9 Con Arduino

by tutos.ingenieria in Circuits > Arduino

4310 Views, 4 Favorites, 0 Comments

Cubo LED 9x9x9 Con Arduino

Cubo led 9X9X9 con arduino
1.jpg
2.jpeg
3.JPG

Este cubo led tiene 3 cm de separación
entren LEDs el tamaño final del cubo es de aproximadamente 24cm x 24cm x 24 cm.

La cantidad total de leds es de 729 (9x9x9) y se espera que el resultado final sea algo como lo que se muestra en la Figura 1

Figura 1. Cubo LED

La función principal del cubo es poder desplegar animaciones en tres dimensiones entre ellos letreros, formas y efectos, el proceso de construcción es complejo por la cantidad de puntos de conexiones y la repetición del trabajo, pero su proceso es apasionante y verlo funcionar vale completamente la pena.

Su construcción como ya se dijo conlleva un gran reto y definitivamente es un gran desafío de programación y de construcción de circuitos, pero no es difícil, se basa en conceptos simples de electrónica.

Antes de iniciar con el paso a paso es necesario reflexionar un poco el funcionamiento del cubo, para poder entender tanto la construcción de este, como también su circuito o Driver, y el respectivo programa.

El primer gran desafío a la hora de realizar un cubo 3D es analizar la cantidad de leds que tendrá este dispositivo en este caso 729, aquí recae el primer concepto vital de este proyecto, para encender un LED se requiere de una tensión positiva y de un punto de conexión negativo, tal como se muestra en la Figura 2

Figura 2. Conexión led

Por lo cual para encender un led y tener un control total sobre el mismo, requerimos de dos puntos de conexión, entonces si queremos encender 729 LEDs debemos tener al menos 1458 puntos de conexión (positivos y negativos), esta es una gran limitación debido a que no existe microcontrolador o dispositivo tal para manejar esa cantidad de conexiones. En el mejor de los casos podríamos imaginar que todos los LEDs compartan el ánodo común y controlarlos con las conexiones a negativo, o al revés tener todos los LEDs conectados por los cátodos y controlarlos por la conexión de los ánodos, para lo cual solo necesitaríamos 730 puntos de conexión; aun así sigue siendo inviable cualquier tipo de microcontrolador para tal fin.

Figura 3. Conexión anodo común

Figura 4. Conexión Cátodo común

Es absolutamente necesario tener control de cada led independientemente, sino el cubo led va a estar limitado a unas animaciones sumamente simples (si así fuera no valdría la pena la implementación de este proyecto). Buscando controlar los LEDs de forma independiente utilizando el menor número de pines posibles de un microcontrolador, se utiliza un concepto demasiado útil en el trabajo con matrices LEDs y es conocido como multiplexión, este truco hace disminuyamos drásticamente la cantidad de conexiones requeridas.

Multiplexión

5.jpg
6.jpg
7.png
8.jpg
9.jpg
10.png
11.png
12.png
13.png
14.png
15.png
16.png
17.png
18.png
19.png
20.jpg
21.png
22.png

La multiplexión es una técnica realmente muy ingeniosa que se aprovecha de la incapacidad del ojo humano por refrescar rápidamente el arribo de imágenes, entonces no se nota el cambio de información en el cubo LED.

Explicado de la siguiente forma se entenderán el concepto de la multiplexión en el cubo led:

Figura 5. Conexión de LEDs por pisos

1. El cubo LED se distribuirá por pisos, con conexiones ánodo o cátodo común, como ustedes lo deseen, en mi caso lo realicé cátodo común.

Figura 6. Interconexión de LEDs

Figura 7. Interconexión de cátodos por piso.

Todos los cátodos de cada piso están interconectados entre ellos, por ende, si deseo encender un LED debo conectar un positivo al ánodo y conectar el común de todos los LEDs a negativo, así se encenderá el led deseado, esto quiere decir que si deseo encender cualquier forma en esa cuadricula de 81 LEDs debo desplegar un numero de datos positivos a los 81 ánodos y un solo negativo al común de todos.

Entonces si deseo encender cualquier forma sobre ese piso necesito 81 conexiones y un cátodo, por ende 82 puntos de conexión.

2. Ya conociendo la conexión entre los LEDs de cada piso, es necesario conocer las conexiones de los LEDs entre los pisos, es decir, todas las columnas del cubo led compartirán conexión al ánodo.

Quiere decir que el LED que escojamos dentro del cubo LED compartirá su conexión del cátodo entre todos los LEDs de su piso y compartirá su conexión de su ánodo con todos los LEDs justo encima y debajo de él (o sea en la misma columna).

Figura 8. Columnas para interconectar los ánodos.

Figura 9. Conexión de tres pisos, nótese la interconexión de los ánodos.

Figura 10. Disposición de la interconexión de los ánodos entre pisos.

Al conocer las interconexiones de los LEDs, ahora como hacemos para encender independientemente cualquier elemento dentro del cubo.

Por ejemplo:

Si se quiere encender un conjunto de LEDs en el cubo se debe hacer lo siguiente; supongamos que queremos encender un LED del piso inferior, primero debemos conectar el negativo a las interconexiones comunes en ese piso y después conectar un positivo a la respectiva columna, y tal como se muestra en la Figura 11 se enciende el LED respectivo.

Figura 11. Encendido de LED piso inferior

Es importante recordar, toda la columna se encuentra en estos momentos energizada positivamente y todo el piso inferior se encuentra con tensión negativa (interconexión de cátodos).

Si se requiere encender otros leds sobre el piso inferior, es tan simple como conectar tensiones positivas a las respectivas columnas, este es el caso de las Figura 12, Figura 13.

Figura 12. Encendido de nuevo LED, nueva columna energizada positivamente

Figura 13. Encendido de nuevo LED, nueva columna energizada positivamente

Figura 14. Azul conexión de piso con negativo y columnas rojo positivo

El problema real aparece cuando queremos encender otro LED de otro piso, supongamos que queremos encender un LED del piso superior, sin apagar los LEDs del piso ya encendidos, para lograr encenderlo llevamos tensión positiva a la columna respectiva del led y conectamos el respectivo piso a la tensión negativa. Figura 15,Figura 16.

Figura 15. Elección de LED a encender

Figura 16. Positivos y negativos en el cubo

Se puede notar que querer encender este LED en otro piso, ocasiona que se enciendan LED indebidamente tal como se muestra en la Figura 17, Figura 18.

Figura 17. LEDs encendidos

Figura 18. LEDs encendidos erróneamente.

Este es un error típico por compartir conexiones entre ánodos y cátodos, para reducir el número de pines a controlar, aquí es donde la magia ocurre; porque para evitar este error es necesario multiplexar cada uno de los pisos del cubo, así lograremos controlar cada led independientemente y nos ahorraremos una gran cantidad de pines de conexión.

Para lograr que enciendan los LEDs analizados en el ejemplo anterior realizaremos lo siguiente:

1- Se conecta el negativo al primer piso y se despliegan los positivos sobre ese piso, encendiendo así todos los puntos deseados sobre ese piso, ver Figura 19.

Figura 19. Encendido del primer piso.

Paso seguido se apaga el primer piso, quitando el negativo del común y se quitan también los positivos desplegados en cada columna. Por ende, se apaga el cubo Figura 20.

Figura 20. Cubo completamente apagado.

2- Se conecta el negativo al común del segundo piso y se despliegan los positivos sobre ese piso, encendiendo así todos los puntos deseados sobre ese piso, para este caso ningún LED se enciende porque no queremos desplegar ningún dato sobre este nivel.

Paso seguido se quita el negativo del común y se quitan también los positivos desplegados en cada columna.

3- Se repite el paso dos para todos los pisos.

4- Hasta llegar al último piso en el cual se muestra en la Figura 21.

Figura 21. Ultimo piso encendido

Este procedimiento se repite consecutivamente en el cubo LED y con una velocidad tan rápida que el ojo humano no alcanza a distinguir que los LEDs se están apagando y encendiendo, engañando a nuestra mente y mostrándonos la ilusión del cubo encendido tal y como lo deseamos desde un inicio Figura 22.

Figura 22. Cubo LED con multiplexión.

El concepto detrás de la multiplexión es muy simple pero sumamente útil, haciendo que controlemos el cubo led con 81 pines que manejarán los anodos asociados a la interconexión de las columnas y 9 pines que manejarán los cátodos asociados a cada piso del cubo, para un total de 90 pines.

Se nota drásticamente el beneficio del uso de esta metodología al lograr reducir la cantidad de pines necesarios a controlar, pero aún así un microcontrolador con 90 pines de conexión es demasiado complejo encontrar (de hecho, no sé si exista).

Para lograr controlar esta cantidad de pines se utiliza un circuito conocido como registro de desplazamiento (shift register), el cual básicamente toma una serie de datos seriales y los despliega de forma paralela, permitiendo así controlar el cubo led con tan solo 3 pines, uno que se conoce como el reloj (clock pin), otro el pin de datos (data pin) y otro como el desplegador de la información (latch pin).

Materiales

22.jpg
23.jpg
24.jpg
25.png
26.jpeg
27.jpg
28.jpg
29.jpg
30.jpg
31.jpg
32.jpg
33.jpg
34.jpg
35.jpg
36.jpg
37.jpg
38.jpg
39.jpg
40.jpg
41.jpg

729 LEDS de 5mm (recomendable usar difusos)

Figura 23. LED

36 metros de alambre galvanizado

Figura 24. Alambre Galvanizado, el más delgado posible

12 registros de desplazamiento 74HC595

Figura 25. Registro de desplazamiento

12 bases para registro de desplazamiento 74HC595

Figura 26. Base de integrado de 16 pines

81 resistencias de 100 ohms

Figura 27. Resistencias de 100 ohms

18 transistores 2N2222

Figura 28. transistores 2N2222

Regleta de Conectores hembra (se requieren 93 espacios)

Figura 29. Regleta de conectores hembra

Regleta de Conectores machos (se requieren 90 pines)

Figura 30. Regleta de conectores macho

18 resistencias de 1 Kilo ohms

Figura 31. Resistencias de 1kohm

1 bornera para alimentación

Figura 32. Bornera

1 baquela universal 20 cm por 10 cm

Figura 33. Baquela universal

Tira de bus de cables de colores se requieren 90 cables por 15 cm

Figura 34. Tira de cables

1 Arduino uno

Figura 35. Arduino uno

Además, se debe tener algunos elementos que se utilizarán en la construcción como se muestran en las siguientes imágenes:

Figura 36. Cautín

Figura 37. Soldadura

Figura 38. Taladro

Figura 39. Cable UTP

Figura 40. Termo encogible

1 tabla de mdf de 5 mm de grosor de 30 cm de ancho por 30 cm de largo

Figura 41. Tabla con huecos espaciados cada 3cm, para ingresar las columnas de alambre

1 tabla de mdf de 5 mm de grosor de 30 cm de ancho por 30 cm de largo

Figura 42. Tabla con huecos de 5mm espaciados cada 3 cm, para funcionar como guía de los LEDs

Construcción De Los Pisos O Niveles.

Construcción de cubo LED, elaboración de las mallas.
43.jpg
44.jpg
45.jpg
46.jpg
47.jpg
48.jpg
49.jpg
50.jpg
51.jpg
53.jpg
54.jpg
55.jpg
piso cubo led.png

Probar todos los LEDs, verificar uno a uno que enciendan, debido a que si uno de ellos se encuentra malo y se construye el cubo, sería casi imposible reemplazarlo.

Figura 43. LEDs a ser probados

Después de haber probado todos y cada uno de los LEDs (por lo menos los 729 necesarios para nuestro Proyecto), seguimos con el proceso de enderezar los alambres galvanizados, para ello se debe utilizar el taladro Figura 38 y Figura 24. Primero se debe definir el tamaño de los cables a recortar, después estos cables se recortan a esa medida Figura 44, paso seguido se toma el taladro y se ingresa por un extremo el alambre a la boquilla de este (presionar fuertemente Figura 45). Con una pinza se debe sostener del otro extremo mientras se acciona el taladro, generando una torsión sobre el alambre, logrando que el mismo quede recto, para la aplicación que lo deseamos Figura 46.

Figura 44. Definición de tamaño de cables

Figura 45. Ingreso del alambre a la boquilla del taladro.

Figura 46. Proceso de enderezamiento de alambre

El proceso de enderezamiento de los cables debe repetirse muchas veces, este es un proceso extenuante y sumamente aburrido, pero se debe hacer con el mayor de los ánimos, mis cálculos muy aproximados indican que se requieren más o menos 200 cables para sacar este proyecto.

Después de tener todos los alambres listos, procedemos a la construcción de los pisos para ello vamos a utilizar la tabla guía Figura 42. Para Ello disponemos todos los LEDs sobre la tabla, se recomienda dejar los cátodos en el mismo sentido, para no cometer errores en el momento de soldar Figura 47,Figura 48.

Figura 47. Colocar los LEDs sobre la guía.

Figura 48. LEDs dispuestos para soldar.

Paso seguido a acomodar los LEDs sobre la tabla guía, procedemos a hacer todas las interconexiones entre los cátodos, para ello tomamos los alambres y sobre algunas monedas acercamos el alambre a los cátodos (Figura 49), usando estaño y cautín soldamos todos los puntos con una buena cantidad de material, que la conexión quede lo más sólida posible Figura 50.

Figura 49. Alambre sobre monedas.

Figura 50. Proceso de soldadura.

Para todo el piso debemos interconectar todos los cátodos tal como se muestre en la Figura 51, Figura 52. Después de terminar este proceso, se debe validar que todos los LEDs enciendan tal como se espera Figura 53. Por último Podemos retirar este piso de LEDs para esperar la interconexión entre pisos Figura 54.

Figura 51. Soldadura de Cátodos

Figura 52. Soldadura de interconexión entre cátodos.

Figura 53. Probar todos los LEDs.

Figura 54. Nivel de LEDs terminado.

El proceso de interconexión de cátodos se debe repetir dependiendo el número de pisos que tenga el cubo LED, en mi caso, nueve veces más Figura 55.

Figura 55. Nueve pisos terminados.

Interconexión De Pisos

56.jpg
57.jpg
58.jpg
59.jpg
60.jpg
61.jpg
62.jpg
63.jpg
64.jpg
65.jpg
66.jpg
67.jpg
68.jpg
69.jpg
70.jpg
71.jpg
72.jpg
73.jpg
74.jpg
75.jpg
76.jpg

Para la interconexión entre los pisos se empieza generando unas guías de 3 cm de ancho en cartón, estas nos ayudarán a tener separaciones exactas entre pisos Figura 56.

Figura 56. Guías separadoras de pisos.

Para la interconexión entre pisos deben utilizarse cables rectos un poco más largos que los recortados para la interconexión de cátodos, estos deben entrar a través de la tabla base Figura 41, estos cables deben doblarse la punta a 90 grados Figura 57.

Figura 57. Cables doblados en la punta

Paso seguido se coloca el primer nivel de LEDs sobre la tabla base, y se empiezan a ingresar uno a uno los cables que interconectarán los ánodos Figura 58, Figura 59.

Figura 58. Base de LEDs con la primera columna de interconexión de ánodos.

Figura 59. Base LED y cables de interconexión ánodos.

Después de la soldadura completa de la primera base de LEDs, debe iniciar el proceso de inserción del segundo piso de LEDs, este proceso es complejo dado que debes verificar las 81 puntas de los LEDs, pero después de mucho pelear seguro logras ingresar el piso Figura 60, ahí es donde utilizaremos las bases separadoras recortadas en cartón Figura 61 y Figura 62.

Figura 60. Ingreso del segundo piso de LEDs

Figura 61. Uso de los separadores entre pisos, antes del proceso de soldadura

Figura 62. Separaciones entre pisos.

Figura 63. Soldadura del segundo piso.

Después de separados los pisos deben soldarse todos los ánodos, antes de iniciar con la soldadura, verificar que todas las columnas tengan su respectivo ánodo al lado para evitar problemas futuros Figura 63. Nota: Los LEDs más centrales siempre serán una gran desafio de soldadura Figura 64.

Figura 64. Soldadura de los LEDs más centrales.

Figura 65. Segundo piso soldado.

Después de soldar los LEDs de la segunda capa, se deben recortar los excedentes de alambre de los ánodos. Este proceso también es muy incómodo, se recomienda tener un cortafrío grande Figura 65.

Figura 66. Segundo piso.

Este proceso debe continuarse hasta Soldar todos los pisos, es un proceso demasiado repetitivo y de gran destreza. Por otro lado, ya que tenemos interconectados todos los ánodos, debemos bajar las conexiones del cátodo común de cada piso, en la Figura 66 se notan los huecos dispuestos para bajar las conexiones de los cátodos comunes.

En la Figura 67 se muestra la soldadura del cable que baja las conexiones del cátodo común del primer piso, en la Figura 68 se muestra cómo se baja las conexiones del cátodo común del segundo piso.

Figura 67. Soldadura del cable que baja las conexiones de cátodo común del primer piso.

Figura 68. Bajar la interconexión del cátodo común del segundo piso.

Figura 69. Prueba de los LEDs del segundo piso.

Siempre, siempre recomiendo probar que los LEDS funcionen, recuerden que hasta este punto es posible corregir cualquier error sin un gran traumatismo Figura 69.

Figura 70. Tercer piso.

Figura 71. Cuarto piso.

Figura 72. Quinto piso

Figura 73. Sexto piso.

Figura 74. Séptimo piso

Figura 75. Octavo piso.

Figura 76. Piso final.

En la Figura 76 se muestra el resultado final del cubo LED después de demasiadas horas de trabajo, la verdad nunca medí los tiempos, pero puedo aproximarlos.

Actividades

Revisión de 800 LEDs 2 horas

Recorte y enderezamiento de alambres 12 horas

Construcción de niveles 20 horas

Interconexión entre pisos 40 horas

Conexiones Cubo LED a Tarjeta Controladora

77.jpg
78.jpg
79.png
80.jpg
81.jpg
82.jpg
83.jpg
84.jpg
85.jpg
86.jpg

El cubo Led en esta fase se encuentra totalmente construido y probadas todas las interconexiones, en este punto debajo de la base del cubo deben existir 81 cables que son las conexiones de las columnas (ánodos) y los 9 cables que son las conexiones de los cátodos de cada nivel. Ver Figura 77.

Figura 77. Cables de conexión del cubo LED.

En este punto se utilizarán los cables de la Figura 34 los cuales se soldarán a cada uno de los puntos de conexión de ánodos y cátodos. Los 81 puntos de conexión de los ánodos están dispuestos como se muestran en la Figura 78, en esta se puede notar que cada columna esta dispuesta de nueve puntos de conexión (colores diferentes), estos puntos son las disposiciones en las cuales se soldarán los cables.

Los cables planos estarán dispuestos en conjuntos de nueve cables, por lo cual, de la soldadura de los cables planos se obtendrán al final nueve de ellos y un último cable plano que será la disposición de los nueve cátodos de los pisos

Figura 78. Disposición de ánodos

Los cables planos antes de ser soldados a la base del cubo led, es recomendable soldar en el otro extremo los conectores machos (Figura 30) que servirán para llevar las conexiones a nuestra futura tarjeta controladora; para ello es necesario principalmente estañar cada uno de los nueve cables previamente a ser soldados sobre el conector Figura 79, después de realizado este procedimiento se sueldan a uno a uno los cables sobre este conector (se recomienda que antes de la soldadura, se ingrese termoencogible a cada cable) ver Figura 80. El resultado final del conector debe ser algo parecido a lo presentado en la Figura 81, este procedo debe ser repetido 10 veces (Figura 82)

Figura 79. Estañando los cables.

Figura 80. Soldadura de cable cobre regleta macho

Figura 81. Regleta macho finalizada y con termo encogible.

Figura 82. Cables planos finalizados.

Después de tener todos los cables listos, se procede a soldar uno a uno los cables sobre la base del cubo LED, tal como se presenta en las Figura 83, Figura 84, Figura 85, Figura 86.

Figura 83. Conexiones de cables base del cubo.

Figura 84. Conexiones de base del cubo

Figura 85. Conexiones de base del cubo.

Figura 86. Conexiones de cubo led.

En la Figura 86 se pueden ver los 9 conjuntos de cables que se encuentran conectados a los ánodos de los LEDs y 1 conjunto de cables que se encuentra conectado a los cátodos.

Construcción De Circuito Controlador

87.jpg
88.jpg
89.jpg
90.jpg
91.jpg
92.jpg
93.png
94.jpg
95.jpg
96.png
97.png

La construcción de este circuito se basa principalmente en el conocimiento del registro 74HC595, el cual es un registro de desplazamiento, el cual recibe una serie de datos por un pin conocido como data; estos valores se van desplegando por cada una de las salidas del integrado con respecto al cambio de un pin llamado clock, y al final de cuentas se despliega esta información sobre los pines de salida del integrado, si y solo si, se habilita un pin conocido como latch. Figura 87.

El circuito del integrado es muy simple pero solo tiene la capacidad de manejar 8 salidas y nosotros requerimos manejar 81 ánodos y 9 cátodos, por lo cual se requieren conectar múltiples integrados en serie para poder gestionar los 90 pines necesarios, tal como se muestra en la Figura 88; en esta figura se muestra que los datos solo serán recibidos por el primer integrado y la salida de este integrado (pin 9) irá conectada a la entrada de datos del siguiente integrado.

Basado en el funcionamiento del registro de desplazamiento se diseñó el circuito controlador del cubo LED, se puede notar de este diseño que son 12 registros de desplazamientos 74HC595, el cual hará una disposición de 96 salidas disponibles de las cuales se utilizarán 90 pines (81 salidas controlando ánodos, 9 salidas controlando cátodos).

Figura 87. 74HC595

La idea fundamental del circuito (Figura 89, Figura 90), es una disposición en serie de registros de desplazamientos que tienen la capacidad de controlar los 90 pines necesarios para manejar el cubo LED. Este circuito cuenta con 90 pines de salida, donde 81 de ellos manejan las columnas del cubo y los otros 9 manejan los pisos del cubo, por otro lado, este circuito también tiene los pines de entrada, los cuales son la conexión hacia el Arduino que será su controlador, y por último la alimentación de 5 voltios. Es necesario recordar que si queremos que este proyecto funcione con el Arduino deben compartir las tierras.

Otra de las cosas que se puede notar en este circuito es que las últimas nueve salidas están conectadas a una configuración de transistores, estos elementos están dispuestos dos por salida, es decir, dos transistores serán activados por cada salida y estos conmutarán de forma que conecte cada piso a negativo. Fueron puestos dos transistores en paralelo para que se dividan el nivel de corriente que deben manejar.

Figura 88. Circuitos en serie.

Figura 89. Esquemático del circuito controlador del cubo LED

Figura 90. Circuito en protoboard.

Antes de iniciar la construcción del circuito final (en baquela), recomiendo probar el funcionamiento de todos los circuitos integrados y del circuito en general, será se sumaimportancia probar en protoboard dado que un error en este genera grandes decepciones a la hora de programar; además, este conocimiento ayuda a la hora de construir el circuito en baquela. Figura 91, Figura 92.

Figura 91. Prueba del circuito en protoboard.

Figura 92. Desplazamiento de datos por registro de desplazamiento.

El circuito fue construido con una baquela universal Figura 33, por lo cual se requieren muchos cables para hacer las diferentes conexiones entre elementos (esto se notará en el resultado final, Figura 95), el proceso de construcción se nota en las Figura 93, Figura 94, Figura 95.

.

NOTA: Recomiendo encarecidamente que, en el proceso de construcción del circuito, se haga paso a paso y siempre se pruebe que cada avance funciona, esto facilitará demasiado el resultado final.

Por lo general se tiende a construir completamente el circuito y cuando se va a realizar la prueba del mismo, no funciona absolutamente nada, esto conlleva a dolores de cabeza a la hora de encontrar el error en un circuito tan grande.

Figura 93. Inicio construcción de circuito en baquela

Figura 94. Proceso de construcción de baquela

Figura 95. Circuito controlador de cubo LED.

Después de finalizar el circuito el cual he tardado alrededor de unas 20 horas en terminarlo, obviamente esto conlleva las sucesivas pruebas, procedemos a conectar el cubo LED. Tal como se muestra en: Figura 96, Figura 97.

Figura 96. Conexión entre cubo LED y circuito controlador.

Figura 97. Conexión de tarjeta al cubo LED