MS3 Dual Fuel/Flex Fuel Calculations
#1
MS3 Dual Fuel/Flex Fuel Calculations
I am trying to better understand how MS3 handles Dual Fuel and/or Flex Fuel calculations based on the wide array of TS settings.
How I Think It Works
How I Think It Works
Lets start with enabling and configuring flex fuel under Fuel Settings > Fuel Sensor Settings (Flex):
Most of this is fairly straightforward and obvious. Enable FF, use Flex input for sensor and fuel temp, use GM/Continental settings. I'd like to note the Fuel Multiplier here though. This multiplier is a linear scaling between the low and high values that applies to all fueling, similar to req_fuel (it might even apply directly to req_fuel), correct? Timing addition is the same but a fixed addition rather than a multiplier I imagine. Lastly, there is the Dual Fuel Mode which is configured in the Dual Fuel menu, so we will jump to that.
Table Choices > .Table Switch/Dual Fuel:
Table Switching vs Dual Fuel Switching is initially a little confusing, but I'm basically treating the former as a primitive version of the latter (for e85 at least). Using the Blend Curves in Table Switching for fuel and spark tables is the same as using Dual Fuel Mode except you can manually configure separate blend tables for each. Using Dual Fuel allows you to blend more than just fuel and spark tables and includes AFR, Idle, Boost, and AE table blending as well. However, it looks like all of these are blended using the same blend table (8) aside from the boost table (7) which can be configured independently using ethanol% or other vars, correct? In other words, Blend Curve (8) Flex Blend is used for fuel, spark, AFR, WUE, ASE, Cranking, and AE tables?
I really don't know too much about how the Table Switching side of things works though. Enabling some of these, such as fuel and spark, enables separate blending tables as opposed to the single Flex Blend curve used by Dual Fuel. You can also configure req_fuel and stoich switching, maybe for a non-lambda wideband sensor and the blend tables can be configured using axis' other than ethanol content. I am a little curious as to how when and why you'd use this option, but it seems that Dual Fuel should be used for most all flex fuel applications.
Now to tie it all together, final calculations when using Dual Fuel look something like this:
Most of this is fairly straightforward and obvious. Enable FF, use Flex input for sensor and fuel temp, use GM/Continental settings. I'd like to note the Fuel Multiplier here though. This multiplier is a linear scaling between the low and high values that applies to all fueling, similar to req_fuel (it might even apply directly to req_fuel), correct? Timing addition is the same but a fixed addition rather than a multiplier I imagine. Lastly, there is the Dual Fuel Mode which is configured in the Dual Fuel menu, so we will jump to that.
Table Choices > .Table Switch/Dual Fuel:
Table Switching vs Dual Fuel Switching is initially a little confusing, but I'm basically treating the former as a primitive version of the latter (for e85 at least). Using the Blend Curves in Table Switching for fuel and spark tables is the same as using Dual Fuel Mode except you can manually configure separate blend tables for each. Using Dual Fuel allows you to blend more than just fuel and spark tables and includes AFR, Idle, Boost, and AE table blending as well. However, it looks like all of these are blended using the same blend table (8) aside from the boost table (7) which can be configured independently using ethanol% or other vars, correct? In other words, Blend Curve (8) Flex Blend is used for fuel, spark, AFR, WUE, ASE, Cranking, and AE tables?
I really don't know too much about how the Table Switching side of things works though. Enabling some of these, such as fuel and spark, enables separate blending tables as opposed to the single Flex Blend curve used by Dual Fuel. You can also configure req_fuel and stoich switching, maybe for a non-lambda wideband sensor and the blend tables can be configured using axis' other than ethanol content. I am a little curious as to how when and why you'd use this option, but it seems that Dual Fuel should be used for most all flex fuel applications.
Now to tie it all together, final calculations when using Dual Fuel look something like this:
Fuel = (VE1 * (1 - blend8%)) + (VE2 * blend8%) * (lowFuelMult% + (ethanol% * (highFuelMult% - lowFuelMult%))
AKA VE1/VE2 blend via blendCurve(8) * fuelMult based on ethanol%
Spark = (IGN1 * (1 - blend8%)) + (IGN2 * blend8%) + lowTimingAdd + (ethanol% * (highTimingAdd - lowTimingAdd)
AKA IGN1/IGN2 blend via blendCurve(8) + timingAdd based on ethanol%
Boost Duty = (boost1 * (1 - blend6%)) + (boost2 * blend6%)
AKA boost1/boost2 blend via blendCurve(6) ! notice different blend curve, can mirror ethanol% !
Everything else = (table1 * (1 - blend8%)) + (table2 * blend8%)
AKA table1/table2 blend via blendCurve(8)
Is all of this info correct? I've gathered this understanding from quite a few forum posts, data sheets, and tutorials so I can't really verify if this is actually how all of this works.
#2
Tweaking Enginerd
iTrader: (2)
Join Date: Mar 2013
Location: Boulder, CO
Posts: 1,778
Total Cats: 359
Looks like you are heading down the right path. Unfortunately, I don't really have time these days for detailed replies. Couple things I can say right off the top... the different blend options are tied into options across the entire platform and it takes a bit of playing around to figure out what enables what and what gives you conflicts. For example TS will grey out an ON setting when you enable a different blend option in another menu. The developers messed up with the x-axis in the startup options (ASE/WUE) for tables 2, they both use the same axis. This can be an easily missed gotcha.
Getting 4 table blends with an RPM or load switch and Flex for VE and IGN is tricky
Getting 4 table blends with an RPM or load switch and Flex for VE and IGN is tricky
#3
I'm sure you have figured this out by now but in case anyone else comes across this and needs clarity like i also did...
Dual fual is literally using 2 fuels at the same time, ie meth. It activates VE3 and Spark 2.
Where you would want to do proper flex tuning is either in the main menu of flex by blanket adding percentage fuel and ign adv. for 0% and 100% and then blending. The other option is setting those to zero, going into general settings, activate secondary fuel load and/or secondary ignition load and set use blend curve. It give you full control over everything you could ever need. You can do the same for having blended AFR tables, boost tables, and crank trims the same way.
Just dont forget to set your load axis for those tables to Flex%
Dual fual is literally using 2 fuels at the same time, ie meth. It activates VE3 and Spark 2.
Where you would want to do proper flex tuning is either in the main menu of flex by blanket adding percentage fuel and ign adv. for 0% and 100% and then blending. The other option is setting those to zero, going into general settings, activate secondary fuel load and/or secondary ignition load and set use blend curve. It give you full control over everything you could ever need. You can do the same for having blended AFR tables, boost tables, and crank trims the same way.
Just dont forget to set your load axis for those tables to Flex%
Thread
Thread Starter
Forum
Replies
Last Post