ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้ BTS7960 กับ Raspberry Pi

Using the BTS7960 with the Raspberry Pi

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


สิ่งที่คุณจะต้องมี

  1. Raspberry Pi (รุ่นใดก็ได้ที่มีขา GPIO, เช่น Pi 3, Pi 4)
  2. BTS7960 Motor Driver Module
  3. DC Motor (เหมาะสมกับโครงการของคุณ)
  4. External Power Supply (ตรงกับแรงดันและความต้องการกระแสของมอเตอร์ของคุณ)
  5. 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

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

  1. เชื่อมต่อขั้วมอเตอร์กับ Motor+ (M+) และ Motor- (M-) ขา.
  2. เชื่อมต่อขั้วบวกของแหล่งจ่ายไฟภายนอกไปยัง VIN.
  3. เชื่อมต่อกราวด์ของแหล่งจ่ายไฟภายนอกกับ GND (Power) ขา.

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


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

เพื่อควบคุมความเร็วมอเตอร์ คุณจะใช้ PWM (Pulse Width Modulation) ขา GPIO ของ Raspberry Pi หมายเลข 18 และ 19 รองรับ hardware PWM.

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

  1. Open the terminal and run:
    sudo raspi-config
    
  2. ไปที่ Interface Options > P5: I2C และเปิดใช้งาน I2C.
  3. 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: ทดสอบการตั้งค่าของคุณ

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

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

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

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

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

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

การใช้งานของ BTS7960 กับ Raspberry Pi

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

สรุป

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

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.

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