Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

02/09/2012 #1

Avatar de inventable

Controlador y Drivers RGB para leds de alta potencia




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_Co...ConTrimmer.zip

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

03/09/2012 #2

Avatar de dinoelectro

excelente, este es el tipo de proyectos que deberia estar entre los destacados, felicidades...

solo tengo una duda, dices que no utilizas el ADC, entonces como realizas la lectura de los potenciometros???

saludos!!!
04/09/2012 #3

Avatar de inventable

dinoelectro dijo: Ver Mensaje
excelente, este es el tipo de proyectos que deberia estar entre los destacados, felicidades...

solo tengo una duda, dices que no utilizas el ADC, entonces como realizas la lectura de los potenciometros???

saludos!!!
Muchas gracias dino. La lectura del pote la hago midiendo el tiempo de carga del capacitor de 100nF. Este se carga a través del pote y por lo tanto así logro determinar el valor de resistencia del pote. Para medir el tiempo de carga, uso dos registros de memoria de 8 bits (16 bits en total) como contadores. Funciona así:

1. en reposo, descargo el capacitor metiendo el pin GP5 del micro como salida y a nivel lógico 1 (a positivo). La resistencia de 330 sirve para limitar la corriente de descarga (para no dañar el micro). En el programa pongo a cero el contador.

2. Cambio GP5 como entrada y lanzo el contador que se incrementa automáticamente mientras que la tensión de GP5 desciende y la lectura da nivel lògico 1. Cuando la tensión del capacitor llega cerca de 0, el nivel lógico de la entrada de GP5 cambia a 0 y detengo el contador leyendo el valor obtenido.

Hasta luego
04/09/2012 #4

Avatar de Scooter

Muy bueno, muy bien documentado y explicado.
Enhorabuena.
04/09/2012 #5

Avatar de dinoelectro

El metodo de carga del capacitor ya lo conocia, esta muy bueno el proyecto.. ahora mismo me pongo a revisar el firmware, gracias otra vez!!!
04/09/2012 #6


controlador y driver RGB para leds alta potencia
Inventable, excelente tu aporte.
11/09/2012 #7

Avatar de inventable

Gracias por vuestros comentarios!!!!
11/09/2012 #8

Avatar de rascueso

Muy muy muy bueno loco.... mis felicitaciones. saludos
25/10/2012 #9


hola perdon y a lo mejor mi pregunta suena tonta pero... hasta cuantos leds puedo poner en serie??? con este circuito
24/05/2013 #10

Avatar de inventable

En serie depende de la tensión de alimentación y de la suma de tensiones de los leds. Por ejemplo, con leds blancos de 3,5V y 13,6V de alimentación puedes conectar 3 leds.
24/05/2013 #11


Felicitaciones, que mas puedo decir, ya lo dijiste todo.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.