RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Tue Dec 23, 2025 11:06 am

All times are UTC - 5 hours [ DST ]





Post new topic Reply to topic  [ 93 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  Next
Author Message
 Post subject: Fuel map tuning methods
PostPosted: Mon Jul 31, 2017 3:29 am 
Offline
Senior Member

Joined: Mon May 18, 2015 8:14 am
Posts: 1042
Location: Oulu, Finland (English/Finnish)
Maybe people could post their fuel map tuning methods to help out others. Especially some beginners who have just got into this.

With stock injectors I normally leave the base fuel tables untouched. They work really well with stock injectors and close to stock engine. I only play around with the WOT enrichment table to optimize the engine.

But then with bigger injectors in turbo engine for example or in e85 conversion I have figured out this process for tuning the fuel map:

1. Calculate preliminary fuel map just by multiplying the base fuel map by the flow ratio of the new and stock injectors. For example the stock b28 flow about 220cc and you have 440cc new injectors: 220/440 = 0.5. So you need to multiply the base fuel map by that 0.5. If you want to run e85 multiply the fuel map by 1.4 after that. Remember also to multiply the cranking maps. If you are unsure about your fuel injector flow rates, you can change the lambda integrator limits to +/- 50% to make the step 4 to work.

2. Zero out the "Fuel Injection - Base - Vanos Correction" and "COP - Fuel Enrichment - Nominal" maps. This disables these features from distracting the fuel map tuning. You could also disable the cat heating tables but those have no effect on the this.

3. Disable the WOT enrichment feature by putting 120% to whole "Detection - WOT" -map. This will make the engine run in closed loop for 90% of the time. If you run regular pump gas, you could drop the ignition advance from higher loads to prevent knock. After first log you can restore the previous map.

4. Go make a long logging route with various loads. More you can get different loads on the log the better. No fast throttle movements to prevent acceleration and deceleration maps to interfere the injector PW. You could even drive against brake to get high loads for longer time than in regular acceleration.

5. Open the log you made in megalogviewer and do "Scatter Plot" so that the X-axle has engine load and Y-axle has injector PW. And then "hits" as Z-axle. The result should look like straight line as you can see here:
Image
But if you MAF scaling is off the result will not be straight line. It will be more like curve. In that case you could look you MAF scaling but it's not necessary. The next step will be just more complicated if the result is not straight line.

6. From the low end of the line take one point from the middle of some cluster of points. For example load 85 and IPW 1.30 in this case. Then second point from higher loads (525/7.7) This also needs to be from the middle of one cluster of points. Put the numbers you got to excel sheet, do X-Y scatter and add linear trendline with equation. The trendline represents the line you could see in the megalogviewer also. Result should look like this:
Image
If the line wasn't straight in megalogviewer then you need to take several points from the X-Y scatter to excel. More point is better. And then choose Logarithmic trendline in excel.

7. Copy the previous base fuel map to the excel and now use the equation you got to calculate every column using the corresponding load as the X in the equation. Like this:
Image
Don't worry about the RPM. And if you are working with turbo car, now it's good time to rescale the load axis so that the highest load on the map is 1024 mg/st. Currently the higher loads won't work.

8. Once you have applied the equation to every cell, copy the map back to RomRaider and add little bit of PW to the sub-idle RPM row to make that richer. This will help if the RPMs will drop below idle for some reason. And the result should look like this.
Image

And congratulations. Now you have tuned your fuel map to work on your setup. Without spending lots of time and even without wideband lambdasensor. You could test your map doing the same logging route again and see how the lambda integrator works. Remember to clear adaptations before doing that. The integrator should now stay within +/- 5% in steady loads. You can do some fine tuning if it doesn't but the fuel map should be close enough to use even without fine tuning.

9. After fine tuning you can now enable the WOT enrichment by editing the "Detection WOT" map. Something like 50% tps thresold is ok for N/A but for turbo you may need to go low as 30% threshold to make the enrichment work all the time when on boost.

10. Last step is to adjust the the WOT enrichment to the AFR you want to run on high loads by adjusting the "Fuel injection - WOT enrichment". Here i have graph that shows what enrichment % represents which AFR:
Image

And instead of steps 9 and 10 you could leave the WOT enrichment disabled and add the enrichment to the main fuel table also. For example just by multiplying higher load values by 1.1 for 10% enrichment etc. But I haven't found clear way to control if the engine is at closed or open loop. So if the engine is still at closed loop when entering the richer area of the map, it will make the short term fuel trims go wrong. If there would be load limit for closed loop this would work much better. But If you plan running the engine entirely on open loop, then it's not a problem.


Last edited by pazi88 on Fri Sep 07, 2018 7:43 am, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Mon Jul 31, 2017 10:09 pm 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 980
Very useful information. Probably would have been useful for me back in the day.
I ended up creating excel sheets to count how many times a set IPW value was hit across load and RPM points and adjusted cell by cell.

i tried using MLVs version of that but found it innacurate as it only rounds to 2 decimal places which in my low load areas could have rather drastic effects at low IPW.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Tue Aug 01, 2017 2:23 pm 
Offline
Senior Member

Joined: Wed Jan 22, 2014 6:54 pm
Posts: 1773
Nice. I've always wanted to do this. It'll be interesting to compare methods and perhaps we can start a ignition timing thread too.

Here's a rough step-by-step of what I do.

Disclaimer: adjust fuel at your own risk. This method worked for me but may not work for others. You can cause catastrophic damage if adjusting improperly.

I've found MLV to be essential in this process.

I start with the stock fuel table and set my axis. I interpolate the stock values for my new axis.
If you run stock injectors, you can skip the dead time and scaling steps.
I also 00 out the WOT enrichment and vanos correction tables as I run fuel table only. This is a personal preference.

I find the dead time on the Internet for the appropriate fuel pressure and set that. I do the scaling method shown by pazi = stock ipw(old flow rate/new flow rate). This helps sort of get close but is no where near perfect as latency is different between injectors. I do this for the cranking fuel maps as well.
If I experience weird dips and surging immediately after start, I manually adjust with the cranking fuel tables to get a solid start. I find the above method usually makes things a bit too rich.

I then 00h out the maximum temperature for lambda adaptations so that there will only be STFT and LTFT will be disabled.
Log idle for several minutes (gauge this based on how well it is idling)

I then load my log into MLV and go to the histogram/table viewer. You will need to manually set your axis points. I always set a filter to filter out transient conditions. I use the following but there might be a more ideal method:
Code:
(abs([* Engine Speed] - [* Engine Speed-4]) > ([* Engine Speed] * 0.10) ) || (abs([* Throttle Position] - [* Throttle Position-4]) > 5 )  || (abs([* Engine Load] - [* Engine Load-4]) > ([* Engine Load] * 0.15) ) 


Then I set lambda integrator as the Z axis and I get the following:
Attachment:
mlv_idle.png

Sorry for people using 2 banks. You will need to average your two fuel trim banks in your log before loading it into MLV.

Now I can see my fuel trims for each cell on my fuel table.
I don't worry about the lowest RPM row. I manually fill that in with the same value as 850.

I have a spreadsheet set up that allows me to paste in my current fuel table and then I paste in this table next to it, and it pumps out a new fuel table for me.
Attachment:
fuel_spreadsheet1.png


The formula I use for the multiplier table is x/100+1. This will give the value that the current ipw setting must be multiplied by to get it to what the DME is requesting and if the DME is requesting 0% change or it is a cell that you haven't hit, it will pump out the value of 1 thus not changing the value for that cell.
I then multiply the values in the table on the right with my current fuel table and it will pump out a new fuel table for me.

I repeat this step until I end up at +/- 2% in my logs. It can get tedious.

Once start and idle are all good to go, I use the same method for dialing in idle as i do for part throttle.
Personally I do not use the WOT multiplier map or vanos fuel correction. I do everything in the main fuel table with the other two 00'd out. This is a personal preference.
So I start logging and drive around PT as I usually would. Get lots of data here. The longer the log, the better. Start easy, then get more aggressive as your logs smooth out.

Here's a random log of me part throttling around town
Attachment:
mlv_pt.png


Apologies, I have no idea what I was doing in this log or when it was from so the values may look a bit off. But anyway..I follow the same method as I do with dialing idle in. Drive around, log, apply to spreadsheet, generate new table, rinse, repeat with 1 exception. I set a filter so that it will only display values where lambda integrator is turned on.
Code:
[* Lambda Integrator  Bank 1] = 0.00


Once I'm happy with the part throttle fuel trims being +/- 3ish, I do a compare to my original file and manually fill in the areas that were unachievable. I use best judgement here. I'm sure there's a proper way to go about doing this.

Next comes WOT. And since I don't use the WOT table multiplier..you guessed it- It's similar to my above method with a few changes.

You will obviously need to have a wideband integrated into RR logger.

I leave LTFT disabled because it doesn't really matter for WOT. I disable the primary o2 sensor so that the engine is running off of pure tables and lambda integrator will always be 0. Before this, I made sure all of my values were safe. Use best judgement here.
I go out and log pulls from various TPS >= WOT mode TPS setting all the way to redline. So here we will assume I have WOT enrichment set to 50% tps. This will be when the o2 sensor are turned off in the real world.

Load that log into MLVand I apply the following filter:
Code:
([* Throttle Position] < 50.00) || ([* Lambda Integrator  Bank 1] != 0.00)


Attachment:
mlv_wot.png


I have another spreadsheet set up similar to my part throttle spreadsheet but with some changes.
I paste my current fuel table. Paste my MLV WOT table output. I create a table with my desired AFR. It then calculates a parts fuel table and a multiplier table based on reported parts fuel and my desired AFR. It then multiplies my current fuel table by the multiplier table which gives me my new fuel table. I repeat this method until I am comfortable with the wideband reported readings.
Attachment:
fuel_wot1.png

Attachment:
fuel_wot2.png


Then multiple fuel table by the above table on the right.

I then re-enable LTFT and primary o2 sensors and the car is good to go fuel-wise.

As far as the values go in my screen shots, both the fuel table and logs are all random from who knows when. I just picked archived files that showed decent data. They are displayed only to show the method I used.


I also want to add that since I'm boosted, I maxed out the final load value and I scale it to dump fuel in the event of over boosting.


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Tue Aug 01, 2017 6:19 pm 
Offline
Experienced

Joined: Wed Oct 21, 2015 2:36 am
Posts: 980
I tried the same method as you busterhax, except rather than using STFT, i used IPW on the z-axis and found it far too inaccurate for my liking. maybe STFT% works better.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Tue Aug 01, 2017 7:13 pm 
Offline
Senior Member

Joined: Wed Jan 22, 2014 6:54 pm
Posts: 1773
ba114 wrote:
I tried the same method as you busterhax, except rather than using STFT, i used IPW on the z-axis and found it far too inaccurate for my liking. maybe STFT% works better.

Lol noooo don't do that. There are far too many things impacting the ipw. Sounds like a nightmare.
The stft method tunes for what the dme wants and works wonders for me.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Wed Aug 02, 2017 2:45 am 
Offline
Senior Member

Joined: Mon May 18, 2015 8:14 am
Posts: 1042
Location: Oulu, Finland (English/Finnish)
Does the MLV histogram show average integrator values there or what? haven't tested or even noticed that feature. Otherwise the busterhax's method seems to be pretty much the same that I used previously. But I just gathered average integrator values from the log by hand to excel sheet. Damn that was slow :D Also it was bit hard to do because I was stupid and didn't zero out the vanos fuel map and kept the adaptations still working. So the the lambda integrator values kept changing from log to log and the process was really slow...

But doing that for while I noticed that the average IPW for certain load was the same every time. From log to log and no matter what the integrator/adaptation values were. So looking at what IPW the engine wants to run on certain load I came up on the method I described. Best thing in the method is that it's really fast and in best case it only requires one logging drive to get fuel map dialed in. I revisited my own car's maps that I did year ago and the whole process took less than one hour :D And the car has never felt better. It was pretty good before but it's now lot more responsive.

ba114 wrote:
i tried using MLVs version of that but found it innacurate as it only rounds to 2 decimal places which in my low load areas could have rather drastic effects at low IPW.


Yeah I was going to say that could you use IPW in the MLV histogram but if that is the case, it can't be done...

EDIT In my MLV the Histogram/table generator is grayed out. I have purchased the license so how do you enable that?
EDIT2 awww I need the HD version...


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Wed Aug 02, 2017 10:59 am 
Offline
Senior Member

Joined: Wed Jan 22, 2014 6:54 pm
Posts: 1773
I'm tuned on extra high fuel pressure right now due to my pump overpowering the stock FPR. Once I throw in an aftermarket FPR and get fuel pressure to where it should be, I'll give your method a shot. I'm also hoping the lower fuel pressure will allow me to have a higher ipw at idle to combat the typical Siemens Deka low ipw issues.

Definitely invest in MLV HD- I believe they will offer a discounted license for people who have already purchased the main product. I believe the histogram averages and also weighs in the axis values for proper interpolation. You can also drag your mouse along your log and it will trace the values on the table. This was especially useful because it gave me a visual for dialing in my axis to the most commonly hit values. I used to do it in excel as well and it worked OK, but this tool is so powerful I wish I had it from the start.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Wed Aug 02, 2017 12:12 pm 
Offline
Newbie

Joined: Fri Mar 06, 2015 1:01 pm
Posts: 36
Excellent thread guys. I guess I've been doing it kinda old school thus far. Steady cruise, analyze average integrator trims and match to fuel table, make adjustments accordingly. Same for WOT pulls. Measured AFR/Desired AFR, then multiply fuel table value.

busterhax wrote:
Here's a rough step-by-step of what I do...


Wow, great method. I can't wait to give this a try. I hope you don't mind I've come up with some excel sheets to mirror what you have described. See attached, I believe these should work.

As for WOT fueling, do you have any trouble with your method and wideband delay? I've experienced a number of instances where an IPW would spike due to entering an untuned area of fuel map, only for the wideband to report the change in measured AFR delayed -- usually on the next sample or two.


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Wed Aug 02, 2017 12:23 pm 
Offline
Senior Member

Joined: Wed Jan 22, 2014 6:54 pm
Posts: 1773
a32guy wrote:
Excellent thread guys. I guess I've been doing it kinda old school thus far. Steady cruise, analyze average integrator trims and match to fuel table, make adjustments accordingly. Same for WOT pulls. Measured AFR/Desired AFR, then multiply fuel table value.

busterhax wrote:
Here's a rough step-by-step of what I do...


Wow, great method. I can't wait to give this a try. I hope you don't mind I've come up with some excel sheets to mirror what you have described. See attached, I believe these should work.

As for WOT fueling, do you have any trouble with your method and wideband delay? I've experienced a number of instances where an IPW would spike due to entering an untuned area of fuel map, only for the wideband to report the change in measured AFR delayed -- usually on the next sample or two.

Neat. I like how you did % change. Will make it easier on the eyes.

I haven't noticed any wideband delay. It probably helps I do the pulls in 3/4th gear with a 2.93 rear end to really slow things down. You will also run into AFR issues as your load/rpm increase to the higher side of the cell as the ECU interpolates toward the untuned cell.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Thu Aug 03, 2017 8:49 am 
Offline
Senior Member

Joined: Mon May 18, 2015 8:14 am
Posts: 1042
Location: Oulu, Finland (English/Finnish)
busterhax wrote:
Definitely invest in MLV HD- I believe they will offer a discounted license for people who have already purchased the main product. I believe the histogram averages and also weighs in the axis values for proper interpolation. You can also drag your mouse along your log and it will trace the values on the table. This was especially useful because it gave me a visual for dialing in my axis to the most commonly hit values. I used to do it in excel as well and it worked OK, but this tool is so powerful I wish I had it from the start.


Already did. It was less than 20USD to upgrade.

I did some quick test with log I found. The log is bit too short and I didn't do any filtering.
Attachment:
fuel.png


And if you compare that to the map I made, it's pretty close. With some filtering and longer log you could just paste the table directly to RR.
Attachment:
old.png


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Thu Aug 03, 2017 9:04 am 
Offline
Senior Member

Joined: Wed Jan 22, 2014 6:54 pm
Posts: 1773
It may work for cruising but I tried it as well and for sure low load/rpm and idle were not happy. The fuel trims were bouncing off the walls causing idle surge.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Fri Aug 04, 2017 1:33 pm 
Offline
Newbie

Joined: Sun Jan 22, 2017 3:43 am
Posts: 44
Very nice job guys. Its nice to make so many fuel changes in only one log and flash event.


I suppose these concepts can be applied to ignition angle tuning as well with some thought.


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Fri Aug 04, 2017 4:07 pm 
Offline
Experienced

Joined: Sun Jul 13, 2014 6:12 pm
Posts: 111
Why don't you guys use this:
viewtopic.php?t=10481

It's free. The only thing it doesn't do is 2D scatter, and you can use Viperdata, also free, to do that. I can't see there's anything in MLV that I can't do using those. It's not limited to 2 dp either :wink:


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Fri Aug 04, 2017 4:52 pm 
Offline
Senior Member

Joined: Wed Jan 22, 2014 6:54 pm
Posts: 1773
Kodename47 wrote:
Why don't you guys use this:
viewtopic.php?t=10481

It's free. The only thing it doesn't do is 2D scatter, and you can use Viperdata, also free, to do that. I can't see there's anything in MLV that I can't do using those. It's not limited to 2 dp either :wink:
Neat. Will check it out


Top
 Profile  
 
 Post subject: Re: Fuel map tuning methods
PostPosted: Sun Sep 10, 2017 11:55 am 
Offline
Experienced

Joined: Mon Oct 17, 2011 1:57 pm
Posts: 260
Location: Sri Lanka
When using MLV i found it Strange how the application refers to cell's in Histogram/Table Generator
when i use log overlay on which cells are referred to when running
as an example when im idling Load is between 50 and 75, engine speed is between 640 and 920
i generated a log with only within that range, but i when i load it in MLV it shows values in cells outside whats in the log, am i missing something on how cells are referred in MS41, i checked it with mafscaling 2.4 it also refers close to whats shown in MLV

Attachment:
MLV.png


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 93 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl