sd1nl wrote:Problem is that the adder steps have already dissapeared before the rpm has dropped to say 1300 rpm, so by the time the rpm drops to idle the adder is no longer there, and I need it to keep it from falling below idle rpm.
Then the Adder itself is probably too small?
I have tried the dashpot decay settings from 2 to 5, but nothing seems to work quite well.
Try to increase the daspot adder instead. The decay factor only determines how fast the daspot will be decreased. Both together work like a damper when TPS snaps into closed position. It is depending on RPMdot. The higher RPMdot (i.e. the jittery RPM is), the slower dashpot adder will be decreased.
If the adder itself is too small it will be decreased to zero very quick anyhow (no matter what decay factor you choose)
It also seems like sometimes the dashpot adder is not added at all. What are the conditions that have to be met for the dashpot adder to activate?
Is there anyone out there who knows how this works?
Yes, adder is only applied when the PID delay timer has expired. This is necessary because otherwise you could ratchet idle RPM up and up by tipping slightly on the gas several times. becaue the adder would be applied every time....
As one of the two G's pointed out:
Use "Intial value" instead of "use last good known value" (if you havent done yet). Make sure you fill the table with sensible values. Try it with no (or small) daspot adder in the beginning. You are on a good way when initial value of RPM settles a bit above the desired target at all circumstances. That means initial RPM matches at different Manifold Air Temperatures and different target RPMs (when CLT temp is low) your engine will see during daily driving.
Then screw up your PID Settings. Make sure that "Adaptive PID reduction" is 100% all across the board. A rough estimation for initial PIDs: Set I very low, D=0 and increase P until IAC starts oscillating. Take 50% of that critical "D" Value. Then increase "I" until you get good response of IAC at CL idle when external load to engine is applied (switching to "D" or whatever). Add some "D" for dampening to get rid of oscillations.
Then tune up "Adaptive PID reduction". If your PID settings above give stable idle, you for instance may double P, I and D and reduce PID at target to 50% (see gselnders documentation for how the PID adaptive reduction curve may look like). This gives a more agressive loop the further you get away from target.
Finally make sure that you set dashpot adder large enough that your IAC "catches" RPM above target under all circumstances. And choose decay factor large enough so that it will ramp idle to target reliably, i.e. not too fast and not too slow.
I used gslender code on a car with automatic trasmission and Idle is totally perfect, even without an "idle up-switch" wired to MS. You have no noticeable RPM drop when you switch from "N" to "D" and vice versa.
Only heat soak at hot engine is a minor problem at the moment, but it's not the last version at the moment that's on this car.