PCM Diagnostics & Tuning HP Tuners | Holley | Diablo
Sponsored by:
Sponsored by:

Idle Operation Part 1

Thread Tools
 
Search this Thread
 
Old 07-15-2004, 02:14 AM
  #1  
FormerVendor
Thread Starter
 
gameover's Avatar
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 525
Likes: 0
Received 0 Likes on 0 Posts
Default Idle Operation Part 1

As promised here's the first installment of the idle airflow calculations the PCM uses to control the engine idle. Again, i don't profess to know everything and happy to take corrections from people, especially on terminology, since i have a habit of just making names up that sound right to me

Also, this is not an exhaustive list of every little thing and possible outcome that the PCM does on idle calculations, because it is a very complex state machine, but you'll get the idea...



Chris...



Idle Airflow Operation


General Operation
The PCM calculates the IAC position based on a number of Airflow calculations and estimations, the final idle airflow value consists of the following two main components:
- Base Idle Airflow (Base + LTIT)
- Adaptive Airflow correction (STIT)

LTIT = Long Term Idle Trim
STIT = Short Term Idle Trim

Note: i just made these names up cos they are easier to understand than proportional blah blah, integrator slow filtered idle airflow...

The first thing to realise is that the PCM only runs the adaptive idle control routines when at idle conditions (below certain TPS and MPH limits). However, the base airflow routine is controlling the IAC position during all driving conditions (things you are aware of already, such as the Throttle Cracker, and if you set your Base Running Airflow values too high you get cruise control etc.)

Base Idle Airflow
The Base Idle Airflow is combination of looked up values from various tables within the PCM and also incorporates a Long Term Idle Trim (LTIT) correction. This airflow directly controls the IAC position when at non-idle and is the "starting point" for adaptive idle control. The base airflow consists of the sum of the following individual components:

Base Running Airflow
- this is the main Idle Airflow when in PN (A4 only) or Gear (A4 or M6)
- a table vs ECT

Startup Airflow
- additional airflow during engine startup and initial run period (decays to zero in the first few seconds of engine operation)
- a table and a few delays and decay rates

Startup Spark Retard Airflow
- airflow correction to account for startup spark retard (if used)

Fans On Airflow
- Additional airflow to account for increased engine load during cooling fan operation
- Two values depedending if one fan active or both active.

DFCO Airflow
- used to set IAC position during DFCO

Throttle Cracker Airflow
- additional airflow to open the IAC based on MPH and RPM
- zero duing idle conditions
- a table

Throttle Follower Airflow
- controls rate of closing the IAC valve during throttle closure
- zero during idle conditions
- a few tables of initial value and decay rates

