Reasons To Cut Injection/Ignition With Hysteresis

Official FreeEMS vanilla firmware development, the heart and soul of the system!
MotoFab
1N4001 - Signed up
Posts: 307
Joined: Thu May 29, 2008 1:23 am
Location: Long Beach CA

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by MotoFab »

Fred wrote:...if you're delivering two injections per cycle, the implication is that you're delivering that to two oppositely timed cylinders. Thus if you start firing on one, then one cylinder gets a full breath of fuel, and the other gets half, and if you fire on the other it's reversed. Which raises the question of if we should even bother, as we're still going to get a single cycle of non-optimal fueling at the beginning of scheduling starting again.
Drop the ignition event on the half-fueled cycle.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by Fred »

Good idea, assuming you know which it is. What if you are wasted spark with half sync, should you then be allowing fuel/air into the exhaust unburned for a cycle always before reallowing ignition? I'm unsure how to make it work, but it's definitely worth trying to! Thanks!
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
eezo20v
TO220 - Visibile
Posts: 10
Joined: Sun Mar 27, 2011 12:26 pm
Location: Perth, Western Australia

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by eezo20v »

jbelanger wrote:
Fred wrote:There are two issues, heat is one, detonation is the other. In any case, with the two latter cases (large paragraphs) you can't be sure exactly where you'll end up (AFR wise), and therefore it could be in a bad place. Hence I believe such circumstances warrant a cut. Some oems do an AFM based cut in a similar way and likely for a similar reason too. If the AFM is maxed out, any amount of air could be flowing through there, and thus the ECU doesn't know, and thus the car is vulnerable.
Agreed about the two issues and that not knowing where you end up is bad so cutting for a full cycle (or multiples of it) is a logical solution.

However, I'm not sure that protecting a user from his own stupidity is really the job of the ECU but if you feel strongly about doing this, I don't see a real down side to it (other than having to implement it and maintain it). Natural selection is not a bad thing... :)

Jean
I Agree 100%.
I've always found that by trying to force a user into a certain way of doing things has 2 effects
1. They will not use your product
2. They will circumvent your system to try to get the functionality they desire.
A practical approach is to allow as much flexibility as possible, explain the downsides of being stupid in your docos, and leave them to it.

Also, I believe that every strategy should be able to be turned on and off ( not pseudo off by setting high or low values ). This method has proved much easier in diagnosis of issues/bugs etc in my software.

In contribution to this thread, we ( my current place of employment ) never ignition cut, only ever cut injectors.
MotoFab
1N4001 - Signed up
Posts: 307
Joined: Thu May 29, 2008 1:23 am
Location: Long Beach CA

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by MotoFab »

Fred wrote:Good idea, assuming you know which it is. What if you are wasted spark with half sync, should you then be allowing fuel/air into the exhaust unburned for a cycle always before reallowing ignition? I'm unsure how to make it work, but it's definitely worth trying to! Thanks!
Yes, that unsparked fuel will go out the exhaust. But at high loads, a half-fueled cycle often will not ignite with a spark anyway. And even less likely to ignite if of the two injection periods, that combustion cycle received the injection event more proximate to the intake stroke. For that 'late arriving' half of the fuel will have had slightly less time to vaporize.
User avatar
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by BenFenner »

eezo20v wrote:A practical approach is to allow as much flexibility as possible, explain the downsides of being stupid in your docos, and leave them to it.
I'm fully behind this as well.
eezo20v wrote:Also, I believe that every strategy should be able to be turned on and off ( not pseudo off by setting high or low values ). This method has proved much easier in diagnosis of issues/bugs etc in my software.
I like this too.
eezo20v wrote:In contribution to this thread, we ( my current place of employment ) never ignition cut, only ever cut injectors.
Do you know why? From what I've been able to find and surmise, ignition cut is the preferred method for rpm control in most performance applications due to engine safety, reliability and predictably (and fuel cut is strictly for environmental friendliness).
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by Fred »

