NefMoto

Technical => Tuning => Topic started by: guyst on June 05, 2016, 05:42:17 PM



Title: ME7.9.10 - Understanding the torque model
Post by: guyst on June 05, 2016, 05:42:17 PM
Hi to all (my 1st real question/subject..)

Im currently struggling to understand my fiat bravo tjet 1.4 torque model. I found many relevant maps using a damos of an alfa mito 135 (same Tjet motor) - torque, ignition and lambda related. main maps for torque at WOT:

KFPED Torque requirement from pedal
KFMIRL Load from required torque
KFMIOP Optimum torque from load
KLMIMAX Characteristic maximum indicated torque
KFMDBGRK Max torque for clutch protection
MDMAXNMOT Max indicated Trq for power limit

I couldnt find any map relating max load like LDRXN or KFLDHBN, only torque limiters, so it seems this ECU has a different torque model than ME7? (Based on torque and not load i guess). This means i cant use the strategy you people use on the ME7 - although there seem to be some similarities.
As of now I tried raising the torque limiters and got the boost up to 1.25 at low revs, but it lowers down to stock 0.8-0.9 by 3500-4000RPM. The requested torque seems to be high enough (not by logging).
I also measured WGDC and its at 55-60% at 4000RPM, so I dont think its a hardware issue.

My first aim is to raise boost to ~1.3 Bar and make a flat and wide as possible torque curve. After addressing that ill take care of the fueling and ignition.
I would very much appreciate any help at understanding the torque model of the ME7.9.10 as there is absolutely no info on the web...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 21, 2016, 11:53:54 AM
Hi,

Can't really give you a straight answer, and I am also not a very active member of this forum (any questions I had so far were not answered). But at least you get a friendly soul, because I also try to understand the workings of this ECU and I studied the same WinOLS definition as you did I believe (there is only one out there). And I was also looking for corresponding maps in other bins to compare.

First thing to note, this ME7.9.10 definition has unfortunately mistakes, so you have to take everything you see there with a grain of salt.

Second, yes, to me it also seems that raising MDMAXNMOT should do the trick in most part. (BTW, I do own a 120 hp t-jet, but I am nowhere near being able to play with it live), but there is a couple of other torque and pressure watchers and limiters that may interfere with this. And yes, there is no maps similar to ones mentioned here a lot for the older ME-s.

If I come up with a good candidate what blocks your boost at higher revs I will let you know here. But in the meantime you could try to share your findings since June ;)

Cheers


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Rick on October 22, 2016, 05:33:27 PM
Torque managed ECU instead of load managed ECU.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 25, 2016, 12:00:02 PM
Torque managed ECU instead of load managed ECU.

If I may ask politely - what does this answer bring to the subject? This is already given in the title. The question of the OP is very valid, because this ECU is newer than the commonly known ME 7.1 / 7.3 around here, it is similar to MED9, but in many ways different, and in particular in the fact there is *really no load* in a sense - Fiat chose in most of their gasoline engines not to employ a MAF, so this ECU is based solely on two MAP sensors on the two sides of the throttle for load estimation. And a very detailed intake manifold and valve duration model.

One Mr. Revlimit a.k.a. hammersword known on another forum (perhaps he is around here too) tries to convince everybody that this ECU is very complex, and in a way he might be right - the factory maps and parameters that upgrade the 155hp version of Fiat Grande Punto to the 180hp Abarth go way over 400 items. On the other hand, looking at the map definitions and comparing it to the available ME documents, the general principle of this ECU and basic tuning does not seem to be that complex as the above mentioned person would try to make you believe. I think he just might be protecting his business.

In any case, there is little information about this ECU out there we are trying to get the basic understanding of how this particular ECU differs from the better known ME instances, and where the fine points are. Yes, we know it is torque model kind ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on October 26, 2016, 12:25:31 AM
If I may ask politely - what does this answer bring to the subject? This is already given in the title. The question of the OP is very valid, because this ECU is newer than the commonly known ME 7.1 / 7.3 around here, it is similar to MED9, but in many ways different, and in particular in the fact there is *really no load* in a sense
You do not understand ME7.

To elaborate:
All ME7 goes from pressure to load. It is a speed density ECU by nature.
If it runs MAF it calculates the pressure in the manifold from the MAF reading, if it runs MAP it takes the pressure direct from the manifold.

The same VE maps are present in all ECU's. In case of MAF it uses the VE maps to go to pressure and then the same VE maps to go back to load.
Meaning even if you calibrate them wrong it won't change much.

Do some reading on BGSRM and other things.

As for limiting load, nothing special - LDRXN is just torque based, not load based, and called differently, that's all there is to it.
As for a certain person writing on every forum that everything is complicated - well it is just PR to build some kind of image. In reality there are many competent people capable of tuning these ECU's and he is nothing special.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 26, 2016, 01:56:49 AM
I am quite sure that I understand it more than you think ;) I only probably do not explain myself so well, I tend to get problems of building things in my head in a different way than others.

Yes, I got the part where pressure is converted to load and vice versa, my impression so far was that this is to be able to establish how much air pumping from the turbo should be there, because pressure is the only controllable thing on a turbo. As for the load, it is indeed "fake" in a way, and from what I see mostly used as an intermediate index to other tables. The actual load getting into the cylinders is calculated in the BGLWM module (which BTW is not present in the MED, probably there is a counter part of some sort). But then, there is BGRLP module for predicted load that calculates mass flow depending on throttle angle and pressure delta across the throttle. Probably has nothing to do with the the actual load calculation (does it?), but it so much different in two versions of the same factory program for this ECU, that it has to have some serious influence on something somewhere. These are the kind of things that I want to understand, and I am not there yet.

This ECU has no BGSRM, but I looked it up briefly in MED and I see what you are getting at. The module that this is mentioned in is BGFKMS and the only thing that changes in this module in this ECU is the total mass-flow leakage parameter MSLG, everything else stays the same on all engine / turbo versions in the factory calibrations.

Yes, there is a counterpart of LDRXN, I believe this is the MDMAXNMOT that the OP mentioned. But for him something else limited the boost / torque, and it is really not obvious what. (For me might as well be the calculated EGT). Yes, I know, to find out things should be logged and analysed. I am not yet at the stage of being ready to play with my engine, and the OP seems not to want to share / participate anymore ;)



Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on October 26, 2016, 03:05:24 AM
Yes, I got the part where pressure is converted to load and vice versa, my impression so far was that this is to be able to establish how much air pumping from the turbo should be there
Nothing to do with turbo.
Quote
As for the load, it is indeed "fake" in a way
Load is no more real or fake than the engine is. It is air charge in cylinder, what's so hard to understand? Whether you measure it directly with the MAF or you calculate it based on measured pressure bears no relevance to the ECU. rkte, more precisely rk_w is calculated from load.

Your entire wall of text is wrong.

Had a quick look - BGLWM has the VE maps to go from pressure to load, just as BGSRM does on other ECU's. KFFKUPRLLB, KFFKUPRLMX are multiplicative corrections, KFFKPBRRES, KFFPBR additive.
BGRLP is transient compensation, turned off on many ECU's because ESUK is sufficient.

Took me literally one glance to tell you that, without walls of text.

MDRLMX replaces LDRLMX, it is simply a compile time option to use one or the other. Same for MED9.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 26, 2016, 04:58:04 AM
I will look into this, some things still bother me about this - if the two factors are additive, then there I need to look up exactly what is going on there, because in the map definition that I have they certainly look like a multiplicative factor (probably they multiply some something additive first), I know that the mult one works directly on fupsrl.

This does sound simple, but then what are all the maps like turbine and compressor efficiency used for, or cam shaft duration? These are all calibrated between the different engine setups (the bare engine being the same, differing only in cams and turbos) and the total amount of these things goes to over 400 items in factory calibrations. What I am after is understanding which ones are crucial, which ones are not, for DIY tune.

MDRLMX looks simple enough but it surely is not the only thing that controls the end torque / load / boost. For one, there is a map that limits the compression ratio of the turbo to maintain low enough charge temperature. These the kind of "small things" I am after understanding ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on October 26, 2016, 12:48:14 PM
This does sound simple, but then what are all the maps like turbine and compressor efficiency used for, or cam shaft duration? These are all calibrated between the different engine setups (the bare engine being the same, differing only in cams and turbos) and the total amount of these things goes to over 400 items in factory calibrations. What I am after is understanding which ones are crucial, which ones are not, for DIY tune.
They are not used in calculating load from pressure.
Quote
For one, there is a map that limits the compression ratio of the turbo to maintain low enough charge temperature. These the kind of "small things" I am after understanding ;)
Just like it is in every single ME7.

I know all this, because I have tuned all of these ECU's, also the ME17 that is on those cars.

I just think that the spoon I'm feeding you with is big enough already, might be good if you went through it on your own :P
The FR will help. Also walls of text about how you think things work is worthless. Things work only one certain way - the way the code is in the ECU. Look it up in the FR. If you don't have FR, disassemble. That's how I do it.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 26, 2016, 01:45:17 PM
I really appreciate the spoon ;) And believe me, I do spend time on this, and it is not the first ECU I am studying, previous studies went flawless, but admittedly these were much simpler ECUs (but without documentation whatsoever). But now there are lots of obstacles, severe lack of time for starters, poor knowledge of German is the other (yes, I know there are and I have seen the translations of the crucial modules). And last couple of months I spent solely on matching the maps in the different bins that I have based on a definition for just one that is out there. I only got back on FR reading last couple of days once having all the maps I want to look at in place and in the only program I know how to use efficiently, TunerPro that is, written up a TP checksum plugin for this ECU, these kinds of things. Getting back on FR made me end up here, hence the sudden activity ;)

Thanks again for the pointers, and as for "walls of text" - nothing to do with my approach to things, I am just keyboard happy ;) I'll try to constrain myself and be more concise (surely not with this post yet ;)).

 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: nyet on October 26, 2016, 03:33:13 PM
As a noob to torque (not load) based systems, can you explain what torque is in those systems? Because in load based systems (as understand it), torque is an efficiency %, not a fixed number, so 100% torque means different things at many different operating points, unlike load, which is always load.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: mbkr89 on October 27, 2016, 12:14:22 AM
You have FR from this ECU ?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 27, 2016, 12:18:38 AM
You have FR from this ECU ?

I don't, if I had I wouldn't be asking questions. Maybe somebody else has?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 27, 2016, 01:34:38 AM
As a noob to torque (not load) based systems, can you explain what torque is in those systems? Because in load based systems (as understand it), torque is an efficiency %, not a fixed number, so 100% torque means different things at many different operating points, unlike load, which is always load.

Well, the basis seems to be, in the different bins that I have, 100% torque is engine output at some fixed maximum load. In one version 100% torque is the torque that the engine would have at 240% RL, regardless of RPM it seems in one particular case, in another bin this relation varies across the RPM range. BTW, this floating torque figure across the different maps sets for essentially the same engine makes understanding what is really going on even harder.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: nyet on October 27, 2016, 11:39:47 AM
Well, the basis seems to be, in the different bins that I have, 100% torque is engine output at some fixed maximum load. In one version 100% torque is the torque that the engine would have at 240% RL, regardless of RPM it seems in one particular case, in another bin this relation varies across the RPM range. BTW, this floating torque figure across the different maps sets for essentially the same engine makes understanding what is really going on even harder.

Well, it makes sense from a driver request standpoint: set a given load max (ie. possible available torque) as a benchmark. For a given fixed torque request, try to meet that request as a % of the benchmark load (available torque).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 30, 2016, 03:03:49 PM
First of, the couple of hints that I got here got me much further in understanding what is going on, thanks for the help so far!

So just to show that I am not ungrateful bastard ;) I think I have found the answer to the OP question. Apart from MDMAXNMOT table that in effect defines the maximum relative load function of RPM in this ECU, there are two (the pair is identical on all bins that I have, not sure what differentiates them, overboost maybe?) maps that limit compression ratio of the turbo in a function of RPM (there is one depending on IAT, called VVTVATU, but its truncated by the NMOT ones). I am not sure what their proper Bosch names are, couldn't really find the right counterpart in the MED or otherwise FR (another BTW, I found VVTVATU in the list of maps on the wiki here, but in is not to be found in the MED pdf?).

In the attached picture the top one from the 120hp version and below a compare to a 155hp version of the same engine (it has a tiny bit bigger turbo and slightly bigger cams, otherwise the same engine more or less).

Now, the problem is that these two maps do exist in the WinOLS definition that can be found out there, but is totally miss-defined. And hence the problems and question that the OP and I have ;) I am pretty sure that better map packs for the other bin versions of this ECU exist, but I don't have them :(

 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 04, 2016, 03:24:23 PM
So I have been reading and studying the maps, and things get way more clear now. However, two things still bother me, I will first ask about just one, the second one I still have to think through.

The calculation of and/or the source of the base duty cycle for the boost valve operation. (Let's put aside PVDREG which is a PID controller for this, but it has to start with some duty cycle).

There are three modules that seem to use fancy models to get the DC for the boost valve:

BGHATLST - calculation of the actual waste gate opening angle
BGHATLSTS - the desired one
BGLDRSTG - the DC cycle resulting from the two above

and then there is the one module:

ATVLDSTE - Output DC boost pressure valve

which essentially gives out the DC out of pedal position / RPM map.

What is the relation of the two things? Is it an open / closed loop difference and these two are used interchangeably? Or what? The first three use turbine and compressor efficiency tables among other things, I wonder how crucial is all this to be calibrated when changing turbos. Or is it enough to just modify the DC cells of the corresponding tables (KFTVLDST in ATVLDSTE and TVLDSTDPW in BGLDRSTG)?

(Please do not ask me why I need to know things far ahead of doing a simple stage1 tune, this will not lead anyone anywhere, I have the urge to learn this and understand, the more I know the quicker the rest goes).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on November 04, 2016, 03:52:30 PM
Sounds like MED17 boost control.
I personally don't even bother to tune it, and I just rewrite the code with my own if I see this.

Those modules are basically pre-control and wastegate actuator linearization.
The PID is in a different module.

Don't have the damos here, but if it works the same as MED17 then only the PID is useful, the rest is a clusterfuck which is pointless to try to tune.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 04, 2016, 04:08:22 PM
Yes, PID is in the PVDREG module. Pointless as it may be (I believe you), these three modules are run over by tractor in two different factory setups for the same engine with a slightly different turbo, so I wonder what's the game here. I know from my previous experience that in the end the basic DC is what really counts, how you get to it is irrelevant. And the basic DC can far off, the character of boost build up is such that the PID has to deal with large errors to start with. (I also wrote my own EBC procedure and PID controller for two different ECUs, and neither had to be so complicated to give spot on boost control results).

Going through all this I realised that this ECU has a lot of similarities with MED17, just I couldn't find FR for that one either (not for free anyhow).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on November 10, 2016, 12:17:47 AM
These cars are very fair for tuning...I have tune some cars with that ecu ME7.9.10 and 2 of them are with a bigger turbo and manual boost controller the problem i experienced is that i get a throttle closure above 6000rpm at boost levels above 1.0 bar, then after a lot of searching and reading i find it and make it work with throttle 100% till redline (7500rpm).

What really helps me is the ori file from Fiat  Punto Abarth "esse esse" "180ps" it is one of the few ori cars that request 1.8bar overboost and 240 (load) from factory...

So with this as a guidance i never had problems and all the cars works pretty good...


As for boost control with OEM turbos if you tune  proper KFMIRL,KFMIOP,MDMAXNMOT (MDRLMX) you get almost 1.5bar overboost if the turbo has not have any cracks in the hotside(very comon to those little turbos )


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 10, 2016, 05:27:53 AM
These cars are very fair for tuning...I have tune some cars with that ecu ME7.9.10 and 2 of them are with a bigger turbo and manual boost controller the problem i experienced is that i get a throttle closure above 6000rpm at boost levels above 1.0 bar, then after a lot of searching and reading i find it and make it work with throttle 100% till redline (7500rpm).

Would you be able to give at least some indication what was causing it? Did it have something to do with pressure across throttle blade raising a lot (close to equal pressures) and KLAF correction reducing the flow figure for the desired throttle opening table?

Asking this because this is my next concern (that I mentioned above, but had no time to dig into). Namely, it seems that this ECU does not open the throttle a lot at high boost, all the regulation is done with boost control rather than throttle blade. This seems like a waste of potential power. (I do understand that controlling load through boost regulation might be easier / smoother, still). Now, I am (for now only theoretically) wondering what happens when you tune these tables such that the throttle will open 100% at high boost. What else will get totally messed up in the calculations, like to pressure ratio getting very high, etc. etc.

And did you mean 100% of throttle, or the pedal?

What really helps me is the ori file from Fiat  Punto Abarth "esse esse" "180ps" it is one of the few ori cars that request 1.8bar overboost and 240 (load) from factory...

So with this as a guidance i never had problems and all the cars works pretty good...

As for boost control with OEM turbos if you tune  proper KFMIRL,KFMIOP,MDMAXNMOT (MDRLMX) you get almost 1.5bar overboost if the turbo has not have any cracks in the hotside(very comon to those little turbos )

Yes, I do work with the Esseesse file a lot and compare it to the base 155hp version (which is based on the same program code, so the maps are in the same places, makes life so much easier). When you say overboost in this context, it is confusing, 180hp version does not have overboost to speak of, the two load maps (regular and overboost) are identical, this is normal boost for this car. See the attachment.

But I am yet to find a proper OLS or other definition for this family of ECU maps (180 hp version or its 155 base). This one has some maps that are not in the 135 hp version at all. Some of them I identified (for example, all KFPED-s and KFZDAHS-es are all present in double, one version of manual and one for automatic), but some of them not. If anybody has such a (complete) definition and is willing to share, you know where the PM button is ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on November 10, 2016, 06:26:13 AM
In the way i understood it, the throtle closes due to that the boost raises way above of what is requested and due to that i controll boost presure with mbc  (but i`m not quite sure with what exactly it relevant ).

When i say 100% throttle i mean 87-88% all the time till redline ...


By saying 1.8bar overboost i mean the real boost pressure that the car works when you hit the pedal.

The dual KFPED maps are for normal mode & sport mode thats why it is not on all car version.

I also looking for a long time for a better .ols for that cars but i have not found anything good.

I suggest to make a test to your car and make all the tha maps that they are reaalted for boost,load,pedal postion identical to the "esse esse" version and see how it will react...






Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 10, 2016, 06:34:13 AM
In the way i understood it, the throtle closes due to that the boost raises way above of what is requested and due to that i controll boost presure with mbc  (but i`m not quite sure with what exactly it relevant ).

When i say 100% throttle i mean 87-88% all the time till redline ...


By saying 1.8bar overboost i mean the real boost pressure that the car works when you hit the pedal.

The dual KFPED maps are for normal mode & sport mode thats why it is not on all car version.

I also looking for a long time for a better .ols for that cars but i have not found anything good.

I suggest to make a test to your car and make all the tha maps that they are reaalted for boost,load,pedal postion identical to the "esse esse" version and see how it will react...

Oh, OK I missed the fact that the problem was with MBC, I thought you had it with factory EBC, just raising the boost through maps.

You are wrong about KFPED maps on the Esseesse program - there are 10 (!) in total, 5 of what you have normally:

normal
low speed
normal sport
low speed sport
reverse

and 5 more of the same, but for automatic gearbox. This is so more interesting because of the fact that the reverse map is described only to be for automatic gearbox cars, why there is a need to have two, beats me. The same for KFZDASH-es. Figuring out which one belongs to what is not that straightforward ;)

As I said somewhere above, I am nowhere near trying things out on the car, and in the meantime before I reach that point I want to understand and collect as much knowledge as I can.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on November 10, 2016, 08:04:19 AM
MBC doesn't work right on ME7, and the ECU can't even see more than 1.55 bar boost anyway.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 10, 2016, 09:16:12 AM
MBC doesn't work right on ME7, and the ECU can't even see more than 1.55 bar boost anyway.

That's the whole trick with ME7.9.10, it can. The Esseesse version we talk about above has MAP sensors upgraded to 3bar ones, and the ECU is properly calibrated for that, starting from the sensor input conversion (sensors gradients and offsets), ending with the pressure limiters here and there raised from 250kPa absolute to 300kPa. This is one of the reasons why I do not buy the advice of the sort - "Study the other ME7 ECUs and everything will be clear". It won't in many cases, and this ECU, despite its name, seems to more like MED family (which I also know little about). Plus this extended program version of the Esseesse version that has maps that have no known definitions...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on November 10, 2016, 09:58:17 AM
Have you actually ever successfully logged requested boost on one of those ECUs?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 10, 2016, 10:40:23 AM
There is a desired boost diagnostics field in Multi ECU Scan, but I never tried it.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on November 10, 2016, 04:45:52 PM
There is a desired boost diagnostics field in Multi ECU Scan, but I never tried it.
I suggest you do. I suggest you also look up the scalar for ps_w.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 11, 2016, 02:17:32 AM
Since I will not have time to do any test anytime soon, I have to rely on what I see in the definitions and what I know about the ADC in this ECU. Also, I own the small version of this engine with factory boost settings, which hardly reaches 0.9 bar, so I will not see much anyhow. But:

The gradient for both MAP sensors is hex 0x8740, on the Esseesse version with 3 bar sensors it is 0xA4B4, and I do not see why it would not be possible to go up with it more. Divided by 128 that gives respectively 270 kPa and 330 kPa range, subtracting the dead border voltages of the sensor gives the ranges I would expect of 2.5 and 3.0 bar. All conversions (not for baro pressure and basic boost pressure) in the map definitions are X/128, which gives 511.99 kPa range precisely. So unless this is all wrong and so is the diagnostic program (which also uses X/128 conversion for the boost pressures, desired and actual, this I know, I mean the conversion it used, I have not see the reported values) then I do not see what you are hinting at? Yes, I read the S4 tuning wiki and saw this: "All pressure values in ME7 have a fixed (internal) limit of 2559.96 mBar (0xffff/25.6)". But I do not believe this is the case here, at least not for all the pressures.

There is one thing that is puzzling though, the conversion in the diagnostics program for the intake pressure is X/256 indeed. And probably that's something I should indeed check.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on November 11, 2016, 03:13:42 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?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj 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...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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...?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: nyet 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on November 15, 2016, 05:20:50 PM
The only easier way is to underscale both pressure sensors and the baro sensor.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: nubcake 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: robotchip 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... :'(.
Is possible to solve this problem (setting target boost to 3000 hPa at all rpms) without rescaling map sensors ?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: overspeed 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


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj 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... :'(.
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.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: overspeed on August 08, 2017, 01:43:24 PM

Essesse versions for example has a 300Kpa MAP 0281002437.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: robotchip on August 11, 2017, 07:24:10 AM
I know essesse use 300kPa map sensor and i'm working on this ecu.
The problem is that i can reach 300kPa boost target ... i don't undesrtand where is VE map in this ecu. In Bosch ME7.1  the map KFURL shows how to convert boost to load in function of °kw and rpm, but in me7.9.10 i can't find any similar maps... i think that the key to reach the requested boost is this hidden map.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 11, 2017, 09:09:25 AM
It is probably because of one of the load or turbine compressor limiters that this ECU has plenty of. What ECU definition are you using? Post the bin, I might be able to help you (but just _might_).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on August 18, 2017, 06:24:34 AM
woj, you have a PM


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 18, 2017, 03:04:51 PM
Answer to the request. It is possible to find, but you would have to register on a couple of foreign speaking forums.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: robotchip on August 21, 2017, 06:43:29 AM
It is probably because of one of the load or turbine compressor limiters that this ECU has plenty of. What ECU definition are you using? Post the bin, I might be able to help you (but just _might_).

Attached you will find ori and mod:  boost target  doesn't reach 300kPa, only 282 kPa at 2500 rpm than it goes down to 255 kPa.
Please look if there are any limiters that i don't know.
I need only to set the boost target to 300kPa, nothing else.
Thanks in advance


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 22, 2017, 12:53:53 PM
Can't help you with your particular binaries, they do not match any of my definitions (and I do not have that many), even after chopping a 64K block out (0x8000-0x18000) that is normally not included on readouts from this ECU (BTW, which program read this binary out?). Nice to have a new binary, haven't seen this one before ;)

But, below a shot of a handful of maps from my Abarth bin that I believe could be the ones that you should look for. I am quite certain that this is not complete, but these are some obvious candidates. Most of them sit in the BGRLMX module, two in MDRLMAX (the two torque limiters, these you have probably not missed), and one in BGPVD (but this one I believe is irrelevant). Something tells me there was one more scalar value somewhere, but I cannot recall what it was at the moment, will re-post when I do. Hope that helps a tiny bit.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: robotchip on August 22, 2017, 03:17:45 PM
Hello,

look at attached screenshot of the logged parameters...
Intake pressure is 2560 mbar (in mechanical boost gauge i read 2800 mbar) even if the map sensor is recalibrated up to 300 mbar, i think that is a problem of the convertion value of the diagnostic.
Desired boost don't go over 2751 mbar...  :-[


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on August 22, 2017, 04:36:42 PM
robotchip, first off, your "abarth.ori" file isn't stock.... second, maybe you should take a look at all the maps you've modified, some values don't make much sense vs others... Also, you've (inadvertently) redimensioned at least ONE map, which makes me wonder how your car even runs...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: robotchip on August 22, 2017, 11:22:45 PM
Hello,  the file "abarth.ori" is stock file from 500 abarth "tributo ferrari" 180 hp.
The file .mod is a test to see if the boost requested would go over 300 kPa, but the log shows that it doesn't reach 300 kPa. Do you know how this ecu calculate target Load ? It's not like standard me7 Vag.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 23, 2017, 01:15:08 AM
I have to question the stock-dness of your ori file too, the checksum does not add up, see attachments. I named and reorganised your files so that they have the more common layout and are more likely to fit existing definitions if anybody else wants to have a look at it.

I am worried about you talking about scaling the MAP sensor. If these are 3bar MAP sensors (which I believe they should be in a 180 hp version) then you should not be touching any MAP sensor scaling. (But you should also not be trying to go with boost up to 2 bar, you should have a margin to let the regulation do its job). If it is a 2.5 bar MAP sensor and you are trying to push the boost to 2 bar by "scaling" things, then I am afraid this has little chance of success.

And yes, the diagnostics will only show you 2560 mbar capped value for the intake pressure, but you can see that the load is calculated properly and goes above that (from what I can see).




Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 23, 2017, 01:16:17 AM
The other two attachments, pressed the wrong buttons :/


Title: Re: ME7.9.10 - Understanding the torque model
Post by: robotchip on August 23, 2017, 02:05:33 AM
Hello,
I'm sorry to have bad named the files and not checksummed the mod but my tool calculate checksum only in writing.
I summarize the problem to make understand all, i think it will be useful to study a solution for who have to tune similar car with strong mechanical modification.
The Car is 500 abarth 180 hp with bigger turbocharger TD04HL;
Map sensors are 300kPa (stock are so) and they don't need to be recalibrate;
With attached mod file  the boost requested doesn't reach 300 kPa even if map sensors can read properly 300kPa.
We need to know how this ecu calculate load/boost requested so that we can calibrate boost without problem.
I have seen Revlimit had done  gpa over 400 hp with more than 300kPa boost and stock ecu.
I hope it will be useful to study for all.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on August 24, 2017, 03:58:30 AM
Your "stock" file isn't stock. Wrong checksums indicates that 100%. You made some beginner mistakes in your "test file" and you don't even seem to be aware of that.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: robotchip on August 24, 2017, 01:40:37 PM
Your "stock" file isn't stock. Wrong checksums indicates that 100%. You made some beginner mistakes in your "test file" and you don't even seem to be aware of that.

Thanks to tell me the mistake, you are right, the file isn't the correct stock  :D ! i'm sorry, however, few days ago i did some other tests on Grande Punto SS 180 hp to see if it is possible to get 300kPa desidered boost (this car has 300kPa Map sensor from the factory).
Attached you will find stock file, test file and the screenshot of the log.
I'm afraid that it isn't possible to have 300kPa desidered boost without install a new MAP sensor with full scale 350 kPa..





Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 24, 2017, 02:01:29 PM
What has the desired boost to do with the MAP sensor? If anything, you should be looking at the actual boost and see if RL follows that.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 24, 2017, 02:28:48 PM
I briefly looked at these last files that you posted, don't have the correct definition for this one either, but I managed to check the obvious. I'd set the PVDXABS higher than 305 kPa just to be sure, but that's probably not it (it is the sensor's max anyhow).

More importantly, at 0xB6B2A you have a 4x4 map that you left untouched which is limiting RL to 220 all over (or so I think looking at my other esseesse file and definition). Try raising that. I called this map in the previous posts "MAXRL dep air density", because I could not find the right Bosch name for it. This is a word map with conversion X*1536/65535.

I am actually curious if that is it...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 24, 2017, 02:46:14 PM
You do have this map raised in your 500 Abarth bin though...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: overspeed on August 25, 2017, 06:05:52 AM
You have a compressor map inside this ECU...look in that section, there is the answer to your question, not only this map, but the main reason why you are not able to request more boost


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 25, 2017, 11:13:09 AM
You have a compressor map inside this ECU...look in that section, there is the answer to your question, not only this map, but the main reason why you are not able to request more boost

Can you give more hint why? From what I see in the code the maps in that section are used to calculate hldstr, the required stroke of the boost pressure plate, and to my understanding this is used for boost regulation / dc value. What you say would mean that then this value is used to calculate what is the maximal regulatable boost and the desired one is capped based on that? And then, I am still guessing, assuming the EBC valve is connected inlet-wg through when shut down, at the maximal DC there is still enough air passing through to WG to keep it open and limiting the boost. How far off am I?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: overspeed on August 25, 2017, 03:59:00 PM
Just raise efficiency and see what happens


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 13, 2017, 10:58:58 AM
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...

So I continued. So far there is nothing in the Abarth code that would make me believe that there is any program limit to work with boost pressures above 2560hPa. The mentioned 120hp / non-Abarth code (in an ECU that actually sits in my car) is a different story. It is surely 5120hPa ready, but things are purposely capped. In particular, the end of the procedure that calculated pvds_max limit for the target boost pressure says:

Code:
        flash_085A70:[F2,F6,4E,A5]      mov     r6, xram2_word_0F254E
        flash_085A74:[7C,16]            shr     r6, #1
        flash_085A76:[E0,07]            mov     r7, #0x0
        flash_085A78:[00,86]            add     r8, r6
        flash_085A7A:[10,97]            addc    r9, r7
        flash_085A7C:[F0,68]            mov     r6, r8
        flash_085A7E:[F0,C9]            mov     r12, r9
        flash_085A80:[26,F6,FF,7F]      sub     r6, #0x7FFF
        flash_085A84:[38,C0]            subc    r12, #0
        flash_085A86:[FD,03]            jmpr    cc_ULE, loc_085A8E
loc_085A88:
        flash_085A88:[E6,F6,FF,7F]      mov     r6, #0x7FFF
        flash_085A8C:[0D,01]            jmpr    cc_UC, loc_085A90
loc_085A8E:
        flash_085A8E:[F0,68]            mov     r6, r8
loc_085A90:
        flash_085A90:[5C,16]            shl     r6, #1
        flash_085A92:[D7,40,3D,00]      extp    #0x3D, #1
        flash_085A96:[F6,F6,64,07]      mov     xram2_word_0F4764, r6
        flash_085A9A:[7C,16]            shr     r6, #1
        flash_085A9C:[D7,40,3D,00]      extp    #0x3D, #1
        flash_085AA0:[F6,F6,68,07]      mov     pvds_max_0F4768, r6
        flash_085AA4:[98,60]            mov     r6, [r0+]
        flash_085AA6:[98,70]            mov     r7, [r0+]
        flash_085AA8:[98,80]            mov     r8, [r0+]
        flash_085AAA:[98,90]            mov     r9, [r0+]
        flash_085AAC:[DB,00]            rets

0F254E is one of the pbrints, F4764 is a low range (2560 hPa) target boost pressure limiter, but this one is not used anywhere. pvds_max is the full range capable (5160 hPa) limiter that is used, but as you can see from this code, it is purposely cut down to 2560hPa. This is easily fixable by changing 7FFF to FFFF and shifting the assignments and bit-shifts a bit, and from further looking into the code this should do the trick.

For pvds that is. Because I found this, now the load calculation based on the intake pressure has to analysed to see if similar stupidity has been introduced somewhere there (with the hope that even if it had, a fix would be equally simple). To be continued again...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on September 13, 2017, 11:24:15 AM
Good job there! Check the code for psrs_w!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 13, 2017, 11:34:14 AM
psrs stands for what? I do not have FR for this ECU (if I did all my puzzles would be solved long time ago) and none of FR-s I do have mention psrs...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 13, 2017, 12:56:13 PM
OK, so this is how it looks from what I can see, RL is calculated with:

Code:
        flash_05FE6E:[F2,F9,B4,97]      mov     r9, xram2_word_0F17B4
 ...
        flash_05FE9C:[F0,C9]            mov     r12, r9
        flash_05FE9E:[F2,FD,AC,FB]      mov     r13, iram_word_FBAC
        flash_05FEA2:[DA,00,D8,4C]      calls   add_4CD8
        flash_05FEA6:[F0,84]            mov     r8, r4
        flash_05FEA8:[F6,F8,96,F8]      mov     rl_w_F896, r8

FBAC is some margin / delta thing that I do not care to look into, the default value somewhere is 5%, irrelevant. F17B4 is the base load to get rl_w, calculated here:

Code:
        flash_05D970:[F2,F9,58,A5]      mov     r9, xram2_word_0F2558
        flash_05D974:[7C,19]            shr     r9, #1
        flash_05D976:[F2,F8,3C,A5]      mov     r8, xram2_word_0F253C
...
        flash_05D990:[F2,FC,9A,97]      mov     r12, pssds_w_FULL_intake_MAP_read_0F179A
        flash_05D994:[F0,D9]            mov     r13, r9
        flash_05D996:[DA,00,20,4E]      calls   subtract_4E20
        flash_05D99A:[F0,D4]            mov     r13, r4
        flash_05D99C:[F0,C8]            mov     r12, r8
        flash_05D99E:[DA,00,4E,4F]      calls   multiply_4F4E
 ...
        flash_05D9A6:[F6,F4,B4,97]      mov     xram2_word_0F17B4, r4

F2558/r9 is PBRINT related, F253C/r8 is essentially fupsrl. I can only guess that F179A which is full range intake pressure read from the sensor is what you meant with psrs.

It seems all is good here, which was my suspicion, mostly because if pvds is allowed to go up to 2560 hPa then an overshot has to be taken into account which will certainly cause over 2560hPa conditions in the intake and consequently higher loads.

Please tell me if I got something wrong here.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 16, 2017, 02:47:38 PM
Just raise efficiency and see what happens

After looking at the code for a while now, I really cannot see how turbo efficiency maps limit the *requested* boost pressure, actually I am almost certain they don't. They may indeed limit the actual boost pressure, in that they define and limit the wastegate operation. But that's a different story.

But, what I can see, is that knocking would limit the requested boost / load.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: mister t on September 19, 2017, 08:07:01 PM
psrs stands for what? I do not have FR for this ECU (if I did all my puzzles would be solved long time ago) and none of FR-s I do have mention psrs...

I have what looks to be a complete DAMOS for your engine.

It comes up as a 37390745001 which cross references to a 1.4 Fiat. Let me know if it's what you're looking for :)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 20, 2017, 12:18:43 AM
Thanks for sharing, always appreciated! But this is an N/A version of this ECU, and yes I have this map pack somewhere.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on September 20, 2017, 05:16:28 AM
most of the maps in this line up with the turbo variants, so while not being a straight shot, it will be helpful.

psrs_w=requested manifold pressure, psr_w=actual manifold pressure. Depending on the boost control algorithm, they might come into play for pvds_w


Title: Re: ME7.9.10 - Understanding the torque model
Post by: mister t on September 20, 2017, 07:00:35 AM
Thanks for sharing, always appreciated! But this is an N/A version of this ECU, and yes I have this map pack somewhere.

Well, I have a DAMOS for a 2008 1.4 T-Jet Turbo ME7.9.1

Maybe this is what you're looking for.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on September 20, 2017, 07:27:25 AM
Well, I have a DAMOS for a 2008 1.4 T-Jet Turbo ME7.9.1

Maybe this is what you're looking for.

Everyone and their cousin has those nowadays :D :D :D


Title: Re: ME7.9.10 - Understanding the torque model
Post by: mister t on September 20, 2017, 10:10:50 PM
Everyone and their cousin has those nowadays :D :D :D

Lol, maybe, but does he? ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 21, 2017, 12:24:34 AM
He does, but thanks again for posting this, there might still be people without it. I guess it is also a common knowledge now that this map pack has mistakes / misalignments, especially for some NMAX tables. 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on November 07, 2017, 04:32:37 AM
Hi all,

I need some help locating the KRKTE maps on this ECU.. I have not been able to find it using the alfa mito damos..

All help is very much appreciated!  :)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 07, 2017, 11:28:37 AM
This question has been answered by me through pm, I will post it here once its accuracy is verified.

But I have a different one. I was looking for the clock speed of this ECU. The scribling on what I believe is the crystal says 4000 followed by something hardly visible. Would indeed 40 MHz be right?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on November 07, 2017, 07:21:13 PM
Hi WOJ,
Thank you for your PM. As mentioned I will try it out and report back. In the meantime, if any other kind soul is able to help please do chip in. For info, my ori file is in the following link http://nefariousmotorsports.com/forum/index.php?action=dlattach;topic=12462.0;attach=22516

Much thanks!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 08, 2017, 12:23:59 PM
So, the address of KRKTE for the above mentioned bin is 0xA49AE, if anybody else wants to know.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on November 19, 2017, 09:34:38 AM
Hi All,

Wanted to get some input as to going about tuning for a bigger turbo for my car. (TD04L)

Just slapped it on 2 days ago and havent gotten around to tuning it yet, but it lags pretty bad, and the pull aint that great even after 3k rpm. Could it be I'm not requesting enough load on KFMIRL? 99% Limit is 240 at the moment, and it's the 100% value in KFMIOP. and used the ME7 tuning wizard to get the kfmiop off that. Even having my MDMAXMNOT is in the 90%s after 3k rpm with gradual increase to max, my turbo doesnt seem to want to go anything over 0.9-1bar. With the same map, my VL36 goes berserk, peaks at 1.5bar with very aggressive pickup, launches and 4th gear pulls.

I have checked for boost leaks, inspected the TD04 before install, all seems good. Just stuck at this moment.. maybe increase the n75 duty cycle? KFTVLDST? (ATVLDSTD module)

Understand that bigger turbos act differently, but it should also hit 1.5bar yes? (just with more lag)

Driving a 1.4L Fiat Bravo T-Jet. just for info..

Appreciate all input..

Kindest regards!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 19, 2017, 02:11:25 PM
most of the maps in this line up with the turbo variants, so while not being a straight shot, it will be helpful.

psrs_w=requested manifold pressure, psr_w=actual manifold pressure. Depending on the boost control algorithm, they might come into play for pvds_w

Yes, I know it is an old post. Not yet logged on the running engine, but stationary psrs_w (if I found the right var) with 5120hPa conversion for desired load 38% is around 490hPa. This does sound right to me, doesn't it? If so, then the psrs_w operates on the 5120hPa range and nothing to worry about here in terms of range.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 22, 2017, 03:29:08 AM
Injectors duty cycle limitation question - in the APCM module ("PWM drive for demand-controlled fuel supply system") I find parameter called TAPCMMX - "Maximum permissible duty PWM". Would that be something limiting injectors duty cycle? The default factory value is at 86%.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 22, 2017, 01:04:46 PM
OK, I think I can answer my own question - there is no (looking at FR of ME7.1 and code of ME7.9.10) DC limiter for injectors (apart from minimum injection time), however, there might be a torque limiter that deploys when the injection is to become continuous / overlapping. Might -> it is described in ME7.1, but I do not really see it in the code of ME7.9.10, but I do see checking for continuous injection and a possible (not happening because of disabled CWREGDS) injection time adaptation.

Correct me if I am wrong.

EDIT: It is not injection time adaptation, it is used (when CWREGDS on) to cap relative load to avoid continuous injection. And it now makes more or less perfect sense.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: NBR on December 26, 2017, 01:15:48 PM
So I've also been playing around with a friends Fiat 500 Abarth Esseesse, who was kind enough to let me use his car as a test mule for tuning. I've come across the same problem with boost not increasing.

So far I've tried changing :
KFMIRL
KFMIOP
MDMAXNMOT
MDMAXNMOB
KLMIMAX
The pressure limiters woj pointed out (the 2 8x1 maps, that I clumped into a 8x2 map)
MDGAT which i think I might have defined wrong, it might be at A5E7C?

There's a bunch of other torque maps that I don't think need editing, but i may be wrong.

I've attached the stock, edited and Tunerpro definition file for you guys, maybe you can point me in the right direction so we can finally understand this ecu



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on December 27, 2017, 05:29:11 AM
It would also help if you told us what limits and/or problems you hit, and what are you after more precisely ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: NBR on January 04, 2018, 06:43:48 AM
It would also help if you told us what limits and/or problems you hit, and what are you after more precisely ;)

I'm after more boost, but I understand there's a serious lack of information from my post. I was just posting to check if anyone would point out some maps I might have missed that will limit torque/boost. I will get the right tools for logging and then report back with more information on what the car is doing from logs. Logging with VCDS doesn't give me anywhere near enough info


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on January 05, 2018, 01:27:41 PM
OK, so to get this going, let me throw some names for now. Some of these are obvious, yet they would limit boost, some of them are not to be found in the Alfa t-jet map pack (while some of them, in one form or the other (for example 2d vs 1d, are in the bin). When I find some more time I will post the addresses of these in another abarth bin, for now you can start playing to see if you can find them / match from the Alfa map pack. Also, some of these names are my own invention due to lack of documentation and not being that verse in Bosch vocabulary.

Pressure scalars:

PSRMX
PSREMX
PVDMX
PVDEMX
PVDXABS

From the BGHATLSTS module, someone here before claimed these are responsible for limiting requested boost, I cannot see how in the code and I am 80% convinced they don't (they do influence boost control though), still I would hold on to that claim as that person did tune this ECU, and I did not:

ETATUR
KFETAVD
KFOFLVDSNG
KFVPNVRPVV - not sure what this one does exactly, but it is compression related and converts one compression factor to another in connection with the three previous

Load limitation:

KFRLMXHO  - Load limitation based on air density
KFRLXTSRN - Load limitation based on IAT
KFRLMXLPH - Load limitation for some sort of limp home mode (should not be needed on a healthy setup)
VVTVATU - Turbo compression ratio to limit discharge temperature (this is not the same as KFLDBHN, BTW, the two rows are "moving" & "standstill" in KFLDBHN).

Torque:

KLDMMX - max delta torque, does not limit the absolute torque, but the change rate, might temporarily cap the max torque I guess.

You have also KFPZU in your definition, this and other maps like this probably need changing if they are lower than your MDMAXNM* limiters. 

Then there are the throttle opening related maps, someone said somewhere that these probably do not need touching (but if they are, the two should be inverses of each other), nevertheless, they define the 95% load throttle threshold in other setups defined in the WDKUGDN map, and these two are substantially different between the 120 hp and 150+ versions of this ECU.

KFMSNWDKVP
KFWDKMSNVP

Then there are the _UM maps, but these should be obvious, the _UC maps I believe can be left alone.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on January 05, 2018, 02:27:30 PM
Two more things:

In your definition, the conversion factor for KFLDBHN is wrong, the formula is X/0x2000 (dec 8192) to get a 1.0 based compression factor.

KFTVLDST does not do anything unless the CWMDAPP is changed accordingly.

EDIT: it should have been CWMDAPP from the start.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on January 12, 2018, 05:56:27 PM
Hi WOJ,

I tried looking into the CWMDAFR in the Mito damos, looks like a 1*1 map?  can you share what is the correct value in order to use KFTVLDST.?

Thanks WOJ!





Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on January 13, 2018, 06:54:15 AM
Bit #3 (mask 0x08) switches this. Just be informed that this also completely disables closed loop boost control on this ECU.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: patrickmotors on January 13, 2018, 07:59:51 AM
what are the _UM maps for?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on January 13, 2018, 08:36:23 AM
Bit #3 (mask 0x08) switches this. Just be informed that this also completely disables closed loop boost control on this ECU.

Thank WOJ, however, I'm still clueless on how to do this in Winols .. possible tutorial? maybe chat in PM?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on January 13, 2018, 02:52:43 PM
Thank WOJ, however, I'm still clueless on how to do this in Winols .. possible tutorial? maybe chat in PM?

I somehow saw this coming. Try not to ask questions like this so shamelessly, or otherwise Mr. Nyet might have an urge to move the whole thread to the Noob section, we certainly do not want that ;) ;)

Well, one of the reasons I am not a great fan of WinOLS, downgrading everything to "maps" :/

To the point, first, we should be talking about CWMDAPP, which does the KFTVLDST thing, not CWMDAFR, the bit number stays as I said. In my ECU CWMDAPP is by factory hex 0x00 (a byte), which WinOLS shows as 0.000 I am guessing. Setting bit 3 on is in this case the same as simply replacing 0x00 with the bit 3 mask of 0x08, which in WinOLS arithmetic is 8.0, not surprisingly.

Somebody with WinOLS correct me, I am not sure I even still have it anywhere to start it up.

Then the KFTVLDST soley defines duty cycles for the boost control valve as a function of RPM and PED, that is it. 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on January 13, 2018, 02:56:14 PM
what are the _UM maps for?

These would be the secondary monitoring maps.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on January 13, 2018, 11:21:32 PM
I somehow saw this coming. Try not to ask questions like this so shamelessly, or otherwise Mr. Nyet might have an urge to move the whole thread to the Noob section, we certainly do not want that ;) ;)

Well, one of the reasons I am not a great fan of WinOLS, downgrading everything to "maps" :/

To the point, first, we should be talking about CWMDAPP, which does the KFTVLDST thing, not CWMDAFR, the bit number stays as I said. In my ECU CWMDAPP is by factory hex 0x00 (a byte), which WinOLS shows as 0.000 I am guessing. Setting bit 3 on is in this case the same as simply replacing 0x00 with the bit 3 mask of 0x08, which in WinOLS arithmetic is 8.0, not surprisingly.

Somebody with WinOLS correct me, I am not sure I even still have it anywhere to start it up.

Then the KFTVLDST soley defines duty cycles for the boost control valve as a function of RPM and PED, that is it. 

very very cool.. thanks WOJ!.couodbt have asked for a better explanation..


Title: Re: ME7.9.10 - Understanding the torque model
Post by: patrickmotors on January 14, 2018, 04:54:30 PM
These would be the secondary monitoring maps.
can you tell me what it's for _UC?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 07, 2018, 02:23:34 PM
You have a compressor map inside this ECU...look in that section, there is the answer to your question, not only this map, but the main reason why you are not able to request more boost

Now that I have looked a bit more into some maps - we discussed this compressor map here and there in this thread with me doing some claims that it should not affect the requested boost. But, neither you or me actually ever gave names or values for the maps that we were thinking of, and hence possible confusion. As I see it from the map packs:

ETATUR - Turbine efficiency
KFETAVD - Compressor efficiency

These two sit in the BGHATLSTS and are used to calculated the desired WG opening (through some calculations I am trying to reverse from the code at the moment). These were the ones I had in mind all the time.

Then there is:

KFLDBHN - Maximum ratio of the compressor

in the module BGRLMXS and I can only guess that this is the one (-s, there are two) that you meant. For reference I attach the values from one of the Esseesse bins.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: overspeed on February 08, 2018, 04:50:08 AM
Now you are reaching the rigth path...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on February 08, 2018, 05:02:14 AM
If you have stock turbo you can as a quick hack lower ETATUR up top and also KFETAVD, that will give you a bit more DC (if it's not giving enough).
If you have an aftermarket turbo, screw all that shit and make a simple pressure ratio by rpm map where to take the precontrol value from. You will never calibrate that crazy boost control... it's wonky even factory calibrated.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 08, 2018, 10:17:16 AM
The DC can be probably changed directly in TVLDSTDPW bypassing most of this indeed mostly useless contraption. The separate map is not that easy for this ECU as you say. I mean, the map itself is trivial, for the map one could even recycle the KFTVLDST by changing the PED axis into pressure. The problem is where the PID is applied, it is not on the DC, way earlier than that, on the required wg valve flow. That is translated to wg valve opening, then to differential pressure in the wg actuator, and only then to DC. And all this taking into account some other contributing factors obviously. So the PID would need to be moved from flow to DC or implemented fresh (not that I have not done this, I have ST10 code I wrote for another ECU for this, not a straight fit though).

And a different thing - some of these boost control related maps (wg valve opening to diff. pressure in the actuator and vice versa) define the wg cracking pressure, so to get the right throttle functioning one would have to touch these too. At least I have not seen the KFVPDKS maps present in other ME7 sorts.

And, I want to know how this contraption works to feed my own curiosity, work continues...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on February 08, 2018, 11:43:09 AM
The DC can be probably changed directly in TVLDSTDPW bypassing most of this indeed mostly useless contraption. The separate map is not that easy for this ECU as you say. I mean, the map itself is trivial, for the map one could even recycle the KFTVLDST by changing the PED axis into pressure. The problem is where the PID is applied, it is not on the DC, way earlier than that, on the required wg valve flow. That is translated to wg valve opening, then to differential pressure in the wg actuator, and only then to DC. And all this taking into account some other contributing factors obviously. So the PID would need to be moved from flow to DC or implemented fresh (not that I have not done this, I have ST10 code I wrote for another ECU for this, not a straight fit though).

And a different thing - some of these boost control related maps (wg valve opening to diff. pressure in the actuator and vice versa) define the wg cracking pressure, so to get the right throttle functioning one would have to touch these too. At least I have not seen the KFVPDKS maps present in other ME7 sorts.

And, I want to know how this contraption works to feed my own curiosity, work continues...

I know exactly how it works, and PID is separate from pre-control.
Read what I wrote again, but this time without assuming that you know better :)

You are looking way too late in the chain, pre-control has to be set to a map, the conversions into actuator lift and so on is just actuator linearization, like KFLDRL. Nothing special.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 08, 2018, 01:00:00 PM
Actually, I did not assume I know better, I only assumed that you implied to introduce F(RPM, Pressure) -> DC for pre-control, but that's not what you said, not sure why I read it this way ;) The rest just follows this wrong assumption.

