Usando o BTS7960 com o Raspberry Pi

Using the BTS7960 with the Raspberry Pi

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á

  1. Raspberry Pi (Qualquer modelo com recursos GPIO, por exemplo, PI 3, PI 4)
  2. Módulo de motorista do motor BTS7960
  3. Motor DC (Adequado para o seu projeto)
  4. Fonte de alimentação externa (correspondendo à tensão do motor e aos requisitos atuais)
  5. 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

  1. Conecte os terminais do motor ao Motor+ (M+) e Motor- (m-) pinos.
  2. Conectar o terminal positivo da fonte de alimentação externa a Vin.
  3. 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

  1. Abra o terminal e corra:
    sudo raspi-config
    
  2. Navegar para Opções de interface> P5: I2Ce ativar i2c.
  3. 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

  1. Conecte o motor e a fonte de alimentação.
  2. Execute o script Python:
    python3 bts7960_control.py
    
  3. Observe a velocidade de alteração do motor e a direção programada.

Solução de problemas

  1. O motor não está funcionando:

    • Verifique as conexões de fiação.
    • Verifique a fonte de alimentação externa.
  2. PWM não está funcionando:

    • Verifique se GPIO18 e GPIO19 estão configurados para PWM.
    • Verifique os valores do ciclo de trabalho no script.
  3. 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

  1. Controlar os motores DC de alta corrente em robótica
  2. Construindo veículos ou robôs automatizados
  3. Criação de sistemas motorizados para aplicações industriais
  4. 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!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.