Controle de velocidade com driver MOSFET para motor DC

Eletrônica Arduino 17 de Novembro de 2019 às 12:36

Os motores DC estão presentes em diversos equipamentos eletrônicos de nosso dia a dia, como brinquedos e ferramentas. Utilizando a eletrônica e microcontroladores podemos desenvolver um sistema capaz de controlar o sentido de rotação e velocidade de um motor DC conhecido como driver Ponte H, não entrando em seus respectivos detalhes pois a explanação de seus conceitos e prática estão presentes no artigo Analisando e projetando drivers Ponte H, mas podemos desenvolver um sistema mais simples que os demais para acionar e controlar a velocidade de um motor utilizando a tecnologia MOSFET (Metal-Oxide-Semiconductor Field Effect Transistor), como o próprio nome diz, um transistor de efeito de campo.

Vale ressaltar que este tutorial não aborda a construção de uma Ponte H com MOSFET, e sim uma introdução ao acionamento de motor DC utilizando transistores desta tecnologia e microcontroladores.

Conceitos básicos do transistor MOSFET

Existem diversos tipos de transistores que podemos utilizar em nossos projetos, no artigo de Criando portas lógicas com transistores foi abordado o conceito funcional de um transistor de junção bipolar ou TBJ de polaridade NPN ou PNP, com seus respectivos pinos de Coletor, Base e Emissor, como também os seus estados de Corte e Saturado. Entendendo estes conceitos é fácil de compreender o transistor MOSFET de canal N e canal P, onde seus pinos recebem os nomes de Gate (Porta), Drain (Dreno) e Source (Fonte) conforme a imagem abaixo.

A característica mais distinta entre estes tipos de transistores, é que o TBJ possui uma fonte de corrente controlada pela corrente, e o MOSFET é uma fonte de corrente controlada por tensão, isso significa que os TBJs necessitam de um sistema eletrônico de tratamento para entradas de baixa corrente e refrigeração, e os MOSFETs normalmente possuem um sistema mais simples, e capacidade de dissipação de controle de cargas de alta potência em um tempo médio de 1ns.

Representação esquemática do transistor MOSFET de canal N e P.
Representação esquemática do transistor MOSFET de canal N e P.

A explicação das partes físicas de um transistor de canal N pode auxiliar no entendimento de seu funcionamento que será útil para os próximos itens.

Um transistor MOSFET trabalha com tensões aplicadas em suas regiões específicas:

  • Vgs - Tensão entre Gate e Source
  • Vds - Tensão entre Drain e Source
  • Vgs(th) ou Vt - Tensão de limiar (threshold)

O Gate reveste a região entre Drain e Source com uma camada de dióxido de silício e uma placa de metal. O isolamento entre Gate e esta região é vantajosa, permitindo uma alta impedância e baixa capacitância de entrada. Entre Drain e Source existe uma resistência elevada, que não permite a passagem de corrente entre esta região quando o Gate possui 0V. Um número adequado de elétrons que se acumulam na região do canal é capaz de criar o canal de condução, que se comporta como um gatilho, onde chamamos de tensão de limiar positiva entre Gate e Source.

Transistor MOSFET e suas regiões internas.
Transistor MOSFET e suas regiões internas.

As operações do transistor MOSFET configurado como switch/chave se assemelham com os modos do TBJ, onde o modo Corte representa o nível LOW ou chave aberta, e o modo Triodo representa nível HIGH ou chave fechada.

Para cortar um transistor MOSFET é necessário que Vgs < Vt e Id = 0, ou seja, a tensão de Gate e Source seja menor que a tensão de limiar, onde a corrente do Drain será igual a zero. Para entrar no modo triodo, a condição é Vsg > Vt e Vds =< Vgs - Vt, ou seja, a tensão de Gate e Source deve ser maior que a tensão de limiar, e Vds seja igual ou menor que Vds - Vt, lembrando o comportamento de uma porta inversora do TBJ.

Aplicando a teoria

Entendendo o funcionamento de um transistor MOSFET de canal N, podemos aplicar a teoria acima em um projeto real, com o intuito de visualizar os modos de operação utilizando um multímetro e um LED como carga. Então separe a lista de materiais necessários para a montagem.

  • 1 Transistor de potência MOSFET IRFZ44N
  • 1 Resistor de 15kΩ
  • 1 Resistor de 1KΩ
  • 1 LED
  • 1 micro chave de 2 posições
  • Fonte de alimentação de 12V
  • Fios jumper
Esquema para teste do transistor MOSFET IRFZ44N
Esquema para teste do transistor MOSFET IRFZ44N
Acionando um LED com transistor MOSFET.
Acionando um LED com transistor MOSFET.

Analisando o datasheet do transistor de potência IRFZ44N, ele possui importantes parâmetros para a aplicação em temperatura ambiente (25°C), sendo:

  • Vds máximo 60V
  • Vgs máximo aprox. 20V
  • Vgs = 10V onde Id = 50A e Rds(on) = 0,028Ω
  • Vgs (th) entre 2V e 4V

Estipulando alguns valores podemos aplicar de forma correta suas regiões de operação, onde Vgs e Vds = 12V. Utilizando um multímetro setado em DC Volts é possível analisar as tensões do Gate, Drain e da carga com a chave desligada e ligada. Os resultados obtidos conforme a montagem e diagrama esquemático são:

  1. Chave desligada (Corte) = Gate = 0V, Drain = 12V e a carga = 0V
  2. Chave ligada (Triodo) = Gate = 12V, Drain = 0V e a carga = 12V

Uma explicação bem intuitiva desenvolvida por Vahid, demonstra no item (a) como um transistor MOSFET trabalha internamente em modo Triodo. Os itens (b) e (c) exemplificam os estados de Triodo e Corte do MOSFET canal N e P.

Transistor MOSFET canal N e P e seu funcionamento.
Transistor MOSFET canal N e P e seu funcionamento.

Acionando um motor DC

Utilizando a mesma montagem anterior podemos acionar uma carga maior que o LED, como um motor DC. Para isso é necessário retirar o LED e seu resistor limitador de corrente, e adicionar o motor e seu diodo "volante", que previne o fenômeno da indutância. Para a montagem siga o diagrama esquemático abaixo.

Esquema de acionamento de motor DC com transistor MOSFET
Esquema de acionamento de motor DC com transistor MOSFET
Acionando um motor DC com transistor MOSFET.
Acionando um motor DC com transistor MOSFET.

Motor DC e controle de velocidade com PWM

Com esta aplicação é possível expandir suas funcionalidades, como por exemplo um controle de velocidade com PWM gerado por um microcontrolador. É essencial o entendimento do sinal PWM para este projeto, então leia os conceitos básicos no artigo Utilizando PWM para controlar LED no Raspberry Pi com Guizero.

Utilizando a placa de desenvolvimento Arduino Uno podemos realizar este controle de velocidade a partir de suas portas digitais PWM, onde este sinal é enviado a um simples circuito integrado com a porta lógica AND.

A porta lógica AND/E precisa de duas entradas para obter uma saída, sua lógica funciona da seguinte maneira, as duas entradas devem ser verdadeiras para o resultado ser verdadeiro, caso contrário a saída é falsa.

- Criando portas lógicas com transistores

Para a montagem no protoboard separamos uma lista com novos materiais a serem utilizados e siga o diagrama esquemático abaixo.

  • 1 Transistor de potência MOSFET IRFZ44N
  • 1 Resistor de 15kΩ
  • 1 Motor DC
  • 1 Diodo 1N4007
  • 1 Arduino Uno com cabo USB
  • 1 CI 74HC08 - 4 Portas AND de 2 entradas.
  • 3 Capacitores de poliéster/cerâmico de 100nF
  • 2 Capacitores eletrolíticos de 470uF
  • Fios jumper
  • 1 Protoboard
  • 1 Fonte de alimentação 12V
Esquema de acionamento e controle de velocidade para motor DC com Arduino e transistor MOSFET
Esquema de acionamento e controle de velocidade para motor DC com Arduino e transistor MOSFET
Acionamento e controle de velocidade com PWM para motor DC utilizando Arduino e transistor MOSFET
Acionamento e controle de velocidade com PWM para motor DC utilizando Arduino e transistor MOSFET

Cuidado: A tensão do Arduino é de +5V, e da fonte de alimentação é de 12V, portanto a conexão dos fios no protoboard devem ser separados com atenção, interligando somente o GND.

Depois de realizar a montagem no protoboard, conecte a porta digital 9 do Arduino no pino 2 do CI 74HC08. Abra a IDE oficial do Arduino e cole o código abaixo, compile e envie o firmware ao microcontrolador.

/*
 * Controle de velocidade com PWM para motor DC e MOSFET
 * 
 * Autor: tecdicas
 * https://tecdicas.com/
 * 
 * 28/05/2019
 */

// Pino PWM
#define CONTROLE 9 

// Valor máximo 255
int velocidade = 255;
int tempo = 30;

void setup()
{
  Serial.begin(9600);
  pinMode(CONTROLE, OUTPUT);
}

void loop()
{
  // Utilize o Monitor serial
  for(int x = 0; x < velocidade; x++)
  {
    analogWrite(CONTROLE, x);
    Serial.print("Aumentando..");
    Serial.println(x);
    delay(tempo);
  }

  for(int y = velocidade; y > 0; y--)
  {
    analogWrite(CONTROLE, y);
    Serial.print("Diminuindo..");
    Serial.println(y);
    delay(tempo);
  }
}

A lógica deste código é semelhante de um controle de brilho de um LED, gerando o efeito de Fade In e Out, onde se encaixa perfeitamente em nosso projeto de controle de velocidade para motor DC com MOSFET. Para desligar o motor retire o 5V conectado no pino 1 do CI 74HC08 e coloque no GND, ou se preferir programe uma porta do Arduino para controlar o acionamento do motor.

O mais interessante deste projeto é que não precisamos realizar uma compatibilização de tensões entre microcontrolador e transistor, como já foi feito no projeto de Ponte H com o transistor TBJ Darlington TIP122 da imagem abaixo, onde foi necessário implementar o circuito integrado 7407 e utilizar CIs CMOS que suportam entregar a tensão de 12V na Base de cada transistor. Sem dizer do tamanho do dissipador de calor e o sistema de refrigeração com um fan e termômetro né? Você pode conhecer este projeto no artigo de Drivers de controle para motores de passo e DC no item Driver Ponte H Dupla com transistores.

Ponte H Dupla TIP122 V2.0 em uma aplicação real em robótica.
Ponte H Dupla TIP122 V2.0 em uma aplicação real em robótica.

Referências

  1. MALVINO, A; BATES, D; Eletrônica: volume 1. 8 ed. AMGH Editora, 2016.
  2. Transistor de Efeito de Campo, Universidade Feevale.
  3. VAHID, F: Sistemas digitais: projeto, otimização e HDLs. 1 ed, Bookman, 2008.