Tire del transistor NPN (durante el encendido del microcontrolador)

0

Estoy usando un ESP8266-01 para controlar un relé de 3.3v a través de un transistor NPN 2N2222A. Los ESP8266 GPIOs utilizan un nivel lógico de 3.3v.

LaideaesquealconfigurarGPIO2enhi/lopuedosaturar/cortareltransistorycontrolarelrelé.Estofuncionabien,siempreycuandoconecteGPIO2altransistordespuésdeelinicio,porqueGPIO2debemantenerseenaltoduranteelencendidoparaarrancarnormalmentedesdeflash( enlace ). Tengo algún concepto de que probablemente necesito tener un pull-up en el pin, pero estoy confundido con cómo GPIO2 puede mantenerse alto sin tener siempre el transistor en estado saturado (es decir, ¿cómo puedo hacer que GPIO2 sea bajo ... ). ¿Cuál es el mejor enfoque aquí?

También, en una nota no relacionada, he notado que en muchos diagramas de circuitos de controlador de relé que usan transistores, hay una resistencia entre GPIO y transistor. ¿Alguna buena razón para esto? Todo funciona como está, pero tal vez haya algo que me esté perdiendo.

EDITAR: Para aclarar, el problema es que el circuito funciona de la forma prevista si dejo que el ESP arranque y luego conecto GPIO2 a Q1. El problema se produce si trato de iniciar mientras GPIO2 está conectado (es decir, como se muestra en el diagrama que proporcioné), en cuyo caso el GPIO2 probablemente se está agotando, lo que resulta en un modo de inicio incorrecto.

    
pregunta guywhoneedsahand

3 respuestas

3

Debe agregar una resistencia entre la salida GPIO y la base del transistor. Si la base del transistor se accionara a 3.3 V, drenaría unos cuantos amperios y el transistor o la MCU explotarían. Si no explotó, probablemente significa que algo está limitando la corriente en la salida GPIO, pero no lo recomendaría dependiendo de esto.

Si su MCU lo necesita, ciertamente puede agregar una resistencia de extracción a GPIO2. Siempre que su valor sea lo suficientemente alto (10k es estándar para mí), la MCU puede conducir fácilmente el pin bajo cuando se lo solicite.

El esquema sería algo como esto:

simular este circuito : esquema creado usando CircuitLab

Edición: R2 debe ser mucho más bajo que R1, pero aún así es alto, así que arreglé los valores y reemplacé el transistor individual con una estructura similar a la de Darlington para tener una ganancia lo suficientemente alta como para conducir el relé de forma adecuada.

simular este circuito

    
respondido por el user2233709
2

Lo que quiere hacer es conectar su GPIO2 al relé con este circuito. Esto permitirá que GPIO2 alcance cerca de 3.3V en el momento de encendido pero no haga clic en el relé. Luego, cuando el software de la MCU esté listo para activar el relé, debe emitir un '0' al pin GPIO2. El par de resistencias R1 / R2 se debe dimensionar en la proporción que se muestra para que el GPIO2 pueda ser elevado. (El circuito en la otra respuesta tiene estos al revés y no permite que GPIO2 se acerque a un máximo válido).

    
respondido por el Michael Karas
1

Claramente, la unión del Emisor de Base {diodo de lectura} del NPN está tirando GPOI2 a tierra. Y si la salida GPIO es alta, no hay un límite de corriente adecuado para esa salida.

Incluso con 10k pullup, el resistor de la serie 1k solo tendría aproximadamente 0.3v a través de él (suponiendo que esté conectado a tierra), sin embargo, habrá aproximadamente 0.5v de voltaje de Base-Emisor, por lo que el resultado final seguirá siendo de aproximadamente 0.8v en el Pin IO. ¿Seguirá eso creando el problema de arranque? Ciertamente no es lo que yo llamaría detenidos.

La sugerencia de usar un transistor PNP puede ser una buena opción si tiene más voltaje para jugar, pero aún así desea incluir una resistencia en serie para la limitación de corriente, lo que significará menos voltaje para activar el relé.

Al final, sería mejor utilizar un FET ya que no habrá una corriente de compuerta ni una resistencia en serie. Solo tiene que decidir si se utiliza la conmutación de lado alto o lado bajo y, por lo tanto, FET de tipo de canal P o N.

Como quiere que el pin GPIO esté alto al principio, pero el relé no esté activado, entonces debería usar un FET de canal P en la configuración de conmutación del lado alto y tirar de la puerta hacia abajo para activar el relé. No olvides la resistencia pullup

    
respondido por el Steve

Lea otras preguntas en las etiquetas