Developer page for AlphaN

In the 2004.Nov.firmware (without the patch below applied) the base fueling algorithm options are

are supported, configurable in one bit. (The only reason for having it this way in one bit was compatibility with MegaManual and MegaTune protocol)

A patch applied at some point enables these new modes:

Note that if both MAP and TPS sensors are wired and configured correctly, either mode will work, but all will result in different VE (j) table and some will be harder to tune.

The patch works like this:

Load can be TPS / TPS .. MAP / MAP

multuplication with load

New tests here. MembersPage/SamuelLindkvist/AlphaN

When OK, update AlphaN and GenBoard/Manual.

More details

From fuelcalc.c the code is simpler than the blabla explanation:

        if (!(config.config13 & _BV(CONTROL_STRATEGY))){  // speed-density
                uint16_t kpa_or_tps;
                if( engine_rpm8() >= config.hybrid_rpm_m ){
                        // normally, the MAP is used:
                        kpa_or_tps = engine.kpa250;
                } else {
                        // TODO: constant multiplier when RPM <= config.hybrid_rpm_a
                        // for AlphaN, the MAP is not fully trusted
                        kpa_or_tps = engine.kpa_tps_blend << 2 ;
                res = mult_div596( kpa_or_tps, res );
        } else {
                res = mult16_8(res, 172) >> 8;

remember tps_or_kpa is the TPS / MAP blend as determined by hybrid_rpm_a and hybrid_rpm_m

Thumb rule

Emil's proposal:

Checked how another system works, some notes:

VEMS implementation proposal:

Use cases

Different engines want different schemes here, especially for the last 2 use cases.


Dave and Jorgen's proposal - for a system whith the MAP hose connected before the throttle butterfly

Note that it's not literally a MAP sensor (not manifold pressure, closer to a boost sensor, or baro for an NA), but pressure sensor. Nonetheless we refer to it as MAP.

VE table - effectively 2 tables (with different meaning) merged in one

target lambda table - split to 2 parts; but at any given time, only one part is looked into: the MAP determines if lower or upper part. Result is always lambdatarget

Ignition table - same way as the lambdatarget.

Above 110kPa or so, start running the ignition specified in the >110kPa cells. Why not at 101..109 kPa ?

This would probably offer good drivability.

The only cases where the ignition would be all wrong is when the engine is fairly throttled (why? ignition is exactly as the tuner specifies in the table! Let him not specify it wrong). And that the car is not running at MBT (??) then is not a problem.-Jörgen

The above functions are also useful for giving ram air, filter clogging and baro correction for normally aspirated alpha-N cars. -Jörgen

See also