Controlador y Drivers RGB para leds de alta potencia

#1



En este artículo describo un cambiador de colores RGB automático para leds de altísima potencia con control de la intensidad luminosa a través de un sistema del tipo PWM.



La unidad de control que propongo controla tres drivers de potencia. Para simplificar el trabajo de conexión entre módulos, los conectores de salida de la unidad de control son compatibles con los de entrada de los drivers.



El proyecto usa el microcontrolador PIC12F629 de la Microchip. Debido a que el programa no usa ninguna de las funciones especiales del micro (timmer, adc, etc.), con pequeñas modificaciones del listado se puede reemplazar el modelo de micro por cualquier otro micro de la microchip. La velocidad de transición de los colores, es decir, el ritmo de cambio, se puede regular con el trimmer montado sobre la plaqueta.



En paralelo con el trimmer, he previsto dos contactos de salida para poder conectar un potenciómetro en lugar de este. Para la función de cambio automático de colores, el uso de un potenciómetro no se justifica pero nuestra plaqueta podría ser usada en futuro como un sistema de regulación manual de intensidad (modificando previamente el software) y en este caso es cómodo tener ya disponibles los contactos de salida. He previsto también otras dos contactos de salida que podrían ser usados para modificar la modalidad de funcionamiento del sistema. Por ejemplo, se podría hacer en modo que cuando los contactos se unen a través de un interruptor, el ciclo de cambio de color se detenga en un cierto punto. La versión actual del software no usa estos contactos.



El cambiador de color dispone de tres canales idénticos pensados para se conectados a leds RGB (rojo, verde, azul) e varia continuamente la intensidad de cada uno de ellos. Como el ciclo de encendido y apagado es levemente distinto entre los 3 canales, nunca se repite la misma condición de iluminación obteniendo así todos los colores posibles del espectro cromático con transiciones progresivas y visivamente muy sugestivas. Cuando los tres canales se encienden a la máxima potencia se obtiene el color blanco.



El sistema de control de la intensidad luminosa es del tipo PWM, es decir, modulación por ancho de impulso. El circuito está pensado para trabajar con una tensión de alimentación entre 9V y 18V . El regulador 78L05 reduce esta tensión a 5V para alimentar el micro. La corriente que va a los leds a través de los drivers no pasa por este regulador por lo tanto podemos usar le versión 78L05 de baja corriente, que es muy pequeña y económica (parece un transistor). Los capacitores de 100nF y de 22uF 25V sirven para filtrar la alimentación. Con una tensión más baja de 9V, el regulador 78L05 no sería en grado de entregar correctamente los 5V necesarios para el funcionamiento del micro. Por otro lado, una tensión de alimentación muy elevada haría disipar mucha potencia en los mosfet de los drivers. Depende de la cantidad y de la potencia de los leds conectados.

Los driver de potencia

Los reguladores de corriente se pueden hacer de diferentes maneras: con transistores, con mosfet de potencia o con reguladores lineales de tensión conectados en modo particular. Todos usan el mismo principio de funcionamiento: una resistencia de bajo valor en serie con el led (generalmente llamada shunt) que "mide" la corriente que pasa por ella y controla el circuito que regula la corriente.

El modelo que les propongo usa un mosfet de canal N como regulador porque lo considero el más eficiente y al mismo tiempo simple de hacer. Para los que no tienen disponible en el cajón de componentes un mosfet de canal N de potencia, se puede usar también un transistor NPN de potencia manteniendo el mismo circuito impreso. Aunque si el resultado es menos eficiente nos puede sacar de apuros. El circuito es una típica fuente de corriente constante y es realmente simple de hacer.

¿Como funciona el driver?

El "gate" del mosfet recibe una tensión positiva a través de la resistencia de 47K y por lo tanto conduce. Esta conducción enciende el led y produce una caída de tensión sobre la resistencia en serie con el led. Si la corriente aumenta, también aumenta la caída de tensión y si supera la tensión de umbral de la base del transistor, este último, empieza a conducir disminuyendo la tensión de gate del mosfet y reduciendo de consecuencia la corriente sobre el led (realimentación negativa). Por lo tanto, la corriente sobre el led depende del valor de la resistencia en serie. El defecto de este circuito es que parte de la potencia consumida se pierde en forma de calor en el mosfet. Por lo tanto, es necesario agregarle un disipador térmico.



Potencia disipada en los mosfets y rendimiento general

La potencia disipada en el mosfet de cada driver depende de la tensión que cae sobre este y de la corriente que hacemos pasar para alimentar al led. Por lo tanto, podemos mejorar la eficiencia del circuito disminuyendo la tensión de alimentación.

Hagamos un ejemplo sobre este punto. Si conectáramos un led de 3V y 600mA (2 Watt) a nuestro circuito alimentado por 12V, el mosfet disipará:

Pfet = (Vpower - Vled - Vres) * Iled = (12V - 3V - 0,6V) * 0,6A = 5 Watt

Si usáramos en vez una alimentación de 9V:

Pfet = (Vpower - Vled - Vres) * Iled = (9V - 3V - 0,6V) * 0,6A = 3,24 Watt

Como podemos ver, la potencia disipada por el mosfet en el segundo caso se reduce bastante. Además, en el primer caso con 12V, el rendimiento del circuito es muy bajo porque de los 7,3 Watt que consume, 5 Watt se pierden en forma de calor sobre el mosfet. De cualquier manera, no siempre se dispone de la tensión justa para reducir la potencia disipada por el mosfet. Si tenemos disponibles solamente 12V podemos mejorar el sistema conectando 2 o 3 leds en serie (dependiendo de la tensión de cada uno). Por ejemplo, usando 3 leds de 3V y 600mA:

