Pages: 1 2 [3] 4 5 ... 24
Author Topic: ME7.9.10 - Understanding the torque model  (Read 41434 times)
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #30 on: November 11, 2016, 05:42:18 AM »

I actually just did log, and I can confirm that the X/256 conversion for the intake pressure is correct. What is more interesting to me is that the intake pressure is not far from the boost pressure before throttle. I do get your point. But that essentially means that the upgraded MAP sensor, one of them at least, in the Esseesse version is pointless (maybe it registers these couple of hpa above what the other one could). Yet, from what I have been told the car does run substantial boost, so I wonder how it compensates for the truncated intake pressure. Also, certain famous tuner from Greece is tuning these cars with 4 bar MAP sensors and running proper power on these engines, so there is certainly a method to overcome this, somehow.

I can post the log, but the resolution is crap, I have my ELM set to talk to my PC at 56k, and MES is not the fastest logger either. Regardless, have to copy it first from my other computer.
Logged
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #31 on: November 11, 2016, 06:01:37 AM »

There. But clearly I will not be able to see what happens at the 1.5 bar boost border with my current setup.
Logged
prj
Hero Member
*****

Karma: +289/-29
Offline Offline

Posts: 3513


« Reply #32 on: November 11, 2016, 07:02:40 AM »

I will tell you exactly what will happen. Req. boost will not go over 2559 mbar, intake pressure will not go over 2559 mbar, the fuel will go lean, and the only thing that will show over 2559mbar will be the boost pressure.

There are ways to overcome everything, but you will not do this by posting walls of text.

I have tuned Abarth on dyno with big turbo setup...
Logged
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #33 on: November 11, 2016, 07:51:57 AM »

And the spark will also lock itself I guess and not go down with raising pressure.

For the requested boost, is that because of this data type limitation (diagnostics use X/128, hence puzzlement), or simply because of PVDXABS, which is set to 260kPa even on Esseesse, compared to 250kPa on other versions...?
Logged
prj
Hero Member
*****

Karma: +289/-29
Offline Offline

Posts: 3513


« Reply #34 on: November 11, 2016, 07:58:58 AM »

What diagnostics use is irrelevant, it's scaled.
And yes, the inner pressure model that is used for load calculation is limited to 2560mbar. Even on the MED17 on the new abarth.

Bypassing it requires ASM mods.
Or you can do a clusterf... and rescale the MAP sensor and ambient pressure sensor - basically underscale it.
Logged
nyet
Administrator
Hero Member
*****

Karma: +425/-52
Offline Offline

Posts: 9555


WWW
« Reply #35 on: November 12, 2016, 02:22:59 PM »

Pressure scaling is always 1000/256 or 1000/128 for 8bit or 1/256/10 for 16 bit.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #36 on: November 15, 2016, 02:42:34 PM »

Hacked a quick diagnostic program to get somewhat better resolution logs, effect attached (also this time I did not forget to switch off ASR, but I am yet to make a full range RPM pull, have to get more far away from home for that). But I can already see the load/boost ranges my car has. Hats off for ECUx Plot BTW.

I also now looked into the 5120 hack thread and studied the docs a bit more. As much as the code hack to make the actual RL calculation understand pressures beyond 2.5 bar to get the correct fuelling should not be a big problem, the one to get the correct range on the desired boost and consequently correct boost regulation is somewhat less trivial, but I am still thinking of a somewhat easier way out of this.
Logged
prj
Hero Member
*****

Karma: +289/-29
Offline Offline

Posts: 3513


« Reply #37 on: November 15, 2016, 05:20:50 PM »

The only easier way is to underscale both pressure sensors and the baro sensor.
Logged
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #38 on: June 29, 2017, 06:35:32 AM »

So much talk about nothing. Talk, talk talk. Take the car and do something with it.
Here, let me get out my spoon:

Let's go to BGWLM module and check some pressure scalars:
PBRINTMN, PBRINTMX - factor 0.0390625

Multiply by 65535, what do you get?

I decided not to take for granted what you said and I made the effort to look into the code. This is work in progress and I also use my own home-made disassembler, so spare me the comments of the sort  "this is not exactly right". No, it is not, not yet at least.

First, the DSS sensor reading conversion routine, one of them, here you can see there are two kinds of variables set, ones named with "full" have the range 5120 hPa, the ones names "trunc", 2560 hPa:

Code:
sub_05A75E:
        flash_05A75E:[88,80]            mov     [-r0], r8
        flash_05A760:[F2,FC,3E,88]      mov     r12, ramext_word_0F083E
        flash_05A764:[42,FC,5C,3B]      cmp     r12, UADPSRMX_0ABB5C
        flash_05A768:[9D,06]            jmpr    [cc_NC,cc_UGE], loc_05A776
