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-utilspaketti CAN -viestintälle:sudo apt install -y can-utils
Vaihe 4: Määritä CAN -käyttöliittymä
- 
Avaa /boot/config.txtfile:sudo nano /boot/config.txt
- 
Lisää seuraavat rivit ottamaan käyttöön MCP2515 -peittokuva: dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 dtoverlay=spi-bcm2835Tallenna 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ää cansendkomento lähettää testiviestin:cansend can0 123#DEADBEEF
- 
Vastaanota tölkki: Käyttää candumpKomento 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.txtTiedosto 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-canKirjasto 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.
 
            
 
      
 
      
 
      
 
      
 
      
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  