¿Es posible controlar el LED con pines arudino combinados con PWM de IC?

1

Lo que estoy buscando hacer es una cuadrícula multiplexada de 16x16 LED con 2 bits de brillo (también conocido como 4 niveles de brillo). Podría haber una mejor manera de hacer esto.

He construido una red prototipo 8x8 con un Arduino Nano, funciona muy bien. Tengo 8 pines para conectar los ánodos y 8 pines a los cátodos. Estoy usando 3v 20ma 5mm LEDs

Pero, ya que arduino solo tiene 6 pines PWM, no puedo obtener la resolución que quiero. Estoy buscando obtener más pwm pins

Estoy viendo el CONTROLADOR DE LED PWM ADAFRUIT DE 24 CANALES DE 12 BITS, que proporciona 24 pines de PWM sobre SPI. Mientras 8x8 puedo hacerlo en el tablero, si quisiera hacer una matriz 16x16 mientras estoy conectado al Arduino. ¿Es posible usar pines del controlador LED para ejecutar los ánodos (16 de los 24 pines) con PWM mientras se usan 16 pines GPIO en el arduino para ejecutar los cátodos (para obtener más pines para multiplexación)? De mis experimentos, solo el ánodo necesita PWM, mientras que el cátodo solo necesita ser alto o bajo para la multiplexación. ¿El VCC para el controlador debe provenir de una fuente de alimentación?

¡Gracias!

    
pregunta dprogramz

1 respuesta

2

Cuando hace una cuadrícula de LED que deben ser multiplexados, no podrá hacer que PWM funcione para establecer el nivel de brillo para cada LED. La razón es que la multiplexación ya está cortando el tiempo visible de cada LED a un ciclo de trabajo bajo. Con su cuadrícula de 8x8, eso significa que cada LED solo está ENCENDIDO durante 1/8 del tiempo.

Si PWM tuviera un efecto significativo durante el intervalo en el que se encuentra el LED, tendría que (a) estar sincronizado con la velocidad de multiplexación y (b) estar ejecutando algún factor más rápido que la velocidad de multiplexación. Dado que ya desea que la velocidad de multiplexación sea bastante rápida para que los LED no se vean como si estuvieran parpadeando, parece que la idea de PWM no va a ser particularmente útil.

Creo que un mejor enfoque será ejecutar los ánodos multiplex de fila de matriz con un transistor que atraiga los ánodos LED al riel de suministro. Luego, tenga dos conjuntos de bits de columna, cada uno con un resistor de tamaño diferente seleccionado, de modo que los dos bits de columna puedan configurar las 4 combinaciones posibles de los resistores en serie a GND. Esto permitirá que cada LED encendido tenga una configuración de corriente adecuada para la selección de brillo para ese LED. (Interesantemente, probablemente querrá soportar un estado de LED apagado, por lo que en realidad con dos conjuntos de bits de columna solo obtendría tres niveles de brillo posibles).

Otro par de cosas a tener en cuenta:

  1. Cuando se multiplexan los LED en los que tienen un ciclo de trabajo bajo como 1/8, es necesario sobrecargar los LED a una corriente mayor que su corriente de estado estable nominal.
  2. Podría previsiblemente usar tres conjuntos de bits de columna para llegar a 7 niveles de brillo total más el nivel de apagado.
  3. El brillo del LED no es lineal con el ciclo de trabajo.

Esto muestra el concepto en forma esquemática:

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas