Cómo controlar un LED de 20 mA desde un pin GPIO de 4 mA máx.

Tengo un IC que tiene un GPIO con el que me gustaría manejar un LED.

Dado que el dispositivo se quedará sin batería, mantener el consumo de energía bajo (quizás cero) mientras el LED está apagado es una prioridad.

El GPIO suministra 3,3 V cuando está encendido y 0,0 V cuando está apagado.

También tiene un límite de un máximo de 4mA.

El LED tiene una corriente directa de 20 mA y un voltaje directo deseado de 2,0 V.

Cuando el LED está encendido, lo más probable es que parpadee (usando PWM) en el rango bajo de kilohercios.

Después de hurgar, creo que este puede ser el tipo de circuito que necesito.

ingrese la descripción de la imagen aquí

Pregunta 1: ¿Estoy siquiera cerca de estar en el camino correcto?

Pregunta 2: ¿Cuál es el componente correcto a usar para el artículo (5), (Transistor o Mosfet), y cómo hago para encontrar uno (en el Frys local, RadioShack, en línea) y cómo se identifican (especifican)?

Pregunta 3: ¿La elección del elemento (5) tendrá algún efecto sobre el valor en ohmios del elemento de resistencia (3)? Además de la ley de Ohms normal para la fuente de alimentación de 3,0 V y el LED de 2,0 V.

Pregunta 4: ¿Cuál sería el valor en ohmios del elemento de resistencia (2), si se requiere alguno?

Respuestas (4)

El circuito que muestra debería funcionar, pero es innecesariamente complicado y costoso. Aquí hay algo más simple y más barato:

Casi cualquier transistor NPN pequeño que pueda encontrar funcionará en esta función. Si la caída BE del transistor es de 700 mV, el LED cae 2,0 V, entonces habrá 600 mV en R1 cuando el LED esté encendido. En este ejemplo, eso permitirá que fluyan 17 mA a través del LED. Haga que la resistencia sea más alta si puede tolerar una luz más baja del LED y desea ahorrar algo de energía.

Otra ventaja de este circuito es que el colector del transistor se puede conectar a algo superior a 3,3 V. Esto no cambiará la corriente a través del LED, solo la caída de voltaje en el transistor y, por lo tanto, cuánto se disipa. Esto puede ser útil si los 3,3 V provienen de un regulador pequeño y la corriente del LED agregaría una carga significativa. En ese caso, conecte el colector al voltaje no regulado. De hecho, el transistor se convierte en el regulador solo para el LED, y la corriente del LED provendrá del suministro no regulado y no utilizará el presupuesto de corriente limitado del regulador de 3,3 V.

Agregado:

Veo que hay cierta confusión sobre cómo funciona este circuito y por qué no hay una resistencia base.

El transistor se usa en la configuración de seguidor de emisor para proporcionar ganancia de corriente, no ganancia de voltaje. El voltaje de la salida digital es suficiente para encender el LED, pero no puede generar suficiente corriente. Esta es la razón por la cual la ganancia de corriente es útil pero la ganancia de voltaje no es necesaria.

Miremos este circuito asumiendo que la caída de BE es de 700 mV fijos, el voltaje de saturación de CE es de 200 mV y la ganancia es de 20. Esos son valores razonables excepto que la ganancia es baja. Estoy usando una ganancia baja deliberadamente por ahora porque veremos más adelante que solo se necesita una ganancia mínima del transistor. Este circuito funciona bien siempre que la ganancia esté en cualquier lugar desde ese valor mínimo hasta el infinito. Así que analizaremos la ganancia poco realista de 20 para un transistor de señal pequeño. Si todo funciona bien con eso, estamos bien con cualquier transistor de señal pequeña real que encuentre. Se puede contar con que el 2N4401 que mostré tendrá una ganancia de alrededor de 50 en este caso, por ejemplo.

Lo primero a tener en cuenta es que el transistor no puede saturarse en este circuito. Dado que la base se conduce a un máximo de 3,3 V, el emisor nunca supera los 2,6 V debido a la caída de 700 mV BE. Eso significa que siempre hay un mínimo de 700 mV en CE, que está muy por encima del nivel de saturación de 200 mV.

Dado que el transistor siempre está en su región "lineal", sabemos que la corriente del colector es la corriente base multiplicada por la ganancia. La corriente del emisor es la suma de estas dos corrientes. La relación de corriente de emisor a base es, por lo tanto, ganancia + 1, o 21 en nuestro ejemplo.

