Folosind BTS7960 cu Raspberry Pi

Using the BTS7960 with the Raspberry Pi

Driverul de motor BTS7960 este un modul puternic H-Bridge capabil să gestioneze curenți mari, ceea ce îl face ideal pentru controlul motoarelor DC în proiecte de robotică și automatizare. În acest tutorial, veți învăța cum să conectați și să controlați BTS7960 cu un Raspberry Pi pentru a conduce un motor.


Ce vei avea nevoie

  1. Zmeură pi (Orice model cu capacități GPIO, de exemplu, PI 3, PI 4)
  2. BTS7960 Modulul de șofer al motorului
  3. Motor DC (Potrivit pentru proiectul dvs.)
  4. Sursă de alimentare externă (Potrivirea tensiunii și a cerințelor curente ale motorului dvs.)
  5. Tablă de pâine și jumper

Pasul 1: Înțelegerea șoferului motorului BTS7960

Modulul BTS7960 include două jumătăți de poduri de mare putere capabile să conducă motoare cu curenți de până la 43A. Prezintă:

  • PIN -uri de intrare PWM pentru controlul vitezei
  • Pinii de control al direcției
  • Supracurent și protecție termică

Pinout

Ac Descriere
VCC 5V logică de intrare de putere
GND Sol
RPWM Intrare PWM pentru mișcare înainte
LPWM Intrare PWM pentru mișcare inversă
R_en Activați PIN -ul pentru mișcare înainte
L_en Activați PIN -ul pentru mișcare inversă
Motor+ (M+) Terminal motor pozitiv
Motor- (M-) Terminal negativ motor
Vin Sursă externă de alimentare cu motor
GND (putere) Sol pentru alimentarea cu motor

Pasul 2: Cablarea BTS7960 la Raspberry PI

Conexiuni

Pin BTS7960 Pinul de zmeură pi
VCC 5V
GND GND
RPWM GPIO18 (PWM Channel 0)
LPWM GPIO19 (PWM Channel 1)
R_en GPIO23
L_en GPIO24

Conexiuni de alimentare cu motor și alimentare

  1. Conectați bornele motorului la Motor+ (M+) şi Motor- (M-) pini.
  2. Conectați terminalul pozitiv al sursei de alimentare externă la Vin.
  3. Conectați terenul sursei de alimentare externe la GND (putere) ac.

Nota: Asigurați -vă că sursa de alimentare externă se potrivește cu tensiunea și cerințele curente ale motorului.


Pasul 3: Activarea PWM pe Raspberry Pi

Pentru a controla viteza motorului, veți utiliza PWM (modularea lățimii pulsului). Pinuri de zmeură PI GPIO 18 și 19 suportă hardware PWM.

Activați PWM prin configurația Raspberry PI

  1. Deschideți terminalul și rulați:
    sudo raspi-config
    
  2. Navigați la Opțiuni de interfață> P5: I2C, și activați I2C.
  3. Salvați și reporniți Raspberry PI:
    sudo reboot
    

Pasul 4: Scrierea codului Python pentru a controla motorul

Instalați RPi.GPIO Biblioteca pentru a controla pinii GPIO, dacă nu este deja instalat:

pip install RPi.GPIO

Exemplu cod Python

Acest exemplu demonstrează cum să controlați viteza și direcția motorului folosind 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()

Pasul 5: Testarea configurației

  1. Conectați motorul și sursa de alimentare.
  2. Rulați scriptul Python:
    python3 bts7960_control.py
    
  3. Observați viteza și direcția modificării motorului așa cum este programat.

Depanare

  1. Motorul care nu funcționează:

    • Verificați conexiunile de cablare.
    • Verificați sursa de alimentare externă.
  2. PWM nu funcționează:

    • Asigurați -vă că GPIO18 și GPIO19 sunt configurate pentru PWM.
    • Verificați valorile ciclului de serviciu din script.
  3. Modul de supraîncălzire:

    • Asigurați -vă că atragerea actuală a motorului nu depășește ratingul BTS7960.

Aplicații ale BTS7960 cu Raspberry PI

  1. Controlul motoarelor DC cu curent ridicat în robotică
  2. Construirea vehiculelor sau roboților automatizați
  3. Crearea de sisteme motorizate pentru aplicații industriale
  4. Dezvoltarea sistemelor controlate la distanță

Concluzie

Șoferul motorului BTS7960 este o soluție robustă și eficientă pentru conducerea motoarelor cu curent ridicat. În combinație cu capacitățile GPIO ale Raspberry Pi, deschide numeroase posibilități pentru proiecte de robotică și automatizare. Urmărind acest ghid, puteți configura și controla BTS7960 pentru a crea sisteme motorizate puternice. Experimentați cu diferite frecvențe PWM și cicluri de datorie pentru a optimiza performanța pentru aplicația dvs. specifică!

Lasă un comentariu

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.