Controlando um Módulo Driver de Motor DC BTS7960 com um Arduino
Neste tutorial, aprenderemos como controlar um módulo driver de motor DC BTS7960 usando um Arduino. Esta configuração permite que você controle a direção e a velocidade de um motor DC usando Modulação por Largura de Pulso (PWM). Ao final deste tutorial, você terá um sistema de controle de motor funcional que pode ser facilmente modificado para seus próprios projetos. Para orientação visual detalhada, certifique-se de conferir o vídeo em (no vídeo em 00:00).
Hardware Explicado
O BTS7960 é um driver de motor DC de alta corrente capaz de lidar com até 43 Amperes. Ele consiste em dois circuitos integrados (CIs) que permitem controlar um motor em ambas as direções, horário (CW) e anti-horário (CCW). O driver utiliza sinais PWM para variar a velocidade do motor, o que é essencial para aplicações que requerem controle preciso.
Outro aspecto importante deste módulo são as suas características de detecção de corrente e proteção contra sobretemperatura integradas. Isso ajuda a prevenir danos ao motor e ao driver durante a operação. O módulo é alimentado por uma fonte externa e também requer uma fonte separada de 5V para seus circuitos lógicos.
Detalhes da Ficha Técnica
| Fabricante | Infineon Technologies |
|---|---|
| Número da peça | BTS7960 |
| Tensão lógica/IO | 5 V |
| Tensão de alimentação | 6-27 V |
| Corrente de saída (por canal) | 43 A máx |
| Corrente de pico (por canal) | 60 A |
| Orientação sobre frequência PWM | 25 kHz |
| Limiares de lógica de entrada | 0,8 V (alto), 0,3 V (baixo) |
| Queda de tensão / RDS(on)saturação | 16 mΩ |
| Limites térmicos | 125 °C máx |
| Pacote | PTO-263-7 |
| Notas / variantes | Configuração de Ponte H Dupla |
- Garanta um dissipador de calor adequado para aplicações de alta corrente.
- Use um fio de espessura adequada para suportar a corrente máxima.
- Mantenha a frequência PWM dentro dos limites especificados para um desempenho ideal.
- Implemente capacitores de desacoplamento próximos aos pinos de alimentação para estabilizar a voltagem.
- Monitore a temperatura durante a operação para evitar superaquecimento.
Instruções de Fiação

Para conectar o módulo driver de motor BTS7960 ao seu Arduino, você precisará conectar corretamente os terminais de energia, terra, controle e motor. Comece conectando a fonte de energia ao módulo.B+eB-terminais, garantindo que a polaridade esteja correta. OB+terminal é onde a fonte positiva se conecta, enquantoB-conecta ao chão.
Em seguida, conecte o motor aoM+eM-terminais no módulo. Estes controlarão a direção do motor. Para os pinos de controle, conecte os pinos do Arduino ao módulo da seguinte forma:RPWMpara o pino 3,R_ENpara o pino 4,R_ISpara o pino 5,LPWMpara o pino 6,L_ENpara o pino 7, eL_ISconectar ao pino 8. Certifique-se de conectar o aterramento do Arduino ao aterramento do módulo também.
Instale a biblioteca necessária
Para instalar orobojax_BTS7960_motor_driver_libraryno Arduino IDE, primeiro baixe o arquivo ZIP da biblioteca pelo link fornecido. Com o arquivo salvo, abra seu Arduino IDE e navegue atéEsboço > Incluir Biblioteca > Adicionar Biblioteca .ZIP...No arquivo de seleção, navegue até o arquivo ZIP baixado, selecione-o e clique em "Abrir". O IDE então instalará a biblioteca. Você pode confirmar uma instalação bem-sucedida verificando oArquivo > Exemplosmenu, onde uma nova categoria chamada "Biblioteca do Driver de Motor Robojax BTS7960" deve aparecer. Agora você pode incluir o cabeçalho da biblioteca em seu código com#include <RobojaxBTS7960.h>.
Exemplos de Código e Guia
O código Arduino para controlar o driver de motor BTS7960 começa definindo os pinos necessários. Por exemplo, o pino para o sinal PWM direito é definido comoRPWMe configurado para o pino 3. Além disso, o pino de habilitação para o lado direito é definido comoR_ENe configurado para o pino 4.
#define RPWM 3 // define pin 3 for RPWM pin (output)
#define R_EN 4 // define pin 4 for R_EN pin (input)Esta configuração garante que o motor possa ser controlado com precisão. Nosetup()função, o motor é inicializado commotor.begin(), que prepara o motorista para a operação.
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
motor.begin(); // Initialize motor
}Noloop()função, a direção e a velocidade do motor são controladas usando omotor.rotate(speed, direction)método. Por exemplo, para operar o motor em plena velocidade no sentido horário, você usariamotor.rotate(100, CW);.
void loop() {
motor.rotate(100,CW); // run motor with 100% speed in CW direction
delay(5000); // run for 5 seconds
}Para exemplos e variações mais detalhados, não deixe de conferir o código completo carregado abaixo do artigo.
Demonstração / O que Esperar
Quando tudo estiver conectado e programado corretamente, você deve esperar que o motor gire em ambas as direções com base no código. Inicialmente, o motor funcionará na velocidade máxima por cinco segundos, parará por três segundos e então girará na direção oposta pela mesma duração. Esse ciclo se repetirá, permitindo que você veja a capacidade de resposta do motor aos sinais de PWM.
Os erros comuns incluem polaridade invertida ao conectar o motor ou a fonte de energia, o que pode danificar os componentes. Além disso, certifique-se de que os pinos PWM estão corretamente atribuídos no código (no vídeo às 12:34).
Marcação de Vídeo
- 00:00 Início
- 00:48 Hardware Explicado
- 04:06 Ficha técnica visualizada
- 07:07 Explicação da Fiação
- 09:00 Código explicado
- 14:33 Demonstração
- 16:47 Teste de corrente máxima
- 19:25 Imagem térmica
- 19:27 Teste de código diferente
Recursos e referências
-
ExternoBTS7960 Amazon Japãoamzn.to
-
ExternoBTS7960 na Amazon Espanhaamzn.to
-
ExternoBTS7960 na Amazon Françaamzn.to
-
ExternoBTS7960 na Amazon Itáliaamzn.to
-
ExternoBTS7960, Amazon Alemanhaamzn.to
-
ExternoCompre BTS7960 na Amazonamzn.to
-
ExternoCompre BTS7960 na Amazon Canadáamzn.to
-
Externo
Arquivos📁
Bibliotecas do Arduino (zip)
-
robojax_BTS7960_motor_driver_library
robojax_BTS7960_motor_driver_library.zip0.10 MB
Folha de dados (pdf)
-
BTS7960_datasheet
BTS7960_datasheet.pdf0.45 MB
Arquivo Fritzing
-
BTS7960_driver
BTS7960_driver.fzpz0.01 MB