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
- Zmeură pi (Orice model cu capacități GPIO, de exemplu, PI 3, PI 4)
- BTS7960 Modulul de șofer al motorului
- Motor DC (Potrivit pentru proiectul dvs.)
- Sursă de alimentare externă (Potrivirea tensiunii și a cerințelor curente ale motorului dvs.)
- 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
- Conectați bornele motorului la Motor+ (M+) şi Motor- (M-) pini.
- Conectați terminalul pozitiv al sursei de alimentare externă la Vin.
- 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
- Deschideți terminalul și rulați:
sudo raspi-config
- Navigați la Opțiuni de interfață> P5: I2C, și activați I2C.
- 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
- Conectați motorul și sursa de alimentare.
- Rulați scriptul Python:
python3 bts7960_control.py
- Observați viteza și direcția modificării motorului așa cum este programat.
Depanare
-
Motorul care nu funcționează:
- Verificați conexiunile de cablare.
- Verificați sursa de alimentare externă.
-
PWM nu funcționează:
- Asigurați -vă că GPIO18 și GPIO19 sunt configurate pentru PWM.
- Verificați valorile ciclului de serviciu din script.
-
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
- Controlul motoarelor DC cu curent ridicat în robotică
- Construirea vehiculelor sau roboților automatizați
- Crearea de sisteme motorizate pentru aplicații industriale
- 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ă!