When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I posted this up on the HP Tuners forum for someone who was having issues with AC engagement driving his idle into oscillation and killing the engine. The solution is a pretty simple concept that goes overlooked often.
Can anyone shed some light on why its commanding the iac to close when it commands the ac on? Doesn't always do it. mostly it works flawless. Seem to be only after a hot soak. Will act up after its restarted for 20-30 min.
Originally Posted by smokeshow
Think of the IAC behavior right before the AC compressor kicks on as 'filling a tank' for later, immediate use. You're filling that tank slowly with a thin hose, but once you have it full, it's all available there when you need it. This is what the IAC is doing when an AC compressor clutch engagement is pending - it's filling that tank, which is the intake manifold in this case. Air moves slowly relative to how fast you can change spark advance, which is key here...they are both components of torque production. Air is the 'slow' part of the torque, spark is the 'fast' part. However in order to keep the intake manifold full of air and prevent generating excess torque and causing unstable idle, the ECM pulls spark (ideally) exactly proportional to the amount of (potential) torque that was added by the air introduced to the manifold by the IAC. You can see this in your data: IAC opens, MAP increases, spark drops, and hopefully RPM doesn't change.
Now if it isn't obvious, we did this for one reason...so have a large torque reserve that is capable of handling the 20-50Nm load that the AC compressor will be putting on the crankshaft. If we tried doing this with air alone, the compressor would drag your RPM around because air is slow to respond, which is exactly what you're experiencing. But now with that spark retarded temporarily, if the AC compressor tries to lug the engine, we just have to wait until the next power stroke for more torque (happening 10 times a second for a V8 idling at 600rpm). It's much faster and thus allows a more stable idle RPM during torque transients.
So to your question, why does the IAC close when the compressor turns on... As the compressor loads up the crankshaft, we want to deplete this reserve and get back to normal idle while the AC torque load feedforward terms ramp in and take over steady state load of the compressor. This involves choking back the IAC (or the throttle body in newer vehicles) and bringing spark back up to its new steady state level. Once you've done this, the torque transition is complete. It's important to remember though that this isn't just for AC compressors. Any calibration worth its salt will have the idle torque reserve carefully dialed in so as not to have too little reserve and be unstable, but not too much and wasting energy. It is also used for transmission shifts of all kinds, electrical load transients, etc...anything that can affect torque at the crankshaft can be mitigated by using a torque reserve.
This brings me to your original problem of idle oscillation and eventual engine stall. To put it simply, your current idle spark advance is far too high and is driving the idle out of control. In your case, 27 degrees of idle spark is generating a lot of torque with little air, thereby minimizing your idle torque reserve. Because of that high spark value, it is trying to push RPM above its target and driving LTITs and STITs negative as the IAC generates the torque reserve in the manifold. So when it comes time to deplete that torque reserve to handle the AC torque transient, the IAC is slamming completely closed, choking your engine of air and causing oscillation and stalls. By the time the software catches this impending stall event, sometimes it's too late to save it because the air can't fill the manifold fast enough.
tl;dr ... If you have idle oscillation issues, it's a good bet to pull out some spark and add a little air.
Might be slightly off-topic but I had ac issues while idling. It WOULD NOT get cold to save my life. Fans were on.
A lot of reading/soul searching and one post suggested to turn the adaptive idle back on. So I put stock values in it and holy hell, 42 degrees comes out of the vents at idle now.
I half-way understand why it worked but I'm just glad it worked.
Might be slightly off-topic but I had ac issues while idling. It WOULD NOT get cold to save my life. Fans were on.
A lot of reading/soul searching and one post suggested to turn the adaptive idle back on. So I put stock values in it and holy hell, 42 degrees comes out of the vents at idle now.
I half-way understand why it worked but I'm just glad it worked.
Yeah, if your idle oscillated enough to activate any load shedding routines, the AC compressor wouldn't stay on long enough to cool you down. Without adaptive idle, you don't have that idle reserve I mentioned...it's just targeting MBT, or as close to it as possible. So any load disturbance is going to affect RPM. Seen this a couple times.