Joy‑IT CANBUS Modul
Le Joy‑IT CANBUS Modul est un composant électronique dédié à la communication en bus CAN (Controller Area Network). Conçu pour les développeurs et les ingénieurs embarqués, il offre une interface fiable et flexible permettant de connecter facilement des microcontrôleurs ou des single-board computers (SBC) à un réseau CAN. Ce module se distingue par sa compatibilité étendue avec des plateformes populaires telles que Arduino, Raspberry Pi, Banana Pi et Cubieboard.
Caractéristiques techniques principales
- Chip embarqué : MCP2515 (CAN controller) avec interface SPI.
- Transceiver : MCP2562 ou MCP2561 selon la variante, assurant une communication robuste sur le bus CAN à 500 kbit/s.
- Interface d’entrée/sortie : SPI (Serial Peripheral Interface) pour la connexion avec le microcontrôleur principal.
- Tension d’alimentation : 3,3 V ou 5 V, adaptée aux exigences des SBC et des cartes de développement.
- Dimensions compactes : 30 mm × 20 mm (approx.), ce qui le rend idéal pour les projets à espace limité.
- Résistance de tirage interne : 10 kΩ sur les lignes CANH et CANL, garantissant la conformité aux normes ISO 11898-2.
Fonctionnalités avancées
Le module intègre plusieurs fonctionnalités qui simplifient le développement :
- Filtrage d’identifiants CAN : Le MCP2515 permet de configurer des filtres et des masques pour accepter ou rejeter des trames spécifiques, réduisant ainsi la charge CPU.
- Gestion automatique du bus : Le transceiver assure une isolation galvanique entre le microcontrôleur et le réseau CAN, protégeant les circuits contre les surtensions.
- Mode de veille (sleep) : Réduction de la consommation d’énergie lorsqu’il n’y a pas de trafic sur le bus.
- Support du protocole ISO-TP (Transport Protocol) : Permet l’échange de données plus grandes que la taille maximale d’une trame CAN standard.
Compatibilité et intégration
Le Joy‑IT CANBUS Modul est conçu pour être facilement intégré dans divers environnements de développement :
- Arduino Uno / Mega / Nano : Utilisation directe via la bibliothèque
CAN.h ou MCP_CAN_lib.
- Raspberry Pi (Model B, B+, 2 B, 3 B, 4) : Connexion SPI sur les broches GPIO; supportée par la bibliothèque
python-can ou socketcan.
- Banana Pi / Cubieboard : Compatibilité assurée grâce aux bus SPI et aux pins UART disponibles.
- Plateformes embarquées personnalisées : Le module peut être monté sur une carte mère ou un PCB personnalisé, tant que l’interface SPI est disponible.
Applications typiques
Ce module trouve son utilité dans de nombreux domaines :
- Systèmes automobiles embarqués : Contrôle des capteurs, gestion du moteur ou communication entre unités de contrôle.
- Automatisation industrielle : Liaison entre PLC et équipements périphériques via CAN.
- Robotics : Coordination de moteurs, encodeurs et capteurs sur un réseau CAN partagé.
- Plateforme idéale pour tester des protocoles CAN avant la production finale.
Installation et configuration
L’installation du Joy‑IT CANBUS Modul se déroule en trois étapes simples :
- Câblage SPI : Connecter les broches MOSI, MISO, SCK et CS aux pins correspondantes de l’ordinateur embarqué. Le module possède également un pin
INT pour la gestion des interruptions.
- Alimentation : Brancher le VCC à 3,3 V ou 5 V selon les spécifications du microcontrôleur. Relier GND au même point de masse.
- Configuration logicielle : Initialiser la bibliothèque CAN avec la vitesse souhaitée (par défaut 500 kbit/s). Vérifier le mode d’opération via des commandes d’état ou en affichant les trames reçues.
Exemple de code Arduino
#include <mcp_can.h>
#include <SPI.h>
const int SPI_CS_PIN = 10;
MCP_CAN CAN(SPI_CS_PIN); // Set CS pin
void setup() {
Serial.begin(115200);
while (CAN_OK != CAN.begin(CAN_500KBPS)) { // init can bus : baudrate = 500k
Serial.println("CAN BUS Shield init fail");
delay(100);
}
Serial.println("CAN BUS Shield init ok!");
}
void loop() {
if (CAN_MSGAVAIL == CAN.checkReceive()) { // check if data coming
CAN.readMsgBuf(&len, buf); // read data: len = data length, buf[] = data byte(s)
Serial.print("Received: ");
for (int i=0; i
Maintenance et dépannage
Pour assurer un fonctionnement optimal :
- Vérifier les connexions SPI : Un mauvais contact peut entraîner des erreurs de communication.
- Surveiller la température : Le module fonctionne dans une plage de -40 °C à +85 °C; dépasser ces limites peut endommager le transceiver.
- Utiliser un filtre EMI : Dans des environnements électromagnétiques intenses, ajouter un condensateur de découplage (0,1 µF) entre VCC et GND à proximité du module.
Conclusion
Le Joy‑IT CANBUS Modul est une solution compacte, fiable et hautement compatible pour la mise en œuvre de réseaux CAN dans des projets embarqués. Sa combinaison d’un contrôleur MCP2515 robuste, d’un transceiver performant et d’une interface SPI simple le rend indispensable pour les développeurs cherchant à intégrer rapidement la communication CAN dans leurs prototypes ou produits finaux.