Hybrid injection strategy

It's all about the code!
Post Reply
jalava
Posts: 30
Joined: Sat Apr 08, 2017 8:48 pm

Hybrid injection strategy

Post by jalava »

I believe some commercial ecus switch from sequential to batch injection on higher RPMs to give them more time to finish injection, allowing smaller injectors and less accuracy with ECU.

Because there are little advantages from sequential injection over 4000rpm, I think this could be a nice option for high rev engines that we still want to idle clean.
jalava
Posts: 30
Joined: Sat Apr 08, 2017 8:48 pm

Re: Hybrid injection strategy

Post by jalava »

In addition, if individual cylinder trim is desired, we could still start injection batched but have separate close times per cylinders.
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: Hybrid injection strategy

Post by kb1gtt »

@russian will need to confirm, but my understanding is that there is no max limit on the injection time. Basically it wills start injecting at the beginning of the sequential time, then your max injection time is based on 720 degrees and RPM. AKA if you inject beyond the valve closing, there is nothing stopping it from doing so. However if you size your injectors such that your pulse is short enough, then you will inject only when the valve is open.

I see this feature as already implemented, and you choose this option when you choose your injectors.
Welcome to the friendlier side of internet crazy :)
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: Hybrid injection strategy

Post by AndreyB »

jalava wrote:Because there are little advantages from sequential injection over 4000rpm, I think this could be a nice option for high rev engines that we still want to idle clean.
I am accepting pull requests :)

There is already a strategy switch while transitioning from cranking to running so that you describe should be pretty doable.
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
Rhinoman
contributor
contributor
Posts: 256
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK

Re: Hybrid injection strategy

Post by Rhinoman »

All the ECUs that I have worked on use this method, the second pulse adds the high load enrichment. Shorter pulses allow smaller injectors which give better fuelling under low loads. The fuel pressure is more stable as well, although that is partially offset by smaller, cheaper fuel rails, some Suzukis also have a pressure damper to further smooth out the pressure pulses.

The high load enrichment is derived from separate maps.
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: Hybrid injection strategy

Post by AndreyB »

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
stefanst
contributor
contributor
Posts: 703
Joined: Wed Feb 17, 2016 12:24 am
Location: USA 08530

Re: Hybrid injection strategy

Post by stefanst »

Rhinoman wrote:All the ECUs that I have worked on use this method, the second pulse adds the high load enrichment. Shorter pulses allow smaller injectors which give better fuelling under low loads. The fuel pressure is more stable as well, although that is partially offset by smaller, cheaper fuel rails, some Suzukis also have a pressure damper to further smooth out the pressure pulses.

The high load enrichment is derived from separate maps.
Can you point me to some documentation on this feature on existing ECUs? I still don't quite understand what this is supposed to do for the engine. "Shorter pulses allow smaller injectors" seems to contradict itself. Shorter pulses would require larger injectors. This hybrid strategy has the feel of something that was implemented to work around some constraint of a particular setup. None of my books on injection, which admittedly are pretty old by now, mention anything like this strategy.

The only thing that I know off is being used, and which could be called a hybrid, would be staged injectors. Essentially you have two different sets of injectors, small for small loads and under higher loads the big boys come into play. This, AFAIK, is only done on cars once you get past 100hp or so per cylinder.
Rhinoman
contributor
contributor
Posts: 256
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK

Re: Hybrid injection strategy

Post by Rhinoman »

One smaller injector with two pulses is the same as one larger injector with one long pulse put you can get better accuracy under lighter loads such as at idle because any jitter on the injector pulse has less effect. On the MPI Suzukis the second pulse gives an injector strategy like batch injection, on the TBI models an extra pulse is added after the primary pulse. I will look out some more info later, the overall concept is described in the FSMs, even the 89/90 Vitara models that were fuel only used this strategy.
I think the MX5/Miata FSM may also contain some information on this.
stefanst
contributor
contributor
Posts: 703
Joined: Wed Feb 17, 2016 12:24 am
Location: USA 08530

