On Board Diagnostics OBD Rebecca Doebler, James Carl, Joe Romeo EECS 498
What we will learn today What is OBD? History of OBD DTC (Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
OBD (On Board Diagnostics) What is OBD? History of OBD DTC (Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
What is OBD? On-board diagnostics An automotive term referring to a vehicle's self-diagnostic and reporting capabilities Tools with OBD allow mechanics and vehicle manufacturers to connect to the vehicle's on- board computers and diagnose any potential failures in the engine, as well as retrieve information such as rpm, horse-power, etc. Source: 1 other stuff, rpm, hp
Why is OBD important? OBD is required by the Clean Air Acts Amendments of 1990 Provides a simple, quick and efficient way for repair technicians to pinpoint problems by retrieving automobile diagnostics Plays an important role in vehicle inspections and maintenance programs for state agencies Provides an early warning system to vehicle owners through the check engine light
OBD (On Board Diagnostics) What is OBD? History of OBD DTC (Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
Brief History of OBD 1969: First on-board computer system with scanning capability 1980: GM implements ALDL to test ECM(engine control module). ALDL was the first standardized on board diagnostic protocol 1991: California required all cars from 1991 on to have OBD capabilities(refers to OBD I) 1994: California wanted a way to do statewide emissions testing. This was the start of OBD II 1996: OBD II is mandatory for all of United States 2004: European Union makes OBD II a requirement for all cars sold in Europe see http://en.wikipedia.org/wiki/On-board_diagnostics for more information about OBD history
OBD (On Board Diagnostics) What is OBD? History of OBD DTC (Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
Why is my check engine light on? We use DTCs or Diagnostic Trouble Codes to determine the problem Example: An electronic control module uses an oxygen sensor to monitor exhaust gas for being rich or lean If the computer feels like the conditions are right for the sensor to be malfunctioning, it will set a DTC and the check engine light will illuminate
Diagnostic Trouble Codes (DTCs) Older OBD protocols have fewer DTCs and are not standardized Newer OBD protocols have many more DTCs Latest OBD protocol has a five digit DTC First Character - System The first character identifies identifies the system related to the trouble code. P = Powertrain B = Body C = Chassis U = Undefined hard to read
DTCs (cont) Second Digit - Code Type Third Digit - Sub-System The second digit identifies whether the code is a generic code (same on all OBD-II equpped vehicles), or a manufacturer specific code. 0 = Generic (this is the digit zero -- not the letter "O") 1 = Enhanced (manufacturer specific) Third Digit - Sub-System The third digit denotes the type of sub-system that pertains to the code 1 = Emission Management (Fuel or Air) 2 = Injector Circuit (Fuel or Air) 3 = Ignition or Misfire 4 = Emission Control 5 = Vehicle Speed & Idle Control 6 = Computer & Output Circuit 7 = Transmission 8 = Transmission 9 = SAE Reserved 0 = SAE Reserved Fourth and Fifth Digits These digits, along with the others, are variable, and relate to a particular problem. For example,a P0171 code means P0171 - System Too Lean (Bank 1). bad formatting
OBD (On Board Diagnostics) What is OBD? History of OBD DTC (Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
Standard Interfaces - ALDL ALDL - Assembly line diagnostic link Developed by GM prior to OBD I System was only vaguely standardized Specifics for communication link varied based on model Diagnostic Connector: At least four different connectors used with ALDL 12-pin connector was most widely used for GM Generally only three pins were used for basic ALDL- ground, battery-voltage and a single line for data Most other pins used for additional diagnostic information and control interfaces
Standard Interfaces - ALDL (cont) Example 12-pin connector: Data Stream: Unidirectional data (earlier versions) Serially transmitted at a baud rate of 160 using PWM Bidirectional data (later versions) at a baud rate of 8192 Request-driven
Standard Interfaces - OBD I Introduced in 1981 No standardization among this generation of technology Manufacturer-specific OBD I systems required a variety of diagnostic software and hardware. OBD I vehicles were built through model year 1995
Standard Interfaces - OBD 1.5 Partial implementation of OBD II Same pinout as OBD II Fewer fault codes
Quick Recap Discussed what OBD is, and why it's important Brief overview of the history of OBD and the progression of OBD protocol over time Talked about DTC codes and how we can use them to diagnose check engine light issues
OBD (On Board Diagnostics) What is OBD? History of OBD DTC (Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
Connector http://www.carplugs.com/Product_view_Cables_2.html http://www.automation-drive.com/obd-connector
OBD-II Signal Protocols Five Signal Protocols SAE J1850 - Pins 2 and 10 PWM - Ford VPW - GM ISO 9141/14230 - Pins 7 and 15 Serial communication Used by Chrysler and Europeans ISO 15765 - Pin 6 and 14 CAN communication Used by all since 2008
SAE J1850 PWM/VPW PWM VPW 41.6 Kb/s using pin 2 as Bus +, 10 Bus - Developed by Ford Differential Voltage Signaling High is +5V differential 10 byte message VPW 10.4 Kb/s using just pin 2 as Bus + Developed by GM Single wire voltage signaling ~7V High, <3.5V Low
PWM Signaling http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf
VPW Signaling get rid of the circuit http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf
Message Frame - PWM/VPW http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf SOF - High signal for 200us Header - 1 or 3 bytes Priority 3 bits, 000 low priority, 111 high priority Header type, 0 means three byte header, 1 means single byte In frame response, 0 means IFR required Address mode, functional address(0), physical(1) Message type, two bits Data CRC - Cyclic redundancy check, a type of error checking NB - Normalized Bit
CRC - Cyclic Redundancy Check Error Checking 1 byte checksum Sequentially calculated Implemented with XOR gates Generator Polynomial - 0x1D
ISO 9141/ISO 14230 KWP2000 Serial-like protocol Used by Chrysler and European Companies 10.4 Kb/s 0V low, 12V high ISO 9141: Capable of 12 byte message KWP2000: 255 byte message
ISO 15765 CAN 1 Mbit/s Must be implemented on all cars built after 2008
ISO 15765 CAN Message Frame
OBD (On Board Diagnostics) What is OBD? History of OBD DTC (Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
High Level Overview of OBD II Send request over CAN bus Request is a 1 to 2 byte message message is between 1 and 2 bytes long, consisting of a mode, and followed by a PID when necessary OBD II responds with a message size varies depending on request see http://en.wikipedia.org/wiki/OBD-II_PIDs for information on different modes and PIDs
Modes Mode (hex) Meaning 0x01 Show current data 0x02 Show freeze frame data 0x03 Show stored Diagnostic Trouble Codes 0x04 Clear Diagnostic Trouble Codes and stored values 0x05 Test results, oxygen sensor monitoring 0x06 Test results, other component/system monitoring 0x07 Show pending Diagnostic Trouble Codes 0x08 Control operation of on-board component/system 0x09 Request vehicle information 0x0A Permanent DTC's (Cleared DTC's) see http://en.wikipedia.org/wiki/OBD-II_PIDs for information on different modes and PIDs
Example 1 Send request over CAN bus in this case, we'll send mode 0x03 (show stored DTC's) doesn't require a PID OBD II responds with all of the stored DTC's
Example 2 Send request over CAN bus in this case, we'll send mode 0x01 followed by PID 0x05 remember, 0x01 is the mode for current data, and PID 0x05 specifies engine coolant temperature OBD II responds with a 1 byte message temperature readings can be between -40 and 215 so to get our temperature reading, we do (received message - 40) citation
OBD (On Board Diagnostics) What is OBD? History of OBD DTC(Diagnostic Trouble Codes) Progression of the OBD protocol over time Low level implementation of OBD II protocol High level overview of OBD II protocol OBD Products
OBD Products Hand-held scan tools Mobile device based tools and analysis PC based scan tools and analysis
OBD Products Hand-held scan tools Mobile device based tools and analysis PC based scan tools and analysis
Hand-held Scan Tools Costs as little as $15 and as much as $500 Cheaper models support less protocols, which means less cars Cheaper models also have less features more expensive models have things like bluetooth connection, live data feeds
Cheap Hand-held Scanner U380 Engine Check OBD-II Scanner Very cheap ($20.88 + shipping on Amazon) Doesn't support the CAN protocol Only supports cars and trucks between 1996-2003 Only allows user to read and clear DTCs see http://www.amazon.com/OBDII-Engine-Scanner-Trouble-Reader/dp/B000LEPT5G/ref=sr_1_1?ie=UTF8&qid=1352273604&sr=8-1&keywords=U380 for information on this hand-held scanner
Expensive Hand-held Scanner Innova 3130c DTC Scanner $208.16 + shipping on Amazon Compatible with cars manufactured beyond 1996 Wifi connectivity, allows connection to Fix Assist database Fix Assist has a database of fixes for common DTCs LED lights indicate whether car will pass or fail emission tests more expensive models have things like bluetooth connection, live data feeds see http://www.amazon.com/Innova-3130c-Diagnostic-Scanner-Vehicles/dp/B008RHBJ8K/ref=sr_1_2?ie=UTF8&qid=1352273755&sr=8-2&keywords=innova+3130c for information on this hand-held scanner
Mobile device based tools and analysis OBD Products Hand-held scan tools Mobile device based tools and analysis PC based scan tools and analysis
Mobile Device Based Tools Many iPhone and Android applications Use an OBD II to bluetooth connection Advantages: much cheaper for the same amount of capabilities, more flexible, better user interface Disadvantages: phone many not be compatible with smartphone software more flexible because it is easier to push new software on android that supports new cars, versus trying to buy new hardware every time a new car comes out with new OBD-II capabilities
ELM 327 OBD-II to Bluetooth Connector $23.99 + shipping and handling on Amazon.com Works with Torque Pro Android application among 100s of others
Torque Pro (Android Application) $4.95 Over 10,000 reviews, with an average rating of 5 stars out of 5 Supports Torque measurements, speed measurements, fuel efficiency, among 100s of other types of engine logging Maps logged data against GPS
Torque Pro (Android Application)
PC based scan tools and analysis Applications Hand-held scan tools Mobile device based tools and analysis PC based scan tools and analysis
PC Based Scan Tools and Analysis Similar to the mobile solution except more access to different types of peripheral interfaces (serial, usb, etc.) less portable Typically used by professional mechanics no need to be mobile in a mechanics shop allows for faster diagnosis (more cpu power) no worries about batteries dying
TouchScan OBD Software $24.95 (no shipping and handling) on scantool.net Offers many of the same features as Torque Pro Customizable user interface Error database lookup ect.
TouchScan OBD Software
ODB-II - Hacker Friendly! ODB-II is simple and well known (tons of documentation) There is an Arduino OBD-II GPS logger! Hack away!
What did we learn? What OBD is and how we can use it to find out what is wrong with our engine The history of OBD and how the OBD protocol has progressed over time OBD II low level protocol in depth How we can retrieve DTC codes and engine data from OBD computer at a high level OBD consumer products
Any Questions?
Sources Images: 1. http://www.autoobd2diagnostic.com/category/obd-diagnosc (image) 2. http://www.harborfreight.com/can-obd-ii-code-reader-eobd-scanner-98614.html 3.http://www.dinodirect.com/engine-memo-scanner-u380-obdii-obd2- eobd.html?cur=USD&affid=3846&gclid=CKK3z5mhqrMCFRBgMgod4WQAqw 4. http://www.arduinodev.com/ultimate-gps-obd-data-logger-displayer/ 5. http://scantools.net 5. add all the others Information: 1. http://epa.gov/obd/ 2. http://en.wikipedia.org/wiki/On-board_diagnostics 3. http://en.wikipedia.org/wiki/ALDL 4. http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf 5. http://www.obd-codes.com/faq/obd2-codes-explained.php