Also, I agree that violating TVLDSTDPW right away to remedy poor pre-control and PIDs inability to correct it in time is a huge short cut and total oversimplification of the process where one looses dependence on many factors for pre-control, nevertheless, one that might work for simple fixes. I do know that the process starts much earlier than that, it is exactly what I try to figure out step by step, also to see where exactly to short-circuit it nicely like you proposed.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on February 09, 2018, 04:59:09 AM
I think it was like - F(RPM, Pressure) -> аctuator lift? I don't remember exactly, but basically you can set the precontrol map and then set the actuator linearization map the same way as you would do KFLDRL, and it works perfectly fine.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 09, 2018, 02:41:15 PM
... some of these boost control related maps (wg valve opening to diff. pressure in the actuator and vice versa) define the wg cracking pressure, so to get the right throttle functioning one would have to touch these too. At least I have not seen the KFVPDKS maps present in other ME7 sorts.

OK, as much as they have the WG opening pressures encoded in them, they have nothing to do with throttle control whatsoever, there is no KFVPDKS in this ECU, but there is one dimensional VPDKSE that gives the vpsspls that I was looking for. On other ME7 the choice between KF... variant with RPM and VPDKSE without is done through codewords, here it is just compiled out (or perhaps the codewords are compile time options on all of them, don't know). Otherwise the code follows the FR for MED9, so no secrets here anymore.

The precontrol calculation though - oh dear, I dissected the procedure calculation after calculation (I might be bothered to present it here in some human readable form some time later), and I simply cannot believe that somebody at Bosch decided to spend resources on developing this mess, and that Bosch managed to convince clients that this is the way to go and calibrate boost control. What is left to do is to look carefully at this mess and see if possibly there is a way similar to what you showed in the LDRPID thread - linearizing some maps, flattening others, and perhaps, just perhaps one could narrow down the whole exercise to one map. It would avoid introducing new code.

Oh, and no, it should not be to WG lift, it has to be to one step before that, x axis to the map that gives WG lift (HLDSTNGMT), that's what PID corrects. But it is essentially a reversed WG lift with a small offset, so it could be as well to WG lift, just with a different conversion formula.

EDIT: looks to me that literally 8-bytes patch would do the trick of turning KFETAVD into RPM x Pressure direct pre-control map, the rest should work out of the box.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on February 09, 2018, 03:47:59 PM
There you go...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 11, 2018, 01:21:07 PM
(I might be bothered to present it here in some human readable form some time later)

So there it is, re-scalings / precision corrections / capings / etc. are skipped, pvd/pvds/pu are filter / intercooler pressure drops corrected, tpd = pressure downstream turbine, tpu = pressure upstream turbine (or the other way round), not really sure about umsrln, at least it seems to be related to it. Almost certainly there are mistakes in this, including the possibility that I got totally all wrong.

Pre-control value pc is:

Code:
                     KFOFLVDSNG(nmot_grad, nmot) + umsrln (?) * POTFVPATL(pvds / pu) * iat
          -------------------------------------------------------------------------------------------------------------------
KFPFVPATL(tpd / tpu, KFEXPABG(egt, lambda)) * KFCPABGFL(lambda, egt) * egt * KFETAVD(compressor_massflow, pvd / pu) * ETATUR(tpu / tpd) * turbine_massflow

This is then PID corrected and WG lift is taken from HLDSTNGMT(pc_corrected), after which it ends up to be DC after a sequence of maps.

Names are according to some guessed translations from the Alfa MiTo damos, totally clueless about some of them:

KFOFLVDSNG - Offset for compressor line
POTFVPATL - Potential function pressure ratio at the compressor resp. turbine
KFPFVPATL - Potential function pressure ratio at the turbine
KFEXPABG - Exponent exhaust turbocharger
KFCPABGFL - Specific heat capacity ratio exhaust gas to fresh air
KFETAVD - Efficiency compressor
ETATUR - Efficiency turbine
HLDSTNGMT - WG lift from utilization massflow turbine


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 12, 2018, 03:06:23 PM
I dug into the WG control and the whole mess with differential pressures in WG actuator and understood a lot of what is going on in there. Out of interesting findings - there is an adaptation mechanism for spring pressure, so these linearizing maps for DC with differential pressures should not matter much, as long as one frees the adaptation ranges appropriately (on my factory bin, for example, slope adaptation is disabled by having a 1.0-1.0 limit on it). And something that has been bothering me for a while - the bit semantics of CWPVDREG:

.0 - enable the above mentioned WG spring pressure adaptation
.1 - something that 80% looks to me like an adaptation slope value inverter for when the boost valve is connected in reverse (0% DC vents to atmosphere rather than WG actuator).
.3 - some additional pvds filtering, OFF on many bins I have seen, but ON on one of the Abarth Esseesse bins I have been looking at once.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: NBR on February 22, 2018, 05:32:40 AM
Some very good work here! Will try and digest all of the stuff and organise the maps in Winols. Then call my friend back so we can test out the theory on the dynow


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 02, 2018, 09:07:02 AM
Hi all,

I've suddenly encountered this really weird problem. when I go on WOT runs, the ECU closes the throttle for a split second at 4500-5000rpm and then goes WOT again.

coincidentally, I had to change the battery on the car. After doing that, the problem went away. couple of days later, it resurfaced again. so I tried resetting the ECU by plugging out the negative on the the battery, and oddly enough the problem went away again. so the cycle carries on.

anyone kind enough to advise on what's wrong? did I fry some part of the ecu by flashing it too many times? lol

Thank in advance!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 02, 2018, 02:47:55 PM
I never thought I'd say this myself, but it's probably a good time to post some log and bit more details ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 02, 2018, 04:45:26 PM
that's the darn thing, I'm still uncertain as to how to take logs (programs?)

Certainly couldn't take logs like VW cars, cos vcds doesn't work with this ECU.

fiatecuscsn is only able to log certain parameters, things like timing CF cannot be monitored. to add to that, the latency on that program is horrible


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 03, 2018, 12:07:32 AM
Yeah I know, but that's your best option. There you can at least see requested boost / load, boost control DC, etc. might already give some hints.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 05, 2018, 03:01:07 PM
OK, a small hack for the inclined ones, maybe somebody will find it useful. One flag in the flash flips the possibility to completely read this ECU out over OBD, including complete RAM contents. (Yes, to be able to read it out, you have to first write it :)). (Not entirely sure if this the locked upload functionality or just the regular read-by-address interface, if these are not the same?) The byte sequence to look for in the flash is (I did not find it on all the bins that I have, maybe these are readable by default?):

00 FF 33 33 3C 00

This should be somewhere before the bin address 0x9C000 (ECU memory address 0xAC000, or on the "longer" bin files). Change the first 00 into 01 and then after starting a diagnostic session with OBD message "10 60" you can OBD with PID 23:

23 XX YY ZZ BB

where XX YY ZZ is the starting memory address (can be essentially anything addressable) and BB is the read length, range up to 240 (0xF0). A complete flash readout takes almost 9 minutes this way. Added value is that the RAM that can be read too (E000-FFFF & F0000-F7FFE) has the EEPROM mirror (obviously), so you can read it this way without boot-mode-ing it.

Without flipping the flag, only some parts of RAM are readable, flash is not. There is a "permission table" that defines which parts are or are not. With the flag at 01, some checks are still there, but seriously relaxed.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Khendal on March 07, 2018, 04:39:39 PM
I'm beginning to watch/study this ecu...and go inside this Abarth World.

I' ve reading entire thread, and i saw a lot of version of 500 Ecu... 135hp, 140hp, 160hp, 180hp and 190hp, some advice for which it is best to use to start more complete ?

How is the situation nowaday about def files?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 08, 2018, 02:40:03 PM
Yes, with the spread of all the special edition versions of F500/Abarth came several versions of this ECU, and in all honesty I do not follow all of them. I studied two particular versions / families - one 120hp version that sits in my car, and one of the older Abarth/SS ones. My 120hp version has a twin factory 150hp version, that is, the code and map locations are identical, they differ only in calibration data, essentially gold to study the maps and proper mapping. For the Abarth one I have also purposely chosen a particular version that has different factory calibrations available, here three, two are similar (150-155hp I think, or was it 150/160, don't know), the third one is the SS version (180hp). This is even more valuable, because the SS has different injectors, fuel rail, 3 bar map sensors, and a turbo with a much stiffer spring in WG.

Functionally these two families are almost identical (here and there are some less important additional maps in the second family), but there are some notable differences in the code. The 120/150 version has an "artificial" cut of the target boost pressure to 2.5bar (see one of my earlier posts), can be bypassed by code editing, and also the KFZWOP map is byte based with RL axis limited to the 191% range (this is also fixable with code editing, albeit a bit less trivial one). On the second family the artificial boost pressure limit is not there, and KFZWOP is word based with full range axis. Also, the second family code supports automatic transmission, the first family does not. Finally, the second family can handle (from what I can tell) an impulse based speed sensor from the gearbox, while the first family only takes speed from CAN/ABS.

These are the only differences I noted so far, and after having said all that I should post the associated bins (some of them again) I guess, so here they go - family 1 is P684 and P685, family 2 is P409 and the two P662-s. As for definitions, publicly available is only the Alfa MiTo 135hp version to be found earlier in the thread, I also attached the bin (P688). Otherwise tedious compare and match work, a bit difficult because the definition does not have all the maps and some of them messed up (badly), some times in offsets, sometimes in conversions / units.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 09, 2018, 09:04:11 AM
After some experimentation and logging on the car I can now also confirm that the internal range of the psr and psrs/pssol variables on these ECUs is 5120hpa, even on my smaller 120hp one.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on March 09, 2018, 09:12:50 AM
hehehehehe, I was thinking that when I suggested it ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 09, 2018, 12:32:56 PM
Well, I already saw that from the code a while back, but experience tells me that things are not always what they seem and checking is better. More so that there were contradictory claims about this earlier...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 11, 2018, 03:22:45 PM
Another experiment done today to confirm a suspicion I had since I saw some of RevLimit's show case descriptions on their website - the CITY power steering button on some of these ECUs, specifically mine, is actually also turning the sport / overboost mode on. As is by factory. And if it does not, there are configuration parameters to make it happen, no code tweaking necessary. Just have to provide data for the overboost maps and parameters.

Now only to find out how they do LC/NLS to get the whole RevLimit t-jet magic solved ;) I am guessing this is nothing more than an adaptation of the ME7 code to be found somewhere here. Plus the flex fuel / E85 mod I have ready for tests pending better wheather and I'd be all set ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on March 13, 2018, 02:15:18 PM
i have forged Fiat bravo with big turbo if you are interested for testing LC/NLS code  ::) ::) ::)


Great Job for that ecus ....


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 13, 2018, 02:57:24 PM
Looking at this at the moment actually. The basic code from here:

http://www.nefariousmotorsports.com/wiki/index.php/Adding_anti-lag_launch_control_and_no-lift_shift

seems to be a piece of cake (it's just a sequence of checks to set dwell at 0), although I am yet to be certain about how to hook it up to dwell time procedures in ME7.9.10 which do not seem to be identical to other ME7-s. And I have seen reports around that some ECUs do not like 0 dwell times this way, the coils melt, have to check that too.

What is not so simple is the disabling of knock and misfire detection. Though Mr. prj said in the other thread that these are just one flag each, I still cannot see exactly which flags from the code. And playing with flags that are controlled elsewhere is a bit tricky.

But, if you are serious about tests, post your bin (can be factory, don't need your maps) so that I can find and match code for it.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: nubcake on March 13, 2018, 05:22:50 PM
What is not so simple is the disabling of knock and misfire detection. Though Mr. prj said in the other thread that these are just one flag each, I still cannot see exactly which flags from the code.

B_kr and B_dmdstop off the top of my head.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Khendal on March 15, 2018, 05:21:22 PM
Any tips for a stage 1 or stage 2 lists of maps interested? Just to start to study and understand this ecu.  ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 16, 2018, 06:35:34 AM
Any tips for a stage 1 or stage 2 lists of maps interested? Just to start to study and understand this ecu.  ;)

Stage 1 I assume you mean totally stock hardware. In that case (what I intend to try once I get to it):

MDMAXNMOT (also MDMAXNMOB if you have overboost activated), raise it, can be actually arbitrarily, because KFLDBHN should be the map keeping your turbo safe. If your resulting torque goes over KLMIMAX(_UM) then increase these two, but I don't think the stock KFLDBHN would allow it. Once you figure out what torque line you get it would be nice to tap MDMAXNMOT down to it (for elegance). And do something with with KFPED(X) if the pedal response is not what you expect. I don't think there is anything else to it, but I am yet to see myself. (Well, OK, on 150/155 hp ECUs you may run out of injectors too, but then it's AFR measuring time, not mapping, no map will help you get more out of them).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 24, 2018, 03:06:40 AM
LC and NLS for ME7.9.10 preliminarly sorted out, some teasers, more info will follow:

https://youtu.be/zrp8uZXVlJw

https://youtu.be/YLxW5k-2jr8



Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on March 24, 2018, 03:40:12 AM
Great job !!!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 24, 2018, 08:25:49 AM
Looking good! Nice work !


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 24, 2018, 11:46:21 AM
OK, so first of all many thanks to Teo for testing this out (as it turned out, the first test code had a benign bug ;)).

This is a basic procedure, LC rpm hard cut and time limited NLS cut, as in the patch to be found in the Wiki for ME7.1 (or was it ME7.5). Only I fixed it around a bit, and this one disables dmd and kr, oh, and it also has configurable hysteresis margins for the RPM thresholds. I attach the factory bin of what Teo tested, a S19 patch, xdf definition with LC/NLS parameters, patched bin for the lazy ones, and my ASM source (don't bother trying to find the tool that compiles it, only I have it, the code is only for reviewing, please tell me if you see bugs) if you want to match to another bin.

Two next extensions on the list, RPM shift light through MIL (this I already sorted out), and dynamic setting up of LC/NLS RPM thresholds through the cruise control stalk. Here I need feedback, I got a bit stuck conceptually:

My initial plan was: cc into on mode (also makes LC/NLS disabled), and then when holding cc+ register the rpm (highest seen) for LC, and when holding cc- register rpm for NLS. But for this to make sense there has to be a way to reset it and I run out of cc buttons. There is the resume button, but, here is the thing, there are two types of ME7.9.10 (as far as I can tell), one that has cc stalk connected directly to the ECU (and then all buttons / states are always readable), the other one gets this from the cluster through CAN and the cluster already filters out some things, in particular the ECU does not receive resume presses when stationary (or +/- presses without cc being on).

So I need another logic for this. Possibly: cc on for setup / LC/NLS disable, then (no other buttons) register RPMs for LC (as long as they are above some sensible limit, like 2500 rpm), with cc+ register RPMs for NLS, cc- reset both. What do you think? To me it seems overly complicated, but I cannot come up with something simpler. There is also the option to read the sport / power steering state, but this would make it even a bigger clusterfuck. Help me out here to come up with something sensible.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 26, 2018, 04:30:03 PM
Hi WOJ,

First off thank you for your great work. May I ask if this is possible on models without sports mode and cruise control buttons? I only have Asr off on my car..  can it be activated by clutch switch? speaking about LC only..


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 27, 2018, 02:58:31 AM
Everything is optional, including the cruise control setup and sport mode (but, you probably do have sport mode, through the city power steering mode, that's how it works on my Grande).

But, I am almost certain that for you it's a no-go for another reason, the clone MPPS (that's what I remember you have, right?) can only flash data region on this ECU (at least the version I have seen), and you have to be able to flash the complete file. Also, if you still have the cat-converter in the car, that would probably get killed by this feature.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 27, 2018, 05:17:03 AM
Well I dont have a cat anymore after the TD04 conversion, and I just got a ktag.. so maybe possible?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 27, 2018, 06:32:41 AM
Well post your bin then (can be factory, no need to share tunes) and we will see what can be done. I am now working on a more proper version of this, with retard, gear dependant RPM levels for NLS, and turbo DC, it will take me a while though.

I'd be also interested to know what you did, tune wise, to disable the CAT (I can guess, but checking with somebody that have done it and tested is better).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 27, 2018, 04:31:00 PM
definitely no hurry WOJ, you've already went out of your way to offer help. Teo has actually helped me with my tunes, with only minor tweaking on my end credit goes to him.. Will post ORI bin for you to have a look soonest, thanks WOJ


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on March 28, 2018, 03:05:22 AM
definitely no hurry WOJ, you've already went out of your way to offer help. Teo has actually helped me with my tunes, with only minor tweaking on my end credit goes to him.. Will post ORI bin for you to have a look soonest, thanks WOJ

if i remember correct your ori , is the hw/sw number with the one that WOJ has implement LC/NLS code and posted here .

Check it .



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 28, 2018, 02:02:15 PM
I am looking into retard based LC/NLS now, and my quiz question is: is a fixed absolute retard independent of RPM sufficient, or should it be absolute function of RPM, or relative offset to the current factory advance? Yes, I am asking this due to zero experience with retard based functions of this sort, and neither of the options is a coding problem, I just need to know which one is preferred.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on March 28, 2018, 02:55:08 PM
Set zwgru to fixed value 500 rpm before launch threshold (more degreed ATDC = more boost).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 29, 2018, 12:51:22 AM
Yet again I was clearly not precise enough asking my question ;) Still useful info, and a follow up question - changing zwgru will also affect torque calculations, would it not? Not better to slip in the retard later in the chain (close to zwout)? (BTW the RPM margin gt-innovation quoted elsewhere was 160 rpm, but this will be a configurable parameter anyhow).

What I really asked: if I have LC at, say 4000, and NLS at 5000, is it practically sufficient to have one retard value for both, or should I make it the particular rpm dependent?



Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on March 29, 2018, 01:02:13 AM
You can go nuts and make it rpm dependent.
ZWGRU is fine.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 29, 2018, 11:08:30 AM
@WOJ ORI posted here... hope you can help...

@Teo I don't think its the ORI, mine the 150bhp version.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 29, 2018, 11:37:52 AM
http://s000.tinyupload.com/index.php?file_id=24049309712512883266


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 29, 2018, 01:42:08 PM
Teo is right, it is the same software, only the calibration data is different, so you are in luck.

BTW, my hp markings in the file names can be way off, it was only an educated guess after doing some googling when I was naming my files.

I am close to having version 3 finished :D


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 29, 2018, 10:06:52 PM
Hi WOJ, does that mean it's plug and play? or rather flash and play?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on March 29, 2018, 11:48:23 PM
Hi WOJ, does that mean it's plug and play? or rather flash and play?


That means that you download the file that WOj posted  import your tune and you have LC/NLS .........


Title: Re: ME7.9.10 - Understanding the torque model
Post by: slickkon on March 30, 2018, 07:39:31 AM
thanks Teo, import your tune you mean.. :)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: asso81 on April 04, 2018, 03:15:03 PM

hello I can not activate the launch control on my grande punto tjet 120cv, can you tell me which curves to go to enable? thanks


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on April 05, 2018, 01:25:41 AM
LOL I could just see those coming :D


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 05, 2018, 01:38:46 AM
Precisely, I suddenly start to respect Mr. prj very much for his patience and balanced character ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on April 05, 2018, 03:25:01 AM
LOL


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 05, 2018, 04:29:49 AM
hello I can not activate the launch control on my grande punto tjet 120cv, can you tell me which curves to go to enable? thanks

Since this is the same as my bin, software wise, I attach the variable and location data that you need to patch it up to make it work. If you cannot, you have to ask somebody else to do it.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: asso81 on April 05, 2018, 04:35:04 AM

to activate the lanch mode I wanted to raise the rpm value nmax 4000rpm, and then put vmax in stationary mode at 40km, and the right way?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: asso81 on April 05, 2018, 04:44:34 AM
thank you woj ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 05, 2018, 05:14:11 AM
to activate the lanch mode I wanted to raise the rpm value nmax 4000rpm, and then put vmax in stationary mode at 40km, and the right way?

You first need to match the code to your software version, the bins / patches I provided earlier won't work (and they will screw up your ECU almost for certain). Otherwise the default parameter values should be more or less sane and usable for first tests.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 06, 2018, 12:34:00 AM
And of course I opened a can of worms posting this launch control patch. Please do not take the following personally, but I have to say this:

1. You are solely responsible for your actions and consequent damages when you decide to test this patch. The mod is dangerous for your engine and gearbox. And for you!

2. You have to have a basic understanding of the underlying process of patching and parameter calibration of bin files. You have to have a good working knowledge of your tuning and flashing software. (Example here: cloned MPPS will not work). Do not flash files that you are unsure of and pray that it will just work (it's not Windows ffs). This is not a click and go process (it can be, but turns out it's not for most).

3. The posted patch is only for one software version of the ECU, it will not work with other versions without extra work.

4. And remember: you are taking software from somebody that (a) you don't know, (b) is doing it for free and have little interest in your success, (c) is coward enough not to test it on his own (stock) car.

End of disclaimer.

But please, do not be afraid to ask questions when you get stuck, but not ones of the sort "I clicked through and it does not work."


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 06, 2018, 04:17:02 AM
I got a message that a version with retard also works, but there is some fine tuning and additional tests for NLS needed. Result so far:

https://youtu.be/WPlf6sJ-Xm8


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on April 06, 2018, 10:15:38 AM
Yes, but you need to check boost, the more retard there is the more boost.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 06, 2018, 10:28:40 AM
Teo will report on it when he tests more, the retard you see on the video is 6 degrees ATDC.

On a different note, just came back from my desk, doing some physical work with the casing I f-ed up my bench ECU :/ Not sure what could have happened, will triple check all connections, but it seems like a search for another reasonably priced one. If anyone has one floating around, let me know.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on April 07, 2018, 04:23:37 AM
Yes, but you need to check boost, the more retard there is the more boost.

Boost is at 0.6 bar , assuming that the car is a big turbo ( it has fitted a turbo from Nissam GTR ) and LC rpms are set to 4000rpm i think is good for hard LC starting point.
With -10 retard i think i can easily see 1.2 bar boost ...



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 08, 2018, 12:45:08 PM
Had some fun today doing my first attempts at stage 1 tune for my 120hp tjet. Successful so far, I got the ECU to raise boost until reaching KFLDBHN without ill effects. Would post logs, but proper ones are yet to be done pending fixing of my logging software which had a very bad day on two different devices (incomplete logs, unable to connect, all kinds of crap).

I have to hand it to Mr. prj about his endless comments here and there about repeatability of results on road (which I never doubted, but now got to experience it in the Bosch context). And I am not even talking about power indications, just getting the same actual/requested/max torque figures in logs between pulls is impossible.

To be continued...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on April 08, 2018, 03:07:42 PM
Of course.
And even on dyno you have to make sure your temperatures, ramp rate and so on is bang on.

It's actually doable when you don't have to worry about the road going up/downhill, wind blowing, cooling being different due to different speeds and so on.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: gt-innovation on April 10, 2018, 06:27:01 AM
Yet again I was clearly not precise enough asking my question ;) Still useful info, and a follow up question - changing zwgru will also affect torque calculations, would it not? Not better to slip in the retard later in the chain (close to zwout)? (BTW the RPM margin gt-innovation quoted elsewhere was 160 rpm, but this will be a configurable parameter anyhow).

What I really asked: if I have LC at, say 4000, and NLS at 5000, is it practically sufficient to have one retard value for both, or should I make it the particular rpm dependent?


I didn't follow the complete thread or checked your code but i use 2 different variables for lc and nls since dsg gearboxes do not like big retardation values however i choose to cut spark as well directly from szout_w.Unless you are willing to use this code on automatic gearboxes your method using the same variable is fine.

Further more i regulate the boost and maximum requested load to keep the ecu sane while you are on lc.

As prj wrote an rpm dependand lc is the ultimate case as per Med17.1.62 ttrs/rs3 2.5 but that is not always enough.
I have found several ways to cut spark on different ecus but the dwell times serves me well on late m7 and med9 without any issues so feel free to test. if you regulate boost you can use higher retardation values.

I use zwgru on my st10f based ecu but the ignition array is also a choice.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 10, 2018, 06:53:56 AM
Thanks for the feedback! Yes, the current version is now 2-stage, retard and then shortly after cut through szout_w, with a configurable margin. Good hint on the two values for retard (though right now I have a f(RPM) map for retard, so if LC and NLS have different RPM levels I can achieve the same effect).

Duty cycle for turbo is also now implemented (probably a good idea to have two different ones for LC/NLS?), but not yet tested at all, I still wait for results from a prior version. With load limiting - I can do it, but then I have to return the question to you that you asked me in another thread "why bother?", perhaps in not that strong form ;) How does the ECU insanity in this situation manifest itself? I did not get any ill-effect reports from Teo (yet), so I wonder if it's worth the effort. (And also playing with requested load may effectively mean throttle plate interventions). I have the difficulty here of not being able to test it myself with my own logging and all, so I work half blind - with your support and report of test results from geographically distant places.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 10, 2018, 10:58:48 AM
So the logs from my first stage 1 tune attempts. This is essentially only raising MDMAXNMOB (I have the extra boost only in sport mode) to hit KFLDHBN. (Note that in the actual logs there is all kinds of data that is not actually being logged (Zeitronix is disconnected), just dummy values, and also the conversion for requested torque is off by factor of 2, it should be 120% during full throttle pulls, not 60%, need to fix my software).