Re: Hybrid injection strategy

Post by stefanst »

Rhinoman wrote:One smaller injector with two pulses is the same as one larger injector with one long pulse[...]
This is only true if the limit for the amount of fuel injected is the length of the pulse. If you have an ECU that only allows for fairly short pulses, then having two pulses per cycle will deliver more fuel than one pulse, similar to installing a larger injector on single pulse. rusefi can keep the injector open as long as you want, as kb1gtt already pointed out, so there's really no need for this that I could see.
Doing two pulses per cycle actually increases the uncertainty, since now we're dealing with twice the injector dead-time. And dead-time is something that can change quite significantly with changing operating conditions like voltage, fuel temperature and under-hood temperatures.

Older Miatas (up to the mid 90s or so) use batch injection. All newer ones, at least '99 and up, use full-sequential. None of them use a hybrid strategy AFAIK. Can't say anything about Suzukis.

There's some explanation disconnect happening here I'm sure. I think I'm just not getting what you are saying.
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: Hybrid injection strategy

Post by kb1gtt »

I believe he's noting staged injectors. There are many ways staging is done. Some are just 2 injectors, but typically there is some mechanism where you use 1 injector per cyl at low RPM, then as load increases the second injector kicks in delivering more fuel. You can get smoother idle because low load is one injector, but you still get high power because the second injector kicks in as the load increases.
Welcome to the friendlier side of internet crazy :)
jalava
Posts: 30
Joined: Sat Apr 08, 2017 8:48 pm

Re: Hybrid injection strategy

Post by jalava »

