JohnGS1100 Tuning Chip

John

What a difference chip has made thought it was running well before, but now really notice difference very smooth throughout rev range even sounds better. The only thing that I have noticed is tick over slightly higher. Many thanks well worth it so far will report back on my MPG next fill.:bounce1:

Do not worry about little "ticks" needed to drive few miles and the ECU make adapt and load all maps.
Thanks Jeremy.
 
John
Bet you didn,t expect your own personal Stalker on here.
You have the patience of a Saint with all the explanations.

Thanks for it. I think that i love the tuning ECU, i works many hours per day on ECU. :)
I work on BMW old ECU (motronic 2.2 & 2.4) for 3 hard years.. since 2011.
 
Hello John.
I also admire your patience and ability to communicate highly technical subject in a foreign language. I would like to think that I have nothing invested in this subject other than my time and desire for knowledge.
I am looking at your reply to my original post and there are a couple of questions that I have.

1. Lambda Enable/Disable value. I am assuming this is a parameter that is used to tell the ECU to either look at O2 sensor or not. Is this value global (for the whole map) or is there a separate input for each cell?
2. Your lambda tables from what I gather is a last correction factor in the calculation of fuel injector pulse duration. I am assuming there is a main fuel map and than this lambda correction factor is used to fine tune the mixture. Is this correct? As I said my main issue is that I know there is no way for the system to "chase" value of lambda. If this table is the correction factor (CF) where END_FUEL = MAP_FUEL * CF that would make much more sense. Maybe calling it fuel correction table instead of lambda table would understanding easier to some people.
3. Am I correct in assuming that while you are paying close attention to the AFR while you are tuning the chip the operation of the chip in the bike is open loop only?

Thank you and keep up the good work.
Esmir
 
So the lambda sensor is effectively turned off with the chip in closed loop?

If this is the case then it makes sense that the system would not try to readjust back to lean running. How does the system make adjustments for altitude etc though?

Man this tuning malarkey is a minefield.

I am very very tempted to pull the pin John, I just like to understand how these thing work.

The map info is interesting but a little too deep for most of us.

What I want to know is how the system decides what mixture to run when remapped. In standard form I guess that the temperature sensor helps decide roughly where to set the mixture and the lambda kicks in when the bike is warm to send a signal to the computer Gubbins to then adjust the mixture by selecting a different value in the map?
If the lambda is still active I can understand Rogers arguement as surely it is the last information the system uses to select which part of the map to use. How does the system ignore this signal or interpret it differently to run with the richer fuelling?

I think a basic explanation of the system would be really good for me as I'm a Luddite and only really understand carbs and wooden wheels :D
 
Esmir, I agree with your final statement, let's not make this about personalities but about concepts. You're not the only one with no dog in the fight. Although I added an LC-1 to my bike and helped Nightrider perfect an AF-XIED for the BMWs I don't have any motorcycle products that I sell--not LC-1s, AF-XIEDs, not Chips, not sprockets. Now what I'm trying to do, on the back of three years of testing, is to sort the wheat from the chaff of add-on fueling solutions.

My standard is that any claim made should be demonstrated by a measurement that another could repeat if they so desired. Roger

I have no problem understanding the mapping concept and have no doubt John has figured out the fueling and ignition maps and numbers.
I understand that there are open loop and closed loop areas of the map, I am not sure how well these areas have been separated. O2 sensor is chased only in the closed loop sections of lambda which are idle and part load (cruising) at low throttle openings and load. Beyond that the engine runs on maps only.

John has done an excellent job (as I've said many times) learning to read and write the ePROMs of the Motronic. He has a fairly good handle on the R1100 tables but I'm surprised about claims he's made about other-than-lambda=1 Closed Loop. I continue my challenge to have him show me any document that describes this.

I also understand that narrow band O2 sensor can only chase lambda = 1 and has no idea how rich or how lean the mixture is.
Therefore I am having problems with Johns explanation of ability to chase any lambda ratio.

Since it uses the lambda sensor as the standard that its iterative (high-low-high-low) routines converge around, those routines can only converge around the standard of the external O2 sensor in the exhaust. John has stated many times that there are lambda tables that allow the Motronic to converge other than to lambda=1. It just isn't so.

I think you are also waiting for an answer to your question about access time on the chips. John claims the Motronic runs faster with his chip because it in newer and has faster access times, you say it doesn't. I agree with you.

Additionally concept of long term adaptation is also not fully understood in this particular control unit. Does it really blanket the whole map?

Yes it really blankets the whole map. It is very easy for the Closed Loop routine to calculate the short term factors cell by cell (in the closed loop areas) and then to calculate averages from the whole array of of short term trims to calculate average Long Term Trims.

The reason why you want this behavior in an EFI system is simple too. Let's say you had a perfect fuel table for gasoline. Now the rider fills up with gasoline that is 10% ethanol. The entire fuel table needs to be made richer by 4% since that is how much leaner 10% ethanol is than gasoline. The Motronic does this by first figuring out all the short term adjustments in the Closed Loop area and then updating the Long Term adjustments that get applied to the whole map.

Just adding a bit more complexity take the 10% ethanol example and introduce injectors that squirt 5% less fuel, and a fuel pressure regulator that is 10% low (5% less fuel flow for a 10% pressure change). Without Closed Loop Mixture Adaptation and Long Term Fuel Trims that apply to the whole map, WOT would be 4%+5%+5% lean, 14% in total. That would mean if the perfect fuel table were designed for 13.2:1 at WOT, 14% leaner would lead to an actual AFR of 15.0:1 !!! This is why we have short term and long term trims. And why the long term trims affect the whole map.

If the map is changed in the closed loop area and the O2 sensor is unable to bring it back at some point it will give up and revert to the predetermined value (back to the map). I have no idea what long term problems (if any) this would create for the catalytic converter.

The Closed Loop routine has a +/-20% range. If you go outside that range, the Motronic throws a Lambda Control fault and stays stuck at the high end or low end of the range.

Main reason that the O2 sensor was ever introduced was to keep the mixture oscillating in the perfect range to allow the cat to do its job. Other than that maps are all the system needs to function properly.

Before we get bogged down in screenshots lets get the concepts straight.

This is what I'm trying to help John do so that he can make chips that really do what riders want. A few posts ago I outlined the ideal chip for John to build for Closed Loop bikes. That chip I would help him test. However if he continues to claim that LC-2s "confuse" the Motronic (which they don't) I don't know how far I can get.

Hello John.
I also admire your patience and ability to communicate highly technical subject in a foreign language. I would like to think that I have nothing invested in this subject other than my time and desire for knowledge.
I am looking at your reply to my original post and there are a couple of questions that I have.

1. Lambda Enable/Disable value. I am assuming this is a parameter that is used to tell the ECU to either look at O2 sensor or not. Is this value global (for the whole map) or is there a separate input for each cell?
2. Your lambda tables from what I gather is a last correction factor in the calculation of fuel injector pulse duration. I am assuming there is a main fuel map and than this lambda correction factor is used to fine tune the mixture. Is this correct? As I said my main issue is that I know there is no way for the system to "chase" value of lambda. If this table is the correction factor (CF) where END_FUEL = MAP_FUEL * CF that would make much more sense. Maybe calling it fuel correction table instead of lambda table would understanding easier to some people.
3. Am I correct in assuming that while you are paying close attention to the AFR while you are tuning the chip the operation of the chip in the bike is open loop only?

Thank you and keep up the good work.
Esmir

The maps that John has found are for other factors, related to other sensors. For instance, there is a table in the Motronic that is fuel-enrichment based on rate of throttle change, and oil temperature. I suspect what John thinks are Lambda tables are some of the dozen or so "other" correction tables that he is as-yet not aware of.

During Closed Loop, the final correction factor to the fuel pulse MUST keep the O2 level in the exhaust very near Lambda=1. You can't just make the injection pulse leaner or richer at the last moment without "breaking" the Closed Loop function. So calling it the last correction factor doesn't work as an explanation. In the past I have sent John lists of tables that he should look for.

