DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

Throttle Follower

Thread Tools
 
Search this Thread
 
Old 07-09-2005, 06:02 PM
  #1  
Supreme Member

Thread Starter
iTrader: (2)
 
Fast355's Avatar
 
Join Date: Jan 2005
Location: Hurst, Texas
Posts: 9,969
Received 379 Likes on 323 Posts
Car: 1983 G20 Chevy
Engine: 305 TPI
Transmission: 4L60
Axle/Gears: 14 bolt with 3.07 gears
Throttle Follower

Well I have the TBI 312 running great except one thing. When I let off the gas it keeps going, and going, and going. It takes over 1 mile to coast from 70-45 on level road. I can tap the gas like pulling into the garage or a parking space and it lunges ahead with me standing on the brake. When I tap the gas it jumps to 1,400 rpm and stays even with my foot off the gas. It even did it at the track one night, I spun the tires off the line, let off, and the thing kept spinning the tires. Pretty scary in the rain I might add. PLEASE help!

Edit- I forgot to mention I checked the throttle linkage, it is good, and the TPS measures 0% as well, the IAC counts are high however(when the engine is running at 1,400). I have the command idle speed at 700 as well. How do I get the IAC counts down so that I can slow down while coasting.

Last edited by Fast355; 07-09-2005 at 06:04 PM.
Old 07-09-2005, 06:42 PM
  #2  
Member

 
HaulnA$$'s Avatar
 
Join Date: Jul 2003
Location: Dallas
Posts: 457
Likes: 0
Received 1 Like on 1 Post
I had the same problem when I ground the throttle shaft on my TBI for better flow. When I reassembled the throttle body, I didn't put enough tension on the throttle return spring. It seemed to work fine in a static state, but when the engine was running, it didn't have enough tension to overcome the engine vacuum. HTH
Old 07-09-2005, 06:50 PM
  #3  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Re: Throttle Follower

Originally posted by Fast355
What mask?.
Old 07-09-2005, 10:03 PM
  #4  
Supreme Member

Thread Starter
iTrader: (2)
 
Fast355's Avatar
 
Join Date: Jan 2005
Location: Hurst, Texas
Posts: 9,969
Received 379 Likes on 323 Posts
Car: 1983 G20 Chevy
Engine: 305 TPI
Transmission: 4L60
Axle/Gears: 14 bolt with 3.07 gears
DUH, forgot to mention it is a 7747 with the $42 (I think thats right)

Oh yeah I also noticed that with the A/C off it usually behaves and returns immediately upon coming to a stop. With the A/C on it stays ramped up to 1,000 rpm even when stopped.
Old 07-10-2005, 08:55 AM
  #5  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Fast355
DUH, forgot to mention it is a 7747 with the $42 (I think thats right)

Oh yeah I also noticed that with the A/C off it usually behaves and returns immediately upon coming to a stop. With the A/C on it stays ramped up to 1,000 rpm even when stopped.
This should cover your IAC questions....




747 ECM IAC Control

Robert Rauscher
10/14/2000, updated 12/4/00

Copyright 2000, Robert Rauscher, All Rights Reserved.

This is specific to the 747 ecm. However, the methods and madness applies to many of the GM ecm's. (Use at your own risk, no guarantee that any of this is correct.)

Note:

Values such as 0x22D are eprom table addresses. These you
can easily change.

Values such as L0004 are RAM variables. These are used by
the ecm during it's processing.


INTRO:

IAC is the abbreviation for 'idle air control'. This is a little
misleading, as many external factors affect how the IAC reacts. Along with controlling the idle speed, the IAC is in use while cruising and accelerating. It is used in the anti-stall process and the DFCO process. As part of the fueling routines, additional fuel is added whenever the IAC is retracted.

Not all IAC control parameters are covered here.


WHAT THE IAC IS:

The IAC itself is an electro-mechanical device. It is a linear stepper
motor with a cone-shaped pintle attached to the end of the control rod.
This pintle is moved into and out of an orifice that bleeds air around the throttle blades. This orifice is generally about 5/16 of an inch in diameter.