Para calcular las diversas corrientes, es más fácil comenzar con el emisor y usar las relaciones anteriores para obtener las otras corrientes. Cuando la salida digital está a 3,3 V, el emisor tiene 700 mV menos, o 2,6 V. Se sabe que el LED cae 2,0 V, por lo que deja 600 mV en R1. De la ley de Ohm: 600mV / 36Ω = 16,7mA. Eso iluminará bien el LED pero dejará un pequeño margen para no exceder su máximo de 20 mA. Dado que la corriente del emisor es de 16,7 mA, la corriente de base debe ser de 16,7 mA / 21 = 790 µA y la corriente del colector de 16,7 mA - 790 µA = 15,9 mA. La salida digital puede generar hasta 4 mA, por lo que estamos dentro de las especificaciones y ni siquiera lo cargamos de manera significativa.

El efecto neto es que el voltaje base controla el voltaje del emisor, pero el trabajo pesado para proporcionar la corriente del emisor lo realiza el transistor, no la salida digital. La relación entre la cantidad de corriente del LED (la corriente del emisor) que proviene del colector en comparación con la base es la ganancia del transistor. En el ejemplo anterior, esa ganancia fue de 20. Por cada 21 partes de corriente a través del LED, 1 parte proviene de la salida digital y 20 partes del suministro de 3,3 V a través del colector del transistor.

¿Qué pasaría si la ganancia fuera mayor? Incluso menos de la corriente general del LED provendría de la base. Con una ganancia de 20, 20/21 = 95,2% proviene del colector. Con una ganancia de 50 es 50/51 = 98,0%. Con ganancia infinita es 100%. Esta es la razón por la que este circuito es realmente muy tolerante con la variación de piezas. No importa si el 95 % o el 99,9 % de la corriente del LED proviene del suministro de 3,3 V a través del colector. La carga en la salida digital cambiará, pero en todos los casos estará muy por debajo de su máximo, así que eso no importa. El voltaje del emisor es el mismo en todos los casos, por lo que el LED verá la misma corriente ya sea que el transistor tenga una ganancia de 20, 50, 200 o más.

Otra ventaja sutil de este circuito que mencioné antes es que el colector no necesita estar conectado al suministro de 3.3 V. ¿Cómo cambia la cosa si el colector estuviera atado a 5 V, por ejemplo? Nada desde el punto de vista del LED o de la salida digital. Recuerde que el voltaje del emisor es una función del voltaje base. El voltaje del colector no importa siempre que sea lo suficientemente alto como para mantener el transistor fuera de la saturación, que ya era de 3,3 V. La única diferencia será la caída de CE en el transistor. Esto aumentará la disipación de potencia del transistor, que en la mayoría de los casos será el factor limitante del voltaje máximo del colector. Digamos que el transistor puede disipar con seguridad 150 mW. Con la corriente de colector de 16,7 mA podemos calcular la tensión de colector a emisor para provocar una disipación de 150 mW: 150 mW / 16.

Esto significa que, en este ejemplo, podemos conectar el colector a cualquier suministro útil de 3,3 V a 11,6 V. Ni siquiera es necesario regularlo. Podría fluctuar activamente en cualquier lugar dentro de ese rango y la corriente del LED se mantendría muy estable. Esto puede ser útil, por ejemplo, si los 3,3 V los genera un regulador con poca capacidad de corriente y la mayor parte ya está asignada. Si está funcionando con un suministro de aproximadamente 5 V, por ejemplo, entonces este circuito puede obtener la mayor parte de la corriente del LED de ese suministro de 5 V mientras mantiene la corriente del LED bien regulada . Y, este circuito es muy tolerante con las variaciones de las partes del transistor. Siempre que el transistor tenga una ganancia mínima, que está muy por debajo de lo que proporcionan la mayoría de los transistores de señal pequeña, el circuito funcionará bien.

Una de las lecciones aquí es pensar en cómo funciona realmente un circuito. No hay lugar en ingeniería para reacciones instintivas o supersticiones como poner siempre una resistencia en serie con la base. Coloque uno allí cuando sea necesario, pero tenga en cuenta que no siempre es así, como muestra este circuito.

