باستخدام MCP2515 مع Raspberry Pi

Using the MCP2515 with the Raspberry Pi

تعد MCP2515 وحدة تحكم شائعة (شبكة منطقة التحكم) CAN (شبكة وحدة التحكم) تتيح أجهزة Raspberry PI للتواصل مع الأنظمة الممكّنة. هذا يجعلها مثالية لمشاريع السيارات والأتمتة الصناعية وتطبيقات إنترنت الأشياء. يشرح هذا الدليل كيفية إعداد واستخدام MCP2515 مع Raspberry Pi.


ماذا ستحتاج

  1. التوت بي (أي نموذج يحمل دعم GPIO ، على سبيل المثال ، PI 3 ، PI 4)
  2. MCP2515 يمكن الوحدة النمطية
  3. الأسلاك الأسلاك والبلوز
  4. جهاز كمبيوتر به وصول SSH إلى Raspberry Pi أو لوحة مفاتيح متصلة وشاشة
  5. Python مثبت على Raspberry Pi
  6. يمكن أن وحدة الإرسال والاستقبال (إن لم تكن متضمنة مع MCP2515)

الخطوة 1: توصيل MCP2515 إلى Raspberry Pi

يتواصل MCP2515 مع Raspberry Pi باستخدام بروتوكول SPI.

الاتصالات (وضع SPI)

MCP2515 دبوس التوت بي دبوس
VCC 3.3V (دبوس 1)
GND الأرض (دبوس 6)
CS GPIO8 (PIN 24 ، SPI0_CE0)
لذا GPIO9 (PIN 21 ، SPI0_MISO)
سي GPIO10 (PIN 19 ، SPI0_MOSI)
SCK GPIO11 (PIN 23 ، SPI0_SCLK)
int GPIO25 (دبوس 22)

الخطوة 2: تمكين واجهة SPI على Raspberry Pi

  1. افتح أداة تكوين Raspberry Pi:
    sudo raspi-config
    
  2. انتقل إلى خيارات الواجهة> SPI وتمكينها.
  3. أعد تشغيل Raspberry Pi:
    sudo reboot
    

الخطوة 3: تثبيت المكتبات والأدوات المطلوبة

  1. قم بتحديث Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. تثبيت can-utils حزمة للاتصالات العلبة:
    sudo apt install -y can-utils
    

الخطوة 4: تكوين واجهة العلبة

  1. افتح /boot/config.txt file:

    sudo nano /boot/config.txt
    
  2. أضف الأسطر التالية لتمكين تراكب MCP2515:

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

    حفظ والخروج.

  3. أعد تشغيل Raspberry Pi:

    sudo reboot
    
  4. إحضار الواجهة العلبة:

    sudo ip link set can0 up type can bitrate 500000
    
  5. تحقق من الواجهة العلبة:

    ifconfig can0
    

الخطوة 5: اختبار MCP2515

  1. أرسل رسالة علبة: استخدم cansend الأمر لإرسال رسالة اختبار:

    cansend can0 123#DEADBEEF
    
  2. تلقي رسالة علبة: استخدم candump أمر لمراقبة الرسائل الواردة:

    candump can0
    

الخطوة 6: استخدام Python للتواصل مع MCP2515

تثبيت python-can مكتبة لإرسال واستقبال الرسائل عبر بيثون.

تثبيت

pip install python-can

مثال Python السيناريو

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)

استكشاف الأخطاء وإصلاحها

  1. لا يمكن العثور على الواجهة:

    • تحقق من تمكين واجهة SPI.
    • تحقق من الأسلاك بين Raspberry Pi و MCP2515.
    • ضمان /boot/config.txt تم تكوين الملف بشكل صحيح.
  2. لا يمكن الرسائل:

    • تحقق من إنهاء الحافلة CAN بشكل صحيح مع مقاومات 120 أوم.
    • تأكد من مباريات البت عبر جميع الأجهزة على حافلة CAN.
  3. أخطاء بيثون:

    • ضمان python-can تم تثبيت المكتبة.
    • تحقق من البرنامج النصي Python للأخطاء المطبعية أو أخطاء التكوين.

تطبيقات MCP2515

  1. تشخيصات السيارات والمراقبة
  2. أنظمة الأتمتة الصناعية
  3. شبكات الاتصالات الروبوتات
  4. مشاريع إنترنت الأشياء التي تتطلب بروتوكولات اتصال موثوقة

خاتمة

تضيف وحدة تحكم MCP2515 قدرات اتصال قوية إلى Raspberry Pi ، مما يجعلها مثالية لتطبيقات السيارات والصناعية وإنترنت الأشياء. باتباع هذا الدليل ، يمكنك إعداد واختبار MCP2515 والبدء في بناء مشاريع قوية تستفيد من بروتوكول CAN.

اترك تعليقًا

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.