The BTS7960 motor driver เป็นโมดูล H-bridge กำลังสูงที่สามารถรองรับกระแสไฟสูง เหมาะสำหรับการควบคุมมอเตอร์ DC ในโครงการหุ่นยนต์และระบบอัตโนมัติ ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธีเชื่อมต่อและควบคุม BTS7960 กับ Raspberry Pi เพื่อขับมอเตอร์.
สิ่งที่คุณจะต้องมี
- Raspberry Pi (รุ่นใดก็ได้ที่มีขา GPIO, เช่น Pi 3, Pi 4)
- BTS7960 Motor Driver Module
- DC Motor (เหมาะสมกับโครงการของคุณ)
- External Power Supply (ตรงกับแรงดันและความต้องการกระแสของมอเตอร์ของคุณ)
- Breadboard and Jumper Wires
ขั้นตอนที่ 1: ทำความเข้าใจกับ BTS7960 Motor Driver
โมดูล BTS7960 module ประกอบด้วย half-bridge กำลังสูงสองตัวที่สามารถขับมอเตอร์ด้วยกระแสได้ถึง 43A มีคุณสมบัติ:
- ขาเข้า PWM สำหรับควบคุมความเร็ว
- ขาควบคุมทิศทาง
- การป้องกันกระแสเกินและความร้อน
Pinout
| Pin | คำอธิบาย |
|---|---|
| VCC | ขาเลี้ยงไฟ 5V สำหรับตรรกะ |
| GND | กราวด์ |
| RPWM | ขาเข้า PWM สำหรับการเคลื่อนที่ไปข้างหน้า |
| LPWM | ขาเข้า PWM สำหรับการเคลื่อนที่ถอยหลัง |
| R_EN | ขาเปิดใช้งานสำหรับการเคลื่อนที่ไปข้างหน้า |
| L_EN | ขาเปิดใช้งานสำหรับการเคลื่อนที่ถอยหลัง |
| Motor+ (M+) | ขั้วบวกของมอเตอร์ |
| Motor- (M-) | ขั้วลบของมอเตอร์ |
| VIN | แหล่งจ่ายไฟภายนอกสำหรับมอเตอร์ |
| GND (Power) | กราวด์สำหรับแหล่งจ่ายไฟมอเตอร์ |
ขั้นตอนที่ 2: การต่อสายระหว่าง BTS7960 กับ Raspberry Pi
การเชื่อมต่อ
| 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 |
การเชื่อมต่อมอเตอร์และแหล่งจ่ายไฟ
- เชื่อมต่อขั้วมอเตอร์กับ Motor+ (M+) และ Motor- (M-) ขา.
- เชื่อมต่อขั้วบวกของแหล่งจ่ายไฟภายนอกไปยัง VIN.
- เชื่อมต่อกราวด์ของแหล่งจ่ายไฟภายนอกกับ GND (Power) ขา.
หมายเหตุ: ให้แน่ใจว่าแหล่งจ่ายไฟภายนอกตรงกับแรงดันและความต้องการกระแสของมอเตอร์ของคุณ.
ขั้นตอนที่ 3: เปิดใช้งาน PWM บน Raspberry Pi
เพื่อควบคุมความเร็วมอเตอร์ คุณจะใช้ PWM (Pulse Width Modulation) ขา GPIO ของ Raspberry Pi หมายเลข 18 และ 19 รองรับ hardware PWM.
เปิดใช้งาน PWM ผ่านการตั้งค่า Raspberry Pi
- Open the terminal and run:
sudo raspi-config - ไปที่ Interface Options > P5: I2C และเปิดใช้งาน I2C.
- Save and reboot the Raspberry Pi:
sudo reboot
ขั้นตอนที่ 4: เขียนโค้ด Python เพื่อควบคุมมอเตอร์
Install the RPi.GPIO library to control GPIO pins if not already installed:
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: ทดสอบการตั้งค่าของคุณ
- เชื่อมต่อมอเตอร์และแหล่งจ่ายไฟ.
- Run the Python script:
python3 bts7960_control.py - สังเกตการเปลี่ยนแปลงความเร็วและทิศทางของมอเตอร์ตามที่โปรแกรมกำหนด.
การแก้ไขปัญหา
-
มอเตอร์ไม่ทำงาน:
- ตรวจสอบการเชื่อมต่อสาย.
- ตรวจสอบแหล่งจ่ายไฟภายนอก.
-
PWM ไม่ทำงาน:
- ตรวจสอบให้แน่ใจว่า GPIO18 และ GPIO19 ถูกตั้งค่าให้รองรับ PWM.
- ตรวจสอบค่า duty cycle ในสคริปต์.
-
โมดูลร้อนเกินไป:
- ตรวจสอบให้แน่ใจว่ากระแสที่มอเตอร์ดึงไม่เกินค่าที่ BTS7960 ระบุ.
การใช้งานของ BTS7960 กับ Raspberry Pi
- การควบคุมมอเตอร์ DC กำลังสูงในงานหุ่นยนต์
- สร้างยานพาหนะอัตโนมัติหรือหุ่นยนต์
- สร้างระบบที่ใช้มอเตอร์สำหรับงานอุตสาหกรรม
- พัฒนาระบบควบคุมระยะไกล
สรุป
The BTS7960 motor driver เป็นโซลูชันที่ทนทานและมีประสิทธิภาพสำหรับการขับมอเตอร์กำลังสูง เมื่อใช้ร่วมกับความสามารถ GPIO ของ Raspberry Pi จะเปิดโอกาสมากมายสำหรับโครงการหุ่นยนต์และระบบอัตโนมัติ โดยการทำตามคู่มือนี้ คุณสามารถตั้งค่าและควบคุม BTS7960 เพื่อสร้างระบบขับเคลื่อนที่มีประสิทธิภาพ ทดลองปรับความถี่ PWM และค่า duty cycle ต่างๆ เพื่อปรับประสิทธิภาพให้เหมาะกับการใช้งานเฉพาะของคุณ!
