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
- Raspberry Pi (Qualsiasi modello con funzionalità GPIO, ad esempio PI 3, PI 4)
- Modulo del driver del motore BTS7960
- Motore DC (adatto al tuo progetto)
- Alimentazione esterna (abbinamento della tensione del tuo motore e dei requisiti di corrente)
- 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
- Collegare i terminali del motore a Motore+ (M+) E Motor- (m-) pin.
- Collegare il terminale positivo dell'alimentazione esterna a Vin.
- 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
- Apri il terminale ed esegui:
sudo raspi-config
- Navigare a Opzioni di interfaccia> P5: I2Ce abilita i2c.
- 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
- Collegare il motore e l'alimentazione.
- Esegui lo script Python:
python3 bts7960_control.py
- Osservare la velocità e la direzione che cambiano motore come programmate.
Risoluzione dei problemi
- 
Motore non funzionante: - Controllare le connessioni di cablaggio.
- Verificare l'alimentazione esterna.
 
- 
PWM non funziona: - Assicurarsi che GPIO18 e GPIO19 siano configurati per PWM.
- Controllare i valori del ciclo di lavoro nello script.
 
- 
Modulo di surriscaldamento: - Assicurarsi che il sorteggio corrente del motore non superi la valutazione di BTS7960.
 
Applicazioni del BTS7960 con Raspberry Pi
- Controllo dei motori DC ad alta corrente in robotica
- Costruire veicoli o robot automatizzati
- Creazione di sistemi motorizzati per applicazioni industriali
- 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!
 
            
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  