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
- Frambuesa pi (Cualquier modelo con capacidades de GPIO, por ejemplo, PI 3, PI 4)
- Módulo de controlador de motor BTS7960
- Motor DC (Adecuado para su proyecto)
- Fuente de alimentación externa (coincidir con los requisitos de voltaje y corriente de su motor)
- 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
- Conecte los terminales del motor al Motor+ (M+) y Motor- (M-) patas.
- Conecte el terminal positivo de la fuente de alimentación externa a Empuje.
- 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
- Abra la terminal y ejecute:
sudo raspi-config
- Navegar por Opciones de interfaz> P5: I2Cy habilitar i2c.
- 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
- Conecte el motor y la fuente de alimentación.
- Ejecute el guión de Python:
python3 bts7960_control.py
- Observe la velocidad y la dirección cambiantes del motor según lo programado.
Solución de problemas
- 
El motor no funciona: - Verifique las conexiones de cableado.
- Verifique la fuente de alimentación externa.
 
- 
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.
 
- 
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
- Control de motores DC de alta corriente en robótica
- Edificio de vehículos o robots automatizados
- Creación de sistemas motorizados para aplicaciones industriales
- 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!
 
            
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  