Use transistores para controlar dos LEDs

0

Estoy seguro de que esta es una pregunta bastante básica, pero quería hacerla por ustedes antes de crear mi PCB.

Quiero tener dos LED en el tablero para indicar el estado global del tablero. Cuando la placa tiene alimentación, pero la MCU no está en modo activo, quiero que el LED rojo se ilumine, y cuando la MCU pone un pin alto, quiero que el LED rojo sea reemplazado por un LED verde en su lugar.

Quiero resolver el problema utilizando una electrónica simple, y no con un led RGB, etc.

Mi idea es usar dos transistores. Uno que normalmente está cerrado (el verde), y uno que normalmente está abierto (el rojo), y luego los activa / desactiva mediante una señal de la MCU.

¿Tiene sentido el siguiente circuito?

Edit: Muchas buenas sugerencias aquí. El MCU es un Teensy 3.2, que tiene una salida de 3.3 V y una corriente máxima de 25 mA en los pines GPIO digitales. Tengo fuentes de energía de 3.3V y 5V disponibles en la placa.

    
pregunta Frode Lillerud

8 respuestas

1

Puedes usar un transistor como interruptor aquí.

simular este circuito : esquema creado usando CircuitLab

Entonces, cuando el GPIO es bajo o cero, entonces el transistor estaría en la región de corte y el LED verde se iluminará y cuando el GPIO tenga 3.3 V, el LED rojo se iluminará porque el transistor se encuentra en estado de saturación, el LED verde se apagará.

Los valores de las resistencias se eligen de modo que el transistor funcione como un interruptor.

EDIT : escribir KVL's te permitirá conocer los valores de las resistencias.

Deje que 0.7v esté en la unión del emisor de base cuando se den 3.3V en el pin GPIO, 1.8 V a través del LED rojo. Deje que el voltaje en la unión del emisor del colector sea de 0 V cuando esté saturado, a este voltaje el LED verde no se encenderá.

También deje que Ib sea la corriente y generalmente es de 20 mA para un LED normal de 5 mm

  1. KVL en B-E del transistor: $$ 3.3V-0.7-1.8V-I_bR_1 = 0 $$ Necesitamos unos 20 mA en el LED rojo, por lo que R1 = 40 ohmios

  2. Cuando el transistor está en estado de corte, es decir, no hay voltaje en el pin GPIO & el voltaje en el colector es de alrededor de 5 V, así que KVL en la unión C-E del transistor: $$ 5V-2V-I_3R_3-I_CR_2 = 0 $$

2V = voltaje directo del LED verde y se requieren 20mA de corriente para el LED verde, por lo que R2 + R3 = 150ohm, I3 = Ic = 20mA suponiendo que no fluye corriente a través del transistor desde Vc = 0V.

Elija R2 = 100ohms y R3 = 50ohms

Nota : elegimos que R2 sea 100 porque no queremos que una gran corriente fluya a través de los circuitos en el colector cuando el transistor está cortado.

    
respondido por el Jasser
5

Algo como esto debería funcionar:

simular este circuito : esquema creado usando CircuitLab

Si la señal de la MCU es baja, el LED rojo estará encendido, y si está en Alta, el LED verde estará encendido.

Un transistor NPN (como 2N3904) conducirá cuando la base sea más positiva que el emisor. Un transistor PNP (2N3906) conducirá cuando la base sea más negativa que el emisor. Se requieren resistencias en el cable base para limitar la corriente base.

    
respondido por el Peter Bennett
2

Cuando la MCU se pone ALTA (5 V), el transistor NPN se enciende, la PNP se apaga y el LED rojo se enciende.

Cuando la MCU se pone BAJA (0 V), el transistor PNP se enciende, el NPN se apaga y el LED verde se enciende.

Con la entrada NO de la MCU (el punto medio flota a 2.5 V), ambos transistores (y LED) se encienden.

