History of IdleControl/IdleValvePWM
Older Newer
2007-02-03 08:34:42 . . . . 3e44bfeb.adsl.enternet.hu [iac integral and TPS cleanup and notes]
2007-02-02 23:20:33 . . . . MembersPage/Tonciloncar [PWM idle valve rpm activation point]
2006-08-12 22:52:18 . . . . MembersPage/MarcellGal [iac PWM config example]
2005-09-05 21:31:26 . . . . MembersPage/MarcellGal [a Bosch valve]
2005-03-13 17:54:26 . . . . line-70-197.dial.freestart.hu [corrected manual references]


Changes by last author:

Changed:
* airflow (is it sufficient for cruise-control or only for idle ?)
* airflow

** probably for idle air only

** not sufficient for cruise-control (or is it ?)

Changed:
I have similar valve on my car, and I have been trying to make it work perfectly for couple of months now, but without success. It Idles perfectly but I have problem when I am braking with engine and then stop without applaing the gas pedal the engine dies. I have been playing with integral_limit_dec and ref positions but if I decrese limit them my idle is too high or if I increase ref position the result is the same. Also there is a problem when I drive the car at small rpm and if tps is around idle valve activation point the engine rpm (and hole car with them) are jumping.
MembersPage/TonciLoncar uses a similar valve in his opel

* the car idles perfectly

* but:

Integral windup

But when releasing throttle (engine-braking), some throttle is needed at low RPM, otherwise it often stalls. Obviously, the integral "winds up" too much (actually negative in this case: closing iac too much), than it stalls before it could recover

How to eliminate integral windup ?

* play with iac_integral_limit_dec (decrese limit) and ref positions. This should prevent unnecessary integral windup.

** DONE: with lower integral_limit_dec or higher ref_position idle goes too high

* use even lower iac_integral_limit_dec and increase the PID I value. If the multiple (I * integral_limit...) is the same, the maximum effect of the PID integral is the same: it only makes recovery faster (changing the integral time constant).

* in general, make sure PID is tuned reasonably. Take logs and analyze them. If you publish logs, you can point out a few sections for discussion. Like: on engine/car ... with config and tables ... in logfile ..., after throttle is released, undershoot is way too much, 320 RPM (target RPM is 820)

* firmware mod suggestion: when RPM goes down towards target, reset the integral value at some point. Either

** tuner-configured "iac activation RPM point" (that would be relative to RPM target. Eg. +200..300 would mean that with idle RPM_target=800 RPM, iac integral would be resetting when going from above 1100 RPM downto under 1000 RPM.

*** we strongly consider this mod if there is a report with detailed analysis and log of the "problem" (saying "trying for months" is no substitute for logs). Otherwise, if it's an integral value tuning problem, than better to tune the PID first anyway.

Changed:
I think that adding rpm iac activation point could solve this problem. I think if you want idle at arround 800rpm, iac should be activated at arround 900-950rpm. Right now it is activated as soon as you relese the throtle and if you are braking with engine rews are high and PID closes valve to its smalest ammount, and when rews come down they go much lower then 800rpm. But if iac could be activated at 900 rpm it would not have a time to close that much so rews woudn't go so low. What do you guys think?
At low RPM, with TPS around idle valve activation threshold the engine RPM (and hole car with them) are jumping

This suggests a hysteresis for iac_tps_thres (idle TPS threshold). Sg. like

* 1.2% (max 1.6 or 2%) above iac_tps_thres (or TPS=max if the threshold is misconfigured) would leave idle

* under iac_tps_thres would activate idle mode (as now)