Recents in Beach


Receba o meu conteúdo GRATUITAMENTE


Super driver de 1 a 200 amperes para motor DC



Uma ponte H com Mosfet. Utilizamos muito para controlar motor, principalmente o DC, e por um motivo bastante simples: ele te permite inverter a polaridade. Ou seja, você faz o motor girar para direita e para a esquerda, o que te dá uma grande flexibilidade no controle destes motores. E, em especial, eu já queria usar faz tempo um transistor, o IRF1404, que considero um monstro que chega a 200 amperes. Ele é muito usado em módulos de potência de som automotor. Então, hoje, você vai ver como controlar um motor DC, aquele de dois fios, um positivo e um negativo. Isso tudo utilizando o ESP32 LoRa.


Vou, então, te apresentar um circuito de controle e polarização de uma ponte H usando MOSFET’s e aplicar a ponte H em uma carga para verificar seu funcionamento.



Demonstração





Recursos usados

·         Um ESP WiFi LoRa 32
·         Quatro IRF1404
·         Três BC337
·         Um CD4011
·         Resistores
·         Dois capacitores eletrolíticos 1uF
·         Dois diodo 1N4148
·         Cabo USB para o ESP
·         Fonte 12V para a carga utilizada
·         Carga (usamos um motor de vidro elétrico)
·         Protoboard
·         Fios





Ponte H


·         A ponte H é um circuito que permite a inversão da direção da corrente aplicada sobre uma carga.
·         Usada comumente para controlar a direção de motores DC, invertendo o sentido da corrente que flui por seus enrolamentos.
·         Como os motores tendem a ser cargas que consomem altas correntes, a ponte H utiliza-se de dispositivos chaveadores de potência (transistores, relés), para controlar a direção do fluxo.



IRF1404


·         A utilização de MOSFET’s de potência na comutação de cargas apresenta  vantagens, principalmente relacionadas a alta velocidade de comutação, baixo intervalo de desligamento, corrente de dreno (DRAIN) proporcional à tensão da porta (GATE), baixa resistência no modo ligado  permitindo altas correntes.
·         O IRF1404 é um MOSFET construído  com tecnologia HEXFET® da International Retifier.
·         Possui uma resistência muito baixa durante sua ativação
- RDS(on) = 0,004 ohms.
·         Pode suportar uma corrente continua de 202A respeitando-se a temperatura máxima da junção, mas é limitado em 75A para o encapsulamento TO-220.
·         Tensão máxima de dreno – fonte de 40V
·         Tensão limite  VGS de 2 a 4V.



Esquema


·         Este é o esquema utilizado neste exemplo, nele, podemos perceber 3 blocos: o dobrador de tensão, a lógica de controle e a ponte H em si.



Esquema - Ponte H

·         A ponte H terá quatro IRF1404 dispostos de modo que a ativação de um par deverá permitir o fluxo de corrente em um sentido e a ativação do par oposto deverá inverter o sentido.
·         Indicamos o par que deve ser ativado ao mesmo tempo pelas entrada DIR A e DIR B, indicando a mudança de direção do motor






·         Outro detalhe importante é que a tensão de ativação dos transistores devem ser maior que o Vgs(th).
·         Para Q9 e Q10, valores superiores a 4V já deveriam ser o suficiente para iniciar a condução. Mas para Q8 e Q11, o Vgs(th) deve ser esses 4V a mais que as tensões nos pontos A e B respectivamente.
·         Como na condução de Q11 a tensão em B deve idealmente ser a tensão da fonte, podemos imaginar que V deve ser de no mínimo 16V.
·         Para manter a montagem usando uma única fonte de alimentação, vamos recorrer a um dobrador de tensão.



Esquema – O dobrador de tensão


·         Este é um circuito baseado em diodos e capacitores bastante conhecido na eletrônica.
·         Funciona basicamente como um “bomba” de elétrons, empurrando elétrons pelos capacitores a fim de criar uma tensão superior pelo acúmulo de cargas.
·         A princípio, um dobrador de tensão deverá entregar em sua saída o dobro da tensão de entrada.
·         Na prática, devido às quedas de tensão, o valor obtido foi de 21,5V aproximadamente. Mas era o bastante para ativação dos MOSFET’s.


