BMW E46 Fanatics Forum banner

1 - 6 of 6 Posts

·
Registered
Joined
·
17 Posts
Discussion Starter #1
Hello all! I am just getting started into learning about ECU tuning. I watched a really good series on Youtube (video at bottom of post) that talked about the general process of tuning. Someday in the far far future I would love to turbo my car (325i) so I am trying to apply what I learned in the video and elsewhere to tuning the MS43. Even if the turbo never happens, it’s at least fun to learn about and could probably be applied to my future cars.

It looks like the first step is to calibrate your MAF table using LTFTs. While in closed loop, he logged his LTFTs per MAF-hz value and then averaged them per MAF-hz. He then used those values to adjust the calculated airflow via the MAF table. Goal was to get the LTFTs close to 0. That way when running in open loop, the ECU knows the correct amount of air coming into the engine since it won’t be using the STFTs and you can clear adaptations at any point without issues since the LTFTs won’t be changing the airflow much.

This led me to dig into my OBD2 data and see if I can see what he was seeing. I don’t have a WBO2 sensor so I wasn’t planning on making any real changes but wanted to make a 64kb tune as-if I was actually going to apply it. This also assumes I have a clean/working MAF and good O2 sensors. What I noticed was that the LTFTs don’t really change and it seems like there’s a single LTFT for the entire MAF range whereas in his video he had different LTFTs per MAF-hz. (Both my LTFTs were around 11.5 which I believe is too high, I assume at 150k miles the O2 sensors are either old or the MAF is dirty. I'll try cleaning the MAF first, but that's for another discussion)

So here are my questions for closed-loop MAF Tuning:
  1. Is there only a single LTFT for the entire MAF range?
  2. Assuming #1 is true, if I wanted to calibrate the MAF table [id_maf_tab] (for example, if I installed the RS4 MAF and also assuming the MAF table on ms4x.net isn’t 100% accurate when used on my engine). Would I log the Mass Airflow, the LTFT, and STFT. Then per Mass Airflow value in the log: Average the STFTs, add the LTFT (assuming it’s the same the entire time, otherwise average as well), then apply this % to the cell in the Mass Airflow table that is closest to the Mass Airflow Value. Rinse and repeat until the LTFT gets close to 0 and the STFTs are getting close to an average of 0.
I haven’t gotten to open-loop MAF tuning but I need a Wideband O2 and I believe I need to modify the fuel enrichment/enleanment tables. Looks like there are a lot on the MS43. Once I get the closed-loop fueling stuff figured out then I’ll post on this tread with my questions :)

Thanks for the help!

https://www.youtube.com/watch?v=u1wzEVwAfJQ
 

·
Registered
'89 e30 m50b32tu
Joined
·
105 Posts
1. Disable LTFT in the tune
2. Tune the MAF table by logging MAF V and STFT and adjust the MAF V by the average STFT for each step. This needs to be a LONG log and make sure there are no drops in kg/hr for higher voltages
ie. 1.2v should not be a lower kg/hr reading that 1.18v
 

·
Registered
Joined
·
544 Posts
Those who don't understand what is going on in the background "tune" the MAF table. In simple terms DON'T TOUCH IT. The MAF table is not there to be tuned, it is a voltage to air mass conversion table. Would you "tune" the engine temp sensor table to fix a cold start issue? Or the intake temp sensor to fix heat soak? The DME uses the MAF to measure engine load and set cam timing, ignition, fuel, port wetting etc. Changing it WILL change everything.

You tune the engine using the load cells in the part load fuel map for closed loop operation and full load map for full load.
 

·
Registered
'89 e30 m50b32tu
Joined
·
105 Posts
Those who don't understand what is going on in the background "tune" the MAF table. In simple terms DON'T TOUCH IT. The MAF table is not there to be tuned, it is a voltage to air mass conversion table. Would you "tune" the engine temp sensor table to fix a cold start issue? Or the intake temp sensor to fix heat soak? The DME uses the MAF to measure engine load and set cam timing, ignition, fuel, port wetting etc. Changing it WILL change everything.

You tune the engine using the load cells in the part load fuel map for closed loop operation and full load map for full load.
Where a scalar for a MAF is not 100% accurate (or not known), there is still the requirement to tune the MAF table. With that being said, it is reliant on having everything correctly tuned (or unchanged).

Otherwise, agree with the above.
 

·
Registered
Joined
·
17 Posts
Discussion Starter #5 (Edited)
Those who don't understand what is going on in the background "tune" the MAF table. In simple terms DON'T TOUCH IT. The MAF table is not there to be tuned, it is a voltage to air mass conversion table. Would you "tune" the engine temp sensor table to fix a cold start issue? Or the intake temp sensor to fix heat soak? The DME uses the MAF to measure engine load and set cam timing, ignition, fuel, port wetting etc. Changing it WILL change everything.

You tune the engine using the load cells in the part load fuel map for closed loop operation and full load map for full load.
Where a scalar for a MAF is not 100% accurate (or not known), there is still the requirement to tune the MAF table. With that being said, it is reliant on having everything correctly tuned (or unchanged).

Otherwise, agree with the above.
Thank you to you both! That makes a lot of sense. I'm looking into the part load tables now (https://www.ms4x.net/index.php?title=Siemens_MS43#Injection). These make more sense. I knew load had to come into play somehow (mg/stroke) but wasn't sure. Now I see why a dyno is required to get a really good tune in order to get different loads that would be hard to get on the street.

So I'm curious, can you calculate very roughly the milliseconds that each cell should be? You know how much air goes in (mg/stroke), so for each mg/stroke you could multiple by 1/14.7 to get the amount of fuel in milligrams you would need. Then using the fuel rate (though probably need to factor in the injector flow curve) you could get the milliseconds it should be open for. Then apply some sort of % factor based on the RPM (so it's shaped somewhat like the stock map). Then from there you would need to do some logging to get a better picture of what parts of the map needs tweaked.

Edit: Found this post that details how to do fuel changes and to see if the MAF map needs modified. Its for ms41 but concepts can be transferred to ms43: http://www.romraider.com/forum/viewtopic.php?f=42&t=13969&start=0
 

·
Registered
Joined
·
544 Posts
The MAF sensor is not a scalar. It is used to measure air mass.

The MAF will give you the kg/hr induction. The DME will give you mg/stk which is mg of air in the cylinder. assuming 14.7 for stoich, you will need 14.7mg of air for every 1mg of fuel. If you have the mass flow rate of a given injector you can do some basic maths.
A 220cc injector is actually calibrated as a set mass flow(around 165g/min). CC is just an easy way for people to understand the "size" of an injector. This flow is at 100%. If you assume 10mSec is 100%, then 50% will give you 5mSec.
165g x 0.5(50%) = 82.5g
82.5g x 14.7 = 1212.75g/min of air or 72.765kg/hr

The only other variable that comes into play is the efficiency of the engine at burning the fuel at a given point. If it is 96%, you will see a rich mixture of 0.96 Lambda.
Using a wideband sensor you can directly measure the exhaust and give a set correction without going through all the maths.
The maths is only needed if you are building a virgin map. You can apply a scalar to the fuel map if you are changing injector size. The BMW DME's have a scalar correction factor built into the code for this. You just need to have the correct injector dead time set.
 
1 - 6 of 6 Posts
Top