The IAC position and control are measured in steps. One step moves the pintle a small amount. The full range is typically from zero steps to two-hundred steps. Zero steps are when the pintle is fully extended, closing off all IAC bleed air flow.

As the steps are increased, the pintle is retracted from the orifice,
allowing more air to bypass the throttle blades. This has the effect
of increasing the engine speed. Remember that an IAC retract (or an increase in steps), opens the air passage to raise the engine speed.


BASIC OPERATION:

With the engine off, the IAC will be at the park position. This is
the position used upon cranking the engine. Once the engine starts, the ecm will start to move the IAC to another position. This position is from a table lookup of steps vs. coolant and a baro correction.

However, the IAC does not move to the new position immediately. If it did, the engine would react suddenly, possibly stalling. The difference between the original park steps, and the newly desired steps vs. coolant, are lag filtered. These filters control the rate at which the IAC moves.

Once the IAC has moved to it's new position, the idle logic starts to act. The goal here is to attain, then maintain, the desired idle rpm. Is does not matter whether the engine is in closed loop or open loop, the idle logic takes over.

A key here is: As long as the current idle speed touches the desired idle rpm plus the idle error term, within the time delay, no change to the idle speed will take place. If the idle goes outside of the limits, the IAC will be moved to compensate.


Now that the engine is idling, sooner or later the driver will hit the
gas. Now the throttle follower logic kicks in. As the tps% increase, so does the IAC steps. Again, this action is lag filtered. As the throttle is then closed, the IAC retracts, lag filtered.

Upon the engine being shut off, the IAC goes through a reset process. The IAC is stepped to the reset position, stepped to the zero position, then stepped to the park position. This calibrates the positioning of the IAC, along with leaving it in place for the next cranking to start.


There are additional factors that affect the IAC position. If the battery voltage dips, the IAC can increase the idle. The A/C turning on, or decel fuel cutoff (DFCO), can affect the current IAC position.

For an idea of how these factors can work, I'll use the A/C turning
on as an example. With the engine at IAC controlled idle, and the A/C turning on, additional steps are immediately added to the current IAC position. Another table value also adds to the desired idle rpm. Lets say the desired idle rpm went from 800 rpm, to 850 rpm.

The steps that were added, are decayed out. However, the idle logic is also attempting to hold the idle at the newly desired rpm. An astute driving may notice a slight increase in idle, along with a dip in idle, as the new idle speed is attained by the ecm.


TABLES and PURPOSES:

The following values are the eprom table addresses.

0x293: Additional fuel added during IAC opening. (val = msec * 16.384).
Acts like a pump shot (Do not use as one.)


0x5C1:


0x5C2: IAC park position. IAC is immediately moved to this position after engine stop and IAC reset completion. This is the IAC position for engine cranking and start.


0x5C3: Park to run delay. Delay from engine start, to the IAC moving to the run position: IAC vs. coolant. (val = seconds * 40)


0x5C4: Stall saver cut-in rpm (rpm / 12.5). If the engine rpm drops
below this value, the IAC is further retracted according to the steps in the stall saver table at: 0x60A, four lines, lookup by baro. This action is immediate and not subject to lag filtering.


0x5C5: Stall saver cut-out rpm (rpm / 12.5). Once above this rpm,
the above added steps are decayed out (lag filtered).


0x5C6: %tps for idle threshold. Used in conjunction with a hardcoded 0 mph. These two values define whether the engine is in idle or not. If engien is not considered to be in idle, no idle speed control is attempted.


0x5C7: Time delay for small error IAC retract. (desired idle too low)
0x5C8: Time delay for large error IAC retract. (desired idle too low)
0x5C9: Time delay for small error IAC extend. (desired idle too high)
0x5CA: Time delay for large error IAC extend. (desired idle too high)

The past four entries are used to slow-down, or delay, the operation of the IAC at idle. When in closed loop idle, the IAC attempts to maintain the desired idle. The error term is the difference between the desired idle rpm and the current engine rpm.

