16 votos

Cómo manejar un LED de 20mA desde un pin GPIO de 4mA como máximo

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

Dado que el dispositivo funcionará con batería, mantener el uso de energía bajo (Cero tal vez) mientras el LED está apagado como una prioridad.

El GPIO suministra 3,3V cuando se enciende y 0,0V vota cuando se apaga.

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

El LED tiene una corriente de avance de 20mA y una tensión de avance deseada de 2,0V.

Cuando el LED se enciende, lo más probable es que parpadee (mediante PWM) en el rango de los kilohercios bajos.

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

enter image description here

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

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

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

Pregunta 4: ¿Cuál sería el valor en ohmios de la resistencia del punto (2), si se necesita alguna?

30voto

RelaXNow Puntos 1164

El circuito que muestras debería funcionar, pero es innecesariamente complicado y caro. 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 B-E del transistor es de 700 mV, el LED cae 2,0 V, entonces habrá 600 mV a través de R1 cuando el LED esté encendido. En este ejemplo, esto permitirá que 17 mA fluyan a través del LED. Haz la resistencia más alta si puedes tolerar una luz más baja del LED y quieres ahorrar algo de energía.

Otra ventaja de este circuito es que el colector del transistor puede conectarse a algo más alto que 3,3 V. Esto no cambiará la corriente que pasa por el LED, sólo la caída de tensión en el transistor y, por tanto, cuánto disipa. Esto puede ser útil si los 3,3 V provienen de un pequeño regulador y la corriente del LED añadiría una carga significativa. En ese caso, conecta el colector a la tensión no regulada. El transistor se convierte en el regulador sólo para el LED, y la corriente del LED vendrá del suministro no regulado y no utilizará el presupuesto de corriente limitado del regulador de 3,3 V.

Añadido:

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

El transistor se utiliza en seguidor de emisor para proporcionar ganancia de corriente, no de tensión. El voltaje de la salida digital es suficiente para accionar el LED, pero no puede suministrar suficiente corriente. Por eso la ganancia de corriente es útil, pero la ganancia de tensión no es necesaria.

Veamos este circuito suponiendo que la caída B-E es de 700 mV fijos, la tensión de saturación C-E 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 tarde que sólo 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 la inifinidad. Así que analizaremos la ganancia irrealmente baja de 20 para un transistor de señal pequeña. Si todo funciona bien con eso, estamos bien con cualquier transistor de señal pequeña real que se encuentre. El 2N4401 que mostré puede contar con una ganancia de alrededor de 50 en este caso, por ejemplo.

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

Como el transistor está siempre en su región "lineal", sabemos que la corriente de colector es la corriente de base por la ganancia. La corriente de emisor es la suma de estas dos corrientes. La relación entre la corriente de emisor y la de base es, por tanto, ganancia+1, es decir, 21 en nuestro ejemplo.

Para calcular las distintas corrientes, lo más fácil es empezar por el emisor y utilizar las relaciones anteriores para obtener las demás corrientes. Cuando la salida digital está a 3,3 V, el emisor está a 700 mV menos, es decir, a 2,6 V. Se sabe que el LED pierde 2,0 V, por lo que quedan 600 mV a través de R1. De la ley de Ohms: 600mV / 36Ω = 16.7mA. Eso iluminará el LED muy bien, pero deja un poco de margen para no exceder su máximo de 20 mA. Como la corriente de emisor es de 16,7 mA, la corriente de base debe ser de 16,7 mA / 21 = 790 µA, y la corriente de colector 16,7 mA - 790 µA = 15,9 mA. La salida digital puede suministrar hasta 4 mA, por lo que estamos dentro de las especificaciones y ni siquiera lo cargamos significativamente.

El efecto neto es que la tensión de base controla la tensión de emisor, pero el trabajo pesado para proporcionar la corriente de emisor lo hace 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 era de 20. Por cada 21 partes de corriente que pasa por el LED, 1 parte proviene de la salida digital y 20 partes de la alimentación de 3,3 V a través del colector del transistor.

¿Qué pasaría si la ganancia fuera mayor? Incluso menos de la corriente total 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 una ganancia infinita es el 100%. Por eso este circuito es realmente muy tolerante a la variación de las piezas. No importa si el 95% o el 99,9% de la corriente del LED proviene de la alimentación 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, por lo que no importa. El voltaje del emisor es el mismo en todos los casos, por lo que el LED verá la misma corriente si el transistor tiene una ganancia de 20, 50, 200 o más.