One other thing, notice that he has removed the X and Y axis lables. He finally admitted yesterday that he doesn't know what they are. I applaud that honest answer. And John also said he doesn't need to know exactly what they are. That is also true but it would have helped the discussion if he had said so in the first place rather than telling me the units in America are different.

Although I must seem like Javert in Les Miserables at times, all I'm seeking is the truth on how our bikes work. People like me and John have put a lot of time into discovering the secrets that BMW and Bosch have worked hard to hide. Because there have been so many secrets, you have IAT-shifters that are said to lower air temperature readings and thereby richen fueling. BMW could have come out right away and explained why that won't work but they've been silent. If BMW had spoken up, riders would have save about $1,000,000 on those parts worldwide.

Question for John: the fueling tables in your last post are too small. They are only 8X10. I think you're only seeing part of the table which must be more like the R1100 something like 16X18. An 8X10 table wouldn't have enough resolution for the small throttle angles.
 
Basic explanation of alpha N system.
There are two basic inputs to the system alpha (throttle angle ) and N (rpms of the motor).

Correction factors : intake air temp, oil temp, barometric pressure sensor (in the ME) and O2 sensor (lambda sensor)

Given that the system is waste spark (both fire at the same time) and joint fuel as I like to call it (both injectors fire at the same time) there are only two outputs that the system can play with.

HOW MUCH fuel and WHEN spark.

These outputs are calculated by looking at the tables and adding various correction factors.

Example : at 1200rpm and 20% throttle opening we have X injector duration, as read from the basic map.


Then we take all of the correction factors and play with X, maybe X *1.005 (little more fuel because it is cold, oil temperature) * 1.1 (little more fuel because air is cold also, intake air temp) * 0.95 (take a little fuel off since we are up high, barometric pressure sensor) and if in closed loop *1.01 (lambda correction since O2 sensor told me we were lean last time).

Feedback element in the circuit is the O2 sensor which can sense if the mixture is lean or rich. Note that narrowband O2 sensor can not tell how lean or rich only that it is lean or rich. This signal is used to influence the "next" calculation, but only if the system is running "closed loop".

System is only in closed loop at idle and steady throttle. When you are accelerating sensor is disregarded (open loop).


There is ignition table which does more or less the same thing only Y is the firing angle as calculated using hall sensors to figure out where is the crankshaft at any point in time.
Feedback element in this circuit is knock sensor but it is not used on our bikes only later models. It is used to move the timing to the edge of knocking and then back it off just enough. This is something that John is doing using standalone knock sensor to "design" his ignition maps.

That should be enough to cover the basics.
 
Basic explanation of alpha N system.
There are two basic inputs to the system alpha (throttle angle ) and N (rpms of the motor).

Correction factors : intake air temp, oil temp, barometric pressure sensor (in the ME) and O2 sensor (lambda sensor)

Given that the system is waste spark (both fire at the same time) and joint fuel as I like to call it (both injectors fire at the same time) there are only two outputs that the system can play with.

HOW MUCH fuel and WHEN spark.

These outputs are calculated by looking at the tables and adding various correction factors.

Example : at 1200rpm and 20% throttle opening we have X injector duration, as read from the basic map.


Then we take all of the correction factors and play with X, maybe X *1.005 (little more fuel because it is cold, oil temperature) * 1.1 (little more fuel because air is cold also, intake air temp) * 0.95 (take a little fuel off since we are up high, barometric pressure sensor) and if in closed loop *1.01 (lambda correction since O2 sensor told me we were lean last time).

Feedback element in the circuit is the O2 sensor which can sense if the mixture is lean or rich. Note that narrowband O2 sensor can not tell how lean or rich only that it is lean or rich. This signal is used to influence the "next" calculation, but only if the system is running "closed loop".

System is only in closed loop at idle and steady throttle. When you are accelerating sensor is disregarded (open loop).


There is ignition table which does more or less the same thing only Y is the firing angle as calculated using hall sensors to figure out where is the crankshaft at any point in time.
Feedback element in this circuit is knock sensor but it is not used on our bikes only later models. It is used to move the timing to the edge of knocking and then back it off just enough. This is something that John is doing using standalone knock sensor to "design" his ignition maps.