BenFenner wrote:
eezo20v wrote:A practical approach is to allow as much flexibility as possible, explain the downsides of being stupid in your docos, and leave them to it.
I'm fully behind this as well.
Sure, it'll be flexible, you can set max duty cut to 1%(won't run at all), 20%(why?) 80%(conservative), 85%(a reasonable default), 97%(maxing things out) or 100%(risking instability due to dead time vanishing on some cycles due to dynamically changing real available time window and the injector just staying on(it'll go suddenly rich)), etc. If 100% still earns you a cut, then you have other options:
  • Up your fuel pressure some amount.
  • Change your injectors to something more suitable.
  • Lower your boost level
  • Tune it such that it runs the same as if the injectors were almost wide open, but you can see that in the tune, by lowering the lambda component of the tune, and seeing that it will be lean.
Basically, the car is poorly setup, and is thereby preventing the ECU from doing its job. Fix the root cause.

I don't want to impose arbitrary limits on what you *command* the ecu to do, YOU are in charge, i just want to honour your wishes or let you know that I can't.
BenFenner wrote:
eezo20v wrote:Also, I believe that every strategy should be able to be turned on and off ( not pseudo off by setting high or low values ). This method has proved much easier in diagnosis of issues/bugs etc in my software.
I like this too.
This is a personal taste thing. And a basic common sense thing too. If we enable turning off map and maf and alphan, we could end up with NO algorithm controlling fueling. Clearly that's wrong. The only time we should have no algorithm controlling fueling is if there are no injectors attached, which will be specified and checked separately. Some things are clearly optional, features, strategies, yes, optional. For example transient enrichment, optional. PWM idle, optional. Stuff that isn't essential should be optional. Boost, rpm, and other safety features common to all vehicles shall not be optional. if you don't want a rev limit, then set it higher than your car will fail at. But, that is purely ignorant. EVERYONE wants a rev limit, and no engine will have a max rpm over 32k any time soon. If they do, they can buy a motec, OR, customise the code to the extent of their engine. The issue is, that you add more configuration stuff than you would otherwise need. Wherever possible, I want FreeEMS config to be as simple as possible to understand while being as powerful as possible too. I won't make it so simple that the ecu tries to be smart, though, you'll have to understand your engine setup well enough to configure it, but someone that doesn't know a bit about their engine setup has NO business trying to tune it anyway. Learn that stuff first. Like prereqs for a university paper, they won't let you in without them, because it doesn't make sense to, for them, and for you.

Remember, quality is the mantra here. Allowing people to do stupid things when it complicates and confuses and makes things less good for the vast majority is not in my game plan.
BenFenner wrote:
eezo20v wrote:In contribution to this thread, we ( my current place of employment ) never ignition cut, only ever cut injectors.
Do you know why? From what I've been able to find and surmise, ignition cut is the preferred method for rpm control in most performance applications due to engine safety, reliability and predictably (and fuel cut is strictly for environmental friendliness).
Both are perfectly valid, for various reasons. Neither is dangerous, that is a fallacy. Both have their uses. We won't be limiting to one, or the other. Default will be for both to cut, probably at some fairly conservative RPM like 6k. Setting up such numbers is part of setting up the car. There will be a guide on how to do that, including ALL necessary steps. If someone ignores the guide, that's their own fault.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by Fred »

Fred wrote:I don't want to impose arbitrary limits on what you *command* the ecu to do, YOU are in charge, i just want to honour your wishes or let you know that I can't.
Just to illustrate this better:

What if you ask for 15btdc timing at 235kPa and 5k rpm. What if I can't deliver, and the best I can do is 30btdc. Do you want me to say "ahhh, fuck it, we'll just fire the coil, it'll be good enough" or do you want me to say "nope, no ign for you, too risky" ? Note, although this is not likely to occur for tech reasons, the principal is the same, and that is exactly what I was doing at low rpms until a recent code enhancement that meant I could always deliver required timing at even obscenely low rpms. The consequence was difficult starting, or no starting with a low battery, before, but that was better than it kicking back and breaking the starter... That limitation was an artificial one in my code arch, the one being discussed above is a real one in an engine setup. It won't go away, it will just be a time bomb if tuned on warm weather and thrashed on a cold night...

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
jbelanger
LQFP144 - On Top Of The Game
Posts: 387
Joined: Sat Feb 23, 2008 8:58 pm
Contact:

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by jbelanger »

Fred wrote:
BenFenner wrote:
eezo20v wrote:Also, I believe that every strategy should be able to be turned on and off ( not pseudo off by setting high or low values ). This method has proved much easier in diagnosis of issues/bugs etc in my software.
I like this too.
This is a personal taste thing. And a basic common sense thing too.
I don't agree with you Fred but with the initial statement. Being able to turn of features will make things simpler for the user and better for support and maintenance. Having to diagnose an issue without being able to eliminate some part of the code and some features will be much more work for everyone involved.

And something that is a personal taste issue is that I personally hate any type of software that tries to be more intelligent than me and makes me go through hoops to do what I want to do. And what you are proposing sounds to me like someone not putting an off button on a radio and saying to just turn the volume to the lowest setting if you don't want to hear it. It achieves the same result but it's not what I want.

Jean
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by Fred »

On the contrary, if there is no on/off button you can be sure of what is happening, fixed code path, no guess work, one less thing to consider. Only for things that make sense to be always on. All engines of any form have physical reliability limits for rpm and all turbo cars have pressure wastegates with diaphragms that potentially fail, and maximum pressure levels for turbos that can snap shafts, and damage bearings, and maximum cyilnder pressure limits before detonation begins, and so on. If installed on an NA car, a boost cut of 150kPa will never activate and you'll never have to even look at the setting.

Are you telling me that I should wrap ALL of the code in the firmware with if(configs.thisitem){} blocks? Clearly that is unreasonable. Some things require config, others are always there. Like scheduling, it's always on. You can't turn it off, that is a fundamental task for the ecu. If there is nothing configured to schedule, nothing will be scheduled, simple as that. I will never put such a block around the scheduling, that would be pointless and stupid. Eventually most shit in the firmware will get an if config block, but right now, the majority is stuff that is always there.

Another example, fueling and ign. It won't be the case that you turn fueling on or off, it will be the case that you set the number of channels to use, and it does them. If the number is zero, it *IS* off...

This is all off topic anyway. This thread is a feeler for MORE reasons to do cuts, other than the obvious, and non-obvious that I found. if anyone has some, great, let us know, if anyone doesn't like the fact that I won't run the engine in a way that is different to what your tune states (be it timing or dwell or pw), go use megasquirt instead, it will be happy to oblige and melt your engine. Or coils. Or flood your cylinders. etc.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
jbelanger
LQFP144 - On Top Of The Game
Posts: 387
Joined: Sat Feb 23, 2008 8:58 pm
Contact:

Re: Reasons To Cut Injection/Ignition With Hysteresis

Post by jbelanger »

Please move the offending posts to a new thread in order to keep this one clean.

But my statement about having switches for features was for injection and ignition cut. If I want either or none, I want to be able to do so without going through the code that performs the cut because I don't want to have to diagnose the possibility of the code using a wrong value to perform the cut however unlikely it is.

If there is a bug that causes a wrong value I want to see it in a datalog or some other way but not through an unwanted side effect that could actually cripple an engine under the right circumstances and where you could maybe just limp home with switching off some safety measure but get stranded otherwise.

And who was talking about MS? ;) And preventing engine or component failure is very good and making sure that the code or hardware does not cause either is also good. I'm just concerned that you may end up causing more problems for the intelligent users (and those helping others) to protect just a few idiots. But I may be the idiot here and I certainly have done stupid things and will do more in the future.

Jean
Post Reply