Hello everyone,
I'm trying to build an OBD interface to be able to read data from cars. The idea is to use an arduino and some cheap hardware to handle "low-level" protocols, and to get the arduino connected to a laptop, which will take care about the OBD2 protocol.
Based on some opensource projects, I designed this scheme (See the attached).
I'm planning to use https://github.com/iwanders/OBD9141 for ISO 9141-2 and ISO 14230-2, https://github.com/matafonoff/J1850-VPW-Arduino-Transceiver-Library for J1850-VPW and https://github.com/coryjfowler/MCP_CAN_lib for CAN, and so, I should be able to work with four protocols on five.
My questions are the following: Is that gonna work or not ? Do I have an error in my scheme ? Adding a circuit to power all the transceivers in 12v will it be enough ?
Thank you for reading
Just note that many newer vehicle have two separate CAN bus interfaces on the OBDII port, a high speed and a low speed.
The commoner one is on pins 14 & 6, the second bus is on pins 11 & 3.
The "better" OBDII interfaces support both directly; ones with only a single CAN transceiver require a switch to select which pins are in use.
Hello, and thanks for the answers rjenkinsgb, it's good to know, I did not found anything about that. Can you show me how I'm supposed to change my design to support both ?
Just note that many newer vehicle have two separate CAN bus interfaces on the OBDII port, a high speed and a low speed.
The commoner one is on pins 14 & 6, the second bus is on pins 11 & 3.
The "better" OBDII interfaces support both directly; ones with only a single CAN transceiver require a switch to select which pins are in use.
Dual-CAN with two CAN buses was replaced on some cars with 4 CAN buses on the OBDII port.
That has now been changed so that some current cars have just one CAN bus on the OBDII port, and that is only for diagnostics. Modules connect to each other using other CAN buses that do not connect to the OBD port. There is also an ethernet connection to the OBDII port, also only used for diagnostics.
The good news is that whether there is one, two or four CAN buses on the OBDII port, or a CANbus and an ethernet connection, very often the diagnostics will still work to most of the car, because the diagnostic messages will be passed from the normal CAN bus, on pins 14 and 6, to the other buses that don't physically connect to the OBDII port, via a gateway module.
On an historic note, some older (model year 2000 or so) cars had a CAN bus with no connection to the OBDII port. The OBDII port had K-line diagnostics (much like LIN) and the CANbus wasn't used for diagnostics.