Injectoropening parameters:
- Unfortunately it still does not show up in the manual.
[[Manual: Detailed.Output.Fuel.Config]]
Basic req_fuel calculation
Assume
- fuel density=0.755 g/cc
- AFR=14.7 at stoich
- intake air density = 0.0012 g/cc (at MAP=100 kPa, which might be a cheat from the real 101..104kPa ?)
- (alternate+1)*divider = N (see N below)
Input data
- I injector flowrate (cc/min)
- D engine displacement (cc)
- N number of injectors (piece, eg. 4 for a 4 cyl port injection)
req_fuel = D / N * 0.0012 / 14.7 / 0.755 / I * 60000
The constant 60000 is responsible for scaling output from min (coming from the injector cc/min) to msec unit we usually use for this. The other constants are self-explanatory.
Simplified equation is: req_fuel = 6.49 * D / N / I
Examples
D | N | I | fuel pulsewidth (msec) | req_fuel=0x.. |
1600 | 4 | 220 | 11.8 | 76 |
We usually use 50% of calculated req_fuel and scale up VE values (j[] table) to double values (max values around 200, not 100) for somewhat higher precision.
Note: bin/req_fuel.pl in firmware has a bit more featureful calculator, and there are many on the web.
Tuning software support.
PSITuner implements a tool to calculate the req_fuel. In the Tools menu select "Fuel Calculations"
Boost is considered when the value looked up from VE table is multiplied by MAP. Also, the l[] lambda table will command a richer mixture for high MAP loadsites. So there is no need for NA/forced induction flag for the req_fuel calc. What does it do currenly ?
Injopen/additive fueltrim note
Unfortunately the 4 (or 5..8) injectors often show huge deviation at short pulsewidth (even if full-flowrate is matched within 1%), and (especially at 1.2 - 1.5msec pulsewidth or lower) the amount of injected fuel changes also depend on unaccountable factors (fuel pressure fluctuations and fuel temperature and mechanical bias).
To make it a bit better, there are arguments for adding additive fuel-trim.
(when multiplicative fuel trim is needed, the injector flowrates differ unacceptably or the setup is otherwise broken that should be fixed).
Reasonable options:
- additive fueltrim with above model, but reasonable hardcoded injopen values (is this needed?)
- additive fueltrim with simple model (simple pw += injopen)
- compatibility option: no additive fueltrim, but the injopen full model (as above), for easy upgrade (full low-load retune not needed)
The injopen parameters and the additive fueltrim can show up in separate dialogs (one or the other is always greyed out).
See also
- PortInjected/FuelInjectors
- GenBoard/VerThree/LowZInjectors
- OnlineCourse/InjectorOpening (advanced info for developers)