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
- Raspberry Pi (Model apa pun dengan dukungan GPIO, mis., Pi 3, pi 4)
- MODUL CAN MCP2515
- Papan tempat memotong papan dan kabel jumper
- Komputer dengan akses SSH ke Raspberry Pi atau keyboard yang terhubung dan monitor
- Python dipasang di Raspberry Pi
- 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
- Buka alat konfigurasi Raspberry Pi:
sudo raspi-config
- Navigasikan ke Opsi Antarmuka> SPI dan mengaktifkannya.
- Reboot Raspberry Pi:
sudo reboot
Langkah 3: Instal perpustakaan dan alat yang diperlukan
- Perbarui Raspberry Pi Anda:
sudo apt update && sudo apt upgrade -y
- Instal
can-utils
Paket untuk Komunikasi Can:sudo apt install -y can-utils
Langkah 4: Mengkonfigurasi Antarmuka CAN
-
Buka
/boot/config.txt
file:sudo nano /boot/config.txt
-
Tambahkan baris berikut untuk mengaktifkan overlay MCP2515:
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 dtoverlay=spi-bcm2835
Simpan dan keluar.
-
Reboot Raspberry Pi:
sudo reboot
-
Bawa antarmuka kaleng:
sudo ip link set can0 up type can bitrate 500000
-
Verifikasi antarmuka kaleng:
ifconfig can0
Langkah 5: Menguji MCP2515
-
Kirim pesan kaleng: Gunakan
cansend
Perintah untuk mengirim pesan tes:cansend can0 123#DEADBEEF
-
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
-
Dapat antarmuka tidak ditemukan:
- Verifikasi antarmuka SPI diaktifkan.
- Periksa kabel antara Raspberry Pi dan MCP2515.
- Pastikan
/boot/config.txt
File dikonfigurasi dengan benar.
-
Tidak ada pesan yang bisa:
- Verifikasi bus CAN dihentikan dengan benar dengan resistor 120-OHM.
- Pastikan kecocokan bitrate di semua perangkat di bus CAN.
-
Kesalahan Python:
- Pastikan
python-can
Perpustakaan diinstal. - Periksa skrip Python untuk kesalahan ketik atau konfigurasi.
- Pastikan
Aplikasi MCP2515
- Diagnostik dan pemantauan otomotif
- Sistem Otomasi Industri
- Jaringan Komunikasi Robotika
- 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.