Kunkune

MCP2515 CAN-Bus-Modul mit Arduino verwenden

MCP2515 CAN-Bus-Modul mit Arduino verwenden

By Kunkune | Published: 2026-10-17

Category: Anleitungen

Lernen Sie, wie Sie das MCP2515 CAN-Bus-Modul mit Arduino für die Fahrzeug- oder Industriekommunikation verdrahten und programmieren. Schritt-für-Schritt-Anleitung mit häufigen Fehlern.

Kurze Antwort

Um das MCP2515 CAN-Bus-Modul mit Arduino zu verwenden, verbinden Sie seine SPI-Pins (CS, SCK, MOSI, MISO) und versorgen Sie es mit 5 V, installieren Sie dann die MCP_CAN-Bibliothek und senden oder empfangen Sie CAN-Frames mit einfachen Skizzen. Der TJA1050-Transceiver auf dem Modul übernimmt die physische CAN-Signalisierung, sodass Sie nur CANH und CANL an Ihren Bus anschließen müssen. Diese Anleitung führt durch die Verkabelung, die Bibliothekseinrichtung und ein einfaches Sende-/Empfangsbeispiel.

Verdrahtung des MCP2515 mit Arduino

Das MCP2515-Modul verwendet SPI-Kommunikation, daher verbinden Sie es mit den SPI-Pins des Arduino: CS mit Pin 10 (Standard), SCK mit 13, MOSI mit 11 und MISO mit 12 auf einem Uno. Versorgen Sie das Modul mit 5 V und Masse. Für die CAN-Bus-Seite verbinden Sie CANH und CANL mit Ihren Busleitungen; wenn Sie mit zwei Modulen testen, verbinden Sie CANH mit CANH und CANL mit CANL. Fügen Sie an jedem Ende des Busses einen 120-Ohm-Abschlusswiderstand hinzu, um Reflexionen zu vermeiden.

Installieren der CAN-Bibliothek

Die gebräuchlichste Bibliothek ist MCP_CAN von coryj Fowler, verfügbar im Arduino-Bibliotheksverwalter. Suchen Sie nach 'MCP_CAN' und installieren Sie sie. Nach der Installation binden Sie die Bibliothek in Ihren Sketch ein und initialisieren den CAN-Controller mit dem richtigen SPI-CS-Pin und der Baudrate, typischerweise 500 kbps für Fahrzeug-OBD-II.

Senden und Empfangen von CAN-Frames

Verwenden Sie zum Senden eines Frames sendMsgBuf(id, ext, len, buf). Zum Empfangen prüfen Sie mit checkReceive() auf CAN_MSGAVAIL und lesen Sie mit readMsgBuf(). Der MCP2515 übernimmt das CAN-Protokoll auf niedriger Ebene, sodass Ihr Code nur mit Nachrichten-IDs und Datenbytes arbeitet. Denken Sie daran: CAN ist ein Broadcast: Jeder Knoten sieht alle Nachrichten, und Sie filtern softwaremäßig nach ID.

Schritt-für-Schritt-Einrichtung

  1. Schließen Sie die Hardware an: Verdrahten Sie das MCP__XSP_2f3933cf__-Modul mit Arduino: VCC an 5 V, GND an GND, CS an Pin 10, SCK an 13, MOSI an 11, MISO an 12. Verbinden Sie CANH und CANL mit Ihrem Bus. Überprüfen Sie noch einmal, dass Sie MOSI und MISO nicht vertauscht haben – das ist ein häufiger Fehler.
  2. Installieren Sie die MCP_CAN-Bibliothek: Öffnen Sie den Arduino-Bibliotheksverwalter, suchen Sie nach 'MCP_CAN' und installieren Sie die neueste Version. Binden Sie sie mit #include in Ihren Sketch ein. Wenn die Bibliothek nicht gefunden wird, überprüfen Sie die Schreibweise und Ihre Internetverbindung.
  3. Initialisieren Sie den CAN-Controller: Erstellen Sie ein MCP_CAN-Objekt mit dem CS-Pin (z. B. MCP_CAN CAN0(10)). Rufen Sie in setup() CAN0.begin(CAN_500KBPS) auf und überprüfen Sie den Rückgabewert. Der begin()-Aufruf gibt bei Erfolg CAN_OK (0) zurück; wenn nicht, überprüfen Sie die Verkabelung und die Baudrate.
  4. Senden Sie eine CAN-Nachricht: Bereiten Sie einen Datenpuffer vor und rufen Sie CAN0.sendMsgBuf(0x123, 0, 8, data); auf, wobei 0x123 die Nachrichten-ID und 8 die Datenlänge ist. Stellen Sie sicher, dass die ID nicht mit anderen Knoten am Bus kollidiert.
  5. Empfangen Sie CAN-Nachrichten: Prüfen Sie in loop(), ob eine Nachricht verfügbar ist, mit CAN0.checkReceive() == CAN_MSGAVAIL, und lesen Sie sie dann mit CAN0.readMsgBuf(&len, buf). Wenn Sie keine Nachrichten sehen, überprüfen Sie, ob der Bus ordnungsgemäß abgeschlossen ist und alle Knoten dieselbe Baudrate verwenden.

Produktdetails

  • MCP2515 CAN-Bus-Modul TJA1050 Empfänger SPI-Modul: Ideal für Fahrzeug-OBDII / CAN-Bus-Überwachung und -Steuerung Dieses Modul ist bereit für Fahrzeugdiagnose, sodass Sie an den OBD-II-Anschluss eines Fahrzeugs anschließen oder benutzerdefinierte CAN-Knoten für Überwachung und Steuerung aufbauen können.

Shop Related Products

MCP2515 CAN‑Bus‑Modul TJA1050 Empfänger SPI‑Modul

MCP2515 CAN‑Bus‑Modul TJA1050 Empfänger SPI‑Modul

$2.70 $3.85

Shop Now