But my point, look at the pictures, what a crappy stock boost controller, prj already warned me about this and slickkon has continuing problems with it too, I just found it hard to believe that a stock setup can also cause trouble. On the picture this is the first time (out of 5-6 pulls or so) that the boost overshot so much (typically it was hitting only ~230kpa, this time good 240) the throttle had to cut it, nevertheless. If you look at the normal run (this is stock calibration), it also overshoots strongly, but not as much. And I can promise you from my foot feelings from the past, that even on stock pulls there happens to be a very feelable torque dip telling me there is a throttle cut too occasionally. And the DC does not seem to care to do anything. I need to find the parameter that defines the allowable overshot (I know it is somewhere), because I do not intend to tune this boost controller, not for a stock stage 1 tune.

(I also have a 2nd gear pull till red line, all is good there, no overshot, no throttle cuts, but 2nd gear pulls are worthless).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 10, 2018, 11:57:18 AM
For completeness, 2nd gear log. I also now see looking at all this carefully that I operate very close to the edge of KFMIOP which in stock form goes only to 191%, when boost / RL overshoots I end up behind its edge. So need to fix this too.

I am having so much fun with this :D


Title: Re: ME7.9.10 - Understanding the torque model
Post by: gt-innovation on April 10, 2018, 12:37:35 PM
Thanks for the feedback! Yes, the current version is now 2-stage, retard and then shortly after cut through szout_w, with a configurable margin. Good hint on the two values for retard (though right now I have a f(RPM) map for retard, so if LC and NLS have different RPM levels I can achieve the same effect).

Duty cycle for turbo is also now implemented (probably a good idea to have two different ones for LC/NLS?), but not yet tested at all, I still wait for results from a prior version. With load limiting - I can do it, but then I have to return the question to you that you asked me in another thread "why bother?", perhaps in not that strong form ;) How does the ECU insanity in this situation manifest itself? I did not get any ill-effect reports from Teo (yet), so I wonder if it's worth the effort. (And also playing with requested load may effectively mean throttle plate interventions). I have the difficulty here of not being able to test it myself with my own logging and all, so I work half blind - with your support and report of test results from geographically distant places.

My lc/nls function will act also as a traction control algo so even though rlmxs_w didn`t do what i thought it would do back then i kept it.

As for the Nls it does not need any boost regulation.The amount of time needed to shift a gear shouldn`t exceed a certain number (80 to 250ms) otherwise it stops from being a flat shift function.

