Mixture Adaptation, Short/Long Term Trims, ECU Learning Exposed by the GS-911!
The Short Version
The GS-911 now reports long term trims for the BMSK which show beyond a shadow of a doubt that the BMW fueling strategy includes Long Term Trims, learned in Closed Loop by using the stock O2 sensor, which are applied to the
entire fuel table. This means that the ECU learns about all fueling errors and most attempts to alter fueling on a stock bike. It learns about fueling changes (other than those made to the O2 sensor) and brings fueling back to stock AFR.
The Long Version
For the past four years I've been explaining how the Motronic, BMSK and BMSX use the narrowband O2 (lambda) sensor to control combustion AFR in the Closed Loop area of the fuel table to accurate achieve lambda=1 (14.7:1 AFR for gasoline). It also allows those ECUs to learn how much correction is required throughout the Close Loop area and to therefore "learn" long term correction factors (mixture adaptations) that are applied throughout the fuel map--at idle, acceleration, all the way to full throttle--all the time.
Measurements reported throughout this thread have demonstrated the effects of this "learning" and many readers here have come to realize that our BMW motorcycle ECUs perform this powerful function. It allows the ECUs to adapt to changing conditions in the engine as it wears, as the fuel injectors and air filter accumulate deposits, imperfections and errors in all sensors, voltage deviations (even due to a failed alternator), fuel pressure changes, and even adapt to gasoline with ethanol.
This mixture adaptation also limits the ways in which you can alter fueling: modify the air temperature sensor and the ECU corrects fueling. Change the fuel pressure regulator and it learns about and fixes that too. Even modify values in the ECU fuel table in the onboard chip, and it corrects for that. However, alter the O2 sensor for richer or leaner fueling and the ECU obligingly shifts the entire fuel table automatically. (Another way to alter fueling successfully is to disconnect the O2 sensors & add a piggy back controller. This approach puts the ECU into a Limp-Home mode.)
In spite of the Bosch and BMW documentation mentioning mixture adaptation and long term trims, and even given the measurements of it shown in this thread and others, there are still many riders who aren't fully convinced. After all, until now there haven't been any gauges or displays which explicitly show the long term and short term trims at the heart of this "learning" capability.
Recently Hexcode SA, maker of the powerful GS-911 diagnostic tool, have added new realtime values to the long list reported for the BMSK ECU. In addition to the short term trims shown for the Closed Loop area (Lambda Correction Factors 1&2), the GS-911 now reports four new long term trims: Additive Trims 1 & 2 and Multiplicative Trims 1 & 2. The "1" trims are for the right cylinder and the "2" trims are for the left cylinder.
A colleague in the UK who has an R1200GS and owns a GS-911 and dual LM-2s (which can record AFR data and other info for both cylinders) with Wideband O2 sensors added to each exhaust. He took a ride the other day and sent in the LM-2 and GS-911 data, which includes a 13 second wide-open-throttle (WOT) run in 6th gear. This 6th gear "pull” shows for certain that long term trims exist and that they are applied to open loop fueling, right up to WOT.
Have a look at the table below. The data clearly shows the BMSK going open loop (highlighted in yellow) where the lambda control factors set to 1 (set to 1 there is no increase or decrease in fuel due to the immediate values of the O2 sensor) and clearly shows the application of the Long Term Multiplicative Trim at WOT. To understand the Multiplicative Trim, the number in the Injection Time column is multiplied by the number in the Multiplicative Trim column. Taking the first highlighted row, the 10.56 mS injection time is multiplied by 1.12 for the right cylinder and by 1.03 for the left cylinder resulting in Injection Times of 11.8 mS for the right cylinder and 10.9 mS for the left cylinder. In other words, the long term trim learned at lower power levels has been applied to this Open Loop area of fueling.
If you’re surprised that there is this much difference between the left and right cylinders, he confirmed that left and right cylinders had AFRs which tracked each other very closely by making an actual AFR measurement on both cylinders at the same time the GS-911 data was gathered.
Going a bit further, the multiplicative trim is not a single value for the whole but map but a table of values (how many have not yet been determined). There are 5 different long term multiplicative trims in this "pull" between 1800 and 4700 RPM. So the long term trim table is quite a bit larger than we'd expected.
There are also two long term additive trim types, for which there is a corresponding table of values. These additive long term trims affect small throttle angles and idle. The multiplicative trims affect cruising, acceleration and wider throttle angles.
[Summary]
This new GS-911 capability is an exciting development in the understanding of BMWs fueling strategy. It demonstrates clearly the complex ways in which its ECUs process data gathered in the Closed Loop fueling area and apply it to the entire fuel table, including acceleration and starting. At the moment, Hexcode has not added the collection of this data for the newer liquid cooled Boxers or for the older Motronics but the effect of the trims has been accurately measured on all bikes. If you care about this make sure to let Hexcode know that you’d like to see this data for your bikes too. (The BMSK is used on many different BMW bikes including the F800GS.)
As I receive more data from the field, I will add any important insights that are found.