Pérdida de corriente en la base del interruptor de lado alto PNP?

3

Esto es para una tarjeta de interfaz ISP Raspberry Pi AVR. La mayor parte de la funcionalidad es alrededor del nivel cambiando la lógica al voltaje de la placa de destino. Esto se logra con un chip 74ABT125. Es alimentado por un AP2331 que se alimenta desde un interruptor que alimenta 3.3v, 5v o nada (en cuyo caso se espera que el chip de búfer sea alimentado por el objetivo).

Lo preocupante es una pequeña parte del circuito:

simular este circuito : esquema creado usando CircuitLab

VCCIO es la salida del AP2331. Se alimenta a la línea Vcc del '125 y un par de otras resistencias pull-up de 4.7k que tienen desplazadores de nivel de diodo-resistencia para las líneas MOSI y SCK desde la Raspberry Pi. ! BUFFEN es la línea de habilitación de salida en el '125. ! PI_RST es el pin GPIO en la Raspberry Pi que inicia la programación. Normalmente flota, pero se afirma en 0 (tierra) para restablecer el objetivo.

Tenga en cuenta que la funcionalidad de programación real de este circuito funciona perfectamente. Es solo el LED, que se supone que indica que la programación está activa, que no funciona.

Lo que está sucediendo es que cuando el sistema está inactivo y el interruptor de alimentación está configurado para 5 voltios, el LED está apagado, como era de esperar. Cuando el interruptor de alimentación está configurado para 3.3 voltios, el LED se ilumina con un brillo de aproximadamente 1/3. Cuando el interruptor de encendido no está encendido, el LED se enciende.

Claramente, existe algún tipo de ruta actual a través del transistor cuando el interruptor no está configurado para 5 voltios.

He intentado poner en marcha la resistencia de base hasta 200k, pero eso no cambió nada. Lo que sí noté al hacer eso es que el LED se apaga, probablemente porque la tapa de derivación a través del pin de la fuente de alimentación para el '125 se está cargando'.

Puedo intentar aumentar la resistencia de la resistencia pullup VCCIO, esa señal en particular no necesita ser particularmente rápida.

¿Alguien tiene alguna otra idea sobre cómo hacer que este LED actúe como está previsto? ¿Se enciende solo cuando la línea! PI_RST está conectada a tierra?

    
pregunta nsayer

4 respuestas

0

Relleno relleno relleno ...

Prueba esto:

    
respondido por el EM Fields
2

Un LED rojo brillará visiblemente con corrientes muy pequeñas. Tal vez tan bajo como 10uA o 100uA. No entiendo completamente tu explicación de tu circuito. Pero sospecho que cuando el LED está débilmente encendido, es porque una pequeña cantidad de corriente de base puede fluir, lo más probable es que sea! PI_RST, pero incluso podría ser una corriente inversa en el diodo, D2. Esta corriente de base es amplificada por el transistor Beta.

La solución es dos pasos:

Primero, averigüe cuánta corriente fluye a través del LED. Haga esto midiendo el voltaje en R1 cuando el LED está brillando débilmente. Probablemente será mV, pero por supuesto no estoy seguro. De todos modos, calcule la corriente a través de la resistencia y el LED utilizando la ley de Ohm. Suponiendo que es un valor pequeño (menos de 1 mA), vaya al paso 2.

Paso 2: coloque una resistencia en paralelo con el LED rojo. La resistencia debe calcularse como sigue: V / I = R Donde V es 0.2 * Vf para el LED, e I es la corriente medida. La idea es proporcionar una ruta alternativa para la corriente pequeña para que no pase por el LED. Mientras la corriente que atraviesa la resistencia paralela no haga que el voltaje aumente a cerca de Vf del LED, el LED no se iluminará en absoluto.

Si la resistencia resulta ser un valor de resistencia pequeño, entonces esta solución no funcionará. Pero si funciona como 10k o 100k o más, podría ser una solución aceptable.

¡Buena suerte! Por cierto, el aumento de la resistencia de corriente de base puede ayudar. Solo asegúrate de no aumentar tanto que el LED no se enciende de forma brillante cuando se supone que debe hacerlo.

    
respondido por el mkeith
1

Me sorprende que el LED pueda encenderse, según su descripción. Tal vez estoy malinterpretando la situación pero: PI_RST y BUFFEN están flotando.

Por lo tanto, para que PNP lleve a cabo correctamente, necesita que su nodo base se hunda. Pero el diodo evitaría que cualquier corriente fluya de esa manera.

Entonces, la única forma en que su circuito puede funcionar es si el pin PI_RST tiene fugas, asumamos 100kOhm. Compara en las imágenes de simulación de abajo. Puede ver que con el diodo y PI_RST abiertos, no hay suficiente corriente para encender el diodo.

Esto se debe a que PNP necesita que su nodo base extraiga la corriente (inversa de NPN), y el diodo evita que la corriente, excepto la corriente inversa, fluya.

Sisolodeseamantenerlaconfiguraciónactualperodetenerelproblema,peroundiodoentreelPNPyelsuministropositivo.

Segúnmipresentimiento,elproblemaactualestácausadoporesediodo.Cuandoestápolarizadohaciaadelante,produceunacaídadevoltajehaciaadelante.AsíqueconVCCIOa3.3V,estoenciendeautomáticamenteelPNP,débilmente.

AgregarundiodoporencimadelPNPrequierealmenosdoscaídasdevoltajepararealizarunaconduccióndébil,loqueevitaquelacajade3.3VenciendaelPNP.

Vealosresultadosdelasimulaciónacontinuaciónconeldiodocomoejemplo.

    
respondido por el jbord39
0

Supongo que es porque un BJT es un amplificador de corriente, no un interruptor. Sería interesante ver si todavía tiene este problema con un FET de canal P en lugar de Q1. En particular, la unión del Emisor de Base de un BJT se modela como un simple diodo en el análisis de DC, si recuerdo correctamente. Entonces, si hay un camino desde GND desde el pin! PI_RST, el pin Q1 conducirá (amplificará en aproximadamente 100x) la corriente que fluye desde 3.3V a través de la unión del Emisor Base y su LED se encenderá.

    
respondido por el vicatcu

Lea otras preguntas en las etiquetas