Preguntas sobre BJT en mi circuito

Tengo un circuito multiplexor LED (inspirado en https://www.instructables.com/id/Multiplexing-with-Arduino-Transistors-I-made/ ) en el que configuré los valores de resistencia para maximizar la corriente a través de los LED ( sin superar la máxima corriente directa a través de los LEDs ni la máxima disipación de potencia en ninguno de los componentes). Se parece a esto:

circuito actual

circuito actual con etiquetas I

Los pines R1, R2, R3, C1, C2 y C3 son pines digitales Arduino, mientras que el pin 5V es el 5V del Arduino. Tengo este circuito ensamblado en mi protoboard y funciona como se esperaba. (Aunque, por favor, hágamelo saber si hay algo terriblemente malo al respecto).

Lo que quiero hacer es agregar un potenciómetro entre el pin de 5 V y los colectores de los Q-RX NPN BJT para poder variar el nivel de luz LED de apagado (o casi apagado) a "brillo máximo". Me parece que esto debería funcionar en teoría. Cuando reemplazo el pin de 5V con GND en mi simulación, obtengo ~0 corriente a través de los LED, que es lo que quiero:

Sin embargo, cuando pruebo con un solo LED habilitado y desconecto el pin de 5V del Arduino, el LED se atenúa un poco pero sigue siendo bastante brillante. Mido ".001 A" con mi multímetro (obtengo 0 con él configurado en mA). Esto debe ser desde la corriente que fluye desde la base hasta el emisor de los Q-RX BJT. He estado tratando de volver a familiarizarme con el funcionamiento de los transistores, pero necesito ayuda para entender esto. Unas cuantas preguntas:

  1. ¿Estoy tratando de usar los BJT NPN de forma completamente incorrecta?
  2. ¿Por qué mi simulación (estoy usando OrCAD Capture Lite) muestra ~0 corriente a través de los LED cuando puedo medirla a ~1 mA y obviamente hay suficiente para encender los LED?
  3. ¿Cómo puedo ajustar este circuito para lograr mi objetivo? ¿Deberían usarse MOSFET de nivel lógico en su lugar?

Referencia:

Nota al margen: acabo de darme cuenta de que mi simulación muestra ~54 mA en los pines C1, C2 y C3, lo que excede el límite de pin Arduino de 40 mA, pero eso no viene al caso.

¡Cualquier ayuda es muy apreciada! ¡Gracias!

Examine esto para empezar. Algo está cubierto allí. Además, un libro de HP llamado "Optoelectrónica: manual de aplicaciones de fibra óptica", segunda edición, podría incluir mucha información útil para ayudar con esto y en el futuro de proyectos similares.
Este diseño no tiene remedio ya que la ganancia de corriente base * hFE es compartida por 1 o más LED. Lo único que podría funcionar con esta matriz es un FET regulado en Vf y bajo nivel lógico RdsOn (<1 ohm)
Yo iría con el Cree C503D-WAN. Mejor eficiencia para que puedas bajar la corriente o tener un mayor rango de brillo. Use la frecuencia de escaneo y el ancho de pulso para controlar el brillo. No está utilizando una corriente constante, por lo que la corriente pulsada máxima será superior a 25 mA (C512A) 20 mA (C503D). La corriente pulsada puede alcanzar los 100 mA con cualquiera de estos LED Cree. Yo estaría de acuerdo con @Jasen en el uso de resistencias limitadoras de corriente, mientras que algunos creen que está bien usar el pin Aurdino como limitador de corriente. Y el FET de Tony también es una buena idea.

Respuestas (1)

En primer lugar, su matriz no tiene límite de corriente en los LED que necesita para agregar resistencias, el lugar donde los agregue depende de cómo pretenda usar la matriz. Ese instructivo tiene estas resistencias en el circuito de "ánodo" entre el colector y los ánodos LED. eso es adecuado para cuando enciende las filas una a la vez y luego enciende algunos LED en cada fila.

¿Estoy tratando de usar los BJT NPN de forma completamente incorrecta?

No es del todo incorrecto, pero debe recordar que un BJT también se ve como un par de diodos cuando no está amplificando señales.

entonces, con "V +" desconectado, el BJT pasará la corriente que llega a través de "R-Rx" al LED con el BJT conectado a tierra a través de una resistencia, el diodo BC del BJT desviará parte de la corriente R-Rx a tierra causando el LED para atenuar.

¿Por qué mi simulación (estoy usando OrCAD Capture Lite) muestra ~0 corriente a través de los LED cuando puedo medirla a ~1 mA y obviamente hay suficiente para encender los LED?

Q-Cx puede generar voltaje negativo en el colector debido a la fotocorriente generada internamente, lo que genera suficiente voltaje para encender los LED. No creo que ningún simulador simule este efecto de transistor muy pequeño.

¿Cómo puedo ajustar este circuito para lograr mi objetivo? ¿Deberían usarse MOSFET de nivel lógico en su lugar?

Use PWM para atenuar los LED. Veo una matriz: así que supongo que ha descubierto cómo escanear una matriz. cuando desee que los LED se atenúen, simplemente haga cada fila (o columna) más rápido y luego espere un momento antes de volver a escanear.

probablemente no necesite transmisores tanto en las filas como en las columnas, lo que sea. está activo en paralelo no necesita transistores (pero sí necesita resistencias), el microcontrolador puede generar suficiente corriente para encender los LED, pero donde las corrientes se agrupan, necesita los transistores.

R-Cx parece tener una resistencia muy baja, esas resistencias se utilizarían mejor entre el colector y la columna. coloque una resistencia de 1K en su lugar (en la base del Q-Cx)