Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

PONTE H BTS7960 COM ARDUINO

Ponte h bts7960

Neste artigo iremos demonstrar como controlar um motor DC utilizando uma ponte H BTS7960 através de um Arduino.

O módulo Ponte H é baseado no driver BTS7960, que é metade de uma ponte H, dessa forma utilizam-se 2 drivers BTS7960 para construir uma ponte H com capacidade de até 43A. É um módulo útil para o controle robótico e mecânico, tendo excelente custo benefício para estudantes, amantes e profissionais da área de atuação.

Componentes Utilizados

 Todos os componentes utilizados neste projeto estão listados abaixo, clicando no item você consegue acessar o componente na loja, caso queira adquirir o componente para realizado o projeto:

Características Técnicas

  • Controla 1 motor DC;
  •  Controle de direção e velocidade (PWM);
  •  Tensão de alimentação: 5- 45VDC;
  •  Tensão de entrada do controle: 3,3 – 5V;
  •  Corrente de Alimentação (módulo): 3 mA;
  •  Modo de controle: Serial ou level;
  •  Ciclo de trabalho: 0-100%;
  •  Modulação PWM de até: 25kHz;
  •  Corrente Continua: 43A;
  •  Corrente de pico/pulso: 60A;
  •  Proteção: Térmica, sobre tensão, subtensão, sobrecorrente;
  •  Possui pino (IS) para indicar falhas (proteção);
  •  Possui dissipador de calor;
  •  Dimensão: 50 x 50 x 43 mm;
  •  Peso: 66g.

Para o controle do motor existem várias maneiras, mas neste post iremos ilustrar a principal para uso em todas as aplicações. A Figura 1 ilustra os pinos de alimentação, entrada de nível alto, baixo e PWM:

Pinos de controle do BTS7960.
Pinos de controle do BTS7960.

As ligações entre a ponte H e o Arduino são ilustradas na Figura 2:

Diagrama de conexão.
Diagrama de conexão.

A programação para controle lógico do Arduino é demonstrada abaixo. A programação tem como função: 

1ª parte: Controlar a velocidade do motor para o lado 1 (PWM);

2ª parte: Controlar a velocidade do motor para o lado 2 (PWM);

3ª parte: Acionar o motor com velocidade máxima para o lado 1;

4ª parte: Acionar o motor com velocidade máxima para o lado 2.

Código:

Segue abaixo o código utilizado:

#define PWM2                      2    //Pino do arduino que será ligado o BTS7960
#define PWM3                      3    //Pino do arduino que será ligado o BTS7960
#define TEMPO_DA_VELOCIDADE     150  //tempo (ms) que o motor ficará na mesma velocidade 
  
void setup()
{ 
    //Configura os pinos de saída
    pinMode(PWM2, OUTPUT);
    pinMode(PWM3, OUTPUT);
}
  
void loop()
{   
    int valor_pwm = 0;   //armazena o PWM

     digitalWrite(PWM3, LOW);
 
    //Aumenta a velocidade para o lado 1
    for (valor_pwm = 0; valor_pwm < 256; valor_pwm++)
    {
        analogWrite(PWM2, valor_pwm);
        delay(TEMPO_DA_VELOCIDADE);
    }
 
    //Diminui a velocidade para o lado 1
    for (valor_pwm = 255; valor_pwm >= 0; valor_pwm--)
    {
        analogWrite(PWM2, valor_pwm);
        delay(TEMPO_DA_VELOCIDADE);
    }

/////////////////////////////////////////////////////////////////////////////

    digitalWrite(PWM2, LOW);

     //Aumenta a velocidade para o lado 2
    for (valor_pwm = 0; valor_pwm < 256; valor_pwm++)
    {
        analogWrite(PWM3, valor_pwm);
        delay(TEMPO_DA_VELOCIDADE);
    }
 
    //Diminui a velocidade para o lado 2
    for (valor_pwm = 255; valor_pwm >= 0; valor_pwm--)
    {
        analogWrite(PWM3, valor_pwm);
        delay(TEMPO_DA_VELOCIDADE);
    }

    /////////////////////////////////////////////////////////////////////////////

    //liga o motor para o lado 1 com velocidade maxima

    digitalWrite(PWM2, LOW);
    digitalWrite(PWM3, HIGH);
    delay(10000);

    digitalWrite(PWM2, LOW);
    digitalWrite(PWM3, LOW);
    delay(2000);

    //liga o motor para o lado 2 com velocidade maxima

    digitalWrite(PWM2, HIGH);
    digitalWrite(PWM3, LOW);
    delay(10000);

    digitalWrite(PWM2, LOW);
    digitalWrite(PWM3, LOW);
    delay(2000);
}

Download

Seguindo estes passos é possível controlar a rotação de qualquer motor DC. Nos links abaixo está disponibilizado o download do arquivo fonte e diagrama:

https://bit.ly/3kSmrFM

Para mais detalhes, assista o vídeo abaixo:

Picture of Pedro

Pedro

Bacharel em Engenharia Elétrica, com ênfase em Telecomunicações e hobbysta em eletrônica nas horas vagas =).

VOCÊ TAMBÉM PODE GOSTAR

Como Fazer um Osciloscópio de Baixo Custo com Arduino

Como Fazer um Osciloscópio de Baixo Custo com Arduino

Construa seu próprio osciloscópio com Arduino de baixo custo! Aprenda o circuito de condicionamento de sinal e o código para visualizar sinais de até 1kHz.

O que é PWM (Pulse-Width-Modulation)? Funcionamento e aplicações

O que é PWM (Pulse-Width-Modulation)? Funcionamento e aplicações

PWM é a sigla em inglês para “Pulse Width Modulation”, que em português significa “Modulação por Largura de Pulso”. É uma técnica criada com o objetivo de controlar a potência entregue a uma carga elétrica de forma eficiente, ajustando a média de tensão aplicada.

Uma resposta

  1. Bom dia,
    eu preciso colocar 2 pontes em um circuito arduino, um carrinho acionado por dois motores, como se fosse um trator de esteira. pode me ajudar na montagem do circuito??

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

ESPERE, antes de sair entre no nosso grupo de whatsapp!

Junte-se à nossa comunidade e se mantenha atualizado sobre o mundo Maker