Pfet = (Vpower - Vled1-Vled2-Vled3-Vres) * Iled = (12V-3V-3V-3V-0,6V) * 0,6A = 1,44 Watt

Es decir, casi todo el consumo del circuito es usado por los leds mientras que una mínima parte se pierde en el mosfet. La conclusión es simple: conviene alimentar el circuito con una tensión poco superior a la suma de las tensiones de umbral de los leds conectados.




La pregunta surge natural: ¿Cuanto poco superior? Bien, si la tensión de alimentación fuera igual a la suma de las tensiones de umbral de los leds conectados el circuito dejaría de funcionar porque el mosfet no es un componente ideal y un mínimo de tensión cae sobre él. A esto se le suma la tensión de 0,6V que cae sobre la resistencia en serie y que permite de regular la corriente. He hecho pruebas directamente con el circuito propuesto y la tensión mínima necesaria para que funcione correctamente es de 2,5V por encima de la tensión del led (o de los leds conectados en serie). Para mayor seguridad aconsejo 3V.

¿Como regulamos la corriente?

Como hemos dicho, la corriente que obtenemos para alimentar el led depende solamente del valor de la resistencia en serie y su valor se puede calcular a través de esta sencilla fórmula:

R = 0,6V / Iled

Si por ejemplo, quisiéramos hacer pasar una corriente por nuestro led (o leds) de 0,3A (o 300mA) :

R = 0,6V / 0,3A = 2 ohm

Si quisiéramos hacer pasar una corriente por nuestro led (o leds) de 0,6A (o 600mA) :

R = 0,6V / 0,6A = 1 ohm



Debido a las pequeñas tolerancias de los componentes, la corriente real puede ser ligeramente diferente. Por ejemplo, en el prototipo, para obtener la corriente de 0,3A he debido conectar una resistencia de 1,8 ohm en lugar de una de 2 ohm. Por el hecho que en comercio muchos valores intermedios de resistencia no existen, puede ser necesario aproximar el valor manualmente conectando resistencias en serie y en paralelo.

¿Cuanto disipa la resistencia de los drivers?

La resistencia en serie disipa bastante poco. Por ejemplo en nuestro caso de 0,6A:

Pres = I * Vres = 0,6A * 0,6V = 0,36 Watt

Para tener un buen margen de trabajo con distintos valores de corriente yo sugiero de conectar una resistencia de 1Watt (o menor en el caso de 2 o más resistencias conectadas para aproximar el valor justo de corriente).

¿Que potencia máxima podemos controlar con los drivers?



En realidad, nuestro circuito puede trabajar con corrientes mucho más elevadas de los ejemplos que hemos presentado (5A o más) aunque si será necesario considerar algunos aspectos:

1.reducir al mínimo indispensable la tensión de alimentación del circuito (solamente 3V por encima de Vled)

2.usar una resistencia en serie de potencia adecuada

3.agregar al mosfet un disipador que sea en grado de mantener la temperatura "bajo control"


Consideraciones prácticas para los que recién empiezan con los microcontroladores

No obstante la disponibilidad del listado software ya "listo para usar", hacer proyectos con microcontroladores no es el máximo de la simplicidad, especialmente para los que recién empiezan con la electrónica. El problema mayor consiste en grabar en la memoria del micro nuestro programa. Se necesitan fundamentalmente dos cosas: un programador y un ambiente software que controle el programador y permita da compilar nuestro programa. Yo uso como ambiente software de desarrollo un programa que se llama MPLAB y esta hecho por la misma Microchip. Es gratis y se puede descargar directamente desde el sito. El programador que yo uso se llama PicStart Plus y lo he comprado tantos años atrás. En internet se encuentran muchos proyectos de programadores, algunos de ellos realmente bien hechos.

Informaciones para la programación del PIC

La frecuencia de trabajo del reloj es 4MHz del oscilador interno (sin cristal de cuarzo) . Las opciones son:

OSCILATOR: INTERNAL RC NO CLOCK (también indicada como: IntOSC GP4)
WATCHDOG TIMER:ON
MASTER CLEAR ENABLE: INTERNAL


el resto de los parámetros no es importante para este proyecto (creo :?).

Link para bajar el software del micro: http://www.inventable.eu/media/29_Controlador_leds_rgb_con_velocidad/LedCambiaColorConTrimmer.zip

Bien, aquí termina el post. Para mayor información pueden visitar mi blog http://www.inventable.eu
¡Hasta la próxima! :)

 

VBmaniaco

Bovino maduro
#2
Gracias por el aporte :) lo montaré dentro de poco, deberías de ver los nuevos pics que traen 4 módulos pwm, e incluso hay otros que taen más pwm (de momento se me ocurre por ejemplo el pic16f690, o el pic16f1934), así podrías mejorar tu control ya que lo podrias hacer por hardware. Felicidades y gracias nuevamente por tu aporte, saludos.
 
#3
Gracias por el aporte :) lo montaré dentro de poco, deberías de ver los nuevos pics que traen 4 módulos pwm, e incluso hay otros que taen más pwm (de momento se me ocurre por ejemplo el pic16f690, o el pic16f1934), así podrías mejorar tu control ya que lo podrias hacer por hardware. Felicidades y gracias nuevamente por tu aporte, saludos.

Gracias por tu comentario. Si es posible, me gusta más implementar las funciones especiales a través de puro software que no usar módulos específicos de un cierto micro para no quedar enganchado a ese modelo de micro. Pienso que así sea más didáctico y que el código sea realmente universal (por ejemplo, los micros que mencionas tienen 20 pins y sería ya necesario re proyectar nuevamente el circuito impreso)
 
Arriba