My Dad has a Ford F-150 and has had a misfire problem under part-throttle, mid-power acceleration in the past. The first time, he took it to a mechanic who eventually diagnosed it as a coil failure. He had that one replaced (this engine has a coil on each plug) which fixed the problem, then several months later a second one failed. This one set a code and we were able to figure out which one to replace from the misfire code. This week, he has noticed the same problem creeping back up, but a code wasn't set yet. Using my scan tool, I was able to get the status of the misfire monitors and conclusively determine the cylinder with the issue.
In vehicles sold in the United States, 42 USC 7521(m) has required OBD-II since model year 1996. The law requires that access to certain basic emissions-related parameters be "open" and that all covered vehicles use a common connector. However, the specific protocol is not required to be the same on all vehicles. Consequently, there are 5 different standards for accessing this information. And of course none of these "standards" are publicly-available.
- SAE J1850 "PWM" (Ford)
- SAE J1850 "VPW" (GM)
- ISO 9141-2 "ISO", evolved into ISO 14230-4 "KWP2000" (Chrysler, Imports)
- ISO 15765-4 "CAN" (Required since model year 2008)
There are a variety of USB interfaces to these protocols available on the internet. Elm Electronics makes an extremely-common scan tool IC called ELM327 (actually a preprogrammed PIC) that translates OBD-II to RS232 Serial. You can get the chip and make your own interface, or you can get a prepackaged device like the OBDLink MX for less than $50.
Unfortunately, the misfire counters are not one of the basic parameters available on all vehicles. However, Ford has a summary of the model year 2001 OBD system available that has the information needed to read the misfire counters. The table on page 11 shows that Mode $06, Test $53, will report the cylinder-spcific misfire rates and that the conversion factor to percent is 0.0015. Page 9 explains that this percentage is based on a 1000-rev period. There are two thresholds for misfires – emissions-related and catalyst-damaging. For the emissions-related threshold, the misfire must be detected in the first cycle at startup, or during 4 consecutive cycles while driving.
Armed with this information, I ran out to the truck and hooked up the scan tool. Even though the Check Engine light wasn't on, I went ahead and checked for codes with Mode $03 and checked for pending codes with Mode $07. Neither returned anything. The Mode $06 result speaks for itself.
>03 NO DATA >07 NO DATA >0653 46 53 01 00 00 02 8F 46 53 02 00 00 02 8F 46 53 03 1E 8F 02 8F 46 53 04 00 00 02 8F 46 53 05 00 00 02 8F 46 53 06 00 00 02 8F 46 53 07 00 00 02 8F 46 53 08 00 00 02 8F
In the response, we see 8 lines, each beginning with 46 53 as a response prefix, then the cylinder number. The next two numbers are a hex pair and $1E8F = 7823, 7823 · 0.0015 = 11.7%, so 117 misfires of cylinder 3 were detected in that 1000-rev cycle. The threshold is the last two numbers, again in hex, $028F = 1%, which is obviously exceeded. But, since the misfire only appears intermittently, and not at startup, it doesn't persist for the 4000 revolutions (approx. 2 minutes at 2000 rpm) required to turn on the Check Engine light.
Isn't technology wonderful?