Buscando crear 36 canales de control PWM para escultura LED

5

Soy un escultor, no un EE, pero estoy tratando de incorporar LEDs controlables en una pieza en la que estoy trabajando, y podría usar algunos consejos para encontrar un enfoque práctico. Me gustaría poder controlar 12 canales separados (la pieza es un dodecaedro) de tiras RGB, y eso significa que necesitaré 36 salidas PWM, que es más de lo que tengo acceso en un Arduino. Por lo que puedo decir, necesitaré un escudo, algo como TLC5940 Breakout , aunque eso solo me da 16 PWM. Tendría que encadenar a tres de ellos, lo que sé que se puede hacer, pero me gustaría saber qué problemas podrían surgir. Algo así como Brilldea LED Painter también podría ser una solución, pero estoy relativamente presionado por el tiempo, por lo que algo pre-ensamblado sería un Bonito beneficio.

Soy nuevo en esto, así que no estoy seguro de la precisión de lo que acabo de decir, pero espero que algunos de ustedes puedan informarme sobre lo que podría ser un enfoque razonable. Gracias por tu ayuda.

    
pregunta the_koo

7 respuestas

4

En mi opinión, su enfoque en el uso de este tablero de ruptura por sparkfun suena muy bien :)

Las grandes ventajas son que esta placa proporciona 16 canales PWM que son programables a través de una interfaz serial tipo margarita, todas las entradas de LED son fácilmente accesibles y fáciles de rastrear.

También, probablemente ya lo sepa, si planea usar Arduino, una biblioteca que lo ayudará a manipular el conductor ya existe

En caso de que no lo hicieras, también deberías consultar su página principal del proyecto

Ya que dijo que está presionado, creo que esta solución le permitiría trabajar de manera rápida y fácil para que esos leds funcionen como usted quiere. ¡Buena suerte con su proyecto! :)

    
respondido por el Dan
6

Hay una biblioteca elegante de Arduino para realizar PWM a través de los registros de desplazamiento, llamada ShiftPWM . Se desarrolló más o menos específicamente para lo que se desea hacer (controle muchos LEDs RGB con un Arduino). Vi esto en Hack-a-Day hace varios meses. Se ve muy bien y tiene el potencial de controlar 768 LED (o 256 RGB) a 5 bits (es decir, 32 niveles de brillo) por canal de color (es decir, > 32000 colores posibles). Estoy deseando usar esta biblioteca en algún momento. Y solo ocupará tres pines en su Arduino: para serie, reloj y enganche al registro de cambios inicial (en la cadena). Esta biblioteca está diseñada para manejar algo como el registro de desplazamiento 74HC595, que es mucho más barato que el TLC5940.

    
respondido por el vicatcu
3

No necesitas PWM. Cualquier pin de salida (IO) en un microcontrolador funcionará.

Un PWM le permite establecer un ciclo de trabajo (tiempo de encendido / apagado) y luego se repite indefinidamente, lo que produce un brillo variable. Los pines IO se pueden activar y desactivar según un temporizador para lograr el mismo resultado. El PWM es técnicamente más preciso y puede cambiar más rápido que los pines IO, pero el ojo humano no puede ver la diferencia. El resultado será exactamente el mismo.

Así que necesitas un microcontrolador con 36 pines IO.

    
respondido por el spearson
1

(Disculpas por la publicación publicitaria, pero no se pudo ver ninguna forma de contactar al usuario directamente) Yo fabrico un atenuador DMX de 48 canales diseñado para manejar tiras de LED, lo que puede ofrecerle una solución de primera calidad. envíeme un correo electrónico a través de whitewing.co.uk

    
respondido por el mikeselectricstuff
1

Otra opción que quizás quieras considerar es:

enlace

No tengo conexiones con esta empresa, acabo de usar el producto.

    
respondido por el Jeff
0

Yo sugeriría usar registros de desplazamiento de corriente controlada y permitir que el cable de control de corriente sea controlado por la CPU (posiblemente al incluir uno o más cambiadores no controlados por corriente en la cadena y hacer que controlen los divisores de resistencia). Si desea un control de brillo de 6 bits y una velocidad de recarga máxima de 10 veces la tasa de PWM (por ejemplo, un máximo de una recarga por milisegundo para alcanzar una velocidad de cuadro de 100Hz), sugeriría que los seis bits de cada valor de PWM se dividan entre seis buffers de cambio (por lo que el bit N del buffer B sería el bit B del brillo del LED N). Luego, cada 10 ciclos, el patrón de recarga sería:

Cycle 0: Load all shifters with buffer 5, full current
Cycle 1-3: Keep same data in shifters
Cycle 4: Load all shifters with buffer 4, full current
Cycle 5: Keep same data in shifters
Cycle 6: Load all shifters with buffer 3, full current
Cycle 7: Load all shifters with buffer 2, half current
Cycle 8: Load all shifters with buffer 1, quarter current
Cycle 9: Load all shifters with buffer 0, 1/8 current

Este enfoque permitiría establecer la corriente promedio de 1/80 del pico máximo a 63/80 del pico máximo, en unidades de 1/80, utilizando una tasa de recarga que es solo 10 veces la velocidad de cuadros. Si uno quiere 256 niveles de brillo, podría agregar recargas a 1/16 y 1/32 de corriente (12 recargas por fotograma en lugar de 10). Eso permitiría establecer la corriente promedio de 1/384 a 255/384 con solo un modesto aumento en la tasa de recarga.

    
respondido por el supercat
0

Este enlace podría ser una opción. Tiene 32 LEDS direccionables RGB por tira y puede cortar la tira (si es un tutorial para eso) para que las coloque

    
respondido por el Hellonearthis

Lea otras preguntas en las etiquetas