Você está na página 1de 3

Um Transistor necessita 4mA para saturar e ligar, mas meu GPIO só pode fornecer 0.

1mA, o
que fazer?
3 de outubro de 2017: https://forum.allaboutcircuits.com/threads/transistor-needs-4ma-to-
saturate-and-turn-on-my-gpio-cannot-source-more-than-0-1ma-what-to-do.140690/

AUTOR
Então eu decidi usar um IC PCF8574 expansor de I/O em um projeto.
1. Descrição geral do PCF8574: Expansor de I/O remoto de 8 bits para I2C-Bus com interrupção.
O PCF8574/74A providencia expansão de Entrada/Saída remota via dois fios bidirecionais I2C-Bus
(Clock de serial (SCL), dado serial (SDA)).
Os PCF8574 consiste: de oito portas quase bidirecionais, de Interface I2C-Bus 100kHz, de três
entradas de endereço de hardware e de interrupção de saída operando entre 2.5V e 6V.
A porta quase bidirecional pode ser independentemente assinada como uma entrada para
monitorar status de interrupção ou teclados, ou como uma saída para ativar dispositivos indicadores
tais como Leds. O sistema Master pode ler da porta de entrada ou escrever para a porta de saída por
um único registro.
O baixo consumo de corrente de 2.5µA (típico, estático) é ideal para aplicativos móveis e os
engates das portas de saída diretamente para conduzir Leds.
O PCF8574 e o PCF8574A são idênticos, exceto por a porção fixada diferente do endereço escravo.
O endereço dos três pinos de hardware permite oito de cada dispositivo para ser no mesmo I2C-Bus,
então pode ser ativo simultâneo no mesmo I2C-Bus para 16 desses Expansores I/O PCF8574/74A,
suportando ativas 128 I/O (por exemplo, 128 Leds).
A saída ativa baixa de interrupção dreno-aberto (INT) pode ser conectada para a interrupção lógica
do microcontrolador e ser ativada quando qualquer estado de entrada diferir do estado de registro
de sua porta de entrada correspondente. Isso é usado para indicar ao microcontrolador que um
estado de entrada mudou e o dispositivo necessita ser interrogado sem o microcontrolador consultar
o registrador de entrada via I2C-Bus continuamente.
O Reset de Power-On interno (POR) inicializa os I/O como entrada com uma fonte de corrente
fraca de 100uA de acionador interno.

AUTOR
Eu não estava prestando atenção ao valor que os GPIO podem fornecer e escoar. Ele pode escoar
20mA, e por algum motivo eu supus que ele poderia fornecer perto de 20mA também… acabou que
o GPIO só pode gerar 0.1mA máximo! Por isso, não consegue saturar o transistor MMBT3904. Será
que funciona se eu usar um transistor Darlington, por exemplo, MMBTA13 ou MMBTA14?
O MMBT3904 tem um ganho de 30, enquanto o MMBTA14 possui um ganho de 10.000, só
requerendo cerca de 0,01mA em vez de 4mA. Se for assim, se ele só precisa de 0,01mA, então será
possível conduzi-lo diretamente com o IC expansor de I/O que eu estou pensando, e não preciso
mudar nada.
Existe uma maneira melhor de redesenhar isso para o futuro? Ou o transistor Darlington é uma
boa maneira de fazer isso? Agradeço qualquer ajuda ou conselho!

RESPOSTA
Se o MMBT3904 precisa de 4mA, basta adicionar um resistor acionador entre a trilha de
alimentação e a entrada do transistor para fornecer 4mA. Como o GPIO pode escoar 20mA, ele pode
facilmente puxar a saída para zero lógico. Assim, por exemplo, se a fonte de alimentação for 5V, o
valor do resistor seria (5V-0.7V) / 4mA ≈1kΩ.
AUTOR
Obrigado por o conselho. Eu tinha considerado isso, mas pensei no fato de os relés serem ativados
antes que o IC expansor de I/O tenha a chance de puxá-lo para zero. O estado padrão para os pinos
é de entrar ao comando Power-On, portanto, por padrão, os relés disparam ao comando Power-On.

OUTRA RESPOSTA
Por você não usa um Mosfet tipo 2N7000 ao invés de um transistor?
Os Mosfets são dispositivos que não funcionam por corrente, semelhantes a válvulas, eles são
dispositivos que funcionam por tensão (transcondutância).

AUTOR
Ok. Então parece que o 2N7002K-7 seria um substituto direto para mim?
E com ele eu posso substituir o resistor de 1K por um de 100Ω ou 0Ω, deixando o de 10K?
[...] Tempo depois [...]
Por agora, eu usei o Darlington MMBTA14 e com ele ainda não ativou o Relé. Será que tenho que
mudar os valores dos resistores?

RESPOSTA
Para que o Mosfet 2N7000 consiga conduzir Drain/Source completamente, o seu Gate deve
receber +10V. Alguns Mosfets conduzem Drain/Source parcialmente quando recebem no mínimo
+3V em seu Gate, que é aproximadamente a tensão de +3.3V do seu expansor de I/O. Se a
alimentação para o Expansor de I/O for de 5V então o Mosfet 2N7000 conduzirá Drain/Source
perfeito o bastante para seu circuito.
Você comentou que o MMBT3904 tem um ganho de 30, mas qual a importância do ganho linear
quando o que se quer é que ele seja saturado?
Sua corrente de base deve ser 1/10th da sua corrente de coletor para que o MMBT3904 seja
saturado.
Eu suponho que seu relé junto com o LED precisa de 100mA. O mesmo que um transistor oriental
de alto ganho. Ele requer bastante corrente de Base para que todos saturem.
Qual é a tensão reversa máxima permitida para seus LEDs? Os meus são 5V, mas o seu circuito lhes
dá 8.7V, o que pode destruir os LEDs ou destruir o expansor de I/O.

AUTOR
Então, eu experimentei um pouco mais e não consigo entender essa coisa! Eu tanto usei o
Darlington MMBTA14, como também o Mosfet 2N7002, modificando os valores dos resistores de
acordo com cada um. Assim:
Darlington MMBTA14: R11=1K, R10=60K;
Mosfet 2N7002: R11=0ohm, R10 = 10K;
Ambos ativa o On e Off do relé simplesmente perfeito..... No entanto, em Power-On os padrões do
GPIO é para entrar (com um interno 100uA resistor acionador). Por isso ao Power-On ele ativa o relé.
Após a coisa terminar o Boot, tudo é perfeito, mas o problema é a ativação do Relé ao Power-On
antes de iniciar o Boot.
Eu experimentei diminuir o valor de R10 na tentativa de dominar o resistor acionador interno, mas
sem sorte. Eu diminuí o R10 até 15K e ainda ativa o relé em Power-On. Diminuindo para 12K, o relé
permanece Off, mas permanece Off todo o tempo.