Difference between revisions of "Creating CAN-BUS Shield V2.0 Tutorial"

From Embedded Lab Vienna for IoT & Security
Jump to navigation Jump to search
Line 26: Line 26:
=== Description ===
=== Description ===


In order to create a functioning CAN message reader we need to set up a lab, which consits of two CAN-BUS Shield V2.0 and two Arduino UNOs. The Arduinos will be used to simulate two ECUs, where one of them sends the data and the other is receives it. After this works as planned we will take a step further and integrate the CANtext Bundle. This will enable is to take the reading Arduino-ECU and plug it into the cars OBD 2.0 port in order to see what is going on the car CAN-BUS.
In order to create a functioning CAN message reader we need to set up a lab, which consits of two CAN-BUS Shield V2.0 and two Arduino UNOs. The Arduinos will be used to simulate two ECUs, where one of them sends the data and the other is receives it. After this works as planned we will take a step further and integrate the CANtact Bundle. This will enable is to take the reading Arduino-ECU and plug it into the cars OBD 2.0 port in order to see what is going on the car CAN-BUS.
[[File:CAN-BUS_Shield_V2.0.jpg|thumb|CAN-BUS Shield V2.0]]
[[File:CAN-BUS_Shield_V2.0.jpg|thumb|CAN-BUS Shield V2.0]]
[[File:Arduino_Uno.jpg|thumb|Arduino UNO]]
[[File:Arduino_Uno.jpg|thumb|Arduino UNO]]
[[File:CANtext_Bundle.jpg|thumb|CANtext Bundle]]
[[File:CANtext_Bundle.jpg|thumb|CANtact Bundle]]


----
----

Revision as of 10:05, 21 February 2021

(DRAFT)

Summary

This documentation introduces the CAN-BUS Shield V2.0 and all its key facts. It also contains an example implementation, which is able to read and write CAN messages. In another step a real car communication is captured and presented.

CAN-BUS Shield V2.0

The CAN-BUS Shield V2.0 is an add-on shield which can be used with an Arduino Board. It comes with the MCP2515 CAN Bus Controller and the MCP2551 CAN transceiver. When used with an appropriate OBD 2.0 cable and library it can function as a diagnostic tool for a car.

InkedCAN-BUS Shield V2.0 desc LI.jpg

  1. Terminal: CAN-H, CAN-L
  2. Led Indicator: PWR=power;TX=blink when the data is sending;RX=blink when there's data receiving;INT=data interrupt
  3. V_OBD: Indicates if the power comes from OBD
  4. DB9 Interface: to connect to OBD 2.0 via DB9-OBDII-cable
  5. Arduino Pinouts
  6. I2C Connector
  7. Serial Connector
  8. ICSP Pins

CAN is the abbrevation for Controller Area Network and is a common and reliable bus system. It is used in almost every car since 1994. CAN was founded by BOSCH. Its main aim is to shrink cable harness.

In order to complete the following steps, you should be familiar with the Arduino UNO and the Arduino IDE.

Description

In order to create a functioning CAN message reader we need to set up a lab, which consits of two CAN-BUS Shield V2.0 and two Arduino UNOs. The Arduinos will be used to simulate two ECUs, where one of them sends the data and the other is receives it. After this works as planned we will take a step further and integrate the CANtact Bundle. This will enable is to take the reading Arduino-ECU and plug it into the cars OBD 2.0 port in order to see what is going on the car CAN-BUS.

CAN-BUS Shield V2.0
Arduino UNO
CANtact Bundle

Step 1

Pigiback the CAN shields onto the Arduinos and connect both terminals. Bare in mind connecting CAN-H on the first board with CAN-H on the second board and CAN-L on the first board with CAN-L on the second board. This would look something like this:

Arduino ECUs connected.jpg


Used Hardware

Device to be used with this documentation Maybe another device to be used with this documentation

Courses

References