Usando el BTS7960 con la Raspberry Pi

Using the BTS7960 with the Raspberry Pi

El controlador de motor BTS7960 es un potente módulo H-Bridge capaz de manejar corrientes altas, lo que lo hace ideal para controlar los motores DC en robótica y proyectos de automatización. En este tutorial, aprenderá a conectar y controlar el BTS7960 con una Raspberry Pi para conducir un motor.


Lo que necesitarás

  1. Frambuesa pi (Cualquier modelo con capacidades de GPIO, por ejemplo, PI 3, PI 4)
  2. Módulo de controlador de motor BTS7960
  3. Motor DC (Adecuado para su proyecto)
  4. Fuente de alimentación externa (coincidir con los requisitos de voltaje y corriente de su motor)
  5. Cables de placa y jersey

Paso 1: Comprender el controlador de motor BTS7960

El módulo BTS7960 incluye dos medios puentes de alta potencia capaces de conducir motores con corrientes de hasta 43a. Cuenta:

  • Pins de entrada PWM para el control de velocidad
  • Pins de control de dirección
  • Protección contra sobrecorriente y térmica

Pinout

Alfiler Descripción
VCC Entrada de potencia lógica de 5V
Gnd Suelo
RPWM Entrada PWM para el movimiento hacia adelante
LPWM Entrada PWM para movimiento inverso
R_en Habilitar PIN para el movimiento hacia adelante
L_en Habilitar PIN para movimiento inverso
Motor+ (M+) Terminal positivo del motor
Motor- (M-) Terminal negativo del motor
Empuje Fuente de alimentación del motor externo
GND (poder) Tierra para la fuente de alimentación del motor

Paso 2: Cableado el BTS7960 al Raspberry Pi

Conexión

Bts7960 pin Pin de frambuesa Pi
VCC 5V
Gnd Gnd
RPWM GPIO18 (canal PWM 0)
LPWM GPIO19 (canal 1 de PWM)
R_en GPIO23
L_en GPIO24

Conexiones del motor y la fuente de alimentación

  1. Conecte los terminales del motor al Motor+ (M+) y Motor- (M-) patas.
  2. Conecte el terminal positivo de la fuente de alimentación externa a Empuje.
  3. Conecte el suelo de la fuente de alimentación externa al GND (poder) alfiler.

Nota: Asegúrese de que la fuente de alimentación externa coincida con los requisitos de voltaje y corriente de su motor.


Paso 3: habilitar PWM en la Raspberry Pi

Para controlar la velocidad del motor, usará PWM (modulación de ancho de pulso). Raspberry Pi GPIO Pins 18 y 19 Soporte de hardware PWM.

Habilitar PWM a través de la configuración de Raspberry Pi

  1. Abra la terminal y ejecute:
    sudo raspi-config
    
  2. Navegar por Opciones de interfaz> P5: I2Cy habilitar i2c.
  3. Guarde y reinicie la Raspberry PI:
    sudo reboot
    

Paso 4: Escribir código Python para controlar el motor

Instalar el RPi.GPIO Biblioteca para controlar los pines GPIO si aún no está instalado:

pip install RPi.GPIO

Ejemplo de código Python

Este ejemplo demuestra cómo controlar la velocidad y la dirección del motor utilizando el 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()

Paso 5: Prueba de su configuración

  1. Conecte el motor y la fuente de alimentación.
  2. Ejecute el guión de Python:
    python3 bts7960_control.py
    
  3. Observe la velocidad y la dirección cambiantes del motor según lo programado.

Solución de problemas

  1. El motor no funciona:

    • Verifique las conexiones de cableado.
    • Verifique la fuente de alimentación externa.
  2. PWM no funciona:

    • Asegúrese de que GPIO18 y GPIO19 estén configurados para PWM.
    • Verifique los valores del ciclo de trabajo en el script.
  3. Módulo de sobrecalentamiento:

    • Asegúrese de que el sorteo de corriente del motor no exceda la calificación de BTS7960.

Aplicaciones del BTS7960 con Raspberry Pi

  1. Control de motores DC de alta corriente en robótica
  2. Edificio de vehículos o robots automatizados
  3. Creación de sistemas motorizados para aplicaciones industriales
  4. Desarrollo de sistemas controlados a distancia

Conclusión

El conductor del motor BTS7960 es una solución robusta y eficiente para conducir motores de alta corriente. Combinado con las capacidades GPIO de Raspberry Pi, abre numerosas posibilidades para proyectos de robótica y automatización. Siguiendo esta guía, puede configurar y controlar el BTS7960 para crear potentes sistemas motorizados. ¡Experimente con diferentes frecuencias de PWM y ciclos de trabajo para optimizar el rendimiento para su aplicación específica!

Escribir un comentario

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.