### # #### # # ### #
####### ## ## ## ## ## ## #######
______ | ___ \ | |_/ / | __/ | | \_|
___ / _ \ / /_\ \ | _ | | | | | \_| |_/
##### ## ## ## ## ##### ## ##
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: Injectoropening parameters: http://www.vems.hu/files/Firmware/docs/EffectiveFlowrate.png * Unfortunately it still does not show up in the manual. [http://megasquirtavr.sourceforge.net/manual/Detailed.Output.Fuel.html#Config [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" http://www.vems.hu/files/hackish/fuelcalc.gif 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) Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.