Canal P Canal N
Adquira estes componentes na Loja do Lab de Garagem
Introdução
O MOSFET ou simplesmente FET (MOS = metal-oxide semiconductor - metal óxido semicondutor e FET = field effect transistor - transistor de efeito de campo), é um tipo de transistor, componente usado como chave ou amplificador de sinais elétricos.
TBJs e MOSFETs
O MOSFET possui normalmente 3 terminais: Porta, Fonte e Dreno (ou Gate, Source e Drain respectivamente). Há dois tipos essenciais: o canal N e o canal P, e se diferenciam basicamente pela polarização. A corrente a ser fornecida para um circuito, que circulará entre o terminal Fonte e o Dreno do FET, é controlada pela tensão aplicada no terminal Porta. Este último possui uma separação dielétrica dos outros dois, gerando portanto uma corrente quase nula no gate, e um campo elétrico que influencia no Dreno e no Fonte. A seguir, está a representação dos dois tipos básicos de FETs e suas usuais simbologias:
Quanto a polarização:
Canal P
Canal N
Um outro tipo de transistor mais conhecido, o TBJ (transistor bipolar de junção), possui também três terminais: Base, Coletor e Emissor. A corrente a ser fornecida para um circuito, que circulará entre o Coletor e o Emissor do TBJ, é controlada pela corrente no terminal Base do transistor, e não por uma tensão, como no MOSFET. Essa é uma das principais diferenças entre eles, fazendo com que o TBJ seja aplicado geralmente para circuitos de baixa corrente, e o FET não só para estas, como também para aplicações com maiores valores de potência/corrente.
Exemplos de Aplicações dos MOSFETs
Uma das aplicações mais comuns para os MOSFETs é nos circuitos tipo CMOS (ver link de referência no fim do tutorial para mais detalhes). Porém, também há outras, como:
- Resistência controlada por tensão
- Circuitos de comutação de potência
- Misturadores de Frequência
- Etc.
Exemplo: Ligando um motor DC com o MOSFET (aplicação como chave) e o Arduino.
Componentes Necessários:
- 1 placa Arduino
- 1 motor DC (5V - 1A)
- 1 Resistor de 200 Ohms
- Fonte de 5V e 1A
Hardware:
Com um MOSFET de Canal N:
Com um MOSFET de Canal P:
Firmware para os dois tipos de MOS (Digitar na IDE do Arduino):
// Controle de Motor DC com o transistor MOSFET (aplicação básica) - canais N e P
// O motor utilizado neste Firmware é de 5V - 1A e portanto, 5W.
// O hardware não foi projetado para controlar o sentido de rotação do motor (a não ser que se inverta sua polaridade), somente sua velocidade.
// Porém, pode ser controlado por um hardware mais elaborado (uma ponte H de MOSFETs por exemplo).
#define GatePin 6 // Define o pino para sinal no Gate do MOSFET.
int sinalGate = 1023; // Valor que será colocado no pino PWM (pode variar de 0 a 1023) para o controle da velocidade do motor.
void setup () {
pinMode (GatePin, OUTPUT); // Define o pino 5 do Arduino como saída.
}
void loop () {
while ((sinalGate <0) || (sinalGate >1023)) { // Enquanto o valor de "sinalGate" não estiver entre 0 e 1023,
continue; // o Arduino continua sem colocar nada no "GatePin".
}
analogWrite (GatePin, sinalGate); // Se porém estiver nesta faixa, o Arduino envia o sinal para o "GatePin".
}
Observe a parte em azul no código. Na polarização do MOS de canal N, a rotação do motor será máxima quando o valor de "sinalGate" for 1023 (pois no canal N o terminal Gate conduz com nível lógico "1"). Já no de canal P, esta rotação será alcançada sendo "sinalGate" igual a 0 (pois no canal P o terminal Gate conduz com nível lógico "0"). E o mesmo acontece para a rotação mínima.
E essa é a ideia básica de um MOSFET !!! Esperamos que tenha gostado. Qualquer dúvida, poste no blog, estaremos à disposição.
Links de Referência:
- Datasheet do MOSFET canal P deste tutorial
- Datasheet do MOSFET canal N deste tutorial
Comentar
quero montar um circuito comutador com sensor optico para motores de corrente continua 127 vcc...alguem pode me dar uma ajuda, se caso obtiverem um circuito , ficarei grato
O arduino realmente não tem uma saída analógica, a função analogWrite gera um sinal PWM no pino selecionado (realmente, deve ser entre 0 e 255, e não entre 0 e 1023).
Neste tipo de circuito o MOSFET é utilizado como chave, o sinal PWM deixa ele ligado por um período de tempo e desligado por outro período. Neste caso que a carga é um motor, variar o valor médio da tensão por PWM é semelhante a variar de fato a tensão aplicada no motor, fazendo-o girar mais devagar.
Quanto ao diodo que o FELIPE CARVALHO comentou, realmente é necessário e deve ficar em paralelo com o motor, com sentido de condução apontando do fio vermelho para o preto do motor. Assim quando o MOSFET interromper a condução de corrente, esta será feita pelo diodo, impedindo que o motor eleve sua tensão, o que poderia danificar o MOSFET.
Desculpe a ignorância, mas esse tutorial foi feito baseado em o que??? analogWrite não vai de 0 a 1023, e não há saída analógica no Arduino, então o uso do MOSFET é apenas uma chave, e onde que varia o valor de sinalGate?
Ninguêm viu que esse tutorial tá todo errado???
Como calcular o resistor de Gate?
Bom tutorial. Estava procurando algo assim para tirar umas dúvidas.
No entanto notei que no sei esquema não tem um diodo de proteção que vi em outros circuitos pela net. Quando o arduino para de enviar o sinal, o mosfet para de conduzir corrente, mas o motor ainda roda alguns segundos até parar(pela inercia). Neste momento o motor se comporta como um gerador gerando um pico de corrente (e voltagem) em direção ao mosfet, o que pode danificr ( ou queimar) o mosfet ou até enviar um pico de corrente até o arduino. Coloca-se um diodo ( ou diodo e uma resistencia ) entre o fio preto e o vermelho (polos do motor) como proteçao ( com o catodo "-" ligado ao fio vermelho e o anodo "+" ligado ao fio preto, de forma que não conduza corrente numa situaçao normal de uso e conduza apenas numa corrente reversa).
Bom, espero que tenha ajudado.
Certo! Agora entendi o porquê de ter um fio extra no exemplo (que eu eliminei) ligando o circuito ao GND do Arduino. Obrigado novamente.
Ah sim, mas o legal de se utilizar mosfet é que você consegue fazer de modo simples esta interface entre a parte de controle (arduino) e um circuito de potência, de maior tensão e corrente, de modo "independente".
Quanto à imagem que postou, o circuito funcionaria sim utilizando a bateria de 9V, mas é preciso curto-circuitar os terras da bateria e do arduino, já que o FET canal-N entra em condução quando a tensão entre gate e source é maior que determinado valor. se os terras não estão conectados, falta referência de tensão ao componente.
Obrigado Matheus!
Sim, eu entendi a lógica. Eu inclusive vi no datasheet fornecido que o MOSFET N usado no exemplo suporta até 60V.
Mas se você olhar no meu outro post, tem um link com uma imagem do meu circuito.
Minha dúvida era em relação ao acréscimo da alimentação externa, que não consta no circuito do exemplo do LdG, já que o motor usado é compativel com a tensão do arduino.
A solução com mosfet canal N funciona independente da tensão do motor, é uma lógica simples, utilizando o mosfet para chavear GND.
A questão a ser analisada é a tensão suportada pelo mosfet, deve ser maior que a utilizada por você na aplicação.
Por exemplo, se você utilizar uma alimentação de 24 V, um mosfet como o IRF1404, que suporta 30 V (se não me engano) seria funcional.
Lembrando que estas figuras estão incompletas.
Na primeira, é preciso ligar o fio vermelho do motor diretamente no VCC.
No segundo caso é preciso ligar o fio vermelho que sai do terceiro pino do mosfet diretamente no VCC
Em primeiro lugar, muito obrigado pelo excelente tutorial!
Em segundo, uma ajuda: se eu quiser usar um motor de tensão maior, minha solução com FET N funcionaria, correto?
Obrigado!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)