NefMoto

Technical => Reverse Engineering => Topic started by: dgpb on October 17, 2015, 05:02:47 PM



Title: LAMBTS Algorithm
Post by: dgpb on October 17, 2015, 05:02:47 PM
Hi mates. If there's already a post with a good explanation of this, I'm sorry, but I didn't find it.

I was trying to understand the calculation algorythm but the result doesn't make any sense (For sure, it's my fault. Of course it does make sense).

From S4Wiki: LAMBTS = KFLBTS + (KFDLBTS * KFFDLBTS)

From FR:
(http://i57.tinypic.com/2zpqcgm.png)

Being dlambts_w calculated by this other algorythm (LAMBTSZW, based on timing angle efficency):
(http://i60.tinypic.com/2h3bxwo.png)

My example flash is the fully defined 06A906032HN in which stock KFFDLBTS and KFDLBTS are like this:
(http://i60.tinypic.com/2iuf0v7.png)

I tuned KFLBTS so now it is: (both maps are the same but just transposed, to be more clear for those who are familiarized with winols)
(http://i58.tinypic.com/rriij9.png)

Now, an example as I see it, simplifying a lot (Because I don't understand that map with a "T" at the end of LAMBTSZW, and it may be the key for my questions)

We are in the following conditions:
4000rpm
180% of Actual load
Exceeded tabgbts
A little bit of timing retardation

Outputs: (You'l have to imagine KFFDLBTS axis properly scaled, cuase I re-scaled KFMIRL, KFMIOP, KFLBTS, KFZW, KFZW2, KFZWOP, KFZWOP2... All the axis sharing maps, but zeroed the entire KFFDLBTS to manage lambdas just by KFLBTS. Now I want to learn more and use the timing based correction)
KFLBTS -> 0.8204
KFDLBTS -> -0.25
KFFDLBTS -> (imagine) 0.87
             dlambts_w -> KFDLBTS*KFFDLBTS=-0.2175
FBSTABGM -> 1.1

That will make the output of LAMBTS: Following FR

(0.8204 -1 + (-0.2175) )*1.1 +1 = 0.56319

It's an incredibly rich lambda !!!

What am I doing wrong? Can any of you explain it to me? It'd be very helpful



Ps: A quick question... Does the mean private chiptuner re-scale and adjust that many things to do a 350 bucks st1 remap? Or he just increases KFMIRL (Without KFMIOP, I've seen it) and LDRXNs, adds a bit of fuel and it's done?


Title: Re: LAMBTS Algorithm
Post by: mbkr89 on October 18, 2015, 02:20:43 AM
Set delta to 1. Ignition angel is depent on lambda.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 18, 2015, 02:26:34 PM
Set delta to 1. Ignition angel is depent on lambda.


What delta? Ignition angle is dependent on many things. And detazwbs is dependant on ignition angle efficency, not ignition angle.

Actually I don't understand your approach at all. Thank you anyway.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 19, 2015, 07:41:09 AM
Any more opinions guys?


Title: Re: LAMBTS Algorithm
Post by: nyet on October 19, 2015, 10:27:46 AM
FSTABGM is 1, usually.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 19, 2015, 11:19:13 AM
FSTABGM is 1, usually.

Believe it or not, I just realized that maybe he was refering to FBSTABGM

(http://i58.tinypic.com/10f7tjb.png)

Don't really know why I thought it could be graeter than 1, maybe I dreamt it. Even like this, spec lambda'd be 0.6065... rich in excess i think.

But looking at FBSTABGM now... that means that if I'm @ 920ºC I'd end up with a leaner situation than what's in KFLBTS? (Of course, if LAMFA is even leaner)

What I pretend is to enrich if egt increases a lot, but running a "normal" lambda of let's say .82. For example:
Good petrol? -> L=.82
Bad petrol? -> risk of knock -> risk of timing retardation -> risk of high egts -> Enrich

That function from factory is very very very conservative. And, as I changed the axis of KFLBTS, KFDDLBTS axis changes too and I could interpolate old values till 150% load, but I don't really know the behavior of egts passed 150% load. I can't just paste a 210/225 one because they have different CRs, or even egt sensor. What I could do is extrapolate values at guess to reach 190% load. Not sure if this correlates to reality at all.

That said. What's sure is, the higher egts are, the more I want to enrich. Is it a medium good strategy to delete that horrible 0.5 and put FBSTABGM like:?
900 -> 1, Because 0, if I'm not wrong, would make LAMBTS stoichiometric and equal or leaner than LAMFA and LAMFA will specifie lambdas, not LAMBTS
920 -> 1.1
940 -> 1.2
1000 -> 1.4
This only can work if CALCULATED and not actual egt increases with timing retardation... Does it? (I'm gonna look for it in FR, but if any of you does arleady know it, please post it :))


Title: Re: LAMBTS Algorithm
Post by: nyet on October 19, 2015, 11:26:53 AM
Anything over 1 is insanity. The point of that table is to range from 0 to 1.... that is, to attenuate (never amplify) BTS based on modeled EGR.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 19, 2015, 11:38:47 AM
Anything over 1 is insanity. The point of that table is to range from 0 to 1.... that is, to attenuate (never amplify) BTS based on modeled EGR.

Nyet, beleive me when I say that I hate going against of you. You do know a world more than me, but in this situation I think you are wrong.

Looking at the LAMBTS block diagram from FR (First image in the OP):

KFLBTS->0.82
0.82-1=-0.18 (If LAMBTSZW were not 0, it would be even more negative)
-0.18*1.1=-0.198 (more negative)
-0.198+1=0.802 (Richer than KFLBTS)


Title: Re: LAMBTS Algorithm
Post by: nyet on October 19, 2015, 11:45:07 AM
-0.18*1.1=-0.198 (more negative)

-0.18*1.0- = -0.18 -> 100% bts enrichment
-0.18*0.5 = -0.09 -> 50% bts enrichment
-0.18*0.0 = 0 ->0% bts enrichment


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 19, 2015, 11:53:39 AM
-0.18*1.0- = -0.18 -> 100% bts enrichment
-0.18*0.5 = -0.09 -> 50% bts enrichment
-0.18*0.0 = 0 ->0% bts enrichment


FBSTABGM greater than 1 is not insanity then:
-0.18*1.1 = -0.198 -> 110% bts enrichment

Hexadecimal code is not limitting FBSTABGM to 1, cause it's h'80', there´s a world to h'FF'
The only thing that could prevent a greater than 1 output from FBSTABGM is something in the assembly... And I'm not in IDApro yet. Apparently, it may work ok and enrich more with high egt. Don't you think so?


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 19, 2015, 12:57:18 PM
Well, as I understand from FR, the input of FBSTABGM is tabgbts_w which is in fact tabgkrm_w or tabgm_w. And my automation knowledge/experience is not enough to understand the block diagrams involved on it, neither my german level... Can anyone confirm if tabgkrm_w or tabgm_w are dependent on timing retardation?


Title: Re: LAMBTS Algorithm
Post by: nyet on October 19, 2015, 01:00:31 PM
FBSTABGM greater than 1 is not insanity then:

Quote
(0.8204 -1 + (-0.2175) )*1.1 +1 = 0.56319

I would call that insanity.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 19, 2015, 01:07:21 PM
I would call that insanity.

First of all. Thank you for replying so fast and so many times.

Second: Yes, me too. But keep in mind that now KFDDLBTS is 0, so dlambts_w is 0 too

So it'd be: (0.8204 -1 + (0) )*1.1 +1 = 0.80244


Title: Re: LAMBTS Algorithm
Post by: SB_GLI on October 19, 2015, 01:43:04 PM
a lot of the stock 1.8t files have values > 1 in FBSTABGM.  Whether it be right, wrong or insane, I also use values > 1 when to enrich the mixture when EGTs are high.


Title: Re: LAMBTS Algorithm
Post by: nyet on October 19, 2015, 01:44:20 PM
a lot of the stock 1.8t files have values > 1 in FBSTABGM.  Whether it be right, wrong or insane, I also use values > 1 when to enrich the mixture when EGTs are high.

Interesting. I had no idea. I stand corrected.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 20, 2015, 07:12:37 AM
a lot of the stock 1.8t files have values > 1 in FBSTABGM.  Whether it be right, wrong or insane, I also use values > 1 when to enrich the mixture when EGTs are high.

Great news, thank you very much.

The only thing now is, with 0 KFDDLBTS, if i tune FBSTABGM like we're debating... Will it enrich if timing retardation happens?. Because of course actual egt increases, but don't know if that means tabgbts_w (which is the input for FBSTABGM) increases too.

I mean, I know it's modeled to increase if load increases or lambda decreases, but don't really know if it looks at timing retardation (because it's just the function of kfdlbts*kffldbts)... It's good to know because it's just what I pretend


Title: Re: LAMBTS Algorithm
Post by: SB_GLI on October 20, 2015, 03:53:02 PM
I don't set kfddlbts to zero. I reduce it.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 21, 2015, 11:24:25 AM
I know isn't the right subforum but now that we are here...

Is there any method to know what maps share their axis? For example if I re-scale one of them I'll have to reinterpolate all those others with the same axis


Title: Re: LAMBTS Algorithm
Post by: nyet on October 21, 2015, 12:23:00 PM
you can parse the .xdf or the .kp and look for matches

the source to mapdump is part of ecuxplot.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 21, 2015, 02:48:12 PM
you can parse the .xdf or the .kp and look for matches

the source to mapdump is part of ecuxplot.

I'm not very sure about doing it in TunerPro, but I think i guess how to do it in winols, I'll take a look nyet, thanks.

What's more, I use TunerPro to tune the maps I know doing the xdf by myself helped by the fully defined .kp... So it's not really a problem knowing how to do it only in Winols.


By the way, I ended up leaving the maximum of FBSTABGM as 1 and put 0.1-0.4 at high values of KFFDLBTS with stock KFDLBTS (Which is pretty linear)
I only want to enrich from 0.82 (kflbts) to maybe 0.8 or 0.79 if timing efficency drops. Which I consider conservative enough for a stage 1+ (maf 175g/s), having in mind the 3"DP that's installed will decrease actual (but not calculated) egt.

I looked at some logs and substracted actual timing from KFZWOP
entred it in ETADZW to obtain efficency
entred it in KFDLBTS, multiplied by KFFDLBTS, made the calculation in LAMBTS diagram and it does theorically enrich that 0.03 lambda I was looking for.
From the logs, areas with timing retardation (Little bit, 1-5-3º), a little bit more enrichment than the others with 0º

Now, question... As I keep learning more and more questions appear:
Looking at LAMBTS I atually don't see TABGBTS as an activator for BTS. Why? TABGBTS is set at 400ºC. But FBSTABGM has as first value @900ºC = 0, so that 0 multiplies and makes the output from LAMBTS stoichiometric, equal or leaner than LAMFA and therefore LAMFA will manage lambdas.
@920º TABGBTS=0.5 -> 50% BTS enrichment
and @940 and more, TABGBTS=1

So that 0 extrapolates as 0 below 900º and I'm not gonna enter in BTS till 920ºC. What's the function of TABGBTS then? am I understanding ir wrong?
Should I put 1 at the entire FBSTABGM? that'd extrapolate as always 1 and make the car run always in BTS, which I don't know if its a good approach. Or does being below TABGBTS certainly use only LAMFA?
Should I enrich LAMFA map a little bit? (which now is stock)?
Should I cange the axis to for example 700 800 900 1000º?



What do you sincerely think about this? Feel free to comment, I accept "Stupid pre-engineer (only 6 subjects left), you're an idiot and you're gonna melt yor engine or bend a rod"

I'm doing a project at university about remapping my me7.5, that's why I've re-taken this.


Ps: When Spec lambda goes below 0.8, inmediately actual lambda goes exactly 0.75... even if spec lambda is 0.79. I don't know why.
Is actual lambda near 0.79 but stock wideband goes out of range and shows 0.75?
Does the stock wideband read 0.79 but the diagnosis tool shows 0.75?
Am I going really 0.75? why? my car is not the first one that makes so.
Sorry for that huge amount of questions guys...


Title: Re: LAMBTS Algorithm
Post by: Lost on October 21, 2015, 11:34:12 PM
Intresting project.
How is yours MKR fueling? Interfering with Lamfa?
Lamfa is folowing req load not actual.
If you come into continious knock it will follow MKR fueling.
Are you logging that too?


Title: Re: LAMBTS Algorithm
Post by: spacey3 on October 22, 2015, 01:29:09 AM
Ps: When Spec lambda goes below 0.8, inmediately actual lambda goes exactly 0.75... even if spec lambda is 0.79. I don't know why.
Is actual lambda near 0.79 but stock wideband goes out of range and shows 0.75?
Does the stock wideband read 0.79 but the diagnosis tool shows 0.75?
Am I going really 0.75? why? my car is not the first one that makes so.
Sorry for that huge amount of questions guys...

I believe the minimum the wideband can read/display is 0.75 (as per LALIUS).

However, there is LALIUSMN which is the minimum measurable lambda. You can reduce from 0.79 (at least that's what it was in my ecu and sounds like the same in yours) to 0.75 to log down to 0.75.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 22, 2015, 08:05:01 AM
Intresting project.
How is yours MKR fueling? Interfering with Lamfa?
Lamfa is folowing req load not actual.
If you come into continious knock it will follow MKR fueling.
Are you logging that too?


I don't think so, because when running on 98RON It has timing retardation 0 and does the same thing. But thanks for your advice, I'm gonna log it too for the next time.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 22, 2015, 08:05:43 AM
I believe the minimum the wideband can read/display is 0.75 (as per LALIUS).

However, there is LALIUSMN which is the minimum measurable lambda. You can reduce from 0.79 (at least that's what it was in my ecu and sounds like the same in yours) to 0.75 to log down to 0.75.

Great idea mate, I'm gonna take a look

LALIUS:

Lambdalinearisierung, LSU-Sonde vor Katalysator (22x1)

(LSU-Spannung vor Kat, korrigiert)/-

      V                                                               
      0.3027   0.8008   0.9912   1.1768   1.2988   1.3770   1.4160   1.4551   1.4941   1.4990   1.5234   1.5527   1.5771   1.6260   1.7139   1.8213   1.9287   2.2314   2.5098   2.7881   3.1641   3.4619
-   0   0.75000   0.84009   0.87988   0.91992   0.94995   0.96997   0.97998   0.98999   1.00000   1.00195   1.01001   1.02002   1.03003   1.05005   1.09009   1.13989   1.19995   1.39990   1.64990   2.00000   2.80005   4.00000

Shitty resolution at the low part :(

LALIUSMN: 0.80005

So that means you were absolutly right. That helped me a lot Spacey3. Thank you very much !!

I don't really understand VAG/Bosch in this... why to cap minimum measurable lambda?


Title: Re: LAMBTS Algorithm
Post by: adam- on October 22, 2015, 09:38:49 AM
Voltage is so low that any loss in voltage/resistance will result in a near no reading.


Title: Re: LAMBTS Algorithm
Post by: dgpb on October 22, 2015, 11:38:28 AM
Voltage is so low that any loss in voltage/resistance will result in a near no reading.

Ahám, that makes sense... what doesn't is to put that limit at 0.8  ??? Being lambda linearization map programmed to a minimum of 0.75

Anyway, I decreased LALIUSMN and now it works perfectly and as planned, reads 0.79 when needed.

Thank you all guys.


Title: Re: LAMBTS Algorithm
Post by: dgpb on February 25, 2016, 03:55:19 PM
I was explaining LAMBTS for the university project and just realized about the following:

What's the point of having a TABGBTS of 400ºC if there's a zero in FBSTABGM @900ºC?

Following FR, that'd make 900ºC the real BTS trigger, not 400ºC... I assume I'm wrong cause we all see BTS enrichment well bellow 900ºC, but I don't understand why. Is anyone able to explain the rigth triggering path?


Ps: Images from FR and FBSTABGM are in the OP and in the 5th comment


Title: Re: LAMBTS Algorithm
Post by: nyet on February 25, 2016, 04:10:59 PM
One more time: modeled egt!=actual egt and ATR!=BTS


Title: Re: LAMBTS Algorithm
Post by: phila_dot on February 25, 2016, 04:52:43 PM
BTS is disabled if FBSTABGM == 0.

If the output is zero, a condition bit is set and evaluated the same as the other enabling condtions. When set, the map lookups are skipped and output is automatically 1.

To answer your previous question, yes, modeled egt is corrected for ignition angle efficiency.


Title: Re: LAMBTS Algorithm
Post by: dgpb on February 26, 2016, 05:07:03 AM
One more time: modeled egt!=actual egt and ATR!=BTS

Of course is different, but the engine doesn't know actual egt. It only knows calculated egt.

Whats more, from FR, LAMSEL:

(http://i66.tinypic.com/v6uhsl.png)

There's no egt sensor in the AUM, so SY_ATR = 0, then dlamatr_w doesn't matter at all, additive will be 0.

Ps: One more time? Is there any previous one?

BTS is disabled if FBSTABGM == 0...

Thanks a lot



As i'm realizing, the actual map TABGBTS is very different from the word tabgbts_w. The map has something to do in the hysteresis delta RSP. I'll study it better in a while.


Title: Re: LAMBTS Algorithm
Post by: dgpb on March 01, 2016, 02:01:31 PM
Well guys. I've finally been able to get Me7Logger working by fighting with fuses 11 and 15 and the ignition.

Logged lambts_w, lamfa_w, lamsbg_w, lamsoni_w, tabgbts_w, tabgm_w, talsuf, tavvkm_w and tikatm_w

As I suspected TABGBTS sets a point (with DTBTS histeresys to unset) where LAMBTSENABLE activates and sets flbts_w. That enables LAMBTS. But it keeps lambts_w stoichiometric as FBSTABGM is multiplying by 0 until 900ºC.

I logged those other exhaust temperatures to ensure that I was no exceeding safety values in any component (The highest point I saw was 840ºC is it ok?)

That means that below 3680rpm I was running on lamfa_w (equals to lamsbg_w, final requested lambda). Passed that point tabgbts_w goes above 900ºC and lambts_w enables effectively (equals to lambsg_w)



Things cleared now, time to keep documenting my project. Aaaand you were right guys, VCDS sucks compared to ME7L, It's a shame that connecting is so time consuming... I even had to reset the airbag after all the process. Is putting a direct K-Line really the only way to make it simpler?


Title: Re: LAMBTS Algorithm
Post by: nyet on March 01, 2016, 02:08:42 PM
Excellent! Thanks for the update.

I'd appreciate any feedback on the s4wiki BTS section that you think needs work.

TIA!


Title: Re: LAMBTS Algorithm
Post by: dgpb on March 01, 2016, 02:12:11 PM
Excellent! Thanks for the update.

I'd appreciate any feedback on the s4wiki BTS section that you think needs work.

TIA!

Of course nyet, this night I'll take a look of it to post here my advices (Or via PM if you prefer)


Title: Re: LAMBTS Algorithm
Post by: dgpb on March 03, 2016, 02:11:17 PM
I had no time for taking a look at s4wiki. But I don't forget about it.

Let's see if this days I can do it.


Title: Re: LAMBTS Algorithm
Post by: dgpb on March 16, 2016, 05:23:55 PM
As nyet suggested, I took a look at this section on S4wiki. Although LAMBTS seems to be a little short and superficial, compensates it very well in the EGT subsection.

The only things that I think could improve the wiki even more are the following (from my point of view):

Don't blindly trust TABGBTS, as FBSTABGM is usually 0 on its first column. So if TABGBTS is 400ºC and FBSTABGM has a 0 as its first value (let's say at 900ºC), then FBSTABGM is the real trigger.

tabgbts_w (Calculated exhaust gas temperature for component protection) is very pessimistic. Higher than the rest of calculated temperatures, likely higher than real temperature too.


Regards.


Title: Re: LAMBTS Algorithm
Post by: dgpb on March 16, 2016, 05:45:57 PM
BTS is disabled if FBSTABGM == 0.

If the output is zero, a condition bit is set and evaluated the same as the other enabling condtions. When set, the map lookups are skipped and output is automatically 1.

To answer your previous question, yes, modeled egt is corrected for ignition angle efficiency.

Mate, I just realized about this part of your answer. Thanks a lot!


Title: Re: LAMBTS Algorithm
Post by: nubcake on March 17, 2016, 03:38:42 PM
tabgbts_w (Calculated exhaust gas temperature for component protection) is very pessimistic. Higher than the rest of calculated temperatures, likely higher than real temperature too

Just to illustrate this statement, a piece of today's log from my rs6. It's not a stocker, running bigger turbos with an unfinished tune. You can see that the model is fairly accurate, being a bit "slow-ish" for high load pulls, but that's most likely just my setup.


Title: Re: LAMBTS Algorithm
Post by: nyet on March 17, 2016, 04:30:50 PM
If you do the same with a bone stock car, you'll see that the model is actually very very accurate.


Title: Re: LAMBTS Algorithm
Post by: dgpb on March 24, 2016, 11:16:36 AM
One of my best friends has recently bought an AQX ibiza, 6k0906032. I was taking a look at his stock file and that thing goes always in BTS.

TABGBTS 100ºC
FBSTABGM always 1

I knew some cars were programmed like this from factory but I had never worked with one of them until now. It's interesting to see different stock strategies.