Yellow Bullet Forums banner

Holley HP EFI LS1 idle surging

17K views 66 replies 14 participants last post by  2stroke  
#1 ·
Hi

So I have an issue with getting my car to idle. Or to be more accurate, I am having trouble getting the IAC set at 3%.

What I am finding is that when I adjust the throttle blades to get the IAC near 3% the engine surges. When I open the throttle blades more the engine revs high and the IAC is at 0%.

I have tested the IAC and appears to be working fine.

The engine is running rich (10.2 - 13.4) and I have checked for vacuum leaks.

Where do I start with this? what's the logic? Do I try to lean the tune out a bit to get the AFR back? Do I need to drill a bigger hole in the TB?

As you can tell, I am a noob to this.

Here's my spec:
LS1 running 220 3.90 Trickflow heads
Comp Ultra-gold Arc 1.72 Rockers
7.550 BTR Pushrods
BTR Stage II NA Cam 227/234 .614"/.576" 113+2
Ported FAST 90
NW 90mm TB
FAST 60lb Injectors

Any help would be much appreciated.

Ta
 
#6 ·
Yes, ensure the Base Fuel Table is smooth by viewing & blending the Fuel Graph. It's very important to have a smooth Fuel Graph.
One aspect of viewing the Fuel Graph: It's better to zoom in, by highlighting segments of the Base Fuel Table (left click & drag), and click "Graph".
This method offers much greater detail. Looking at the entire "Fuel Graph" will almost always look smooth, because it's not as magnified.
TIP: When the Fuel Graph is smooth, click "Conversion" (VE Conversion mode) and continue smoothing the general contour of the VE Fuel Graph.
 
#8 · (Edited)
Seeing as I now have an exhaust fitted, I can rule out any issues with having open headers.

I ran the car today and let it get up to temp and tried several throttle screw adjustments, TPS resets, but the same situation really.

I either have IAC reading 0% and have an idle of 1700+ or I try closing the blades and the car starts surging. When this happens the IAC reading goes from 0% to 12% then back down...repeat.

I took some data logs. What is most useful for you to see?

Thanks
 
#12 ·
So I tried again, disabling the idle spark control (made no difference) and I still can't get it to idle stable below 1000rpm.

I know I have been advised to adjust the fuel table around the idle area, but how can I do that when I can't get it to idle without surging?

The closed loop is -11 to -16 (roughly) at between 800 and 1300 RPM. Lower than that it's about -2 to -5.

As for smoothing the table, the surging happens right from cold start before the table was ever modified, so would it not be safe to assume that smoothing isn't the problem (unless Holley's base tunes aren't smooth)?

Whilst it's surging, when the revs drop right down I can hear a sucking noise from the throttle body. It seams to me as though it's not got enough air at lower RPM. So, if that is the case, do I start cutting fuel to balance the AFR out?

Sorry for my ignorance, I am just trying to understand the logic of what is happening. I don't want to randomly start taking/adding fuel without knowing which to do, where and why.
 
#13 ·
I will try to take a look at those logs at home tonight, but generally speaking, you want to tune idle before anything else, and with any closed-loop corrections turned off (including the IAC). Move your fuel table values up or down for maximum vacuum, adjust your timing, adjust your throttle blades (as your RPM will likely increase with better vacuum for a few iterations), rinse and repeat until everything is stable - no different than tuning a carburetor for best vacuum at idle. Then, you can turn on your closed loop idle and you'll (likely) end up closing down the blades just a bit to get the IAC to be a little bit open at your target idle RPM. Sometimes it helps to drop the timing a bit from maximum vacuum at your target idle speed, but bump it a few degrees in the next bin down so that if it does stumble a bit, the timing advances, increases torque, and "catches" it, at least until you have your IAC stuff figured out later.

Stable idle with maximum vacuum reading using fuel and timing is step one, IMHO.
 
#14 ·
That cam really shouldn't be having any issues idling. Usually if the duration is significant, you can't really go by the afr at idle. With enough duration, it can be off by almost a whole point, if using auto tune, you'll likely want to set it around 13.5 at idle, or disable auto tune under 1500, desensitize the closed loop in that area, and adjust it manually. You'll also want to steady the spark in the table, leave idle spark settings on, and make sure everywhere the engine wants to idle has the same-ish advance settings, and the surrounding tables are also similar, as it surges, it will swing into those "unused" tables, 17-20 degrees is a good number to start with. Ignore the 3% IAC you're shooting for. Anything around 15% or less (in my personal experience across a variety of engines) seems to have been fine. If it's stable at 1000, make sure it's idling perfect, and begin to drop it 50-100 rpm's at a time. Also, make sure you're VE table isn't a mountain range with peaks and valleys in the idle area.
 
#18 ·
Are you saying to set the target idle speed table higher than normal at first, then drop the target down a little each time?

One thing I have noticed that the target idle speed is currently set to 650 when it's warm. If I believe what I have just read this is too low and should be closer to 750-800 on a manual.

I loaded the base map for the LS1 with 4L60E so the ecu maybe trying to drop to an unattainable rpm...maybe???
 
#15 ·
I tired looking at your logs but they are coming thru really weird, not sure whats going on there.

