Control de LED de alto rendimiento con un microcontrolador

Me gustaría construir un circuito para controlar con precisión la corriente a través de un par de diodos (LED y láser). Me gustaría minimizar el número de componentes si es posible. El consumo de energía no es una preocupación principal, por lo que los reguladores lineales y las resistencias de disipación están bien.

Estoy viendo un circuito basado en LM317 y esto servirá bien para una corriente constante o sintonizada por potenciómetro, pero quiero que mi corriente sea controlable por un microcontrolador. ¿Cómo podría lograr esto?

Si es posible hacer esto sin un amplificador operacional adicional, BJT o FET, explique ... En realidad, explique sin importar qué. :)

Buscando conducir los LED individualmente (o en serie) hasta no mucho más de 1A. (Vf < 4V)

¿Cuál es el rango actual?
Ahora prefiero una solución que pueda conducir 3A

Respuestas (7)

Bien, entonces el TL4242 es demasiado caro. No hay problema, aún puede crear una fuente actual utilizando componentes más comunes.

ingrese la descripción de la imagen aquí

La corriente se define por el voltaje de entrada como I L O A D = V I norte R S mi norte S mi . Elegir R S mi norte S mi en función del microcontrolador V D D . si usted proporciona V I norte con la señal PWM la corriente cambiará entre I L O A D y cero

editar
No había mirado el precio del TL4242, pero Federico tiene razón: el precio es muy razonable. Gastaría más si desea controlar PWM el LM317.

editar : conducir 2A
Una cosa a tener en cuenta al seleccionar componentes es que el transistor reemplaza su resistencia en serie que generalmente controla la corriente del LED.
Si el transistor fuera a ser puramente un interruptor, querría que fuera lo más eficiente posible, es decir, que disipara muy poca energía. En ese caso, un MOSFET sería la mejor opción, hay muchos que tienen R D S ( O norte ) de menos de 100 metro Ω .
Ahora que el elemento de conmutación es un dispositivo limitador de corriente, esto no es tan importante. Puedes usar un BJT aquí. Transistores de potencia para 2A I C no tienes alta H F mi , lo que significa que el opamp necesitaría suministrar una corriente bastante alta a la base, y esto puede estar más allá de las capacidades del opamp. Un transistor Darlington como el TIP110 es la solución.

Supongamos que quiero conducir hasta 1,5 o 2A con este método. ¿Qué componentes para el amplificador operacional y el transistor sugeriría? Por ejemplo, parece que un 2N2222 solo puede proporcionar 800 mA.
@Steven: edité mi respuesta (un poco larga para este comentario)
@Steven: por cierto, el 2n2222 puede permitir 800 mA, pero solo son 500 mW. Eso es porque es un transistor de conmutación, que no está diseñado para funcionar en la región activa como lo estamos haciendo aquí.
@stevenvh Gracias. Me acabo de dar cuenta de que podría querer conducir algunos LED CREE XM-L que toman hasta 3A. ¿Funcionará este 4A Darlington? search.digikey.com/scripts/DkSearch/… Además, ¿qué pasa con el opamp? No estoy muy seguro de qué tipo buscar y un lugar como Digikey tiene muchas opciones.
También parece que toda la corriente pasará a través de R_sense. R_sense probablemente será un poco más de 1 ohmio, a 3 amperios, se disipan 3 vatios. ¿No hay una manera de hacer esto un poco más eficiente?
¿Podría tal vez usar otro opamp para escalar linealmente la salida PWM a un rango más bajo, para permitirme usar una resistencia más pequeña para R_sense? Si tengo Vin en el rango de 0 a 1 V y uso Rsense = 0.2, puedo obtener hasta 5 amperios, y los 5 amperios disiparían solo un vatio en la resistencia en lugar de 5 vatios si usara un Vin de 1 ohm y 5 voltios. ¿Algo de esto tiene sentido?
También el R1 en el diagrama... ¿es necesario?
Así que recibí mi primer envío de LED y he estado jugando con ellos en mi fuente de alimentación controlada actual. De hecho, emiten una gran cantidad de luz incluso con corrientes muy pequeñas, por lo que parece que controlar su brillo variando el voltaje es probablemente una mejor manera de obtener transiciones de intensidad suaves. Como puedo construir fácilmente un limitador de corriente máxima usando el LM317, creo que mi problema se ha simplificado.
Muy bien, creo que entiendo este circuito ahora, stevenvh. Estos circuitos opamp de retroalimentación negativa son muy convenientes y no fluye mucha corriente a través de ellos, ya que mantienen un estado de equilibrio. Definitivamente sé qué hacer con mi circuito ahora :)
No puedo encontrar ningún paquete que tenga múltiples transistores de potencia en un chip. Voy a adivinar... ¿demasiada disipación de energía para que eso sea práctico?
@Steven - R1 no es necesario. Decreciente R S mi norte S mi y bajar el voltaje de control es una muy buena idea. (Perdón por la respuesta tardía, pero trato de seguir varios hilos y, a veces, pierdo de vista uno, especialmente si los últimos comentarios están ocultos)
Entonces, me parece que este circuito aquí no funcionaría muy bien si Vcc no puede ser significativamente más alto que Vin. Debido a que el voltaje del emisor es Vin y Vcc debe ser mayor que la caída de voltaje de carga, más la caída de CE.

