Developer page for AlphaN
In the 2004.Nov.firmware (without the patch below applied) the base fueling algorithm options are
- pw = MAP * VE(MAP, RPM) (speed density) (config13 bit2=0)
- pw = VE(TPS, RPM) (alphaN, without MAP) (config13 bit2=1)
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:
- pw = MAP * VE(TPS, RPM) (alphaN, with MAP multiplication; actually multiplication with load, see the difference below)
- pw = VE(MAP, RPM) (probably useless)
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
- below hybrid_rpm_a use TPS to index the VE (and ign and lambdatarget) table(s) that is VE(TPS, RPM)
- above hybrid_rpm_m use speed density mode VE(MAP, RPM) (m for MAP or max)
- load is a "blending of MAP and TPS signal" between hybrid_rpm_a and hybrid_rpm_m (as RPM goes up, it changes from fully TPS to fully MAP)
multuplication with load
- config13 bit2 chooses only if multiplication with load is applied or not
- config.config13 bit2=0 (multiplication with load is applied). With low hybrid_rpm_a=hybrid_rpm_m=00 this is the pure speed-density setup (TPS is used below RPM<0 that is never; MAP is used above RPM>0 that is always ). Multiplication with load makes sense for turbo engines, so the MAP also does matter above certain RPM, not only TPS.
- config.config13 bit2=1 (multiplication with load is NOT applied, useful for turbo). With high hybrid_rpm_a=hybrid_rpm_m=FF this is the pure alpha-n setup (MAP is not used, ever, since 25500 RPM is not reached at all).
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:\nÿ1ÿ
remember tps_or_kpa is the TPS / MAP blend as determined by hybrid_rpm_a and hybrid_rpm_m
Thumb rule
- always adjust hybrid_rpm_a and hybrid_rpm_m to determine the RPM for TPS / TPS-MAP / MAP
- The alpha-n naming is very confusing, really. config13 bit2 should be called "disable multiplication with load", because that's what it does when bit2=1 .
Emils notes:
Checked how another system works, will try to write down some info here..
- VE table runs fully alpha-n, ends at 100% TPS-load
- lambda and spark table uses MAP instead
- fuel amount on boost is calculated from the TPS based VE entry, multiplied with MAP and lambda-table.
- This system doesnt need any MAP multiplication table, but in a possible VEMS implementation, it could be wise to have a MAP vs fuel multiplication table with a few cells. for example 200 kPa = 200% fuel, 250kPa = 250% fuel, this is likely the correct settings, but might be handy to test different settings, especially with bad injector control (not flat VE table)
This is what Dave and I agreed would be the simplest system that would be simple to tune and implement:
For a system whith the MAP hose connected before the throttle butterfly this is the way to do it:
- As the MAP sensor is reading the pressure before the throttle blades we use it's full correction range. There is no need to limit it downward. This will allow us to compensate for anything from clogged filters to high boost.
- VE table is 0-100% TPS. All values over 100kPa is VE correction values. If the engine does not loose flow at higher boost this table will be filled in with 100 all over. If we wanted it to lean out a bit at 250kPa we could write 90 in that cell.
- The target lambda table assume that all 0-100% values are TPS and that all >100 load cells is pressure. The switchover from using TPS to using pressure should be somewhere between 105 and 110kPa. Probably closer to 110, maybe this should be configurable in the future.
- The ignition is harder, one way would be to have it to run by the TPS value when pressure is below 110kPa or so and then start running the ignition specified in the >110kPa cells. This would probably offer good drivability as the only cases where the ignition would be all wrong is when the engine is fairly throttled. And that the car is not running at MBT then is not a problem.-Jörgen
The above functions is also useful for giving ram air, filter clogging and baro correction for normally aspirated alpha-N cars. -Jörgen
See also