Como conectar transistores (BJT) e MOSFET com Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





A interface de dispositivos de energia como BJTs e MOSFETs com saída do Arduino é uma configuração crucial que permite alternar cargas de alta potência através de saídas de baixa potência de um Arduino.

Neste artigo, discutimos detalhadamente os métodos corretos de usar ou conectar transistores como BJTs e mosfets com qualquer microcontrolador ou Arduino.



Esses estágios também são chamados de 'Level Shifter' porque este estágio muda o nível de tensão de um ponto inferior para um ponto superior para o parâmetro de saída relevante. Por exemplo, aqui a mudança de nível está sendo implementada da saída do Arduino 5V para a saída MOSFET 12V para a carga de 12V selecionada.

Não importa o quão bem programado ou codificado seu Arduino possa estar, se não estiver integrado corretamente com um transistor ou um hardware externo, pode resultar em operação ineficiente do sistema ou até mesmo danos aos componentes envolvidos no sistema.



Portanto, torna-se extremamente importante compreender e aprender os métodos corretos de uso de componentes ativos externos como mosfets e BJTs com um microcontrolador, para que o resultado final seja eficaz, suave e eficiente.

Antes de discutirmos os métodos de interface de transistores com o Arduino, seria útil aprender as características básicas e o funcionamento de BJTs e mosfets.

Características elétricas de transistores (bipolar)

BJT significa transistor de junção bipolar.

A função básica de um BJT é LIGAR uma carga conectada em resposta a um disparo de tensão externa. A carga deve ser mais pesada na corrente do que o acionador de entrada.

Portanto, a função básica de um BJT é ligar uma carga de corrente mais alta em resposta a um acionamento de entrada de corrente mais baixa.

Tecnicamente, isso também é chamado polarização do transistor , o que significa usar corrente e tensão para operar um transistor para uma função pretendida, e essa polarização deve ser feita da maneira mais otimizada.

Os BJTs têm 3 terminais ou 3 pinos, ou seja, base, emissor e coletor.

O pino base é usado para alimentar o gatilho de entrada externa, na forma de pequena tensão e corrente.

O pino do emissor está sempre conectado ao terra ou à linha de alimentação negativa.

O pino coletor é conectado à carga por meio da alimentação positiva.

Os BJTs podem ser encontrados com dois tipos de polaridades, NPN e PNP. A configuração básica do pino é a mesma para NPN e PNP conforme explicado acima, exceto a polaridade de alimentação CC que se torna exatamente o oposto.

O pinagens de um BJT podem ser entendidas através da seguinte imagem:

Na imagem acima, podemos ver a configuração básica da pinagem de um transistores NPN e PNP (BJTs). Para o NPN, o emissor torna-se a linha de aterramento e é conectado com a alimentação negativa.

Normalmente, quando a palavra 'terra' é usada em um circuito CC, presumimos que seja a linha de alimentação negativa.
No entanto, para um transistor, a linha de aterramento associada ao emissor faz referência às tensões de base e do coletor, e o 'aterramento' do emissor pode não significar necessariamente a linha de alimentação negativa.

Sim, para um NPN BJT o aterramento poderia ser a linha de alimentação negativa, mas para um Transistor PNP o 'aterramento' é sempre referenciado à linha de alimentação positiva, conforme mostrado na figura acima.

A função de ligar / desligar de ambos os BJTs é basicamente a mesma, mas a polaridade muda.

Uma vez que o emissor de um BJT é a passagem de 'saída' para a corrente que entra pela base e o coletor, ele deve ser 'aterrado' a uma linha de alimentação que deve ser oposta à tensão usada nas entradas da base / coletor. Caso contrário, o circuito não será concluído.

Para um NPN BJT, as entradas de base e coletor estão associadas a um disparo positivo ou tensão de comutação, portanto, o emissor deve ser referenciado à linha negativa.

Isso garante que as tensões positivas que entram na base e no coletor sejam capazes de alcançar a linha negativa através do emissor e completar o circuito.

