Atenuación de 6 pantallas LED grandes de 8 segmentos azules

esquemático
(fuente: perceptionart.com )

Estoy haciendo un reloj, usando 6 pantallas azules bastante grandes de 7 segmentos. Me pregunto 2 cosas.

  1. ¿Necesito un condensador de derivación en el suministro de 12 V para cada chip UDN2981?

  2. ¿Cómo puedo controlar la atenuación de todo a la vez? Identifiqué 3 opciones como posibles soluciones: A - un transistor en el punto A (en el esquema), controlado por Arduino por PWM (que a su vez sería controlado por un potenciómetro a través de Arduino) B - un potenciómetro en el punto B (12V suministro) C - algún tipo de regulador de voltaje en el punto B.

  3. Cualquier corrección o sugerencia a mi esquema es bienvenida.

Cualquier ayuda sería muy apreciada. Gracias de antemano.

No pondría un transistor en la base de la palanca de cambios, ya que es posible (aunque no probable) restablecer la RAM. Un potenciómetro no atenúa los LED, se calentará mucho. Te recomiendo que cortes eso. si la frecuencia del controlador de la fuente es lo suficientemente alta, debe "parpadear" los LED. (póngalos para Xms y apáguelos para Yms.) y eso determinará el brillo.
El parpadeo de los LED parece causar parpadeo en lugar de una disminución en el brillo. ¿Quizás el registro de desplazamiento es la causa de esto?

Respuestas (2)

1) Poner 0.1 uF en cada UDN2981 es una buena práctica, pero no me volvería loco con el desacoplamiento. No tiene ninguna "inteligencia" que se confunda (no hay lógica secuencial que se estropee como una CPU o un registro de desplazamiento o cualquier cosa elegante). Es solo un búfer de poder tonto. Y su MCU ya está en un regulador separado de todos modos.

2) Para la atenuación, el lado alto no es el mejor (requiere convertidor de nivel), y PWM en GND de UDN2981 puede no funcionar correctamente. El más simple es usar un MOSFET de canal N para activar las conexiones GND de todos los LED y controlar la puerta con su señal PWM. Los MOSFET de canal N son muy eficientes (resistencia 2 veces menor que el canal P del mismo tamaño de matriz). Pero también puede usar NPN bipolar como 2N2222 con una resistencia base si quiere un poco más barato.

1) ¿Qué clasificaría como 'volverse loco'? ¿Usas más de 1 gorra?
2) Probaré con el MOSFET, gracias. Supongo que tendré que observar las clasificaciones de corriente y potencia aquí, considerando que GND se hundirá 6 * (3 * 7 + 1) = 132 LED azules. ¿Me podrías ayudar a descifrar esto? Estimo 1.4A y 17W, pero puedo estar muy lejos...
¡Esperar! Finalmente descubrí cómo ver su pequeño esquema desde la fuente para que sea legible. Un par de problemas: 1) conducir LED azules individuales de 12V es una mala idea. La mayor parte de la energía se gasta calentando la resistencia, no encendiendo el LED. ¿Los LED son realmente LED individuales o son de 12 V? , 2) hacer que la salida PWM controle el OE de cada registro de desplazamiento funcionará bien para atenuarlo, pero necesita un menú desplegable de 10k (máx.) en cada salida de registro de desplazamiento (consulte la hoja de datos UDN2891). Sin este PWM, probablemente no funcionará porque el equipo original hace que las salidas pasen a tres estados.
Mi esquema no es del todo correcto, lo siento. 7 de los 8 segmentos son en realidad 3 LED en serie, por lo tanto, los 12 V (3,3 V cada uno). DP es solo 1 LED.
Probé resistencias de 10k en las salidas del registro de desplazamiento y no hubo cambios. Los segmentos apagados simplemente permanecen en un nivel de intensidad bajo por alguna razón.
Parece que primero debe depurar la sección UDP2891 antes que nada. ¿Tienes un osciloscopio? Asegúrese de que la entrada se mantenga baja en los segmentos que se supone que deben estar apagados. Podría ser que su código esté enviando pulsos cortos accidentalmente. Además, ¿el GND de 5V y 12V está unido?
No osciloscopio, lo siento. Aunque me gustaría conseguir uno. Revisé mi código, no hay señales falsas que pueda ver. He intentado incluirlo aquí, pero es demasiado largo. GND de 5V y 12V están conectados.

1) Necesita un capacitor de derivación cada vez que espera que el voltaje caiga repentinamente (generalmente por transistores grandes o por muchos transistores pequeños que se encienden y apagan) Dado que está encendiendo y apagando los LED, sí necesita capacitores de derivación en cada IC . Esto se debe a que cada pieza de cobre también tiene algunos uH-nH (según el tamaño/ancho) de inductancia, por lo que cada IC es realmente una carga dinámica y convierte su sistema de energía en un filtro.

2) La atenuación se puede lograr controlando el voltaje del interruptor LED (suponiendo que el UND2981 pueda manejar una amplia gama de voltaje en VCC, búsquelo en la hoja de datos O la atenuación generalmente se logra a través de PWM, simplemente busque en Google "PWM led"

1) Gracias por eso, muy útil. 2) el UDN puede manejar 5-50V. Pero, ¿cómo podría controlar el voltaje del interruptor? En cuanto a PWM para atenuar los LED, no parece funcionar. ¿Quizás el registro de desplazamiento interfiere con este método?