PWM es la forma de modular la salida, pero también se necesita algo más, ya que desea que la corriente sea precisa. Configúrelo para que cuando el pin del microcontrolador esté alto, obtenga la corriente máxima con buena precisión, luego baje desde allí usando PWM.

A 300 mA, desea mantener la corriente del LED fuera del suministro bien regulado. Lo que sea que tenga conduciendo el suministro regulado es probablemente un voltaje un poco más alto y no tan bien regulado. Un buen truco es conducir el LED desde un NPN en modo de sumidero de corriente controlado. Esto significa conducir la base directamente desde el pin de salida del microcontrolador, el emisor se conecta a tierra a través de una resistencia y el LED se conecta entre un suministro positivo y el colector. Si la fuente de alimentación del microcontrolador está bien regulada, entonces el voltaje a través de la resistencia se fijará razonablemente y establecerá la corriente que consumirá el transistor cuando esté encendido.

Por ejemplo, si el micro funciona con un buen suministro de 3,3 V, entonces el voltaje del emisor será de aproximadamente 2,6 V. 2,6 V/300 mA = 8,7 ohmios. Tendrá que experimentar un poco para obtener la corriente exacta que desea, ya que es difícil adivinar la caída exacta de BE, pero este será un buen punto de partida. En realidad, elegiría el tamaño de resistencia estándar más cercano, como 8,2 ohmios, y luego calibraría el resto en el micro. Deberías obtener un poco más de 300 mA con 8,2 ohmios, pero lo que sea que obtengas debería ser bastante repetible. También será bastante independiente del voltaje no regulado al que está conectado el LED, siempre que sea suficiente para hacer funcionar el LED. Digamos que mide 320 mA cuando el pin de salida micro está alto. Luego ejecuta el PWM de 0 a 94.8% para obtener su escala completa de 0-300 mA.

Para la mayoría de los propósitos, calcular este factor de escala una vez en el laboratorio y codificarlo será suficiente.

