I'm not the driveability expert I wish I was but I can offer a few suggestions. Normally high idle speed is caused by a vacuum leak, but if it comes down when you tap the gas pedal you might want to look at the throttle position sensor. It actually doesn't have anything to do with idle speed but it tells the Engine Computer whether you're moving the throttle, which way, and how fast so the computer can anticipate the fuel needs of the engine without a hesitation when it waits to see the air flow change in the mass air flow sensor. It also tells the computer when you're at idle and when you're at wide-open-throttle. In general terms, that sensor is fed with 5.0 volts, and the signal voltage going back to the computer will always remain between 0.5 and 4.5 volts. When there is a hard defect in the sensor or its wiring the voltage will pop up to 5.0 volts or drop to 0.0 volts. THAT is what is needed to set a related diagnostic fault code. My reason for explaining that is that dirt inside the sensor, or a worn spot on the carbon element can cause an incorrect reading resulting in performance issues, but as long as that wrong reading stays within 0.5 and 4.5 volts, no fault code will be set.
Before you go through the work of cleaning the mass air flow sensor, you might try introducing a little extra fuel into a vacuum port. Propane is what is used most often. The Engine Computer calculates how much fuel to command from the injectors based on the weight of the air being measured by the mass air flow sensor. The sensing element is heated up which changes its resistance, then it gets cooled down by the air rushing past it. If the sensing element is dirty it will be partly insulated, won't cool down as much as it should, and the computer will interpret that as less air flow. You'll have to push harder on the gas pedal to get the right amount of fuel but that opens the throttle blade more so more air comes in, ... Just like when there's a vacuum leak.
Even at idle, the computer is in control of idle speed and it may be targeting what it knows as the correct amount of fuel, and the extra air causes the engine speed to increase. As with the throttle position sensor, tapping the gas pedal will increase air flow and that may affect the element in the mass air flow sensor.
You or your mechanic may also get an idea of what is happening by watching live data on a scanner. For this I have to defer to my Chrysler experience. They use a "stepper" motor to screw a pintle valve in and out of an air passage around the throttle blade. That valve has 256 possible settings called "steps", (not related to stepper motor). At step 0 the valve is fully closed. Step 32 is about typical for a properly-running engine. With one cylinder misfiring you'll find it at about step 50. When there is an idle speed problem, you can look at the step the motor is being commanded to to get an idea of what is happening. If idle speed is too high and the motor is at a low step number or at "0", the computer is trying to reduce idle speed but not having success. That's where you'd be looking for a vacuum leak. If the step is high, typically much higher than about step 32, the computer is attempting to raise idle speed in response to something. It may do that when the AC compressor kicks in, or when the steering is turned which puts an additional load on the engine. The power steering pressure switch, (when used), will be listed on the scanner as "on" or "off", or "low" or "high". Those things should match what is taking place on the car. For example, the power steering switch should read "high" when you're turning the steering wheel. If it reads "high" all the time, the computer thinks there's a load on the engine when there isn't, and it's bumping up idle speed to handle that load.
Other manufacturers use "percent" of full-open idle air valve instead of "steps". There's two different designs of this valve for your car. One uses the stepper motor, similar to Chrysler and GM, and one looks like a spring-loaded solenoid similar to what Ford uses. This valve design has two hoses attached to it. I would look at those hoses for signs of dry-rotting, cracking, or loose clamps. This valve, in any application on any car brand, is a controlled vacuum leak. Any air that sneaks in through an uncontrolled vacuum leak will raise idle speed.
If you can keep the engine idling too high you can try blocking various vacuum hoses to see if one brings the speed down. If one does, follow it to its branches and do that on each one to narrow down the source of the leak. There could also be an emissions system valve that is turning on to purge the charcoal canister of its stored fuel vapors. They typically aren't supposed to open at idle but a valve could be stuck, or the computer might be commanding it open because it thinks the engine is not at idle speed.
Wednesday, September 4th, 2013 AT 2:08 PM