That should be enough to cover the basics.

Very good, thank you.

What if the lambda sensor is removed, is there a default 'safety' correction?
 
For the simple explanation, you have to add in the measurement and calculation of short and long term trims. Without that, the belief would be that you could reprogram the fuel tables and have the results remain unaltered.

Here is the "simple" flow of an Alpha-N ECU like the Motronic:

The calculations below happen continuously, thousands of times per second and are one of the the main functions of the ECU. All fueling calculations begin with an Open Loop calculation and proceed (under certain conditions) to the Closed Loop calculations.

Open Loop fueling calculations go roughly like this, performed on a millisecond by millisecond basis:
1) Read RPM and TPS: Find a base-fuel-value by using the four closest cells in the fuel table
2) Measure Engine Temperature: If not warmed-up, add a correction, otherwise skip this step
3) Measure Input Air Temperature (from the airbox IAT sensor): Apply a correction factor from a table
4) Measure Air Pressure: Apply a correction factor from a table
5) Measure Battery Voltage: Apply a correction factor from a table (corrects injector performance vs battery voltage)
6) Measure if TPS is moving, and how fast it is moving: add fuel if TPS opening, remove fuel if TPS closing.
7) Based on RPM/TPS: Apply Mixture Adaptation values (can be 2 or 3 or a small table) learned previously during Closed Loop
8) If the RPM or TPS is changing quickly, if the Throttle is open very wide, or if the engine is cold, fire injector for calculated time and go back to step 1, otherwise continue to step 8

Closed Loop fueling steps
9) Apply the most recent Lambda Control Factor (LCF) (short term fuel trim)
10) Read the O2 sensor and determine whether to increase or decrease the LCF so as to remain close to Lambda = 1 (or a shifted value)
11) Determine whether to update any Mixture Adaptation values (long term fuel trim)
11) Fire injector for calculated time and go back to step 1


The two blue-highlighted steps are how the ECU learns and applies the corrections called Mixture Adaptations and how what is learned during the Closed Loop calculations gets applied to the Open Loop fueling calculations. It is elegant and powerful, and must be understood before making changes to a Closed Loop fueling system.

A key observation is that Open Loop and Closed Loop fueling are not separate processes. Closed Loop steps occur as often as possible so that the mixture stays as close to the O2 sensor switch point as possible, to keep the catalytic converter happy.
 
Very good, thank you.

What if the lambda sensor is removed, is there a default 'safety' correction?

Yes, the safety correction is to alternatively make the fueling 5% leaner and then 5% richer, back and forth until the condition is fixed. The idea is that the wider spread has the greater chance of keeping the catalytic converter happy.
 
Take a look at this please :

10644913_381045178722451_360818462314033629_n.jpg
 
..............................

Question for John: the fueling tables in your last post are too small. They are only 8X10. I think you're only seeing part of the table which must be more like the R1100 something like 16X18. An 8X10 table wouldn't have enough resolution for the small throttle angles.

I know exactly what rpms are the values ​​in the tables.
At Bosch motronic 2.4 ECU, at bin file in to the chip there the lambda map is 8X10 table, the injection map is 8X16 table !! There are not secrets from BMW or from Bosch :)

Can you explain how by your innovate Lc-1 can you change the AFR at close loop to 14,2 ? I think the LC-1 gives different voltage not the correct from lambda and "tell" to ECU that the mixture is lean, so the ECU gives aditional fuel to close loop? Why ? The signal is only a voltage and this signal has not affect the base injections maps, but wich map affect, what routine please ? That exactly do by changing the values ​​in this map, so i tell" to ECU that the AFR 14.2 is correct !
Sorry Roger but i think that you know nothing about remmaping, so is reasonable to confuse the software wtih the hardware.

There are some links for read about lambda correction maps.

Take a read please :
Base maps - A good place to start

http://www.sr20-forum.com/tuning/600-base-maps-good-place-start.html

Timing Maps for Tuning
http://www.sr20-forum.com/tuning/22279-timing-maps-tuning.html

