Utilisation du MCP2515 avec le Raspberry Pi

Using the MCP2515 with the Raspberry Pi

Le MCP2515 est un module de contrôleur CAN (Controller Area Network) qui permet aux périphériques Raspberry Pi de communiquer avec les systèmes compatibles avec les canettes. Cela le rend idéal pour les projets automobiles, l'automatisation industrielle et les applications IoT. Ce guide explique comment configurer et utiliser le MCP2515 avec un Raspberry Pi.


Ce dont vous aurez besoin

  1. Raspberry Pi (Tout modèle avec le support GPIO, par ex., PI 3, PI 4)
  2. Module MCP2515
  3. Fils de planche à pain et de cavalier
  4. Un ordinateur avec un accès SSH au Raspberry Pi ou un clavier et un moniteur connectés
  5. Python installé sur le Raspberry Pi
  6. Peut transmettre un module (s'il n'est pas inclus avec le MCP2515)

Étape 1: Câblage du MCP2515 au Raspberry Pi

Le MCP2515 communique avec le Raspberry Pi en utilisant le protocole SPI.

Connexions (mode SPI)

Broche MCP2515 Pin de framboise PI
VCC 3.3V (broche 1)
GND Terre (broche 6)
CS GPIO8 (broche 24, SPI0_CE0)
DONC GPIO9 (broche 21, SPI0_MISO)
SI GPIO10 (broche 19, SPI0_MOSI)
SCK GPIO11 (broche 23, SPI0_SCLK)
Int GPIO25 (broche 22)

Étape 2: Activez l'interface SPI sur le Raspberry Pi

  1. Ouvrez l'outil de configuration Raspberry Pi:
    sudo raspi-config
    
  2. Se diriger vers Options d'interface> SPI et l'activer.
  3. Redémarrez le Raspberry Pi:
    sudo reboot
    

Étape 3: Installez les bibliothèques et les outils requis

  1. Mettez à jour votre Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installer le can-utils Package pour la communication Can:
    sudo apt install -y can-utils
    

Étape 4: Configurez l'interface CAN

  1. Ouvrir le /boot/config.txt file:

    sudo nano /boot/config.txt
    
  2. Ajoutez les lignes suivantes pour activer la superposition MCP2515:

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

    Enregistrer et sortir.

  3. Redémarrez le Raspberry Pi:

    sudo reboot
    
  4. Afficher l'interface Can:

    sudo ip link set can0 up type can bitrate 500000
    
  5. Vérifiez l'interface CAN:

    ifconfig can0
    

Étape 5: Tester le MCP2515

  1. Envoyer un message CAN: Utiliser le cansend commande pour envoyer un message de test:

    cansend can0 123#DEADBEEF
    
  2. Recevoir un message CAN: Utiliser le candump commande pour surveiller les messages entrants:

    candump can0
    

Étape 6: Utilisation de Python pour communiquer avec le MCP2515

Installer le python-can Bibliothèque à envoyer et à recevoir des messages Can via Python.

Installation

pip install python-can

Exemple de script 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)

Dépannage

  1. L'interface peut être trouvée:

    • Vérifiez que l'interface SPI est activée.
    • Vérifiez le câblage entre le Raspberry Pi et le MCP2515.
    • Assurer le /boot/config.txt Le fichier est correctement configuré.
  2. Non Messages Can:

    • Vérifiez que le bus CAN est correctement terminé avec des résistances de 120 ohms.
    • Assurez-vous que le débit binaire correspond à tous les appareils du bus CAN.
  3. Erreurs Python:

    • Assurer le python-can La bibliothèque est installée.
    • Vérifiez le script Python pour les fautes de frappe ou les erreurs de configuration.

Applications du MCP2515

  1. Diagnostic et surveillance automobiles
  2. Systèmes d'automatisation industrielle
  3. Réseaux de communication robotique
  4. Projets IoT nécessitant des protocoles de communication fiables

Conclusion

Le module MCP2515 CAN Controller ajoute des capacités de communication robustes à votre Raspberry Pi, ce qui le rend idéal pour les applications automobiles, industrielles et IoT. En suivant ce guide, vous pouvez configurer et tester le MCP2515 et commencer à créer des projets puissants qui tirent parti du protocole CAN.

Laissez un commentaire

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.