As for the thread and how you progressed so far i would say "Keep up" posts like this are making everyone better.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 10, 2018, 01:22:06 PM
My lc/nls function will act also as a traction control algo so even though rlmxs_w didn`t do what i thought it would do back then i kept it.

Not my intention to go that far, so I leave this part at peace, I hope the factory ASR can do some work for this.

As for the thread and how you progressed so far i would say "Keep up" posts like this are making everyone better.

I am not a pro, nor I intend to be (too late for that), not having to worry about income from this makes things easier, I am happy to see that people are happy.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 10, 2018, 01:32:30 PM
Now back to my boost overshooting and throttle interventions. It is more or less clear that I exceeded the DPSRSRSDKU (20kPa) limit of allowable deviation of the actual intake pressure to desired. The ECU takes the minimum of the factor in FPSRSDKU and the offset in DPSRSRSDKU to make this check. Had the factor (1.2) been used in my situation I would be good to go from 220kPa desired to 264 actual, but with the offset the max is 240 which I hit (checked the precise values in the log, they are just above 20kPa difference).

Theory part over, will raise this to a modest 25kPa and see what happens, not sure when though... Also all this rambling does not change the fact that the boost controller sucks.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 13, 2018, 01:21:57 PM
Got a very decent result, boost and boost control wise. I increased DPSRSRSDKU to 25kPa, loosened up adaptation ranges for the boost controller (modified DPWGPUSFN from 6kPa to 30kPa, DPWGPUSFX from 30kPa to 50kPa, FKDPWGPUMN from 1.0 to 0.9, FKDPWGPUMX from 1.0 to 1.1, so essentially enabled slope adaptation for higher ranges). Made a couple of warm up pulls and then four 3rd gear pulls with high boost mode, two 2nd gear in high boost, two 3rd gear pulls with factory / normal boost, and checked the high boost onset in the 5th gear. All 3rd high boost pulls have almost identical boost onsets, see the picture, and in general I get repeatable results. No throttle interventions. The lower boost onset lost its spike in 3rd (which I take as a good thing), and it is almost ideal in the 5th.

That's the boost, the fuel needs sorting out and ignition I guess too, not only for my tune, but also for stock. Fuel requests from KFLBTS (despite pre-fueling with LAMFA set to 11.5 AFR) hits as low as 9.2 AFR. Needless to say, this is felt strongly when driving (in fact, the car feels more sluggish with high boost than factory). Sorting this out is no problem, but mounting my Zeitronix contraption is still pending, so I still don't know actuals. With ignition - Teo tells me he notices considerable knock retards on factory calibrations, and looking at the spikes on the actual torque in my logs it's probably the case here too. I need to log knock retards to see what's going on, this is my next step (would be done already, but my logging parameters are hard coded in the bin and my logging app, both have to be fixed).

 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 13, 2018, 02:44:15 PM
Just looking at the requested AFRs and my stock KFLBTS KFFDLBTS, DLBTS I blindly estimate I have up to -5 degrees ignition retards. I now got extremely curious, and I will stop speculating until I see the actual data.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on April 13, 2018, 03:08:51 PM
i think it will also help if you raise  PVDEMX & PSREMX(lets say to 300kpa ) ,i assume it will be your next limitation .


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 14, 2018, 02:05:36 AM
So, there are considerable ignition pulls, up to -6 on stock boost (stock everything in fact), up to -7.5 on high boost. And -2.25 is almost guaranteed, but this is not so bad and does not cause drastic AFR modifications.

Will post logs when I clean them up and look more carefully, but it sounds like KFZW tuning time. .


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 14, 2018, 02:36:46 AM
Logs attached from all my pulls today. The picture is the living proof of a throttle cut on a stock boost setting. Even though I raised the overshot limit to 25kPa, yet again the ECU managed to hit it  (log shows max of 28kPa) :/ Surprisingly, the boost onset on a high boost 3rd gear pull was now by-the-book (see the picture). So it can as well be boost control adaptation loosening result.





Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 14, 2018, 10:47:17 AM
Tried with reduced ignition, still strong ignition pulls, even up to 8 degrees with basic factory boost. Still horrible boost onset with overshot on factory boost setting. The boost control slope adaptation parameter that I freed sits at 1.0, which means the adaptation cannot help the boost controller. Ignition pull with higher boost was somewhat better this time, but still seeing -6 and heavily affecting requested AFR. Retards when pulling in 5th through boost onset very reasonable and very nice boost onset. Moreover, since I brought the whole ignition down (I essentially copied one from factory 150hp bin, which is generally lower and did some localised mods), the car felt more sluggish in low / mid range.

Thus my conclusions for today:

1. Nothing will help this bloody boost controller, it cannot even keep the factory stuff in line. prj said so before, now I am signing under this ;) But it does its job, marginally.

2. Either the factory KFZW is way way off (but the values seem very reasonable to me, I think I have seen higher values on other turbo FIRE engines, will have to check that too) or the knock sensor setup / knock control calibration is crap and it picks up false positives. I know the knock control setup is configured differently on 150hp+ versions, but I really can't be bothered now to check it out.

3. Point 2. can be only resolved with steady state dyno and live ignition mods. Don't have the possibility or time to do it any time soon.

I will ponder on this a bit more, but otherwise I think I leave my tune as finished, I now reverted back to stock KFZW and otherwise I like my logs.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 15, 2018, 01:25:21 PM
Did some more ignition experiments and studying of factory maps. No matter what I do I get ignition pulls, and extra fuel from DLBTS and KFFDLBTS. The only way to solve the overfueling is to kill / reduce KFFDLBTS (which BTW adds fuel even when there are no retards). There is big mess with ZW factory calibrations on these engines. I can understand non trivial KFZW changes between two engines with slightly different cams, but I cannot understand (1) 6 degrees of difference in many spots of KFZWOP between my 120hp bin and Esseesse bin. (2) RL axis limit of 191% in KFZWOP on Esseesse. This ECU requests way more than 191% RL and as load increases the (zwopt-zw) starts to seriously drift away. This results in large fuel additions through DLBTS. And yes, KFZWOP is a byte-based map on many bins limiting RL to 191%, but not on the Esseesse bin where it is word based with full RL range. Rambling over. Due to lack of dyno access I decided to leave ZW stock and only brought down KFFDLBTS a bit to get more reasonable fuel requests at high loads.

Also did some experiments with P modifications in the boost PID controller, increasing it makes it worse, decreasing it heavily (only tried heavily so far, following much lower values in some other stock calibrations) does weird things (long amplitude floating, not that surprising perhaps) in some cases, make things better in some other cases, so more experimentation with decreasing is needed.

Finally, Teo tells me the newest version of the LC/NLS works great, but now I have to also review other proposals for extensions given here, before I post anything.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on April 16, 2018, 02:21:25 AM
I don't see a single full pull in the csv's. Every pull ends at 4500 rpm? Why???

There is no actual ignition angle in the logs.
There is no actual WGDC in the logs.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 16, 2018, 02:59:15 AM
I don't see a single full pull in the csv's. Every pull ends at 4500 rpm? Why???

Lack of legal possibilities to make a 3rd gear pull to red-line, I could only do it on motorway, but there I cannot stop / slow down to start low. I made a couple of 2nd gear pulls, but they are worthless for proper diagnosis. Also, I was mostly interested in boost onset and mid range behaviour in any case, the boost increase / tune at higher end is marginal (~ +10kPa)

There is no actual ignition angle in the logs.

True, I ended up in this zw tuning mess unwillingly, I planned to leave everything stock there and play with boost only. In midst of all this I added the retards, but forgot zw. I will do it though, good point.

There is no actual WGDC in the logs.

So what is "WG Duty Cycle" then? Did I get something wrong? It is even on the screenshots...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 16, 2018, 10:14:32 AM
I logged zwout, but it still does not answer what's going on with the retards (which this time are very mild compared to what I have seen before, and probably acceptable). Attached log is stock boost (and practically everything else), zwout roughly follows KFZW but is spiked with retards all over the place depending for which cylinder the logger caught it. I do not see anything surprising in zwout values if I factor out the retards (and hence I deemed logging it not crucial). In general, this particular log is probably OK, but one with -6 or -8 pulls is not IMO, and these were happening.

That brings me to another thing - the service on my spark plugs is due (this is planned as soon as parts arrive), and I already had problems with miss-fires in winter on cold starts in -20 temperatures. Last time the plugs were serviced was by an incompetent Fiat dealer, I am now ready to believe I have wrong plugs (will know when I take them out). My knowledge about how knock control reacts to wrong or worn out plugs is non-existent, but perhaps that could be it...

EDIT: It seems I am chasing a ghost, found one parameter in the definition that suggest this magnitude of retards on high load is normal (for this engine). On a 155hp that has overboost setup by factory the parameter WKRMAVOBMX defining max mean knock retard is set to 5.25*, on my bin it says 3.75*. Picked up a couple of random high boost spots in my logs and I do not exceed the 3.75* mean threshold. Besides, overboost wasn't ever cut anywhere, that would show in the requested boost line.

Nevertheless, I find it weird.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 18, 2018, 01:49:12 PM
The new LC/NLS procedure for t-jet. Files provided for one particular bin (to be found earlier in the thread with the first LC/NLS version). This one has essentially everything I could think of (but not the stuff for automatic gearboxes gt-innovation suggested), refer to parameter descriptions in the XDF file to see how all this works. In short, all is configurable (can switch on/off LC and NLS separately, NLS gear dependence, WGDC, retard (2 stage), CC stalk setup, etc. etc.).

The parameter values are default, they need to be tailored to your needs (for example, Teo reported that for his big turbo -10 retard worked best). Some things have not been tested apart from not bricking the ECU (but again, I cannot even guarantee that). That is - CC stalk setup has not been tested by anyone (due to lack of thereof), and turbo DC functionality either (but that was a trivial addition).

Source file added for reviewing, it has grown to a size and complexity that guarantee bugs.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 19, 2018, 10:24:55 AM
I got a private message asking about some boot mode details for this ECU, thought I'd share the answer here so that everybody can benefit. The ECU pins and the boot mode connection is as on the picture from FGTechnology. But, it is not necessary to solder, without professional equipment you can make a contraption like mine from a female header part. The needle you stick into a pin hole that is nearby on the board where the right resistor is soldered, just trace the connection (you can even do it on the picture when you magnify). Then hold the rest of the contraption against the pads and voila. For the ECU pin connections (the picture is crappy) - the 12V is the 3rd from the left, the K-line is 4th. (I actually got this wrong on my first connection attempt :/).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 29, 2018, 02:18:52 PM
I sort of failed with one thing, for a couple of weeks I have been testing different CD(X) and CLA(X) configurations to code out the post cat lambda. Just coding out is no problem - I can disconnect the sensor and won't get trouble / DTCs keeping the pre-cat lambda working and correcting. One curiosity in this was that off-ing CD(X) generally disables the corresponding DTC, but not for HSHE, here setting CD to 0 does not kill the DTC, the error class has to be set to 0 too.

But I was attempting to code it out such that the readiness is not disturbed, that is, it comes back eventually after DTC reset. The readiness on this ECU is only reported through the OBD-II request 0101, and out of sensitive things it is only cat efficiency, lambda heater(s), and lambda sensor(s). The cat readiness comes back practically immediately (one key-on cycle IIRC), the lambda heater readiness comes back after a couple of drives. The lambda sensor itself readiness I could not make to come back (it takes a while even on a healthy / stock setup, so I took my time and proper drives when testing too). Looking at the code, all three are treated the same (a specific configuration of DTC status for each component is checked), but the lambda sensor status just won't clear out. How and when the involved DTCs are manipulated is a bit difficult to see through in the code (and hence my inability to solve this puzzle for now).

Understand me well - forcefully making the readiness to come back is not a problem, several different code hacks are possible to make it work, including secret interactions with car equipment or custom CAN messages to make it clear out, not talking about hard-coding in fixed readiness flags. But I was looking for a clean calibration data only way, and I cannot find it for the core sensor readiness, though it does work for cat and the heater readiness. A bit stumped here to be honest, probably missing something obvious, hence this rambling ;).



Title: Re: ME7.9.10 - Understanding the torque model
Post by: nubcake on April 29, 2018, 04:15:44 PM
I don't have any experience with this particular ECU, so whatever I write below might be irrelevant for it.
For the heater there can also be a CWPSHSHE.
For readiness - CWKONLS present here at all?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 30, 2018, 12:21:20 AM
I don't have any experience with this particular ECU, so whatever I write below might be irrelevant for it.
For the heater there can also be a CWPSHSHE.
For readiness - CWKONLS present here at all?

CWPSHSHE is not mentioned anywhere in the reference definition, and also - heater is not a problem, readiness comes back.

CWKONLS - yes, it's there, have not played with it, will check it out, thanks! The stock value is 0x03.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on April 30, 2018, 05:19:39 AM
CWPSHSHE is not mentioned anywhere in the reference definition, and also - heater is not a problem, readiness comes back.

CWKONLS - yes, it's there, have not played with it, will check it out, thanks! The stock value is 0x03.

according to the wiki and hoping is tha same for me7.9.10 you must set 0x03 to 0x01 ( CWKONLS (0x181BB) - Vehicles with 4 installed sensors - change from 51 (0x33/00110011b) to 17 (0x11/00010001b)[55] Vehicles with 2 installed sensors (default value 3), set to 1 )


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 30, 2018, 05:35:21 AM
Precisely, bit 0 (0x01) is the pre-cat sensor, bit 1 (0x02) is the post-cat sensor, running the car with 0x01 to test right now. One thing I know already is that this still does not kill DTC P0141 for HSHE, this still needs the error class set to 0 apart from the diagnosis code word.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on April 30, 2018, 12:20:50 PM
OK, this was eating me enough to look deeper into the code and log some RAM cells. After this I know almost for certain that it is because of LASH - CDLASH makes the code totally skip the call to set_DTC for this, which leaves all DTC flags at zero, while they need to be at "I checked and found nothing wrong state", that is, bit#0 has to be 0, but bit#1 needs to be 1. For the other lambda related things killing diagnosis causes the code to register DTC as checked and correct. The only thing that is now not obvious is to how to make it so for LASH too. But I am closer. (Probably CDLASH back to on, but DTC class to zero).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 01, 2018, 06:27:20 AM
OK, I am clearly on to something. This thing I said that off-ed CDLASH is skipping DTC registration altogether is clearly a bug, because in another bin (Abarth) this is done properly and exactly as I would like it to be - CDLASH off -> register clean DTC status. In my case registration is not done.

Sadly, the code is not fixable without "stepping out of its boundaries", brrr...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 03, 2018, 12:52:30 AM
Sorted! ;D

Below my changes to code out the second lambda such that the readiness comes back after DTC reset. The actual code fix for CDLASH I will describe later (it turned out it is doable in-situ), not all of the bins will need it. Setting CLAHSHE to 00 is necessary (other non zero class might work too, but 03 does not), despite killing diagnosis with CDHSHE P0141 (O2 sensor heater (post-cat)) comes up almost immediately and is resistant to DTC resets. I have not yet figured out exactly why it is so, but I know two things: the DTC is registered once per key-on / DTC reset, and the factory DTC class for this (03) might have something to do with it. Further, not modifying CWKONLS might work, but since each test takes a proper 15 minute drive, I can't be bothered to test more configurations. And clearing the LSH bit in CWKONLS is not unreasonable to do anyhow. Also, the LASH related things might be solvable by proper CD/CLA configuration and no code patch, but see the previous point.

As far as readiness is concerned this config has only one visible difference from the healthy factory setup - the catalyst readiness clears immediately, while normally it takes some driving. The O2 sensor and heater both exhibit the same behaviour, heater comes back after "some" engine starts, the sensor after proper drive(s). Of course, the fact that the OBD readings for the second lambda voltage are dead gives away that something has been manipulated, nevertheless this is as far as one can get to faking it without very serious code hacks.

If not for this factory code glitch, this would have been sorted out practically on the first attempt, took me over two weeks of tests... :/


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 03, 2018, 11:57:47 AM
So, below the factory entry to the LASH diagnosis procedure. xram2_byte_0F030E.6 checked at 045696 is a RAM copy of the CDLASH flag. When not set it jumps almost to the exit of the procedure, no set_DTC is ever called. The jump has to be redirected to a place where a clean DTC is registered (here 0466B2), but it is not as simple as just changing the jump address. The DTC setting code needs to have the current DTC status word (xram_word_F35FE) at [r0], which is not yet there when the jump call at 04569A is made. Lucikly, the code at 0456B4..0456BA is a NOP and this 8 byte space can be utilised to fix this.

Code:
sub_04567C:
        flash_04567C:[88,90]            mov     [-r0], r9
        flash_04567E:[88,80]            mov     [-r0], r8
        flash_045680:[88,70]            mov     [-r0], r7
        flash_045682:[88,60]            mov     [-r0], r6
        flash_045684:[28,02]            sub     r0, #2
        flash_045686:[4A,2F,FC,9F]      bmov    r12.15, iram_word_FD5E.9
        flash_04568A:[D7,40,2C,00]      extp    #0x2C, #1
        flash_04568E:[F3,FC,80,03]      movb    rl6, data_byte_0B0380
        flash_045692:[F3,F2,0E,83]      movb    rl1, xram2_byte_0F030E
        flash_045696:[8A,F1,02,60]      jb      r1.6, loc_04569E
loc_04569A:
        flash_04569A:[EA,00,40,67]      jmpa    cc_UC, loc_046740
loc_04569E:
        flash_04569E:[F3,F4,41,84]      movb    rl2, xram2_byte_0F0441
        flash_0456A2:[8A,F2,02,70]      jb      r2.7, loc_0456AA
loc_0456A6:
        flash_0456A6:[6F,88]            bset    PSW.USR0
        flash_0456A8:[0D,01]            jmpr    cc_UC, loc_0456AC
loc_0456AA:
        flash_0456AA:[6E,88]            bclr    PSW.USR0
loc_0456AC:
        flash_0456AC:[3A,88,F8,6C]      bmovn   r8.12, PSW.USR0
        flash_0456B0:[84,00,FE,B5]      mov     [r0], xram2_word_0F35FE
        flash_0456B4:[F2,F9,1C,FF]      mov     r9, ZEROS
        flash_0456B8:[48,90]            cmp     r9, #0
        flash_0456BA:[3D,02]            jmpr    [cc_NZ,cc_NE], loc_0456C0
loc_0456BC:
        flash_0456BC:[9A,F6,09,20]      jnb     r6.2, loc_0456D2
loc_0456C0:
        [...]
loc_046740:
        flash_046740:[F3,FC,3F,84]      movb    rl6, xram2_byte_0F043F
        flash_046744:[9A,F6,05,00]      jnb     r6.0, loc_046752
loc_046748:
        flash_046748:[E7,FE,10,00]      movb    rl7, #0x10
        flash_04674C:[75,FE,3F,84]      orb     xram2_byte_0F043F, rl7
        flash_046750:[0D,04]            jmpr    cc_UC, loc_04675A
loc_046752:
        flash_046752:[E7,FC,EF,00]      movb    rl6, #0xEF
        flash_046756:[65,FC,3F,84]      andb    xram2_byte_0F043F, rl6
loc_04675A:
        flash_04675A:[08,02]            add     r0, #2
        flash_04675C:[98,60]            mov     r6, [r0+]
        flash_04675E:[98,70]            mov     r7, [r0+]
        flash_046760:[98,80]            mov     r8, [r0+]
        flash_046762:[98,90]            mov     r9, [r0+]
        flash_046764:[DB,00]            rets

The fixed version is (with 2 bytes to spare):

Code:
sub_04567C:
        flash_04567C:[88,90]            mov     [-r0], r9
        flash_04567E:[88,80]            mov     [-r0], r8
        flash_045680:[88,70]            mov     [-r0], r7
        flash_045682:[88,60]            mov     [-r0], r6
        flash_045684:[28,02]            sub     r0, #2
        flash_045686:[4A,2F,FC,9F]      bmov    r12.15, iram_word_FD5E.9
        flash_04568A:[D7,40,2C,00]      extp    #0x2C, #1
        flash_04568E:[F3,FC,80,03]      movb    rl6, data_byte_0B0380
        flash_045692:[F3,F2,0E,83]      movb    rl1, xram2_byte_0F030E
        flash_045696:[8A,F1,02,60]      jb      r1.6, loc_04569E
loc_04569A:
        flash_04569A:[0D,0A]            jmpr    cc_UC, loc_0456B0
        flash_04569C:[CC,00]            db      0xCC, 0x00
loc_04569E:
        flash_04569E:[F3,F4,41,84]      movb    rl2, xram2_byte_0F0441
        flash_0456A2:[8A,F2,02,70]      jb      r2.7, loc_0456AA
loc_0456A6:
        flash_0456A6:[6F,88]            bset    PSW.USR0
        flash_0456A8:[0D,01]            jmpr    cc_UC, loc_0456AC
loc_0456AA:
        flash_0456AA:[6E,88]            bclr    PSW.USR0
loc_0456AC:
        flash_0456AC:[3A,88,F8,6C]      bmovn   r8.12, PSW.USR0
loc_0456B0:
        flash_0456B0:[84,00,FE,B5]      mov     [r0], xram2_word_0F35FE
        flash_0456B4:[8A,F1,02,60]      jb      r1.6, loc_0456BC
loc_0456B8:
        flash_0456B8:[EA,00,B2,66]      jmpa    cc_UC, loc_0466B2
loc_0456BC:
        flash_0456BC:[9A,F6,09,20]      jnb     r6.2, loc_0456D2
loc_0456C0:
        [...]
loc_0466B2:
        flash_0466B2:[A8,80]            mov     r8, [r0]
        flash_0466B4:[66,F8,FE,FF]      and     r8, #0b1111111111111110
        flash_0466B8:[B8,80]            mov     [r0], r8
        flash_0466BA:[A8,90]            mov     r9, [r0]
        flash_0466BC:[66,F9,FF,F0]      and     r9, #0b1111000011111111
        flash_0466C0:[B8,90]            mov     [r0], r9
        flash_0466C2:[0D,30]            jmpr    cc_UC, loc_046724
        [...]
loc_046724:
        flash_046724:[A8,80]            mov     r8, [r0]
        flash_046726:[78,82]            or      r8, #0b00000010
        flash_046728:[B8,80]            mov     [r0], r8
        flash_04672A:[A8,90]            mov     r9, [r0]
        flash_04672C:[76,F9,00,20]      or      r9, #0b0010000000000000
        flash_046730:[B8,90]            mov     [r0], r9

        flash_046732:[A8,80]            mov     r8, [r0]
        flash_046734:[88,80]            mov     [-r0], r8
        flash_046736:[E6,FC,33,00]      mov     r12, #0x0033
        flash_04673A:[DA,03,E8,20]      calls   set_DTC_0320E8
        flash_04673E:[08,02]            add     r0, #2
        [...]

The actual patch to do this is very short:

Code:
org     $4569A
        jmpr    cc_UC, $456B0
        nop
org     $456B4
        jb      r1.6, $456BC
        jmpa    cc_UC, $466B2

For completeness, this is the entry to this procedure in the Abarth bin:

Code:
sub_042CA8:
        flash_042CA8:[88,90]            mov     [-r0], r9
        flash_042CAA:[88,80]            mov     [-r0], r8
        flash_042CAC:[88,70]            mov     [-r0], r7
        flash_042CAE:[88,60]            mov     [-r0], r6
        flash_042CB0:[28,02]            sub     r0, #2
        flash_042CB2:[4A,30,FC,EF]      bmov    r12.15, iram_word_FD60.14
        flash_042CB6:[D7,40,2C,00]      extp    #0x2C, #1
        flash_042CBA:[F3,FC,8A,05]      movb    rl6, data_byte_0B058A
        flash_042CBE:[F3,F2,0E,83]      movb    rl1, xram2_byte_0F030E
        flash_042CC2:[8A,F1,04,60]      jb      r1.6, loc_042CCE
loc_042CC6:
        flash_042CC6:[84,00,44,BB]      mov     [r0], xram2_word_0F3B44
        flash_042CCA:[EA,00,E2,3C]      jmpa    cc_UC, loc_043CE2
loc_042CCE:

where 043CE2 is what 0466B2 is above in the other bin. And that is what I guess was intended from the start.

Onto the next thing, which I am not sure what it will be... Have to finally mount my AFR setup, which is the whole reason for this exercise.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 10, 2018, 12:44:22 PM
Nothing really that noteworthy, not there yet, but I am slowly making moves to try my flex fuel setup ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 12, 2018, 12:27:20 PM
My flex fuel setup and development is working :D. For now I disabled any corrections / blending (one flag will turn them on), I only measure what is in the regular fuel in the country, turns out 4.8% ethanol (what I have in the tank right now is around 70% 95 with 30% Shell V-power 98). Or, to be more precise, there is 95.2% gasoline in it, because this is what the sensor in fact measures. This I will use to calibrate the blendings more precisely before I pour in the real E85 (I also was stupid enough to fill up with gasoline just two days ago, no space in the tank, and my WBO still awaits installation).

The sensor is plugged in directly into the ECU, and I process the phase / frequency with a free interrupt (according to the t-jet docs, this was originally meant to be oil condition sensor). Hence I get both the E-content and fuel temperature. The contraption in the picture is a temporary setup to be easily removable if something goes wrong. If/when i decide to go with this long term I will clean up this mess.

There is one curiosity with all this, and it has to do with fluid mechanics more than with programming. The air reads as 100% gasoline, hence any air pockets in the fuel line skew the reading. And since this is a return line, that happens easily, especially with just the ignition on and no fuel pump running. I actually anticipated this and programmed a delay - when the fuel pump is off the last know good reading is used and before the new one is taken the fuel pump has to be on for at least a given amount of time. Experimenting with this is visible on the video, not perfect, but better than the first startup on the video. This is actually a bit complex, the amount of time the car was left standing also affects this. Probably the best solution is to mount a one way valve (I think I even have one somewhere) after the sensor to (a) provide some small resistance on the line (quicker fill), (b) prevent air backing in from the line. This is only important during startup, nevertheless, since E85 is known not to start well when cold one would like to get precise readings during the start up phase to get the corrections right.

The clip: https://youtu.be/N2w4-gKWHS4

To be continued...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on May 12, 2018, 12:34:55 PM
The correct approach is to let the ECU run the fuel pump until the E85 sensor reading stays static.
Check valve is gonna do absolutely nothing on a return line, especially AFTER the sensor. Think a bit which way fuel flows.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 12, 2018, 12:58:05 PM
The correct approach is to let the ECU run the fuel pump until the E85 sensor reading stays static.

So, scenario when you turn the key to ignition on and then start the engine immediately is out of picture, the pump will run constantly.

For the other one - you turn the ignition on, but no start - well, I did build the fuel up in the line by doing several key-ons and I had a stable static reading of 4.8% after this with ECU waiting for start up. Yet, the reading still drops momentarily (down to 1.x%) when I crank it. (It can be due to voltage drop, but I have no means of verifying this, I did google for battery voltage corrections for flex fuel sensors, no mentioning of this, so I assume that's not it).

So you are right I guess, but that applies only to the first reading with no engine start (which would remedy my 3.X% reading on the first part of the video, this was after I left the car for some time). But I really want to remedy the case above. I will have to test more, because I am now running regular fuel, I have no clue how this will behave with E85. Anyhow, testing phase, will sort it out with time.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on May 12, 2018, 01:29:22 PM
Well done for hacking the interrupt. I wanted to do that on MEVD17, but I could not find a spare suitable input that was available across all model variants (eg BMW M3/4 S55 uses the ethanol content input for the second MAF sensor) so I put it in through CAN.

What I do is store the ethanol content in EEPROM on ECU shutdown. This way there is a valid value at next start if a new one has not been received for some reason. I also do not send wildly fluctuating values on the CAN bus to the ECU, so there is a gradient filter and error check for no CAN frame received within the last 10 seconds throwing a check engine light. I could add more checks if needed, but with sensors used in the feed line on my target platforms I think I've done enough. One I considered was to average ethanol readings over an increasing period based on the time since engine start, or compare fuel level at restart compared with last shutdown to see if it is plausible that there is a new ethanol content, but it really doesn't seem necessary.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 12, 2018, 02:10:35 PM
I do have read out averaging (but only for 4 of them, let me not dive into this now) and plausibility checks / DTC / check-engine things. For a directly connected sensor it is much simpler, either the signal is there, or not. If not, for 2 seconds or so, the ECU limits the load to safe ranges. It's just about stabilising the readout on start up due to air pockets. The idea of EEPROM storage has crossed my mind, but then this is good for stable fuel type usage (you run on E85 only and you use the sensor to compensate for the seasonal ethanol content variations). My use case is frequent fuel switching, the EEPROM value becomes irrelevant when you fuel up with different fuel. Or so I think.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on May 12, 2018, 02:21:57 PM
It takes a little while after changing ethanol mixture for the new fuel to reach the injectors, at least on a returnless system like the ones I'm targeting. OEMs model the dead space between the sensor and injectors, even if both are located in the engine bay, but I did not think that was necessary. I think the biggest danger with flex fuel sensors is changing the value too rapidly rather than too slowly. It is not a variable that actually changes that quickly on my targets (eg change from E40 to E60 and it may take 100 seconds to stabilise, so ~10000 samples for the value to increase by relative 50%).

Another caution you may have considered or not... What happens if your signal line is shorted to ground or 5V? I also noticed when testing a microcontroller with a function generator that a disconnection of even a fairly short ethanol content wire, if the pull up resistor was not present the wire became an antenna and picked up high frequency noise that if triggering an interrupt without filtering could potentially crash the ECU given the frequencies, depending on how much you do in the interrupt and the actual frequency.

The use of EEPROM was more to use the same variable as a map switcher that would not need rewriting when the ECU was restarted.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 12, 2018, 02:30:39 PM
OK then, seems I will have to reconsider the EEPROM storage.

I do have signal debounce, if I get interrupts more often than 0.25ms I quit the routine right away. And otherwise it is very time optimised (hence the 4 readout averaging, I do it without muls/divs). And with low enough interrupt priority to allow the other important things run first. Preliminary tests with giving it high priority crashed the bench ECU right away with no engine attached, could not even keep the CAN communication.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on May 12, 2018, 02:47:18 PM
Although it is cool to trigger an interrupt, it would make me lie awake thinking about it. I could not give an external input in a noisy environment that influence over my ECU, but I consider any link of any sort as potentially dirty/unsafe/compromised. Because it is quite a slow signal, how about connecting the input pin to a timer/counter and reading the value every two seconds? Then you'd only have 1% error, less than the sensor itself, very low computation requirement, no interrupt load and inherently increased safety?

For higher frequency, you'd want to use a timer and DMA to sweep low/high period pairs into a buffer and filter/average them in a slower task. This is how I'm doing it in the external device. Still no interrupt load though.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 12, 2018, 03:26:53 PM
But then again, if it is low frequency, what's the danger with proper interrupt? Same load as with counters (these have to be serviced some time too, no?). These things are programmed and designed with slack, and honestly, an interrupt routine with literally a handful of instructions (it essentially records quadruples of periods / frequencies) with each instruction =~cycle should not do any harm. The actual signal processing / conversion / fault recording is done periodically every 100ms, not in the interrupt routine. I talked to an electronics engineer about this earlier on, and he said 50 to 150 Hz is not a frequency ;) I have done much more risky things on much more stringent architectures ;)

But, let's leave the conclusion until I am sure it all actually works in all conditions, right now it is an academic talk ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on May 12, 2018, 03:48:50 PM
No danger with 150Hz interrupt. No danger with lots of things when they work.

I'm worried about a unlimited interrupt frequency in a fault situation with no recovery potential. That is not academic and needs to be part of the design IMHO, even for you only driving it. Bake in safety as part of the design.

I tested 0.25ms interrupts on 180MHz Tricore and they were OK on the bench by 100% loading the CAN bus with frames. I'm going to test them in the car too whilst the engine is running at red line to be sure even though my intended rate is a fraction of that because one "babbling idiot" on my CAN bus cannot be allowed to bring down a drive by wire ECU. My application has a cap on its maximum interrupt frequency due to the nature of the trigger. Yours is unlimited.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on May 13, 2018, 11:54:29 AM
I don't know how it is on your car.

But ME7 on many VAG runs the pump when a door is opened in the vehicle - a priming pulse.
All that is needed is extending that priming pulse until a stable signal is there...

Shutdown EEPROM storage and purely depending on that is a horrible idea, because the car could have been fueled up in the meanwhile.
If you have fuel tank level in ECU, then no problem, you can check for this condition, but if not, you will have a no-start every time you change fuel.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 13, 2018, 12:17:47 PM
I have given it a lot of thought since yesterday. Came to the conclusion that there are two culprits in this: (a) have a close guess initial value when the ECU boots (with the assumption that the first readings are going to be inevitably skewed, no matter how well I filter / extrapolate / what not). (b) when the pump is off readings have to be suspended and last known good value has to be used. For (a), jcsbanks, hat off to you, no way around it, EEPROM storage that is. For (b), grace time of 1.5 seconds after the fuel pump activates seems to do the trick, will have to see if that's sufficient under different conditions, long stay, cold / hot, more / less E85, etc. prj suggests to register readings only after they get stable, but as much as I agree, I cannot compose myself to implement this at the moment (mostly because I have to pin down "stable" in this context). With previous value EEPROM storage the wait time after pump on can be relatively long, so the result should be the same.

Anyhow, stability detection or not, EEPROM store / restore is a must, so I implemented it, nice and stable now with sufficient wait time: https://youtu.be/PDg0wn9WpE4

I also now activated fuel corrections based on E-content, mostly to see that the code actually works on the car (it did on the bench, but one cannot be more careful with this ;)). WBO in and I can fill some E85 up.

Also, while I was typing it, prj replied too - to the best of my knowledge the ECU in my car does absolute zero with the fuel / ignition system until I turn the ignition. But since the ECU is from the same family, I will have to double check that as I actually had no idea cars do that. And as I just said above, the EEPROM storage is just to get the initial value. Whatever happens during fill up, the mix will get a while to settle in, and I need the previously stored value for about 2 seconds. A previously stored value is a much better guess than a random / default one of, say 5%.

EDIT: I have actually once found a video on youtube that shows how slow the sensor reacts to fuel change in the tank. Cannot find that particular one, but here is another: https://youtu.be/JUdN4w1ByEU

EDIT2: Found more videos of this sort, rough estimation is 5-10 seconds before the new composition hits the fuel rail. That should really not be a problem.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 13, 2018, 02:06:48 PM
Dwelled a bit on prj comment about fuel tank level. Found the variable that stores it, I could possibly make the wait time on the fuel pump dependent on fuel up. Fueled up - short wait time - the car most likely was just running (when you fuel up you typically just drove to the station) and there should be fuel in the line, so no need to wait that long for a correct reading. Not fueled up - wait longer, but instead rely on previously stored E-content in EEPROM. There is just one problem - the fuel level information is received through CAN, and I do not know when, not sure I'd have it available when I needed it - essentially right away after boot. Will have to devise a way to test it, cannot do that on the bench.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on May 13, 2018, 03:51:11 PM
Hopefully you can sort something nice that handles the dynamics of your fuel system. 370Z is also returnless and changes slowly, but mine are also DI so further dead volume still. In this scenario I would rather use a consistent gradient limited ethanol content reading that is live in time for engine start, or use the last known good stored in EEPROM and then show a CEL after programmable delay.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: amd is the best on May 14, 2018, 06:21:10 AM
This is excellent man. Nice work. Something I've wished for for ME7.5 for a long time. Keep it up!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 14, 2018, 09:36:29 AM
I am trying ;) I wish I had more resources for this, it would have been all sorted out ages ago. My added difficulty (so it happens I do all my car projects this way) is that the car has to stay on the road at all times (no spare), hence all is done in small verifiable episodes.

Right, so WBO is wired in (strong word for just pulling the cable through the firewall and sticking it into a prepped Zeitronix :)), I am actually surprised with two things. That the post-cat readings seem to be accurate (I expected some skew due to the cat). And how well these ECUs keep the stoich AFR, so much that I suspected there's no reading, only a default value. My earlier experience was with a single lambda batch injection system, nice upgrade here :). Only downside is that there is visible delay in AFR readings (could be a slow sensor too? this one has done upside of 60kkm). I also implemented the fuel level checking from key-on to key-on and according E85 readout treatment on start up, further analysis of the code showed I should have a ready fuel level value when my procedure kicks in (there are other procedures that already rely on it before mine gets executed). Will know if/how well this works when E85 gets in.

So, the car is fully E85 prepped, but still some tank emptying to be done. Drove it a bit today looking at the gauges to make sure nothing is amiss. Yet, I will do some more idle driving before E85, just to give my brain some days to dig out things I could have totally messed up before I find out about them the hard way.
 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 16, 2018, 04:20:23 AM
First fill up of E85 done, 11 litres into the 45 litre tank. I cannot remember last time I was so anxious ;) In the end that resulted in 22-24% ethanol content. All looks good so far. First, my fill up detection seems to work. I made an ECU internal log of first 10 seconds of E-content readouts and got them out through CAN later, so 100 samples altogether from boot (they are suspended when the fuel pump is not running and 1 second after it starts):

4.0, 4.1, 4.7, 4.7, 4.7, 4.7, 4.7, 5.0, 5.1, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 4.8, 4.9, 4.8, 4.8, 4.8, 4.8, 4.8, 4.8, 5.0, 5.1, 5.1, 5.1, 5.1, 5.1, 5.0, 5.0, 5.0, 5.0, 4.9, 4.9, 4.9, 4.9, 5.4, 5.3, 5.3, 5.1, 5.1, 5.4, 5.8, 5.7, 5.8, 5.9, 6.1, 6.7, 6.8, 7.2, 7.7, 8.2, 8.8, 8.9, 9.4, 9.6, 10.0, 10.5, 10.8, 11.1, 11.4, 11.8, 12.0, 12.3, 12.7, 12.8, 13.3, 13.5, 13.7, 14.0, 14.3, 14.5, 14.8, 15.1, 15.3, 15.5, 15.8, 16.0, 16.2, 16.5, 16.7, 16.8, 17.0, 17.1, 17.2, 17.4, 17.5, 17.6, 17.6, 17.7, 17.8, 17.8, 17.9, 17.8, 17.8, 17.9, 18.0, 17.9

The first 4.0 is the previous value from EEPROM, the next one the first reading after 1s of fuel pump priming and around next 10 are also from the priming phase. Then I was setting up my stuff with the ignition on, when I started the engine there was another 1s wait to get the readouts and then they continued. So, to cut the story short, I had about almost ~2(prime)+4(start) seconds of the new mix not hitting the rail, then it started, aggressively. At this stage I declare my method working, but obviously more verification is needed.

Short term trims and long term multiplicative trim look acceptable also. The latter got from 1.001 to 1.002 (momentarily to 1.003) only after several minutes of running / driving. (Stupidly, I do not log additive short fuel trims, I will rectify this tonight, they are the whole point as the drive was rather light). The only thing is the relatively large STFT drop down to 0.9 or below. Both spots happen when the car was idling at traffic lights. Since I never made a log like this with regular fuel (should have done that), I am not sure if it is normal (it is also relatively hot around here, ~26*C). Higher load (short spell only for the first test) AFR seems good too.

Complete log from the first drive and magnified lines of interest attached ;)

To be continued...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 16, 2018, 04:55:15 AM
Actually, found an older log with regular fuel, it is not that much different when it comes to stfts, yet a tiny bit less. I have to see what is going on with additive ltfts.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 16, 2018, 10:12:29 AM
Either I am logging the wrong variable for additive ltft (rka_w), which is unlikely (but possible), or everything is spot on. Additive correction is absolutely minimal, 0/-1 once -2 in unconverted values, the multiplicative one stays in 0.999-1.002. All that after adaptation reset (due to another flash). The overall stft variates ~0.95-1.05 in most cases, in places ~0.9-1.1. I guess it simply is this way. I'll spare you the log, it is 19 minutes and 3.2MB in size, but a picture overview shot of the stft correction instead.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on May 16, 2018, 10:22:39 AM
long term trims on VAG are rkat_w and fra_w as far as I can remember


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 16, 2018, 11:47:02 AM
There is no doubt about fra_w.

I looked at both rka_w and rkat_w, and actually, rka_w is the one that is applied at the end of the day. rka_w is either directly rkat_w (if a bit on one of the codewords is set, can't be bothered to check what codeword that actually is, but it is not on in my bin anyhow), or rka_w is derived directly from rkat_w with the help of the current nmot (some sort of rpm dependant scaling, again, can't be bothered to dive into this). So it probably does not really matter, provided one of them is logged.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 17, 2018, 12:42:53 PM
I wonder if anybody has enough experience with E85 to help me ball park my cranking tables (FKSTT). On the first attempt (the _old file in the attachment) I looked up factory tables in the Saab files I was pointed to elsewhere here. I figured out their meaning / unit (or so I think) and converted them to my FKSTT E85 table that blends with the factory one (top of shots). The values seemed excessive to me, "but then, what do I know about diamonds", I just decided it's the best guess I can do.

Well, it isn't. Warm starts are OK, but "cold" (~20-25*C after long stay, that's the weather we have now) are not. The car starts on the first attempt, but rpms choke down to ~500 for a while and then it comes to life (the symptom happened twice, consistently the same at similar temperatures). Clearly overfueled, not to mention the fuel smell. And that is on 22% content, so the effective factor for these temperatures was ~7-8, so more than twice as much as stock.

For now I arbitrarily rammed the E85 table down (second shot) and will see how it goes tomorrow. But this will be a lot of experimentation, the values still seem high to me, could use some help here with approximation.

This can of course be also due to after start enrichment that I have not touched yet, it is stock for both fuels, perhaps it is not overfueled in cranking, but undefueled in afterstart. What do you think?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on May 17, 2018, 02:49:48 PM
You can't blend 1:1 between the tables, they are not linear, you need a table for a blending factor.
Same with ignition timing, need a separate table for factor based on ethanol percentage.

They are not excessive, because ethanol does not evaporate easily, only the gasoline portion evaporates.
So basically you're washing fuel down the bores really hard on cold start with ethanol. On E70 you need 3x as much enrichment as on gasoline on crank when really cold and so on...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 17, 2018, 03:17:02 PM
They (the cranking tables) were lineary blended on the Saab bin I think, but I'd have to double check that. For ignition and boost I do have a kline factor for blending the two tables (following your earlier hint in the other thread ;)), but these are so far just stock for both fuels. The code fix is easy then, but it still does not tell me what the kline for fkstt this should be.

OK, but 3x enrichment for E70 on freezing temperatures does not scale (in my mind) to effective 2+x scaling I got for rather warm start ups on E20, so at least in the upper part of the table that is now applicable for me, the values are too high, kline or uniform blending, no matter.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on May 17, 2018, 06:52:17 PM
If you have available flash for the tables and code, and RAM for a few variables, if you are not doing and instead using linear equations, like prj recommends I would make tables for blending. I use three for fuel, ignition and load. You could share ignition and load perhaps, but on my target engines they have different needs where you may have very gentle ignition retard after reaching MBT with increasing ethanol content due to the faster flame speed of ethanol, but steeper drop in max engine load due to running out of pump on engines with a single DI pump.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on May 18, 2018, 12:34:36 AM
Linear blending does not work on Ethanol for cold start, end of story.
I highly doubt it is done that way in any OEM bin.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 18, 2018, 01:07:06 AM
Well, actually I have been just now rechecking the Saab maps, it is far more complex than just non-linear blending. For E85 it seems the cranking injection times are done in varying pulses depending on the temperature and number of combustion cycles. Eg. when very cold it actually first does less injection (50%) for 4 combustions, then scales it up to 200%, while on warm first two injections are at 200% and the rest at 100%. I still do not see a scaling map for blending there, but the whole stuff is hardly penetrable, and I am guessing this blending is hidden in all the maps like the one I have seen. All E85 treatment there seems to be much more complex than one would expect.

I still do not have any answer to my initial question though - put blending method aside - the actual E85 cranking factors or the scaling distribution between 95 and E85 ("3x at very cold" does not cut it). For now I looked at my first map (and even the second one I made) and realised it is totally inconsistent, adds 3.8 times more fuel at -15, 7+x more fuel at 0, and then 4x more fuel at 20. That is essentially crap, should have noticed it earlier. Today's morning start with tuned down table was better, but still choked. Will sort it out experimentally for my E22, this will give me at least one scaling point for the non-linear blending.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 18, 2018, 04:15:55 AM
This is going to be a nightmare to get right under these conditions. My first map was overfueled, but the problem lies elsewhere, the choke is due to throttle closing, just did a quick log (engine temp 30*C). This was done with stock FKSTT, fuel is E22. The startup reaches 1200 rpm nicely, then the ECU decides this is too much and aggressively rams it down. Now that I think of it I get occasional things like this also on stock maps / fuel, it has something to do with throttle adaptation, and this gets reset each time I flash I believe. So getting the fkstt factors right is one thing, the other one is to be patient enough for the ECU to finds its ways. Possibly there is a way to reduce the throttle reaction instead, have to look into this. And yes, I know that the cranking fuel will also affect the reached start rpms...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 18, 2018, 12:48:09 PM
Found some information of the sort I was looking for:

http://www.ft86club.com/forums/showthread.php?t=94751&page=5

Though totally different technology / cars, there are some numbers that I was expecting to see. I cannot see them mentioning non-linear blending for cranking fuel (but I did not read through the whole thread), yet they only have sensibly looking values down to only 10*C, clearly it's a warm climate down there. But that's what I am looking for at the moment, will not be colder here that 10*C for a good few months. Ball parked my maps based on these and also added non-linear blending scale to play with later on when it gets colder.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 25, 2018, 12:59:52 PM
Fueled up a warm car with some more E85, after stabilising resulted in E67, I was hoping for more, but there was too much of the old fuel (E22) in the tank, I did not want to top it just in case, and I have no clue what the actual content at the gas station is.

Anyhow, no problems so far, but I am yet to try a cold(er) start. My algo to read ethanol content on initialisation does the trick. On the startup log you can see a fixed line first - this is eeprom restored previous ethanol content and stuck because of inactive fuel pump. Then 1s wait after the fuel pump starts working, the read is still stable at roughly the old level for ~5 seconds, then it starts to go up. It's also nice to see the fuel mixing dynamics on this one.

The STFT histogram looks good, that's from a longer drive, STFT oscillation is the same as I had with E22, ltfts are minimal, multiplicative stays within 1.008-1.01, additive -2..0 (unconverted values for additive, I am not sure what the conversion here is).

For the not perfect things - on high load / pulls the ethanol content read drops by 1-2%, sometimes nearing 3% drop. I had the same on E22 now that I checked. I am guessing this is due to the sensor being on the return line and catching some air when  most fuel stays in the rail where it is needed. It's not a problem, effectively it results in ~1% fuel deprivation, on load the car is overfueled by factory anyhow, that's nothing. I am not going to fight it on the software side, but most certainly mounting the sensor on the feed line would remedy this.

Then, I get less retard, but in one spot it was still there - -5.25 on two cylinders. This is less in total than I had before, but to be honest with E67 I would expect to see zero (in one of half pulls it did stay at stiff zero though). A new knock sensor is on the way, will see about that. 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: gt-innovation on May 26, 2018, 12:15:45 PM
Normally you could use e30 and the retardation could have gone away, I do not know if someone asked before but have you checked for vibrating parts near your engine?

Are you sure the compression on your engine is stock or if anyone has repaired that before? Why don`t you do this the old way use a second knock sensor with a circuit from a hearing aid and good headphones.. Train your ears a bit in some knock sound files you could find on the internet and check.

Once you are sure it is not so bad you could also trim your knock sensors from your calibration mostly on the higher rpm range to allow some more noise to pass through.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 26, 2018, 01:16:57 PM
The car has not been power modded by anyone before me, or myself (my small power mods to the maps are now on the shelf, only doing the E85 tests at the moment), the engine has all stock parts. I am a third owner, before me the car was only dealer serviced, and looking at the state of the hose clamps I am 99% sure the head was never taken off the engine. The engine is not young (for the FIRE engine) - closing 140k km. I use factory prescribed plugs. It was the same before I changed the plugs and after, it was the same before I changed all engine mounts and after (at least one of them really badly needed it). I will check for rattling things and around the knock sensor when the new one comes, I do not want to crawl underneath the car more than necessary. I do have a "stethoscope" I made myself, essentially a copy of one that dyno guys had when I did my previous project. So yes, I know what to listen for, but thanks for reminding me, I totally forgot I have this in the depth of my basement. 