Hola @Olin. Estoy volviendo a analizar tu respuesta y creo que lo que dices es un poco diferente de lo que otros han publicado. Mi comprensión de lo que sucede con el transistor es un poco inestable. Usted describe conectar el pin de salida del microcontrolador a la base y colocar la resistencia de 8.2Ohm entre el emisor y tierra. Esto haría que esos 300 mA fluyan desde el microcontrolador a través de la unión BE hacia tierra, ¿no es así? ¿Eso no hará que el transistor se sature por completo y no me ayudará a regular la corriente al LED? Sin mencionar que el microcontrolador no puede manejar 300 mA.
Tienes la conexión correcta, pero eso no es lo que sucederá. Recuerde que la corriente del emisor es la corriente base más la corriente del colector, y que la corriente del colector es la corriente base multiplicada por la ganancia del transistor. Por lo tanto, la mayor parte de la corriente pasa por el colector. Dado que el voltaje a través de la resistencia del emisor será razonablemente fijo, esta corriente de colector y, por lo tanto, la corriente del LED también serán fijas.
Continuó trabajando alrededor del límite de caracteres en los comentarios. Digamos que el transistor tiene una ganancia de 50 y la corriente del emisor es de 320 mA. Eso significa que la corriente base será de 6,3 mA y la corriente del colector (también el LED) de 314 mA.
De acuerdo, pero ¿esto no supone también que la fuente de alimentación LED también es de 3,3 V? Supongamos que conecto +100 V al colector y mi pin MCU de +3,3 V a la base y una resistencia de 8 ohmios del emisor a tierra. ¿Afirmar el pin ALTO no haría que el transistor dejara pasar alrededor de 12 amperios y freíra todo?
Asume que la fuente de alimentación del LED es varios voltios más alta que la fuente del microcontrolador. Digamos que el micro mantiene la base a 3.3V para encender el LED. Del ejemplo anterior, el micro suministrará 6.3mA, y el transistor permitirá hasta 314mA a través de su colector si se le da suficiente voltaje . Digamos que el LED necesita 2,1 V (típico para el verde) y el voltaje de saturación del transistor es de 200 mV. Eso significa que la fuente de alimentación del LED debe tener al menos el voltaje del emisor más 2,3 V, o alrededor de 4,9 V. Un suministro de 5V simplemente funcionaría.
(continuación) Con un suministro de LED de al menos 5 V, la corriente del LED se fijará razonablemente en 314 mA en este ejemplo. Esto es independiente de la tensión de alimentación del LED. Los voltajes más altos aún permitirán la misma corriente de LED, pero el voltaje en el transistor aumentará. A medida que aumenta, el transistor disipará más potencia, pero la corriente del LED seguirá siendo regulada independientemente del voltaje de suministro, siempre que sea de 5 V o más. Demasiado alto y el voltaje del transistor o la especificación de disipación de energía se exceden y estallará.
Entonces, ¿no hay retroalimentación negativa y estoy calibrando la corriente en función de la ganancia del transistor? Si tengo un transistor con una ganancia de 50 y el siguiente es 100, ¿entonces el segundo dejará pasar el doble de corriente incluso cuando configure todo de la misma manera?
No, la resistencia del emisor es la ruta de retroalimentación negativa. La corriente del emisor es de 320 mA en el ejemplo. Siempre que la ganancia sea "grande", la mayor parte provendrá del colector y el circuito es en gran medida independiente de la ganancia. Con una ganancia de 50, obtuvimos una corriente de colector de 314 mA. Con ganancia infinita, solo sería 320 mA. Esa es la retroalimentación del voltaje a través de la resistencia del emisor en el trabajo.
Sin embargo, esto me confunde, porque parece que lo que me estás diciendo es que no necesito un amplificador operacional. Entonces, corríjame si me equivoco: el voltaje del emisor está determinado solo por el voltaje base. No importa cuál sea el voltaje del colector. Entonces, dado que se conoce el voltaje del emisor, se conoce la corriente a través de la resistencia. El transistor solo deja pasar suficiente corriente desde el colector (y desde la base, estos dos determinados por la ganancia) para mantener el voltaje del emisor y no tengo que preocuparme de que el voltaje del emisor se desvíe de la corriente base menos 0.6v.
Supongo que puedo ver por qué esto funciona. El uso del amplificador operacional simplemente libera la ligera carga que de otro modo estaría en el microcontrolador. Y obliga al voltaje del emisor a igualar el voltaje del pin mcu. Ninguno de estos es necesario si tengo una ganancia lo suficientemente alta en mi transistor.
@Steven: Sí, de tus dos últimos comentarios parece que lo entiendes.

PWM es la forma típica de controlar el brillo de los LED. El LM317 probablemente sea demasiado lento para esto, pero el TI TL4242 puede fabricarse a pedido: es una fuente de corriente constante ajustable, controlada por PWM y capaz de entregar hasta 500 mA.

