The Fuel Adjustments Table allows rpm-based adjustment of the air fuel ratio relative to the ECU's stock operation. Moving a point up (or increasing the adjustment value by typing in the numeric table) makes the mixture richer; lowering it makes the mixture leaner. An adjustment of, say, -5% means multiplying the stock fuel amount by 0.95 (delivering 5% less fuel than stock). Most adjustments will be negative numbers since stock fuel delivery is a rather rich, conservative mixture. Between rpm points, the ECU interpolates between the two adjacent rpm settings.
The adjustment described in the preceeding pargraph is fully applied only when the value for LoadFactor (essentially the same as Airflow/rev, or Boost) is above 1.6 (about 10 psi of boost). Below a LoadFactor of 0.8 (roughly atmospheric pressure) none of the adjustment is applied. Between a LoadFactor of 0.8 and 1.6, the adjustment is applied proportionally. For example, a -5% adjustment value at a LoadFactor of 1.0 results in a -1.25% adjustment actually applied:
-5% * (1.0 - 0.8) / (1.6 - 0.8) = -1.25% |
Multiple contiguous fuel adjustment points may be selected by holding the Shift key and using the mouse or the left/right arrow keys, and adjusted simultaneously in equal increments using the up/down arrow keys.
The Global fuel and Deadtime adjustments are intended to be used mainly to compensate for injectors and fuel pressure that differ from stock. They are applied at all times.
The stock ECU assumes that the car is equipped with 450 cc/min injectors and a fuel pressure of either 37 psi (1G) or 43.5 psi (2G). As injector size is increased, the Global fuel adjustment must be made more negative. Reducing the Global fuel adjustment value to, say, -50% to compensate for 900 cc/min injectors cuts fuel delivery in half.
The needed Global fuel adjustment value may be calculated as follows:
FlowRateAdj1G = squareroot(BaseFuelPressure / 37) FlowRateAdj2G = squareroot(BaseFuelPressure / 43.5) NewInjFlow = InjectorCCPerMin * FlowRateAdj Adj = (100 * ( 450 / NewInjFlow ) ) - 100 |
Where BaseFuelPressure is specified in PSI and InjectorCCPerMin is the flowrate of the injectors at 43.5psi (the standard flowrate reference pressure). Some slight empirical tweaking of this theoretically-derived value may be needed to get actual air/fuel ratios to match what the ECU intends. Since the Global fuel adjustment value is a multiplier applied to the injector pulsewidth, altering it tends to change the actual air/fuel ratio proportionally under all conditions.
The ECU uses the InjBatteryAdj table found in the Direct Access tab to look up a base injector deadtime value based on battery voltage. As battery voltage drops, injector deadtime tends to increase. Complete details on this function along with an example is provided on our InjBatteryAdj wiki page.
But the basic idea here is that you need to change this deadtime value to match the behavior of aftermarket injectors because the stock table simply will not. You can change the full battery-based table in the Direct Access tab. But you can make global adjustments to that base table using the deadtime fields of the Fuel tab.
This value gets added to all cylinders all the time
If your ECU firmware supports individual deadtimes, you can use these fields to adjust each injectors deadtime value independently. Dialing this in can be time consuming, though.
We recommend locking the ECU in open loop mode and then adjusting the global fuel value slightly to maintain a constant A/F ratio while idling (say around 14:1), and then tweak the individual deadtime values one at a time while "listening" to the engine idle and looking at a live datalog to see the effect on the mixture. You're trying to find the best overall idle quality with as little "jumps" in wideband as possible. But this can take a VERY long time to do.
It can also be helpful to check the "save changes as they are made" checkbox so that you can make changes to the ECU more quickly without having to hit the save button all the time.
This is the amount you want to "jump" the deadtime values by when you press the up/down arrows located on each deadtime field.
Since the Deadtime adjustment value is added to the injector pulsewidth, altering it tends to change the actual air/fuel ratio mostly at idle and very little at wide-open throttle.
Defines the smallest possible injector pulsewidth, or IPW, the ECU will allow (except fuel cut, of course, where IPW is zero). Use this field to prevent the ECU from attempting to operate your injectors outside their linear flow range. This number will vary from one injector type to another, so some trial and error will be necessary. You can start by finding where your injectors operate at idle on a fully warmed engine (datalog InjOn to see) and then using a number a few hundred microseconds below that as a starting point.
It's worth noting that ECMLink prevents the ECU from reducing fuel trims any further once the minimum IPW is reached. There's no point in having one section of ECU code trying to lean the mixture out by reducing IPW when another section of code is preventing IPW from going any lower. This does have the side effect of temporarily putting the code into a quasi-closed loop mode of operation, though, where your mixture may remain richer than the target value for some period of time before engine conditions allow for a higher pulsewidth.
© 2002 - 2023 ECMTuning, Inc. All rights reserved.