Onboard Diagnostics Demystified
Since the mid-1990, no vehicle innovation has done more for vehicle service and repair than on-board diagnostic (OBD) systems. But in order for it to work, you must first break the OBD code.
Since the earliest days of full-blown computerized engine-control systems, there has always been some type of built-in self-diagnostic capability to detect faults. A computerized engine control system uses inputs from a wide variety of sensors and switches to regulate spark timing, fuel delivery and other emission functions. If a sensor fails, reads outside its normal range of values or can't send its input back to the computer because of an open or shorted circuit, it can alter engine performance and emissions. The computer has to have accurate inputs to make the right commands and keep things running smoothly. Likewise, the computer has to be able to carry out its command functions and send its instructions to the ignition module, fuel injectors and other control devices. If the proper commands can't get through, that too will cause problems.
Check Engine Lamp
Monitoring the operation of the various inputs and outputs is what on-board diagnostics is all about. When computerized engine controls went nationwide in 1981 to comply with federal emission regulations, the "Check Engine" lamp became a new feature on the instrument panel.
The "Malfunction Indicator Lamp" (or MIL as it is called today) is supposed to alert the driver when a problem occurs in the engine control system. Depending on how the system is configured and the nature of the problem, the lamp may come on and go off, remain on continuously or flash. Some types of intermittent problems will make the lamp come on only while the fault is occurring. When the problem goes away, the lamp goes off. Other types of problems will turn the light on, and it will remain on until the fault is diagnosed and repaired.
The Check Engine lamp has proven to be a great annoyance to many motorists (as well as many professional technicians) because it seems to have a mind of its own. For one thing, it doesn't tell you anything about the nature of the problem. It might be something serious - or it might not. There's no way to tell without plugging in a scantool, such as AutoTap.
Consequently, many motorists ignore the warning light and keep on driving if they don't hear, feel or smell anything unusual (even then, some continue to push onward until things get worse or the engine dies altogether).
It's amazing the lengths some people will go to just to avoid a quick diagnosis when the Check Engine lamp is on. Many people don't really want to know what's wrong with their vehicles because they fear it will end up costing them several hundred dollars to get it fixed. So they'll put tape over the lamp, attempt to disconnect the bulb or cut the wires to the bulb - in an attempt to make it go away. But engine performance problems don't go away and they don't fix themselves. And for motorists who live in areas with vehicle emission testing, the day of reckoning arrives sooner or later since modern emissions testing uses a scantool to check if the Check Engine lamp is on, and if the light has been tampered with. Whenever the Check Engine light comes on, a "diagnostic trouble code" (DTC) is also recorded in the on-board computer's memory that corresponds to the fault. Some problems can generate more than one fault code, and some vehicles may suffer from multiple problems that also set multiple codes.
In most of the first generation onboard diagnostic systems prior to OBD II, disconnecting the computer's power source or disconnecting a battery cable could erase fault codes. The loss of voltage wiped out the computer's temporary memory causing the Check Engine light to magically go out. But as soon as the original problem reoccurred, the code(s) would be reset and the light would come back on.
In most newer computer systems, fault codes are stored in a "nonvolatile" memory that is not lost if the battery is disconnected. The codes remain intact until they are cleared using AutoTap or another scan tool. What's more, disconnecting the battery or computer's power supply can have undesirable consequences because it causes the loss of electronic presets in the radio and climate control system, as well as the engine computer's "learned" memory - the adjustments that are made over time to compensate for engine wear and driving habits. On some vehicles where the computer also regulates the electronic transmission, the computer may have to be put through a special learning procedure to relearn the proper operation of the transmission if power has been lost!
A Smarter Approach
Prior to OBDII, fault detection was mostly limited to "gross failures" within individual circuits or sensors. The first generation systems couldn't detect engine misfire, how well the catalytic converter was functioning or whether a vehicle was leaking fuel vapors into the atmosphere. OBDII changed all of that by adding the ability to monitor these things so emission problems can be detected as they develop. OBD II still uses the Check Engine lamp to alert the driver when a fault occurs, and it still stores fault codes that correspond to specific kinds of problems, but it adds the unique ability to track problems as they develop and to capture a snapshot of what's going on when a problem occurs.
Almost any emission problem that causes hydrocarbon emissions to exceed 1.5 times the federal limit can cause the Check Engine light to come on with OBDII - even if there is no noticeable drivability problem accompanying the emission problem.
The most powerful (and controversial) feature of OBDII is its ability to detect engine misfire. First generation OBD systems couldn't do that directly so there was no way to know if the engine was performing properly or not. OBDII misfire detection strategies vary somewhat from one vehicle manufacturer to another, but most currently use the input from the crankshaft position sensor to monitor changes in crankshaft speed. A single misfire will cause a slight variation in the rotational velocity of the crank. By knowing the position of the crank and which cylinder is supposed to be firing, the OBDII system can correlate each misfire that occurs with a specific cylinder. The misfires are tracked and tabulated, and if a pattern occurs it can set a misfire code and turn on the Check Engine light.
Breaking the Code
A misfire that occurs in a given cylinder will set a P030X code where "X" will be the number of the cylinder that is misfiring. For example, a P0302 code would tell you cylinder number two is misfiring. But here's the important point: The code does not tell you why the cylinder is misfiring. You have to figure that out for yourself by performing other diagnostic tests. The misfire might be due to a fouled spark plug, a bad plug wire, a defective ignition coil in a DIS system, a clogged or dead fuel injector or a loss of compression due to a leaky exhaust valve, leaky head gasket or worn cam lobe.
On some vehicles, the OBDII system itself will disable a cylinder if it detects a high enough rate of misfire. This is done to protect the catalytic converter. By shutting off the cylinder's fuel injector, the OBDII system prevents unburned fuel from passing through the cylinder and entering the exhaust. Raw fuel in the exhaust is bad news because it makes the converter overheat, and if it gets too hot it can suffer damage. What else does OBDII add to the equation? It also monitors the operation of the catalytic converter with a second oxygen sensor on the tailpipe side of the converter. By comparing upstream and downstream O2 sensor readings, it can determine how well the converter is doing its job. If converter efficiency drops below a certain threshold, the OBD II system will set a code and turn on the Check Engine light.
OBD II can also detect fuel vapor leaks (evaporative emissions) in the charcoal canister, evap plumbing or fuel tank by pressurizing or pulling a vacuum on the fuel system. It can even detect a loose or missing gas cap. In addition, OBDII can also generate codes for various electronic transmission problems and even air condition failures such as a compressor failure.
Two Kinds of Codes
The diagnostic codes that are required by law on all OBDII systems are "generic" in the sense that all vehicle manufacturers use the same common code list and the same 16-pin diagnostic connector. Thus, a P0301 misfire code on a Ford means the same thing on a Chevy, Chrysler, Toyota or Mercedes. But each vehicle manufacturers also have the freedom to add their own "enhanced" codes to provide even more detailed information about various faults. Enhanced codes also cover non-emission related failures that occur outside the engine control system. These include ABS codes, HVAC codes, airbag codes and other body and electrical codes.
The "generic" codes that are common to all vehicle manufacturers can be accessed using any basic scan tool that is OBDII compliant. Unfortunately, most older scan tools won't work on the newer OBDII systems, and have to be replaced with ones that have the proper hardware and software to read OBDII codes and other diagnostic information.
A challenge for the tool manufactures is access to the vehicle manufacturer enhanced codes. Many of the low-cost scan tools on the market get around this by only supporting the "generic" codes and information. While this provides basic information on a failure, it often doesn't give you the entire picture to make your diagnosis.
The Impact of OBDII
On one hand, OBDII has made diagnosis easier by providing more codes, detecting problems earlier and pinpointing misfires within specific cylinders. But on the other hand, OBDII has increased the complexity and sophistication of engine control systems to the point where you must have an OBDII scantool to diagnose and repair today's drivability and emissions problems. OBDII is helping Do-It-Yourselfers and professional technicians do a better job of fixing problems the first time. This is reducing the number of parts that are replaced unnecessarily and reducing comebacks and warranty returns.
Watch Out for False Codes!
Today's OBDII systems are so sensitive to misfires that they will set a misfire code if they detect as few as five misfires in 200 engine revolutions! Unfortunately, this high level of sensitivity can sometimes generate false misfire readings under certain operating conditions. Driving on an extremely rough road, for example, can produce the same kind of variations in crank speed that appear to be misfires to the OBDII monitor. Some newer OBDII systems compensate for rough road operation by reducing the level of misfire sensitivity. Others use a different method to detect misfires. Instead of monitoring crankshaft speed, the system watches the firing voltage of each spark plug to detect problems (a lean misfire typically causes a large jump in the firing voltage while a shorted or fouled plug causes a drop in the firing voltage). Random misfires that are not isolated to a particular cylinder will also set a misfire code. In these cases, a scan tool like AutoTap that allows you to view the vehicles real-time sensor data is invaluable in distinguishing a real misfire problem from a false code.