MCP2515 är en populär CAN (Controller Area Network) Controller-modul som gör det möjligt för Raspberry PI-enheter att kommunicera med CAN-aktiverade system. Detta gör det idealiskt för bilprojekt, industriell automatisering och IoT -applikationer. Den här guiden förklarar hur man ställer in och använder MCP2515 med en Raspberry Pi.
Vad du behöver
- Hallon (Varje modell med GPIO -stöd, t.ex. PI 3, PI 4)
- MCP2515 kan modulera
- Breadboard och jumpertrådar
- En dator med SSH -åtkomst till Raspberry Pi eller ett anslutet tangentbord och monitor
- Python installerad på Raspberry Pi
- Kan sändtagarmodul (om inte ingår i MCP2515)
Steg 1: Kopplar MCP2515 till Raspberry Pi
MCP2515 kommunicerar med Raspberry PI med SPI -protokollet.
Anslutningar (SPI -läge)
MCP2515 -stift | Hallon pi |
---|---|
Vcc | 3.3V (stift 1) |
Gard | Mark (stift 6) |
Cs | GPIO8 (stift 24, spi0_ce0) |
SÅ | GPIO9 (stift 21, spi0_miso) |
SI | GPIO10 (stift 19, spi0_mosi) |
Säck | GPIO11 (stift 23, SPI0_SCLK) |
Int | GPIO25 (stift 22) |
Steg 2: Aktivera SPI -gränssnittet på Raspberry Pi
- Öppna Raspberry PI -konfigurationsverktyget:
sudo raspi-config
- Navigera till Gränssnittsalternativ> SPI och aktivera det.
- Starta om Raspberry Pi:
sudo reboot
Steg 3: Installera obligatoriska bibliotek och verktyg
- Uppdatera din Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installera
can-utils
paket för kan kommunikation:sudo apt install -y can-utils
Steg 4: Konfigurera CAN -gränssnittet
-
Öppna
/boot/config.txt
file:sudo nano /boot/config.txt
-
Lägg till följande rader för att aktivera MCP2515 Overlay:
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 dtoverlay=spi-bcm2835
Spara och avsluta.
-
Starta om Raspberry Pi:
sudo reboot
-
Ta upp burkgränssnittet:
sudo ip link set can0 up type can bitrate 500000
-
Verifiera kan gränssnittet:
ifconfig can0
Steg 5: Testa MCP2515
-
Skicka ett burkmeddelande: Använda
cansend
Kommando för att skicka ett testmeddelande:cansend can0 123#DEADBEEF
-
Få ett burkmeddelande: Använda
candump
Kommando för att övervaka inkommande meddelanden:candump can0
Steg 6: Använd Python för att kommunicera med MCP2515
Installera python-can
Bibliotek för att skicka och ta emot CAN -meddelanden via Python.
Installation
pip install python-can
Exempel Python -skript
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)
Felsökning
-
Kan gränssnitt inte hittas:
- Verifiera att SPI -gränssnittet är aktiverat.
- Kontrollera ledningarna mellan Raspberry PI och MCP2515.
- Se till
/boot/config.txt
Filen är korrekt konfigurerad.
-
NEJ CAN -meddelanden:
- Verifiera att bussen är ordentligt avslutad med 120 ohm-motstånd.
- Se till att bitrate matchar över alla enheter på buss.
-
Python -fel:
- Se till
python-can
Biblioteket är installerat. - Kontrollera Python -skriptet för skrivfel eller konfigurationsfel.
- Se till
Applikationer av MCP2515
- Bildiagnostik och övervakning
- Industriella automatiseringssystem
- Robotikkommunikationsnätverk
- IoT -projekt som kräver tillförlitliga kommunikationsprotokoll
Slutsats
MCP2515 Can Controller -modulen lägger till robusta kommunikationsfunktioner till din Raspberry PI, vilket gör den idealisk för applikationer för bil-, industriella och IoT. Genom att följa den här guiden kan du ställa in och testa MCP2515 och börja bygga kraftfulla projekt som utnyttjar CAN -protokollet.