Menggunakan MCP2515 dengan Raspberry Pi

Using the MCP2515 with the Raspberry Pi

MCP2515 adalah modul pengontrol CAN (Controller Area Network) yang populer yang memungkinkan perangkat Raspberry PI berkomunikasi dengan sistem yang berkemampuan CAN. Ini membuatnya ideal untuk proyek otomotif, otomatisasi industri, dan aplikasi IoT. Panduan ini menjelaskan cara mengatur dan menggunakan MCP2515 dengan pi raspberry.


Apa yang Anda Butuhkan

  1. Raspberry Pi (Model apa pun dengan dukungan GPIO, mis., Pi 3, pi 4)
  2. MODUL CAN MCP2515
  3. Papan tempat memotong papan dan kabel jumper
  4. Komputer dengan akses SSH ke Raspberry Pi atau keyboard yang terhubung dan monitor
  5. Python dipasang di Raspberry Pi
  6. Can Transceiver Module (jika tidak termasuk dengan MCP2515)

Langkah 1: Pengkabelan MCP2515 ke Raspberry Pi

MCP2515 berkomunikasi dengan Raspberry Pi menggunakan protokol SPI.

Koneksi (mode SPI)

Pin MCP2515 Raspberry Pi Pin
Vcc 3.3V (pin 1)
Gnd Ground (pin 6)
CS GPIO8 (PIN 24, SPI0_CE0)
JADI GPIO9 (PIN 21, SPI0_MISO)
Si Gpio10 (pin 19, spi0_mosi)
Sck Gpio11 (pin 23, spi0_sclk)
Int Gpio25 (pin 22)

Langkah 2: Aktifkan Antarmuka SPI di Raspberry Pi

  1. Buka alat konfigurasi Raspberry Pi:
    sudo raspi-config
    
  2. Navigasikan ke Opsi Antarmuka> SPI dan mengaktifkannya.
  3. Reboot Raspberry Pi:
    sudo reboot
    

Langkah 3: Instal perpustakaan dan alat yang diperlukan

  1. Perbarui Raspberry Pi Anda:
    sudo apt update && sudo apt upgrade -y
    
  2. Instal can-utils Paket untuk Komunikasi Can:
    sudo apt install -y can-utils
    

Langkah 4: Mengkonfigurasi Antarmuka CAN

  1. Buka /boot/config.txt file:

    sudo nano /boot/config.txt
    
  2. Tambahkan baris berikut untuk mengaktifkan overlay MCP2515:

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

    Simpan dan keluar.

  3. Reboot Raspberry Pi:

    sudo reboot
    
  4. Bawa antarmuka kaleng:

    sudo ip link set can0 up type can bitrate 500000
    
  5. Verifikasi antarmuka kaleng:

    ifconfig can0
    

Langkah 5: Menguji MCP2515

  1. Kirim pesan kaleng: Gunakan cansend Perintah untuk mengirim pesan tes:

    cansend can0 123#DEADBEEF
    
  2. Menerima pesan kaleng: Gunakan candump Perintah untuk memantau pesan yang masuk:

    candump can0
    

Langkah 6: Menggunakan Python untuk berkomunikasi dengan MCP2515

Instal python-can Perpustakaan untuk mengirim dan menerima pesan CAN melalui Python.

Instalasi

pip install python-can

Contoh skrip 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)

Pemecahan masalah

  1. Dapat antarmuka tidak ditemukan:

    • Verifikasi antarmuka SPI diaktifkan.
    • Periksa kabel antara Raspberry Pi dan MCP2515.
    • Pastikan /boot/config.txt File dikonfigurasi dengan benar.
  2. Tidak ada pesan yang bisa:

    • Verifikasi bus CAN dihentikan dengan benar dengan resistor 120-OHM.
    • Pastikan kecocokan bitrate di semua perangkat di bus CAN.
  3. Kesalahan Python:

    • Pastikan python-can Perpustakaan diinstal.
    • Periksa skrip Python untuk kesalahan ketik atau konfigurasi.

Aplikasi MCP2515

  1. Diagnostik dan pemantauan otomotif
  2. Sistem Otomasi Industri
  3. Jaringan Komunikasi Robotika
  4. Proyek IoT yang membutuhkan protokol komunikasi yang andal

Kesimpulan

Modul pengontrol CAN MCP2515 menambah kemampuan komunikasi yang kuat ke Raspberry Pi Anda, menjadikannya ideal untuk aplikasi otomotif, industri, dan IoT. Dengan mengikuti panduan ini, Anda dapat mengatur dan menguji MCP2515 dan mulai membangun proyek kuat yang memanfaatkan protokol CAN.

Tinggalkan komentar

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.