A larger error term has a shorter delay, to move the IAC quicker. Once the idle is close, the delay is longer. This is done for better control of the idle speed.

If the engine idle oscillates wildly, seems like the IAC can not
'keep-up', increasing these values (slightly), may correct it. Note
that an oscillating idle can also be caused by incorrect VE% and SA tables.


0x5CB: Rpm breakpoint for large error retract (rpm/12.5).
0x5CC: Rpm breakpoint for large error extend (rpm/12.5).

These past two entries are the rpm breakpoints for the previous four IAC error time delays.


0x5CD: Idle deadband (rpm/12.5). Amount of idle variance allowed within the time delay (0x5C7 - 0x5CA). More than this amount will cause the IAC to respond, affecting the current idle speed.


0x5CE: IAC reset steps. Upon engine stop, the IAC is retracted
to this position, moved to zero steps, then parked at park steps (0x5C2).


0x5CF: Additional startup steps when A/C on.


0x5D0: Minimum IAC differential steps with A/C on. (?)


0x5D1: Maximum IAC differential steps with A/C on. (?)


0x5D2: IAC shutdown voltage (Volts * 10). If vehicle voltage drops below this value, the IAC is no longer stepped.


0x5D3 & 0x5D4: DFCO steps. Number of steps to add to IAC whenever DFCO is in effect. Will not be decayed out until DFCO is no longer in effect. This status is from the fuel routines. Uses decay filter coeficient @ 0x5EA.
Note that this is a double byte value. The actual steps are in 0x5D3, with a fractional amount in 0x5D4. So set 0x5D4 to 0.


0x5D6: Added steps for A/C on. These steps are immediately added upon the A/C being switched on. They are decayed out, with the idle control logic maintaining the desired idle.


0x5D7: Kickdown delay timer value (seconds).
0x5D8: Kickdown steps.

These two together form a post-startup rpm reduction. The kickdown delay timer starts right after startup. Once the timer has expired, the IAC is extended by the amount of kickdown steps.

A nuance: The kickdown steps must be less than the steps used in the IAC position vs. coolant table value (0x5F5): Otherwise kickup will occur. The kickdown steps are subtracted from the IAC position steps, and are added to a term that is decayed out.


0x5D9: IAC steps subtracted from current idle position when placed into gear (auto).


0x5DA: Additional idle speed, added to desired idle rpm when A/C on. (rpm / 12.5).


0x5DB: Idle rpm for closed loop aldl diag mode (rpm / 12.5). Used
for troubleshooting.


0x5DC: IAC retract steps for vehicle voltage drop.
0x5DD: Vehicle voltage drop required (Volts * 10).

Whenever the vehicle voltage drops by the value in 0x5DD, the IAC is retracted by the steps listed in 0x5DC. This is intended to
bump up the idle to maintain alternator output.

As long as the vehicle voltage drop IAC bump is in effect, the IAC
steps will not be decayed out.


0x5DE: Maximum IAC steps. This is the maximum retract steps allowed.
(Except for engine stop reset).


0x5E4: Low VSS filter coefficient.
0x5E5: Medium VSS filter coefficient.
0x5E6: High VSS filter coefficient.

These filter coefficients are used to slow the throttle follower action of the IAC. When IAC position calculations are made, it is not advisable to immediately move the IAC to that position. Instead, the action is lag filtered to control the speed of the IAC action.

There is one of three filter coefficients used depending upon the vehicle speed. A higher value has less filter action, increasing the IAC speed.


0x5E7: IAC extend delay, low vss (seconds / 5).
0x5E8: IAC extend delay, high vss (seconds / 5).

Delays IAC extend after an IAC retract command. Can cause a 'rpm hang' after a throttle blip or throttle lift.


0x5E9: Decay filter coefficient. Used when DFCO not active.
0x5EA: Decay filter coefficient. Used when DFCO is active.

These filters are used to decay out IAC step increases due to items such as the battery volt drop, DCFO, hot restart retracts, and kickdown.

