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
- Ahududu pi (GPIO destekli herhangi bir model, örneğin Pi 3, Pi 4)
- MCP2515 MODULE
- Breadboard ve jumper telleri
- Raspberry Pi'ye veya bağlı bir klavyeye ve monitöre SSH erişimi olan bir bilgisayar
- Raspberry Pi'ye Python kuruldu
- 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) |
Sİ | 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
- Raspberry Pi yapılandırma aracını açın:
sudo raspi-config
- Gezmek Arayüz Seçenekleri> SPI ve etkinleştir.
- Raspberry Pi'yi yeniden başlatın:
sudo reboot
3. Adım: Gerekli kütüphaneleri ve araçları yükleyin
- Raspberry Pi'nizi güncelleyin:
sudo apt update && sudo apt upgrade -y
- 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
-
Aç
/boot/config.txt
file:sudo nano /boot/config.txt
-
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.
-
Raspberry Pi'yi yeniden başlatın:
sudo reboot
-
CAN arayüzünü getirin:
sudo ip link set can0 up type can bitrate 500000
-
CAN arayüzünü doğrulayın:
ifconfig can0
Adım 5: MCP2515'i test etmek
-
Bir kutu mesajı gönderin: Kullanın
cansend
Test mesajı gönderme komutu:cansend can0 123#DEADBEEF
-
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
-
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.
-
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.
-
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.
- Sağlamak
MCP2515 uygulamaları
- Otomotiv teşhisi ve izleme
- Endüstriyel Otomasyon Sistemleri
- Robotik iletişim ağları
- 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.