Promo !

Module CAN BUS MCP2515 TJA1050 Recepteur SPI

Le prix initial était : د.م. 60,00.Le prix actuel est : د.م. 50,00.

  • Rôle principal : Il permet à un microcontrôleur d’envoyer et de recevoir des messages sur un Bus CAN en utilisant une interface SPI.
  • Composants clés :
    • MCP2515 : Contrôleur qui gère le protocole CAN (messages, filtres).
    • TJA1050 : Émetteur-récepteur qui adapte les signaux électriques pour le bus physique.

  • Alimentation requise : 5V obligatoire (nécessaire pour le TJA1050).
  • Point de vigilance : Vérifiez la fréquence du quartz sur votre module (généralement 8 MHz ou 16 MHz) pour configurer correctement votre code, sinon la communication échouera.
  • Résistance de terminaison : Le module possède un jumper (cavalier) permettant d’activer une résistance de 120 Ω, obligatoire si le module est placé à une extrémité physique du bus.

Description:

Le Module CAN BUS MCP2515 TJA1050 (Recepteur SPI) est une solution économique et très populaire pour ajouter une interface de communication BUS CAN à un microcontrôleur (comme un Arduino, ESP32, ou Raspberry Pi) via le protocole SPI.


🛠️ Architecture du Module:

Le module sépare la gestion des données de la gestion physique du signal :
  • MCP2515 (Contrôleur CAN) : Il gère le protocole CAN (mise en paquets, vérification des erreurs, filtres d’identifiants). Il communique avec votre microcontrôleur principal via le bus SPI.
  • TJA1050 (Émetteur-Récepteur / Transceiver) : Il convertit les signaux logiques (TTL) du MCP2515 en signaux différentiels électriques pour les lignes physiques du bus (CAN High et CAN Low).

🔧 Caractéristiques techniques:

  • Protocole CAN : version 2.0B à 1 Mb/s
  • Contrôleur : MCP2515 via interface SPI (CS, SCLK, SI, SO) et interruption INT
  • Transceiver : TJA1050 (niveau CAN H/CAN L)
  • Alimentation : 5 V DC (typ. 5 mA en fonctionnement, 1 µA en veille)
  • Résistance de terminaison : 120 Ω (pont soudable pour activation)
  • Indicateurs LED : TX (émission) et RX (réception)
  • Température de fonctionnement : –40 °C à +85 °C
  • Dimensions : 44 × 28 mm, entraxe des fixations 23 × 38 mm

📌 Brochage (Pinout):

Le module possède généralement deux rangées de connecteurs.
1. Côté Microcontrôleur (Interface SPI & Alimentation)
  • VCC : Alimentation 5V (requis pour le TJA1050 pour assurer les niveaux de tension du bus CAN).
  • GND : Masse.
  • CS (ou SS) : Chip Select (Sélection de l’esclave SPI).
  • SO (MISO) : Serial Output (Sortie des données vers le microcontrôleur).
  • SI (MOSI) : Serial Input (Entrée des données depuis le microcontrôleur).
  • SCK : Serial Clock (Horloge SPI).
  • INT : Interruption (Optionnel, passe à l’état bas lorsqu’un message valide est reçu. Très utile pour ne pas surcharger le processeur).
2. Côté Réseau CAN (Bus)
  • H (CANH) : Ligne CAN High.
  • L (CANL) : Ligne CAN Low.
  • GND : Masse commune du bus (recommandée pour de longues distances).


💻 Exemple de Connexion avec un Arduino Uno:

Module MCP2515 Arduino Uno Description
VCC 5V Alimentation principale
GND GND Masse
CS Broche 10 Standard SS (Modifiable dans le code)
SO (MISO) Broche 12 Broche SPI standard
SI (MOSI) Broche 11 Broche SPI standard
SCK Broche 13 Broche SPI standard
INT Broche 2 Entrée Interruption Externe


🚀 Code d’Exemple (Réception standard avec Arduino):

Pour utiliser ce module facilement, il est recommandé d’installer la bibliothèque « mcp_can » (par Cory J. Fowler) depuis le gestionnaire de bibliothèques Arduino.
Voici un code simple configuré pour recevoir des messages :
cpp
#include <SPI.h>
#include <mcp_can.h>

// Définition de la broche CS (Chip Select)
const int SPI_CS_PIN = 10;
MCP_CAN CAN(SPI_CS_PIN);

void setup() {
    Serial.begin(115200);

    // Initialisation du MCP2515 à 500kbps avec un quartz de 8MHz 
    // (Vérifiez la valeur du quartz sur votre module, souvent 8MHz ou 16MHz)
    if(CAN.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK) {
        Serial.println("MCP2515 Initialisé avec Succès !");
    } else {
        Serial.println("Erreur d'initialisation du MCP2515...");
        while(1);
    }
    
    // Configurer en mode normal pour écouter et interagir avec le bus
    CAN.setMode(MCP_NORMAL);
}

void loop() {
    long unsigned int rxId;
    unsigned char len = 0;
    unsigned char rxBuf[8];

    // Vérifie si des données sont arrivées
    if(CAN_MSGAVAIL == CAN.checkReceive()) {
        CAN.readMsgBuf(&rxId, &len, rxBuf); // Lit les données
        
        Serial.print("Message Reçu ID: 0x");
        Serial.print(rxId, HEX);
        Serial.print(" | DLC: ");
        Serial.print(len);
        Serial.print(" | Données: ");
        
        for(int i = 0; i<len; i++) {
            if(rxBuf[i] < 0x10) Serial.print("0"); // Formatage visuel
            Serial.print(rxBuf[i], HEX);
            Serial.print(" ");
        }
        Serial.println();
    }
}

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “Module CAN BUS MCP2515 TJA1050 Recepteur SPI”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Panier
Open chat
💬 besoin d'aide ?
Bonjour !
Vous avez des questions ?
Nous sommes là pour vous aider