الحصول على تسليم مجانا على جميع الطلبات أكثر من 20 جنيه!

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

Using the MCP2515 with the Raspberry Pi

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


ما ستحتاج إليه

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

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

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

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

MCP2515 دبوس دبوس Raspberry Pi
VCC 3.3V (الدبوس 1)
أرضي الأرضي (Pin 6)
CS GPIO8 (المسمار 24، SPI0_CE0)
SO GPIO9 (الدبوس 21، SPI0_MISO)
SI GPIO10 (الدبوس 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 حزمة لاتصال CAN:
    sudo apt install -y can-utils
    

الخطوة 4: تهيئة واجهة CAN

  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 إعادة التشغيل
    
  4. تشغيل واجهة CAN:

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

    ifconfig can0
    

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

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

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

    candump can0
    

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

ثبّت الـ python-can مكتبة لإرسال واستقبال رسائل CAN عبر Python.

التثبيت

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. واجهة CAN غير موجودة:

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

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

    • Ensure the python-can تم تثبيت المكتبة.
    • تحقق من وجود أخطاء إملائية أو أخطاء في الإعداد في برنامج Python النصي.

تطبيقات الـ MCP2515

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

الخلاصة

الـ وحدة متحكم CAN 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.

اترك تعليقًا