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

Using the MCP2515 with the Raspberry Pi

MCP2515 הוא מודול בקר פופולרי (רשת בקר בקרה) המאפשר למכשירי Raspberry Pi לתקשר עם מערכות המותאמות ל- CAN. זה הופך את זה לאידיאלי לפרויקטים של רכב, אוטומציה תעשייתית ויישומי IoT. מדריך זה מסביר כיצד להגדיר ולהשתמש ב- MCP2515 עם פטל PI.


מה תצטרך

  1. Raspberry Pi (כל דגם עם תמיכה ב- GPIO, למשל, pi 3, pi 4)
  2. MCP2515 CAN מודול
  3. חוטי לחם וגשר
  4. מחשב עם גישה ל- SSH ל- Raspberry Pi או למקלדת ומחוברים
  5. פיתון מותקן ב- Raspberry Pi
  6. יכול מודול משדר (אם לא נכלל ב- MCP2515)

שלב 1: חיווט ה- MCP2515 ל- Raspberry Pi

ה- MCP2515 מתקשר עם ה- Raspberry Pi באמצעות פרוטוקול SPI.

חיבורים (מצב SPI)

PIN MCP2515 סיכת פטל pi
VCC 3.3 וולט (סיכה 1)
GND קרקע (סיכה 6)
CS GPIO8 (סיכה 24, SPI0_CE0)
כָּך GPIO9 (סיכה 21, SPI0_MISO)
סִי GPIO10 (סיכה 19, SPI0_MOSI)
SCK GPIO11 (סיכה 23, SPI0_SCLK)
Int GPIO25 (סיכה 22)

שלב 2: הפעל את ממשק ה- SPI ב- Raspberry Pi

  1. פתח את כלי התצורה של Raspberry Pi:
    sudo raspi-config
    
    Bash
  2. נווט אל אפשרויות ממשק> SPI ולאפשר את זה.
  3. אתחל מחדש את ה- Raspberry Pi:
    sudo reboot
    
    Bash

שלב 3: התקן ספריות וכלים נדרשים

  1. עדכן את ה- Raspberry Pi שלך:
    sudo apt update && sudo apt upgrade -y
    
    Bash
  2. התקן את can-utils חבילה לתקשורת CAN:
    sudo apt install -y can-utils
    
    Bash

שלב 4: קבע את התצורה של ממשק הפחית

  1. פתח את /boot/config.txt file:

    sudo nano /boot/config.txt
    
    Bash
  2. הוסף את השורות הבאות כדי לאפשר את שכבת העל של MCP2515:

    dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
    dtoverlay=spi-bcm2835
    

    שמור ויציאה.

  3. אתחל מחדש את ה- Raspberry Pi:

    sudo reboot
    
    Bash
  4. העלה את ממשק הפחית:

    sudo ip link set can0 up type can bitrate 500000
    
    Bash
  5. אמת את ממשק הפחית:

    ifconfig can0
    
    Bash

שלב 5: בדיקת MCP2515

  1. שלח הודעת פחית: השתמש ב- cansend פקודה לשליחת הודעת מבחן:

    cansend can0 123#DEADBEEF
    
    Bash
  2. לקבל הודעת פחית: השתמש ב- candump פקודה לפיקוח על הודעות נכנסות:

    candump can0
    
    Bash

שלב 6: שימוש בפייתון לתקשר עם MCP2515

התקן את python-can ספרייה לשלוח ולקבל הודעות CAN באמצעות פייתון.

הַתקָנָה

pip install python-can
Bash

דוגמה לתסריט פייתון

import can

# Create a CAN bus instance
bus = can.interface.Bus(channel='can0', bustype='socketcan')

# Send a CAN message
msg = can.Message(arbitration_id=0x123, data=[0xDE, 0xAD, 0xBE, 0xEF], is_extended_id=False)
bus.send(msg)
print("Message sent: ", msg)

# Receive a CAN message
print("Waiting for a message...")
message = bus.recv()
print("Received message: ", message)
Python

פתרון בעיות

  1. האם ממשק לא יכול למצוא:

    • ודא שממשק ה- SPI מופעל.
    • בדוק את החיווט בין Raspberry Pi ל- MCP2515.
    • להבטיח את /boot/config.txt הקובץ מוגדר נכון.
  2. לא הודעות יכולות:

    • ודא שאוטובוס CAN מסתיים כראוי עם נגדים של 120 אוהם.
    • וודא כי קצב הסיביות תואם את כל המכשירים באוטובוס CAN.
  3. שגיאות פייתון:

    • להבטיח את python-can הספרייה מותקנת.
    • בדוק את סקריפט Python אם שגיאות הקלדות או שגיאות תצורה.

יישומים של MCP2515

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

מַסְקָנָה

MCP2515 יכול לבקר מודול מוסיף יכולות תקשורת חזקות ל- Raspberry Pi שלך, מה שהופך אותו לאידיאלי ליישומי רכב, תעשייה ו- IoT. על ידי ביצוע מדריך זה, תוכלו להגדיר ולבדוק את ה- MCP2515 ולהתחיל לבנות פרויקטים חזקים הממנפים את פרוטוקול ה- CAN.

2 קרא דקה

השאירו תגובה

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.