I have a ls1 in my boat with a ls9 cam, getting it to idle was where I spent most my time tuning. What I found is if I lowered timing down into the low teens, I could get the idle to settle down. I also made it so hot in park my IAC was at 30% and in gear it was 45%, also set my parked idle at 50% thus when I came back down to idle it wouldn't do the low then rev then low then rev.

Every thing I read was to get your IAC in the 3% put here is my thought on this, Your IAC is a taperd "plug" that moves into a hole, if your at the small end of the taper and you move you don't get a lot more air in so it needs to move more, then it has moved to far put it can move pack quick enough and you get the idle hunt. If you keep you IAC higher it does need to move as much there for you get quicker responses. Just my 2 cents

Mine also liked to idle a little on the richer side then I was expecting (13.5).
 
#19 ·
Hmm still showing up as .dl files and v4 won't let me perform the conversion here. I took a look in the Holley software, and it look like a pretty classic PID oscillation. Without looking at the tune file I can't tell which is really causing it, but here's a basic way to tune a PID loop that has worked for me:

Set I and D to zero.
Increase P until you see oscillation. If you were already oscillating, reduce it until the oscillation goes away.
Set P to 50-60% of this value (multiply by 0.5-0.6)
Increase I until you get good recovery from sudden RPM drops.
Increase D until you get rid of whatever oscillation you still see, but keep it as low as possible.

I have seen people say to tune I first then P but I haven't had luck that way. That doesn't make either way really better, just one worked for me.

Personally, I would do as I mentioned before and start with a stable idle from the fuel and ignition maps before trying to tune any of the closed loop stuff. Turn off wideband fuel correction and IAC closed loop, and make sure you have a very stable idle, tuned for best vacuum at your target RPM. Then, leave the fuel correction off and tune the closed loop IAC. Turn on the fuel correction last.

I feel like a lot of folks jump right into the closed loop stuff without having a solid base fuel and ignition map first.
 
#20 · (Edited)
All good advice from the others in this thread.

I cant load your logs for some reason so I may have missed something and be shooting in the dark a little bit. Hold the engine at a higher rpm where it will run smooth, say 1000 or even 1500. It will be more tolerant at higher rpm and easier to tune without being so precise. Once its stable their slowly lower it and work on the map as you decrease rpm. If you want to get real lazy change your closed loop learn parameters so that it will start learning at lower engine temps and hold the throttle anywhere it will run steady and let it learn and slowly reduce engine speed while allowing it to learn. Keep transferring the learn table to base while doing this and when it asks you if you want to smooth the table say yes....its sort of cheating but sometimes with tough situations the computer can learn enough to get you in the ballpark if you really don't know which way to go...its not typically how I recommend doing things but it might work

Don't worry about butchering the base map, you'll have plenty of work ahead of you anyway fine tuning and smoothing later after its idling well but save a backup of the current tune anyway so you have something to go back to, even if it isn't a good tune.

Just something to try, I had similar issues and it took me a while to realize it. I would do a TPS autoset and everything would be fine with the engine off but once it was running the tps reading would flutter between 0% and 1% keeping the iac from being able to perform idle control and consequently giving me the same issues you are having. I still need to figure it out (I suspect a weak return spring) but I temporarily got around it by taking a post-it-note and putting a small piece of the sticky part of the paper between the throttle stop screw and stop tab and performing another tps autoset. It gave it just enough extra clearance to keep the tps happy at 0% with the engine running and cured my problem.
 
#23 ·
Yup those are perfect.

Looking at a histogram of the log that ends in _03, what changed at 130 seconds? The IAC is barely opening and closing but it goes into wild oscillation. Try locking your timing at 27* and see what happens. That's got some red flags since it is dropping to around 21* and then when it catches it is popping back up to 27-28*.
 
#25 ·
So what I'm doing is looking at a histogram. I put load (MAP in this case) on one axis and engine speed (RPM) on the other (same as the base fueling table for a speed-density setup) and then the bins are populated with different variables until I see what looks to be causing the issue. In this case, right around that stable 1200ish RPM idle you are at 27-28* timing advance. When it goes slightly low, the timing is dropping down to around 21*, and then the bins around 500RPM are catching it by advancing the timing back up to 27-28*. The increase in torque output revs the motor back up. What you need first and foremost is stable torque at idle.

I needed to get to bed last night but this evening I'll do another one where I'll use a "delta" function to show the difference between the base ignition timing from the table and the actual commanded timing. That will tell me if the issue is in your base timing table or if I need to start digging through the modifiers to see where it is coming from. You can tell just by looking at your tune, though.

Keep in mind this change may or may not fix all the oscillation in those logs... one of those logs shows the IAC snapping open and shut with resulting wild swings in engine speed, and that may be exacerbated by the timing issue, but it looks like the IAC PID variables ultimately will need tuning to me.

So bottom line here is make sure the entire idle area has 27-28* of timing advance for now, and then work with your fuel table and throttle shaft idle stop to find the best vacuum just like you would with a carburetor. Fiddle with the timing by a few degrees, rinse and repeat. All with the IAC closed loop OFF. Once you've got that stable idle, that is when you can turn the closed loop on and close down the throttle a bit so that the IAC is controlling the airflow. Then you tune the IAC PID variables.

Hope that helps.