A question about exactly how Injector Slope/BP/Offset is used by the EEC came up. Since this Tech Doc entry only talks about how to tune Injector Slopes/BP info, I thought it might be nice to have info about how the EEC uses this info on the same Tech Doc. Knowing how the EEC uses this info might be useful. Others feel free to disagree with me all you want because I could be wrong. But the following is consistent with what I've studied in the GUFB doc and with my experience tuning Injector Slopes/BP.
It all starts at the MAF. The EEC measures the amount of air coming into the engine via the MAF. It then has a conversion that it applies to convert the amount of air measured to the correct amount of fuel to accompany that air. For gasoline, the conversion is 14.64 parts air to 1 part fuel. In the GUFx strats, this conversion is represented as the Z_AFR scalar. This scalar is not exposed in any other strategy that I'm aware of, but it exists in all MAF-based strategies. With that, the EEC has a beginning point for an air-to-fuel conversion. But what if the EEC isn't targeting 14.64? What if the engine is at WOT and the fuel tables/functions are instead calling for a richer-than-stoic mix? In this case, the EEC adjusts the base stoic conversion to account for added enrichment/adjustment. If there's additional KAMRF learned adjustment on top of the Open Loop LAMBSE enrichment, then that is also taken into account either adding or pulling fuel based on what the KAMRFs have learned. And finally, the EEC adds additional fuel to the mix called accel and transient enrichment (strategy specific). For this discussion, I am abstracting out the accel/transient enrichment since they do not heavily relate to injector Slope/bp stuff and understanding exactly how they work is not critical to understanding Slope/BP/Offset calculations.
Once all the various adjustments have been taken into consideration, the EEC has a calculated amount of fuel that it intends to deliver. Now it just needs a set of rules to convert X amount of fuel into an Injector Pulse. Those rules are defined by the Injector Slope/BP/Offset parameters but the algorithm is what's in question. Injector Offset is a simple adder based on VBAT. So regardless what is calculated via slopes/bp, the offset is the absolute PW adder.
High Slope. The high slope describes the behavior of the injector at a steady stream of fuel flow. Once the injector has fully opened and the fuel pressure in the rail is flowing constant, the fuel follow is constant and relatively predictable. As long as the FPR is making sure the differential pressure across the injector is constant, the injector should continue to behave the same regardless of whether the intake manifold is at high vacuum or at heavy boost. It is possible that an injector pulse is so short that the injector never enters this "steady state" and thus the high slope may not be used at low load/small PW conditions.
Low slope. Unlike High Slope, low slope is always used in the Injector PW calculations. The low slope describes fuel injector behavior up to a certain amount of fuel to be delivered. The theory of Injector offset and low slope is that between these two, you cover for the inaccurate "transients" associated with opening and closing an injector as well as the act of stabilizing the fuel pressure in the rails. During these transients, the injector doesn't flow the same as it does when it is at a steady flow of fuel. In addition, the offset curve often over-compensates and the amount of fuel sprayed blindly thanks to the offset function is counteracted by the low slope. But because these transients last for such a short period of time, there needs to be some indication as to when to "stop" using the low slope and begin using the high slope to calculate total injector pulse width. This is where the breakpoint comes in.
Breakpoint is a measure of fuel. When the needed amount of fuel is less than the breakpoint value, then only the low slope is used to calculate a PW. However when the amount of fuel needed is greater than the breakpoint amount of fuel, then both low and high slopes are utilized for the PW calculation. The low slope is used to calculate an Injector PW up to the amount of fuel defined by the breakpoint function/scalar. In GUFx strats, the breakpoint is a function. Since Ford never used it as a function, Ford converted it to a single scalar as is seen in CBAZA. The remainder of the fuel needed above the breakpoint quantity is converted to a PW using the high slope.
So lets see what that looks like in an example starting from the MAF:
MAF reading is 650 kg-air/hr (roughly the WOT airflow intake on a stock 5.0L@5000RPMs)
The EEC needs this converted from kg-air/hr into lb-fuel/hr. The kg-to-lb conversion is actually done by the tuning software, not by the EEC. But I'll include that conversion here just so you can see it play out from MAF input to Injector PW output.
After taking into account LAMBSEs, KAMRFs, accel/transient enrichment, assume the EEC is applying a final air to fuel conversion of 12:1 AFR:
650 kg-air/hr / 12 air/fuel = 54.12 kg-fuel/hr = 119.3 lb-fuel/hr
Lets assume 650 kg-air/hr was measured while the engine was at 5000 RPMs.
119.3lb/hr / 60min/hr = 1.9883lb/min
1.9883lb/min / 5000rev/min = 3.977e-4lb/rev
Assuming a V8, there are 4 cylinder fires/rev:
3.977e-4lb/rev / 4 cyl/rev = 9.9417e-5lb/cyl
At this point, the EEC knows how much fuel is supposed to go to the next cylinder to get injected and needs to convert this to an injector PW value. We'll assume the result of of the Injector Offset vs VBAT function is 1ms (stock A9L has 13.0v = 1ms). The parameters to do that are:
High Slope is 19lb/hr
Low Slope is 26lb/hr
Breakpoint is 4e-5lb/rev which is 1e-5lb/cyl assuming an 8-cylinder.
Injector Offset is 1ms as mentioned above.
Since the total amount of fuel needed is greater than the breakpoint amount of fuel, the EEC will calculate a PW based on the low slope using only 1e-5 lbs of fuel...the breakpoint amount of fuel. 1e-5 lb
or 3.846e-7 hrs = 1.3846 ms pulse contribution from low slope
At this point, there's still 8.9417e517e-5lbs of fuel still left that needs to be converted to a PW. So the EEC takes the remainder of fuel and does the same calculation, but uses the high slope this time:8.9417e-5lb
or 4.706e-6 hrs = 16.942 ms pulse contribution from high slope
To calculate a total PW, the EEC adds up the pulse time of the low slope, high slope, and Offset function to come up with a total PW, this case:
1.3846ms + 16.942ms + 1ms = 19.326 ms total PW
And as most people are familiar with, that's about right for a stock injector PW at high RPM WOT. As you can see from above, if you use higher injector slopes, the PW will be lower.
The important things to note here are:
- The larger the injector, the more significant the Injector Offset function is to the results of your fueling. Since it is a blind PW adder, you really need to make sure the stock Injector Offset function is updated to match your actual injectors. The stock function is quite generous with it's adder values. If you leave it being generous with say 42lb injectors, that means things will run terribly rich at low PW conditions (low loads).
- The closer the high and low slope values are to each other, the less significant the breakpoint value is. If the high and low slope are equal, then the high and low slope calculations are identical thus meaning it makes no difference what portion of the total fuel is run through the low or high slope calc. As is mentioned above, the X3Z has the slope values set equal to each other. There's lots of speculation as to how they managed to decide that was a good idea. But my theory on that is they used much more conservative Injector Offset values in order to make the low slope come closer to the high slope. And even then, the engine probably ran a little too rich on decel, so they solved that by activating Decel Fuel Shutoff (DFSO) so the decel conditions above 1600 RPMs would simply turn off the injectors and that solves the over-rich (aka emissions) problems at decel.
- Again, I could easily be wrong with all of this, but the numbers tend to make sense and I have witnessed changes in low slope, breakpoint, and high slope have affects that would be expected assuming the above is true. Your experience may differ.
89 Ranger Supercab, 331 w/GT40p heads, ported Explorer lower, Crane Powermax 2020 cam, 1.6RRs, FMS Explorer (GT40p) headers, Slot Style MAF, aftermarket T5 'Z-Spec', 8.8" rear w/3.27s, Powertrax Locker, Innovate LC-1, GUFB, Moates QuarterHorse tuned using BE&EA