impresionante, pero es un poco caro. Me gustaría obtener una solución usando algo básico como el LM317 si es posible. No debería ser difícil suavizar el PWM con un filtro de paso bajo. Parece que debería poder construir una fuente de corriente controlada por voltaje con el LM317. ¿Pero cómo?
@Steven: ¿caro? ¡Cuesta 1,08 euros en Mouser!
@Federico Nice, son mucho más digikey. Por un dólar, esto puede ser más rentable que un amplificador operacional y un circuito de transistores. Esta será definitivamente una excelente opción para los LED que pretendo manejar por debajo de 500 mA.
En realidad, solo cuestan $ 1.50 en Digikey. Debe haber sido otro sitio que revisé.
¡TL4242 es un pequeño chip! Me pondré a probarlo... eventualmente...

No estoy seguro de cuál es su objetivo final, pero ¿podría eliminar por completo la necesidad de una fuente actual? Nuevamente, esto depende de lo que intente lograr aquí y con qué hardware esté tratando. Pero, si su microcontrolador tiene hardware PWM (tal vez el software PWM también podría funcionar), lo que tenía en mente era tener un MOSFET y una resistencia por diodo que desee controlar.

El microcontrolador impulsaría las puertas de los MOSFET (no se pudo publicar una imagen). Tenga la fuente del MOSFET conectada a tierra y el drenaje al otro extremo del circuito. Usando PWM, puede controlar la corriente promedio sin desperdiciar mucha energía. Esto es muy similar a lo que sugirió @Olin Lathrop. Como dijo, debe elegir una resistencia que produzca la corriente máxima que desea con buena precisión.

¡Definitivamente tienes razón! Me di cuenta de esto también y anoche construí un circuito que usa tres transistores de potencia Darlington para una unidad LED RGB, controlada con PWM desde un arduino. Aquí hay un video de esto: youtube.com/watch?v=wCpl6USt7mo Pasé un tiempo tomando medidas y seleccionando las resistencias apropiadas de mi equipo, pero definitivamente funciona bien. Un inconveniente es que existe una dependencia del Vf de los LED's para el cálculo de las resistencias necesarias. Ahora estoy tratando de buscar métodos para obtener una unidad actual que sea independiente de eso.
Si esto no es una orden demasiado alta, ¿alguien podría caracterizar el uso de mosfets en una o dos oraciones? Específicamente, ya que podría usarse para un rol de cambio. ¿Es que puedo controlar una corriente a través de una diferencia de voltaje? Cada vez que leo sobre fet no puedo entender todos los términos.

Cambié de opinión. Sugerí esta fuente de corriente controlada por voltaje , pero al pensar en ello me doy cuenta de que tiene sus problemas. La señal PWM cambia la entrada del amplificador operacional entre GND y V+, para encender y apagar la fuente de corriente.
Esto es bastante exigente para el amplificador operacional, y tendrá que encontrar uno rápido (producto de ancho de banda de alta ganancia) para manejarlo. Y parece que riel a riel y rápido no van juntos fácilmente. Es por eso que quiero deshacerme del opamp que maneja la señal PWM.
La idea es la siguiente: use un voltaje de entrada fijo para el opamp para que también tenga una corriente fija a través de sus LED. Ahora use la señal PWM para apagar el transistor darlington de conducción. Puede hacer esto colocando un transistor NPN entre la base del darlington y la tierra, y conduciéndolo con la señal PWM. No olvides el transistor base.
Cuando la señal PWM es baja, este transistor no conduce, el opamp impulsa el darlington y los LED ven la corriente programada. Cuando la señal PWM es alta, el transistor apaga el darlington y no hay corriente a través de los LED. Tendrá que colocar una resistencia en serie en la salida del opamp, de lo contrario, el transistor lo acortará. Calcule el valor de la resistencia tal que, dada la de darlington H F mi , obtienes la corriente de colector requerida.