There are two things though. First, the roads in Sweden are very rough / made of thick grain asphalt. They do it on purpose here, noise-wise driving fast is unbearable, so folks just slow down (and it still does not kill the noise), and I think the grip in winter is tiny bit better. So I'd have to look into that next time I am elsewhere. The second thing is - another twin-bin from essentially the same engine (well, it has different cams and slightly bigger turbo) has some knock sensor related maps distinctly different (and some tiny bit different), I'd have to check again exactly which these were and how they were different.

Finally, I know other t-jet users around here reported problems with excessive and impossible to get rid of retardation. Perhaps the Italians or Germans messed up something fundamentally with this setup. I now for a fact that the stock program is seriously overfueled for example, even though FIRE engines are fine with, power-wise, and like AFRs down to 11.5, yet I see 10.X  (requested and actual) very often on WOT / high load, and not ~12 which would be natural.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 28, 2018, 10:34:45 AM
Tell me if I get this right, I am tired beyond belief.

After driving almost 100km on E67 I am now convinced that the fuel consumption figures I see on the dash are not correct (expected +30% is not difficult to miss). I looked at the S4 wiki, and surely enough that needs to be taken care of, missed that. Problem is, this ECU does not have KVB or related things. Looked at the definition, in module BGKV found KUMSIRL. This is used twice in the code, once to calculate umsrln, and once to calculate fuel consumption (which is even reported through diagnostics). Obviously this all happens before KRKTE is applied that I modify for E85, so needs to be sorted. Will not touch the first instance of this - 100% sure this will f-up everything in the program. The second one is a simple fix and seems only to affect fuel consumption figure. Couple of lines of assembly will fix this (unless of course the cluster gets this from yet a different place).

My hesitation, but I think I understand - regular Abarth and SS version have different injectors, KRKTE is different by ~15%. KUMSIRL is also different in both, but minimally, one is ~99% of the other (hex 21F4 vs. 2200). There is nothing else (can't be 100% sure) that is changed in between the two bins to account for different fuel consumption. I presume this is right - it is all about relative fuel mass, so as long as the fuel stays the same, nothing else needs to be changed, this is this ECU's way (to use KUMSIRL) to avoid KVB related matters, right?

EDIT: Alternatively, perhaps I should be E85-scaling only KUMSIRL globally and that should be it, and leave KRKTE alone.

EDIT2: My first edit does not seem to be a good idea, KUMSIRL is not about fuel at all. But perhaps try to modify rkg earlier before it reaches KRKTE might work, will look into that.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 28, 2018, 01:38:35 PM
Still not thinking straight, but I think I sorted it. I now E85-modify rk_w instead of frkte_w, this is effectively the same, apart from the fact that rk_w defines fuel consumption figure, frkte_w -> te does not. The car starts and I drove around the block, all seems fine. But digging deeper in the code made me realise that to do the fuel dosage really right is a bit more tricky, one would have to also deal with the EVAP system. It also goes into fuel consumption calculation and rk_w calculation. I do not feel strong enough to attack this any time soon.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: overspeed on May 28, 2018, 06:17:20 PM
You need to tweek inverse fuel density on BGKV... but to be true I didn´t found on your file...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 29, 2018, 01:10:30 AM
This seems to be hardcoded in this ECU, KUMSRIL is multiplied by a in-code constant to get the fuel consumption calculated.

My rk_w fix seems to work, but it is not ideal (there is also, right now inactive because of CWs, reverse calculation on frkte to calculate maximum allowable load not to loop the injectors, the way I did it messes up this part) and I need to redesign it slightly. Among other things, it would be good to also scale TANKL to get the empty warning at a better point in time.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: overspeed on May 29, 2018, 12:00:54 PM
This seems to be hardcoded in this ECU, KUMSRIL is multiplied by a in-code constant to get the fuel consumption calculated.

My rk_w fix seems to work, but it is not ideal (there is also, right now inactive because of CWs, reverse calculation on frkte to calculate maximum allowable load not to loop the injectors, the way I did it messes up this part) and I need to redesign it slightly. Among other things, it would be good to also scale TANKL to get the empty warning at a better point in time.

In the newer ones you have a value to tweak...  TANKL didn´t change anything for me (by the way, it´s the same value in file for Punto or Bravo thar have diferent tanks)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 29, 2018, 12:20:40 PM
I though I am the master of making mental shortcuts ;) I am not sure I follow, value to tweak what? Fuel density?

Will see about TANKL, will know in about 100km, just uploaded a new program that should sort out all this, drove too little to be 100% sure that fuel consumption is in the right range. TANKL being equal on both cars is not surprising, it is not supposed to be percentage of the full one, but the amount of litres you need to travel roughly 100 km, so that will be more or less the same on all t-jets, and 8 litres (my bin's value) seems to be just that. It has to be either this, or the cluster turns it on based on the remaining distance to drive.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 31, 2018, 10:55:18 AM
Something is seriously wrong with knock detection, either on my particular car, or on this setup / ECU in general. Just replaced the knock sensor (brand, Bosch), torqued it to spec. I still get excessive retards, on E68!!!. (No, I have not gotten time to take out my knock monitoring gadget). There is actually some weird faint rattling-like noise coming from underneath the car, but it's also there when I stroll very gently through the neighbourhood, will have problems locating it. The only thing I can think of that is out of ordinary - we have a frying plate over here for almost a week, the air is dry, and my IATs were between 40-45 today (at 19:00). I even got a slight retard on one of the cylinders at light acceleration, low RPM, load at ~100%. WTF?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on May 31, 2018, 01:03:48 PM
So, I have been reading a bit on different forums (mostly on EVOs) and it seems that problems with knock on E85 are not uncommon. One claim is a rich knock, E85 does not like overfueling. I underline these are claims from elsewhere, I have no grounds to either believe or trust them. But, I looked at my logs and indeed one may come to the conclusion that retard figures coincide with AFR drops. In some cases I could even dare to claim that when the AFR goes from 10.0 to 11.0 the retardation subsides along with it, does not disappear though. Now, I have not done anything about fueling on E85, it runs the same targets as on regular gasoline at the moment.

That's one possibility, the other one is knock sensor setup, which at least in one respect (FMFKRNZ and NKRFMX) is very different on my 120hp bin and twin 150hp bin), see the pictures. Windows and thresholds are also different, but not that much.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: KasperH on June 01, 2018, 01:46:30 PM
I'm just shooting blind.
But could the AFR drop be caused by knock if your fueling via LAMBTS.
There is a knock reactive delta fuel map (KFFLBTS?)

Then again, I could be completely off target.
Just a little brainfart.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 01, 2018, 03:33:49 PM
No, you are not shooting blind, this is precisely what happens. I was just looking carefully at the maps today (and found out that my understanding of the DLBTS scale was wrong). The base KFLBTS component protection fueling is on the edge of richness for regular fuel, excessive for E85, then the KFFDLBTS/DLBTS additions are also drastic, more so that the base ignition is very far from optimal at high loads effectively increasing the effect of DLBTS (because the ETADZW is curvy, had the base ignition be close to optimal, DLBTS would be sticking to lesser values). All in all this goes into a vicious circle, rich -> knock -> even more rich -> even more knock -> richness maxed out at 9.8 AFR :/ Or at least that's how I see things if this is this alleged "rich knock" . I have prepped a more sane KFLBTS for E85, will test it out when I get a chance.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 02, 2018, 12:58:50 PM
I did some unstructured tests, had to fill up in the meantime and went from E67 to E75 mixture. Nevertheless, I think I am getting there (BTW, much cooler this evening, lower IATs than before, ~35C). Changing the knock frequency configuration from another bin quoted above does not seem to change much or anything (I purposely left the stock rich fuel not to change to many things at the same time). Still knock retards, a bit less than before, but still on 2-3 cylinders.

With less fuel, both on E67 and E75, I saw an improvement - retard still there, but only on one cylinder and not going below -4.5. I manipulated my AFR requests to be around ~12.0, the actual is more like 11.5 according to post cat Zeitronix, this has to be the impreciseness of the speed density thing on this ECU. The mean retard is low enough not to cause flooding through DLBTS.

So this seems to be it, but I have to test more and dare to drop the fuel still a bit more on E85. Also, with the dropped AFRs the car felt less choked and more consistent.

All this ought to be done on a dyno and ignition should be tuned in for E85 too, but I won't have time to do it any time soon. I also feel uneasy doing this without EGT, but oh well...

Oh, and BTW, TANKL indeed does not seem to do anything in terms of reserve light on the dash. In fact, I got a low fuel warning message on the dash with a beep (due to range below 50km) and no reserve light at the same time. But at least my fuel consumption figures are correct now, and range is correctly calculated.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on June 02, 2018, 02:19:33 PM
You should have 0 KR on E75, change your knock sensors, don't mess with freq.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 03, 2018, 02:32:54 AM
Yes, I know that, I messed with the frequency just for one test, the knock sensor is changed, no results.

The car is seriously overfueled by factory (there are moments in my logs where I see 9.7 AFR request mid RPM range), the more I look at all this, the more I come to the conclusion that this ECU should be calibrated from square one. I also now know why my AFR drift away downwards from targets on E75, FKKVS is not factory calibrated beyond 20ms (actually, anywhere beyond stock operation range) and stuck at 1.0, while most of other high load cells are 1-5% reduced.

Once I fully confirm my ethanol knock is caused by fuel, I will have to make a plan how to methodically fix all this, for both fuels.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on June 03, 2018, 05:29:40 AM
Get some headphones and listen to the engine, because if you have a stock car calibrated for 98 RON, there is no way in hell that engine is gonna knock with any timing on E75 with stock CR.
Something is wrong with knock detection.

Can be something loose in engine bay and hitting the block too.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 03, 2018, 02:08:42 PM
It is time for me to do some homework. The retards kick in almost unconditionally on full throttle, 0.5-1.0 second after the actual load reaches requested, never before that (in my logs, which are not that thorough), even on already high load. Seems almost as if this is done as precaution, which makes me think I have to look into the adaptation conditions and algorithm for knock, found a nicely translated KRRA module description on the wiki here. Resetting adaptation parameters on the ECU probably won't hurt either. I have only one spot in one E67 log where on full throttle during half-pull the retards are zero, one! I looked very very carefully at that spot and cannot find a differentiating factor. I also know that overfueling is not it - have one spot with mild fueling (13.5 to 12.0 actual) in the logs where there is still retard.

As for the external noise - the only thing I can think of is rough road surface here. The mid axle joint mount from the right wheel is bolted directly to the lower part of the engine block under the knock sensor. And all the roads are rough and noisy, almost no exceptions.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on June 04, 2018, 01:58:22 AM
The problem is you're sitting in the ECU.
Get outside the ECU and into the engine bay.

This most likely has nothing to do with the ECU and everything to do with the car.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 04, 2018, 01:20:53 PM
I am not going to argue with that, nevertheless, I want to understand what values and patterns to expect so that I know what I am looking for (especially that my knock sensing education is only now starting to build up).

To start with that, I logged the knock sensor voltages and tried to map them with the other running parameters. (Putting aside if I got the conversion for the voltage right, the documentation and sources are messy and inconsistent about this). I see two things - knock retardation comes more happily when the rpms ramp up quicker (probably normal), and the voltage pattern follows almost precisely the RPM line, see the pictures. I have three spots there when there is a retard, the first is mild load (~110%), two others are high load (190-160%).

Is that normal (again, looking at RKRMX maps, probably expected)? Or should I now be looking at engine speed related interference (valves?)? Or perhaps an electrical issue of some kind, like bad shielding / poor ground? Or, perhaps, is the whole system simply too sensitive? (not sure if what I show gives any grounds to establish that)?

Otherwise, yes I got it by now ;), something could be loosely screwed and resonating along with rpms. Will look for that when I have a chance.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on June 05, 2018, 04:39:27 AM
I am cautious to imply too much from experience on other platforms, but generally unless you log knock "voltage" at more than twice the segment frequency (or log segment synchronous) it will be misleading if you try to compare it with knock retard which generally has a slow decay so you can see it with slow logging.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 05, 2018, 05:18:26 AM
Well, looking at the logs clearly this low res voltage is not equal to retard, in fact, there are I think voltage spikes where no retard is added but reduced. Nevertheless, I was just curious how it looks. The only thing I wanted to know if that, as it is presented, looks normal to you.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 05, 2018, 01:37:14 PM
Did some more logging and some experimentation (=advanced the ignition a bit in higher areas, this does not change anything in terms of retards, but the car feels more lively for sure), I also tried to variate driving a bit to see what the pattern is. I do have occasional retard free spots on highest load, but statistically it is mostly still there.

The only pattern that I can see is - the retards start almost exactly at the vicinity of 2300 RPM (at least in the logs), I think I have found only one spot where that was not the case. Some cylinders are prevailing in the retards, namely 1 and 4 (if I got the sequencing right), but it happens on all of them.

I looked at the maps again in my bin and the stronger 150hp bin (it has wider cams as far as the engine internals are concerned). There are some slight differences in KFKE-s, specifically on cylinder 1 the other bin seems to be made considerably less sensitive around the 2400 RPM spot on high loads. But there are cylinders that have the exact same config in the area of interest, so I am leaving this at rest for now. But, the windowing maps KFMAKR and KFMAKRZMF show something interesting. In both maps the values in the other bin are the same or slightly raised compared to mine, except for the two spots - RPM 2400, load 140 and 180 - in KFMAKRZMF, there the values are dropped by 3 degrees. To me that is too much of a coincidence, that's going to be my next test.

I know Mr. prj wants me to dive into the engine bay, but I see too much repeatability of the symptoms to dismiss calibration problem too quickly ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 06, 2018, 02:21:07 AM
Nope, that's not it either.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 06, 2018, 09:39:06 AM
This bloody thing behaves like regular fuel and actual knock - I added still a bit more ignition (in total 3-4.5 degrees w.r.t. stock ignition) in the areas of interest. Just to note - it is still way far from what the ECU has defined in ZWOP, the distance is around 10 to 15 degrees to ZWOP. The retards are still there, moreover, on the first pull they were excessive - all four cylinders, one went as low as -6 degrees, the total caused serious fuel add up, and so on. Even more importantly, I could hear with my bare ears that something is going on. It all really makes me wonder if one of the pre-owners did not do some serious head skimming. This all is too odd... Or, can the fuel be possibly so crappy, is that even possible with E85?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on June 06, 2018, 03:14:05 PM
You have some knock ears or similar whether mechanical or electronic, home made or bought that you can hear clearly what is going on?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 06, 2018, 03:33:38 PM
Yes, I actually do, the only problem is there is no easily accessible place to bolt the probe end on, requires lifting the car and all, I'll have to look again if I can strap it on from the top somewhere.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 07, 2018, 01:06:14 PM
I found a top accessible spot to bolt this on to the head, not ideal position but working. (Also turned out the line is too short - I made it for a smaller car and me sitting in the passenger seat :/, but never mind).

The log from the drive attached. I do not have knock trained ears, but I do remember the knock sounds from the previous project on an engine from the same family. I now defo heard this characteristic faint "metallic" tweeting / chirping sound on these two accelerations that have the retards showing in the log. I really wanted to record this, but I do the drives alone and it was just impossible. It does not sound like anything resonating or rattling against the engine.

So now, why do (I think) I have this knock? As said previously I played with the ignition, both ways actually, added up to 4 degrees, but also subtracted 1.5. And with the fuel. Now in the attached log it was all stock calibration for regular fuel (95 prescribed I think) running on E75. Earlier today I also logged a long drive when I was happily accelerating at different RPMs, but not doing many pulls from lower ranges. Much less retards there, but still existing. Could this have anything possibly to do with ignition tip in? I am inclined to do one more fill up with E85 to get higher ethanol content still, but at this point it should not matter, right?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: jcsbanks on June 08, 2018, 06:40:39 AM
I don't think it is related to tip in (in the sense I usually think about tip in as a transient) since you've been at WOT for a few seconds before you have a few knocks at around 231s.

Your temperatures look OK, AFR if richened a bit earlier in the pull might prevent that knock, but it isn't a huge amount of boost for a high ethanol mixture and presumably modest compression ratio.

Again, not used to your platform, but if zwout is degrees BTDC timing on whatever cylinder happened to align with the datalog sample, the timing looks modest for the boost level and octane compared to many engines.

Also noticed your ethanol content drops a bit during a pull, not that that is responsible for your knock, but you might want to filter it after a learning period after a tank level change, or anyway.

If you think it is knock, and sounding like it and being ignition/boost/AFR responsive adds support to that, I'd be thinking of other causes like leaks, spark plug condition, oil vapour, blocked cat etc.

It is difficult to develop flex fuel tuning/other ideas without a known healthy platform. Not always feasible, but I would test new ideas on something already healthy AFAIK, so I'd use something as a test bed that has already been tuned to run on E85 and E0-10 and then I'm only testing new algorithms rather than fault finding at the same time.

Forgive if I've missed some detail you mentioned already, I try to contribute here from time to time, but it isn't my platform.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 08, 2018, 09:56:21 AM
Many thanks for looking carefully at my log ;) Myself I have been thinking a lot, read and watched a couple of useful things. My last evening conclusion was that I should try to see what happens when I bring the ignition much closer to ZWOP (but with still some reasonable distance). This ended up in considerable ignition increase, in the low rpm / high boost area up to 14 degrees plus and down to +5 towards lower boost and higher RPMs. In any case, much more brave than before (I also felt that the stock ignition is very low).

And guess what - this did not make things worse, if anything it made things better. Still single retards of up to 3 degrees, engine feels much better, and for the very first time in a long while I could hear the turbo spool up like in my previous car. The pattern of retards also changed. And I managed at least twice to have my classic pull 1500-4000 rpm in 3rd with no retards. And the engine is still alive.

So, taking into consideration what you said, and adding the fact that I also effectively lowered EGTs with this I am now thinking oil / pre-ignition. The retards coincide with high modelled EGTs (I know this is not a measure, but no EGT probe yet). More so, now that you reminded me of that, I promised myself long time ago that I should clean and declog the oil separator. (Otherwise, I am not sure what the overall condition of my engine is, never took it apart, but I do take care of it in terms of basic service, and spark plugs are new BTW).

And yes, I know I try to do too many things at the same time (never said that, but in parallel I was experimenting with cranking fuel, finally got that right too I think), but I do not have another possibility.

In any case, experiments with E85 suspended, due to logistics I had to fuel up with Ron98 and will be flushing E85 out now and removing the sensor. Will come back to testing after summer. In the meantime, I will reanalyse my code for improvements and perhaps give the engine one more careful look over and do something about the oil separator.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 08, 2018, 02:27:03 PM
The read filter implementation was simpler than I thought, the filter is a simple old/new value weighting which hardens, based on a map, with time after the sensor has started to read. Wouldn't be saying this, but in the process I discovered a nice bug, which luckily did not get a chance to surface - when enabling internal logging of initial % samples of E85 for debugging, I was killing all essential scaling (KRKTE and fuel consumption) updates after the first 10 seconds of running (my sample logging period) due to a bad jump. That could have been very interesting... ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on June 09, 2018, 05:18:58 AM
pre-ignition is inaudible, no knock sensor can or will ever pick it up, but you'll know it happened when you have a hole in the piston.

Sounds like there is no knock and something is banging against the block to me.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on June 09, 2018, 05:49:22 AM
Yet again poor wording on my side (also was lucky so far no to experience any true engine horror). What I rather meant - doesn't oil in the mixture increase knock tendency / mixture burn characteristics? It should, otherwise folks wouldn't be installing oil catch tanks and all, no?

