BTS7960 Motor Driver เป็นโมดูล H-Bridge ที่ทรงพลังที่สามารถจัดการกับกระแสสูงทำให้เหมาะสำหรับการควบคุมมอเตอร์ DC ในโครงการหุ่นยนต์และระบบอัตโนมัติ ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีเชื่อมต่อและควบคุม BTS7960 ด้วย Raspberry Pi เพื่อขับมอเตอร์
สิ่งที่คุณต้องการ
- Raspberry Pi (รุ่นใด ๆ ที่มีความสามารถของ GPIO เช่น PI 3, PI 4)
- BTS7960 โมดูลไดรเวอร์มอเตอร์
- มอเตอร์ DC (เหมาะสำหรับโครงการของคุณ)
- แหล่งจ่ายไฟภายนอก (ตรงกับแรงดันไฟฟ้าและข้อกำหนดปัจจุบันของมอเตอร์)
- เครื่องหั่นขนมปังและสายจัมเปอร์
ขั้นตอนที่ 1: ทำความเข้าใจกับไดรเวอร์มอเตอร์ BTS7960
โมดูล BTS7960 ประกอบด้วยสะพานครึ่งพลังสูงสองเส้นที่สามารถขับมอเตอร์ที่มีกระแสสูงถึง 43A มันมีคุณสมบัติ:
- พินอินพุต PWM สำหรับการควบคุมความเร็ว
- หมุดควบคุมทิศทาง
- การป้องกันกระแสไฟฟ้าและความร้อน
ปัก
เข็มหมุด | คำอธิบาย |
---|---|
VCC | อินพุตพลังงาน 5V ลอจิก |
gnd | พื้น |
RPWM | อินพุต PWM สำหรับการเคลื่อนที่ไปข้างหน้า |
LPWM | อินพุต PWM สำหรับการเคลื่อนไหวย้อนกลับ |
r_en | เปิดใช้งาน PIN สำหรับการเคลื่อนไหวไปข้างหน้า |
l_en | เปิดใช้งาน PIN สำหรับการเคลื่อนไหวย้อนกลับ |
มอเตอร์+ (M+) | ขั้วบวกของมอเตอร์ |
มอเตอร์- (M-) | ขั้วลบของมอเตอร์ |
vin | แหล่งจ่ายไฟภายนอก |
GND (พลังงาน) | กราวด์สำหรับแหล่งจ่ายไฟมอเตอร์ |
ขั้นตอนที่ 2: เดินสาย BTS7960 ไปยัง Raspberry Pi
การเชื่อมต่อ
bts7960 pin | Raspberry Pi Pin |
---|---|
VCC | 5V |
gnd | gnd |
RPWM | GPIO18 (ช่อง PWM 0) |
LPWM | GPIO19 (ช่อง PWM 1) |
r_en | GPIO23 |
l_en | GPIO24 |
การเชื่อมต่อของมอเตอร์และแหล่งจ่ายไฟ
- เชื่อมต่อขั้วมอเตอร์กับไฟล์ มอเตอร์+ (M+) และ มอเตอร์- (M-) พิน
- เชื่อมต่อขั้วบวกของแหล่งจ่ายไฟภายนอกเข้ากับ vin.
- เชื่อมต่อพื้นที่แหล่งจ่ายไฟภายนอกเข้ากับ GND (พลังงาน) เข็มหมุด.
บันทึก: ตรวจสอบให้แน่ใจว่าแหล่งจ่ายไฟภายนอกตรงกับแรงดันไฟฟ้าและข้อกำหนดปัจจุบันของมอเตอร์
ขั้นตอนที่ 3: เปิดใช้งาน PWM บน Raspberry Pi
ในการควบคุมความเร็วมอเตอร์คุณจะใช้ PWM (การปรับความกว้างพัลส์) Raspberry Pi GPIO PINS 18 และ 19 สนับสนุนฮาร์ดแวร์ PWM
เปิดใช้งาน PWM ผ่านการกำหนดค่า Raspberry Pi
- เปิดเทอร์มินัลแล้วเรียกใช้:
sudo raspi-config
- นำทางไปยัง ตัวเลือกอินเตอร์เฟส> p5: i2cและเปิดใช้งาน I2C
- บันทึกและรีบูต Raspberry Pi:
sudo reboot
ขั้นตอนที่ 4: การเขียนรหัส Python เพื่อควบคุมมอเตอร์
ติดตั้ง RPi.GPIO
ห้องสมุดเพื่อควบคุมหมุด GPIO หากยังไม่ได้ติดตั้ง:
pip install RPi.GPIO
ตัวอย่างรหัส Python
ตัวอย่างนี้แสดงให้เห็นถึงวิธีการควบคุมความเร็วและทิศทางของมอเตอร์โดยใช้ 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()
ขั้นตอนที่ 5: ทดสอบการตั้งค่าของคุณ
- เชื่อมต่อมอเตอร์และแหล่งจ่ายไฟ
- เรียกใช้สคริปต์ Python:
python3 bts7960_control.py
- สังเกตความเร็วและทิศทางการเปลี่ยนมอเตอร์ตามโปรแกรม
การแก้ไขปัญหา
-
มอเตอร์ไม่ทำงาน:
- ตรวจสอบการเชื่อมต่อสายไฟ
- ตรวจสอบแหล่งจ่ายไฟภายนอก
-
PWM ไม่ทำงาน:
- ตรวจสอบให้แน่ใจว่า GPIO18 และ GPIO19 ได้รับการกำหนดค่าสำหรับ PWM
- ตรวจสอบค่ารอบการทำงานในสคริปต์
-
โมดูลความร้อนสูงเกินไป:
- ตรวจสอบให้แน่ใจว่าการดึงกระแสของมอเตอร์ไม่เกินคะแนน BTS7960
แอปพลิเคชันของ BTS7960 กับ Raspberry Pi
- การควบคุมมอเตอร์ DC ปัจจุบันในหุ่นยนต์
- การสร้างยานพาหนะอัตโนมัติหรือหุ่นยนต์
- การสร้างระบบเครื่องยนต์สำหรับแอพพลิเคชั่นอุตสาหกรรม
- การพัฒนาระบบที่ควบคุมระยะไกล
บทสรุป
BTS7960 Motor Driver เป็นโซลูชันที่แข็งแกร่งและมีประสิทธิภาพสำหรับการขับขี่มอเตอร์ปัจจุบัน เมื่อรวมกับความสามารถของ GPIO ของ Raspberry PI มันเปิดโอกาสมากมายสำหรับโครงการหุ่นยนต์และระบบอัตโนมัติ โดยทำตามคำแนะนำนี้คุณสามารถตั้งค่าและควบคุม BTS7960 เพื่อสร้างระบบมอเตอร์ที่มีประสิทธิภาพ ทดลองกับความถี่ PWM ที่แตกต่างกันและรอบการทำงานเพื่อเพิ่มประสิทธิภาพการทำงานสำหรับแอปพลิเคชันเฉพาะของคุณ!