Para um PNP BJT, a base e o coletor estão associados a uma entrada de tensão negativa, portanto, naturalmente, o emissor de um PNP deve ser referenciado à linha positiva, de modo que a alimentação positiva possa entrar pelo emissor e terminar seu percurso a partir da base e os pinos coletores.

Observe que o fluxo de corrente para o NPN é da base / coletor para o emissor, enquanto para o PNP, é do emissor para a base / coletor.

Em ambos os casos, o objetivo é ligar a carga do coletor através de uma pequena entrada de tensão na base do BJT, só muda a polaridade.

A simulação a seguir mostra a operação básica:

como o transistor conduz com uma tensão externa

Na simulação acima, assim que o botão é pressionado, a entrada de tensão externa entra na base do BJT e atinge a linha de aterramento via emissor.

Enquanto isso acontece, a passagem do coletor / emissor dentro do BJT se abre e permite que o suprimento positivo do topo entre na lâmpada e passe pelo emissor para o solo, ligando a lâmpada (carga).

Ambas as mudanças acontecem quase simultaneamente em resposta ao pressionamento do botão.

O pino emissor aqui se torna a pinagem de 'saída' comum para ambos os feeds de entrada (base e coletor).

E a linha de alimentação do emissor torna-se a linha de aterramento comum para o gatilho da alimentação de entrada e também para a carga.

O que significa que, a linha de alimentação conectada ao emissor BJT também deve estar estritamente conectada ao aterramento da fonte de disparo externa e à carga.

Por que usamos um resistor na base de um BJT

A base de um BJT é projetada para trabalhar com entradas de baixa potência, e este pino não pode receber grandes entradas de corrente e, portanto, utilizamos um resistor, apenas para garantir que nenhuma grande corrente seja permitida entrar na base.

A função básica do resistor é limitar a corrente a um valor especificado correto, de acordo com a especificação de carga.

Observe que, para BJTs este resistor deve ser dimensionado de acordo com a corrente de carga do lado do coletor.

Porque?

Porque BJTs são 'interruptores' dependentes da corrente.

Ou seja, a corrente de base precisa ser aumentada, diminuída ou ajustada de acordo com as especificações de corrente de carga no lado do coletor.

Mas a tensão de comutação necessária na base de um BJT pode ser tão baixa quanto 0,6 V ou 0,7 V. Isso significa que a carga do coletor BJT pode ser ligada com uma tensão tão baixa quanto 1 V na base / emissor de um BJT.
Aqui está a fórmula básica para calcular o resistor de base:

R = (Us - 0,6) Hfe / Corrente de carga,

Onde R = resistor de base do transistor,

Us = Fonte ou a tensão de disparo para o resistor de base,

Hfe = Ganho de corrente direta do transistor (pode ser encontrado no datasheet do BJT).

Embora a fórmula pareça perfeita, nem sempre é absolutamente necessário configurar o resistor de base com tanta precisão.

É simplesmente porque as especificações da base BJT têm uma ampla faixa de tolerância e podem facilmente tolerar grandes diferenças nos valores do resistor.

Por exemplo, conectar um relé tendo uma resistência de bobina de 30mA, a fórmula pode fornecer aproximadamente um valor de resistor de 56K para um BC547 com entrada de alimentação de 12V ... mas eu normalmente prefiro usar 10K e funciona perfeitamente.

No entanto, se você não estiver seguindo as regras ideais, pode haver algo não bom com os resultados, certo?

Tecnicamente, isso faz sentido, mas novamente a perda é tão pequena em comparação com o esforço despendido para os cálculos que pode ser negligenciada.

Por exemplo, usar 10K em vez de 56K pode forçar o transistor a funcionar com uma corrente de base um pouco mais, fazendo com que ele aqueça um pouco mais, pode ser alguns graus mais alto ... o que não importa.

Como conectar o BJT ao Arduino

