Tuners Rejoice! Free Tuning For M4.4!


Recommended Posts

Quick question

Does anyone have the injector voltage value(s) and minimum injection time for the bosch 470cc injectors (0280156280)?

I've got a set of these but need the starting values so I can use the fine tuning method.

If you mean the greens, it's in the Wikia  - listed @ 3bar. The higher cc rating is for the ME7 3.8bar base

Link to comment
Share on other sites

Hi everyone.

For my power goals I decided MAF would not be appropriate for me as I would require a 4.5-5" OD MAF. I decided to start working on my m4.4 speed density conversion I posted a while back. I made some progress this weekend.

Nice! Be interested in seeing how it plays out, especially over a wide range of load and ambient temps. 

You are going to keep the 12.24ms load table though? That doesn't make much sense since you will be maxing that out very early on.

Link to comment
Share on other sites

Hi everyone.

For my power goals I decided MAF would not be appropriate for me as I would require a 4.5-5" OD MAF. I decided to start working on my m4.4 speed density conversion I posted a while back. I made some progress this weekend.

Basically my method uses the ideal gas law to estimate air flow in KG/HR based on boost, displacement, IAT and RPM. It then plugs that KG/HR value right into the stock load equation (which i see no reason to change or modify).

I figured out all of the math I have to do on the ECU as well as all the conversion factors for boost, displacement, R constant, IAT, RPH, etc ,etc. I then planned out the entire calculation routine and its 100% possible to perform the ideal gas law equation on the ECU using the MULT/DIV Unit. And for IAT I will use the stock ambient temp sensor channel and for MAP I will use the MAF channel. This will open up the whatever channel you use for your map sensor, for another sensor such as EGT or EBP. (...)

The good part is this will be a true speed density conversion, looking at evo and subaru conversions, they usually just correlate MAP to a load value, then use crazy RPM vs VE modifiers. Not really what i see necessary due to the fact our load calculation already takes in air mass, so why modify it? That will just require to rescale / remap every single thing that uses load. Load will still exist, it will just be used for fueling, and for compatibility reasons so I dont need to rescale every map that uses load.

I plan on making fuel, ignition and boost maps MAP vs RPM.

Simply Volvo, IMHO you are trying to reinvent the wheel ;)

There are already devices on market which do what you are trying to achieve with your Arduino (for example polish Ecumaster DET3 is capable of MAP to MAF translation after getting proper data using something very similar to your history table) but that is not so important as you are only going to use it temporaily.

If I were to code something like that into ECU I will just try to find Bosch Motronic ECU using MAP sensor as main load source in stock form. AFAIK there were M1.5.4 used in Ford/Mazda which depending on engine used were using MAP or MAF. I have not disassembled that code but checked how MAP linearisation looked in those MAP based ECUs - it was still like a MAF linearisation curve (256 16 bit values written same way as in M2.8.1/M4.3/M4.4). To simplify your work I would just try to reuse Bosch load calculation code as it seems it is well tested and might be just more efficient (you will not have to recalculate pressure into air mass which is further recalculated into load).

You can find M1.5.4 bins I was taking about here - Mazda 1.4 engine and here - Ford 1.3 engine. Both are 8051 microcontroller based, so should be quite easy to transfer load calculation into M4.4.

I have to admit I am still against removing MAF sensor from daily driven car as MAP will make it much more lambda correction dependent.

Perhaps it would be better to move to HFM5 MAF (which requires 5V reference voltage supply), those have higher measurement capabilities. The only downside is you are loosing 0-1V range as HFM5 measures reverse flow in that range. If you are sure about exact Infineon controller used in M4.4 you can always try to use 0,9625 as lower reference voltage for MAF ADC but it seems newer 8051 derivatives does not allow changing reference voltage in code (at least Infineon C517A user manual state's so).

  • Upvote 1
Link to comment
Share on other sites

Nice! Be interested in seeing how it plays out, especially over a wide range of load and ambient temps. 

You are going to keep the 12.24ms load table though? That doesn't make much sense since you will be maxing that out very early on.

Well fueling, ignition and boost would use MAP vs RPM, so I wouldn't need to rescale load table. Since the fueling is based on 16 bit load which doeskin max till quite high number (90 ms I think), I wouldn't need to.

Simply Volvo, IMHO you are trying to reinvent the wheel ;)

