Cubo LED 9x9x9 Con Arduino
by tutos.ingenieria in Circuits > Arduino
4310 Views, 4 Favorites, 0 Comments
Cubo LED 9x9x9 Con Arduino
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
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
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.
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
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
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
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