EDITAR ADICIONAL: Para una MCU 3V3, reduzca la resistencia superior 4k7 (E-B del PNP) a 2k2.

    
respondido por el JIm Dearden
2

simular este circuito : esquema creado usando CircuitLab

Figura 1. Opción sin transistor. La lectura de 0.9 V se obtiene con GPIO apagado. La lectura de 1.1 V es con GPIO encendido. Figura 2. Versión de conmutación de carril negativo.

No he probado esto, pero la teoría es ...

  • Con GPIO apagado D1, ROJO, luces. La caída de voltaje en D3 y D1 será de aproximadamente 0.6 + 1.8 = 2.4 V.
  • Cuando GPIO tira alto D2, VERDE, se enciende. La caída de voltaje en el led verde será de alrededor de 2.0 V. Dado que D1 / D3 es inferior a lo requerido, la corriente caerá en el led ROJO y se apagará bastante. He asumido cierta caída de voltaje cuando el GPIO está suministrando corriente.

Este circuito se puede invertir si se prefiere el uso de GPIO pull low. Sin transistores.

    
respondido por el Transistor
1

Este es un circuito inversor. He utilizado este circuito para responder otras preguntas y funciona perfectamente. La resistencia en el medio debe ser aproximadamente 1KΩ .

    
respondido por el Bradman175
1

Probé el circuito de Peter Bennett, y al igual que Antonio, yo también tenía encendido el LED rojo en todo momento. Al principio, probé la modificación de Antonio al circuito, pero luego me di cuenta de que estaba mal (aunque funcionó). A continuación se muestra mi modificación del circuito. Sustituí un BC547 NPN y un BC557 PNP porque es lo que tenía. Cambié R2 a 8.5k y agregué las 2 resistencias pull-up (R5 y R6). Cuando la MCU tira de las bases de ambos transistores a tierra, el LED verde se apaga y el LED rojo se enciende. Sé que esta era una publicación antigua, pero pensé que le agregaría algo ya que me ayudó un poco.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Swappart
1

Wow las respuestas a esto son complicadas. Pero tu circuito ya está bastante cerca. Lo que estás describiendo es en realidad un simple circuito diferencial / ltp. Simplemente desconecte una de las bases y conéctela a un divisor de voltaje que haga 2.5V. Cuando el transistor conectado a la MCU es bajo, no proporcionará una corriente y toda la corriente se desviará al otro transistor. Cuando la MCU es alta, ese transistor consumirá toda la corriente y el otro transistor se apagará (porque la resistencia de emisor común del diferencial / ltp presentará un voltaje más alto que el Vbe del segundo transistor).

Sin embargo, es posible que también deba mover los LED a los colectores porque la caída de voltaje puede causar problemas con la acción diferencial.

    
respondido por el squarewav
0

El siguiente circuito debería funcionar bien siempre que el pin MCU tenga suficiente unidad de corriente. Los chips Microchip PIC y Atmel AVR tienen pines con suficiente unidad de corriente.

simular este circuito : esquema creado usando CircuitLab

Supongo que está utilizando los LED Superbright.

Un típico LED verde Superbright cae alrededor de 3 Vcc y es cegador cuando se ejecuta desde 5 Vcc con una resistencia de 10k.

Un típico LED rojo Superbright cae alrededor de 1.7 Vcc y es razonablemente brillante cuando se ejecuta para 5 Vcc con una resistencia de 2k2.

El funcionamiento es extremadamente sencillo: si el pin MCU es de alta impedancia (configurado como Entrada) o es Bajo, el LED rojo está encendido y el LED verde NO está encendido.

Cuando el pin MCU se pone en Hi, el LED verde se enciende y el nivel Hi eleva el cátodo del LED rojo lo suficientemente alto como para que NO esté encendido.

Este circuito funciona bien con los microcontroladores PIC 16f que utilizo.

    
respondido por el Dwayne Reid

Lea otras preguntas en las etiquetas