Long Term Idle Trim Airflow (LTIT)
- a slow moving correction based on the adaptive idle routines (think LTFT's for fuel)
- the idea of this correction is to bring the Short Term Idle Trims (STIT) to zero
- it has +ve and -ve limits
- a calculated value

AC Airflow
- airflow correction for when the AC is on, this is a torque based calculation that estimates how much torque the AC is pulling and calculates an airflow correction to compensate.

IAC Park Airflow
- airflow used to calculate IAC position when ignition is off and engine not running
- used in place of all of the ablove
- a table

The combination of all these components is what i call the Base Idle Airflow in grams/sec.


Adaptive Idle Control
The whole point of the idle control routines is to maintain the desired Idle RPM. The PCM therefore needs to "close the loop" and use the Idle RPM error as a feedback to provide this control. The monitoring of the Idle RPM results in a Short Term Idle Trim (STIT) that provides the fast moving closed loop control of the IAC valve. Again here it is very analagous to the STFT's and feedback from the O2 sensors. Thats why i chose these names rather than the normal Proportional, Integral, Derivate stuff that makes most peoples head spin...

Okay, so the PCM has a Desired Idle RPM it is trying to achieve and it is constantly measuring the current RPM and calculating an Idle RPM error value. The PCM uses various agressive and not so agressive algorithms to control the STIT, to provide fast convergence (and also stall saver capability) but also reasonable idle stability.

During all this, the PCM is maintaining a fairly complex state machine of are we at idle, is the engine transitioning back to idle, etc. The PCM does remember a few different last known state of the STIT, such as when you turn the AC on the PCM stops updating the "ACoff STIT" and starts updating the "ACon STIT" (again here think Fuel Trim cells). The idea of this is that when you turn the AC off the PCM can quickly return to the original IAC operating point. For A4 vehicles you also have the PN/Gear dimension as well.

A good example of the STIT in action is if you have an M6, you have your foot on the brake and you partially let the clutch out and you feel the engine pull harder to try and maintain the desired idle RPM. If you were logging the IAC steps or the desired idle airflow you would see it increase. Very soon with our scanner you will be able to log the LTIT and STITs directly and see them correcting. Monitoring the LTIT and STIT is a very good tool to get your Base Running Airflow values correct, ensuring your LTITs are not maxing out on the limits and troubeshooting PN/Gear and Fan On/Off stumble etc. especially after head/cam install.


Desired Idle Airflow
So the net result, is that the PCM takes the Base Idle Airflow (including LTIT) and then adds the STIT to come up with a final Desired Idle Airflow (which generally is available as a PID for logging). Then there is a final step that takes this airflow value and translates it to the actual IAC valve position or the ETC TPS position. Maybe more on this later, but it's basically just a units transformation for the most part and the IAC and the ETC have their own control routines and state machines that effectively take this idle airflow as an input.


What else?
In addition to the Idle Airflow routines the PCM also has an RPM based idle spark correction "closed loop" operation that it uses to control the idle RPM. Since the spark advance can move much faster than the IAC, it can provide very fine control of idle speed. When logging you will see this as a jagged spark advance chart, most noticable with cams at lower idle RPMs where the spark advance generally oscillates between it's min/max allowed values as the engine "cams" at idle.

END.
Old 07-15-2004, 12:23 PM
  #2  
TECH Addict
 
Bink's Avatar
 
Join Date: Jul 2002
Posts: 2,258
Received 0 Likes on 0 Posts

Default

Thanks! A lot to assimilate here.
joel
Old 07-15-2004, 09:44 PM
  #3  
TECH Addict
 
Bink's Avatar
 
Join Date: Jul 2002
Posts: 2,258
Received 0 Likes on 0 Posts

Default

gameover - have you been able to compare ETC calibrations with nonETC calibrations?? Do you see differences in how the "IAC Park" and "IAC reset" with the ETC and nonETC calibrations? TIA.
joel
Old 07-15-2004, 09:57 PM
  #4  
TECH Enthusiast
iTrader: (12)
 
gojo's Avatar
 
Join Date: Mar 2002
Location: w.s.n.c.
Posts: 539
Likes: 0
Received 0 Likes on 0 Posts
Default

gameover. Nice writeup and good info. To pick up on Joel's question, think you might find some time to look at the differences between cable and fly by wire? One difference that is important to your C5 customers is the IAC Park table and how it relates.
Joe
Old 10-15-2004, 04:02 PM
  #5  
TECH Addict
iTrader: (6)
 
P Mack's Avatar
 
Join Date: Jan 2003
Location: Phoenix
Posts: 2,382
Likes: 0
Received 2 Likes on 2 Posts

Default

Wow, great thread. I completely missed it somehow back in July. I am interested in how the desired airflow is translated into an iac position, because i think understanding that could help with cruise control effects, etc.
Old 10-15-2004, 10:57 PM
  #6  
TECH Addict
 
Another_User's Avatar
 
Join Date: Feb 2004
Posts: 2,826
Likes: 0
Received 0 Likes on 0 Posts
Default

We need part 2. I don't mean to be picky, but there are massive gaps in that info that I have been trying to get filled. But nobody has stepped up with the goods yet. Anybody? Please?
Old 10-16-2004, 07:32 PM
  #7  
TECH Enthusiast
iTrader: (2)
 
itchygomey98's Avatar
 
Join Date: Oct 2003
Posts: 617
Likes: 0
Received 0 Likes on 0 Posts
Default

My head hurts every time I read one of Gameover's posts.
Old 10-16-2004, 08:39 PM
  #8  
TECH Addict
 
Another_User's Avatar
 
Join Date: Feb 2004
Posts: 2,826
Likes: 0
Received 0 Likes on 0 Posts
Default

I like his posts. I just need additional info.
Old 10-16-2004, 11:02 PM
  #9  
TECH Enthusiast
iTrader: (2)
 
itchygomey98's Avatar
 
Join Date: Oct 2003
Posts: 617
Likes: 0
Received 0 Likes on 0 Posts
Default

I like his posts too, but a LOT of what he says is over my head at this time.
Old 11-26-2004, 09:51 PM
  #10  
TECH Addict
 
Bink's Avatar
 
Join Date: Jul 2002
Posts: 2,258
Received 0 Likes on 0 Posts

Default

Any additional info on this??? Fly by wire info??? TIA.
Old 11-26-2004, 10:05 PM
  #11  
TECH Addict
 
Another_User's Avatar
 
Join Date: Feb 2004
Posts: 2,826
Likes: 0
Received 0 Likes on 0 Posts
Default

Yeah, right...nothing new. This board has been dead lately. Must be the holidays or something. I thought for sure my thread on eliminating surging and bucking would have gotten some interest. But it's a "floater" just like the rest of these.
Old 11-26-2004, 10:34 PM
  #12  
FormerVendor
Thread Starter
 
gameover's Avatar
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 525
Likes: 0
Received 0 Likes on 0 Posts
Default

okay so here's some extra info re ETC. I'm just adding all this stuff to our editor at the moment so its a good time to write this down...

Let's pickup at the "Desired Idle airflow part, which is the final "airflow" value the idle control routines deliver to set either the IAC motor position or the ETC position.

After the "Desired Idle Airflow" is calculted , it is then translated into an "Effective area" value in square millimeters (mm2). This is the cross sectional area required to deliver the airflow desired (taking into account air density and pressure ratio across the throttle/IAC). Now at this point the calculation branches to either IAC or ETC.

If IAC is installed the "Effective Area" is translated into a number of "steps" that delivers this area (a table of IAC Steps vs. Effective Area).

If ETC is installed then there is a single value that translates "Effective Area" into "Desired throttle area percent" units of % area per mm2. This number is then handed over to the ETC routines that control the ETC TPS %.

The ETC logic is quite simple in that it has two main inputs the Accelerator Pedal Position (APP%) and the "Desired throttle area percent" (IAC%). In the ETC code there is a maximum value that the IAC% is clipped at as a safety check (mostly on the throttle cracker), but the Throttle Cracker, Follower, Adaptive and various compensation routines are all the same tables (ie. the ETC code has nothing extra).

Now, the ETC looks at the APP% and checks if it is 0. If it is not 0 then the commanded ETC position is a direct function of the APP%+IAC% (accounting for throttle cracker). If it is zero then the ETC position is controlled via the IAC% (as you would expect).

Once this ETCDesiredThrottleArea% has been passed thru the numerous limiter functions (ETC RPMlimiters, MPH limiter, TorqueMangement etc.) the final ETC Rotation% is calculated via a simple transfer function of ETC Rotation% vs DesiredThrottleArea%.

There are maximum slew rates, minimum position checks and a few other bits n peices here as well, but in terms of idle nothing else comes into it.

Unless you have modified your ETC in anyway, there whould be no reason to change the ETC% vs EffectiveArea scaler or anything else there as far as i can see.

Hope that helps,

Chris...
Old 11-26-2004, 11:08 PM
  #13  
TECH Junkie
iTrader: (9)
 
JimMueller's Avatar
 
Join Date: Jan 2002
Location: Casselberry FL
Posts: 3,964
Received 52 Likes on 43 Posts

Default

I can't follow it... it would be much easier if you'd just send me the latest beta version
Old 11-26-2004, 11:22 PM
  #14  
TECH Addict
 
Bink's Avatar
 
Join Date: Jul 2002
Posts: 2,258
Received 0 Likes on 0 Posts

Default

Thanks gameover!!!!! It's going to take me awhile to get thru this - but I'll survive

I've installed a 90mm TB - how does that effect the "Effective Area" and "Desired Throttle Area Percent"?
It seems like with a 90mm blade the true "Effective Area" would be larger than stock - but the ETC doesn't know this - would it "learn" this value downwards to compensate for the additional TB (true/actual 90mm) Area?

Thanks,again. Big help!!
Old 11-27-2004, 12:30 AM
  #15  
FormerVendor
Thread Starter
 
gameover's Avatar
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 525
Likes: 0
Received 0 Likes on 0 Posts
Default

Originally Posted by Bink
Thanks gameover!!!!! It's going to take me awhile to get thru this - but I'll survive

I've installed a 90mm TB - how does that effect the "Effective Area" and "Desired Throttle Area Percent"?
It seems like with a 90mm blade the true "Effective Area" would be larger than stock - but the ETC doesn't know this - would it "learn" this value downwards to compensate for the additional TB (true/actual 90mm) Area?

Thanks,again. Big help!!
Yeah the adaptive idle (RPM learn) would learn you back, but you could be hitting the adaptive limits. In anycase setting your base Running Airflow lower would fix it. The biggest issue i see is the adaptive trim move quite slowly, hence the reason GM's idle relearn procedure says to idle the car in PN and Gear, AC on/Off for relatively long periods of time after making any changes. For the Idle airflow long term trims to move 1 g/sec takes about 30secs to 1 minute. The short term trims move very quickly (just like fuel trims). If you don't wait for them to adjust you will get funny behaviour when tuning your idle and won't really know why...

I'll be adding these things to our scanner real soon to assist folks tuning idle.

The Idle routines are a full Proportional, Integral, Derivative controller hence it's not real easy to describe in laymans terms...

Chris...
Old 11-27-2004, 08:30 AM
  #16  
TECH Addict
 
Bink's Avatar
 
Join Date: Jul 2002
Posts: 2,258
Received 0 Likes on 0 Posts

Default

Okay, now I get it. Makes sense of what I've seen - old 78mm TB RAF was 11.0+ ( 80*C and above) and now with 90 mm TB it's 10.6.
With the ETC and a Nick Williams-90 mmTB "Idle Relearn" is a Must with each flash - at least that's my experience.
Nick's 90mmTB is a work of art. My IAC Park values and Throttle Followers are all stock !! Functionally it is a masterpiece - my hat's off to Nick!!


The Idle routines are a full Proportional, Integral, Derivative controller hence it's not real easy to describe in laymans terms...
I guess this makes sense in terms of functions, slopes, integrals and derivatives. Are we talking Calculus here??

Last edited by Bink; 11-27-2004 at 11:21 AM.
Old 11-27-2004, 09:59 AM
  #17  
TECH Addict
 
Another_User's Avatar
 
Join Date: Feb 2004
Posts: 2,826
Likes: 0
Received 0 Likes on 0 Posts
Default

So basically, there is a conversion for g/sec to IAC counts, yes? Because it makes no sense to me that Running Airflow would be the same no matter what you drill your throttle body to, or how you change your set screw. Because making those changes instead of changing Running Airflow works. So is there some conversion, so you can log your actual IAC counts and correct your Running Airflow table? Or is there some variable we cannot change yet, like Airflow vs. Actual IAC Position?
Old 11-27-2004, 11:42 AM
  #18  
10 Second Club
iTrader: (4)
 
WAHUSKER's Avatar
 
Join Date: Feb 2004
Location: Marysville, WA
Posts: 9,448
Likes: 0
Received 0 Likes on 0 Posts
Default

Chris,

My car has a problem when it's moving. The idle stays up above 1500 rpm at any speed above 5mph. Kinda like an unwanted cruise control, it rolls along at 35mph with my foot off the gas. Even if I put in in neutral it stays at 1500 until I get back down to 5mph. Then it drops to 800 where I have the idle set.

I read thru this thread & others, & looked at my tune vs stock & jimmyblue's & horist's, but I just don't see where the problem is. Any ideas where to look? The Base Running Airflow table is at stock values. I assume it's from something the folks at Predator changed (or didn't) for my Hot Cam to make the car idle. And I originally drilled the TB & raised the idle screw to make it idle, but returned the idle screw to stock after getting the tune.

Mark

Good thread BTW. I think I'll paste this into my tuning tips Word document.

Last edited by WAHUSKER; 11-27-2004 at 11:49 AM.
Old 11-27-2004, 11:46 AM
  #19  
TECH Addict
 
Bink's Avatar
 
Join Date: Jul 2002
Posts: 2,258
Received 0 Likes on 0 Posts

Default

My guess is look at your "Throttle Cracker" table - too much airflow above 5mph. If your Idle AirFlow (RAF) is too high it will hand until the car stops. Hope this helps some.
Old 11-27-2004, 11:48 AM
  #20  
TECH Addict
 
Bink's Avatar
 
Join Date: Jul 2002
Posts: 2,258
Received 0 Likes on 0 Posts

Default

Originally Posted by Another_User
So basically, there is a conversion for g/sec to IAC counts, yes? Because it makes no sense to me that Running Airflow would be the same no matter what you drill your throttle body to, or how you change your set screw. Because making those changes instead of changing Running Airflow works. So is there some conversion, so you can log your actual IAC counts and correct your Running Airflow table? Or is there some variable we cannot change yet, like Airflow vs. Actual IAC Position?

Good question........gameover???


Quick Reply: Idle Operation Part 1



All times are GMT -5. The time now is 04:09 PM.