Applies to all known Boxer Diesel models, Euro 4/5/6.
Injector learning (micro quantity calibration) procedure can improve engine idling (vibrations, noise, fuel economy …). The ECU measures engine speed changes, derives learning values and uses them (for idling only?) from there on.
Tiny fuel injections, achieved through very short pulses, are especially sensitive to mechanical wear inside injectors. Remember, the ECU does not know how much fuel is actually being sprayed into the cylinders. However, by measuring acceleration (crankshaft speed changes) after at each cylinder’s power stroke, it can adjust injection pulses to achieve a balance across cylinders.
Normally, a power stroke consists of two or three individual injections, main injection always being the largest one. For micro quantity calibration, the software does things differently. It divides the necessary fuel to hold engine speed into more and evenly small injections so that only short pulses matter and differences in injected amounts can be compensated.
The entire procedure is done in two ways:
- Automatically by ECU when idling (~800 rpm), for example at traffic light stop. Takes roughly a minute to complete. Goes through first 4 pressure levels. ECU will try again if it could not finish.
- Compulsory using Subaru dealer software (
open source solution is planned). In addition, this mode uses higher common rail pressure, revving the engine up to ~1,200 rpm at 5th pressure level which is not acceptable in auto-mode.
Either way, the operation causes distinct engine noise due to special injections, easy to recognize. Also altering common rail pressure to the next pressure level causes noise to change.
You can use logging (Subaru specific protocols) in order to monitor related parameters:
- injector learning status (ON/OFF)
- injection quantity learning values [ms] (4 cylinders times 5 pressure levels = 20 values; all zeroes means learning has not been completed successfully)
- mileage after last learning [km]
- mileage after injector replacement [km]
As usual, all relevant values are being saved into EEPROM.
Automatic Injector Learning Intervals
In theory, ECU wants to do automatic injector learning at these predefined intervals:
Confirmed by disassembly from Euro 4/5/6 software. As you can see, the interval is being increased up to 3,000 km.
Above odometer values are theoretical because:
- For the ECU mileage after last learning matters, not any absolute odometer value.
- If conditions are not met, learning process is being delayed, trying again at next occasion, increasing all further odometer numbers.
- ECU internal odometer is not very precise, it will drift off from combination meter odometer over time.
Injector Learning Conditions
Basically, engine must be warm, around 80°C coolant temperature. Lots of parameters must be within pre-defined ranges (fuel temperature, accelerator not depressed, battery voltage 12..15 Volts, …).
Courtesy of contributors posting their videos.
(engine bay, A/C compressor might interfere with learning procedure)
- Adjusting internal variable “mileage after last learning”, i.e. setting to 3000+ km triggers automatic calibration ASAP.
- Adjusting ECU odometer, i.e. to re-synchronize with dashboard value.