Sin embargo, su circuito original tiene mucho sentido para mí, y me gusta especialmente porque usa una cantidad mínima de partes vitales: un transistor, un amplificador operacional y una resistencia de manejo de corriente. Los amplificadores operacionales de riel a riel no son demasiado caros y también vienen en múltiplos (quiero manejar varios LED a la vez), así que probaré esa solución para ver si hace el trabajo. Me gusta poner manos a la obra antes de profundizar en cálculos hipotéticos, es más divertido de esa manera :)
@Steven - Está bien. Solo trate de entender por qué quería cambiarlo y téngalo en cuenta, en caso de que cambie demasiado lento.
Sí, si no puedo hacer que el circuito opamp funcione demasiado bien, puedo probar más cosas con transistores. los mosfets también parecen algo que debería aprender en algún momento. Sin embargo, por el momento puedo arreglármelas con resistencias y un BJT de potencia (aunque estos darlington se calientan bastante, tienen una caída de voltaje bastante)

Debería poder usar la salida PWM con un filtro de paso bajo (resistencia en serie con el pin PWM y el capacitor en paralelo con el extremo del resistor y la tierra). Use esto para controlar el pin ADJ en el LM317.

Para obtener una corriente constante, necesitaría muestrear el voltaje a través de la derivación y usarlo para establecer la corriente.

¿Cómo? ¿No es el LM317 un regulador de voltaje?
¿dónde está la derivación? ¿Podría describir con un poco de detalle cómo modificaría el circuito que se muestra en mi enlace para obtener ajustabilidad? La parte que involucra PWM y un filtro de paso bajo lo entiendo completamente.
@Steven: el LM317 es un regulador de voltaje, pero lo hace manteniendo un voltaje constante entre la salida y la entrada Adj. Eso significa que una resistencia entre estos pines hará que fluya una corriente definida.
@stevenvh Lo entiendo. Pero no puedo modificar el valor de una resistencia con un microcontrolador, ¿o sí? ;) Me gustaría que alguien me ayudara a encontrar un circuito que tenga un lugar conveniente para conectar un V_set analógico de 0-5 V y que produzca una corriente I_out proporcional a V_set, alimentada desde V_in.
@Steven: tiene razón en que la corriente del LM317 es difícil de controlar con un microcontrolador. Vea mi respuesta a continuación para una alternativa.
@Joe para "voltaje de muestra a través de la derivación", ¿esto implica que necesitaría usar un amplificador operacional y transistores y demás para realizar la tarea? En este caso, supongo que debería omitir el lm317 por completo.
No creo que el LM317 sea la elección correcta para esto. Simplemente describiendo cómo podría ser posible. Si tiene la resistencia limitadora de corriente a tierra, puede usar el ADC del micro para muestrear el voltaje sin componentes adicionales. El LM317 parece una elección extraña para esto.

Si desea utilizar el LM317, simplemente puede reemplazar una (o incluso ambas) de las resistencias de ajuste con un potenciómetro digital. Estos son pequeños chips que emulan un bote pero están vinculados a una MCU a través de cosas como SPI o I²C para que la MCU controle la resistencia.

Microchip hace algunos, y hacen muestras gratis.

Los potenciómetros digitales tienen valores de resistencia bastante altos (10 - 100k Ω ). Para 200 - 300mA necesitaría menos de 10 Ω
Los dispositivos analógicos proporcionan potenciómetros digitales de 1 KΩ y, como felizmente uso resistencias en ese rango para regular un LM317T, no veo ninguna razón para no usarlos. Con el 317T, cuanto menor sea su resistencia, mayor será su precisión. Sí, hay un límite de cuán alto puede llegar antes de que comience a fallar, pero las resistencias en el rango de 1-2K están bien.
Los potenciómetros digitales son una idea genial. Aunque creo que en mi caso de uso, el digipot estaría en serie con la carga y dudo que los diseñen para manejar mucha corriente.
@Steven: así es, no pueden manejar mucha corriente. E incluso entonces, Matt no estaba convencido, pero incluso un 1k Ω olla con 256 grifos tiene un paso de 4 Ω . Probablemente quieras más control que eso.