Target lambda and Air/Fuel ratio maps :
779448.jpg


How is the ECU reprogrammed ?
http://www2.ecutek.com.au/delta-ecu.htm
igndetfix.png


http://www.318ti.org/forum/showthread.php?t=14790

http://www2.ecutek.com.au/delta-ecu.htm

http://www.e30tech.com/forum/showthread.php?t=33028
 
Very good, thank you.

What if the lambda sensor is removed, is there a default 'safety' correction?

No. By removig the lambda, the ECU put to table a stantard value (0,45V). So the AFR affects from Base injection map, that is very bad for consumption, also for catalutic converter.


Basic ECU operation
 
...

Can you explain how by your innovate Lc-1 can you change the AFR at close loop to 14,2 ? I think the LC-1 gives different voltage not the correct from lambda and "tell" to ECU that the mixture is lean, so the ECU gives aditional fuel to close loop? Why ? The signal is only a voltage and this signal has not affect the base injections maps, but wich map affect, what routine please ? That exactly do by changing the values ​​in this map, so i tell" to ECU that the AFR 14.2 is correct !
Sorry Roger but i think that you know nothing about remmaping, so is reasonable to confuse the software wtih the hardware.

...

John, There's no need to be sorry. I fully understand how to write the kind of code and tables that are in the Motronic. From 1975 to 1985 writing assembly language code for microprocessors was my job. I'm highly trained at it.

Reverse engineering code, what you are trying to do, is notoriously difficult. It is very easy to confuse program code and data code, and without help from the original code designer, it is very hard to accurately assess the structure of tables.

You seem to lack an understanding of how the LC-1's narrowband simulation works. That further suggests to me that you are unfamiliar with how Closed Loop programming brackets the target AFR set by the OXYGEN SENSOR (nothing inside the chip). Above you say that the LC-1 sends a "lean" voltage to the Motronic, so that the Motronic richen the mixture. You then say that you can just tell the Motronic, through the table that 14.2 is correct. THIS IS NOT HOW THE CLOSED LOOP ROUTINE WORKS IN ANY ECU. THIS IS YOUR MISUNDERSTANDING THAT IS LEADING YOU TO THE WRONG CONCLUSION.

A narrowband O2 sensor outputs 800 mV for mixtures slightly richer than 14.7:1 and it outputs 100 mV for mixtures slightly leaner than 14.7:1. That is its basic operation.

The way that the Closed Loop program works is to measure the output of the O2 sensor. If it is higher than 490 mV, the closed loop programs decides that the next time the injector has to squirt fuel, to reduce the fuel by a tiny amount, then check the O2 sensor. If it is still rich (>490 mV) the next time, reduce it again until the lambda sensor voltage is below 410 mV. Once the O2 voltage is below 410 mV for a half second, then the Closed Loop program starts adding fuel in tiny steps until the o2 voltage is above 490 mV for half a second. It stays in this loop endlessly when the throttle is steady. This keeps the fueling right at the switch point of the O2 sensor and keeps the O2 sensor average voltage in Closed Loop very close to 450 mV.

When the LC-1 is introduced (or the BMW-AF-XIED), and when you program its narrowband output to lambda=0.94 (13.8:1 for gasoline). It outputs 800 mV for mixtures slightly richer than 13.8:1 and it outputs 100 mV for mixtures slightly leaner than 13.8:1.

So when the Motronic Closed Loop program is running with an LC-1 programmed to 13.8:1, the Motronic still sees exactly the same voltages. However the difference is it has to keep adding fuel (6% more) in Closed Loop to get the output of the LC-1 to move above 490 mV. Then it removes a little until the voltage drops below 410 mV (just like in the stock narrowband case above). In closed loop, with the LC-1 set at 13.8, the average input voltage to the Motronic is 450 mV. JUST THE SAME AS IN THE NARROWBAND CASE.

So you may now be thinking, if the voltages going into the Motronic are exactly the same, why does the mixture get richer. The answer is that the LC-1 transition point from rich to lean occurs at at point that its exhaust probe measure less oxygen and a little unburned fuel--13.8:1 if that is what you've programmed it to be. The stock narrowband switch point is at 14.7:1.

