VE tuning means to tune for the right mixture for your engine.
With wideband oxygen it is fun and really fast. It's so fast in fact, that the VE-learning is rarely used by experienced tuners, but WBO2, lambda table and EGO-correction is used to help speed up the tuning process with added safety.
The allowed EGO-correction authority range depends on the tuner and the engine though.
- maintain a lambda table that you like. Don't cheat with the lambda table,enter the desired lambda to all loadsites. Forget all 1.0 table !! That is equivalent with an ECM that does not know about lambda (where injector pulsewidths - or proportional numbers - are entered, takes you back in time with 2 decades).
EGO correction
- EGO correction means fuel pulsewidth correction based on "Exhaust Gas Oxygen" measurements.
- Correction means to add or take-away fuel (pulsewidth)
- Authority range is the range from maximum take-away to maximum add percentage.
GenBoard has the fastest wideband circuit available, and the best integration with the engine management system (including confidence information, to detect disconnected or broken sensor and not apply EGO-correction).
Beware that there are many old-style recommendations floating on internet (even on referred sites and occasinally in this wiki) about VE tuning. Probably because inferior systems (NBO2) that were used to develop the original guidelines rely on "listening" and experimentation at the most important (high-power) loadsites. And there are misunderstandings around the EGO correction as well.
Let's say one wants to maintain an appr 20% authority for EGO correction. This is a decision of the tuner. This might be reasonable for production operation (street / racing). During tuning, often a bigger authority is used. Lower (than 20%) authority makes sense when the WBO2 sensor is to be removed (for whatever reason?) after tuning. Also, smaller (but non-zero!) authority range is usually used for extremely fast-revving engines.
The image shows a range of VE=162 .. 202 configured in 2 different ways:
- good: 200 based, -19% .. +1%
- bad : 174 based, -7% .. +16%
One might believe (before thinking about it) that setting ego_rich_limit higher than ego_lean_limit is the way to go. But there are very good reasons to use the "good" method which relies on ego_lean_limit rather than ego_rich_limit. Makes little difference when the authority range is small.
Notes:
- in parenthesis are the percentages in the higher resolution 1/256 units that are used internally and for EGO-correction display
- -19% = -49/256
- +1% = +3/256
- -7% = -18/256
- +16% = +41/256
- The VE value is scaled up (from appr. 100 to near 200) for better resolution: max VE value is 255 (200 and 174 in the example). The req_fuel must be scaled accordingly. The final pulsewidth (for speed-density) is req_fuel * (VE / 100) / lambda * (MAP / 100) * enrichments
Why is the "good" better than the "bad" ?
- The good method means you start from rich and approach the desired fuel quantity from above.
- The bad approach is to approach from below (danger of leaning out).
- remember that the actual ranges are exactly the same in the 2 case (162..202), just defined from a different starting point
- When the (calibrated) WBO2 sensor reads rich, you can be sure that it's rich(er than the desired lambda, configured in the lambda table).
- when the WBO2 sensor reads lean, it might be lean, or it might be tricked by a missfire. Missfire (no matter how much gasoline you put in!!!) reads lean because of "unburnt oxygen" gets to the exhaust.
Also, (for the case when WBO2 sensor fails), engines tolerate rich condition much better than lean condition.
This justifies adjusting higher (richer) than required VE values, and only allow a marginal ego_rich_limit, effectively stuff most of the ego-correction authority in the ego_lean_limit.
- It is not impossible to tune the engine with the "bad" method just takes more time and attention
- it is even possible to use a very narrow EGO correction range (0.8 .. 5%)
- With extremely fast-revving race-engines low EGO-correction authorithy range makes it impossible for the controller to "carry over correction values from one loadsite to the other". This is a concern when loadsites are tuned unevenly (eg.one loadsite for EGOC=0 and neighbor loadsite for EGOC=-8%. EGOC=+-0.4% (ego_lean_limit=ego_rich_limit=0.4%) is the minimum reasonable range.
- with a narrow EGO-correction authority range the "good" and "bad" are effectively the same: both ego_lean_limit and ego_rich_limit are very low, only used for indication to help the tuner, not effective correction
- it is even possible 0 EGO correction range. This does not make much sense, +-0.4% EGO-correction provides nice and useful indication, while narrowing EGO-authority to a marginal range
- it is even possible to tune without WBO2
There were good reasons in the past (eg. WBO2 or proper EGO-correction not available) It's just harder, takes more time and involves more risk.
Developers
- consider dropping the ego_rich_limit variable (=0 wired in) and only allow leaning. It's easy to scale req_fuel up to compensate for this.
- allow ve-learning to learn for a certain ego-correction (=> eg. 10% above actual VE, that will result in egoc=-26=-10%)
See also