Controlador de LED PWM ATtiny25 con control de brillo

2

Estaré construyendo una pieza de joyería RGB LED para mi amada para las vacaciones. Es básicamente un par de audífonos con uno o dos LED RGB en cada uno, con un pequeño controlador PWM basado en ATtiny25 en un gabinete pequeño. Será un bonito regalo para una chica guapa, para esas noches en las que se enoja conmigo y va a las discotecas: D

Probablemente podré diseñar el firmware yo mismo; sin embargo, ya que voy a tener unos cuantos centímetros de cable para cada teléfono, necesito algún tipo de controladores LED, y ahí es donde no estoy seguro de cómo proceder.

La idea básica es que todos los LED muestren el mismo color en un punto determinado. La MCU se desvanecerá en todos los colores en secuencia utilizando el software PWM. Sin embargo, también me gustaría implementar un control para el brillo general de los LED (una vez que el ruido ambiental supera un cierto nivel, comienza a latir junto con él, como un medidor VU). Estoy pensando en un MOSFET de 'brillo' controlado por PWM para controlar, um, el voltaje de fuente (?) A los otros tres MOSFET de 'color'. ¿Es este el camino a seguir?

Tengo muchos BS170 y no mucho más en cuanto a FET (BF245, 2N5457 JFET), así que eso es lo que probablemente voy a usar. Estoy pensando en hacer un SMD completo en esto ... de todas formas, solo tengo el tiny25 en SOIC.

    
pregunta avramov

2 respuestas

3

Aquí hay otra idea para agregar a las buenas sugerencias propuestas por otros. Si va a utilizar LED RGB, debe tener en cuenta los requisitos de alimentación del dispositivo. Los LED azules en el paquete RGB LED tienen un alto requerimiento de voltaje de avance, por lo que prácticamente necesitará una batería de litio de 3.6 voltios o una batería de 9 voltios. La batería de 3,6 voltios es apenas adecuada para un LED azul; digamos que selecciona su resistencia limitadora de corriente en función de este voltaje nominal y la tensión disminuye unas pocas décimas de voltio a medida que se descarga la batería: los LED azules perderán brillo rápidamente. Usted termina condenando a su SO para que lleve consigo una batería de 9 voltios toda la noche o varias baterías de 3,6 voltios en serie, lo cual es voluminoso.

El estándar ATTiny es bueno a 10 mHz a 2,7 voltios, y tiene dos canales PWM y cuatro convertidores AD. Lo estará arrastrando simplemente controlando un par de LEDs; debe haber un montón de espacio de código disponible para utilizar el segundo canal PWM para implementar un convertidor de refuerzo simple. El convertidor puede tomar un voltaje de batería apenas adecuado y aumentar / regularlo para mantener estable la salida de luz de un LED azul a medida que la batería se descarga. Esto abre todo tipo de posibilidades para baterías livianas; Podría usar 2 A triples alcalinas, por ejemplo, para una vida realmente larga. Hay otra ventaja de este esquema: puede modular dinámicamente el voltaje de la fuente de alimentación del LED dependiendo de qué LED se estén utilizando. Cuando los LED azules están encendidos, bombee el voltaje hasta lo que sea necesario para darles el brillo requerido. Cuando estén apagados, vuelva a colocar el suministro justo por encima del voltaje de salida de la batería para los LEDS rojo y verde. Esto debería proporcionarle un importante ahorro de energía.

Si descubre que al usar una fuente de alimentación de 3 voltios, el ATTiny estándar se daña en algunas condiciones cuando se alimenta directamente de la batería / baterías, puede intentar usar la parte de bajo voltaje, o puede configurarlo para que el voltaje directo de la batería simplemente lo inicia, y luego ejecuta el chip desde el suministro reforzado.

    
respondido por el Bitrex
2

ATTiny25 hoja de datos aquí .
 6 pines de E / S

Si conduce los LED RGB, necesita al menos 3 voltios y preferiblemente más.