So the reason that you can't program anything in the Motronic to change closed loop AFR (lambda) is that the closed loop routine only looks for two things while it adjusts fuel: is the o2 voltage greater than 490 mV or is it less than 410 mV.

There is no way at all to change Closed Loop AFR (Lambda) in the Motronic by reprogramming the EPROM.

Once you can see and understand this point I feel you will make progress.
 
......................

So you may now be thinking, if the voltages going into the Motronic are exactly the same, why does the mixture get richer. The answer is that the LC-1 transition point from rich to lean occurs at at point that its exhaust probe measure less oxygen and a little unburned fuel--13.8:1 if that is what you've programmed it to be. The stock narrowband switch point is at 14.7:1.
.............................


Innovate LC-1 fix and analysis

"After gathering information one can understand the main problem of LC-1. The software dies because of data corruption and more likely this is from voltage changes in car electrical system............. "

"....These operation amplifiers are used to gather the information from the lambda sensor and amplify it. My guess is that one is for air to fuel mixture input and second is for sensor temperature input. This signal is then driven from operation amplifiers outputs to processors analog inputs which have build-in analog to digital converters (ADC)... "



Roger, why dont tell what do the LC-1 or others similar harware to ECU ?
All these hardware gives different signals takes from lambda sensor, or intake air sensor or tempe sensor, and gives to ECU false information that "the AFR is lean".
The ECU shall immediately enrich mixture attempting to correct the values ​​obtained. This is all the tricks..
There are many info about on the net.


.......................
So when the Motronic Closed Loop program is running with an LC-1 programmed to 13.8:1, the Motronic still sees exactly the same voltages. However the difference is it has to keep adding fuel (6% more) in Closed Loop to get the output of the LC-1 to move above 490 mV. Then it removes a little until the voltage drops below 410 mV (just like in the stock narrowband case above). In closed loop, with the LC-1 set at 13.8, the average input voltage to the Motronic is 450 mV. JUST THE SAME AS IN THE NARROWBAND CASE....................

Yes the input voltage from stock lambda narroband is the same, but this voltage not still goes to ECU but to LC-1.
The LC-1 convert this voltage (as you programmed by the software of LC-1) to another value and send it to ECU.
By LC-1 the narroband is not connect more to ECU but the LC-1 inserted into the cable.
So when the narrow lambda send 0,45V the ECU take 0,49V (from LC-1) so confuse and make aditional fuel for correct the voltage again to 0,45 again and again.


How change the AFR at open loop in to your R1150 twin by LC-1 ?
 
Yes.
For R1150 :
Pins 30 87 stantard setting (GS-R).
Pins 30 87 87a is for all R1150 with large intake injection tubes from RT-RS.
And when connect the pin 86 at all up settings, is for using low octane petrols.

Thanks John, so that would be connect pins 30 & 86 for low octane on a standard 1150GSA, yes?
 
If the systems is in closed loop it can only attempt to get to lambda = 1 by trimming the fuel up or down and looking at O2 sensor for feedback. This is a fact.

It is also a fact that by "tricking" the ECU with LC-1 (or other programmable sensor) you are effectively moving the target lambda to a different value. But, by doing this you are defeating the main point of closed loop (oscillating around a set value to maximize catalyst efficiency), so you might as well be in open loop at that point, and be running of a modified map in an open loop. The results are the same.

There is conceptually no difference between what the outcome is except that with full map control you can change individual cell, and with LC-1 you get enrichment in closed loop operation only, there are no changes in the rest of the map.
Additionally John has the ability to control timing which is a good thing (or not depending how good the tune is).

As Spiderman says "With great power....."

Now, the only question is, if John figured out everything there is on the chip (there is no program code on it, only data) and do you feel good enough about it to try it out.
Everything else is just going around in circles.
 
..................... and with LC-1 you get enrichment in closed loop operation only, there are no changes in the rest of the map...........................................................
Everything else is just going around in circles.


I think That's right :)
 


Back
Top Bottom