8051 - ¿Se puede accionar un transistor NPN?

3

Ahora tengo un PCB frente a mí, con el siguiente circuito:

Apesardeparecerbastantefácil,estonofuncionacomodebería.Despuésdeprofundizarenalgunainformaciónacercadelospuertos8051,comencéasospecharque,apesardemedir4.9voltiosenlassalidas,lospuertosenrealidadnoseabastecendecorriente,seestánhundiendo.Entoncesviesto(página138):

Aquí, el autor afirma que está haciendo lo que estoy tratando de hacer. ¿Está bien o mal? ¿Podría hacerse esto con la elección correcta de resistencias? ¿O solo se puede hacer con un PNP?

    
pregunta Çetin K

5 respuestas

2

Rápidamente miré la hoja de datos del AT89C51CC03 (página 7 y 8 de esto ). Revela que el puerto 3 tiene en efecto una salida de hundimiento, y hay un pull-up débil que explica su lectura de voltaje. Si desea cablear eso como lo tiene, use el puerto 0, que tiene una salida push-pull.

    
respondido por el AngeloQ
8
sospechoso ... no está actualizando, se están hundiendo

No adivine o vaya por aquí, LEA LA HOJA DE DATOS . Eso le dirá de manera directa la cantidad de pines de puerto en particular que se pueden generar.

Lo más probable es que la mayoría de los pines de puerto puedan generar algo de corriente. No se necesita mucha corriente para ser amplificado por un transistor para controlar un LED, por lo que incluso para una fuente de corriente bastante débil, el circuito que muestre debería funcionar.

Incluso podemos trabajar hacia atrás y encontrar qué fuente tiene el puerto para encender el LED por completo. Digamos que la flecha hacia arriba va a 5 V. El LED es rojo, así que imagínate que desciende a 1,8 V o menos. Cuenta otros 200 mV para el transistor saturado, y eso deja 3 V a través de la resistencia de 2 kΩ. Eso significa que la corriente del LED es (3 V) / (2 kΩ) = 1.5 mA. Digamos que se puede contar con que el transistor tiene una ganancia de 50. Eso significa que se necesitarían 30 µA de corriente de base para encender el LED.

Con la resistencia de 5 kΩ allí, el circuito en realidad atraerá 520 µA cuando la salida digital esté a 3.3 V. La mayoría de las salidas digitales pueden hacer eso si están configuradas para la corriente de fuente, pero nuevamente, leer la hoja de datos (¿ve el tema recurrente aquí?).

Su segundo esquema muestra un motor, que probablemente necesite mucha más corriente que el LED. Un solo transistor puede no tener suficiente ganancia para tomar la corriente de la fuente de salida digital pequeña y permitir suficiente corriente para impulsar el motor. Hay varias opciones para lidiar con esto, como usar un FET de bajo voltaje o un segundo transistor bipolar. Sin embargo, ese sería el tema de una pregunta diferente.

Añadido

Aquí hay una forma de utilizar la capacidad de sumidero de corriente de estado bajo de una salida digital en lugar de su capacidad de fuente de corriente de estado alto. Esto también muestra cómo usar dos transistores para obtener una gran cantidad de amplificación de corriente para poder conducir cargas de corriente más altas:

En este ejemplo, la salida digital solo tiene que hundir alrededor de un miliamperio. Cuando la salida digital baja, conduce aproximadamente 1 mA a través de la base de Q1. Con los valores de las partes mostrados, eso conduce aproximadamente 24 mA a través de la base de Q2. Esto significa que Q1 debe tener una ganancia de al menos 24, que se encuentra fácilmente en muchos transistores PNP de señal pequeña. La ganancia de Q2 le permite cambiar las corrientes de carga hasta alrededor de 700 mA, lo que es suficiente para impulsar motores pequeños.

Tenga en cuenta también que la carga no tiene que ser alimentada desde la fuente de alimentación de 3.3 V. El transistor TIP41 que se muestra puede manejar hasta 40 V. Si la carga es incluso parcialmente inductiva, debe haber un diodo inverso a través de él para darle a la corriente de retroceso inductivo un camino para fluir que no requiere freír el transistor.

    
respondido por el Olin Lathrop
1

Los pines del puerto 8051 originales son pseudo-bidireccionales; no pueden obtener prácticamente ningún estado estable actual, solo brevemente en el cambio. Al parecer, los diversos autores de un libro sobre los años 8051 (y cualquiera a quien hayan enviado su manuscrito para su revisión) saben muy poco acerca del hardware 8051. ¡Triste! Consulte this respuesta para los detalles sangrientos.

Puedes usar un 2N7000 en lugar del BJT y dejar de lado la resistencia 'base'.

    
respondido por el Spehro Pefhany
1

Daré una respuesta práctica . Hice un circuito similar al suyo, donde utilicé el transistor bdt bd139 (tengo este) y medí la corriente extraída de la base. Si utilizo una resistencia de 470 ohmios, consume 2-2.5 mA, lo que es demasiado para su 8051 si no puede proporcionar más de 500-600uA. Para hacer que dibuje menos, conecté una resistencia de valor más alto a la base, como 20-30K, y luego la corriente dibujada es de alrededor de 50-100 uA, lo que debería estar bien. Incluso conecté 1 Mohm donde redujo la corriente base a 2 uA, pero luego arruinó la corriente del lado del emisor-recolector, por lo que usé una resistencia de valor superior de 20-30k o más hasta que funcionó.

Pero también es extraño que hice un proyecto con 8051 at89 (no recuerdo el resto) y conecté 8 LED con una resistencia directamente a los pines GPIO y estaba funcionando.

    
respondido por el snrIcmn
0

Esto podría funcionar si se utilizara un transistor de ganancia muy alta o un transistor Darlington. El uso de un pin de puerto que tiene fuertes pullups internos o etapas push-pull (puede necesitar una configuración de software explícita en algunos modelos de 8051), O usar un pullup externo, es la solución más sólida aquí.

    
respondido por el rackandboneman

Lea otras preguntas en las etiquetas