Acceleration Enrichment can be derived from two tables.

Transient fuel is the output of the RPM Acceleration Enrichment table * TPSaccel Enrichment Scalar.

Pulse width enrichment time


RPM Acceleration Enrichment

RPM Enrichment PW Decay Start
RPM3 et3 ms ds3 ms
RPM2 et2 ms ds2 ms
RPM1 et1 ms ds1 ms
RPM0 et0 ms ds0 ms

TPSaccel Enrichment Scalar


TPSaccel Scaling
dv/dt2 as2 %
dv/dt1 as1 %
dv/dt0 as0 %

So with With the following entry:

RPM Enrichment Time Decay Start
5500 4.4 0.8
4000 4.1 0.8
TPSaccel Scaling
50 100%
25 65%

Accelleration from 4500rpm with a TPSaccel of 35 would give:

RPM Enrichment of 4.2mS decay start 0.8ms

Scaled Enrichment 4.2mS * 0.79 = 3.318ms decay start 0.8ms * 0.79 = 0.632ms

This is a few things that Dave and I spent some time discussing on the tour. -Jörgen

Req_fuel based

The acc enrichment must be based on req_fuel, we don't want to mess with acc enrichment on each and every system and it's not needed if it's done right.

The current v/s bins and the acc enrich amount values can possibly be fixed. In any case it should be changed from v/s to %/second and the enrichment amount should be set in % of req_fuel. If these tables are uneditable and the values well choosen the acc enrich can be set with the tables mentioned below. If we have 3-5 editable tables affecting the result it's a nightmare to support and debug.

Decay rate


Many systems let the accel enrich decay every cycle to make the decay time shorter at higher rpms. I don't know if that is the right way to do it.

Also, while we already have much info to calculate the enrichment amount, the decay parameters need extra information (fortunately good rule-of-thumbs will be possible).

Sustained acc enrich

It is also important that the acc enrich is timed from the last occurrance of the acc enrich trigger. With a medium fast throttle application, maybe 1.5s from 0 to 100% throttle the acc enrich must stay on for the entire 1.5s.

Throttle opening vs RPM and angle.

The unlinear response of a throttle butterfly and the fairly linear function between the throttle opening and intake pressure is likely to force us to use a max TPS value that is allowed to trigger an acc enrich. A 3X3 TPSXRPM table with multiplier values will allow us lots of freedom in this regard. (This may however be redundant as the load based acc enrich will give similar results)

Acc enrich vs load and rpm

We also need an acc enrichment table with load and rpm. In this table we have a multiplier for the amount of acc enrich needed for this load. Considering the tricks sometimes needed from idle and the sometimes bad vaccum of some engines I think that a 4X4 table is best for this. If it weren't for the sharp increase in vaccum from idle to a few hundred rpm over idle on some engines and some engines high fuel requirement when they are expected to come off a low and lean idle quickly.

"Throttle opening vs RPM and angle" and "Acc enrich vs load and rpm" using the info we already have to make configuration much simpler and more precise

This information is already there in the VE table.. The TPS is converted to load, than the delta-VE can be looked up from the VE-table useing the delta-load (and the appropriate extra pulsewidth applied). Because of various effects, a multiplier is needed so 1.1 .. 3x higher delta-pw is applied than what comes from the looked up delta-VE.

This TPS => simple in case of AlphaN, and a bit more complex in speed-density: (but still rather simple), caracterized by 0..1 extra value:

Load difference before - after transient

The load difference before and after the transient is important for knowing the amount of acc enrich needed. But as we need to apply acc enrich without delay after noticing a transient we have a problem. One solution is that we can allow the before-after conditions determine the speed of the decay. This will also let us decay very quickly if the throttle is returned to the original condition immediately after the stab. This is possilby the most important (and simplest to get right) use of the before-after sensing.

Overrun fuelcut

The overrun fuelcut can often cause a dangerous transient condition as it is now. I haven't noticed as few people I know release the throttle entierly during shifts while accelerating hard. I noticed that the last car I tuned detonated easily right after shifts, it was very obvious what happened when watching the logs.

Also see: GenBoard/UnderDevelopment/AccelerationEnrichmentTable