There are already devices on market which do what you are trying to achieve with your Arduino (for example polish Ecumaster DET3 is capable of MAP to MAF translation after getting proper data using something very similar to your history table) but that is not so important as you are only going to use it temporaily.

If I were to code something like that into ECU I will just try to find Bosch Motronic ECU using MAP sensor as main load source in stock form. AFAIK there were M1.5.4 used in Ford/Mazda which depending on engine used were using MAP or MAF. I have not disassembled that code but checked how MAP linearisation looked in those MAP based ECUs - it was still like a MAF linearisation curve (256 16 bit values written same way as in M2.8.1/M4.3/M4.4). To simplify your work I would just try to reuse Bosch load calculation code as it seems it is well tested and might be just more efficient (you will not have to recalculate pressure into air mass which is further recalculated into load).

You can find M1.5.4 bins I was taking about here - Mazda 1.4 engine and here - Ford 1.3 engine. Both are 8051 microcontroller based, so should be quite easy to transfer load calculation into M4.4.

I have to admit I am still against removing MAF sensor from daily driven car as MAP will make it much more lambda correction dependent.

Perhaps it would be better to move to HFM5 MAF (which requires 5V reference voltage supply), those have higher measurement capabilities. The only downside is you are loosing 0-1V range as HFM5 measures reverse flow in that range. If you are sure about exact Infineon controller used in M4.4 you can always try to use 0,9625 as lower reference voltage for MAF ADC but it seems newer 8051 derivatives does not allow changing reference voltage in code (at least Infineon C517A user manual state's so).

Very interesting, thank you for the references. Time to do some disassembling.

Link to comment
Share on other sites

Really nice work on the speed density, certainly from a mathematical and programming point of view !!

But I'am not really sure about the necessity of it though.

The 16 bit resolution of the normal MAF routine is more then sufficient enough for a bigger  MAF, even a 5" OD MAF would not give any problems I guess. 

Edited by Piet
Link to comment
Share on other sites

Really nice work on the speed density, certainly from a mathematical and programming point of view !!

But I'am not really sure about the necessity of it though.

The 16 bit resolution of the normal MAF routine is more then sufficient enough for a bigger  MAF, even a 5" OD MAF would not give any problems I guess. 

For a 5in OD MAF, I used the multiplier of 3.8. This gave about 2-3 kg/hr per .0196V. That doesnt seem too bad. I think with a higher idle (due to cams and big injectors), the low end resolution wont cause too much of a problem.

Maybe Ill give it a try then, before I go through all of the extensive work of converting to speed density.

The 5in OD will support 3100+ KG/HR or 110 lb/min, which i think should be plenty for my goals.

Link to comment
Share on other sites

Yeah, with a 4.5" OD, that wil be someting like 4.25" ID, you will be needing  a conversionfactor of 3.2 which means already a support of 2650 kg/hr.

With a 4.5" ID a conversionfactor of 3.5 which means a support of 2895 kg/hr.

5" ID will need a conversionfactor of 4.13;

5" OD will be something like 4.75"ID wihich mean a conversion factor of 3.8, like you already mentioned, supporting 3140 kg/hr.

 

Hussein gets a load  of near 17ms and still doesn't max out his 4" OD (3.75" ID) MAF supporting 2124 kg/hr , he must be well over 500hp to my estimation.

So I guess a 4.25" ID MAF will support 600++hp and a 4.5" ID 700hp. A 5" OD (4.75" ID) could even support something near 750hp

 

I dont't think loss of resolution in the lower regions will even be noticeable with a 2-3 kh/hr per voltage step,  and if it does you can always rescale the MAF curve in that region.

 

 

Besides speeddensity you won't get a better resolution in the end.

I won't go through all the work of creating a speed density system, although it would yield a very interesting piece of code though :)

Edited by Piet
Link to comment
Share on other sites

IMHO it might be wiser to just rewrite MAF ADC function to use full 10 bit resolution for low values and place additional translation curve for that (for example for 0-1,25V range additional 255 values for better resolution). If M4.4 is in fact based on SAB80C517A/83C517A microcontroller it should be capable of 10 bit ADC... For example my M2.8.1 does use 10 bit resolution for some channels in stock form.

  • Upvote 1
Link to comment
Share on other sites

