Ang driver ng motor ng BTS7960 ay isang malakas na module ng H-tulay na may kakayahang hawakan ang mataas na alon, na ginagawang perpekto para sa pagkontrol sa mga motor ng DC sa mga robotics at mga proyekto sa automation. Sa tutorial na ito, malalaman mo kung paano kumonekta at makontrol ang BTS7960 na may isang Raspberry Pi upang magmaneho ng isang motor.
Ano ang kakailanganin mo
- Raspberry Pi (Anumang modelo na may mga kakayahan sa GPIO, hal., PI 3, PI 4)
- BTS7960 Module ng driver ng motor
- DC Motor (Angkop para sa iyong proyekto)
- Panlabas na Power Supply (pagtutugma ng boltahe ng iyong motor at kasalukuyang mga kinakailangan)
- Mga wire ng tinapay at jumper
Hakbang 1: Pag -unawa sa driver ng motor ng BTS7960
Ang module ng BTS7960 ay may kasamang dalawang high-power half-bridges na may kakayahang magmaneho ng mga motor na may mga alon hanggang sa 43A. Nagtatampok ito:
- PWM input pin para sa control ng bilis
- Direksyon control pin
- Overcurrent at Thermal Protection
Pinout
Pin | Paglalarawan |
---|---|
VCC | 5V Logic Power Input |
Gnd | Lupa |
Rpwm | Input ng PWM para sa pasulong na paggalaw |
Lpwm | PWM input para sa reverse motion |
R_en | Paganahin ang pin para sa pasulong na paggalaw |
L_en | Paganahin ang pin para sa reverse motion |
Motor+ (m+) | Positibong terminal ng motor |
Motor- (m-) | Negatibong terminal ng motor |
Vin | Panlabas na suplay ng kuryente ng motor |
Gnd (kapangyarihan) | Ground para sa suplay ng kuryente ng motor |
Hakbang 2: Ang mga kable ng BTS7960 sa Raspberry Pi
Mga koneksyon
BTS7960 PIN | Raspberry Pi Pin |
---|---|
VCC | 5v |
Gnd | Gnd |
Rpwm | GPIO18 (PWM Channel 0) |
Lpwm | GPIO19 (PWM Channel 1) |
R_en | GPIO23 |
L_en | GPIO24 |
Mga koneksyon sa motor at power supply
- Ikonekta ang mga terminal ng motor sa Motor+ (m+) at Motor- (m-) mga pin.
- Ikonekta ang positibong terminal ng panlabas na supply ng kuryente sa Vin.
- Ikonekta ang lupa ng panlabas na supply ng kuryente sa Gnd (kapangyarihan) pin.
Tandaan: Tiyakin na ang panlabas na supply ng kuryente ay tumutugma sa boltahe ng iyong motor at kasalukuyang mga kinakailangan.
Hakbang 3: Paganahin ang PWM sa Raspberry Pi
Upang makontrol ang bilis ng motor, gagamitin mo ang PWM (modyul ng lapad ng pulso). Raspberry Pi Gpio Pins 18 at 19 Suporta sa Hardware PWM.
Paganahin ang PWM sa pamamagitan ng pagsasaayos ng Raspberry Pi
- Buksan ang terminal at tumakbo:
sudo raspi-config
- Mag -navigate sa Mga Pagpipilian sa Interface> P5: I2C, at paganahin ang I2C.
- I -save at i -reboot ang Raspberry Pi:
sudo reboot
Hakbang 4: Pagsulat ng Python Code upang makontrol ang motor
I -install ang RPi.GPIO
Library upang makontrol ang mga GPIO pin kung hindi pa naka -install:
pip install RPi.GPIO
Halimbawa ng Python Code
Ang halimbawang ito ay nagpapakita kung paano makontrol ang bilis at direksyon ng motor gamit ang 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()
Hakbang 5: Pagsubok sa iyong pag -setup
- Ikonekta ang motor at supply ng kuryente.
- Patakbuhin ang script ng Python:
python3 bts7960_control.py
- Alamin ang bilis ng pagbabago ng motor at direksyon tulad ng na -program.
Pag -aayos
-
Hindi tumatakbo ang motor:
- Suriin ang mga koneksyon sa mga kable.
- Patunayan ang panlabas na supply ng kuryente.
-
Hindi gumagana ang PWM:
- Tiyakin na ang GPIO18 at GPIO19 ay na -configure para sa PWM.
- Suriin ang mga halaga ng cycle ng tungkulin sa script.
-
Sobrang pag -init ng module:
- Tiyakin na ang kasalukuyang draw ng motor ay hindi lalampas sa rating ng BTS7960.
Mga aplikasyon ng BTS7960 na may Raspberry Pi
- Pagkontrol ng mataas na kasalukuyang DC motor sa mga robotics
- Pagbuo ng mga awtomatikong sasakyan o robot
- Paglikha ng mga motorized system para sa mga pang -industriya na aplikasyon
- Pagbuo ng mga remote na kontrolado na mga system
Konklusyon
Ang driver ng motor ng BTS7960 ay isang matatag at mahusay na solusyon para sa pagmamaneho ng mga mataas na kasalukuyang motor. Pinagsama sa mga kakayahan ng GPIO ng Raspberry Pi, bubuksan nito ang maraming mga posibilidad para sa mga robotics at mga proyekto ng automation. Sa pamamagitan ng pagsunod sa gabay na ito, maaari mong i -set up at kontrolin ang BTS7960 upang lumikha ng malakas na mga motorized system. Eksperimento sa iba't ibang mga frequency ng PWM at mga cycle ng tungkulin upang ma -optimize ang pagganap para sa iyong tukoy na aplikasyon!