Explanation???

I was wondering if anybody could give me a brief description of what the IAC actually does? I know that it controls the idle and that there is a tiny little solenoid that is inside, but I have no idea how it communicates to the engine, what data it's getting, and the overall purpose of the solenoid.

I've done a little research and couldn't really find a description that fit my question. I'm trying to figure out why my car idles very poorly when I first crank it, but then generally cures itself after a couple of minutes and acts somewhat normal (except for exaggerated hanging rpms and sometimes erratic bounces of rpms).

Does anybody know if the IAC is used differently after the car warms up, or if the ECM changes over to a different portion of the program after the car has been on for a couple of minutes. This just doesn't make sence to me.
 
I was wondering if anybody could give me a brief description of what the IAC actually does? I know that it controls the idle and that there is a tiny little solenoid that is inside, but I have no idea how it communicates to the engine, what data it's getting, and the overall purpose of the solenoid.

Think of the IAC as nothing more than an air passage around the throttle plate. The PCM uses the solenoid to control the size of that bypass; when it's open far, lots of air gets into the engine and the idle speed rises. When it's open just a little, not much air bypasses the throttle plate and the engine slows. The PCM is continually modulating the solenoid at idle to allow just enough air around the throttle plate as to achieve the desired idle speed.

I've done a little research and couldn't really find a description that fit my question. I'm trying to figure out why my car idles very poorly when I first crank it, but then generally cures itself after a couple of minutes and acts somewhat normal (except for exaggerated hanging rpms and sometimes erratic bounces of rpms).

Does anybody know if the IAC is used differently after the car warms up, or if the ECM changes over to a different portion of the program after the car has been on for a couple of minutes. This just doesn't make sence to me.

The desired idle speed -- the speed the PCM wants the engine to idle at -- certainly changes in response to coolant temperature, run time and so on.

You might consider getting a scan tool on the car and looking at the reported coolant and inlet air temps, MAF, fuel pressure, fuel trims and so on. If the car definitely cleans up after a couple of minutes, you may have an open-loop (that is, the PCM isn't yet relying on feedback from the O2 sensors to set the fuel delivery) fuel delivery issue, perhaps running too rich. When the sensors heat enough to produce useful output, the PCM adjusts the mixture to the correct value, cleaning up how it runs...
 
thanks,
that was a very helpful answer. I'm still working on this, and maybe I can use my x-cal to datalog and figure out what's going on...it's still hard to believe that there are about 10-15 different reasons why my car could be acting the way it is and it's killing me trying to narrow it down. I've got shop time next week at a local tuner, and he said he'd look at it with me while I'm getting the other work done to my car. If I can't get it ironed out by then, I'm hoping he'll be of some help
 
on this same note, with the AC/Defrost turned on, is it normal for the idle to stay at the normal 800 rpm range, then rev up to 1200 rpm for 2 seconds, then drop to 800 rpm for 10 seconds.. and then back up again?

I just want to make sure, because mine does that, and I'm not sure if its just means to be at like 950-1000 rpm constantly, or if its really supposed to "zig-zag" like that?