74HC595 +TLC5940 multiplexando 128 leds -> potencia insuficiente

Disculpas de antemano por probablemente perder muchas cosas. Soy bastante nuevo en electrónica.

Estoy construyendo una matriz multiplexada de 128 ledes (monocromática), impulsada por un Arduino. Estoy usando un 74HC595 como fuente de corriente y un TLC5940 para hundimiento y PWM. La salida consta de una matriz de LED de 8 (74HC595) x 16 (TLC5940). Cualquier número de leds puede estar encendido en un momento dado.

Estoy haciendo la multiplexación encendiendo una columna con el 595, uno a la vez, y luego configurando los valores apropiados para PWM para el TLC, iluminando las filas en una columna al valor deseado.

La multiplexación ya funciona bien, pero la escala se convierte en un problema con la matriz actual de 8x6 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 proporcionar suficiente energía para los 16 ledes que contiene. Los leds tienen un voltaje directo de 3.3V con corriente de 20mA. Esto significaría que los 16 LED en serie consumirían ~ 53 V @ 320 mA, que está muy por encima de lo que puede proporcionar el 595 y el TLC puede hundirse. ¿Cómo haría para hacer que esto funcione? ¿Hay algo de magia que pueda hacer en el software para ayudar con esto (supongo que no)?

He estado buscando agregar una matriz Darlington (algo así como ULN2803) para aumentar el voltaje a 50 V por canal. Supongo que esto estaría bien si los 16 LED estuvieran encendidos al mismo tiempo, pero si solo 1 está encendido, el LED seguramente se freirá. Debido a esto, supongo que necesito poder agregar una resistencia que cambie de valor dependiendo de cuántos LED estén encendidos en un momento dado. Estaba pensando en poner un potenciómetro digital para hacer esto, pero se siente un poco exagerado + ¿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, ¡así que cualquier sugerencia es más que bienvenida! Además, no me sorprendería si me estoy perdiendo por completo el punto sobre el problema.

Si lo que estoy tratando de hacer no está lo suficientemente claro, puedo crear un esquema para ello

gracias

No tiene sentido por qué necesita un voltaje más alto. Necesitará una corriente alta ya que una fila de LED estará encendida a la vez, y la corriente debe ser grande para compensar el ciclo de trabajo pequeño. Pero, el alto voltaje no tiene sentido. Muestre el esquema.
Sí, estaba adivinando algo en esa dirección (= yo estaba totalmente fuera de lugar). Supongo que necesito aumentar la cantidad de miliamperios como entrada, ¿entonces? Por lo que entiendo, el 595 puede proporcionar hasta 35 mA por salida. Básicamente 74HC505->35mA->X->320mA->16x20mA (es necesario averiguar X). Voy a crear un esquema para lo que estoy pensando
Debo señalar que el esquema proporcionado por Majenko es exactamente lo que tengo (a excepción de R1 y Q1 hasta ahora, por supuesto).
AFAIK, la matriz darlington mencionada permitirá que la fila consuma hasta 500 mA de corriente .
¿Puedes echarle un vistazo a esta pregunta? electronics.stackexchange.com/questions/85807/…

Respuestas (3)

Si estuviera ejecutando los LED en serie, entonces sí, necesitaría un voltaje más alto. Sin embargo, no lo está; de lo contrario, todos estarían encendidos o apagados. Los estás ejecutando en paralelo.

Por lo que entiendo de su descripción, tiene una salida del '595 que ingresa al ánodo de todos los LED de una columna. Los cátodos de estos LED luego van a entradas separadas del TLC para PWM.

Y, como dices, el '595 puede suministrar 35 mA de corriente por salida. Eso es suficiente para encender un LED de forma fiable.

Deberá suministrar 6 veces esa corriente para 6 LED.

La forma más sencilla sería usar un solo transistor y resistencia por columna. Por ejemplo, la salida del '595 se conecta a la base de un transistor PNP a través de una resistencia de 1 KΩ (por ejemplo). El emisor se conecta a Vcc, y el colector se conecta a los LED de la misma manera que solía hacerlo la salida del '595. Cuando el '595 establece una salida baja, enciende el transistor que luego permite que la corriente fluya desde Vcc a los LED.

ingrese la descripción de la imagen aquí

  • No sé qué hace el TLC5940 en cuanto a la limitación de corriente; no he mostrado ninguna resistencia limitadora de corriente que pueda ser necesaria para los LED si el TLC5940 no lo hace por usted.

No puedes usar el TLC con, por ejemplo. un ULN2803 ya que ambos son sumideros de corriente. Necesita algo que pueda ser una fuente de corriente, que puede ser un transistor.

Suena como una solución razonable. Solo un pequeño punto en la resistencia base de los transistores: si necesita hundirse ~ 200 mA o más, entonces usar un valor inferior a 10k sería una buena idea para asegurarse de que la ganancia del transistor no limite la corriente (por ejemplo, suponiendo una ganancia conservadora de 100, luego 3.3V/10k = 0.33mA 0.33mA * 100 = solo 33mA). Tal vez usaría algo como 1k.
Verdadero. Estoy más acostumbrado a trabajar con 5v y conmutación de lado bajo NPN. voy a editar
Por supuesto, debería haber dicho (3.3V - 0.7V) / 10k = ~0.26mA para la corriente base.
Lo suficientemente cerca :P
¡Esto funcionó muy bien! Realmente aprecio la explicación también, ahora entiendo mucho mejor lo que estaba sucediendo

Debe usar un transistor pnp como interruptor de lado alto. Use el 595 para conducir el transistor (0 está encendido, 1 está apagado) a través de una resistencia para limitar la corriente base. El transistor discreto podrá generar mucha más corriente que el registro de desplazamiento.

A diferencia de lo que otros han dicho, no necesita un interruptor de lado alto PNP. Esa es una opción, pero un seguidor de emisor NPN es aún más simple. Conecte el colector al suministro de 5 V, la base directamente a la salida lógica del controlador de columna de 0-5 V y el emisor se convierte en una fuente de voltaje para esa columna. La salida lógica digital solo tiene que suministrar la corriente de columna dividida por la ganancia del transistor. Por ejemplo, si la corriente de la columna es de 300 mA y la ganancia del transistor es de 80, entonces la salida digital solo necesita generar 4 mA.

Este esquema proporciona hasta aproximadamente 4,3 V, lo que deja aproximadamente 1 V para el interruptor del lado bajo y la resistencia limitadora de corriente. En este caso, usaría NPN como interruptores laterales bajos.