ใช้ BTS7960 กับ Raspberry Pi

Using the BTS7960 with the Raspberry Pi

BTS7960 Motor Driver เป็นโมดูล H-Bridge ที่ทรงพลังที่สามารถจัดการกับกระแสสูงทำให้เหมาะสำหรับการควบคุมมอเตอร์ DC ในโครงการหุ่นยนต์และระบบอัตโนมัติ ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีเชื่อมต่อและควบคุม BTS7960 ด้วย Raspberry Pi เพื่อขับมอเตอร์


สิ่งที่คุณต้องการ

  1. Raspberry Pi (รุ่นใด ๆ ที่มีความสามารถของ GPIO เช่น PI 3, PI 4)
  2. BTS7960 โมดูลไดรเวอร์มอเตอร์
  3. มอเตอร์ DC (เหมาะสำหรับโครงการของคุณ)
  4. แหล่งจ่ายไฟภายนอก (ตรงกับแรงดันไฟฟ้าและข้อกำหนดปัจจุบันของมอเตอร์)
  5. เครื่องหั่นขนมปังและสายจัมเปอร์

ขั้นตอนที่ 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

การเชื่อมต่อของมอเตอร์และแหล่งจ่ายไฟ

  1. เชื่อมต่อขั้วมอเตอร์กับไฟล์ มอเตอร์+ (M+) และ มอเตอร์- (M-) พิน
  2. เชื่อมต่อขั้วบวกของแหล่งจ่ายไฟภายนอกเข้ากับ vin.
  3. เชื่อมต่อพื้นที่แหล่งจ่ายไฟภายนอกเข้ากับ GND (พลังงาน) เข็มหมุด.

บันทึก: ตรวจสอบให้แน่ใจว่าแหล่งจ่ายไฟภายนอกตรงกับแรงดันไฟฟ้าและข้อกำหนดปัจจุบันของมอเตอร์


ขั้นตอนที่ 3: เปิดใช้งาน PWM บน Raspberry Pi

ในการควบคุมความเร็วมอเตอร์คุณจะใช้ PWM (การปรับความกว้างพัลส์) Raspberry Pi GPIO PINS 18 และ 19 สนับสนุนฮาร์ดแวร์ PWM

เปิดใช้งาน PWM ผ่านการกำหนดค่า Raspberry Pi

  1. เปิดเทอร์มินัลแล้วเรียกใช้:
    sudo raspi-config
    
  2. นำทางไปยัง ตัวเลือกอินเตอร์เฟส> p5: i2cและเปิดใช้งาน I2C
  3. บันทึกและรีบูต 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: ทดสอบการตั้งค่าของคุณ

  1. เชื่อมต่อมอเตอร์และแหล่งจ่ายไฟ
  2. เรียกใช้สคริปต์ Python:
    python3 bts7960_control.py
    
  3. สังเกตความเร็วและทิศทางการเปลี่ยนมอเตอร์ตามโปรแกรม

การแก้ไขปัญหา

  1. มอเตอร์ไม่ทำงาน:

    • ตรวจสอบการเชื่อมต่อสายไฟ
    • ตรวจสอบแหล่งจ่ายไฟภายนอก
  2. PWM ไม่ทำงาน:

    • ตรวจสอบให้แน่ใจว่า GPIO18 และ GPIO19 ได้รับการกำหนดค่าสำหรับ PWM
    • ตรวจสอบค่ารอบการทำงานในสคริปต์
  3. โมดูลความร้อนสูงเกินไป:

    • ตรวจสอบให้แน่ใจว่าการดึงกระแสของมอเตอร์ไม่เกินคะแนน BTS7960

แอปพลิเคชันของ BTS7960 กับ Raspberry Pi

  1. การควบคุมมอเตอร์ DC ปัจจุบันในหุ่นยนต์
  2. การสร้างยานพาหนะอัตโนมัติหรือหุ่นยนต์
  3. การสร้างระบบเครื่องยนต์สำหรับแอพพลิเคชั่นอุตสาหกรรม
  4. การพัฒนาระบบที่ควบคุมระยะไกล

บทสรุป

BTS7960 Motor Driver เป็นโซลูชันที่แข็งแกร่งและมีประสิทธิภาพสำหรับการขับขี่มอเตอร์ปัจจุบัน เมื่อรวมกับความสามารถของ GPIO ของ Raspberry PI มันเปิดโอกาสมากมายสำหรับโครงการหุ่นยนต์และระบบอัตโนมัติ โดยทำตามคำแนะนำนี้คุณสามารถตั้งค่าและควบคุม BTS7960 เพื่อสร้างระบบมอเตอร์ที่มีประสิทธิภาพ ทดลองกับความถี่ PWM ที่แตกต่างกันและรอบการทำงานเพื่อเพิ่มประสิทธิภาพการทำงานสำหรับแอปพลิเคชันเฉพาะของคุณ!

แสดงความคิดเห็น

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.