Al transistor le falta su resistencia limitadora de corriente en su base.
@Passerby - No, no lo es. Esta es una topología inteligente que no la necesita.
@ConnorWolf, ¿de qué manera limitaría esto el gpio del microcontrolador a 4ma o menos, o cómo está sesgado el transistor?
@Passerby: la corriente base en este escenario normalmente sería menos de 1/30 (pero probablemente mayor que 1/300) de la corriente del emisor a menos que el voltaje del colector caiga más de ~ 0.4 voltios por debajo del voltaje base.
Entiendo las razones que diste, pero no soy partidario de poner el LED/resistencia en el emisor del transistor; las variaciones del proceso y el modelo del transistor y el LED generan demasiada variación. Prefiero tener el emisor conectado a común, LED y resistencia yendo a cualquier V + que desee para el LED, e incluyendo una resistencia base (y posiblemente una resistencia BE aproximadamente 10 veces la resistencia base-GPIO si el ruido puede ser un problema.
@AndrewKohlsmith: esto también debería ser bastante inmune a las variaciones del proceso en el transistor. Siempre que el transistor tenga suficiente beta, cualquier dispositivo funcionará prácticamente.
@Andrew: Ver además de mi respuesta. No se necesita una resistencia base.
@OlinLathrop Entiendo su diseño, digo que personalmente no me gusta diseñar de esa manera porque hay demasiado potencial para la variación. La capacidad de manejo del GPIO, el suministro, el transistor beta/VCE, los LED Vf, etc. Si tiene restricciones de espacio o costo, por eso creo que esta es una solución elegante, pero a menos que tenga una necesidad específica de hacerlo. prefiero lo que consideraría más genérico.
@Andrew: Parte del punto que estaba tratando de hacer es que este diseño es bastante tolerante con la variación de partes. Como mostré, la ganancia del transistor puede variar desde un número pequeño hasta el infinito. El drenaje en el pin de E/S es menor que con un emisor común conectado a tierra y es casi insensible al voltaje del colector. En general, este diseño es más tolerante con las variaciones de piezas.
Para 150 mW en el transistor, ¿son los 9 V para Vce en lugar de Vc (wrt gnd)?
@RedGritty: Ups, buena captura. Fijado.
Wow, buena respuesta, cambió la forma en que veo el diseño de circuitos.
No me sorprende en absoluto estar visceralmente conmovido por un ejemplo bien razonado y articulado y ver el nombre "Olin Lathrop" como colaborador. Sí, me doy cuenta de que esto es > 5,5 años después de la respuesta real. Así de buena es la respuesta. +1

Muchos LED de hoy en día son muy brillantes y funcionan bien a partir de 4 mA o incluso menos y le ahorrarán los componentes externos adicionales. ¡Los LED que uso comúnmente funcionan perfectamente bien (para mi aplicación) a 1 mA!

Simplemente coloque una resistencia en serie con el LED, lo suficientemente grande como para limitar la corriente. Verifique si no excede la corriente máxima para todo el dispositivo, se especifica en la hoja de datos.

Por lo tanto, verifique si su LED es lo suficientemente brillante conectado directamente desde el pin GPIO con una resistencia en serie:

R = tu d r o pag yo L mi D   = 3.3 2.0 V 4 mamá = 1.2 V 4 mamá = 300 Ω

Redondee eso al siguiente valor E12 a 330 Ω para estar seguro.

Acabo de probar un LED rojo de 10 mm y un LED blanco de 5 mm, con una corriente de excitación de 2 mA, y ambos son muy visibles. A 4 mA, ambos son bastante brillantes. El LED de 10 mm tiene una capacidad nominal de 30 mA, mientras que el LED blanco tiene una capacidad nominal de 25 mA.

Sé que su pregunta se refería a componentes discretos, pero creo que, en el caso general, probablemente sea mejor que busque un controlador de línea o un búfer basado en IC. Por ejemplo, el ULN2803 es un búfer octal (8 E/S) y consumirá menos de 2 mA de sus pines GPIO, pero puede manejar hasta 500 mA por salida. (Está invirtiendo la lógica, por lo que su código debe tener en cuenta eso). Obviamente, querrá usar resistencias limitadoras de corriente para sus LED.

La lógica invertida es irrelevante aquí, porque lo más probable es que conecte la carga entre el colector y Vcc.
Por supuesto. Código y / o circuito real en el que lo va a usar. Es un hecho una vez que está haciendo cosas con computación física

Comentando el esquema propuesto en la publicación original:

Usar un transistor NMOS FET discreto como este como interruptor sería bueno.

  • No se necesita una resistencia en serie para la puerta de un MOSFET.
  • Seleccione un FET con un voltaje de umbral de aproximadamente 1 V por debajo de su voltaje de suministro para asegurarse de que esté bien saturado cuando se encienda, y luego la caída de voltaje en el MOSFET será baja. (Los MOSFET son muy buenos interruptores).
  • La corriente del LED será establecida por ILED = (VCC - Vf - Vds)/R. Para los números que se muestran, y suponiendo 0,2 V en el FET, R = (3,3 - 2,0 - 0,2)/20 mA = 51 o 56 ohmios (valor estándar más cercano)

Nota: Normalmente, el ánodo del LED está conectado al suministro y la resistencia está en serie con el cátodo; esto puede mejorar el tiempo de conmutación al reducir la cantidad de capacitancia en el circuito que debe cargarse/descargarse cuando se cambia, ya que el voltaje del cátodo "colapsará" al voltaje del ánodo cuando esté apagado.

Como mencionó otro cartel, si la corriente que necesita el LED es lo suficientemente baja, puede usar el GPIO directamente. En el modo de drenaje abierto, es idéntico al comportamiento con un FET externo (pero invertido). Pero no recomendaría ejecutar un puerto uC a más de 1 mA durante mucho tiempo; el IC podría no estar diseñado para grandes corrientes constantes como esa (podría ser problemas de electromigración o autocalentamiento).