loc_05A76A:
        flash_05A76A:[42,FC,5A,3B]      cmp     r12, UADPSRMN_0ABB5A
        flash_05A76E:[FD,03]            jmpr    cc_ULE, loc_05A776
loc_05A770:
        flash_05A770:[FF,20]            bset    iram_word_FD40.15
        flash_05A772:[8F,20]            bset    iram_word_FD40.8
        flash_05A774:[0D,02]            jmpr    cc_UC, loc_05A77A
loc_05A776:
        flash_05A776:[FE,20]            bclr    iram_word_FD40.15
        flash_05A778:[8E,20]            bclr    iram_word_FD40.8
loc_05A77A:
        flash_05A77A:[5C,6C]            shl     r12, #6
        flash_05A77C:[F6,FC,04,99]      mov     DSS_raw_0F1904, r12
        flash_05A780:[F0,CC]            mov     r12, r12
        flash_05A782:[F2,FD,3A,3B]      mov     r13, DSSGRAD_0ABB3A
        flash_05A786:[DA,00,34,4F]      calls   multiply_4F34
        flash_05A78A:[F0,C4]            mov     r12, r4
        flash_05A78C:[F2,FD,3C,3B]      mov     r13, DSSOFS_0ABB3C
        flash_05A790:[DA,00,DC,4C]      calls   add_4CDC
        flash_05A794:[F0,84]            mov     r8, r4
        flash_05A796:[F6,F8,00,99]      mov     DSS_full_0F1900, r8
        flash_05A79A:[46,F8,00,80]      cmp     r8, #0x8000
        flash_05A79E:[FD,03]            jmpr    cc_ULE, loc_05A7A6
loc_05A7A0:
        flash_05A7A0:[E6,FC,FF,FF]      mov     r12, #0xFFFF
        flash_05A7A4:[0D,02]            jmpr    cc_UC, loc_05A7AA
loc_05A7A6:
        flash_05A7A6:[F0,C8]            mov     r12, r8
        flash_05A7A8:[5C,1C]            shl     r12, #1
loc_05A7AA:
        flash_05A7AA:[F6,FC,F2,98]      mov     DSS_trunc_0F18F2, r12
        flash_05A7AE:[F6,F8,FC,98]      mov     DSS_full_0F18FC, r8
        flash_05A7B2:[F6,F8,F8,98]      mov     DSS_full_0F18F8, r8
        flash_05A7B6:[F6,F8,FA,98]      mov     DSS_full_0F18FA, r8
        flash_05A7BA:[F6,FC,F6,98]      mov     DSS_trunc_0F18F6, r12
        flash_05A7BE:[98,80]            mov     r8, [r0+]
        flash_05A7C0:[DB,00]            rets

I will spare the code calculating PRINT and related things, the main point is that this one is indeed in the range of up to 2560 hPa. And then, a place (there are other similar ones, but looking almost exactly the same) where pbrintX, fupsrlX, and psX (not yet sure which X is what yet) are used to calculate load related things:

Code:
        flash_05A9D2:[F2,F9,22,A7]      mov     r9, pbrint1_0F2722
        flash_05A9D6:[7C,19]            shr     r9, #1
        flash_05A9D8:[F2,F8,06,A7]      mov     r8, fupsrl1_0F2706
        flash_05A9DC:[F2,FC,F8,98]      mov     r12, DSS_full_0F18F8
        flash_05A9E0:[F0,D9]            mov     r13, r9
        flash_05A9E2:[DA,00,06,4E]      calls   subtract_4E06
        flash_05A9E6:[F0,D4]            mov     r13, r4
        flash_05A9E8:[F0,C8]            mov     r12, r8
        flash_05A9EA:[DA,00,34,4F]      calls   multiply_4F34
        flash_05A9EE:[F6,F4,10,99]      mov     ramext_word_0F1910, r4
        flash_05A9F2:[F2,FC,FA,98]      mov     r12, DSS_full_0F18FA
        flash_05A9F6:[F0,D9]            mov     r13, r9
        flash_05A9F8:[DA,00,06,4E]      calls   subtract_4E06
        flash_05A9FC:[F0,D4]            mov     r13, r4
        flash_05A9FE:[F0,C8]            mov     r12, r8
        flash_05AA00:[DA,00,34,4F]      calls   multiply_4F34
        flash_05AA04:[F6,F4,0E,99]      mov     ramext_word_0F190E, r4
        flash_05AA08:[F6,F4,14,99]      mov     ramext_word_0F1914, r4
        flash_05AA0C:[F2,F8,10,99]      mov     r8, ramext_word_0F1910
        flash_05AA10:[F6,F8,12,99]      mov     ramext_word_0F1912, r8
        flash_05AA14:[98,80]            mov     r8, [r0+]
        flash_05AA16:[98,90]            mov     r9, [r0+]
        flash_05AA18:[DB,00]            rets

