Absolute Fuel Rail Pressure Settings

It's all about the code!
Post Reply
R3VM3UP
Posts: 3
Joined: Sat Oct 12, 2019 3:32 pm

Absolute Fuel Rail Pressure Settings

Post by R3VM3UP »

I'm looking for some clarification on how to properly set fuel rail pressure for a vehicle that does not have a manifold vacuum referenced fuel pressure regulator. The vehicle is an NB Miata, which has a pressure regulator at the fuel tank that provides a constant 60 PSI (413.7 kPa) of pressure W.R.T. barometric pressure. Assuming a typical barometric pressure of 14.7 PSI or 101 kPa around sea level, that results in a constant absolute fuel rail pressure of 515kPa.

Of course what we actually care about for calculating injector flow rate is the DELTA pressure across the fuel injector, I.E. (fuel rail absolute pressure)-(intake manifold absolute pressure). On a typical return style fuel system the delta pressure across the injector is held constant at all operating conditions because the fuel pressure regulator is referenced to manifold pressure via vacuum line. On a system like the NB miata with a fixed absolute pressure, the delta pressure across the injector (and therefore the injector flow rate) will change as intake manifold pressure changes, and this change in flow rate needs to be accounted for in the control software.

It appears that newer releases of the RusEFI software may have this capability built in already but while helping a friend of mine with his NB turbo build we have been having trouble getting this to work correctly. In the fuel rail part of the base engine settings there is a true/false option for 'Absolute Fuel Pressure'. Presumably this should be set to 'true' for a system like the one in the NB Miata. I would assume fuel pressure should then be set to 515 kPa, which is the constant absolute fuel pressure. The other key setting would be the fuel injector flow rate in cc/min in the injection settings. My assumption would be that this should be set to the flow rate of the injector at a delta pressure across the injector of (absolute rail pressure)-(baro pressure), so in the case of the NB Miata that would mean 60 PSI or 413.7 kPa. None of this is explicitly mentioned in the documentation so I'm hoping someone here can help.

However, we tried these settings and the result is that we had to put unreasonably high values in the VE table at idle in order to hit the target AFR, so either something is wrong with our settings, or the logic to dynamically calculate injector flow rate on an absolute rail pressure system has not been implemented in the software. In fact, I tried searching through the source code to find where this calculation was computed, and I could not seem to find it. The closest I could find was the variable called 'injector.flow' but I could not find how that is defined. Could someone point me to where the injector flow rate is computed?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Absolute Fuel Rail Pressure Settings

Post by AndreyB »

We do not have such a setting - this is known issue https://github.com/rusefi/rusefi/issues/954

Good news is that flow error is only 16% max with natural aspirated and pretty much your VE table would account for that. Only place where it matters is acceleration enrichment - but again, only 16% error on NB2.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
R3VM3UP
Posts: 3
Joined: Sat Oct 12, 2019 3:32 pm

Re: Absolute Fuel Rail Pressure Settings

Post by R3VM3UP »

Yes, that is a good reference link. I'm familiar with the math and actually put together a spreadsheet to calculate it, it's fairly simple. I think this could be easily added as a multiplier to the injector flow rate in the code. Default value if absolute rail pressure is not selected would be 1, so the math would be unchanged for a return style fuel system. If absolute rail pressure was selected a multiplier would be calculated based on delta pressure across the injector by referencing the calibrated fuel rail pressure and the MAP at the current operating conditions.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Absolute Fuel Rail Pressure Settings

Post by AndreyB »

