Sunday, November 18, 2007

Control de luminosidad para LEDs

Muchos de los proyectos que vi últimamente, hacen uso de LEDs y una de las variables fundamentales a controlar cuando usamos LEDs es su brillo. Mediante el control de brillo no solo se puede iluminar mas o menos, si no también controlar el color resultante cuando utilizamos LEDs RGB (componiendo un color). Se me ocurrió escribir este articulo de forma tal de enteder como funcionan la mayoria de los controles de intensidad de lumínica de LEDs.

Una de las manera de implementar un control de intensidad de lumínica para LEDs es usando una técnica denominada PWM, Pulse-Width Modulation en ingles y Modulación de Ancho de Pulso en español. La idea de este mecanismo de control de intensidad es la siguiente, dado un intensidad lumínica deseada y un periodo 'T' que porcentaje de 'T' estará prendido el LED. El tiempo de encendido se lo denomina ancho de pulso (ver grafico).

Por ejemplo, si durante el 50% de 'T' el LED esta prendido y el otro 50% de 'T' el LED esta apagado lograre obtener una intensidad lumínica que llamamos L1. Si ahora decido que el LED este prendido un 75% del tiempo 'T' y apagado un 25% del tiempo 'T' lograre una intensidad lumínica L2. Podemos pensar sin temor a equivocarnos que L2 > L1, es decir el LED presentara mas brillo para el caso de 75% encendido que para el caso de 50% encendido. Concluimos que el brillo será proporcional al porcentaje de ‘T’ en el cual se encuentre encendido el LED o dicho de otra manera al valor medio de la salida que controla el LED.

Ahora una pregunta que puede surgir, ¿No veré el LED titilando constantemente? La respuesta es NO, siempre y cuando 'T' este bien elegido. El sistema de visión humano tiene una persistencia, es decir no detecta los cambios de manera instantánea, por lo tanto si 'T' es lo suficientemente chico como para que el ojo no vea los cambios "prendido" a "apagado", no veremos al LED titilando, en cambio percibiremos un nivel de brillo que para nosotros será constante mientras mantengamos constante la proporción tiempo prendido, tiempo apagado de ‘T’. El valor máximo recomendado para ‘T’ es de 0,01 segundos.

Este tipo de control ya se encuentra implementado en plataformas como Arduino, CREATE USB Interface y otras.
El gráfico muestra tres situaciones distintas de PWM.
En el tercer caso, el tiempo de encendido es mas grande y como consecuencia sera el caso de mayor voltaje medio.

1 comment:

jb said...

Muy bueno el post.
Con respecto a lo de transformar porcentaje de tiempo prendido en nivel de brillo, al principio dije: "como?", y despues me di cuenta la maravilla del porcentaje. Si sacamos un 75% de 100 son 75, y si agarramos 10 de estos, vamos a tener 750, que por cierto es el 75% de 1000. Asi que el nivel de brillo pasa a ser el 75% (por que recibimos solo el 75% de la luz), y nosotros no percibimos el parpadeo gracias a la memoria de nuestros ojos! Muy bueno aprender esto