Usando il BTS7960 con il Raspberry Pi

Using the BTS7960 with the Raspberry Pi

Il driver del motore BTS7960 è un potente modulo di ponte H in grado di gestire correnti elevate, rendendolo ideale per il controllo dei motori DC nei progetti di robotica e automazione. In questo tutorial, imparerai come collegare e controllare il BTS7960 con un Raspberry Pi per guidare un motore.


Cosa avrai bisogno

  1. Raspberry Pi (Qualsiasi modello con funzionalità GPIO, ad esempio PI 3, PI 4)
  2. Modulo del driver del motore BTS7960
  3. Motore DC (adatto al tuo progetto)
  4. Alimentazione esterna (abbinamento della tensione del tuo motore e dei requisiti di corrente)
  5. Breadboard e fili jumper

Passaggio 1: Comprensione del driver del motore BTS7960

Il modulo BTS7960 comprende due mezze ponti ad alta potenza in grado di guidare motori con correnti fino a 43A. È caratteristico:

  • Pin di ingresso PWM per il controllo della velocità
  • Pin di controllo della direzione
  • Protezione eccessiva e termica

Pinout

Spillo Descrizione
VCC Input di potenza logica 5V
GND Terra
Rpwm Input PWM per movimento in avanti
LPWM Ingresso PWM per movimento inverso
R_en Abilita il pin per il movimento in avanti
L_en Abilita il pin per il movimento inverso
Motore+ (M+) Terminale positivo motorio
Motor- (m-) Terminale negativo motorio
Vin Alimentazione del motore esterno
GND (potere) Terra per l'alimentazione del motore

Passaggio 2: cablaggio BTS7960 a Raspberry Pi

Connessioni

Pin BTS7960 Pin di lampone
VCC 5v
GND GND
Rpwm GPIO18 (PWM Channel 0)
LPWM GPIO19 (PWM Channel 1)
R_en GPIO23
L_en GPIO24

Collegamenti del motore e dell'alimentazione

  1. Collegare i terminali del motore a Motore+ (M+) E Motor- (m-) pin.
  2. Collegare il terminale positivo dell'alimentazione esterna a Vin.
  3. Collegare il terreno dell'alimentazione esterna al GND (potere) spillo.

Nota: Assicurarsi che l'alimentazione esterna corrisponda alla tensione del tuo motore e ai requisiti di corrente.


Passaggio 3: abilitando PWM su Raspberry Pi

Per controllare la velocità del motore, utilizzerai PWM (modulazione della larghezza dell'impulso). Raspberry Pi GPIO PINS 18 e 19 Support Hardware PWM.

Abilita PWM tramite configurazione Raspberry Pi

  1. Apri il terminale ed esegui:
    sudo raspi-config
    
  2. Navigare a Opzioni di interfaccia> P5: I2Ce abilita i2c.
  3. Salva e riavvia il Raspberry Pi:
    sudo reboot
    

Passaggio 4: scrivere codice Python per controllare il motore

Installa il RPi.GPIO Libreria per controllare i pin GPIO se non già installato:

pip install RPi.GPIO

Esempio di codice Python

Questo esempio dimostra come controllare la velocità e la direzione del motore usando 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()

Passaggio 5: testare la configurazione

  1. Collegare il motore e l'alimentazione.
  2. Esegui lo script Python:
    python3 bts7960_control.py
    
  3. Osservare la velocità e la direzione che cambiano motore come programmate.

Risoluzione dei problemi

  1. Motore non funzionante:

    • Controllare le connessioni di cablaggio.
    • Verificare l'alimentazione esterna.
  2. PWM non funziona:

    • Assicurarsi che GPIO18 e GPIO19 siano configurati per PWM.
    • Controllare i valori del ciclo di lavoro nello script.
  3. Modulo di surriscaldamento:

    • Assicurarsi che il sorteggio corrente del motore non superi la valutazione di BTS7960.

Applicazioni del BTS7960 con Raspberry Pi

  1. Controllo dei motori DC ad alta corrente in robotica
  2. Costruire veicoli o robot automatizzati
  3. Creazione di sistemi motorizzati per applicazioni industriali
  4. Sviluppo di sistemi a telecomando

Conclusione

Il driver del motore BTS7960 è una soluzione robusta ed efficiente per la guida di motori ad alta corrente. In combinazione con le funzionalità GPIO di Raspberry Pi, apre numerose possibilità per i progetti di robotica e automazione. Seguendo questa guida, è possibile impostare e controllare il BTS7960 per creare potenti sistemi motorizzati. Sperimenta diverse frequenze PWM e cicli di lavoro per ottimizzare le prestazioni per la tua applicazione specifica!

Lascia un commento

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.