·         Um oscilador de 1kHz, vindo do ESP (3V3) ativa Q2 que passa a ser a fonte osciladora do circuito dobrador.
·         A cada ciclo, as cargas acumuladas em C3, são transferidas e somadas em C4.



Esquema – Ativação – Hardware


·         Um detalhe muito importante em qualquer ponte H é que os pares devem ser ativados de forma que o caminho da corrente seja sempre pela carga (no caso nosso motor).
·         Se os dois pares forem ativados ao mesmo tempo, um curto-circuito entre o positivo da fonte e o GND se estabelecerá, podendo danificar a ponte H e/ou a fonte de alimentação.
·         Para evitar isso, uma lógica de ativação deve ser implementada, seja via software, seja via hardware.
·         Aqui está uma sugestão usando portas lógicas NAND e sua tabela verdade.
·         NÃO HÁ ATIVAÇÃO SIMULTÂNEA DE DIR A E DIR B



Esquema – Ativação - Software

·         Outra forma de evitar isso, é controlar a ativação por software.
·         No exemplo de código, utilizamos esta abordagem.


NÃO DEVE HAVER ATIVAÇÃO SIMULTÂNEA DE DIR A E DIR B
·         As lógicas são invertidas pelos transistores. As ativações são em nível baixo.



Código-Fonte: Constantes e variáveis


//PWM usado como oscilador do dobrador de tensão
const int freq = 10000; //Frequencia do PWM
const int canal = 0; // canal do PWM
const int resolucao = 12; // Resolução (4096 estados)
const int ciclo = 2048; //ciclo de trabalho de 50%
const int pin_osc = 21; //GPIO utilizada para o oscilador

//Pinos de atuação na ponte
const int pin_A = 16; // Direção A
const int pin_B = 17; // Direção B
const int intervalo = 2000; //Intervalo para mudança de estados

// Variável usada para alternar a direção
boolean dir = false;


Setup


void setup()
{
  //seta a direção dos GPIO
  pinMode(pin_osc, OUTPUT);
  pinMode(pin_A, OUTPUT);
  pinMode(pin_B, OUTPUT);

  // Ajusta o PWM com as constantes
  ledcSetup(canal, freq, resolucao);
  ledcAttachPin(pin_osc, canal);
  ledcWrite(canal, ciclo);
}


Loop


void loop() 
{

  dir = !dir; //inverte o valor da direção

  //Desliga a ponte
  //note que a lógica é invertida pelos transistores Q15 e Q16

  digitalWrite(pin_A, HIGH); // desativa o par A
  digitalWrite(pin_B, HIGH); // desativa o par B

  delay(intervalo); //aguarda um intervalo

  digitalWrite(pin_A, dir); //ESTE é o pino que controla o DIR A
  digitalWrite(pin_B, !dir);// o DIR B sempre deve ser a NEGAÇÃO de DIR A

  delay(intervalo); //aguarda um intervalo

}





Faça o download dos arquivos:




Postar um comentário

6 Comentários

  1. preciso que entre em contato necessito de um projeto semelhante.

    ResponderExcluir
  2. entrar em contato joaoloop@uol.com.br

    ResponderExcluir
  3. Boa noite Fernando tudo bem? Estou precisando de um controle desse para um motor dc em 24v você pode me ajudar ficarei grato. Meu zap 038 999551505

    ResponderExcluir
  4. Estou precisando de um circuito para comandar um motor em 24dc e essa inversão do motor precisa ser com um potenciômetro, vc pode me ajudar ficarei muito grato.

    ResponderExcluir
  5. Boa noite Sr. Fernando. Vi sua aula no YouTube. Parabéns por compartilhar seu conhecimento conosco. Estou com uma dúvida. Qual a freqüência máxima do pwm que posso colocar no mosfet irf1404?

    ResponderExcluir