MCP2515 on suosittu tölkki (ohjaimen alueen verkko) -ohjainmoduuli, jonka avulla Raspberry Pi -laitteet voivat kommunikoida CAN-yhteensopivien järjestelmien kanssa. Tämä tekee siitä ihanteellisen autoprojekteihin, teollisuusautomaatioon ja Internet -sovelluksiin. Tämä opas selittää, kuinka MCP2515: n asettaminen ja käyttäminen Raspberry PI: llä.
Mitä tarvitset
- Raspberry Pi (Mikä tahansa malli, jolla on GPIO -tuki, esim. Pi 3, pi 4)
- MCP2515 CAN -moduuli
- Leipälevy- ja hyppyjohdot
- Tietokone, jolla on SSH -pääsy Raspberry PI: hen tai kytketty näppäimistö ja näyttö
- Python asennettu Raspberry Pi
- Voi lähetin -vastaanotinmoduulin (jos sitä ei sisällytetä MCP2515: ään)
Vaihe 1: MCP2515: n johdotus Raspberry Pi: hen
MCP2515 kommunikoi Raspberry PI: n kanssa SPI -protokollalla.
Yhteydet (SPI -tila)
MCP2515 -nasta | Raspberry Pi -tappi |
---|---|
VCC | 3,3 V (nasta 1) |
Hölynpöly | Maa (nasta 6) |
CS | GPIO8 (PIN 24, SPI0_CE0) |
NIIN | GPIO9 (PIN 21, SPI0_MISO) |
SI | GPIO10 (PIN 19, SPI0_MOSI) |
Sck | GPIO11 (PIN 23, SPI0_SCLK) |
Int | GPIO25 (nasta 22) |
Vaihe 2: Ota SPI -rajapinta käyttöön Raspberry PI: ssä
- Avaa Raspberry Pi -määritystyökalu:
sudo raspi-config
- Siirtyä jhk Käyttöliittymävaihtoehdot> SPI ja ota se käyttöön.
- Käynnistä Raspberry Pi uudelleen:
sudo reboot
Vaihe 3: Asenna vaadittavat kirjastot ja työkalut
- Päivitä Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Asenna
can-utils
paketti CAN -viestintälle:sudo apt install -y can-utils
Vaihe 4: Määritä CAN -käyttöliittymä
-
Avaa
/boot/config.txt
file:sudo nano /boot/config.txt
-
Lisää seuraavat rivit ottamaan käyttöön MCP2515 -peittokuva:
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 dtoverlay=spi-bcm2835
Tallenna ja poistu.
-
Käynnistä Raspberry Pi uudelleen:
sudo reboot
-
Tuo Can -käyttöliittymä:
sudo ip link set can0 up type can bitrate 500000
-
Varmista CAN -käyttöliittymä:
ifconfig can0
Vaihe 5: MCP2515: n testaaminen
-
Lähetä tölkki: Käyttää
cansend
komento lähettää testiviestin:cansend can0 123#DEADBEEF
-
Vastaanota tölkki: Käyttää
candump
Komento saapuvien viestien seuraamiseksi:candump can0
Vaihe 6: Pythonin käyttäminen kommunikoida MCP2515: n kanssa
Asenna python-can
Lähetettävä ja vastaanottava kirjasto CAN -viestit Pythonin kautta.
Asennus
pip install python-can
Esimerkki Python -skripti
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)
Vianetsintä
-
Voiko käyttöliittymää löydy:
- Varmista, että SPI -käyttöliittymä on käytössä.
- Tarkista johdotus Raspberry Pi: n ja MCP2515: n välillä.
- Varmistaa
/boot/config.txt
Tiedosto on määritetty oikein.
-
Ei voi viestejä:
- Varmista, että tölkkiväylä on päätetty oikein 120 OHM-vastuksella.
- Varmista, että bittinopeus vastaa kaikissa tölkkibussin laitteissa.
-
Python -virheet:
- Varmistaa
python-can
Kirjasto on asennettu. - Tarkista kirjoitusvirheiden tai määritysvirheiden python -komentosarja.
- Varmistaa
MCP2515: n sovellukset
- Autoteollisuuden diagnostiikka ja seuranta
- Teollisuusautomaatiojärjestelmät
- Robotiikkaviestintäverkot
- Internet -projektit, jotka vaativat luotettavia viestintäprotokollia
Johtopäätös
MCP2515 CAN Controller -moduuli lisää vankkaa viestintäominaisuuksia Raspberry Pi: hen, mikä tekee siitä ihanteellisen auto-, teollisuus- ja IoT -sovelluksille. Tämän oppaan seuraamalla voit määrittää ja testata MCP2515: n ja aloittaa tehokkaiden projektien rakentamisen, jotka hyödyntävät CAN -protokollaa.