Page 1 of 2

taking advantage of higher injector pulse width resolution

Posted: Tue May 23, 2006 6:37 pm
by pickett
I've reached a point in tuning some parts of my VE map where integer changes either put me richer or leaner than I want to be. Are there any "best practices" for taking advantage of the MSII's higher inector pulse width resolution to get finer control? Perhaps something to do with altering the required fuel and transforming the VE table? It would be nice to be able to get the equivalent of decimal levels of precision. Anyone already figured this out?

Thanks,
Mike

Posted: Wed May 24, 2006 4:31 pm
by bluetrepidation
The only way I know of is to decrease the range between your MAP and RPM bins in that area. Unless you're talking about changing a point the engine is operating right on top of?

A.J.

Posted: Wed May 24, 2006 6:54 pm
by pickett
Alright. So I've figured it out and it works! Here's how it works.

The Problem
The VE table needs numbers without decimals (0-255). At times, the level of precision can lead to a situation where even if you only change a cell value by "1", you run lean or rich. If you are running a MS I board, you have to live with it. However, MSII is capable of lot more precision on the pulse width outputs. The problem is how to adjust your configuration to give the maximum amount of sensitivity to your VE table.

The Process
- Tune your VE table so you have conservative air fuel ratios at the risky points (high RPM, high boost, high output)
- Find the maximum VE table value that is a likely value (for example, my redline is 6500 RPM and I needed a VE table value of 135 at 1.1 bar boost to have an AFR of 11.00. I rounded up to a maximum usuable table value of 140.
- Divide the maximum usable VE table value by 255 (the maximum VE entry allowable) to get the adjustment value. In my case that was 140/255 = .54902
- Multiply your current Required Fuel value by the adjustment value to get the new ReqFuel. In my case, my initial ReqFuel was 7. The new ReqFuel was 7*.54902 = 3.843137255
- Round up to the next highest 10th to get the new ReqFuel value. In my case, that meant 3.9.
- Load your current .MSQ file in MegaTune and go to the Tables => VE Table option. On the VE table, click on Tools => VE Specific => Reset ReqFuel.
- Enter the calculated new ReqFuel in the appropriate field, click the Reset ReqFuel in constants checkbox, and click the OK button.
- This will rebuild your VE table to give you the maximum sensitivity and will reset your Required Fuel value.
- Your car should run fairly close to the way it ran before the conversion, but because of the higher level of precision, you will find that a few areas of the map will need to be tweaked again.
- You'll find that you have a lot more control over the areas of the map that were difficult to set before.

My particular application is a Porsche turbo 3.3 litre twin-plugged engine.
Mike

taking advantage of higher injector pulse width resolution

Posted: Wed May 24, 2006 7:07 pm
by rb26dett
good info to have.

On 5/25/06, pickett <michael@pickettweb.com> wrote:
>
>
>
> Alright. So I've figured it out and it works! Here's how it works.
>
> The Problem
> The VE table needs numbers without decimals (0-255). At times, the level of
> precision can lead to a situation where even if you only change a cell value
> by "1", you run lean or rich. If you are running a MS I board, you have to
> live with it. However, MSII is capable of lot more precision on the pulse
> width outputs. The problem is how to adjust your configuration to give the
> maximum amount of sensitivity to your VE table.
>
> The Process
> - Tune your VE table so you have conservative air fuel ratios at the risky
> points (high RPM, high boost, high output)
> - Find the maximum VE table value that is a likely value (for example, my
> redline is 6500 RPM and I needed a VE table value of 135 at 1.1 bar boost to
> have an AFR of 11.00. I rounded up to a maximum usuable table value of 140.
> - Divide the maximum usable VE table value by 255 (the maximum VE entry
> allowable) to get the adjustment value. In my case that was 140/255 = .54902
> - Multiply your current Required Fuel value by the adjustment value to get
> the new ReqFuel. In my case, my initial ReqFuel was 7. The new ReqFuel was
> 7*.54902 = 3.843137255
> - Round up to the next highest 10th to get the new ReqFuel value. In my
> case, that meant 3.9.
> - Load your current .MSQ file in MegaTune and go to the Tables => VE Table
> option. On the VE table, click on Tools => VE Specific => Reset ReqFuel.
> - Enter the calculated new ReqFuel in the appropriate field, click the
> Reset ReqFuel in constants checkbox, and click the OK button.
> - This will rebuild your VE table to give you the maximum sensitivity and
> will reset your Required Fuel value.
> - Your car should run fairly close to the way it ran before the conversion,
> but because of the higher level of precision, you will find that a few areas
> of the map will need to be tweaked again.
> - You'll find that you have a lot more control over the areas of the map
> that were difficult to set before.
>
> Mike
>
>
>
> This post is at:
> http://www.msefi.com/viewtopic.php?p=121999#121999
>
>
Posted by email.

Posted: Thu May 25, 2006 4:57 am
by boost junkie
I'm not seeing how changing the req_fuel variable gives you any more precision. Changing your VE by 1% will still have the same effect no matter what your req_fuel variable is set to...

Posted: Thu May 25, 2006 5:09 am
by muythaibxr
boost junkie wrote:I'm not seeing how changing the req_fuel variable gives you any more precision. Changing your VE by 1% will still have the same effect no matter what your req_fuel variable is set to...
With req_fuel of say 9, and VE values of 0-100, you have the ability to make changes that are 1% difference....

With a lower req_fuel, and a VE table adjusted to suit, each adjustment will be finer. Of course you have to have the pulse-width resolution to take advantage of this, but it's a valid way of tuning. Say you cut the req_fuel value in half, making the maximum value on the VE table 200, now you have the ability to adjust fuel by .5%

This method won't help much on the ms1 or msns-extra (standard, not high-res) code because often even a very small ve change will still result in a .1 ms difference...

Posted: Thu May 25, 2006 7:47 am
by 78Spit1500Fed
Why don't we just ask the developers to allow decimals to be put in those fields?

-Brian

Posted: Thu May 25, 2006 8:29 am
by muythaibxr
Those values are 8 bit integers in the code as far as I know, which means 0-255 with no decimals.

They could be made into 16-bit values, and stored as VE *10 or ve *100 or something like that on the MS, but it would take a lot more development effort than it's worth.

It's much easier to just change req_fuel, and scale the VE table to suit.

Posted: Thu May 25, 2006 8:47 am
by boost junkie
Hrm... the math proves it!

Lets say the engine likes 1.5ms pulse width at a 40kpa idle

With a REQ_FUEL of 9, the difference between 13 & 14 % VE is:
pw = 9 * (13/100) * (40/100) + 1 = 1.468
pw = 9 * (14/100) * (40/100) + 1 = 1.504


With 4.5 REQ_FUEL we have twice the resolution!
pw = 4.5 * (26/100) * (40/100) + 1 = 1.468
pw = 4.5 * (27/100) * (40/100) + 1 = 1.486
pw = 4.5 * (28/100) * (40/100) + 1 = 1.504

Posted: Thu May 25, 2006 9:52 am
by lapuwali
So, having req. fuel set as low as possible will give you the best possible resolution.

In the example above, I'd not set the max table value at only 140, but at 240 or thereabouts (give yourself a bit of extra headroom to go above your current "max"), then set your req. fuel down so 240 gives you your max fuel, and you'll have the maximum possible resolution with your engine and injectors.