If You See the “Check Engine” Light, Pt. 2

December 1, 2009 | By Milt Webb

We’re Still Looking for the Cause Behind That Glowing Light. This Time, We’ll Test Some Sensors and Controllers.

THE “CHECK ENGINE” light can be a real cause of automotive frustration. Sometimes it will come on and then stay off for a while, only to start glowing again the following day. In any event, the light can be activated for numerous reasons and you need to track down the cause.

In the first installment in this four-part series, we discussed how tune-up problems can be the cause for the glowing light and how those issues can be addressed. This time, we’ll hook up a scanning tool to verify that sensor inputs and controller outputs are normal.

A Look at Our Scanner

The “scanner” is used to view the engine tune-up “data stream” being processed by the computer (the engine control unit, or ECU). I use a Snap-On MT2500 scanner to view the data stream on vehicles equipped with OBDI and OBDII.

When reading scan data, the data “update” rate is slow, and you may miss data anomalies. A lab scope or a graphing analyzer back probed at the oxygen sensor connector will allow you to pinpoint anomalies. (We’ll discuss Oxygen sensor waveforms in Part 3 of this series.)

Table 2 on the next page lists scanner data on our 1995 Mercury project car with a 3.8-liter fuel-injected engine, an OBDI vehicle.

As we discussed earlier, we’re looking for anomalies in the data and why our Mercury keeps setting the EGO (exhaust gas oxygen) not switching, bank 1, code 171.

The “check engine” light was off during this data stream recording.

Testing Some Sensors

• Oxygen Sensor: During cold start and engine warm-up, the oxygen sensor signals are normally at 800 mv (0.8 volts) on engine banks 1 and 2.

Within 30 seconds after start-up on our ’95 Mercury, the oxygen sensor voltage began to fluctuate from 70-800 mv on bank 1 (cylinders 1, 2, 3,) and bank 2 (4, 5, 6).

The oxygen sensor is “heated” with a “thermistor” to warm it up fast so the computer will command a closed loop status quicker.

After warm-up, the oxygen sensor continued to fluctuate from 70-800 mv at idle, and cruise conditions.

At heavy engine load (wide open throttle), the oxygen sensor voltage “pegs” at 900 mv. This is normal.

Our ’95 Mercury oxygen sensor on bank 1 may be lazy and not switching normally. We’ll perform some lab scope tests later (Part 3) and determine if the bank 1 sensor is “lazy,” “dead” or there is an ignition misfire.

Throttle position sensor (TPS): The TPS voltage at closed throttle is 0.95 volts and 4.60 volts at wide open throttle (key on, engine off). This is normal.

A “glitch” in the throttle position voltage signal during throttle blade opening would cause a hesitation.

Our Mercury was OK as there was no hesitation during the initial part of takeoff from a stoplight.

• Coolant Temperature: Note in Table 2 that the coolant temperature is 58° F and 3.5 volts right after a cold startup. After 10 minutes of driving the coolant temp was 210° F and 0.53 volts.

At this point, the fan turns on (controlled by the computer) and it cools down to around 195° F and the fan goes off. This is normal.

A bad (open) coolant sensor or an open circuit connection may cause a rich mixture and the plugs may be black and fouled out.

Generically, some systems are equipped with a “backup” coolant sensor value to prevent excess rich mixtures.

Our Mercury’s coolant sensor was OK.

• Intake Air Temp: This sensor measures the intake air temp inside the air inlet boot.

The scanner data displayed 50° F and 3.5 volts at start-up. After warming up for 10 minutes, the intake air was 126° F and 1.6 volts. This is normal.

On a hot day (100° F ambient), the intake air may increase up to around 175° F.

• RPM (Engine Speed): The RPM sensor is triggered off the vibration dampener. In response, the idle air bypass (IAB) solenoid controls the airflow bypassing the throttle blade when the throttle is closed.

At start-up (engine cold) the computer commands the IAB to increase the rpm higher than normal. (This is the “fast idle” rpm you experienced on your carbureted car when the choke was on.) The IAB lets more air bypass the throttle blade so the rpm will hold steady and the engine won’t stall.

After warming up, the idle rpm on our Mercury was around 700 in neutral. In drive at idle the rpm dropped to around 650. When we turned the steering wheel and turned on the AC, the rpm held steady at around 700.

All this is normal. Our Mercury functional test of the idle control system showed that it was working OK.

A tip: Be sure to leave the idle screw alone! If you mess with this adjustment, you will have to look up the specified idle adjustment procedure in the service manuals. Some scanners incorporate the idle adjustment procedure. Remember, the engine computer cannot compensate for “basic” mis-adjustments.

• PFE (Pressure Feedback, Exhaust Gas Recirculation): The EGR system does not work at idle on this vehicle. It does work at 1200 rpm in drive (around 30 mph simulation).

On some vehicles the EGR system will not work unless the vehicle is moving and there is a speed signal input from the “vehicle speed sensor.”

At 1200 rpm in drive on our ’95 Mercury the PFE signal voltage was 0.75.

