Disculpas de antemano por perder probablemente muchas cosas. Soy bastante nuevo en electrónica.
Estoy construyendo un array multiplexado de 128 led (monocromo), impulsado por un Arduino. Estoy usando un 74HC595 como la fuente actual y un TLC5940 para hundimiento y PWM. La salida consta de una matriz de leds de 8 (74HC595) x 16 (TLC5940). Cualquier número de leds puede estar encendido en un momento dado.
Estoy realizando la multiplexación activando una columna con el 595, una a la vez, y luego estableciendo los valores adecuados para PWM para el TLC, iluminando las filas de una columna al valor deseado.
La multiplexación ya funciona bien, pero la escala se convierte en un problema con la matriz 8x6 actual que he construido (6 de 16 hasta ahora conectadas al TLC). Estoy bastante seguro de que mi problema es que encender una columna con el 595 no puede suministrar suficiente jugo para los 16 leds que contiene. Los leds tienen una tensión directa de 3.3 V con una corriente de 20 mA. Esto significaría que los 16 leds en serie consumirían ~ 53V @ 320mA, que está muy por encima de lo que el 595 puede proporcionar y el TLC puede hundirse. ¿Cómo me gustaría hacer este trabajo? ¿Hay algo de magia que pueda hacer en el software para ayudar con esto (supongo que no)?
He estado considerando agregar una matriz Darlington (algo como ULN2803) para aumentar el voltaje a 50 V por canal. Supongo que esto estaría bien si todos los 16 leds estuvieran encendidos al mismo tiempo, pero si solo 1 está en el led, seguramente se freirá. Debido a esto, creo que necesito poder agregar una resistencia que cambie de valor dependiendo de cuántos leds estén encendidos en un momento dado. Estaba pensando en poner un potenciómetro digital para hacer esto, pero me parece un poco excesivo. ¿No he encontrado una buena solución para conectar esto (sin poner uno solo en cada salida 2803)?
Idealmente, mantendría el circuito bastante simple, pero estoy abierto a ideas, por lo que cualquier sugerencia es más que bienvenida. Además, no me sorprendería si me estuviera perdiendo totalmente el punto sobre el problema ...
Si lo que estoy tratando de hacer no está lo suficientemente claro, puedo crear un esquema para ello
gracias