» Lab » OBD-II Tool
| Project: | OBD-II Tool |
| Software: | OBD Gauge & OBD Graph |
| PIC: | None |
| Interface: | ELM323 compatible |
| Author: | Ravi Deo |
| Last Updated: | 28th January 2009 |
Project Description
This project was to construct an onboard diagnostics (OBD) tool for use with a vehicle engine management
system. An OBD tool allows the user to capture real-time sensor data and the ability to display/clear
engine diagnostic codes. Rather than re-invent the wheel, my objective was to use off-the-shelf modules
wherever possible, and integrate together.
The vehicle which I was attempting to interface to was a 2001 Mercedes Benz A140 (W168 series).
This vehicle has an OBD-II compliant interface supporting the ISO-9141-2 communications protocol.
I chose to purchase an ELM323 interface which allowed RS232 communication with the ISO-9141 protocol.
The OBD interface purchased was the LapLogger LL-101i bought from Laplogger.com.
This interface contains the ELM323 chip at its core, which converts serial commands to ISO signals
to/from the vehicles OBD port. Other ELM323 compatible interfaces with an RS232 serial
port could equivalently be used. ELM323 compatible interfaces can typically be purchased from eBay for about £20.
The ELM323 interface allows a laptop or PDA to be used with software which adheres to the ELM323
serial command set. My choice of PDA was the Palm m505 which supports a serial RS232 interface.
Fortunately, the software required on the PDA was readily available as "OBD Gauge" for both Palm
and PocketPC platforms. A PC application named "OBD Graph" is also available for viewing
captured data on a PC.
The ELM 323 interface came with a J1962 connector cable which plugs into the vehicles diagnostic port
under the dashboard. The RS232 port on the ELM323 interface was a female DB9 connector for use with a straight serial
cable connection to a PDA/laptop. However, I intended to use my Palm serial cradle which is a crossover cable configuration with
a DB9 female connector. Hence I needed to wire up an additional crossover connector (null-modem configuration) with a DB9 male connector
which was bolted and wired into the existing DB9 female connector. This double-crossover configuration served the same as a straight serial cable, and
allowed the PDA serial cradle to plug directly into the ELM323 interface module.
The OBD Gauge PDA software allows data to be displayed real-time and can also be stored on the pda.
This stored data can then be downloaded onto a PC and be analysed in detail at leisure.
I used my OBD setup to capture data for my half hour commute, which is available for
download.
To analyze this data on your pc, you will need to download + install
OBD Graph on your PC.
Simply open the downloaded data in OBD Graph to analyse the data.
The data download captured from my morning commute is for:
Engine start from cold,
5 mins traffic from home to mway
20 mins on free motorway
5 mins traffic to office.
Below is a graph for the captured data:
The OBD Gauge software on the PDA also allows diagnostic codes to be interpreted and
cleared should the dreaded Check-Engine light appear on the dashboard.
It is also useful to find any hidden pending diagnostic codes for troubleshooting intermittent problems.
Laplogger LL-101i Serial ELM323 OBD interface with J1962 OBD connector
Null modem DB9-male to DB9-female connector
Palm Serial Cradle
Palm PDA M505
Palm OBD Gauge software
Laplogger LL-101i OBD interface
OBD Protocol and J1962 pinout
OBD Gauge/Graph software by Dana Peters
|