Usando Transistor no Arduino
Porquê usar transistores?
Os microcontroladores, tais como Atmega, PIC e MSP, são dispositivos lógicos. Eles são usados com o intuito de ser a inteligencia do circuito. Dessa forma, esses componentes não são produzidos para suportar grandes correntes. O Arduino UNO, por exemplo, que usa o Atmega328, suporta um máximo de 40mA em suas portas I/O e fornece uma tensão de 5V.
O Arduino UNO suporta um máximo de 40mA em suas portas I/O
Para muitas aplicações isso não é o suficiente. Segue alguns exemplos:
- Motores DC;
- Fitas de LED;
- Relé;
- Ou qualquer componente que precise de mais de 5V ou 40mA.
A solução pode parecer complicada mas é simples, o nome dela é Transistores.
Nesse Post iremos focar nos transistores BJT (junção bipolar), tentarei ser o mais prático possível, pensando em alguém que não saiba nada de eletrônica. Caso queira saber mais sobre transistores, existe bastante material na internet explicando os vários tipos e suas propriedades de forma mais detalhada.
Um Pouco de História!
Uma das invenções mais importantes do Milênio, os transistores possibilitaram uma revolução tecnológica inimaginável. Agora mesmo, usando o seu computador ou qualquer aparelho eletrônico você está colhendo os frutos dessa invenção.
Antes dos transistores, os computadores funcionavam a partir do uso de válvulas termoiônicas, elas até que funcionavam bem, porém ocupavam muito espaço fazendo com que computadores ocupassem espaços muito grandes. Dessa forma, se viu a necessidade de descobrir uma forma de utilizar um substituto menor.
Em 1947, nos Laboratórios da Bell Telephone, os pesquisadores John Bardeen e Walter Houser Brattain inventaram o primeiro transistor feito de germânio. Em 23 de Dezembro de 1948, foi demonstrado para o mundo por John Bardeen, Walter Houser Brattain e William Bradford Shockley, que ganharam o Nobel de Física em 1956.
Hoje, o material semicondutor mais usado na fabricação de transistores é o silício. O silício é preferível porque possibilita o funcionamento a temperaturas mais elevadas (175 ºC, quando comparado com os ~75ºC dos transistores de germânio) e também porque apresenta correntes de fuga menores. Com a evolução tecnológica existe a necessidade de diminuir cada vez mais o tamanho dos transistores para que se diminua o tamanho dos equipamentos e que se aumente a capacidade de processamento. Uma das novas tecnologias é o chamado transistor 3D que tem dimensões nanométricas.
Como funcionam?
Imagine uma válvula hidráulica, a do seu chuveiro por exemplo, ela tem a função de controlar o fluxo de água que sairá pelo chuveiro, correto? Podemos ter a válvula totalmente fechada, totalmente aberta ou em uma abertura especifica, limitando a corrente de água.
Nessa válvula temos:
- Uma entrada, onde entra a corrente de água;
- Uma saída, nesse caso vai para o chuveiro
- Um elemento de controle de fluxo, no caso o volante da válvula.
O transistor é muito semelhante, porém tratamos de uma corrente de elétrons. O transistor atua como uma válvula. No transistor NPN, temos:
- Uma entrada, chamada coletor, por onde entra a corrente de elétrons;
- Uma saída, chamada emissor, por onde sai a corrente de elétrons;
- E um entrada de controle, chamada base, que no caso é controlada a partir de uma corrente de controle.
Como assim, corrente de controle?
Quando trabalhando no estado Ativo, o transistor aumenta ou reduz o fluxo de corrente entre o coletor e o emissor conforme à corrente de base aumenta ou reduz. Dessa forma, existe uma relação entre corrente do emissor e coletor com a corrente de base. Ela é:
Icoletor ≅ Iemissor ≅ Ibase.hfe
Repare que a corrente de emissor e coletor são aproximadamente iguais (em breve explicaremos porque) e que as duas são proporcionais a corrente de base.
Mas quem é esse hfe?
O hfe, também conhecido como β (beta), é o coeficiente de ganho de corrente. Ele relaciona a corrente de base com a corrente de coletor e emissor. Todo transistor tem o seu valor, esse pode ser consultado na folha de dados do componente (datasheet). Esse valor costuma ser na ordem de centenas. Assim, a corrente de base é muito pequena, em relação às correntes de coletor e de base.
Contudo, a corrente de base tem que fluir para algum lugar. No caso do transistor NPN, ela se junta a corrente de coletor, fluindo em direção ao emissor. Logo, no transistor NPN:
Iemissor = Icoletor + Ibase = Ibase.hfe + Ibase
Iemissor = Ibase.(hfe + 1) ≅ Ibase.hfe
Icoletor ≅ Iemissor
Como hfe >> 1 (muito maior que 1), podemos aproximar o termo (hfe+1) para hfe e assim considerar que as correntes de emissor e coletor são aproximadamente iguais, cometendo um erro inferior a 3% em transistores típicos.
Mas o que acontece se a corrente de base for muito grande?
O transistor entrará em um estado de Saturação. Chega um instante em que a corrente de base é tão grande que a corrente de coletor não consegue ser proporcional a ela. Nesse instante, o transistor libera o máximo de corrente de coletor que pode. É como um registro totalmente aberto.
Icoletor < Ibase . hfe
(Condição de Saturação)
E como restringir toda a corrente?
Quando nenhuma corrente flui entre coletor (c) e emissor (e), podese dizer que o transistor está em corte. Para que possamos entrar nesse estado, algumas condições são necessárias No transistor NPN, as condições são:
- Vb < Vc, Tensão de coletor maior que tensão de base;
- Vb - Ve < 0.7, Tensão de base deve ser 0,7V maior que tensão de Emissor.
Observe que caso o emissor tenha uma tensão de 0V e colocarmos uma tensão de 0V na base, é o suficiente para que o transistor não conduza. Já que a tensão de base não será 0,7V maior que a tensão de emissor.
Será que entendi?
O transistor possui 3 estados de operação, são eles:
- Ativo, Icoletor ≅ Iemissor ≅ Ibase.hfe;
- Corte, Icoletor ≅ Iemissor ≅ 0;
- Saturado, Icoletor < Ibase.hfe (deixa toda a corrente fluir).
Para o transistor NPN funcionar em estado ativo é necessário que:
- Vb < Vc, Tensão de coletor maior que tensão de base;
- Vb - Ve < 0.7, Tensão de base 0,7V maior que tensão de Emissor;
Transistor PNP
Além do transistor NPN, existe também o PNP. Os dois possuem configurações internas diferentes que mudam um pouco o funcionamento deles.
- No transistor NPN a corrente flui do coletor para o emissor, e a corrente de base entra somando junto a contente de emissor, fluindo da base para o emissor.
- No transistor PNP a corrente flui do emissor para o coletor e a corrente de base flui do emissor para a base.
Veja a imagem a seguir:
Além disso, os parâmetros para que não entre em Corte mudam. Para o transistor PNP funcionar, precisamos que:
- Tensão de Base seja maior que tensão de Coletor;
- Tensão de Emissor 0,7V maior que tensão de Base;
Observe que a corrente de base continua sendo muito pequena, considerando Icoletor ≅ Iemissor.
Qual transistor usar?
Para selecionar um transistor, é importante verificar os níveis de corrente, tensão e dissipação de potência em que ele irá trabalhar. Isso é feito na etapa de projeto, utilizando teoria de circuitos ou (quando possível) simulando o comportamento do circuito em softwares específicos. Então, deve-se escolher um dispositivo com capacidade de suportar tais correntes, tensões. Para isso existem duas abordagens principais. A mais comum e simples, é utilizar dispositivos de projetos parecidos (amplamente disponíveis na internet) pois já foram testados por outras pessoas. A abordagem ideal porém mais trabalhosa é consultar a folha de dados (datasheet) dos transistores. Nos datasheets é possível descobrir a SOA (Safety Operation Area) ou ‘área de operação segura’ dos transistores e assim poder confiar no seu funcionamento correto e na sua durabilidade.
O que devemos verificar:
- Pol: polarização; negativa quer dizer NPN e positiva significa PNP.
- VCEO: tensão entre coletor e emissor com a base aberta.
- VCER: tensão entre coletor e emissor com resistor no emissor.
- IC: corrente máxima do coletor.
- PTOT: é a máxima potência que o transistor pode dissipar (Corrente Máxima de coletor vezes Tensão máxima entre coletor e base)
- hFE: ganho (beta).
- Encapsulamento: a maneira como o fabricante encapsulou o transistor, nos fornece a identificação dos terminais.
Como usar transistores no Arduino?
Veremos agora como usar um transistor NPN junto ao Arduino. Existem varias configurações de circuitos usando transistores, mas vamos nos ater a uma das mais simples. Ela é apresentada na figura a seguir. Nesse caso, estamos controlando um LED através do Arduino com o auxilio do transistor:
Saída Arduino
A saída do Arduino será:
- 5V, quando em nível lógico alto;
- 0V, quando em nível lógico baixo.
Para que o LED acenda, precisamos que quando a saída do Arduino estiver em nível lógico alto, o transistor conduza (Estado Ativo ou Saturado) e que quando estiver em nível lógico baixo, não conduza (Estado de Corte).
Relembrando
O transistor possui 3 estados de operação, são eles:
- Ativo, Icoletor ≅ Iemissor ≅ Ibase.hfe;
- Corte, Icoletor ≅ Iemissor ≅ 0;
- Saturado, Icoletor < Ibase.hfe (deixa toda a corrente fuir).
Para o transistor NPN conduza precisamos que:
- Vb < Vc, Tensão de coletor maior que tensão de base;
- Vb - Ve < 0.7, Tensão de base 0,7V maior que tensão de Emissor;
Transistor em Corte
Como o emissor está conectado ao GND, sua tensão é de 0V. Assim, quando a saída do Arduino estiver em 0V não atenderá um dos requisitos para que o transistor conduza (Tensão de Emissor 0,7V maior que tensão de Base) . Dessa forma o transistor entrará em estado de Corte.
Transistor Conduzindo
Quando o Arduino estiver com 5V em sua saída, sendo a tensão de coletor maior que a tensão de base, teremos o transistor na região ativa ou saturada. Para garantimos que quando em região ativa teremos a corrente de coletor suficiente para acionar o LED precisamos dimensionar os resistores de base(R2) e de coletor(R1) corretamente.
Resistor R1
O resistor R1 tem função de limitar a corrente de coletor. Para acionar um LED, precisamos de uma corrente de pelo menos 10mA. Para uma tensão de 9V um resistor de 150Ohm atende muito bem, veja os cálculos a seguir.
Aplicando a 1ª lei de Ohm considerando uma queda de tensão de 2,5V no LED e desconsiderando a queda de tensão no transistor, temos:
Icoletor-máx = (Vfonte – Queda de tensão no componente) /R = (9-2,5)V/150 Ohm = 43mA
O que é suficiente para alimentar o LED.
Resistor R2 – O mais importante
O resistor R2 tem a função de limitar a corrente de base. Sendo ela responsável por controlar a corrente que irá fluir do coletor para o emissor, temos que escolhe-la com cuidado para garantir a mínima corrente no coletor que conseguirá acender o LED.
Aplicando a 1ª lei de Ohm temos que a corrente de base é:
Ibase = (5-0,7)/R2 = 4,3/R2-max
Mas precisamos que a corrente de coletor seja pelo menos de 10mA, para isso temos que:
Icoletor-min ≅ Iemissor-min ≅ 10mA = 0,01A = Ibase.hfe
0,01A = Ibase-min.hfe
Considerando que estamos usando o transistor BC547A, temos que seu hfe = 110(Consultado na Folha de Dados – datasheet), dessa forma:
0,01A = Ibase.110
Ibase-min=0,01/110 = 0,00009= 0,09mA
Logo:
Ibase-min= 0,00009 = 4,3/R2
R2-max = 4,3/0,00009 =52,2KOhm
Dessa forma, devemos usar um resistor menor que o calculado. Vamos adotar 4,7KOhm. Com esse resistor, teremos:
Ibase=4,3/4,7KOhm=0,9mA
Icoletor’=Ibase.hfe
Icoletor’=0,9mA.110=99mA
Como: Ibase.hfe > Icoletor -> 99mA > 43mA, então:
Transistor Saturado
Resumo dos cálculos
Requisito
Icoletor > 10mA -> Corrente de coletor deve ser maior que 10mA quando o transistor estiver conduzindo para que o LED acenda.
Componentes
- Fonte externa de 9V;
- Transistor BC547A -> hfe=110;
- R1 -> resistor que limitará a corrente de coletor, definindo a corrente máxima;
- R2-> resistor que define a corrente de base que por sua vez define a máxima corrente de coletor.
Especificações
- R1=150 Ohm, Limita a corrente de coletor em 43mA
- R2 < 52,2 kOhm, adotamos R2=4,7 kOhm para corrente de base mínima de 0,09mA, logo a corrente de coletor mínima é 10mA
O que você precisa saber?
Ao projetar um circuito usando o transistor NPN, devemos:
- Escolher qual transistor usar a partir das tensões e correntes máximas;
- Dimensionar os resistores R1 e R2.
Para dimensionar R1, que é o resistor responsável por limitar a corrente de coletor, precisamos saber:
- Qual a tensão da fonte;
- Qual a queda de tensão no componente;
- Qual a corrente necessária para que o componente controlado funcione corretamente (Icoletor-min).
Formula para calculo do R1:
Icoletor-min =(Vfonte – Queda de tensão no componente) /R1-max
R1 não deve ser muito menor que R1-max.
Para dimensionar R2, que é responsável por controlar a corrente de coletor através da corrente de base (Icoletor max = Ibase.hfe), precisamos saber:
- Qual a corrente necessária para que o componente controlado funcione corretamente (Icoletor-min);
- hfe do transistor escolhido.
Formula para calculo do R2:
Ibase = 4,3/R2-max
Ibase = Icoletor/hfe
obs.: É importante dimensionar bem esse resistor para que não se restrinja demais a corrente de coletor do transistor. O ideal, para esse tipo de aplicação, é trabalharmos com o transistor saturado (Icoletor < Ibase.hfe). Para isso, geralmente escolhemos um resistor bem menor que o R2 calculado.
DICAS
Para esse tipo de aplicação, na maioria dos casos, podemos adotar:
- R1 = 150 Ohm;
- R2 = 1 kOhm a 4,7 kOhm
- Fonte externa até 12V para o BC547A
No lugar do LED podemos colocar um relé ou outro componente que consuma até 100mA, caso esteja usando o BC547A
Costumo usar na maioria das vezes os seguintes transistores NPN:
- BC547A (Tensão de coletor máx =45V; Corrente de coletor máx = 100mA ; hfe=110)
- BD137 (Tensão de coletor máx =60V; Corrente de coletor máx =1,5A ; Corrente de Base máx = 500mA; hfe=40)
- TIP122 (Tensão de coletor máx =100V; Corrente de coletor máx = 5A ; Corrente de Base máx = 120mA; hfe= 1000)
Fechamento
Esperamos que tenham gostado, deixe seu comentário com duvidas, sugestões ou com a foto ou vídeo de seu projeto!! Compartilhe à vontade.
Engenheiro Eletricista pela UFES, Técnico em Automação industrial pelo IFES, MBA Gestão de Projetos pela USP e Fundador do Vida de Silício. Sonhador com uma única pretensão, fazer a diferença.
5 Comments
Deixe uma pergunta, sugestão ou elogio! Estamos ansiosos para ter ouvir!Cancelar resposta
Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.
Amigo só uma ajuda quero acionar um pisca led de moto de 12v no arduino só q n estou achando solução como fazer isso com o arduíno
Olá, eu comprei um módulo de relé SSR low level. Ao usar ele com um esp8266, estou acionando com um npn e um resistor de 10k. Porém ele fica piscando quando está desligado. Veja o inicio do video (https://www.youtube.com/watch?v=1OMabU-CK3Q). Pode me ajudar?
Muito Bom Parabéns
Resumo bacana !Vlw
Oi tudo bem, porque que quando ligo o motor dc no arduino com um determinado tempo ex:10s ele so da um pulso, no protobord funcionou bem fiz a plaquinha e acontece isso, o transistor que eu estou usando e o irl3713
esperimentei colocar um led na saida e funciona bem, pode me ajudar com isso?
te agradeço desde já Obrigado!