IMHO it might be wiser to just rewrite MAF ADC function to use full 10 bit resolution for low values and place additional translation curve for that (for example for 0-1,25V range additional 255 values for better resolution). If M4.4 is in fact based on SAB80C517A/83C517A microcontroller it should be capable of 10 bit ADC... For example my M2.8.1 does use 10 bit resolution for some channels in stock form.

Ah yes. Didn't even notice that...

According to the data sheet...

The MCU has two reigsters for the ADC, a high and low byte.

ADDATH(D9) and ADDATL (DA).

The other two bits are in ADDATL (DA).

Great info...

My only concern is how would I go from a lower resolution to a higher resolution curve without physically testing the flow data.

I should be able to calculate the polynomial equation in excel and then just plugin in voltage values to get air flow...

I think piet saying its probably a 3rd or 4th order polynomial.

EDIT ok found the equation of a 6th polynomial for the stock curve. I then used 10 bit adc reoslution in .0048 steps and plugged it in, this gave me my new curve in .0048 resolution. I then multiplied that curve by 3.8 for a 5in OD housing. Then converted to .125 steps. Resolution is a lot better... Did i do that correct?

Edited by Simply Volvo
Link to comment
Share on other sites

(...)

My only concern is how would I go from a lower resolution to a higher resolution curve without physically testing the flow data.

I should be able to calculate the polynomial equation in excel and then just plugin in voltage values to get air flow...

I think piet saying its probably a 3rd or 4th order polynomial.

I know it is simplification but you already take some data and multiply it by a constant when moving into bigger housing. I would just use source data to work out values for that higher resolution area as we already do some rounding (for example when writing data as 16 bit integer value). To be honest if you check what your ECU does with those values you will find it is rounding them further. I have not browsed M4.3/M4.4 code but knowing how Bosch reuse their code I suspect it is done similarly as in M2.8.1 where MAF reading is averaged from 2 subsequent ADC conversions for example. I am quite sure load calculation code does some rounding also (I am just working on that part of code in M2.8.1).

It might be good to check what values you will get from that polynomial equation and how would they compare with same data written as 16 bit integer - it might be just too much hassle to calculate many of them as after rounding they might end very similar to just simply linearly interpolated values. Or maybe Piet could do some tests with 2 sensors connected (one in smaller housing to have higher resolution, and other in much bigger one) in the area where bigger would measure up to 1,25V?

Edited by tjwasiak
Link to comment
Share on other sites

In the M4.3/M4.4 The MAF reading also is averaged from subsequent readings.

 

Can  the resolution of the MAF reading be changed from 8 bits into 10 bits ?: ..sure.

Is it interesting to code this?: of course

Will it be usefull?.... I don't think so...

 

It's not a linear function, so stating that the resolution is 2-3 kg/hr per .0196 volt is not entirely correct.

Where resolution counts the most, at lower MAF voltages, the resolution intrinsically already is quite high, much better then  2-3 kg/hr per .0196::

mafcurves.jpg

Up to 1 volt there isn't that much resolution loss anyway, even  with a much bigger diameter MAF.  

Up to 2 volt there  still will be only a moderate loss in resolution.

Changing MAF measurement from 8 bit to 10 bit doesn't have that much of an influence in that area.

At higher voltage a better resolution just isn't that important.

Just stick to the code as  is, only  convert the MAF table with the specific conversionfactor for the  ID of the MAF and you will be fine.

 

Edited by Piet
Link to comment
Share on other sites

On 6/22/2015 at 2:59 PM, lookforjoe said:

If you mean the greens, it's in the Wikia  - listed @ 3bar. The higher cc rating is for the ME7 3.8bar base

Sorry, these Bosch injectors are off the Vauxhall/Opel VXR range (here in the UK) and flow 443cc at 3 bar and are blue.  I'm sure there were some values in this thread somewhere but I have searched and come up with nothing (366 pages is a lot of info)

Unfortunately I can't find a data sheet for them with some basic values.

Edited by Dangerous Dave
spelling
Link to comment
Share on other sites

Sorry, these Bosch injectors are off the Vauxhall/Opel VXR range (here in the UK) and flow 470cc at 3 bar and are blue.  I'm sure there were some values in this thread somewhere but I have searched and come up with nothing (366 pages is a lot of info)

Unfortunately I can't find a data sheet for them with some basic values.

TVUB data from Z20LEH ECU:

 6.95V 10.01V 11.99V 14.03V 16.00V
 2.432  1.220  0.892  0.644  0.484

 

  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share