Advantage with batch firing is of course half the events required to schedule, which could be issue with high RPMs, unless you fire the batch injectors each TDC (useful on low load if sequential isn't available, but double dead time then applies)

Though firing on 1 and 2 intake TDCs would probably cause imbalance to 3 and 4 which would spray most of fuel just before intake valve opens.

I think I misthought this a bit and will redact my idea until I play with the code and excel first a bit
User avatar
mobyfab
Posts: 139
Joined: Tue Oct 29, 2013 10:09 am
Location: Versailles, France

Re: Hybrid injection strategy

Post by mobyfab »

I am a bit lost, I don't see how this would make any difference.

You still need the same amount of fuel, therefore you need the same pulse width.
When the pulse starts does not have anything to do with the quantity of fuel delivered.

Also you'd want to avoid multiple pulses because of injector dead time.

To me it just sounds like a workaround for very low end ECUs that would not have enough power to handle sequential at high RPM.
From the engine point of view, there are only downsides for using batch vs sequential.
Rhinoman
contributor
contributor
Posts: 256
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK

Re: Hybrid injection strategy

Post by Rhinoman »

With this strategy you have longer injector pulses at low load, any jitter in timing is reduced because its a percentage of the pulse length . At higher loads its less important because economy and emissions are less of an issue. As well as the timing issue as soon as the injector opens the pressure starts to drop so long pulses either can't be accurately calculated or a much bigger fuel rail is needed.
Its not simply a case of fully synchronous switching to batch fired, many batch-fired will switch to firing on every TDC event, TBIs will add an extra pulse between TDC events. I thought the early MX5 switched to firing every TDC when the WOT switch was activated, although the FSM indicates that it doesn't, its a while so I an one on the bench. The images below are from an early batch-fired Denso, a very similar ECU to the 89-90 MX5:

Image

Image

Note. They call it synchronous because its fired synchronous to the CAS rather than on the IFS pulse, this was before fully synchronous systems. I will find a later example, not all the FSMs describe this, the FSM for the TBI only shows 'normal operation' but it can be seen on a scope.
Rhinoman
contributor
contributor
Posts: 256
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK

Re: Hybrid injection strategy

Post by Rhinoman »

This one is from a later model with a 16-bit ECU with a TPU running custom Denso code:

Image

Technically is doesn't switch to batch injection but instead it adds a second pulse a short period after the main pulse.
stefanst
contributor
contributor
Posts: 703
Joined: Wed Feb 17, 2016 12:24 am
Location: USA 08530

Re: Hybrid injection strategy

Post by stefanst »

Rhinoman wrote:This one is from a later model with a 16-bit ECU with a TPU running custom Denso code:

Image

Technically is doesn't switch to batch injection but instead it adds a second pulse a short period after the main pulse.
Now I get it! They are using it for cranking- rusefi already has that capability, and for accel-enrichment. This is presumably, so they don't have to do the math to add to the primary injector pulse. rusefi is taking care of all of that much more elegantly already. Accel just adds to the primary pulse.
Rhinoman
contributor
contributor
Posts: 256
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK

Re: Hybrid injection strategy

Post by Rhinoman »

Most aftermarket EFIs add the enrichment it to the primary pulse but that means extending the primary pulse which is what you want to avoid, particularly if you have stock hardware. They still have to do the maths, the reported injector PW is the sum of the two, you need to access the proprietary data stream to get that.
I'm sure if you check the FSM for the later Mazdas you will find that they split the pulse, I don't have one of those FSMs to hand, I am away from home.
User avatar
mobyfab
Posts: 139
Joined: Tue Oct 29, 2013 10:09 am
Location: Versailles, France

Re: Hybrid injection strategy

Post by mobyfab »

Rhinoman wrote:With this strategy you have longer injector pulses at low load, any jitter in timing is reduced because its a percentage of the pulse length . At higher loads its less important because economy and emissions are less of an issue. As well as the timing issue as soon as the injector opens the pressure starts to drop so long pulses either can't be accurately calculated or a much bigger fuel rail is needed.
Its not simply a case of fully synchronous switching to batch fired, many batch-fired will switch to firing on every TDC event, TBIs will add an extra pulse between TDC events. I thought the early MX5 switched to firing every TDC when the WOT switch was activated, although the FSM indicates that it doesn't, its a while so I an one on the bench. The images below are from an early batch-fired Denso, a very similar ECU to the 89-90 MX5:

Image

Image

Note. They call it synchronous because its fired synchronous to the CAS rather than on the IFS pulse, this was before fully synchronous systems. I will find a later example, not all the FSMs describe this, the FSM for the TBI only shows 'normal operation' but it can be seen on a scope.
How can you have longer pulses base on injector firing order/sequence ? The injector flow is the same if not worst because of turbulences and having closed ports.
Timing jitter is an ecu limitation.

I read your other posts, it really looks like nothing more than a workaround to get stuff done with limited cpu power, which will never be our case.
I don't see the point of adding another pulse if you can do the correct amount in one.
Maybe for cranking, to feed cylinders while you don't know where the tdc is... but that's about it.
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: Hybrid injection strategy

Post by kb1gtt »

I see it as a OEM emissions regulation thing. I guess performance can at times be concerned with fuel weight advantage, but I think the performance crowd typically just rounds up, such that if the delivered fuel is a bit less than the commanded fuel, they still don't go lean. As well performance people typically put on large plumbing to help avoid such issues. OEM's of course can't do this because of emission issues, cost issues, as well if they can save you gas money, then it means they can charge you more.

Am I correct that the feature offed by this kind of injection algorithm is to have better fuel delivery accuracy, such that your delivered fuel is more accurate relative to the amount of fuel that is commanded?

I see the key problem they are trying to solve with this extra pulse, is that if your injector is pulsed for say 2mS it will deliver a more consistent amount of fuel, than it will when it delivers say a 100mS long pulse. Ignoring dead band issues, let pretend that a 2mS pulse generates 2 grams +/- 0.1 gram. A 100mS pulse might produce something like 98 grams +/- 2 grams. Those are made up numbers, showing my expectations of what they are trying to solve with such injection techniques. Notice that the grams is not linear, it's 98 not 100, as well the tolerance has increased. The reason for this is caused by mechanical issues with the fuel rail geometry, regulator, and fuel weight. What the OEM's apparently are doing is to pulse twice at 50mS instead of one long 100mS pulse. This allows them to deliver a more consistent amount of fuel. By having a more consistent fuel delivery, they can push the limits of emissions or shrink saving cost in the fuel lines, ect. I wonder how much of this is done for wall wetting purposes.

I see staged injection as a feature which is likely to attract software developer. I fear that this kind of injection algorithm is not offering features that will strike inspiration into the code contributors. However one of the great things about open source is that any one can submit a patch or post their own copy of the repo. So if you are interested in such a feature, you can always make it a feature.

We've seen several code contributions from from @mobyfab lately. You can always take a stab at a patch if you want the feature.
Welcome to the friendlier side of internet crazy :)
Rhinoman
contributor
contributor
Posts: 256
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK

