באמצעות BTS7960 עם ה- Raspberry Pi

Using the BTS7960 with the Raspberry Pi

נהג המנוע BTS7960 הוא מודול H-Bridge חזק המסוגל לטפל בזרמים גבוהים, מה שהופך אותו לאידיאלי לבקרת מנועי DC בפרויקטים של רובוטיקה ואוטומציה. במדריך זה תלמד כיצד לחבר ולשלוט ב- BTS7960 עם פטל PI כדי להניע מנוע.


מה תצטרך

  1. Raspberry Pi (כל דגם עם יכולות GPIO, למשל, pi 3, pi 4)
  2. BTS7960 מודול מנהל התקן המנוע
  3. מנוע DC (מתאים לפרויקט שלך)
  4. ספק כוח חיצוני (התאמת דרישות המתח והזרם של המנוע שלך)
  5. חוטי לחם וגשר

שלב 1: הבנת הנהג BTS7960

מודול BTS7960 כולל שני חצי גשרים בעלי עוצמה גבוהה המסוגלים לנהוג במנועים עם זרמים עד 43A. זה כולל:

  • סיכות קלט PWM לבקרת מהירות
  • סיכות בקרת כיוון
  • הגנה על זרם יתר והגנה תרמית

Pinout

פִּין תֵאוּר
VCC קלט כוח לוגיקה 5V
GND טָחוּן
RPWM קלט PWM לתנועה קדימה
LPWM כניסת PWM לתנועה הפוכה
R_en אפשר סיכה לתנועה קדימה
L_en אפשר סיכה לתנועה הפוכה
מנוע+ (m+) מסוף חיובי מוטורי
מנוע- (m-) מסוף שלילי מוטורי
VIN אספקת חשמל מוטורית חיצונית
GND (כוח) קרקע לאספקת חשמל מוטורית

שלב 2: חיווט BTS7960 ל- Raspberry Pi

חיבורים

BTS7960 PIN סיכת פטל pi
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 18 ו -19 תומכות ב- PWM חומרה.

הפעל PWM באמצעות תצורת Raspberry Pi

  1. פתח את הטרמינל והפעל:
    sudo raspi-config
    
  2. נווט אל אפשרויות ממשק> p5: i2c, ומאפשר i2c.
  3. שמור ואתחל מחדש את ה- Raspberry Pi:
    sudo reboot
    

שלב 4: כתיבת קוד פייתון כדי לשלוט במנוע

התקן את RPi.GPIO ספרייה לשליטה על סיכות GPIO אם כבר לא הותקנה:

pip install RPi.GPIO

דוגמה קוד פייתון

דוגמה זו מדגימה כיצד לשלוט במהירות ובכיוון של המנוע באמצעות 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. הפעל את תסריט הפיתון:
    python3 bts7960_control.py
    
  3. שימו לב למהירות וכיוון שינוי המנוע כמתוכנת.

פתרון בעיות

  1. המנוע לא פועל:

    • בדוק חיבורי חיווט.
    • אמת את ספק הכוח החיצוני.
  2. PWM לא עובד:

    • ודא ש- GPIO18 ו- GPIO19 מוגדרים עבור PWM.
    • בדוק את ערכי מחזור החובה בסקריפט.
  3. מודול התחממות יתר:

    • ודא שהתיקו הנוכחי של המנוע אינו עולה על דירוג BTS7960.

יישומים של BTS7960 עם Raspberry Pi

  1. שליטה על מנועי DC בזרם גבוה ברובוטיקה
  2. בניית כלי רכב אוטומטיים או רובוטים
  3. יצירת מערכות ממונעות ליישומים תעשייתיים
  4. פיתוח מערכות מבוקרות מרחוק

מַסְקָנָה

נהג המנוע BTS7960 הוא פיתרון חזק ויעיל לנהיגה במנועים זרם גבוה. בשילוב עם יכולות ה- 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.