como hacer un letrero luminoso con leds
En todos los letreros iluminados y retro iluminados, utilizan en mayoría módulos led pixel, vienen en variedad de configuraciones básicamente son diodos led encapsulados en plástico o metal configurados y agrupados de 2, 3 o 4 led, generalmente se utilizan para la fabricación de rótulos publicitarios retro iluminados.
Módulo led pixel WS2811
Este modelo de led se puede controlar los niveles de su brillo y colores utilizando el protocolo de comunicación NZR, es una comunicación basada en un solo hilo, esta comunicación es la que demanda de una gran velocidad del microcontrolador. Su característica principal de estos leds es que vienen dotados con circuito interno, lo que nos permite conectar cientos de ellos en cadena, respetando siempre la dirección de los datos. Este led tiene una entrada de datos y salida de datos que están con DATA OUT y DATA IN. Tiene 4 pines dos pines son de comunicación el resto de alimentación, este modelo trabaja a 5v y tiene un consumo de 20ma por color.
Podemos encontrar pixel led mejorados con respecto a este modelo ws2811, por ejemplo el ws2813 viene dotado con doble línea de datos, la diferencia esta. Cuando está en funcionamiento todos los leds en cadena, puede fallar uno y el resto quedara sin comunicación. Este problema fue subsanado de alguna manera en el modelo WS2813. Tenemos otros modelos como el ws2815 estos trabajan con doble línea de datos y además operan a 12 voltios DC, en cambio los modelos anteriores operan a 5V, esto representa una desventaja si queremos armar una cadena enorme de leds.
También tenemos el modelo WS2812, este también hace uso del circuito integrado ws2811, sin embargo el encapsulado del led es SMD.
Led pixel WS2811 accionado por Atmega328P.
Para este proyecto tendremos un ATmega con su cristal de 16Mhz, para controlar toda la cadena de leds, necesitamos de un solo pin. Mientras tengamos mayor cantidad de leds, mayor será la demanda de memoria ram y velocidad del micro.
Cada led tiene un buffer interno de 3 bytes, estos corresponden a rojo, verde y azul. Y con un byte tienes 256 niveles de brillo por cada color. Para una cadena de 10 leds, necesitamos un espacio de 30 bytes en la memoria ram del micro, estos bytes vamos enviándolo por el pin del microcontrolador a razón de 800Khz, los tres primeros bytes se quedaran en el primer led, y los tres siguientes se queda en el segundo led y así sucesivamente hasta llegar al último led. Es decir cada led coge su tres bytes. Para volver a enviar una nueva trama de información necesitamos poner unos 50us en bajo nuestro pin de datos.
Un detalle muy importante, el controlador que en este caso vendría ser el atmega328p no puede estar conectado con un cable de más de 1 metro de distancia al primer led. De acuerdo a la hoja de datos del ws2811 la máxima distancia entre el controlador y la cinta es de 30cm, mayor a esta distancia el fabricante no nos garantiza que los datos lleguen en perfectas condiciones, esto pienso que es debido al ruido que se impregna en la cable además de la impedancia.
No entrare en mayor detalle en la codificación, de hecho el fabricante nos proporciona un hoja de datos bien documentado.
Letrero con led pixel modelo ws2811
La palabra que escogí para desarrollar este proyecto es justamente “LETREROS”, lo que pretendo es ir rellenando cada letra con leds pixel, pero estos deben tener un orden tipo matricial para que los efectos se puedan apreciar. La separación de led a led será de 20mm. Para graficar los leds utilizamos el corel draw, de manera que vas ir poniendo cada led exactamente a 20mm.
Graficando de esta manera vas determinando el número total de leds, además lo más importante vas enumerando los leds, esta numeración deberás guardar bien por que posteriormente los necesitaremos en la programación.
La dirección de la flechas es muy importante, porque es el modo en que los leds serán ensamblados. Las flechas rojas representan la dirección de los datos en que entraran a cada letra, en este proyecto se ensamblo tal igual que la anterior imagen.
El material que trabajamos fue el Mica transparente de 5mm. Al terminar de diseñar las letras en Corel deberás imprimirlo en CNC corte laser. Esto nos da un acabado mucho más profesional y estético. Otro punto a tomar en cuenta es la alimentación de 5v a 3Am. Trata de alimentar a cada letra con dos hilos de cable por separado, con esto evitaras la caída de tensión en algunas partes del letrero.
En esta foto del proyecto, apreciamos el controlador y un condensador de 6v de 1000uf, el trabajo de este condensador es estabilizar el voltaje a lo largo de las letras.
La numeración de los pixeles de nuestro proyecto es la que podemos apreciar de color amarillo, cada quien puede enumerarlo de distinta manera, sin embargo tener en cuenta que debemos evitar poner un largo cable entre led y led. No olvidar que este cable es la que lleva los datos. La parte verde nos indica el número total de columnas que tenemos y una simple vista podemos ver que también tiene 8 filas.
Esquemático del Controlador
El número reducido de componentes para manejar estos tipos de led lo hacen único, en el esquemático podemos apreciar que la señal para nuestro letrero sale del pin PD0, esto puede ser modificado por cada uno de ustedes. El circuito trabaja a 5V.
Un detalle importante a tener en cuenta, la corriente que consumen los leds son de vital importancia trabajar con fuentes de alimentación de buen amperaje para nuestro proyecto y pruebas utilizamos uno de 2Am.
Programa Letrero pixel ws2811
Esta desarrollado en Atmel Studio 6, Para acelerar la programación desarrollamos una librería o biblioteca “WS2811”, este nos ayuda bastante en crear efectos a nuestra medida. Esta librería es la que soltaremos gratis: puedes descargarlo en esta dirección https://mega.nz/#!7gJAFa6T!JmKUGMsiqapDmrqjyFYAWMyMcx_k5Yi1U6v29-BwpOg
La librería hace uso de un temporizador para actualizar los Frames en los led Ws2811. Esta librería puedes modificarlo para tu propio proyecto. El número máximo de leds que puedes controlar es 256, sin embargo el micro atmega328p aún puede controlar hasta 512 pixeles, para esto deberemos hacer unos ajustes en la librería como cambiar las variables de 8 bits a 16 bits. Nuestra librería tiene 16 efectos, estos los puedes modificar o mejorarlo. En la imagen les mostramos una parte del código del proyecto.
En esta imagen, se muestra cuáles son los tiempos que utiliza el modelo ws2811 para enviar los datos. Un cero lógico está representado por 0.4ns en alto más 0.85ns en Bajo, mientras que un 1 lógico esta representado por 0.8ns en alto más 0.45ns en bajo. Y finalmente un tiempo de 50us en bajo para enviar una nueva trama, respetando estos tiempos podremos controlar con diferentes microcontroladores.
Pruebas y Funcionamiento letrero led pixel
Estos leds son bastante brillantes, al principio no pensé que brillarían. Para mostrarte el proyecto: subimos un video donde se muestra algunos detalles más que se nos olvidó mencionar en este artículo.
En este letrero la cantidad de leds que contiene es 129 leds, todas conectadas en serie. El tamaño final del letrero nos quedó en 20x90cm. Puedes trabajarlo en un letrero más grande de unos 50cmx300cm, y los led pixel de 8mm puedes cambiarlos por el Modulo led Pixel, estos vienen más grandes de 5x5cm de hecho hay más variedades en el mercado, antes de comprarlos debemos asegurarnos de que sean el modelo WS2811.
Muchos de los fabricantes de letreros retro iluminados utilizan estos leds, sin embargo no aprovechan todos los efectos que se pueden hacer con estos módulos.
Mayor información al whatsap que aparece en la parte superior de la página, el programa y demás es de libre descarga. Está en mega descárguelo y descomprimirlo y lo puede abrir con Atmel studio 6 ó 7, algún otro compilador C.
Código y librería del proyecto:
https://mega.nz/#!7gJAFa6T!JmKUGMsiqapDmrqjyFYAWMyMcx_k5Yi1U6v29-BwpOg