Documentos de Académico
Documentos de Profesional
Documentos de Cultura
cubo led
Luminaria 3D
Por Jerry Jacobs
Caractersticas tcnicas
125 LED en disposicin 3D Microcontrolador ATmega32 con frecuencia interna de 1 MHz Conector ISP de 10 contactos para programar 5 transistores BC337 para el control de los niveles 25 transistores BC547 para el control de las columnas
Funcionamiento
La suposicin de que para 125 LED se necesitaran grandes cantidades de cables puede engaar. Mediante el control por multiplexacin se reduce enormemente la alambrada de espino artificial. Slo un nico cable es suficiente para activar o desactivar los 25 LED que conforman una matriz bidimensional parcial. A los 25 LED de un nivel como ste, les bastan exactamente 26 lneas. Cada cinco LED superpuestos de los cinco niveles conforman una columna conjunta que, de esta manera, precisa nicamente de tan slo
Los LED intermitentes siempre llaman la atencin. En la mayora de los casos se trata sencillamente de un par de LED o como mximo de una pantalla de LED plana. Un cubo LED es algo realmente diferente. En este caso se trata de una pantalla tridimensional compuesta de LED que pueden ser controlados de manera individual.
Tabla 1. Control de niveles y columnas Puerto A Bit 7 PA7 Columna 8 Puerto B Bit 7 PB7 Columna 25 Puerto C Bit 7 PC7 Columna 16 Puerto D Bit 7 PD7 Columna 24 Bit 6 PD6 Columna 23 Bit 5 PD5 Bit 6 PC6 Columna 15 Bit 5 PC5 Bit 6 PB6 Bit 5 PB5 Bit 6 PA6 Columna 7 Bit 5 PA5
En contraste con el cubo borg, se trata aqu de electrnica terrestre convencional con incorporacin de un un microcontrolador AVR. Estos controladores son econmicos, fciles de conseguir, y adems, tambin existen para ellos suficientes herramientas de desarrollo con cdigo abierto. Estos ltimos existen no
Bit 4 PA4 Columna 5 Bit 4 PB4 Nivel 5 Bit 4 PC4 Columna 13 Bit 4 PD4 Columna 21
Bit 3 PA3 Columna 4 Bit 3 PB3 Nivel 4 Bit 3 PC3 Columna 12 Bit 3 PD3 Columna 20
Bit 2 PA2 Columna 3 Bit 2 PB2 Nivel 3 Bit 2 PC2 Columna 11 Bit 2 PD2 Columna 19
Bit 1 PA1 Columna 2 Bit 1 PB1 Nivel 2 Bit 1 PC1 Columna 10 Bit 1 PD1 Columna 18
Bit 0 PA0 Columna 1 Bit 0 PB0 Nivel 1 Bit 0 PC0 Columna 9 Bit 0 PD0 Columna 17
Columna 6
Columna 14
Columna 22
64
una lnea. Para encender un LED especfico por separado, se conecta el nivel correspondiente a la tensin positiva de alimentacin y se selecciona la respectiva columna. El cubo est organizado en 5 niveles y 25 columnas. De ello se deducen lgicamente 30 lneas, en lugar de 126 lneas independientes para los 125 LED. Con una frecuencia de 1 MHz, el circuito alcanza una frecuencia de imagen de 39 Hz. Cada 1024 periodos se incrementa un contador (tambin denominado controlador). Cuando este contador alcanza en su estado el valor 5, se dispara automticamente el interruptor y se reestablece el valor del contador. Este interruptor se encarga tambin de transferir el contenido del buffer a un nivel LED. Una frecuencia de 1 MHz se obtine una frecuencia de nivel de 195 Hz. Dado que el cubo tiene cinco capas LED, ste se reproduce completamente 39 veces por segundo.
la electrnica pone automticamente el contenido del buffer en el respectivo patrn LED. La rutina de interrupcin ya mencionada se encarga de ello. El buffer se organiza de forma multidimensional de acuerdo con el cubo, de tal forma que las imagenes se pueden dibujar plsticamente en el buffer. Interrupcin La funcin de formateo de imagenes de la rutina de interrupcin consiste en la correcta reproduccin del contenido del bfer 39 veces por segundo. En consecuencia, cada bit en el bfer es asignado inequvocamente a un LED El nivel de los bits decide entonces si un LED se enciende o no. El usuario debe escribir los datos de la imagen con funciones especiales en el buffer para poder generar una imagen. Instrucciones grcas de bajo nivel Las rutinas de bajo nivel estn concebidas de forma tal que se puedan lograr
Software
El software est escrito en C y puede compilarse con AVR-GCC [1]. Cuenta con una amplia documentacin que puede adems consultarse en un sitio web para ms informaciones. La documentacin ha sido generada con Doxygen [2]. Buffer Se utiliza un buffer para darle forma a una imagen en el cubo de forma menos compleja. Como usuario, solamente es preciso manejar hbilmente los bits, y
efectos individuales en el cubo. En la Tabla 1 se puede observar la conexin exacta de cada bit con el puerto, columna de LED, etc. Con esta tabla se pueden generar tambin directamente muestras sin refinamientos como desplazamientos o mscaras de bit. Las funciones de bajo nivel se encuentran definidas en el archivo draw.h. Con ellas es posible controlar niveles, columnas, filas, etc. Veremos a continuacin un par de ejemplos sobre la manera como se pueden utilizar estas funciones. Control de una fila en un nivel determinado:
65
K1
3 1 2 D1 1 3 C2 100n 100n C3 C1 470u 25V 2
IC1 7805
+5V
1N4001
COL25
R55 150R
COL1
R7 150R
COL2
R8 150R
COL3
150R
COL4
COL5
COL6
COL7
COL8
R9
R10
R11
R12
R13
R14
150R
150R
150R
T30 T5 T2 T3
T4
T1
T6
T7
T8
T9
T10
150R
T11
T12
+5V
R1 R6 R2 330R 330R 330R 330R 330R R5 R4 R3 100k
LAY5 LAY2
R56 1k8
LAY4
LAY3
LAY1
+5V
R15 1k8
R16 1k8
R17 1k8
R18
R19
R20
R21
R22
1k8
1k8
1k8
1k8
K2
2 4 6 8 10 RST SCK MISO GND 1 3 5 7 9 MOSI
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9
AVCC
AREF
VCC
1u 100V
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) IC2 PB6 (MISO) PB7 (SCK) PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
40 39 38 37 36 35 34 33
ATmega32-16PC
PC0 (SCL) PC1 (SDA) PC2 (TCK) PC3 (TMS) PC4 (TDO) PC5 (TDI) PC6 (TOSC1) PC7 (TOSC2) XTAL2 XTAL1 RESET GND GND
22 23 24 25 26 27 28 29
11
31
12
R40
R41 1k8
R42 1k8
R43 1k8
R44 1k8
R45 1k8
13
R46 1k8
R23 1k8
R24 1k8
R25 1k8
R26
R27
R28
R29
R30
1k8
1k8
1k8
1k8
COL17
COL18
R48 150R
COL19
R49 150R
COL20
R50 150R
COL21
R51 150R
COL22
R52 150R
COL23
R53 150R
COL24
R54 150R
COL16
R31 150R
COL15
R32 150R
COL14
150R
COL13
COL12
COL11
1k8
COL10
COL9
cubo led
R47 150R
R33
R34
R35
R36
R37
150R
150R
150R
150R
T22
T23
T24
T25
T26
T27
T28
T29
T21
T20
T19
T18
T17
T16
T15
prctica
080355 - 11
150R
Imagen 1. Todos los LED son controlados mediante un microcontrolador AVR. La gran cantidad de transistores se encargan de proveer la tensin necesaria.
C4
30
10
32
1k8
150R
+5V
+5V
+5V
+5V +5V
T13
R38
T14
66
En estas funciones se utilizan denominaciones como ON, OFF y COLUMN_1. Se trata aqu de constantes con valores fijos. Por ejemplo: ON tiene 1 y OFF tiene 0 como valor. Algunas de estas funciones se pueden emplear una tras otra para crear una figura determinada. Otras explicaciones se encuentran disponibles en el cdigo fuente que se puede descargar gratuitamente desde el sitio web de Elektor.
PB4 R6
PB3 R5
PB2 R4
PB1 R3
PB0 R2
LAY1
PA0 R15
T1
LAY2
T2
COL1
R7
LAY3
T3
T6
LAY4
Hardware
La electrnica se puede montar completamente con componentes convencionales y, a pesar ello, la placa de circuito impreso resultante es bastante compacta. Podemos utilizar un adaptador de red comercial corriente con una salida de 9V capaz de suministrar 600 mA para alimentar el circuito. El regulador IC1, un 7805, estabilizar la tensin aplicada al circuito. El diodo D1 lo protege de los efectos negativos de polarizaciones inversas.
Imagen2. Esta imagen muestra el recorrido que sigue la corriente entre los LED medios de la primera columna.
Con los transistores T1 a T5 se conecta la tensin de alimentacin de 5V a los cinco niveles. Con los transistores T6 a T30 se controlan las columnas poniendo los LED
080355 - 12
T4
LAY5
a tierra y cerrando de esta manera el circuito (vase Imagen1 e Imagen2). La corriente que circula entre los LED depende de la diferencia de potencial
T5
+5V
67
prctica
cubo led
Lista de materiales
Resistencias: R1 = 100k R2 a R6 = 330 R7 a R14, R31 a R38, R47 a R55 = 150, vase texto R15 a R30, R39 a R46, R56 = 1k8 Condensadores: C1 = 470F/25V
C2,C3 = 100nF C4 = 1F/100V Semiconductores: IC1 = 7805 IC2 = Atmega32 D1 = 1N4001 T1 a T5 = BC337 T6 a T30 = BC547 125 LED
Adems: Conector macho 2x5 contactos, paso 2,54 mm Zcalo para IC Conector frontal SIL 4 x 10 contactos, paso 2,54 mm Disipador de calor para TO-220 con 5C/W (IC1) Distanciador hexagonal 4 x M3x5 de 10 mm de longitud Enchufe hembra para adaptador de red Placa de circuito impreso ref. 080355-1
aplicada sobre ellos, de la tensin de alimentacin menos la diferencia de potencial colector-emisor de dos transistores y de las 25resistencias de columnas. De esta manera, los valores de resistencia se calculan as: R = (5V-2*UCE-ULED)/20mA
Por lo tanto, en los LED rojos, verdes y amarillos, los 150 indicados en el esquema de circuitos para R7 a R14, R31 a R38 y R47 a R55. En los LED blancos seran 82 o incluso mejor 68. Para programar el controlador del cubo se puede emplear la interfaz ISP en el K2.
(080355)
Enlaces:
[1] AVR-GCC-Toolchain: -Para Windows: http://winavr.sourceforge.net - Para Mac: http://www.obdev.at/products/ avrmacpack [2] Doxygen: http://www.doxygen.org
Montaje
Paso 1
Primero se montan los distanciadores debajo de la placa de circuito impreso y luego se corta a medida un pedazo de papel para sostener bien los LED en los huecos.
Paso 2
Luego se colocan cinco LED en la fila superior con el nodo (conexin ms largo) arriba y con el ctodo (conexin ms corta) abajo. Despus se dobla el primer LED hacia la izquiera y se sigue con el segundo LED, que se suelda fijamente en el primero. De la misma manera se contina tambin con el tercero, cuarto y quinto LED. As se tiene, tenemos lista una fila. Para cada superficie son necesarias cinco de estas filas. Despus se prosigue de la misma manera con las filas 2 a 5. Cuando estn listas las cinco filas se unen los nodos doblados con dos hilos verticales.
Paso 3
Una vez estn listos los cinco niveles se puede soldar todo para formar una construccin en cubo. Esto se consigue colocando un nivel encima de la placa de circuito impreso y doblando las 25 columnas aproximadamente 3mm despus de los nodos del siguiente nivel. La segunda capa se coloca entonces encima de la primera. Las capas se sueldan en las esquinas conservando la misma distancia.
68
Sobre el autor
Jerry Jacobs, nacido en 1989 en Heerlen (Pases Bajos) es estudiante de Telecomunicacin en el ROC (Leeuwenborg College en Sittard, Pases Bajos). Su fascinacin por la informtica y la electrnica le ha acompaado durante bastante aos. Aparte de ello, es un apasionado del sistema Linux. El proyecto aqu descrito es el trabajo presentado como culminacin de su periodo de prcticas en el laboratorio de Elektor.
Paso 4
Ahora, instalaremos los componentes en la placa de circuito impreso. Hay que prestar atencin para no intercambiar los transistores BC 337 y BC 547. Para completar el montaje, montaremos el regulador de tensin con su correspondiente radiador.
Paso 5
A continuacin se unen los niveles individuales con los transistores respectivos. T1 se encarga del nivel inferior y T5 del superior. Para ello es adecuado el hilo de cobre estaado.
Paso 6
Para finalizar se pone el firmware en el microcontrolador. Junto con el cdigo abierto se puede descargar igualmente el archivo hexadecimal ya compilado desde el sitio web de Elektor. En el mismo sitio se encuentra tambin un enlace para realizar el pedido de la placa de circuito impreso.
69