O motorista do motor BTS7960 é um poderoso módulo H-Bridge capaz de lidar com altas correntes, tornando-o ideal para controlar motores CC em projetos de robótica e automação. Neste tutorial, você aprenderá como conectar e controlar o BTS7960 com um Raspberry Pi para acionar um motor.
O que você precisará
- Raspberry Pi (Qualquer modelo com recursos GPIO, por exemplo, PI 3, PI 4)
- Módulo de motorista do motor BTS7960
- Motor DC (Adequado para o seu projeto)
- Fonte de alimentação externa (correspondendo à tensão do motor e aos requisitos atuais)
- Fios de pão e jumper
Etapa 1: Compreendendo o motorista do motor BTS7960
O módulo BTS7960 inclui duas meio pontes de alta potência capazes de acionar motores com correntes até 43a. Apresenta:
- Pinos de entrada PWM para controle de velocidade
- Pinos de controle de direção
- Overcurrent e proteção térmica
Pinout
Alfinete | Descrição |
---|---|
VCC | Entrada lógica de 5V |
Gnd | Chão |
Rpwm | Entrada PWM para movimento para a frente |
LPWM | Entrada PWM para movimento reverso |
R_en | Ativar pino para movimento para a frente |
L_en | Ativar pino para movimento reverso |
Motor+ (M+) | Terminal positivo do motor |
Motor- (m-) | Terminal negativo do motor |
Vin | Fonte de alimentação motora externa |
GND (Power) | Solo para fonte de alimentação motor |
Etapa 2: Fiação do BTS7960 para o Raspberry Pi
Conexões
BTS7960 PIN | Pino de framboesa pi |
---|---|
VCC | 5V |
Gnd | Gnd |
Rpwm | GPIO18 (canal PWM 0) |
LPWM | GPIO19 (canal PWM 1) |
R_en | Gpio23 |
L_en | GPIO24 |
Conexões de fonte de motor e alimentação
- Conecte os terminais do motor ao Motor+ (M+) e Motor- (m-) pinos.
- Conectar o terminal positivo da fonte de alimentação externa a Vin.
- Conectar o terreno da fonte de alimentação externa ao GND (Power) alfinete.
Observação: Verifique se a fonte de alimentação externa corresponde aos requisitos de tensão e corrente do seu motor.
Etapa 3: Ativando o PWM no Raspberry Pi
Para controlar a velocidade do motor, você usará o PWM (modulação da largura do pulso). Raspberry Pi GPIO PINS 18 e 19 Suporte Hardware PWM.
Ativar PWM via configuração de Raspberry Pi
- Abra o terminal e corra:
sudo raspi-config
- Navegar para Opções de interface> P5: I2Ce ativar i2c.
- Salve e reinicie o Raspberry Pi:
sudo reboot
Etapa 4: Escrever código Python para controlar o motor
Instale o RPi.GPIO
Biblioteca para controlar os pinos GPIO se ainda não estiver instalado:
pip install RPi.GPIO
Exemplo de código Python
Este exemplo demonstra como controlar a velocidade e a direção do motor usando o BTS7960.
import RPi.GPIO as GPIO
import time
# Pin Definitions
RPWM_PIN = 18
LPWM_PIN = 19
REN_PIN = 23
LEN_PIN = 24
# GPIO Setup
GPIO.setmode(GPIO.BCM)
GPIO.setup(RPWM_PIN, GPIO.OUT)
GPIO.setup(LPWM_PIN, GPIO.OUT)
GPIO.setup(REN_PIN, GPIO.OUT)
GPIO.setup(LEN_PIN, GPIO.OUT)
# PWM Setup
frequency = 1000 # PWM frequency in Hz
rpwm = GPIO.PWM(RPWM_PIN, frequency)
lpwm = GPIO.PWM(LPWM_PIN, frequency)
# Start PWM with 0% duty cycle (off)
rpwm.start(0)
lpwm.start(0)
try:
while True:
# Enable Forward Motion
GPIO.output(REN_PIN, GPIO.HIGH)
GPIO.output(LEN_PIN, GPIO.LOW)
# Set forward speed (50% duty cycle)
rpwm.ChangeDutyCycle(50)
lpwm.ChangeDutyCycle(0)
time.sleep(2)
# Enable Reverse Motion
GPIO.output(REN_PIN, GPIO.LOW)
GPIO.output(LEN_PIN, GPIO.HIGH)
# Set reverse speed (30% duty cycle)
rpwm.ChangeDutyCycle(0)
lpwm.ChangeDutyCycle(30)
time.sleep(2)
except KeyboardInterrupt:
print("Stopping motor...")
finally:
rpwm.stop()
lpwm.stop()
GPIO.cleanup()
Etapa 5: testando sua configuração
- Conecte o motor e a fonte de alimentação.
- Execute o script Python:
python3 bts7960_control.py
- Observe a velocidade de alteração do motor e a direção programada.
Solução de problemas
-
O motor não está funcionando:
- Verifique as conexões de fiação.
- Verifique a fonte de alimentação externa.
-
PWM não está funcionando:
- Verifique se GPIO18 e GPIO19 estão configurados para PWM.
- Verifique os valores do ciclo de trabalho no script.
-
Módulo de superaquecimento:
- Verifique se o consumo atual do motor não excede a classificação do BTS7960.
Aplicações do BTS7960 com Raspberry Pi
- Controlar os motores DC de alta corrente em robótica
- Construindo veículos ou robôs automatizados
- Criação de sistemas motorizados para aplicações industriais
- Desenvolvimento de sistemas controlados remotos
Conclusão
O motorista do motor BTS7960 é uma solução robusta e eficiente para dirigir motores de alta corrente. Combinado com os recursos GPIO do Raspberry Pi, ele abre inúmeras possibilidades para projetos de robótica e automação. Seguindo este guia, você pode configurar e controlar o BTS7960 para criar sistemas motorizados poderosos. Experimente diferentes frequências PWM e ciclos de serviço para otimizar o desempenho para o seu aplicativo específico!