0x5EB: Fast decay filter coefficient. This filter is used to decay
out the stall saver step increases.


0x5EC: Low VSS threshold (mph * 3.2).
0x5ED: High VSS threshold (mph * 3.2).

These are the VSS thresholds used to define which filter coefficient to use. Selected from the values at 0x5E4 - 0x5E6, depending upon VSS.


0x5EE: Minimum IAC throttle follower steps when above Low VSS. Whenever the vehicle speed is above the mph defined at 0x5EC, the IAC TF will not step lower than this value.


0x5EF: Minimum TPS% required for throttle follower IAC steps.
0x5F0: Percent of throttle follower in park/neutral (for auto only).
0x5F1: Percent of throttle follower not in park/neutral (also manual).
0x5F2: Maximum throttle follower in steps.

As the throttle opens, the IAC is retracted. As the throttle closes,
the IAC will extend. The speed at which the IAC extends following the throttle is controlled by the filter coefficients at locations:
0x5E4 - 0x5E6, dependent upon the VSS.
Old 07-10-2005, 08:57 AM
  #6  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Grumpy

The throttle follower value along with the filter coefficients affect how the engine returns to idle after the throttle is closed. This includes both a return to idle on a throttle blip, along with affecting ease of shifting (manual tranny). Note that the throttle follower IAC retract steps are not filtered. The IAC opens as quickly as the throttle in opened.


0x5F3: A coolant temperature value for a cold kick down enable? Used to enable the use of the values @ 0x5E1, 0x5E2 & 0x5E3.


0x5F4: N-bias. The first time this speed is exceeded, the current IAC
count in L00CC is added to L00CB. I am not sure of the intention of this.


0x5F5: IAC position vs coolant temperature (in steps). Seventeen line
table versus coolant. From hot ( > 136C), to cold ( < -8.5c). After the engine starts, the IAC is decayed from the park position to this position, with adjustments.

These adjustments can include: A/C on, baro, low battery.

I have found that it is better to set the IAC position vs. coolant
values a little on the low side. This allows the rpm to drop below the desired idle speed, to then be 'caught'. Otherwise, it seems as though the idle never drops down to where it should be.


0x606: IAC position vs baro at reset (in steps). 4 line table, added
to the IAC position vs. coolant lookup. Do not set this table too low, it appears to have something to do with how much idle adjustment can be made.


0x60A: Stall saver IAC increase vs baro (in steps). 4 line table.
Whenever the idle drops below the stall-saver speed (0x5C4), the IAC is immediately retracted by this table value. Once the rpm rises above the stall-saver cutout speed (0x5C5), the added steps are decayed out.
The stall saver decay filter coeficient is at: 0x5EB.


0x60E: Desired idle rpm versus the coolant temperature. Nine line table, from 55c to 135c inclusive, in 10c intervals. Value is rpm / 12.5.

This is the end goal, the rpm at which the engine should idle. I have found that the table range is a bit on the high temperature side. When running cold aluminum manifolds, there may be little difference in the desired idle speed between 55c and 65c coolant.


MECHANICAL EFFECTS:

(I want to thank Bruce Plecan for discovering and documenting this gem).
With a TBI system, the IAC steps at idle can be crucial. Again, I am
referring to the hot'r street type engines. A rumpity-rump engine needs all the help it can get to idle. One area to be addressed is that of the throttle blade setting.

A typical TBI system will idle with an IAC count of 35 to 45. On a cam'd engine, zero steps may be better. Myself, I shoot for three to five steps with a warm engine, and no A/C. The reason for this has to do with the injectors residing above the throttle plates.


During idle, the TBI injectors are designed to spray onto the bore walls.
When this happens, the fuel runs down the walls, and past the throttle blades. The air speed past the throttle blades is very high. This action shears the fuel into vapor that is then able to travel to the chambers.

If the engine idles with a high IAC count, this IAC air is bypassing
the throttle blades, hindering the flow of fuel into the plenum. By
opening the throttle blades and reducing the IAC counts, there is a greater volume of air drawing fuel past the throttle blades.