Los LED deben estar controlados por corriente, no por voltaje. Tratar de controlar los voltajes conducirá a un voltaje masivo: brillo no lineal.

Tratar de hacer un control de brillo general es factible, pero dados los pines limitados y más, esto exige una solución de software.

Como todos los LED son del mismo color y brillo en un momento dado, el control RGB necesita 3 pines.

    Los LED
  • se alimentan desde una fuente de voltaje a través de una resistencia o una fuente de corriente constante, de modo que cuando están encendidos funcionan con el brillo deseado total para ese LED. Eso establece una corriente máxima que luego PWM activa / desactiva para variar la corriente.

  • Encendido / apagado de PWM LDs = brillo máximo o apagado.

    • Ajuste los ciclos de trabajo PWM entre sí para obtener el color deseado.
  • Luego multiplique cada ciclo de trabajo PWM por un factor de escala de brillo común.

  • , por ejemplo, digamos que tiene PWM de 8 bits y que una combinación de colores requiere un brillo de 8: 3: 5.
    El valor máximo de PWM a pleno brillo es de 255 conteos, por ejemplo. Asi que 8 canales está configurado a 255.
    3 canales se ajustan a 3/8 x 255 = 86 cuentas.
    5 canales = 5/8 x 255 = 159 cuentas.

El LED ahora es tan brillante como puede ser en ese color.
 Si se desea un 10% de brillo relativo, puede escalar los conteos de PWM a 26, 9, 16

Esto significa que el brillo máximo disponible variará con el color.

  • Lo siguiente está escrito a toda prisa.
    Se cree que el concepto es correcto, pero puede ser muy difícil de entender, pregunte si no está claro.

Si desea un brillo constante para todos los colores, entonces tendrá que limitar el brillo que las combinaciones pueden alcanzar hasta el máximo que se puede alcanzar por cualquier color por sí mismo = 255 cuentas. Como, por ejemplo, el rojo es n = más ineficiente que el azul, esto podría significar que el conteo máximo del rojo es de 150 conteos, pero el azul máximo = 255

Un mejor método puede ser ajustar las fuentes de corriente por color para obtener el brillo máximo en orden inverso de eficiencia, de modo que cuando el 100% de cada color tenga el mismo brillo, todos tengan el mismo brillo.

por ejemplo, digamos que los brillos relativos a la misma corriente para R G B son 10: 6: 4 (inventados), luego, al configurar las corrientes de brillo total en la relación inversa, se puede tratar a cada uno igual en lo que respecta al controlador por brillo. por ejemplo,
 Rojo = 6ma,
 Verde = 10mA,
 Azul = 15 mA
 o 12,20, 30 mA o lo que sea.

LUEGO, el brillo máximo por LED con los 3 encendidos no debe tener más de 85 conteos cada uno = 3 x 85 = 255 conteos sumados - Como cualquiera no puede ser > 255 por sí mismo.  Tan lleno rojo = 255 0 0.

Estos pueden reducirse aún más mediante PWM ing para el control de brillo.

Si puede obtener 3 juegos de unidades de LED, usted y su amado no se arrepentirán. Esto permite la acción del cazador de luz con colores que rezuman a lo largo de collares, etc.

Hace años hice un proyecto para terminar en menos de una hora que tenía un LED de unidad PIC en un halo de ángel con envoltura de oropel y batería de vuelta. Todos los LED son del mismo color, pero funcionan como cazadores de luz. El programa básico, escrito en minutos, recorrió el flash, giró a la izquierda, rodó a la derecha, etc. Mi hija la usó como parte del disfraz en una fiesta. Un poco tenue en la luz de la habitación pero efecto fantástico en la pista de baile. Que mas color !!!!!!!!

6 IO de ATTiny permite 3 x 3 mux = 9 = 3 juegos o podría agregar un IC de E / S pequeño.

    
respondido por el Russell McMahon

Lea otras preguntas en las etiquetas