In any case, my breather / factory oil separator system needs a proper look over, regardless of it being the cause or not, the amounts of oil I see on the turbo inlet when take the pipes and plastics off to access the engine are difficult to miss (another problem is that there are probably deposits of it in the IC too). Or my turbo seals are gone...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on July 02, 2018, 02:23:16 PM
Mostly to keep this thread alive ;) As said earlier, due to logistics my E85 tests are suspended for the summer, but I was reviewing what I did and thinking a bit what I missed (having a full dash support for E-content display and correct low-fuel warning would be nice, but that's a different story).

The question - is it worth at all in your opinion to also mod the PCV duty cycle according to ethanol content to get a even more on-spot AFRs before STFT? I was getting the impression that on steady-state driving the STFT drifts slightly upwards to keep 14.7 and was thinking that that could be it, but not really sure. Modding TATEMSN is not a big problem (mod its linear I believe input vs. E-content), but not sure if it would be a waste of time or not.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Assoor on July 24, 2018, 05:14:13 AM
Hello i have this ori file which is 120hp version and along with it a tuned file which made the car boost up to 1.5/1.8 bar of boost till the revlimit.
im trying to see exactly what tables was changed by connecting them together and comparing the differences to the mito damos.
if you can see at 9C050 have significant change in map which is not found on the mito damos. im trying to make a list of tables which was changed :
KFMI_UM
KFZW_UM
KLDZWOM_UM
KLETAZW_UM
KFDMT_UM_0
KFDMT_UM_1
KFMMKH_UM
KFMOF_UM
KFPZU_UM_0
KFPZU_UM_1
KLLLRZU_UM
KLMIMAX_UM
KLMIMIN_UM
KLMZUMN_UM
KFKSWF
FIMWU
FMFKRNZ
98C0A
KFWMIFAL
KFWMIFALS
KFDMT
KFMMKH
KFMOF
KFPZU
KFMOF
998A8
KFZW
FZWWLRLN
KFZWWLNM
KFZWWLRL
AHEAGWS
NGALUN
NGALUST
AHEAGW
AHEKS1B1
AHEKS1B2
AHEKSB1
AHEKSB2
KFMSNWDKVP
KFMIRL
9BBBC
9bbE2
KFMIRL
9bf9a
DUKK
FUKVAE
TNSUUK
9C05A
FUKBAE
ZUKBAE

if any one can define what tables in the address i posted till be great to understand more about the module


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on July 24, 2018, 02:14:02 PM
98C0A
998A8
9BBBC
9bbE2
9bf9a
9C05A

This is just from a quick look at my definitions for this bin, it can be wrong:

CWARGANG
DZWETA
TFWDKPSPV
ZKPSFIL
TVUB
WFRL

I did not check the rest of your work, so no guarantees there either.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: arada on August 01, 2018, 09:02:15 AM
First of all I congratulate for what I have written so far, which was a great help to understand the operation of this ecu, I put to use what I learned.
I ask Woj saw the great work done, if you could implement the on the lc nls on file that place, I'm not an expert programmer so I have to give up, as I saw I should understand the operation of Zwgru, dmd_loc, cwkr and szout find them in my bin and change the addresses with new calls. Here I arrive and I stop


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 01, 2018, 10:41:07 AM
After testing that's no longer for free, PM me for details, but I am currently away from my "office" so don't expect quick answers, sorry.

I'd also suggest trying google translate in parallel for everyone's benefit ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Assoor on August 01, 2018, 11:04:01 AM
so what fueling strategies on those ECU. if i want to add fuel (larger turbo,Lrager injectors... etc). i see people make the EGT map trigger all the time and tune the KFLBTS for more fuel. is there any other way to demand more fuel ?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 01, 2018, 11:53:18 AM
Larger injectors -> KRKTE/TVUB. Otherwise, the fueling (actual fueling, not load calculation) is the same as in other MEs described on S4 wiki. If it does not kick in soon enough then moding EGT thresholds is stupid IMO, use LAMFA and its delay and filter (the latter being wrongly defined in the ols, it has nothing to do with time). Otherwise this ECU is already overfueled as is (not on LAMFA, hence the statement above), not really sure under which condtions you may want more fuel in KFLBTS if the load calculation is right. Increased load range is of course a different story...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Assoor on August 01, 2018, 11:35:32 PM
Thanks for this info. i have this ecu which was pain to define all maps. i did all the changes necessary. but when i try to write from OBD (KESS) it trigger error and car wont start. i tried even from ktag. same story.
i used ECM to checksum the file. i read in on of the topics you replied that some bin from ME7.9.10 have problem in checksum. can you see if mine one of them?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 02, 2018, 11:07:38 AM
What error? I suspect you modded the UM or UC maps, these have separate checksum and others reported to me some software has issues with it. Certainly (hacked?) ECM is not the most trustworthy here. Can't check your file for some weeks still, my laptop is not with me.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Assoor on August 02, 2018, 11:27:20 AM
should i leave _UM and _UC without changing ? , what they are for anyway. please check them when you have a chance


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 02, 2018, 01:01:49 PM
IIRC most (all?) non factory tunes I have seen leave them untouched. One set is for test mode, that is probably safe to assume to be inactive during normal operation, the other one are monitoring maps, which by the looks of it (had no time to check this in detail, will one day) is also disabled on this ECU.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: NBR on August 02, 2018, 05:42:46 PM
I made the mistake of modifying either the UC or UM maps which caused the car to not start and it needed a Boot mode flash after that cos my CMD tool probably didn't correct that checksum properly and then it couldn't recover the ECU over OBD.

So yeah, fun and games with this ECU


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 03, 2018, 02:06:14 AM
For me it would not be "this ECU", but rather tools that seem to deproritise certain ECUs / brands. Bosch on an Italian car often seems to be a weird mix.

Anyhow, this checksum block is really no brainer, totally beats me why tools cannot deal with it...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Assoor on August 06, 2018, 01:19:20 AM
ok now i made some changes to the maps but i have no luck to raise boost nor desired engine torque

i copied the KFMIRL and KFMIOP from the esse esse file as a start.
changed the following
KFTVLDST
KFLDBHN
KFLBTS
LAMFA
KRKTE for bigger injectros
KFMDBGRK
MDMAXNMOB
MDMAXNMOT
KFPZU
KLMIMAX
KFPED
KFWDKMSNVP

now as soon as the car hit 1 bar of boost the throttle close to 39% and i cant figured out

(http://Untitled.png)
 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 06, 2018, 02:52:49 AM
ok now i made some changes to the maps but i have no luck to raise boost nor desired engine torque

i copied the KFMIRL and KFMIOP from the esse esse file as a start.
changed the following
KFTVLDST
KFLDBHN
KFLBTS
LAMFA
KRKTE for bigger injectros
KFMDBGRK
MDMAXNMOB
MDMAXNMOT
KFPZU
KLMIMAX
KFPED
KFWDKMSNVP

now as soon as the car hit 1 bar of boost the throttle close to 39% and i cant figured out
 

By far not enough info, but let us start with the obvious.

Your base ECU is 120 hp one? If so, do not copy KFMIOP / KFMIRL from anywhere, more than just these two is needed. The 120 hp set should be good for upto 200% RL / 1.3 boost, start with that. The only thing you could do is to extend the KFMIOP range to 200 RL in the last column (keeping it in sync with KFMIRL). Also try to search for prj''s comments about touching these maps below 100% in other threads.

KFTVLDST - this is the one with PED & RPM? Then it does not do anything in the default CW configuration.

KFPED - leave stock until you sort out the rest. In general do things in small steps (you could have left injectors stock for mild boost tuning for example).

KFWDKMSNVP - do not touch! The only thing possibly to do is to copy it from 150hp / SS bin (they are identical in both IIRC) together with its inverse. But there I think its mostly changed for cosmetics so that they cover the whole theoretical operation range of the engine. But I could be wrong of course.

Otherwise - turbo / wg stock? If not there are more things to tune I am afraid. The throttle cuts in most likely because of the drift of actual load from requested. And you need to take care of WG cracking pressure and all.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 28, 2018, 12:04:56 PM
If there is a good soul that would have an EEPROM image for ME7.9.10 version that has 2K EEPROM chip (for example Abarth/Essesse), I would appreciate it, I need it for research. Does not have to be decoded or anything, just a dump from any 2K EEPROM ECU.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: teobolo on August 30, 2018, 05:15:34 AM
here are some eeprom dumps from Alfa Mito & Punto Abarth ,  i have more if you need tell me


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on August 30, 2018, 05:59:16 AM
Thank you! That's more than I need and it actually confirmed what I wanted to check (that the last part from raw 680 on is unused, properly). Plus one other small thing ;)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 22, 2018, 07:41:06 AM
I am still playing with E85, and now the weather got substantially colder (still not freezing or anything). My cranking is working fine so far, but I also noticed uneven AFR figures during the first minute of driving (maybe not even a whole minute). Is my conclusion that the wall wetting maps need some attention for E85 on the colder side correct?

EDIT: After careful analysis of my logs from this morning the question turns out to be rather rhetorical. The one that should be asked is by what order of magnitude I should modify KFBAKL/KFVAKL?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Assoor on September 23, 2018, 12:33:04 AM
i believe Ethanol always needs 60% more fueling than Gasoline. so i believe you can add 50% will be good for E85


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 23, 2018, 03:12:56 AM
Not 60 for Ethanol, less, and precisely 43% for E85 in my case, but that's not what I asked :/

Interestingly, increasing KFBAKL / KFVAKL made things worse, my test area was 20 deg C. Will try with less, but the car needs to cool and it will be in use for the rest of the day. The other problem is a horrible lag in my AFR readings, makes log analysis very difficult.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 24, 2018, 12:38:35 AM
I am a getting a bit confused with the semantics of KFVAKL - do bigger values mean more fuel / lower AFR? It seems it's the case, but it is sort of counter-intuitive, because the map name in "enleanment"...

EDIT: The code, from what I see, says "the bigger KFVAKL value to more fuel subtracted on deceleration". So my intuition was correct, but that also means something weird is going on in my engine.

EDIT2: Reading further threads on the issue and also looking at my logs it is more or less clear that (a) the increase in enleanment needs to substantial, contrary to enrichment which most people report as more or less OK (which I cannot fully agree with, but enleanment seems to more crucial), (b) this needs to be done through the whole or almost whole operation range, not only for cold. My logs seem to confirm point (b) too.

All in all it sounds like I'll have to make a couple of test drives with lambda control fully disabled until I get the numbers right.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 28, 2018, 05:16:28 AM
Regarding logs I'd like to ask how do you log EGT? MultiEcuScan shows the parameter empty and says it's not possible. Is it related to SW version?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: IamwhoIam on September 28, 2018, 06:05:45 AM
Regarding logs I'd like to ask how do you log EGT? MultiEcuScan shows the parameter empty and says it's not possible. Is it related to SW version?

Ideally you want a real thermocouple in the exhaust manifold, just before the turbine, EGT model values that you log from the ECU could be totally wrong vs the reality.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 28, 2018, 06:14:44 AM
Regarding logs I'd like to ask how do you log EGT? MultiEcuScan shows the parameter empty and says it's not possible. Is it related to SW version?

Most probably, I have never looked at EGT variables carefully, but I have seen other variables disabled in bins, even though the docs I have seen suggest they should give a reading.

BTW, following the other comment, I log EGT only to have the logging of it ready later when I get the actual EGT logged too to be able to see how (un)faithful the EGT model is. Just looking at the values I get and from previous experience with FIRE engines they seem about right, but this "about" can be actually off by over 50 degrees, which does make a difference.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 28, 2018, 06:50:36 AM
That's too bad. I wanted to check the EGT the ECU calculates internally because my car always follows the KFLBTS maps for fuelling. Now I run about 0.75-0.8 lambda at WOT with LAMFA but it drops nearly instantly to about 0.7 like in BTS maps.
Is there an option to enable it?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 28, 2018, 07:04:21 AM
LBTS might be one reason (and would be, but you can always edit LBTS to suit your AFR needs), but the other problems are notorious ignition retards on these setups which imply further enrichments. These you can also edit out in the LAMBTS module. And what's wrong with LBTS setting your fueling?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 28, 2018, 10:03:45 AM
For now I did just like you said. I have edited KFLBTS to 0.8-0.75 from 0.69-0.75 because in my opinion it was just too rich.
The reason I wanted to ride on LAMFA was just to go leaner and in case of high EGT to switch to richer AFR just to cool down. Another thing was that this map could take maximum of 191% of load and that spoils precision a little.
Do you think that it's OK to just ignore it and tune my AFR just for KFLBTS? I heard that these engines run too lean so that would be the reason for cracking headers and turbos and I just leaned the BTS map so this could be dangerous? What is your opinion?
Also there isn't option to log retard events, I just have to watch on values to assume retard?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 28, 2018, 12:19:17 PM
I think in the default setup this ECU runs mostly on KFLBTS. There is a delay on applying LAMFA (some ECUs 1s, some whole 5s!), which effectively means that KFLBTS will dictate the AFR before you know it. Following the description on the S4 wiki, LAMFA is mostly for preemptive fueling, which effectively means lower rpms and that only if you kill the delay sufficiently. Then it's all KFLBTS. So tune both to your AFR needs. 191% RL limit is not a problem IMO, this is ~1.2bar, at that point you should already be max rich and keep that way for higher boosts.

Who said these engines run lean? I am not accusing anyone of false claims, it's just that I think they are horribly rich, but I only personally dealt with one t-jet. But I did run a self turboed 8V FIRE engine before (successfully for several years and over 60kkm), and my lowest AFRs at 0.8-1bar boost were 11.8-11.5. The trick though was that the AFR table was fully static and conservative otherwise, 13.5AFR already is small vacuum, 12.5 AFR entering boost from 3000 RPM up, no BTS or WOT differentiation shit. Well, OK, admittedly the engine also had much lower CR than t-jet, but in any case it run absolutely sweet. The reason for cracking headers I heard of is simply a factory mistake in making it a fully solid design. Interestingly, mine is very likely cracked too, but I never had a chance to check, and I am far too lazy to replace it when there are no ill signs.

As for the retards, you are a second person saying they are not loggable, this should answer your first EGT question again - software differences. On my high resolution logs I first noticed retards because my actual torque figure was very spiked, this is the result of aggressively varying ignition between cylinders. You could try logging zwout and see if it's spiked and how far it is from your expectations from the tune. But in any case, you are guaranteed to have knock retards, so bad sometimes that the fuel goes insanely rich (I have seen 9.5 on my gauge a couple of times). You can try to kill it by editing DLBTS (I have seen people doing this).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 28, 2018, 01:30:58 PM
So I'm still running too rich? ;) What you said about DLBTS could be cure for my problems with alternative fuel. When on PB98 the car runs quite good but on LPG I'm getting ignition retards with overfuelling that much it is looping injectors. Don't know why if LPG has over 100 octan rating. All setting for LPG I did using STFT on Closed Loop and AFR on Open Loop, just little leaner than noPB.
That's too bad I can't log retards and EGT, I know it's crazy idea but isn't it possible to update/change software to other version? I know it was sometimes possible with older ECUs but there I think it's not.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 28, 2018, 02:07:24 PM
To know if you run rich or not you'd have to have the real EGT connected I think, the figures I gave were just an example for essentially a different engine.

LPG... that would have to have a piggy back system of some sort, no? Could that be a problem, I mean its setup?

There are some issues swapping software in these ECUs. The software in general is swappable as far as the ECU itself is concerned (well, EEPROM size might be an issue, they came in two sizes), but the versioning spreads to the other ECUs too, CAN IDs in particular can be different. But, the logging interface has a configuration block in the data area, EGT and retards could be added, the only problem is it would require a small amount of disassembly work to find the block and variable addresses...



Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 28, 2018, 02:36:39 PM
So as for now that is not possible I see...
When it comes to LPG the injection system has its own MAP sensor, RPM and temperature sensors. It gets injection timing from ECU outputs and the LPG injectors have their time scaled by a factor depending on engine load, gas pressure, temperature, etc. Generally it works very well, power is nearly the same as on petrol just when mashing the pedal there is jerking. I am 100% sure it's not LPG system because the pressure is stable on all loads and AFR was set in 3D table to correspond to the petrol ones, just like I said earlier they are leaner because rich LPG mixture isn't too good for engine and especially not for cooling. I couldn't log ME7 that fast to see this phenomenon on log so I can only assume that this could be petrol injectors looping or strong ignition retard.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 28, 2018, 02:54:48 PM
Correct me if I am wrong, I know about LPG tuning as much  as I know about Diesel tuning = I know shit, but wouldn't LPG need ignition timing adjustments too?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 28, 2018, 03:22:43 PM
In general it doesn't, you can advance ignition to take advantage of the added octane rating but other than that you don't have to touch the stock ECU.
The problem is when the petrol ECU is acting up the same problems are with LPG. As much as I heard of T-Jet 120 is better suited for that fuel because ECU is tuned better than 150 (like mine), I mean the stronger version has problem with injector looping which prevents from LPG controller from properly reading the injection time. Maybe that is the problem. Or that freakin' DLBTS is kicking in and enriching the mixture strongly so it doesn't burn. But what is in the X axis? Ignition efficiency so is it difference between KFZWOP? It doesn't make too much sense to me but I'm not expert at this...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 28, 2018, 03:45:37 PM
By default there is no blocking of injector looping, it can be enabled with one of the codewords (will look it up when less wasted), when it is the ECU will limit load to prevent injector looping. Your issue is not as much as poorer / different 150 tune, but the fact that (a) injectors, which are the essentially the  same for 120 and 150, are almost maxed out on 150 already on gasoline, (b) LPG (as far as I know it knowing shit about it) need substantially larger injection times?

For DLBTS, yes, IIRC, it's the efficiency of spark calculated from distance of the current ignition from ZWOP. The basic ZW on high load is already quite far from ZWOP (no surprise here - knock limit) and adding ignition retards to this causes the efficiency to drastically drop at some point resulting in huge fuel additions. On ethanol I could bring the basic ZW much closer to ZWOP and despite (phantom :/) ignition retards the fuel addition is still minimal.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 29, 2018, 01:14:16 AM
I have an installation for more powerful engines so it has injection times shorter than the noPB to achieve desired AFR.
I'm interested how is DETAZWBS calculated and more in which codeword could enable the looping protection.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 29, 2018, 03:57:23 AM
CWREGDS bit  #0 Code word continuous injection regime. You can find in the reference Alfa-Mito definition and match it to your bin. But note that this will only work for injection times the ECU knows of, if they are modified with an external device this won't do anything useful.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on September 29, 2018, 04:37:50 AM
Thank you. The most important for LPG system is to have correct outputs from ECU, if it is giving continuous signal for 100% DC it won't see correct times and everything goes wrong. I'll check it next week when I'll have more time to play ;)
I'm curious how exactly is input for DLBTS calculated. Is it just a ratio of zwout to KFZW values? It would be perfect to have ME7Logger compatible with our Fiat version but I see there are no plans to add it... :(


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on September 29, 2018, 11:10:41 AM
Right, so then I should be a bit more precise in explaining this keyword, it won't guarantee non-looping. It merely limits load down to the level where it thinks the injectors would loop, but it does not check if they do! The calculation is rough (IIRC it does not take FKKVS  into account), so you may still get continuous signal.

It seems that your setup has some several mods, it's really difficult to say what can be wrong.

From the top of my head I do not remember precisely what input DLBTS has, but it is then corrected (multiplicative) by KFFDLBTS. By filling in the latter one with zeros you kill the ignition retard enrichment. Take any random FR (I think) and look at the description of LAMBTS, I think it should be more or less the same for all ME-s, and it essentially works with the current spark efficiency.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: nyet on September 29, 2018, 03:46:52 PM
From the top of my head I do not remember precisely what input DLBTS has

basically, efficiency delta between opt and actual timing, keeping in mind that opt efficiency is not 100% either :)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 04, 2018, 11:19:57 PM
All welcome! Soon I will customize my fiat, the question for professionals, how do you control retard ? If some software allows you to keep a log with the amount of retard, under what conditions (rpm, load, boost) (sorry, if not clear, using a translator)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 21, 2018, 12:24:02 PM
So some rambling about cold E85 calibrations. Cranking/starting so far mostly sorted out, at least down to 5*C, still not cold enough here to have regular ~0*C or lower experiments. But in the process I also had to work on ESUK issues, clearly the wetting is considerable for E85 when cold. I essentially had to double KFBAKL from 10*C downwards, I still get leanish spikes on acceleration while cold driving. In the process of trying to get rid of rich spikes on deceleration I also went quite high with KFVAKL and only today I realized after careful log analysis that I had hit the map limit long time ago and increasing does not do anything anymore, rk_w is at 0 on decelerations. Nevertheless, the spikes are still on the rich side, apart from some exceptional situations, when it goes totally lean momentarily (AFR gauge shows 21, and no, this is not overrun fuel cut). One way or the other, it seems that the walls are flooded with fuel, and there is not much that can be done in ESUK to tame it to reasonable levels. This is only an issue for the first 60-90 seconds of running, nevertheless I am wondering (a) if this sounds normal, (b) how do the factory systems deal with that, (c) if my AFR cold readings are worth anything considering my inlet and cylinders are swimming in Ethanol. The engine drives fine during this time (it did not on stock gasoline KFBAK/VAK maps), so I should perhaps give it a rest, but the physics of it just bothers me. At freezing temps this will become an issue, though probably one I will never see, because I typically have to de-ice the car when it warms up.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 23, 2018, 10:39:58 PM
Hi, can you share address cards KFRLMXHO and settings of the X and Y axes? Thank you, I want to try to play this card



OK, so to get this going, let me throw some names for now. Some of these are obvious, yet they would limit boost, some of them are not to be found in the Alfa t-jet map pack (while some of them, in one form or the other (for example 2d vs 1d, are in the bin). When I find some more time I will post the addresses of these in another abarth bin, for now you can start playing to see if you can find them / match from the Alfa map pack. Also, some of these names are my own invention due to lack of documentation and not being that verse in Bosch vocabulary.

Pressure scalars:

PSRMX
PSREMX
PVDMX
PVDEMX
PVDXABS

From the BGHATLSTS module, someone here before claimed these are responsible for limiting requested boost, I cannot see how in the code and I am 80% convinced they don't (they do influence boost control though), still I would hold on to that claim as that person did tune this ECU, and I did not:

ETATUR
KFETAVD
KFOFLVDSNG
KFVPNVRPVV - not sure what this one does exactly, but it is compression related and converts one compression factor to another in connection with the three previous

Load limitation:

KFRLMXHO  - Load limitation based on air density
KFRLXTSRN - Load limitation based on IAT
KFRLMXLPH - Load limitation for some sort of limp home mode (should not be needed on a healthy setup)
VVTVATU - Turbo compression ratio to limit discharge temperature (this is not the same as KFLDBHN, BTW, the two rows are "moving" & "standstill" in KFLDBHN).

Torque:

KLDMMX - max delta torque, does not limit the absolute torque, but the change rate, might temporarily cap the max torque I guess.

You have also KFPZU in your definition, this and other maps like this probably need changing if they are lower than your MDMAXNM* limiters. 

Then there are the throttle opening related maps, someone said somewhere that these probably do not need touching (but if they are, the two should be inverses of each other), nevertheless, they define the 95% load throttle threshold in other setups defined in the WDKUGDN map, and these two are substantially different between the 120 hp and 150+ versions of this ECU.

KFMSNWDKVP
KFWDKMSNVP

Then there are the _UM maps, but these should be obvious, the _UC maps I believe can be left alone.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 24, 2018, 11:54:06 AM
Which bin? Not all of them have have this map.

Another thing, the reoccurring question I get through pm-s and in the different threads is about diagnostic programs, logging parameter support, and a decent logger. As far as supporting Fiat group specific KWP protocol there is only MES on PC, and AlfaOBD on Android. Unless I am uninformed, but I have recently seen some photos from a RevLimit dealer on FB, and they use MES too (poor bastards :)). I never got AlfaOBD to work, because my BT ELM interface is a heavily castrated Chinese clone that does not support the needed CAN modes (or whatever else, it just does not work).

The logs I posted here come from my own hand crafted Android based logger/dash that requires (a) custom hardware, (b) ECU program mods to facilitate fast logging. I also have a butt-ugly Java PC application that can read and log ME7.9.10 CAN ECUs decently fast through ELM327 and does not require ECU mods. I have been pondering over the idea of making a useable and nice looking public domain version of this, but could not find time so far. As I have it now it is not releasable because it's Linux only due to a native library for serial comms. And I am not touching the RXTX library with a 10 feet pole to make it cross system compatible. And it misses the K-line support for the older generation ME7.9.10-s (I do have a working code base for K-line / VAG-KKL cables, but it is not integrated).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 24, 2018, 10:41:43 PM
I'm sorry, I'm using Google translate. Alfaobd is also available for PC. You can buy the full version of elm327 BT (I can give a link to aliexpress), and even better ELM 327 usb.


Which bin? Not all of them have have this map.

Another thing, the reoccurring question I get through pm-s and in the different threads is about diagnostic programs, logging parameter support, and a decent logger. As far as supporting Fiat group specific KWP protocol there is only MES on PC, and AlfaOBD on Android. Unless I am uninformed, but I have recently seen some photos from a RevLimit dealer on FB, and they use MES too (poor bastards :)). I never got AlfaOBD to work, because my BT ELM interface is a heavily castrated Chinese clone that does not support the needed CAN modes (or whatever else, it just does not work).

The logs I posted here come from my own hand crafted Android based logger/dash that requires (a) custom hardware, (b) ECU program mods to facilitate fast logging. I also have a butt-ugly Java PC application that can read and log ME7.9.10 CAN ECUs decently fast through ELM327 and does not require ECU mods. I have been pondering over the idea of making a useable and nice looking public domain version of this, but could not find time so far. As I have it now it is not releasable because it's Linux only due to a native library for serial comms. And I am not touching the RXTX library with a 10 feet pole to make it cross system compatible. And it misses the K-line support for the older generation ME7.9.10-s (I do have a working code base for K-line / VAG-KKL cables, but it is not integrated).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 24, 2018, 10:43:22 PM
I'm sorry, I'm using Google translate. What I have not found is how to log Knock?

Which bin? Not all of them have have this map.

Another thing, the reoccurring question I get through pm-s and in the different threads is about diagnostic programs, logging parameter support, and a decent logger. As far as supporting Fiat group specific KWP protocol there is only MES on PC, and AlfaOBD on Android. Unless I am uninformed, but I have recently seen some photos from a RevLimit dealer on FB, and they use MES too (poor bastards :)). I never got AlfaOBD to work, because my BT ELM interface is a heavily castrated Chinese clone that does not support the needed CAN modes (or whatever else, it just does not work).

The logs I posted here come from my own hand crafted Android based logger/dash that requires (a) custom hardware, (b) ECU program mods to facilitate fast logging. I also have a butt-ugly Java PC application that can read and log ME7.9.10 CAN ECUs decently fast through ELM327 and does not require ECU mods. I have been pondering over the idea of making a useable and nice looking public domain version of this, but could not find time so far. As I have it now it is not releasable because it's Linux only due to a native library for serial comms. And I am not touching the RXTX library with a 10 feet pole to make it cross system compatible. And it misses the K-line support for the older generation ME7.9.10-s (I do have a working code base for K-line / VAG-KKL cables, but it is not integrated).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 24, 2018, 10:51:07 PM
For normal operation on Can bus ELM327 BT need to remove the resistor 121 between CAN H and CAN L
Which bin? Not all of them have have this map.

Another thing, the reoccurring question I get through pm-s and in the different threads is about diagnostic programs, logging parameter support, and a decent logger. As far as supporting Fiat group specific KWP protocol there is only MES on PC, and AlfaOBD on Android. Unless I am uninformed, but I have recently seen some photos from a RevLimit dealer on FB, and they use MES too (poor bastards :)). I never got AlfaOBD to work, because my BT ELM interface is a heavily castrated Chinese clone that does not support the needed CAN modes (or whatever else, it just does not work).

The logs I posted here come from my own hand crafted Android based logger/dash that requires (a) custom hardware, (b) ECU program mods to facilitate fast logging. I also have a butt-ugly Java PC application that can read and log ME7.9.10 CAN ECUs decently fast through ELM327 and does not require ECU mods. I have been pondering over the idea of making a useable and nice looking public domain version of this, but could not find time so far. As I have it now it is not releasable because it's Linux only due to a native library for serial comms. And I am not touching the RXTX library with a 10 feet pole to make it cross system compatible. And it misses the K-line support for the older generation ME7.9.10-s (I do have a working code base for K-line / VAG-KKL cables, but it is not integrated).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 25, 2018, 01:05:42 PM
If your ECU version can log knock then the software will log it, otherwise you have to mod the ECU bin to enable it. With the cables - all my ELM devices have the bridge resistor (brutally) removed, that's not it. My USB ELM has the required protocols implemented, the BT one does not, end of story. I almost bought a genuine one, but decided to build my own Arduino based interface instead.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 25, 2018, 10:12:54 PM
WOJ, you cool)! I'd like to purchase your device when you make it! I noticed that the registration of the detonation counter stops growing in alfaobd when I remove the immobilizer through the immooff program, so some parameter is responsible for this counter in the eeprom... also in Function and DataSheet I found the CWKRREF parameter, it activates registration, it costs at 00?

If your ECU version can log knock then the software will log it, otherwise you have to mod the ECU bin to enable it. With the cables - all my ELM devices have the bridge resistor (brutally) removed, that's not it. My USB ELM has the required protocols implemented, the BT one does not, end of story. I almost bought a genuine one, but decided to build my own Arduino based interface instead.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: nyet on October 25, 2018, 10:17:34 PM
God how did top reply start happening in forums now


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 25, 2018, 10:54:07 PM
One "commercial" immo off program I have seen is essentially butchering the eeprom for this ECU in the attempt to kill immo. People should be hanged by their balls for selling stuff like that.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 25, 2018, 11:35:05 PM
This I noticed) but now I can not turn it off on my own, my eeprom was damaged by another tuner, I already bought such a car.

One "commercial" immo off program I have seen is essentially butchering the eeprom for this ECU in the attempt to kill immo. People should be hanged by their balls for selling stuff like that.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 26, 2018, 12:27:01 AM
I have a couple of 1.4 t-jet (turbine gr1752) tuner tuning files on 120cv camshafts, what I don't understand is the KFZWOP cards, why he left it off 150cv, and KFZW ignition angles off 120cv. Can someone explain, I think it's a mistake of the tuner...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on October 26, 2018, 12:28:28 AM
KFZWOP


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 26, 2018, 12:39:23 AM
So now I have a genuine question about tuning :) My transient fuel on E85 is still all over the place when cold (0-20*C), this is mostly not felt when driving, but on some occasions yes, today I got a rich ~10.5AFR spike on decel followed by a lean spike on accel ~16AFR and that choked the engine slightly, and another lean spike on accel of around 18AFR somewhere else, also bit choky.

