History of GenBoard/UnderDevelopment/AlphaNIAC
Older Newer
2007-11-25 09:57:30 . . . . MembersPage/MarcellGal [iac2load]
2007-11-02 20:42:23 . . . . MembersPage/MarcellGal [IAC.position battery dependence]
2007-09-01 00:53:37 . . . . MembersPage/JorgenKarlsson [Some ideas for setting an upper limit for idle control.]
2007-07-17 09:26:32 . . . . MembersPage/PhatBob [Suggested config byte]
2007-07-17 08:56:56 . . . . c-7799e755.017-149-73746f32.cust.bredbandsbolaget.se [comments]
2007-07-17 08:19:23 . . . . MembersPage/PhatBob [AlphaN IAC description]


Changes by last author:

Changed:
As we tie the MAP value to TPS in our AlphaN system we need to model the same MAP pressure change when the IACV is opened.
As we tie the load value to TPS in our AlphaN system we need to model the same MAP pressure change when the IACV is opened.
Changed:
Here's how I think it could be done.
Here's how it's done since 1.1.33 (will be backported to 1.0.x):

uint8_t iac2load; // alphaN only, iac contribution to load

Changed:
Add an additional config entry IAC_OPEN_TPS_VALUE (%) which will be setup to equate to the equivalent change in throttle position that the IACV gives when open. The actual change would be dicatated by dividing IAC_OPEN_TPS_VALUE by theIAC position or duty.
When RPM <= (config.hybrid_rpm_a * 100 + 99)

iac.position * config.iac2load / 2048 is added to load before lookup. That means if iac.position = config.iac2load = 255 (highest possible values), than +32 (1/8 of full load) will be added.

Changed:
So with an IAC_OPEN_TPS_VALUE of 4% when the IACV duty is 25% it will consider there to be a TPS opening value of 1%

We could use the config byte fuelcut_min_kpa as that's never used when in AlphaN mode.

If we display iac2load in MegaTune in percent, than 255 value should be 12.45 percent (100*255/2048):

So with 4% when the IACV duty is 25% it will consider there to be a TPS opening value of 1%

Notes:

* when blending: config.hybrid_rpm_a < RPM < config.hybrid_rpm_m this added load diminishes (added load becomes 0 at config.hybrid_rpm_m, so iac - like TPS - does not count any more, only MAP).

** in 1.1.32 (testing version) this alphan-blending must be bad as we approach config.hybrid_rpm_m the whole load diminishes (to 0 => bad), not just the small extra quantity added by iac

** added load not applied above config.hybrid_rpm_m as the MAP is fully authentically used for load, which already has the measured extra pressure added by iac

* we could use the config byte fuelcut_min_kpa as that's never used when in AlphaN mode.

Changed:
Afterstart fade out:
Afterstart fade out

Some engines have wierd starting behavior,

* the current implementation only seem to force the IAC position when cranking => false. After cranking the iac control kicks in

Changed:
Some engines have wierd starting behavior, the current implementation only seem to force the IAC position when cranking. Some engines then overshoot a lot and then the idle control stalls them.
Some engines then overshoot a lot and then the idle control stalls them.

* tune the IAC.

** Lower cranking position if MAP does not fall below 90 kPa even around 700 RPM

** iac_integral_increase limit is too high ? Very likely.

Changed:
We need the IAC to fade out from the starting position over a few seconds after starting. This is to let the car fall down to idle in a controlled manner. Maybe by slowly increasing the authority of the idle control?
We need the IAC to fade out from the starting position over a few seconds after starting (to let the car fall down to idle in a controlled manner). Maybe by slowly increasing the authority of the idle control?

With properly tuned idle this would only make things worse (idle-control is a controlled manner). However, you can recommend how to reset the PID integral after startup (show us a setup+config and log that shows the behaviour, and analyze log).

Added:
IAC.position battery dependence

We experienced oscillating idle on some cars in certain situations, and traced it back to the RPM=>voltage=>iac-opening transfer function.

The 2.2L audi (with Bosch IAC and Bosch alternator) behaved worse with only the bigfan, than the small 1.6L GM with the air-conditioner (much more serious load change). The GM had stepper idle where the opening does not change with battery voltage. KeithHargrove/AlfaMilano changed the Bosch alternator to a Ford alternator on a car, as the Ford alternator keeps steady voltage even at low RPM.

No configuration is needed for this, as the IAC_current = VBATT * iac.position / resistance function is very predictable.

At VBATT=12V we need 10% higher iac.position than at VBATT=13.2V (only for PWM-type IAC of course, not for stepper).

At a given point, say 13.2V (or should it be 13.7V ?) the behaviour should be same as before. Under that we apply higher iac.position. If we choose this right, only minimal iac position change is needed (if at all) for PWM-iac cars.