Raspberry Pi ile MCP2515'i kullanma

Using the MCP2515 with the Raspberry Pi

MCP2515, Raspberry Pi cihazlarının Can-etkin sistemlerle iletişim kurmasını sağlayan popüler bir CAN (kontrolör alanı ağı) denetleyici modülüdür. Bu, otomotiv projeleri, endüstriyel otomasyon ve IoT uygulamaları için idealdir. Bu kılavuz, MCP2515'in bir Raspberry Pi ile nasıl kurulacağını ve kullanılacağını açıklar.


Ne İhtiyacınız Olacak

  1. Ahududu pi (GPIO destekli herhangi bir model, örneğin Pi 3, Pi 4)
  2. MCP2515 MODULE
  3. Breadboard ve jumper telleri
  4. Raspberry Pi'ye veya bağlı bir klavyeye ve monitöre SSH erişimi olan bir bilgisayar
  5. Raspberry Pi'ye Python kuruldu
  6. Can Alıcı Modülü (MCP2515'e dahil edilmezse)

Adım 1: MCP2515'i Raspberry Pi'ye bağlama

MCP2515, SPI protokolünü kullanarak Raspberry Pi ile iletişim kurar.

Bağlantılar (SPI modu)

MCP2515 PIN Raspberry Pi Pimi
VCC 3.3V (pim 1)
Gnd Zemin (pim 6)
CS GPIO8 (pim 24, SPI0_CE0)
BU YÜZDEN GPIO9 (Pin 21, SPI0_MISO)
GPIO10 (Pin 19, SPI0_MOSI)
Sck GPIO11 (Pin 23, SPI0_SCLK)
İnt GPIO25 (pim 22)

2. Adım: Raspberry Pi'deki SPI arayüzünü etkinleştirin

  1. Raspberry Pi yapılandırma aracını açın:
    sudo raspi-config
    
  2. Gezmek Arayüz Seçenekleri> SPI ve etkinleştir.
  3. Raspberry Pi'yi yeniden başlatın:
    sudo reboot
    

3. Adım: Gerekli kütüphaneleri ve araçları yükleyin

  1. Raspberry Pi'nizi güncelleyin:
    sudo apt update && sudo apt upgrade -y
    
  2. Kurun can-utils CAN İLETİŞİM İÇİN PAKET:
    sudo apt install -y can-utils
    

4. Adım: CAN arayüzünü yapılandırın

  1. /boot/config.txt file:

    sudo nano /boot/config.txt
    
  2. MCP2515 kaplamasını etkinleştirmek için aşağıdaki satırları ekleyin:

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

    Kaydet ve Çık.

  3. Raspberry Pi'yi yeniden başlatın:

    sudo reboot
    
  4. CAN arayüzünü getirin:

    sudo ip link set can0 up type can bitrate 500000
    
  5. CAN arayüzünü doğrulayın:

    ifconfig can0
    

Adım 5: MCP2515'i test etmek

  1. Bir kutu mesajı gönderin: Kullanın cansend Test mesajı gönderme komutu:

    cansend can0 123#DEADBEEF
    
  2. Bir kutu mesajı alın: Kullanın candump Gelen mesajları izleme komutu:

    candump can0
    

Adım 6: MCP2515 ile iletişim kurmak için Python'u kullanma

Kurun python-can Python aracılığıyla CAN mesajları göndermek ve almak için kütüphane.

Kurulum

pip install python-can

Örnek Python betiği

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)

Sorun giderme

  1. Arayüz bulunamadı:

    • SPI arayüzünün etkin olduğunu doğrulayın.
    • Raspberry Pi ve MCP2515 arasındaki kabloları kontrol edin.
    • Sağlamak /boot/config.txt Dosya doğru yapılandırılmıştır.
  2. Yok Mesajlar:

    • CAN veri yolunun 120 ohm dirençlerle uygun şekilde sonlandırıldığını doğrulayın.
    • CAN veriyolunda tüm cihazlarda bit hızı eşleşmelerini sağlayın.
  3. Python hataları:

    • Sağlamak python-can Kütüphane yüklü.
    • Python komut dosyasını yazım hataları veya yapılandırma hataları için kontrol edin.

MCP2515 uygulamaları

  1. Otomotiv teşhisi ve izleme
  2. Endüstriyel Otomasyon Sistemleri
  3. Robotik iletişim ağları
  4. Güvenilir iletişim protokolleri gerektiren IoT projeleri

Çözüm

MCP2515 CAN Denetleyici Modülü, Raspberry Pi'nize güçlü iletişim özellikleri ekler ve otomotiv, endüstriyel ve IoT uygulamaları için idealdir. Bu kılavuzu izleyerek MCP2515'i kurabilir ve test edebilir ve CAN protokolünü kullanan güçlü projeler oluşturmaya başlayabilirsiniz.

Yorum bırak

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.