OK, agora vamos ao ponto real.

Já que aprendemos de forma abrangente como um BJT precisa ser polarizado e configurado em suas 3 pinagens, podemos compreender rapidamente os detalhes sobre sua interface com qualquer microcontrolador como o Arduino.

O objetivo principal de conectar um BJT com um Arduino é geralmente ligar uma carga ou algum parâmetro no lado do coletor, em resposta a uma saída programada de um dos pinos de saída do Arduino.

Aqui, a entrada do acionador para o pino base BJT deve vir do Arduino. Isso implica que a extremidade do resistor base simplesmente precisa ser anexada à saída relevante do Arduino, e o coletor do BJT com a carga ou qualquer parâmetro externo pretendido.

Uma vez que um BJT requer apenas 0,7 V a 1 V para uma comutação eficaz, 5 V do pino de saída do Arduino torna-se perfeitamente adequado para conduzir um BJT e operar cargas razoáveis.
Um exemplo de configuração pode ser visto na seguinte imagem:

interface ou conexão do Arduino com um driver de relé de transistor

Nesta imagem podemos ver como um Arduino programado é usado para operar uma pequena carga na forma de relé via estágio do driver BJT. A bobina de relé se torna a carga do coletor, enquanto o sinal do pino de saída do Arduino selecionado age como o sinal de comutação de entrada para a base BJT.

conectar o Arduino com um LED de alta potência

Embora um relé se torne a melhor opção para operar cargas pesadas por meio de um driver de transistor, quando a comutação mecânica se torna um fator indesejável, atualizar os BJTs se torna a melhor escolha para operar cargas CC de alta corrente, conforme mostrado abaixo.

No exemplo acima, uma rede de transistores Darlington pode ser vista, configurada para lidar com a carga de alta corrente indicada de 100 watts sem depender de um relé. Isso permite comutação contínua do LED com o mínimo de perturbação, garantindo uma longa vida útil para todos os parâmetros.

Agora vamos prosseguir e ver como os mosfets podem ser configurados com um Arduino

Características elétricas do MOSFET

O objetivo de usar um mosfet com um Arduino é geralmente semelhante ao do BJT, conforme discutido acima.

No entanto, como normalmente MOSFETs são projetados para lidar com especificações de corrente mais altas com eficiência em comparação com BJTs, eles são usados ​​principalmente para chavear cargas de alta potência.

Antes de compreendermos a interface de um mosfet com o Arduino, seria interessante saber o básico diferença entre BJTs e mosfets

Em nossa discussão anterior, entendemos que BJTs são dispositivos dependentes de corrente , porque sua corrente de comutação de base é dependente da corrente de carga do coletor. Correntes de carga mais altas exigirão corrente de base mais alta e vice-versa.

Para mosfets isso não é verdade, em outras palavras, porta mosfets que é equivalente à base BJT, requer corrente mínima para ligar, independentemente da corrente de dreno (pino de dreno do mosfet é equivalente ao pino coletor do BJT).

Dito isso, embora a corrente não seja o fator decisivo para alternar uma porta mosfet, tensão é.

Portanto, mosfets são considerados dispositivos dependentes de voltagem

A voltagem mínima necessária para criar uma polarização saudável para um mosfet é 5 V ou 9 V, sendo 12v a faixa mais ideal para ligar um mosfet totalmente.

Portanto, podemos assumir que, para ligar um mosfet e uma carga em seu dreno, uma fonte de 10 V pode ser usada em sua porta para um resultado ideal.

Pinos equivalentes de Mosfets e BJTs

A imagem a seguir mostra os pinos complementares de mosfets e BJTs.

A base corresponde a Gate-Collector corresponde a Drain-Emitter corresponde a Source.

Substituição de pinagem BJT mosfet em Arduino

Qual resistor deve ser usado para uma porta Mosfet

Em nossos tutoriais anteriores, entendemos que o resistor na base de um BJT é crucial, sem o qual o BJT pode ser danificado instantaneamente.