Next time you are timing the engine, shine that light into the TBI
bores, and look. Then, knock out that throttle blade adjustment plug, and turn it in. Just keep an eye on the IAC count, you do not want to try to get it below zero. This is the reason I set the idle to have at least a couple of counts.


TIPS:

When turning in the TBI idle screw with the engine running:

Once the throttle opens past the TPS% value at: 0x5C6, the
IAC will stop controlling the idle speed. An engine stop,
wait ten seconds, and an engine restart will reset this value.

It is best to turn in the idle screw, then start the engine.
It is now possible to turn the screw out to set the minimum
IAC counts.


To reduce flair-up on engine start:

Lower the park position @ 0x5C2.
Lower the park to run delay @ 0x5C3.
Lower the kickdown time delay @ 0x5D7.
Lower the coolant vs. position values @ 0x5F5.


To quicken the return to idle after throttle blip:

Set delay @ 0x5E7 to 0.
Increase filter coefficient at 0x5E4.
Reduce throttle follower percentage @ 0x5F0 & 0x5F1.


When idle speed has been raised (cam'd engines), also raise the
stall saver speeds.


An oscillating idle can be caused by:

Incorrect VE% table (flatten idle area).
Incorrect SA table (flatten idle area).
Too fast IAC reaction, increase (slightly) the delay values
at 0x5D7 through 0x5DA.
Stall saver set too high (it's kicking in).
Battery voltage varying.


To make manual transmission shifting easier and smoother:

Set the throttle follower filter coeficient parameters so that
the engine rpm drop between gears matches the rpm required for
the next gear.


A large amount of throttle follower:

Can help top end power as it will allow more airflow.

------------------------------------------------------------------------

Random Notes:

Loaded into L00C2 only if greater than current value in L00C2:

0x5D3: DFCO steps
0x5D8: Kickdown steps
0x5DC: Battery voltage drop

0x303: Hot bias steps if kickdown already occured.

0x303: Hot bias steps. If kickdown has not yet occurred, this
value is added to whatever is in L00C2.

Note: L00C2 will not be decayed out if any stall saver is active.
Or, throttle follower steps are active?, (in L00C6).


The following are added together and stored in L00CB:

Lessor of L00E4 or L00C1
L00CE: Position vs. coolant
L00C2: (see above)
L00C4: stall saver
L00C6: throttle follower
L00CD: ?
0x5D6: A/C adjust steps

0x5D9: In park/neutral. Subtracted from L00CB.

After startup, idle control starts with L00CE being adjusted for proper
idle speed. L00CC gets incr's as L00CE decr's, and vica-versa.

L00E4 can also be increased to rasie the idle speed.

Vehicle has not yet moved.


**Once N-bias mph has been reached, the value in L00CC is added to L00CB.
L00CC is then set to zero. This can cause the engine speed to increase.



The idle control logic will not lower the engine speed whenever:

The vehicle speed is > 0 mph (hardcoded @ 0xF372), -or-
The tps% is greater than the value at: 0x5C6 (* 0.3906)

This means that the vehicle must be absolutely still for the idle control
logic to reduce engine speed. Else, the steps are held where they are. Of
course, the throttle follower and stall saver are still in effect.

If the vehicle is moving, and the engine speed drops below the desired
idle, L00CD will be increased to increase engine speed. Note that this
does not cause a change in L00CC.


If L00CD == 0 and L00C6 (throttle follower), > 0, then the idle control
will not be in effect. (See F2F9). Unless stall saver is decaying out.




-eof-
Old 07-10-2005, 09:12 AM
  #7  
Supreme Member

Thread Starter
iTrader: (2)
 
Fast355's Avatar
 
Join Date: Jan 2005
Location: Hurst, Texas
Posts: 9,969
Received 379 Likes on 323 Posts
Car: 1983 G20 Chevy
Engine: 305 TPI
Transmission: 4L60
Axle/Gears: 14 bolt with 3.07 gears
Thanks grumpy!!! All I needed to know plus some.
Old 07-10-2005, 01:52 PM
  #8  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Fast355
Thanks grumpy!!! All I needed to know plus some.
The thanks should be to RBob, he's the one that sorted though all that, but, you're welcome.
Old 07-10-2005, 02:56 PM
  #9  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,400
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
There is a correction and an addition to the above. This statement is false:

"A nuance: The kickdown steps must be less than the steps used in the IAC position vs. coolant table value (0x5F5): Otherwise kickup will occur. The kickdown steps are subtracted from the IAC position steps, and are added to a term that is decayed out."

Ignore it. And replace it with this (from a diy-efi post I made):


Well, I finally figured it out! It started with a new 195f thermostat that ended up being bad. Engine wouldn't get over 158f (70c) in coolant temp. So I have 20 minutes worth of low temp data.

The kicker was that the idle would not drop below ~1100 rpm. This was even with the idle vs coolant at 838 rpm. Hmmm, I've seen this before and now it's about time I looked into it.

The bottom line is that the kick down steps (@ $5D8) must be one step greater then the IAC position vs coolant table (@ $5F5) steps for the ECM to fully control the idle speed. To better understand, here is a cut of the IAC position vs coolant table (edit: from the hac, not the one I used):
Code:
*==============================================
* IAC MOTOR POSIT vs COOLANT
* (IN STEPS) ASDZ, 5.7L V8 TYPE $42 ECM
*
*
* TBL = STEPS
*==============================================
ORG $05F5 ;
;      STEPS ;   Deg c Deg f
;---------------------------------
LD5F5 FCB 24 ;   HOT   HOT
LD5F6 FCB 24 ;   136.0 277
LD5F7 FCB 24 ;   107.0 225
LD5F8 FCB 24 ;   91.0  196
LD5F9 FCB 24 ;   80.0  176
LD5FA FCB 24 ;   71.0  160
LD5FB FCB 24 ;   63.0  145
LD5FC FCB 24 ;   56.0  133
LD5FD FCB 40 ;   49.3  121
LD5FE FCB 50 ;   43.3  110
LD5FF FCB 65 ;   37.0  99
LD600 FCB 80 ;   30.5  87
LD601 FCB 90 ;   23.5  74
LD602 FCB 100 ;  15.5  60
LD603 FCB 110 ;  6.0   43
LD604 FCB 120 ;  -8.5  17
LD605 FCB 145 ;  COLD  COLD
*==============================================
Note the steps of 24 between HOT and 56c/133f. These values are one less than the kick down steps @ $5d8. It is set to 25.

What this means is that the ECM will take full control of the idle only when the coolant reaches 56c/133f. Then and only then will the ECM attempt to control the high idle rpm. (Now, kick down also has to have occurred. This is at $5d7, in seconds after eng start. Usually not a great period of time). This is when the ECM finally uses the IAC desired idle vs. coolant table at $60E.

Once the coolant is above the temp at $5F3 there is a high limit. The idle speed will be reduced if too high. This upper limit is at $5E1, in rpm / 12.5. Below that temp there is no upper rpm limit.

Until the coolant reaches the value that the IAC position vs coolant steps are less than the kick down steps, the ECM will only reduce the idle speed when it's above the upper limit.

So if you have changed the kick down steps or the IAC position vs. coolant table, make sure the table shown above has the proper steps: one less than the kick down steps, at the coolant values desired. If not the idle will tend to 'hang' high. Also note the upper idle limit at $5E1 that is used until the cutover to full idle speed control.

RBob.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
92firebirdguy
TBI
59
09-01-2016 07:53 AM
DiabloWS6
Southern California Area
5
02-15-2016 02:08 AM
DiabloWS6
Engine/Drivetrain/Suspension Wanted
20
12-11-2015 04:12 PM
carid
Sponsored Vendors
0
09-10-2015 09:33 AM
Randomtask2
TBI
9
09-07-2015 05:06 PM



Quick Reply: Throttle Follower



All times are GMT -5. The time now is 10:49 PM.