Kunkune

MCP2515 CAN Bus-module gebruiken met Arduino

MCP2515 CAN Bus-module gebruiken met Arduino

By Kunkune | Published: 2026-10-17

Category: Handleidingen

Leer hoe u de MCP2515 CAN-busmodule met Arduino bedraadt en programmeert voor voertuig- of industriële communicatie. Stapsgewijze handleiding met veelgemaakte fouten.

Snel antwoord

Om de MCP2515 CAN-busmodule met Arduino te gebruiken, sluit je de SPI-pinnen (CS, SCK, MOSI, MISO) aan en voed je deze met 5V. Installeer vervolgens de MCP_CAN-bibliotheek en verstuur of ontvang CAN-frames met eenvoudige sketches. De TJA1050-transceiver op de module verzorgt de fysieke CAN-signalering, dus je hoeft alleen CANH en CANL op je bus aan te sluiten. Deze handleiding behandelt de bedrading, bibliotheekinstallatie en een eenvoudig voorbeeld voor verzenden/ontvangen.

De MCP2515 op Arduino aansluiten

De MCP2515-module gebruikt SPI-communicatie, dus sluit je deze aan op de SPI-pinnen van de Arduino: CS op pin 10 (standaard), SCK op 13, MOSI op 11 en MISO op 12 op een Uno. Voed de module met 5V en aarde. Sluit voor de CAN-buszijde CANH en CANL aan op je buslijnen; als je met twee modules test, sluit dan CANH op CANH en CANL op CANL aan. Voeg een 120-ohm-afsluitweerstand toe aan elk uiteinde van de bus om reflecties te voorkomen.

De CAN-bibliotheek installeren

De meest gebruikte bibliotheek is MCP_CAN van coryj Fowler, beschikbaar in de Arduino Bibliotheekbeheerder. Zoek naar 'MCP_CAN' en installeer deze. Voeg na installatie de bibliotheek toe aan je sketch en initialiseer de CAN-controller met de juiste SPI CS-pin en baudrate, doorgaans 500kbps voor automotive OBD-II.

CAN-frames verzenden en ontvangen

Gebruik sendMsgBuf(id, ext, len, buf) om een frame te verzenden. Controleer voor ontvangst op CAN_MSGAVAIL met checkReceive() en lees met readMsgBuf(). De MCP2515 verzorgt het laag-niveau CAN-protocol, dus je code heeft alleen te maken met bericht-ID's en databytes. Onthoud dat CAN broadcast is: elk knooppunt ziet alle berichten en je filtert op ID in software.

Stapsgewijze installatie

  1. Sluit de hardware aan: Sluit de MCP2515-module aan op Arduino: VCC op 5V, GND op GND, CS op pin 10, SCK op 13, MOSI op 11, MISO op 12. Sluit CANH en CANL aan op je bus. Controleer of je MOSI en MISO niet hebt omgewisseld—dit is een veelgemaakte fout.
  2. Installeer de MCP_CAN-bibliotheek: Open de Arduino Bibliotheekbeheerder, zoek naar 'MCP_CAN' en installeer de nieuwste versie. Voeg deze toe aan je sketch met #include . Als de bibliotheek niet wordt gevonden, controleer dan je spelling en internetverbinding.
  3. Initialiseer de CAN-controller: Maak een MCP_CAN-object met de CS-pin (bijv. MCP_CAN CAN0(10)). Roep in setup() CAN0.begin(CAN_500KBPS) aan en controleer de retourwaarde. De begin()-aanroep retourneert CAN_OK (0) bij succes; zo niet, controleer dan de bedrading en baudrate.
  4. Verzend een CAN-bericht: Bereid een databuffer voor en roep CAN0.sendMsgBuf(0x123, 0, 8, data); aan, waarbij 0x123 het bericht-ID is en 8 de datalengte. Zorg ervoor dat het ID niet conflicteert met andere knooppunten op de bus.
  5. Ontvang CAN-berichten: Controleer in loop() of een bericht beschikbaar is met CAN0.checkReceive() == CAN_MSGAVAIL en lees het vervolgens met CAN0.readMsgBuf(&len, buf). Als je geen berichten ziet, controleer dan of de bus correct is afgesloten en of alle knooppunten dezelfde baudrate delen.

Productinformatie

  • MCP2515 CAN-busmodule TJA1050-ontvanger SPI-module: Ideaal voor auto OBDII/CAN-bus monitoring en besturing. Deze module is klaar voor autodiagnose, zodat je kunt inpluggen op de OBD-II-poort van een voertuig of aangepaste CAN-knooppunten kunt bouwen voor monitoring en besturing.

Shop Related Products

MCP2515 CAN‑busmodule TJA1050‑ontvanger SPI‑module

MCP2515 CAN‑busmodule TJA1050‑ontvanger SPI‑module

$2.70 $3.85

Shop Now