• The EVR (EGR valve regulator) is being “duty cycled” at 36% at 1200 in drive. This tells you the EGR circuit is being commanded to operate by the computer.

Remember that in Part 1, we performed an EGR functional test; and it tested OK.

• EPC (psi): The EPC (electronic pressure control) sensor is in the transmission. The pressure is monitored so the computer can control the transmission line pressure through the solenoid.

The EPC measured 28.5 PSI at 1200 rpm in drive.

• Mass Air Flow (MAF): This sensor input measures the amount of air flowing into the engine.

The engine speed and load determines how much air is being pumped through the engine.

On our Mercury, the Mass Air Flow was 0.58-0.62 grams/sec. at idle and 3.4 grams/sec. at wide open throttle at 60 mph in 2nd gear.

A low MAF signal (caused by an air inlet boot leak) may result in a lean mixture leading to lower power.

Checking Some Controllers

• Spark Advance: The computer processes incoming sensor signals; then it (the computer) controls the spark advance (ignition timing advance).

On our Mercury, at idle, the spark advance was 27° BTC (Before Top Center). At 1200 in drive, the advance was 30° BTC.

The spark advance data in Table 2 was normal on our ’95 Mercury.

• Injector Pulse Width: As a result of all the sensor inputs outlined above, the injector “time on” (fuel squirting into the intake manifold) is calculated in the computer. In turn, the computer provides the correct fuel mixture for quick start-up, smooth acceleration, best gas mileage and lowest emissions.

On our Mercury, the injectors are “turned on” just before the intake valve opens sequentially in the ignition firing order. This event is known as SFI (sequential fuel injection), and is listed on the underhood label.

In reviewing Table 2, the injector pulse width varied from 4.0-4.5 milliseconds (ms) at idle and 7.97-8.36 ms at 1200 rpm in drive.

Generically, the injector “time on” is calculated in the computer based on sensor input, including engine rpm, mass air flow, and the coolant temperature.

The ms variation is caused by “trimming” the injector pulse width based on the input from the oxygen sensor.

When the mixture is lean, the injector time on (trimming) is increased a “tiny bit” to richen the mixture.

When the mixture is rich, the injector time on trimming is decreased a “tiny bit.”

The injector “time on” and trimming is not adjustable.

Please note: These time on injector pulse widths were measured on our ’95 Mercury 3.8-liter engine and are not a specification. Other engines, even of the same make, may have different injector “time on” than the above values for our ’95 Mercury. I do not know of any available reference for injector pulse widths.

• Short Fuel Trim: The short fuel trim (SFT) indicates the “tiny bit” of trimming of injector “time on”.

The SFT on our ’95 Mercury varied ±5%. The +5% indicated a slightly rich correction for a slightly lean mixture. The -5% indicated a slightly lean correction (a tiny bit less injector time on) for a slightly rich mixture.

The SFT variation is a result of the oxygen sensor variation from a “low” voltage (0.2) indicating a lean mixture up to a “high” voltage (0.8) indicating a rich mixture in the exhaust gas.

During cold start and driving away from home, the SFT was +15%. This indicated the injector time on was “a little bit” longer than normal for smooth operation during warm-up. (The choke is still on here.)

As the engine warms up, the SFT decreases to normal, +5% through -5% and varying.

On our Mercury, the SFT’s were all normal. See Table 2.

Recall that during the tune-up procedures in Part 1, we checked the fuel pressure to ensure it was at spec.

If it had been below spec (lean mixture) the computer SFT may have shown a rich correction (SFT at +15%) trying to correct for a lean condition.

If it (fuel pressure) had been above spec (rich mixture) the computer SFT may have shown a lean correction (SFT at -15%).

Analysis of Scan Data

By now I trust you may understand the need for a correct tune-up to yield normal computer operation, correct fuel mixtures (injector pulse width), correct spark advance, and correct EGR operation.

In addition, with correct computer and tune-up operations, the catalytic converter will receive the correct inlet mixture (14.7:1 air/fuel ratio, average) for efficient catalytic converter “oxidation” of hydrocarbons, (HC) and carbon monoxide (CO) plus the “reduction” of the nitrogen oxides (NOX).

Time to Go for a Drive

Since the tune-up and injector cleaning was completed and the scanner data stream was normal, we must now (finally) determine if there’s still a problem with the Mercury’s bank 1 oxygen sensor, code 171.

I’m sure it comes as no surprise to you that, quite often, there are “no quick answers” to automotive problems.

I recommend driving the vehicle 100 miles after the tune-up and scanner checks. The injector cleaner added during the tune-up may have cleaned up a “fouled” oxygen sensor.

I know from experience that a mildly fouled spark plug may “burn off the soot” and return to a normal nice “white” inner porcelain, provided the mixture is correct. (Sometimes!)

If the check engine light still “comes on,” then I can justify changing the bank 1 oxygen sensor. My guess is it is just lazy, and at 85,000 miles (and 13 years old), it should be changed.

Part 3 of this series will cover Oxygen sensor Waveforms and the use of a graphing analyzer or lab scope to identify “dead” or “lazy” oxygen sensors.


Tuning Up Autos and Trucks

by Milt Webb