Do I see a 5120 hack? Surprising, considering it is factory code, isn't it?

Now, I do not yet know if that holds for all ME7.9.10 versions, so far I only looked at the Abarth and family program code, perhaps the weak 120 hp version of the code have this done differently. Will see with time, to be continued...

PS. I am not sure how to make this code look nicer with a mono spaced font...
Logged
nubcake
Sr. Member
****

Karma: +42/-1
Offline Offline

Posts: 401


« Reply #39 on: July 02, 2017, 05:34:54 AM »

Bosch started doing something about the problem, there's a bunch of 5120 vars in MED9.
You can check MED9 FR, for example section "BGPVD 1.50.1 Ausgabe Druck vor Drosselklappe mit Wertebereich bis 5120hPa". Or take a look at any MED9 a2l file and p_uw_q0p078 comp method.

It's however a huge clusterfuck - and ps_w is still 2560 limited.
« Last Edit: July 02, 2017, 05:37:05 AM by nubcake » Logged
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #40 on: July 02, 2017, 02:55:39 PM »

Right, I have seen the 5120 notes in the MED FR, but could not make much out of all this, seeing the code works much better for me. ME7.9.10 is MAF-less by design, and from what I can tell so far, the two crucial things (for me at least) - relative load calculation based on intake pressure and desired boost calculation - are both done on variables that range to 5120. And I am now 95% sure about this (the other 5% is for double checking myself and live tests, live tests will not happen anytime soon due to lack of necessary mechanical mods). I do see that there is crap loads of other calculations and variables most of which are truncated down to 2560 values, but that does not matter to me as long as RL will keep rising with intake pressure and the boost can be controlled above 2560.

Also, the diagnostics return 5120 range for both desired and actual boost pressure. What is beyond me is why the intake pressure is reported through a low range variable, while there is a high range one available. 

Whether it is a clusterfuck or not by your standards, I cannot really tell. I am in general used to much cleaner code from my previous work on Magnetti ECUs where it was possible to see what is going on without having to refer to FR. So all this Bosch stuff is CF for me.
Logged
robotchip
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 8


« Reply #41 on: August 08, 2017, 04:41:57 AM »

Hello guys, i have the same problem on abarth ecu and i can't obtain not more than 2700 hPa of target boost.
Even if i put the KFMIRL to 320%, increased all boost limit, adjusted KFMIOP and other maps, after 6500 rpm i have 2450 of target boost... Cry.
Is possible to solve this problem (setting target boost to 3000 hPa at all rpms) without rescaling map sensors ?
Logged
overspeed
Sr. Member
****

Karma: +15/-3
Offline Offline

Posts: 312



« Reply #42 on: August 08, 2017, 04:53:57 AM »

ME7.9.10 is MAF-less by design, and from what I can tell so far, the two crucial things (for me at least) - relative load calculation based on intake pressure and desired boost calculation - are both done on variables that range to 5120. And I am now 95% sure about this

ME7.9.10 would use MAF, but FIAT group decide lower cost using MAP.

You can be 100% sure about 5120, it´s on FR clarely stated too
Logged
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #43 on: August 08, 2017, 08:22:49 AM »

ME7.9.10 would use MAF, but FIAT group decide lower cost using MAP.

You can be 100% sure about 5120, it´s on FR clarely stated too

Do you have ME7.9.10 FR? What would I need to do to get it? I might have some things to trade in terms of software or ECU definitions.

I am not sure it is about the cost, Fiat has simply very good history with MAP based gasoline systems I think.
Logged
woj
Sr. Member
****

Karma: +26/-1
Offline Offline

Posts: 412


« Reply #44 on: August 08, 2017, 08:25:45 AM »

Hello guys, i have the same problem on abarth ecu and i can't obtain not more than 2700 hPa of target boost.
Even if i put the KFMIRL to 320%, increased all boost limit, adjusted KFMIOP and other maps, after 6500 rpm i have 2450 of target boost... Cry.
Is possible to solve this problem (setting target boost to 3000 hPa at all rpms) without rescaling map sensors ?


Which Abarth? Because the "plain" version has only 2.5bar MAP sensors anyhow.
Logged
Pages: 1 2 [3] 4 5 ... 24
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.023 seconds with 16 queries. (Pretty URLs adds 0s, 0q)