one day someone might make code change. when and who is an open question :(
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
R3VM3UP
Posts: 3
Joined: Sat Oct 12, 2019 3:32 pm

Re: Absolute Fuel Rail Pressure Settings

Post by R3VM3UP »

Okay, maybe I need to try my hand at getting things set up to compile so I can give it a try myself.
mck1117
running engine in first post
running engine in first post
Posts: 1493
Joined: Mon Jan 30, 2017 2:05 am
Location: Seattle-ish

Re: Absolute Fuel Rail Pressure Settings

Post by mck1117 »

This feature is now implemented, and will be included in the next release!
tmbryhn
Posts: 169
Joined: Wed Feb 12, 2020 2:40 am
Location: Norway

Re: Absolute Fuel Rail Pressure Settings

Post by tmbryhn »

Great addition to the set of features!

I just downloaded the latest release (generated for Proteus). It indeed has the option for "Absolute Fuel Pressure" included, but the "Fuel Rail Pressure" input seems to be a fixed value.

Is it on the To do list to have dynamic pressure reading as an optional part of the fueling model?
mk e
Posts: 486
Joined: Tue Dec 06, 2016 7:32 pm

Re: Absolute Fuel Rail Pressure Settings

Post by mk e »

For a long time I was a believer that the VE table, and all the tables really are effectively error tables so everything works out in the end and no real need to worry too much about little detains, tuning the table takes care of it. If simple math would give the right answer then an equation is the answer, if not a table is needed.....and I'm still pretty sure that's true but I've also come to realize equations work in a lot fewer places than I once believed and injector flow is on that list. I've also come to understand that the few number of systemic errors you start with the better the final tune will be and the easier it will be to achieve.

I implemented the GM injector flow strategy, at least the best I could understand it from looking at the tables they use. I think all the OEMs use a version of this but to me this seemed the cleanest.

There is a table for injector flow vs differential pressure...simple enough. I guess you could get close with math at least for small changes but the table covers a large range....I had a fuel pump failing and didn't realize because it was compensated for.

The big 2D table is dead time (17x33)....which is a function of Vbat and differential pressure and as you can see it changes a LOT. Dead time is NOTHING like a constant. This gets you the right amount of fuel during cranking or low Vbat condition, on/off the throttle....its pretty important.

Then compensation for the non-linear flow region....this lets you use a single set of large injectors and still idle correctly. I had to work directly with the ECU manufacture to get support for this added. They have a bunch of library type items and couldn't understand why I wasn't using them....we talked through the different OEM methods for short pulse correction and settled on something that seems to work well and is pretty flexible.

Its described here....it also included the logic for staged injection which I've seen discussed in a couple places too:
https://enginelab.net/documentation/#Lambda_Staged_Fuel_System
Attachments
fuel.JPG
fuel.JPG (244.05 KiB) Viewed 10399 times
tmbryhn
Posts: 169
Joined: Wed Feb 12, 2020 2:40 am
Location: Norway

Re: Absolute Fuel Rail Pressure Settings

Post by tmbryhn »

mk e wrote:
Fri Nov 27, 2020 2:49 pm
For a long time I was a believer that the VE table, and all the tables really are effectively error tables so everything works out in the end and no real need to worry too much about little detains, tuning the table takes care of it. If simple math would give the right answer then an equation is the answer, if not a table is needed.....and I'm still pretty sure that's true but I've also come to realize equations work in a lot fewer places than I once believed and injector flow is on that list. I've also come to understand that the few number of systemic errors you start with the better the final tune will be and the easier it will be to achieve.
Thanks for a nice reply.
Indeed. I strongly believe that the precise reading of MAT, MAP, BARO and pressure delta across injector along with proper injector dead time compensations is especially important to limit these errors as final PW is calculated.
mk e wrote:
Fri Nov 27, 2020 2:49 pm
I implemented the GM injector flow strategy, at least the best I could understand it from looking at the tables they use. I think all the OEMs use a version of this but to me this seemed the cleanest.
Where did you implement this? Is this something you're currently working on that at some point might be part of the official RusEFi release?
mk e wrote:
Fri Nov 27, 2020 2:49 pm
There is a table for injector flow vs differential pressure...simple enough. I guess you could get close with math at least for small changes but the table covers a large range....I had a fuel pump failing and didn't realize because it was compensated for.
My thought was to simplifying this to a degree like you stated above by implementing the equation for flow rate approximation based on a given pressure deviation from factory rating. I believe that some correction is better than no correction.
mk e wrote:
Fri Nov 27, 2020 2:49 pm
The big 2D table is dead time (17x33)....which is a function of Vbat and differential pressure and as you can see it changes a LOT. Dead time is NOTHING like a constant. This gets you the right amount of fuel during cranking or low Vbat condition, on/off the throttle....its pretty important.
I couldn't agree more on this statement. I'm however still curious if this way of compensating is something we'll see on an official release?

On a relevant note: I've made a simple model that calculates and plots the deadtime as a function of Batt_V on my homemade injector test bench by measuring flow rates with locked DC% and variable voltage. The model predicts well and the calculated dead time figures gives excellent repeatability when confirming the numbers with any given DC% (within the linear range of course) across a fairly normal voltage range (say from 9-15V).
To further implement the same concept as a function of pressure in order to get the additional axis for a 2D compensation table (Batt_V and press. diff) as apposed to the current 1D table that only takes Batt_V into account, would be the next logical stage to my model and would be interesting to do if this kind of compensation were to be implemented on an official release.
My injector test bench already has the adjustable pressure regulator and pressure sensor.
mk e wrote:
Fri Nov 27, 2020 2:49 pm
Its described here....it also included the logic for staged injection which I've seen discussed in a couple places too:
https://enginelab.net/documentation/#Lambda_Staged_Fuel_System
My engine actually already has the staged hardware implemented (primay port injectors + secondary top shots), so I'm on the fence for this feature to be implemented so I can start testing :)
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Absolute Fuel Rail Pressure Settings

Post by AndreyB »

Nov 11: "will be in next release"
As of right now current release is "Oct 11" https://github.com/rusefi/rusefi/releases/tag/2020.10.11

Let me clarify: Oct 11 is _before_ Nov 11.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
tmbryhn
Posts: 169
Joined: Wed Feb 12, 2020 2:40 am
Location: Norway

Re: Absolute Fuel Rail Pressure Settings

Post by tmbryhn »

AndreyB wrote:
Fri Nov 27, 2020 6:11 pm
Nov 11: "will be in next release"
As of right now current release is "Oct 11" https://github.com/rusefi/rusefi/releases/tag/2020.10.11

Let me clarify: Oct 11 is _before_ Nov 11.
Thanks, I wasn't aware of this particular release page. Still learning how to navigate the github.
I'll subscribe and will keep my eyes open. Looking forward to check it out.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Absolute Fuel Rail Pressure Settings

Post by AndreyB »

tmbryhn wrote:
Fri Nov 27, 2020 6:22 pm
Thanks, I wasn't aware of this particular release page.
We have a usability issue :( https://github.com/rusefi/rusefi_documentation/issues/109
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
mk e
Posts: 486
Joined: Tue Dec 06, 2016 7:32 pm

Re: Absolute Fuel Rail Pressure Settings

Post by mk e »

tmbryhn wrote:
Fri Nov 27, 2020 4:49 pm
Where did you implement this? Is this something you're currently working on that at some point might be part of the official RusEFi release?

Different ECU. I'm not a programmer so I need a higher level OS to do anything, just sharing the logic.
Post Reply