Jump to content

Idle spark is not stable


Recommended Posts


I have been modifying that group of cells for idle spark. I've been trying so hard to obtain 18 degree for idle but what I got is 17-25 degree fluctuation. In the other reply you mentioned about idle PID loop, what is that? Where else should I look at to achieve specific idle spark timing - near constant and not fluctuation like what I am having since the SCT tune?

The formula still works for idle? and PID idle loop? which is?


idle Spark.jpg

Link to comment
Share on other sites

Hi Loki,

Afaik these cellsĀ are not used at idle, only when transitioning from idle to throttle. Firstly the idle should be stable with the stock settings, if you have to modify them it suggests an issue elsewhere.

Places to look at your idle airflow, dashpot, injector scaling, injector offset and even physical idle air control issues.

If you find the problem is still there the idle spark is controlled via the following items:

auF2429 Idle Spark Proportional term (the P in the PID Controller)

auF0215 Spark Idle Minimum (PID controller will clip at this value)

auF16507 Spark Max (not just at idle but all the time)

auF0015 Adaptive Idle Control range (typically 30rpm) if the rpm error goes outside of this range it will go to the normal open loop spark tables. This may be why you see the spark value flicker at idle if the error becomes too large.

auF0020/auF0021 Idle RPM in Gear/Neutral - If you have a mechanical problem meaning the idle is quite a distance from this value you will also have issues.

auF1920 Max spark for low load - Afaik this will limit idle spark, personally I've not tested it though.

auF0213 - Max spark for idle in gear- I've not tested this either

auF0214 - Similar to the above but in neutral

If you aren't aware of what a PID controller is, have a read on wiki. It is effectively a mathematical equation that looks at error terms. Eg:

Error = Desired Idle Spark - Actual Idle Spark

Spark Adjustment = error * P

Then there the integral term as well but this is fairly complicated so I won't get into it.

Another way to think of a PID controller is imagine you are in the shower.

The shower is cold so you turn on the tap (the spark adjustment). Eg 40 - 0 = error. Error * P = adjustment. You turn the tap too much so shower becomes too hot (now a negative error) which means error * P means you will now turn the tap the opposite direction. In this example your brain is the PID controller, the setpoint is the perfect temperature, the actual temperature is the water temp and the controller output is your arm turning the tap. A PID controller constantly makes adjustments based upon error in the same fashion.

Closed loop boost control uses the same type of PID controller. Eg it measures boost pressure vs what is in the map and calculates an error term and adjusts the bleed gain based on this error.



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...