Autor Tema: Controlador y Drivers RGB para leds de alta potencia  (Leído 8535 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado inventable

  • PIC10
  • *
  • Mensajes: 13
Controlador y Drivers RGB para leds de alta potencia
« en: 02 de Septiembre de 2012, 14:30:06 »


Hola para la gente de TODOPIC. 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.
¡Hasta la próxima!  :)

« Última modificación: 02 de Septiembre de 2012, 14:42:05 por Suky, Razón: Cambiar a tamaño de letra normal... »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #1 en: 02 de Septiembre de 2012, 14:45:27 »
Muy bueno, gracias por compartir!

Off topic: Las imágenes, como la 3º y 6º, con que software la realizas?

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3499
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #2 en: 02 de Septiembre de 2012, 14:55:18 »
Ya lo añadí a favoritos... ((:-))
Saludos desde Granada, España.

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #3 en: 03 de Septiembre de 2012, 06:46:39 »
Excelente trabajo y presentación  ((:-))

Una pregunta: El valor de 0.6V en la resistencia... ¿cómo se obtiene?

He visto casos en los que se menciona 0.5V y 0.2V pero no nunca conseguí establecer el por qué... ¿depende del mosfet usado quizá?

Off topic: Las imágenes, como la 3º y 6º, con que software la realizas?
Me pregunto lo mismo

un saludo

Desconectado lmtreser

  • PIC16
  • ***
  • Mensajes: 131
    • Automatismos Mar del Plata
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #4 en: 03 de Septiembre de 2012, 13:35:50 »
Excelente proyecto y muy didáctico. En especial por la gráfica de los PCBs.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #5 en: 04 de Septiembre de 2012, 01:19:22 »
Muy bueno, gracias por compartir! ya esta para favoritos tambien =D

Desconectado inventable

  • PIC10
  • *
  • Mensajes: 13
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #6 en: 04 de Septiembre de 2012, 02:54:12 »
Gracias por todos los comentarios.  :) Paro los diseños pictóricos uso un simple programa vectorial de diseño (CorelDraw viejo viejo pero también se puede usare Inkscape). Los resultados son el fruto de la paciencia que metí para diseñar una librería de componentes desde cero.  :?

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #7 en: 04 de Septiembre de 2012, 10:43:44 »
Paro los diseños pictóricos uso un simple programa vectorial de diseño (CorelDraw viejo viejo pero también se puede usare Inkscape). Los resultados son el fruto de la paciencia que metí para diseñar una librería de componentes desde cero.  :?

UfF! Doble felicitaciones por el esfuerzo por compartir!
No contesto mensajes privados, las consultas en el foro

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #8 en: 04 de Septiembre de 2012, 16:02:52 »
Gracias por compartir!!  ((:-))
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18272
    • MicroPIC
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #9 en: 05 de Septiembre de 2012, 05:49:46 »
Magnífico aporte, muchas gracias.

Increíble paciencia para dibujar todo eso en Corel.

Desconectado fuente

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 571
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #10 en: 05 de Septiembre de 2012, 06:40:21 »
Xocas:
Citar
Una pregunta: El valor de 0.6V en la resistencia... ¿cómo se obtiene?
Los 0,6V es la caida de tensión de la union PN base-emisor del transistor bc547. Cuando se supera este umbral, el transistor empieza a conducir y bloquea al mosfet. Con esto se consigue, dependiendo de la resistencia que hay entre base y emisor, controlar la corriente que pasa por ésta y por tanto, por el led.

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #11 en: 05 de Septiembre de 2012, 11:10:59 »
Gracias fuente.

Me empeñé en buscar la respuesta en el mosfet despreciando el transistor por completo. El que es torpe, es torpe y no hay nada que hacer  :oops:

un saludo

Desconectado fuente

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 571
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #12 en: 05 de Septiembre de 2012, 12:10:28 »
Citar
El que es torpe, es torpe y no hay nada que hacer
Todos tenemos un mal día (o año...), pero en este caso se habría pasado con la receta de Manolo, un poco de ron y lo hubieras visto todo bien claro.
La verdad es que yo tampoco me hubiera dado cuenta si no fuera porque estoy intentando hacer algo parecido. En lugar de un led, quiero controlar un tren escala H0, y para detectar bloqueos de motor o cortocircuitos en la vía, tengo el mismo esquema. Cuando la corriente pasa de determinado valor, el transistor evita que se dispare el mosfet.

Esto tiene un problema, y es que el tiempo que conduce el mosfet hasta que lo detecta el transistor, aunque es poco, hace que se me caliente el mosfet bastante. Le estoy dando vueltas a ver si logro encotrar algún metodo sencillo para que cuando lo detecte, quede bloqueado durante algún tiempo (10 ó 15 segundos) hasta que vuelva a intentarlo, pero no doy con la fórmula magistral usando un par de resistencias y un condensador (no quiero complicarlo mucho)

Desconectado peteorito

  • PIC16
  • ***
  • Mensajes: 136
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #13 en: 05 de Septiembre de 2012, 16:53:57 »
Gracias por compartir, muy chulo los esquemas a todo color! :)

Desconectado inventable

  • PIC10
  • *
  • Mensajes: 13
Re: Controlador y Drivers RGB para leds de alta potencia
« Respuesta #14 en: 11 de Septiembre de 2012, 07:44:48 »
Citar
El que es torpe, es torpe y no hay nada que hacer
Todos tenemos un mal día (o año...), pero en este caso se habría pasado con la receta de Manolo, un poco de ron y lo hubieras visto todo bien claro.
La verdad es que yo tampoco me hubiera dado cuenta si no fuera porque estoy intentando hacer algo parecido. En lugar de un led, quiero controlar un tren escala H0, y para detectar bloqueos de motor o cortocircuitos en la vía, tengo el mismo esquema. Cuando la corriente pasa de determinado valor, el transistor evita que se dispare el mosfet.

Esto tiene un problema, y es que el tiempo que conduce el mosfet hasta que lo detecta el transistor, aunque es poco, hace que se me caliente el mosfet bastante. Le estoy dando vueltas a ver si logro encotrar algún metodo sencillo para que cuando lo detecte, quede bloqueado durante algún tiempo (10 ó 15 segundos) hasta que vuelva a intentarlo, pero no doy con la fórmula magistral usando un par de resistencias y un condensador (no quiero complicarlo mucho)

Agradezco nuevamente vuestros comentarios y me disculpo por no haber respondido antes el tema de la caída de tensión sobre la resistencia. Fuente tiene razón cuando dice que superando una caída de tensión de 0,6V sobre la resistencia en serie (shunt) el transistor npn conduce bloqueando el mosfet pero este bloqueo no es on/off o digital, es decir, la regulación es analógica (realimentación negativa). El mosfet calienta porque parte de la tensión de alimentación cae en él y si la corriente es elevada también lo será la potencia dispada. En el texto del artículo lo explico.     


 

anything