Kunkune

Utiliser le module MCP2515 CAN Bus avec Arduino

Utiliser le module MCP2515 CAN Bus avec Arduino

By Kunkune | Published: 2026-10-17

Category: Guides pratiques

Apprenez à câbler et programmer le module bus CAN MCP2515 avec Arduino pour la communication véhiculaire ou industrielle. Guide étape par étape avec les pièges courants.

Réponse rapide

Pour utiliser le module bus CAN MCP2515 avec Arduino, connectez ses broches SPI (CS, SCK, MOSI, MISO) et alimentez-le en 5V, puis installez la bibliothèque MCP_CAN et envoyez ou recevez des trames CAN avec des sketches simples. Le transceiver TJA1050 du module gère la signalisation CAN physique, vous n'avez donc qu'à connecter CANH et CANL à votre bus. Ce guide détaille le câblage, l'installation de la bibliothèque et un exemple de base d'envoi/réception.

Câblage du MCP2515 à l'Arduino

Le module MCP2515 utilise la communication SPI, donc vous le connectez aux broches SPI de l'Arduino : CS à la broche 10 (par défaut), SCK à 13, MOSI à 11 et MISO à 12 sur un Uno. Alimentez le module avec 5V et la masse. Pour le côté bus CAN, connectez CANH et CANL à vos lignes de bus ; si vous testez avec deux modules, connectez CANH à CANH et CANL à CANL. Ajoutez une résistance de terminaison de 120 ohms à chaque extrémité du bus pour éviter les réflexions.

Installation de la bibliothèque CAN

La bibliothèque la plus courante est MCP_CAN de coryj Fowler, disponible dans le gestionnaire de bibliothèques Arduino. Recherchez 'MCP_CAN' et installez-la. Après l'installation, incluez la bibliothèque dans votre sketch et initialisez le contrôleur CAN avec la broche CS SPI correcte et le débit en bauds, généralement 500 kbps pour l'OBD-II automobile.

Envoi et réception de trames CAN

Pour envoyer une trame, utilisez sendMsgBuf(id, ext, len, buf). Pour recevoir, vérifiez CAN_MSGAVAIL avec checkReceive() et lisez avec readMsgBuf(). Le MCP2515 gère le protocole CAN de bas niveau, donc votre code ne traite que des ID de message et des octets de données. Rappelez-vous que CAN est diffusé : chaque nœud voit tous les messages, et vous filtrez par ID dans le logiciel.

Configuration étape par étape

  1. Connectez le matériel : Câblez le module MCP2515 à l'Arduino : VCC à 5V, GND à GND, CS à la broche 10, SCK à 13, MOSI à 11, MISO à 12. Connectez CANH et CANL à votre bus. Vérifiez que vous n'avez pas inversé MOSI et MISO—c'est une erreur courante.
  2. Installez la bibliothèque MCP_CAN : Ouvrez le gestionnaire de bibliothèques Arduino, recherchez 'MCP_CAN' et installez la dernière version. Incluez-la dans votre sketch avec #include . Si la bibliothèque n'est pas trouvée, vérifiez l'orthographe et la connexion Internet.
  3. Initialisez le contrôleur CAN : Créez un objet MCP_CAN avec la broche CS (par exemple, MCP_CAN CAN0(10)). Dans setup(), appelez CAN0.begin(CAN_500KBPS) et vérifiez la valeur de retour. L'appel begin() retourne CAN_OK (0) en cas de succès ; sinon, vérifiez le câblage et le débit en bauds.
  4. Envoyez un message CAN : Préparez un tampon de données et appelez CAN0.sendMsgBuf(0x123, 0, 8, data); où 0x123 est l'ID du message et 8 est la longueur des données. Assurez-vous que l'ID n'entre pas en conflit avec d'autres nœuds sur le bus.
  5. Recevez des messages CAN : Dans loop(), vérifiez si un message est disponible avec CAN0.checkReceive() == CAN_MSGAVAIL, puis lisez-le avec CAN0.readMsgBuf(&len, buf). Si vous ne voyez pas de messages, vérifiez que le bus a une terminaison correcte et que tous les nœuds partagent le même débit en bauds.

Informations produit

  • Module bus CAN MCP2515 avec récepteur TJA1050 Module SPI: Idéal pour la surveillance et le contrôle OBDII / BUS CAN de voiture Ce module est prêt pour le diagnostic automobile, vous pouvez donc vous connecter au port OBD-II d'un véhicule ou construire des nœuds CAN personnalisés pour la surveillance et le contrôle.

Shop Related Products

Module bus CAN MCP2515 récepteur TJA1050 SPI

Module bus CAN MCP2515 récepteur TJA1050 SPI

$2.70 $3.85

Shop Now