Otra sutil ventaja de este circuito, que ya he mencionado, es que el colector no necesita estar ligado a la alimentación de 3,3 V. ¿Cómo cambiarían las cosas si el colector estuviera ligado a 5 V, por ejemplo? Nada desde el punto de vista del LED o de la salida digital. Recuerda que el voltaje del emisor es una función del voltaje de la base. La tensión de colector no importa mientras sea lo suficientemente alta como para mantener el transistor fuera de saturación, lo que ya era 3,3 V. La única diferencia será la caída C-E a través del transistor. Esto aumentará la disipación de potencia del transistor, que en la mayoría de los casos será el factor limitante de la tensión máxima de 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,7 mA = 9 V. Ya sabemos que el emisor estará a 2,6 V, por lo que la tensión máxima de colector sería de 9,0 V + 2,6 V = 11,6 V.

Esto significa que en este ejemplo podemos atar el colector a cualquier suministro a mano de 3,3V a 11,6 V. Ni siquiera necesita ser regulado. 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 hace un regulador con poca capacidad de corriente y la mayor parte de ésta ya está asignada. Si está funcionando desde una fuente de 5 V, por ejemplo, entonces este circuito puede obtener la mayor parte de la corriente del LED de esa fuente de 5 V manteniendo la corriente del LED bien regulada . Además, este circuito es muy tolerante a las variaciones de las piezas del transistor. Mientras 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 piense en sobre cómo funciona realmente un circuito. No hay lugar en la ingeniería para las reacciones viscerales o las supersticiones como la de poner siempre una resistencia en serie con la base. Ponga una cuando sea necesario, pero tenga en cuenta que no siempre lo es, como muestra este circuito.

4voto

jason Puntos 147

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

Basta con poner una resistencia en serie con el LED, lo suficientemente grande como para limitar la corriente. Comprueba que no superas la corriente máxima para todo el dispositivo, que se especifica en la hoja de datos.

Así que comprueba si tu LED es lo suficientemente brillante directamente conectado desde el pin GPIO con una resistencia en serie:

\$R = \frac{U_{drop}}{I_{LED}}\ = \frac{3.3-2.0\text{V}}{4\text{mA}} = \frac{1.2\text{V}}{4\text{mA}}= 300\Omega\$

Redondea al siguiente valor E12 a 330 \$\Omega\$ para estar seguros.

0voto

Rob Puntos 1092

Sé que tu pregunta se refería a los componentes discretos, pero creo que en el caso general es mejor que busques un búfer basado en CI o un controlador de línea. Por ejemplo, el ULN2803 es un buffer octal (8 I/Os) y consumirá menos de 2mA de tus pines GPIO, pero puede manejar hasta 500mA por salida. (Es una lógica inversa por lo que tu código debe tener en cuenta esto). Obviamente querrás usar resistencias limitadoras de corriente para tus LEDs.

0voto

calvinkrishy Puntos 1145

Comentando el esquema propuesto en el post original:

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

  • No se necesita una resistencia en serie a la puerta de un MOSFET.
  • Selecciona un FET con una tensión de umbral alrededor de 1V por debajo de tu tensión de alimentación para asegurarte de que estará bien en saturación cuando se encienda, y entonces la caída de tensión a través del MOSFET será baja. (Los MOSFET son muy buenos interruptores).
  • La corriente de los LEDs será fijada por ILED = (VCC - Vf - Vds)/R. Para los números mostrados, y asumiendo 0.2V a través del FET, R = (3.3 - 2.0 - 0.2)/20mA = 51 o 56ohms (valor estándar más cercano)

Nota: Normalmente el ánodo del LED está ligado a la alimentación y la resistencia está en serie con el cátodo; esto puede mejorar el tiempo de conmutación reduciendo la cantidad de capacitancia en el circuito que tiene que ser cargada/descargada cuando se conmuta 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 puedes usar el GPIO directamente. En modo de drenaje abierto es idéntico al comportamiento con un FET externo (pero invertido). Pero no recomendaría hacer funcionar un puerto uC a más de 1mA durante mucho tiempo; el IC podría no estar diseñado para grandes corrientes constantes como esa (podría haber problemas de electromigración o autocalentamiento).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X