The following post is basically a duplication of a similar thread started at three other web sites devoted to Matrix, Corolla , and Vibe owners.
A few unfortunate drivers of these cars, including myself, have experienced a situation where during the second minute following a cold startup in sub freezing weather, the idle speed begins to pulse at a rate of one pulse every two seconds repeated about 10 to 30 times depending on how cold it is. During each pulse, the rpm holds for one second at 2300 then jumps to 1900 for the next second, then back to 2300, and so on. For me, this has happened since the car was new.
Many of us have presented this problem to our dealers with no successful outcome.
Personally I have had two OBD-II scans where we recorded the hunting. On the first scan, the dealer spotted a low reading O2 sensor and with the advice of Toyota Technical Assistance, they decided that a replacement was in order. This did not correct the problem, and today I know that O2 sensors take many minutes to heat up and during the second minute into a cold startup, the ECU would never be factoring the O2 sensor readings into the equation. It is too soon to be running in closed-loop mode.
Because the car works perfectly when started above 35 degrees F., or started below 35 degrees F. within 6 hours after being shutdown, I feel confident in ruling out other sensors critical to the open-loop ECU equation, such as the coolant temperature sensor, MAF, MAP,etc. None of these sensors could be failing in a precise repetitive manner.
That has left me suspecting the Idle Speed Control Valve. This valve effectively replaces the gas pedal whenever you take your foot off the gas pedal. It opens and closes just as the throttle plate does, but it is commanded uniquely by the ECU to achieve the perfect idle speed for any temperature when the car is parked.
I am proposing two theories as to how this ISC valve could be pulsing.
Theory one says that because this type of ISC valve is a rotary solenoid type, there is a coiled bi-metallic spring that helps set the valve position should the electrical signal fail to arrive from the ECU. If when cold, this spring prevents the valve from closing properly, then my theory suggests that the ECU sends out a pulsing signal to try to ‘hammer’ the spring into relaxing. The hammering causes a pulsed flow of air to the engine that causes the systematic change in rpms. As the car warms up, the spring naturally relaxes, the valve closes properly, and the ECU stops hammering.
Theory two says that there is a distortion (bump) on the valve's shaft caused by a manufacturing defect, which is preventing the valve from being positioned perfectly. If the ECU orders the valve to close more, the valve jumps forward over the bump too much and the ECU after sensing the wrong target speed orders the valve to move in the opposite direction. Here it jumps backwards to the original position which is too open. Eventually as the engine warms up, one of these positions turns out to be just right for the desired rpms and everything slows down smoothly from thereon.
I would be happy to hear from anyone who has had this problem, and their thoughts.
Originally Posted by gb at another forum responding to this issue
I would suggest removing or detaching the spring from the ISC shaft. That would certainly verify whether it is preventing the ECU from achieving the desired idle speed. And it appears that the ISC valve should work normally without it, as it is just a failsafe to position the valve if the ISC motor or circuit fails.
WARNING: DOING WHAT I SUGGEST IN THE FOLLOWING PARAGRAPH WILL TRIGGER THE CHECK ENGINE LIGHT TO COME ON BUT THIS LIGHT SHOULD RESET ITSELF AFTER 2 TRIPS WHERE THE ECU SEE THE RECONNECTED VALVE FUNCTIONING PROPERLY.
Another easier and quicker test is to simply unplug the electrical plug for this valve before starting the car in the cold. The spring is suppose to position the valve so that no matter what the outdoor temperature is, the startup rpms should be about 1200. If the startup rpms are much more than 1200, it means to me that the fixed end of this spring is anchored in the wrong position and needs to rotated until 1200 rpms can be achieved when cold and not electrically connected to the ECU. I wonder if there are 2 possible positions where the spring can be anchored - 180 degrees apart. Or maybe the fixed anchor is connected to a tang that can be rotated continously. This may end up being a lot like calibrating the thermostatic spring in a Honeywell mechanical thermostat for your house's low voltage furnace control.
I have thought about my theories one and two and I now believe that the data I observed on the second scan tool led me to the wrong conclusion. This data suggested that the rpms are alternating between two distinct speeds that are 400 rpms apart. On the output of the first scan tool, the rpms rise slowly and fall off quickly. On the output of the second scan tool, the rpms both rise and fall quickly. The problem is that the second scan tool was sampling about 10 times less often and was making it appear that the rpms were being held constant for 1 second before toggling. In fact, the rpms were behaving exactly as they sounded to the ear, rising moderately and falling suddenly. This sudden drop in rpms I believe is being caused by a fuel cutoff, rather than by the ISC valve being backed off by the ECU.
So my best theory so far is that the spring in the valve makes it impossible for the ECU to achieve its target idle when cold. After the first minute, the ECU will no longer tolerate a difference between the target idle and the actual idle being over 500 rpms and temporarily kills the fuel injectors. When the rpms drop below target, the ECU switches the fuel back on and the revs go back up and again exceed the target by 500 rpms. After 40 seconds of this surging, the ISC valve spring relaxes enough that the 500 rpms error begins to drop and falls back into the range of tolerence.
If this theory is not correct then I will have to consider the possibility that the air in the intake manifold falls into some sort of underdamped resonance that results from the ECU causing ISC valve to vibrate with a frequency of one cycle per two seconds. Something like what happens if you take the shock absorbers off a car and watch it bounce around when you apply the brakes. Perhaps the programmer of the ECU software didn't image that the engine process might have a natural resonance at a specific rpm and a specific temperature and with an array of sensors having a particular calibration. I belive that is why foot solders break stride when they cross a wooden bridge.
This morning I unhooked the connector to my ISC valve after the car was completely warmed up. The result was as expected. The rpms went from the normal 800 I get to 1200, as predicted by the FSM.
What I didn't expect was that the ECU would be upset enough with the 400 rpm error to set the check engine light because the ECU is programmed to watch out for Idle Speed Control Valve failures.
So if my warm engine gets upset enough to set a warning light when the error rpm is 400 off, then why does the engine not set the warning light when the idle hunting happens when cold?
Perhaps the ECU won't log a bad ISC valve until everything else is warmed up.
Or when cold and hunting, the ECU had no reason to suspect a bad ISC valve because the ECU knew that the change in rpms had nothing to do with the valve because the ECU was playing strictly with the injector duty cycle in order to vary the rpms.
Today March 1, 2005, my car worked perfectly thanks to having temporarily disconnected the ISC valve yesterday, which created a Check Engine fault. I believe that the ECU has thrown away historical data about the longterm health of the engine and replaced it temporarily with factory default data.
Today March 2, 2005, the cold idle hunting is back after the ECU reset the Check Engine Light (this happens normally) and began to relearn. The ECU has been slowly raising the top cold idle rpm from 1800 to 2300 over several trips. I believe it currently wants 2400 but the ISC valve is already fully open and can't oblige. So the ECU may be upset by the difference between the desired and actual rpm and is momentarily cutting off the fuel until it can offer an alternate strategy (takes 40 seconds worth of pulses).
Today March 3, 2005, I disconnected the valve again and the new idle ceiling is 2000 instead of 1800 with no hunting. Because it was colder than last time, I believe the ECU started with a base rpm 200 higher. I expect to be back up to 2300 with hunting in about 4 more trips.
I no longer consider my ISC valve to be defective.
A few weeks ago the CE light came on in my 2005 XR (108,000 km). Took it to dealer two weeks ago, and was diagnosed as too lean mixture on warm up, due to a leaking intake-manifold gasket. The gasket could not be replaced because Toyota is out-of-stock and they are on back order. I was told there are 155 gaskets on BO in Canada. I'm waiting for a call from dealer that the part is in, but am not holding my breath.
A major symptom is while the engine is warming up, if you have the autom. tranny out of gear, the engine speed will suddenly jump up a thousand rpm then return to normal. When in gear a slightly rough idle is all I notice.
Since there are so many gaskets on BO, this gives me the impression that this is a chronic problem either with the original design or quality control. Since a chronic problem, I'm thinking that it might be possible to compain to Toyota to correct the problem at their expense, even though out of warranty. Worth a try.
The AutoGuide.com network consists of the largest network of enthusiast-owned enthusiast-operated automotive communities.
AutoGuide.com provides the latest car reviews, auto show coverage, new car prices, and automotive news. The AutoGuide network operates more than 100 automotive forums where our users consult peers for shopping information and advice, and share opinions as a community.
ToyotaNation.com is an independent Toyota/Lexus enthusiast website. ToyotaNation.com is not sponsored by or in any way affiliated with Toyota Motor Sales, USA, Inc. The Toyota, Lexus and Scion names and logos are trademarks owned by Toyota Motor Sales, USA, Inc.