Para um MOSFET, isso pode não ser tão relevante, porque os MOSFETs não são afetados por diferenças de corrente em suas portas; em vez disso, uma tensão mais alta pode ser considerada perigosa. Normalmente, qualquer coisa acima de 20 V pode ser ruim para uma porta MOSFET, mas a corrente pode ser irrelevante.

Devido a isso, um resistor na porta não é relevante uma vez que os resistores são usados ​​para limitar a corrente e a porta mosfet não depende da corrente.

Dito isso, os MOSFETs são extremamente vulnerável a picos repentinos e transientes em seus portões, em comparação com BJTs.

Por esta razão, um resistor de valor baixo é geralmente preferido nas portas dos MOSFETs, apenas para garantir que nenhum pico repentino de tensão seja capaz de passar pela porta do MOSFET e destruí-lo internamente.

Tipicamente qualquer resistor entre 10 e 50 ohms poderia ser usado em portas MOSFET para proteger suas portas de picos de tensão inesperados.

Interface de um MOSFET com Arduino

Conforme explicado no parágrafo acima, um mosfet precisará de cerca de 10 V a 12 V para ligar corretamente, mas como os Arduinos funcionam com 5 V, sua saída não pode ser configurada diretamente com um mosfet.

Uma vez que um Arduino funciona com alimentação de 5 V, todas as suas saídas são projetadas para produzir 5 V como o sinal lógico de alta alimentação. Embora este 5 V possa ter a capacidade de LIGAR um MOSFET, pode resultar em uma comutação ineficiente dos dispositivos e problemas de aquecimento.

Para uma comutação MOSFET eficaz e para transformar a saída de 5 V do Arduino em um sinal de 12 V, um estágio de buffer intermediário pode ser configurado conforme mostrado na imagem a seguir:

como conectar mosfet com Arduino

Na figura, o MOSFET pode ser visto configurado com um par de estágios de buffer BJT que permite que o MOSFET use os 12 V da fonte de alimentação e ligue a si mesmo e a carga efetivamente.

Dois BJTs são usados ​​aqui, pois um único BJT faria com que o MOSFET conduzisse de forma oposta em resposta a todos os sinais positivos do Arduino.

Suponha que um BJT seja usado, então enquanto o BJT estiver LIGADO com um sinal Arduino positivo, o mosfet seria desligado, já que sua porta seria aterrada pelo coletor BJT, e a carga seria LIGADA enquanto o Arduino estivesse desligado.

Basicamente, um BJT inverteria o sinal do Arduino para o portão mosfet, resultando em uma resposta de comutação oposta.

Para corrigir essa situação, dois BJTs são usados, de modo que o segundo BJT inverta a resposta e permita que o mosfet seja ligado para todos os sinais positivos apenas do Arduino.

Pensamentos finais

Você já deve ter entendido de forma abrangente o método correto de conectar BJTs e mosfets a um microcontrolador ou Arduino.

Você deve ter notado que usamos principalmente NPN BJTs e mosfets de canal N para as integrações e evitamos usar os dispositivos PNP e de canal P. Isso ocorre porque as versões NPN funcionam idealmente como um switch e são fáceis de compreender durante a configuração.

É como dirigir um carro normalmente para a frente, em vez de olhar para trás e girar em marcha à ré. Em ambos os sentidos, o carro operaria e se moveria, mas dirigir em marcha à ré é muito ineficiente e não faz sentido. A mesma analogia se aplica aqui, e usar dispositivos NPN ou de canal N se torna uma preferência melhor em comparação com mosfets PNP ou canal P.

Se você tiver alguma dúvida, ou se você acha que posso ter perdido algo aqui, por favor, use a caixa de comentários abaixo para uma discussão mais aprofundada.




Anterior: 2 circuitos simples de controlador de motor bidirecional explorados Próximo: Circuito de bloqueio de partida do botão da motocicleta