Re: Hybrid injection strategy

Post by Rhinoman »

Ultimately it is about a more consistent fuel delivery, a 1us error on a 10ms pulse has far more effect then a 1us error on a 20ms pulse. OEM ECUs are far more complex than an aftermarket and its all aimed at extracting the most exact fuelling, aftermarket ECUs are greatly simplified, there are very few maps and everything is approximated, this is mostly through necessity, tuning dozens of maps and hundreds of constants from scratch isn't practical and the equipment to do it to OEM specs isn't available.
The fuelling calculations will correct for some extent for the drop in fuel pressure but it needs to be minimised. On the after-treatment systems which have big injectors its common to start turning up the pump a fraction before the injector opens to help compensate, on most engine ECUs that isn't an option. On a tuned motor with the stock rail, bigger injectors and longer pulses then you are going to see very noticeable pressure drops.
Rhinoman
contributor
contributor
Posts: 256
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK

Re: Hybrid injection strategy

Post by Rhinoman »

mobyfab wrote:it really looks like nothing more than a workaround to get stuff done with limited cpu power
No there is no shortage of CPU power, OEM code is very efficient and scheduling the second event is trivial.
User avatar
mobyfab
Posts: 139
Joined: Tue Oct 29, 2013 10:09 am
Location: Versailles, France

Re: Hybrid injection strategy

Post by mobyfab »

Rhinoman wrote:Ultimately it is about a more consistent fuel delivery, a 1us error on a 10ms pulse has far more effect then a 1us error on a 20ms pulse. OEM ECUs are far more complex than an aftermarket and its all aimed at extracting the most exact fuelling, aftermarket ECUs are greatly simplified, there are very few maps and everything is approximated, this is mostly through necessity, tuning dozens of maps and hundreds of constants from scratch isn't practical and the equipment to do it to OEM specs isn't available.
The fuelling calculations will correct for some extent for the drop in fuel pressure but it needs to be minimised. On the after-treatment systems which have big injectors its common to start turning up the pump a fraction before the injector opens to help compensate, on most engine ECUs that isn't an option. On a tuned motor with the stock rail, bigger injectors and longer pulses then you are going to see very noticeable pressure drops.
I don't agree with the pulse width error.
A 1us error on a 20ms (20.001) pulse is exactly the same as a 1us error on two 10ms pulses (10+10.001=20.001). Except you have twice the dead time and possibly even less accuracy.
Also 1us is very short for fueling, that wouldn't make any difference.

The one thing I agree with is the pressure drop.
If you fire all of them at the same time, you will know or measure a constant pressure drop that you can compensate, especially on direct injection.
However a sequential firing would cause a lower pressure drop as it is spread around the whole 720 degrees for even firing engines.

Since this is a system for OEM ECUs and such, I guess that confirms we don't need that kind of fueling precision anyway.
Post Reply