26 votos

Controlando 500 LEDs con PWM

Estoy considerando embarcarme en un proyecto que implicaría abordar individualmente 500 LEDs, idealmente con soporte PWM para cada uno.

Estoy planeando usar un Arduino ya que ya tengo uno, pero estoy abierto a sugerencias si alguien piensa que una plataforma diferente sería una mejor opción.

Se necesitarían registros de desplazamiento. ¿Qué registro de desplazamiento es bueno usar en esta situación? Si el PWM hace que este proyecto sea mucho más caro, estoy dispuesto a prescindir de él. Quiero intentar gastar menos de $100. Compraría a granel 500 LEDs en ebay.

¿Cuál es tu opinión sobre la mejor manera de controlar una gran cantidad de LEDs? Además, ¿cómo proporcionaría la energía? Agradecería cualquier ayuda. Tengo experiencia bastante con la electrónica, simplemente nunca he hecho nada a una escala tan grande.

14voto

ElcoJacobs Puntos 121

Soy el autor de la biblioteca ShiftPWM y acabo de actualizar la documentación para incluir diagramas y mucha más información general para LED normales, tiras de LED y LED de alta potencia.

Probablemente ya hayas comenzado tu proyecto, pero como esta página recibe muchos visitantes, me gustaría seguir proporcionando una respuesta detallada.

Si deseas controlar 500 LED con ShiftPWM, puedes obtener alrededor de 64 niveles de brillo por LED a 60 Hz. Necesitarías usar 64 registros de desplazamiento. Los controladores de hardware PWM dedicados te darán más niveles de brillo, pero serán un poco más costosos. Creo que la principal ventaja de mi biblioteca es la facilidad de uso, ya que incluye funciones RGB y HSV y muchos ejemplos.

Personalmente elegiría el TLC5916 o el TLC5917 en lugar de los registros de desplazamiento normales, porque tienen un controlador de LED de corriente constante incorporado. Esto te ahorrará mucho trabajo de soldadura, ya que no necesitas resistencias.

En mi sitio web (http://www.elcojacobs.com/shiftpwm) tienes más información sobre cómo conectar los LED y cómo lidiar con la conducción de los cables de señal largos con el Arduino a alta velocidad.

Si tienes más preguntas, por favor pregúntame.

13voto

Shadow_x99 Puntos 10421

Sólo copia :-)

http://www.evilmadscientist.com/article.php/peggy2

Hoy estamos lanzando una actualización de nuestro proyecto de tablero de pines LED de código abierto "Peggy". La versión 2 de Peggy ha sido rediseñada desde cero. Y se ve... casi exactamente igual. Sin embargo, los cambios bajo el capó son sustanciales, y creemos que es una gran mejora en muchos aspectos.

En primer lugar, Peggy 2.0 todavía hace exactamente lo mismo: proporciona energía eficiente a una matriz de 25 x 25 ubicaciones de LED. Peggy está diseñada para quitar algo de la complejidad y el desorden al jugar con LED. Es un tablero de pines emisores de luz versátil y potente que te permite conducir eficientemente cientos de LED en la configuración que desees, sin necesidad de calcular ni una sola resistencia de carga. Puedes instalar desde uno hasta 625 LED, y Peggy los iluminará para ti.


Peggy 2.0 ahora también es compatible con Arduino: admite la programación a través de un cable USB-TTL, utilizando el popular entorno de software de Arduino.

6voto

¿En qué disposición quieres los LEDs? Puedes ahorrar mucho trabajo si compras algunas matrices LED, puedes conseguir matrices LED de un solo color de 8x8 (64 LEDs) por un dólar o dos.

No vas a obtener verdadero PWM con un AVR y registros de desplazamiento en tantos LEDs, pero quizás puedas obtener 2-4 niveles de brillo. Tendrías que hacer los cálculos y ver qué es posible.

Allegro fabrica algunos registros de desplazamiento de corriente constante muy útiles específicamente diseñados para controlar matrices de LEDs, por lo que no necesitarás resistencias adicionales, lo que simplificará las cosas también. Es posible que no puedas alimentar los LEDs directamente desde la salida del AVR si no puede proporcionar suficiente potencia, por lo que necesitarás utilizar transistores. Puedes conseguirlos en arrays en un solo CI, lo que también ahorra trabajo.

5voto

Jim McKeeth Puntos 22637

No tengo idea del rango de PWM que necesitas para un LED, pero he estado trabajando en un controlador PWM de 64 canales para una aplicación de control de servo que puede darme pulsos de entre 600us y 2.4ms. Esto utiliza CD74HCT238E's (demultiplexores de 3 a 8 líneas) para generar 64 canales a partir de 8 pines de E/S en un ATMega168 y es controlable a través de comandos seriales simples. Supongo que podrías encadenar múltiples versiones modificadas de este controlador en una línea serial y dirigir todos los 500 LEDs... Probablemente podrías usar la versión de ATTiny2313 del controlador ya que tus requisitos de firmware serían más simples.

Mi blog contiene el código de ensamblador y los esquemas y detalles del proceso de diseño.

1voto

Craig Walker Puntos 248

Los chips controladores dedicados con interfaces serie probablemente sean la mejor opción. Trabajar con registros de desplazamiento individuales probablemente signifique un circuito muy complejo. Al menos Maxim y TI fabrican algunos. No recuerdo si alguno de ellos tiene un modelo particularmente adecuado para tanto.

Todavía se necesitará mucho hardware.

En cuanto a la potencia, la programación y los buses, es probable que la hoja de datos de cada controlador tenga la mayoría de la información que necesitas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X