A BTS7960 Motor Driver egy nagy teljesítményű H-híd modul, amely képes a nagy áramok kezelésére, így ideális a robotika és az automatizálási projektek DC motorjainak vezérléséhez. Ebben az oktatóanyagban megtanulhatja, hogyan lehet a BTS7960 -at egy Raspberry PI -vel csatlakoztatni és vezérelni a motor vezetését.
Mire lesz szüksége
- Málna PI (Bármely olyan modell, amely GPIO képességekkel rendelkezik, például PI 3, PI 4)
- BTS7960 Motor illesztőprogram modul
- Egyenáramú motor (alkalmas a projektjéhez)
- Külső tápegység (A motor feszültségének és az aktuális követelményeknek a megfelelése)
- Kenyérlemez és jumper vezetékek
1. lépés: A BTS7960 motoros illesztőprogram megértése
A BTS7960 modul két nagy teljesítményű félhidat tartalmaz, amelyek képesek motorokat vezetni, akár 43A-ig. Jellemzői:
- PWM bemeneti csapok a sebességszabályozáshoz
- Irányvezérlő csapok
- Túláram és hővédelem
Poggyász
Csap | Leírás |
---|---|
VCC | 5V logikai teljesítmény bemenet |
GND | Föld |
RPWM | PWM bemenet az előre mozgáshoz |
LPWM | PWM bemenet fordított mozgáshoz |
R_en | Engedélyezze a PIN -kódot az előre mozgáshoz |
L_en | Engedélyezze a PIN -kódot a fordított mozgáshoz |
Motor+ (m+) | Motoros pozitív csatlakozó |
Motor- (M-) | Motoros negatív csatlakozó |
Vin | Külső motoros tápegység |
GND (erő) | Föld a motoros tápegység számára |
2. lépés: A BTS7960 vezetéke a Raspberry PI -hez
Kapcsolatok
BTS7960 PIN | Málna pi tű |
---|---|
VCC | 5 V -os |
GND | GND |
RPWM | GPIO18 (PWM Channel 0) |
LPWM | GPIO19 (PWM 1. csatorna) |
R_en | GPIO23 |
L_en | GPIO24 |
Motor- és tápegység csatlakozások
- Csatlakoztassa a motoros csatlakozókat a Motor+ (m+) és Motor- (M-) csapok.
- Csatlakoztassa a külső tápegység pozitív terminálját Vin.
- Csatlakoztassa a külső tápegység talaját a GND (erő) tű.
Jegyzet: Győződjön meg arról, hogy a külső tápegység megegyezik a motor feszültségével és az aktuális követelményekkel.
3. lépés: A PWM engedélyezése a Raspberry PI -n
A motor sebességének szabályozására a PWM -et (impulzusszélesség -modulációt) fog használni. A Raspberry PI GPIO 18 és 19 Pins támogatja a PWM hardverét.
Engedélyezze a PWM -t a Raspberry Pi konfiguráción keresztül
- Nyissa meg a terminálot és futtassa:
sudo raspi-config
- Navigál Interfész opciók> P5: I2C, és engedélyezze az i2c -t.
- Mentse el és indítsa újra a Raspberry PI -t:
sudo reboot
4. lépés: Python kód írása a motor vezérléséhez
Szerelje be a RPi.GPIO
könyvtár a GPIO -csapok vezérléséhez, ha még nem telepítik:
pip install RPi.GPIO
Példa Python kód
Ez a példa bemutatja, hogyan lehet a motor sebességét és irányát a BTS7960 segítségével szabályozni.
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()
5. lépés: A beállítás tesztelése
- Csatlakoztassa a motort és a tápegységet.
- Futtassa a Python szkriptet:
python3 bts7960_control.py
- Vegye figyelembe a motoros sebességváltó sebességét és irányát programozva.
Hibaelhárítás
-
A motor nem fut:
- Ellenőrizze a kábelezési csatlakozásokat.
- Ellenőrizze a külső tápegységet.
-
A PWM nem működik:
- Győződjön meg arról, hogy a GPIO18 és a GPIO19 a PWM -re konfigurálva van.
- Ellenőrizze a szkript üzemi ciklusának értékeit.
-
Túlmelegítő modul:
- Győződjön meg arról, hogy a motor aktuális sorsolása nem haladja meg a BTS7960 besorolást.
A BTS7960 alkalmazásai málna PI -vel
- A robotikában a nagyáramú DC motorok ellenőrzése
- Automatizált járművek vagy robotok épülete
- Motoros rendszerek létrehozása ipari alkalmazásokhoz
- Távirányítású rendszerek fejlesztése
Következtetés
A BTS7960 motoros vezető robusztus és hatékony megoldás a nagyáramú motorok vezetésére. A Raspberry PI GPIO képességeivel kombinálva számos lehetőséget nyit meg a robotika és az automatizálási projektek számára. Az útmutató követésével beállíthatja és vezérelheti a BTS7960 -at, hogy nagy teljesítményű motorizált rendszereket hozzon létre. Kísérletezzen különböző PWM frekvenciákkal és vámciklusokkal, hogy optimalizálja az adott alkalmazás teljesítményét!