Looking at my logs I concluded that the thing that would help here is to damp the throttle operation and slope at cold temperatures. Now, how do I do that in the most convenient way? There are several torque slope limitation maps, but none as far as I can see temperature dependent.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on October 28, 2018, 03:42:10 AM
So my problems seems to be not as much as AFR / transient fluctuations, but RPM dropping below sustainable threshold when I shift gears. My stationary and driving idle are already raised a bit, and that makes things smooth when steady state, but I have the habit of changing gears very low when cold not to over-rev the engine. This forces RPM drop and then it chokes trying to get out of it on throttle press. Not sure if this is solvable by ECU mods. A different story is that it's not a good idea to drive off immediately after starting the engine at ~0*C.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 17, 2018, 03:10:59 PM
So I am back at looking at the very nervous knock detection behavior of these ECUs. I added knock retard showing to my dash app, so that I could see what's going on live and get a feeling of what triggers it when driving, dry logs don't always give away the inside the car gut feeling ;) It is more or less obvious that it is the dynamic range that is most prone to this (not surprising), sudden throttle press in low rev in 3rd triggers some retard response, less in 4th or 5th, in 2nd the retards typically go over the roof as soon as touch the pedal. The ECU obviously accounts for more sensitivity and noise during dynamic changes by increasing the detection thresholds. But, I looked at the related maps (specifically dynamic mode thresholds), and one got me suspicious - NGKRWN, see the shot. One of FRs I checked suggest that these values should be in the 800-1000 rpm/s ranges, here I have 2000+ (can of course also be a bad conversion factor).

I can of course test it (and will eventually), but I was wondering what this map is on other engines / ECUs? And what is the right conversion? I have it defined as X*100/256 based on the Alfa damos, but this is known not to be very accurate.

I rechecked my older logs - the retard kicks in right after the load stabilizes (stops climbing rapidly, this I guess kills the load change related dynamic mode) while the rpm keeps climbing, in the 2nd at the rate of ~1000rpm/sec, this feels very rapid but is nowhere near the 2000 rpm ranges in the map.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 18, 2018, 07:57:55 AM
For comparison, the rpm gradient dynamic mode thresholds from Fiat 500 N/A version of the same ECU. Not much lower, but lower... My next attempt should be to log the dynamic mode flags and check if there are any correlations before I try with lowering these.

My parallel experiment made today, now with E70 and I copied the complete knock sensor and detection setup from Grande Abarth 155 hp version. Not a single retard event in several pulls and other knock provocations.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on November 18, 2018, 09:26:14 AM
I so understood you somehow registered detonation (Knock)? (using Google translate)


So I am back at looking at the very nervous knock detection behavior of these ECUs. I added knock retard showing to my dash app, so that I could see what's going on live and get a feeling of what triggers it when driving, dry logs don't always give away the inside the car gut feeling ;) It is more or less obvious that it is the dynamic range that is most prone to this (not surprising), sudden throttle press in low rev in 3rd triggers some retard response, less in 4th or 5th, in 2nd the retards typically go over the roof as soon as touch the pedal. The ECU obviously accounts for more sensitivity and noise during dynamic changes by increasing the detection thresholds. But, I looked at the related maps (specifically dynamic mode thresholds), and one got me suspicious - NGKRWN, see the shot. One of FRs I checked suggest that these values should be in the 800-1000 rpm/s ranges, here I have 2000+ (can of course also be a bad conversion factor).

I can of course test it (and will eventually), but I was wondering what this map is on other engines / ECUs? And what is the right conversion? I have it defined as X*100/256 based on the Alfa damos, but this is known not to be very accurate.

I rechecked my older logs - the retard kicks in right after the load stabilizes (stops climbing rapidly, this I guess kills the load change related dynamic mode) while the rpm keeps climbing, in the 2nd at the rate of ~1000rpm/sec, this feels very rapid but is nowhere near the 2000 rpm ranges in the map.



Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 18, 2018, 10:26:36 AM
I so understood you somehow registered detonation (Knock)? (using Google translate)

Read the thread back a bit. I get knock induced retards sometimes even on Ethanol under more or less repeatable conditions, and despite good advice from here that this could be hardware related (rattling, exhaust resonating, what not) I am still looking into possible causes in the ECU / calibrations, because I know for a fact that everybody I talked to has the same problem regardless of fuel type, base ignition setting, boost, etc. Something is simply badly messed up and I want to know what (also Fiat calibrations are known for peculiarities of this sort, even on much older engines / ECU generations).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on November 18, 2018, 11:09:42 AM
Very interesting! How do you cool, WOJ) Let me know if you have any information. I will put myself GT1446, I will try to transfer as much as possible the possible cards with abarth 180cv, the only thing that would calm me down is the detection (logging) of detonation. I will be glad to your tips) (using Google translator)

Read the thread back a bit. I get knock induced retards sometimes even on Ethanol under more or less repeatable conditions, and despite good advise from here that this could be hardware related (rattling, exhaust resonating, what not) I am still looking into possible causes in the ECU / calibrations, because I know for a fact that everybody I talked to has the same problem regardless of fuel type, base ignition setting, boost, etc. Something is simply badly messed up and I want to know what (also Fiat calibrations are known for peculiarities of this sort, even on much older engines / ECU generations).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 20, 2018, 01:04:51 PM
Without intervening into the knock detection calibration, I logged some variables to see what's going on inside the knock detection routines. A sample attached below. I left only the most interesting things in the graph, the rest you have to trust me on, they would haze the picture or are beyond the magnified area.

It shows what happens more or less typically when I looked at the other parts of the logs. The green line that goes up to 1 at 123.5 s. indicates the rpm ramp up dynamic mode for knock detection is on (no wonder, the rpm gradient goes up to 4000 rpm/s). Dynamic mode = knock detection is dampened by a factor of ~1.2. 2 on the green line would mean load ramp up, but here it does not happen (though the load ramps up too). The violet line going up to 15 means that the frequency setting changes on all four cylinders going through the calibrated rpm thresholds and this also temporarily triggers dynamic mode. The rpm climb you see from 123.5 to 127.5 is a rolling quick pull in the 2nd gear. The knock retard on one cylinder (others were 0) kicks in when the load touches on the target one (EDIT: the retard kicks in already when the load starts to climb, initially it goes up at a rate of 180%/s, yet no dynamic mode). And this is on E70!

What bothers me is ngas, the rpm gradient. the blue thing. It says somewhere in the FRs that it is measured every 10ms (so defo more than one time per engine rotation at these rpms), nevertheless, I do not see why it's spiked and why a rather smooth rpm line gives such gradient readings. I can also see that the n/a setting I quoted above would turn the dynamic mode on much more in the particular area.

Seriously curios now if that's the way it's supposed to be...?

EDIT 2: I also looked at some other bins from the  family. The n/a version has also the load thresholds for dynamic mode more or less at the half level of my ECU = goes into dynamic mode more likely. One of the SS bins though has the rpm threshold slightly lower, while the load thresholds are seriously higher (around twice as much in the lower rpm range).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on November 20, 2018, 11:40:05 PM
I'm very interested in your work, I'm also trying to deal with this ECU. I really want to start my engine on 100% software abarth esseesse, and work in this direction. I have a work revlimit, I can share it with you for study. There's work on detonation areas. Write me a personal message your email address, I will send you this firmware and Excel file with the changes found at the addresses and their names cards.

Without intervening into the knock detection calibration, I logged some variables to see what's going on inside the knock detection routines. A sample attached below. I left only the most interesting things in the graph, the rest you have to trust me on, they would haze the picture or are beyond the magnified area.

It shows what happens more or less typically when I looked at the other parts of the logs. The green line that goes up to 1 at 123.5 s. indicates the rpm ramp up dynamic mode for knock detection is on (no wonder, the rpm gradient goes up to 4000 rpm/s). Dynamic mode = knock detection is dampened by a factor of ~1.2. 2 on the green line would mean load ramp up, but here it does not happen (though the load ramps up too). The violet line going up to 15 means that the frequency setting changes on all four cylinders going through the calibrated rpm thresholds and this also temporarily triggers dynamic mode. The rpm climb you see from 123.5 to 127.5 is a rolling quick pull in the 2nd gear. The knock retard on one cylinder (others were 0) kicks in when the load touches on the target one (EDIT: the retard kicks in already when the load starts to climb, initially it goes up at a rate of 180%/s, yet no dynamic mode). And this is on E70!

What bothers me is ngas, the rpm gradient. the blue thing. It says somewhere in the FRs that it is measured every 10ms (so defo more than one time per engine rotation at these rpms), nevertheless, I do not see why it's spiked and why a rather smooth rpm line gives such gradient readings. I can also see that the n/a setting I quoted above would turn the dynamic mode on much more in the particular area.

Seriously curios now if that's the way it's supposed to be...?

EDIT 2: I also looked at some other bins from the  family. The n/a version has also the load thresholds for dynamic mode more or less at the half level of my ECU = goes into dynamic mode more likely. One of the SS bins though has the rpm threshold slightly lower, while the load thresholds are seriously higher (around twice as much in the lower rpm range).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on November 21, 2018, 12:31:27 AM
I am thinking to buy on ebay the body module of the BSI computer and to start with it EBU esseesse with the switched-off immo if it turns out, it is possible to copy eeprom BSI esseesse to the native BSI and it has to work.


Without intervening into the knock detection calibration, I logged some variables to see what's going on inside the knock detection routines. A sample attached below. I left only the most interesting things in the graph, the rest you have to trust me on, they would haze the picture or are beyond the magnified area.

It shows what happens more or less typically when I looked at the other parts of the logs. The green line that goes up to 1 at 123.5 s. indicates the rpm ramp up dynamic mode for knock detection is on (no wonder, the rpm gradient goes up to 4000 rpm/s). Dynamic mode = knock detection is dampened by a factor of ~1.2. 2 on the green line would mean load ramp up, but here it does not happen (though the load ramps up too). The violet line going up to 15 means that the frequency setting changes on all four cylinders going through the calibrated rpm thresholds and this also temporarily triggers dynamic mode. The rpm climb you see from 123.5 to 127.5 is a rolling quick pull in the 2nd gear. The knock retard on one cylinder (others were 0) kicks in when the load touches on the target one (EDIT: the retard kicks in already when the load starts to climb, initially it goes up at a rate of 180%/s, yet no dynamic mode). And this is on E70!

What bothers me is ngas, the rpm gradient. the blue thing. It says somewhere in the FRs that it is measured every 10ms (so defo more than one time per engine rotation at these rpms), nevertheless, I do not see why it's spiked and why a rather smooth rpm line gives such gradient readings. I can also see that the n/a setting I quoted above would turn the dynamic mode on much more in the particular area.

Seriously curios now if that's the way it's supposed to be...?

EDIT 2: I also looked at some other bins from the  family. The n/a version has also the load thresholds for dynamic mode more or less at the half level of my ECU = goes into dynamic mode more likely. One of the SS bins though has the rpm threshold slightly lower, while the load thresholds are seriously higher (around twice as much in the lower rpm range).


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 28, 2018, 02:05:43 PM
I think I have figured out my cold start / cranking issues for Ethanol, now I am only annoyed that I was one day too late with this - the proper frost we had here for the last two days is gone and we are back to 0*C temperatures.

It seems my biggest mistake / pitfall was that I considerably raised the target idle RPM at colder ranges, by around +150 at 0 degrees, 250 at -10, etc. Apart from getting the start up fuel and decay rate right it seemed all the time that the throttle chokes the process. Goes like - engine kicks in, gets slightly choky rpms at some level below 1000, some time elapses and it springs to life at the target rpm (which was ~1200). This hesitation drove me nuts, so I turned to FR for Alfa ME7.3 and it became less of a mystery. Without requoting the whole document - the choke period is the apparently the TVLLRSTE delay (2 seconds) from the end of start (reaching 800 rpm) until the idle PID kicks in. It can also kick in quicker, that happens right after the rpms reach the target idle rpm for the first time, but for me this never happened, hence this 2 second choke. And it never happened because I raised the targets. Now, I know that the maps should be clever enough to deal with this and the drag torque map should set the load at the right level, but clearly there must be something about Ethanol that makes it not so. So I tried (a) dropping the target idle speed slightly (but still higher than factory), and (b) raising DMDNSM - the after crank torque offset. The result is this:

https://youtu.be/Cligw9REpz4

So far a singular experiment, but it all makes sense and it seems the ECU has finally started to react to my wishes. Somewhere in the process I also played with the starting ignition both ways, but that seemed to do more bad than good.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on November 28, 2018, 10:28:28 PM
small victory


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on November 28, 2018, 10:34:04 PM
I also have a problem like yours on LPG. if you increase the TVLLRSTE time by more than 2 seconds for 30 seconds?


I think I have figured out my cold start / cranking issues for Ethanol, now I am only annoyed that I was one day too late with this - the proper frost we had here for the last two days is gone and we are back to 0*C temperatures.

It seems my biggest mistake / pitfall was that I considerably raised the target idle RPM at colder ranges, by around +150 at 0 degrees, 250 at -10, etc. Apart from getting the start up fuel and decay rate right it seemed all the time that the throttle chokes the process. Goes like - engine kicks in, gets slightly choky rpms at some level below 1000, some time elapses and it springs to life at the target rpm (which was ~1200). This hesitation drove me nuts, so I turned to FR for Alfa ME7.3 and it became less of a mystery. Without requoting the whole document - the choke period is the apparently the TVLLRSTE delay (2 seconds) from the end of start (reaching 800 rpm) until the idle PID kicks in. It can also kick in quicker, that happens right after the rpms reach the target idle rpm for the first time, but for me this never happened, hence this 2 second choke. And it never happened because I raised the targets. Now, I know that the maps should be clever enough to deal with this and the drag torque map should set the load at the right level, but clearly there must be something about Ethanol that makes it not so. So I tried (a) dropping the target idle speed slightly (but still higher than factory), and (b) raising DMDNSM - the after crank torque offset. The result is this:

https://youtu.be/Cligw9REpz4

So far a singular experiment, but it all makes sense and it seems the ECU has finally started to react to my wishes. Somewhere in the process I also played with the starting ignition both ways, but that seemed to do more bad than good.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on November 29, 2018, 01:01:00 AM
I also have a problem like yours on LPG. if you increase the TVLLRSTE time by more than 2 seconds for 30 seconds?

I always thought that on aftermarket LPG add-ons you are supposed to start the engine on gasoline nevertheless, but hey, I know total shit about LPG, maybe this changed. If you increase the said parameter to 30 seconds you won't get PID control for idle for half a minute unless your start rpms hit the target ones, most certainly not what you want.

I just had another clean start at 1*C, even cleaner I'd say and this one after much longer cold soak than the previous one (now 13 hours, previous one 7), also have a video of it, but it turned out totally dark, so I spare you this one.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on December 07, 2018, 02:05:25 AM
Any of you experienced Italian / ME7.9.10 users ever experienced immo system / body module issues under (heavy) KWP2000 CAN traffic?

Last Sunday I got the code light on the dash AFTER I started the engine and drove off, the code light came on very shortly after I turned on my logger. This was intermittent, was all fine on the next key cycle, the body ECU registered U0426 (minicrypt) and B1035 (body module damaged). Interestingly, the latter one was marked present when I was checking them later, the former intermittent.

This tells me I might have electrical issues in the car (Googling so far tells me so, not uncommon to have moisture problems in the engine fuse box area with similar symptoms), but yesterday I also got some random code light flashes when I was playing with the new version of MES on all modules in the car, so I am now suspecting this was/is CAN bus related.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 07, 2018, 03:28:08 AM
I had a similar case when I was testing different diagnostic programs. Is the battery voltage normal?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on December 07, 2018, 03:58:49 AM
Yes it was normal when I checked it (solid 14V without and with considerable load - fan on 4 and long beam). The DTC recorded 14.4V when it was registered. Also, it was a very wet day and I drove in rain for 1 hour prior to the problem occuring.

But that's a good point, I also wondered about the state of the alternator. The car is 10 years old now, closing 150kkm and it is probably time to expect charging problems to start occurring. (The battery is 3.5 years old, the previous one lasted the remaining 6.5 - died spectacularly in 1 minute one summer morning). I'd even consider changing the alternator pre-emptively, but the weather would not allow me now. 


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 08, 2018, 01:51:35 AM
Hi, I am studying the abarth esseesse firmware where the load axes are made to 240RL but can't find the load x axis for kflbtsl, KFLBTS, KFFDLBTS cards. In DAMOS MiTo, the x-axis starts with A0961, but in abarth 180cv on many versions I can't find it. Maybe someone already found for these cards, the x-axis?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on December 08, 2018, 11:29:12 AM
On the esseesse bin I posted some time ago here (I will not re-post it, though the server disk space is not mine, I still care for it, please find it), marked P662_604, the LBTS module load axis is at 0xA5D20, and the RPM axis is at 0xA0BFE. So indeed they are not close to each other.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 08, 2018, 11:36:03 PM

thank you, very helped! now I have increased the boost to 1.55 and for the ignition angle in the KFZW card I want to skip the line with 40% load and do as Abart 60%, this will give me another free line to add 220% load and with 3000 rpm lower the ignition angle by 2-3 degrees. the next job is to change the axes of the lbts module and add fuel (you will need to check the broadband sensor lambda) in a load of 220% if required


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 09, 2018, 12:31:06 AM
The X-axis for lbts 662_604 at the address you specified A5D20 wrong, maybe there a mistake?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on December 09, 2018, 02:56:51 AM
No, it's correct, look at the hex, just before you have 0C00 - Dec 12 - the size of the axis. Then 12 increasing words. The address is ok, but I think you defined as byte.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 09, 2018, 04:33:39 AM
The complexity of the translation of Google, I guess what you, but I can not fix. Tell me what I did wrong?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on December 09, 2018, 04:52:58 AM
Values are 16bit, conversion is X*1536/65535/


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 09, 2018, 05:13:32 AM
Thank you, I whole day sit in winols, and I started to slow down) Only if you use the conversion factor 0,023438, not the one you mentioned, the x-axis is 191 load, I correctly think?
Figured out, the axis is also 191%, above what I wrote, wrong, kfzw map/


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 13, 2018, 12:42:03 AM
At the moment I really like how the car behaves, I installed MDMAXNMOB and MDMAXNMOT in the entire range of 99%. It's not professional at all?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on December 13, 2018, 01:14:18 AM
First note: 0.02438 is what I said = 1536/65535, I simply do not care for the WinOLS / FR style floating number conversions, they bear no semantics for me.

You can do by maxing out MDMAXNM** maps, this was discussed in the other thread. In this case the KFLDBHN will take over as the load limiter, so you essentially drive the turbo at its defined max at all conditions. I think (not 100% sure) that effectively it means different power at different weather / altitude / etc. but don't quote me on this.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 13, 2018, 03:40:44 AM
Thank you, you will not help to find in the DAMOS Mito map KFLDBHN ? I can not find it, if you can screenshot the properties of the map (x axis, Y axis with a conversion factor) Thank you very much for your help!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 18, 2018, 11:51:12 PM
All thanks. Ahah, DAMOS MiTo KFLDBHN is the name Kennfeld (this indicator I increased first) address A6A1A


Thank you, you will not help to find in the DAMOS Mito map KFLDBHN ? I can not find it, if you can screenshot the properties of the map (x axis, Y axis with a conversion factor) Thank you very much for your help!


Title: Re: ME7.9.10 - Understanding the torque model
Post by: brs on December 20, 2018, 07:45:36 AM
Hi all
I'm looking for KFLDHBN on this file.Any idea?

Thanks in advance


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 20, 2018, 08:33:44 AM
Hi all
I'm looking for KFLDHBN on this file.Any idea?

Thanks in advance


Title: Re: ME7.9.10 - Understanding the torque model
Post by: brs on December 20, 2018, 11:30:47 PM


Thanks


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on December 24, 2018, 06:43:06 AM
Hello! Interested parameter DUKK, FUKVAE, FUKBAE. DUKK, FUKVAE - file esseesse twice more than 120 HP. For that meet these parameters, I can not understand, prompt! ???


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Mamba10 on December 24, 2018, 11:18:29 AM
All thanks. Ahah, DAMOS MiTo KFLDBHN is the name Kennfeld (this indicator I increased first) address A6A1A


Did you figure out what the factor offsets, precision, etc. for KFLDBHN are? offset of 1 / default in Mito damos don't make much sense to me so assume it's not correct? If i understand correctly it is a maximum pressure ratio which can become a limiting factor if you increase load maps and can limit boost when atmospheric pressure changes.

Also, haven't posted here yet but many thanks to woj, prj and others in keeping the topic alive and filling it with good information! My only interest is me7.9.10 and med17.3.0 at a later stage and as a newbie having a place with relevant information is invalueable. I hope to be able to contribute as well at some stage. I have gathered quite some original t-jet files so if anyone needs a specific one, maybe i have it.

//edit, should have looked beter. it's 0,000122 for those wondering


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on December 25, 2018, 04:33:17 AM
Did anyone play with EGT model calculated from O2 sensor? I'm going to put big turbo with custom downpipe so I'm pretty sure ECU will interpret the temperatures incorrectly. I can't even check how it sees them because this option is disabled in my version. Maybe a cross flash of other version would be possible?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: prj on January 23, 2019, 09:22:54 AM
Did anyone play with EGT model calculated from O2 sensor? I'm going to put big turbo with custom downpipe so I'm pretty sure ECU will interpret the temperatures incorrectly. I can't even check how it sees them because this option is disabled in my version. Maybe a cross flash of other version would be possible?
O2 sensor has no effect on EGT model.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: pc1010 on January 23, 2019, 09:27:56 AM
Sorry maybe I wrote imprecisely, I meant new downpipe if it could ruin the EGT model?


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Mamba10 on February 10, 2019, 03:34:54 PM
Looking at the ZUESZ module thinking i would find KFTSRL,KFSZT and FTOMN there. I'm quite the newb (and noob) and found topics which state it all depends on ecu etc. etc. Using the Mito damos, i've found KFSZMN (8x8, temp X volt) with minimum closing time (during lambda=1 operation) and FFLDZ (8x1, Follow-on ignition charging time) and a few correction factor maps but that's about it (unless i'm missing something really obvious).

is there no load x rpm map for the me7.9.10? how is szout_w calculated? i've never used IDA Pro so if that's what is required i best leave this subject for now.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 10, 2019, 03:59:40 PM
I think the correction maps that you are dismissing so easily is what you are looking for, check the KFSZFRL map, in combination with KFSZMN it gives szout (well, almost). And as far I as remember looking at all this, there is no FTOMN on this one.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on February 11, 2019, 04:46:18 AM
Shit, I had grand plans to start doing some mild stage 1 tune on E85, prepped my program, ECU, logging. My Zt-2 seems to have died, I don't get AFR readings (they stay at 14.7). It might be that the connection to the sensor is broken (I snapped some plastic parts for the connector on the controller when disconnecting it last time, but I think I glued everything together fine), or the sensor died. So - what are typical symptoms of a dead AFR sensor?

EDIT: False alarm, bad connection, just don't see how on Earth was that possible...


Title: Re: ME7.9.10 - Understanding the torque model
Post by: 370rx on February 12, 2019, 04:41:31 AM
well, that's no problem! Waiting for the results of your work, very interesting)


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Mamba10 on February 19, 2019, 03:11:39 PM
I think the correction maps that you are dismissing so easily is what you are looking for, check the KFSZFRL map, in combination with KFSZMN it gives szout (well, almost). And as far I as remember looking at all this, there is no FTOMN on this one.
Thank you Woj. I was so focused on trying to find it that i disregarded the rest to easily.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: tidus1985 on March 01, 2019, 02:16:03 PM
hi everyone, i'm trying to get more boost pressure with my td04, now the requested pressure is ok but the actual pressure con reach the requested pressure due to bad wg electronic calibration, i've made many try with the  wg duty cile map but without good result, what is the pid map for the boost controller? is like the diesel pid where there is the D, P and I maps, i've regulated correclty eith that pid on many edc16c39 map, but with the mito incompleted damos i can't find the map to increase the P valure of the turbo pid's and add more correction on the boost, my file is the same file from bravo 150hp sport that have teobolo


Title: Re: ME7.9.10 - Understanding the torque model
Post by: woj on March 01, 2019, 03:25:01 PM
You're not the first and not the last to have problems with the boost controller on this ECU ;) which is over engineered. Playing with PID will not help you much, you need to fix the pre-control map, there is several of them, but your best bet is KFETAVD. How to tune it, I have no idea, and Mr. prj said somewhere earlier in this thread it's a futile exercise. Probably your best first attack is to try to copy the contents of this and other boost control maps from the Abarth SS bins.

This is all assuming you do not have boost leaks, which is another option, or that despite your faith in TD04 you are not requesting too much from it. Not to mention WG cracking pressures and related throttle things.


Title: Re: ME7.9.10 - Understanding the torque model
Post by: Mamba10 on May 22, 2019, 02:18:52 PM
I briefly looked at these last files that you posted, don't have the correct definition for this one either, but I managed to check the obvious. I'd set the PVDXABS higher than 305 kPa just to be sure, but that's probably not it (it is the sensor's max anyhow).

More importantly, at 0xB6B2A you have a 4x4 map that you left untouched which is limiting RL to 220 all over (or so I think looking at my other esseesse file and definition). Try raising that. I called this map in the previous posts "MAXRL dep air density", because I could not find the right Bosch name for it. This is a word map with conversion X*1536/65535.

I am actually curious if that is it...
Bit of bump (sorry..). Trying to find the 'MAXRL dep air density' map on 0261201684 / 390454 (120hp Grande Punto) but it doesn't seem to be there (neither on 0261201685 / 391129 and probably more from the same family). I do however see a 4x1 map on A67F8 which is found in the mito damos under RLMXELDR / Maximum charge to protect against overpressure in turbocharger failure E_ldr. Also has the same conversion ratio. And i don't see that map in 0261201685 / 395673.

I think it's correct but maybe someone wants to take a quick peek :).