Engine Temperature Fuel Correction - how to do it?

Official FreeEMS vanilla firmware development, the heart and soul of the system!
Post Reply

Which method of engine temperature fuel correction?

Single 2d curve for temp vs correction - inadequate for all load ranges
0
No votes
One 2d curve for temp vs correction PLUS one 2d curve for load vs percentage of correction
1
50%
One 2d curve for temp vs correction PLUS one 2d curve for rpm vs percentage of correction
1
50%
One 2d curve for temp vs correction PLUS one 2d curve for rpm vs percentage of correction PLUS one 2d curve for load vs percentage of correction
0
No votes
One 2d curve for temp vs correction PLUS one 3d contour of load vs rpm vs percentage of correction
0
No votes
Many 2d curves, one for each load point
0
No votes
Something else, please explain
0
No votes
 
Total votes: 2

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

Engine Temperature Fuel Correction - how to do it?

Post by Fred »

There is always more than one way to skin a cat.

The naive and simple way is just a single 2d curve of percentage corrections applied to the pulse width under all conditions. This probably works OK for most drivers as they would be gentle to the engine when it is cold etc etc thereby keeping it in a narrow operating range of conditions. Consider the case where at normal temperature the engine is tuned for 11:1 AFR operation on petrol and you take it to that load point when cold. Cold demands 1.8 times the normal fuel. you end up with an enormous amount of fuel entering the cylinders and it bogs down and goes no where.

At the opposite end of the spectrum is to have a single 2d curve PER load point. Obviously this is far from practical with regards memory usage etc though it would provide perfect adjustability to even things out where needed.

What I'm proposing is that we have a single 2d curve which contains the shape and base values for any given temperature AND a small 3d contour that allows the output of that 2d curve to be scaled based on load and rpm. Perhaps it only needs to be load, or only needs to be rpm?

Does anyone have any thoughts on this?

There could easily be other options that I haven't considered, but I'll put a poll on this with the ones I have and a "none of these, :" one.

Please bare in mind that this is NOT just for cold conditions, but also useful when the engine is running too hot by dumping extra fuel in to cool it under heavy load/extended thrashing. The basic shape curve will look like a U for most intelligent users.

ALL votes should be accompanied by an explanation of WHY you think what you do please.

Thanks for your input.

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!
johnd
DIP8 - Involved
Posts: 23
Joined: Tue Jun 24, 2008 8:21 pm

Re: Engine Temperature Fuel Correction - how to do it?

Post by johnd »

why would you want to hammer an engine when its cold ? Its a condition that just should not occur. better idea would be to include a rev limter till engine temp is at least 70c-. To be running 11.1 you must be on boost or very old fashioned engine. yet again a good idea would be to limit boost till engine temps are stable.

the temp correction is quite simple. decide on what normal engine running temp is to be, that would be zero correction. you must be sure that you only map when engine temp is within the zero correction zone for best results. It would be normal to have a zone of around 10-15c around the point where correction is zero. nothing wrong with having correction and no zero zone ,providing you can be sure engine temp will be stable. If not then your map will be wrong by the correction value. unless you write some tricky line of code to always show the map value as it would be if it was mapped at correct temp, and at same time have the display to the mapper showing that the figure is a corrected one.

some of the things i write may seem obvious and maybe you have already got these things in there If so then ignore what is not relavent.

same applies to air inlet temp + baro correction when mapping. for ever 10c increase in water temp you subtract 3% ,till you get to 100c then add fuel ,a large amount to cool the engine down. say 15-20%. the reverse is true for temps below the zero zone. add fuel at 3% per 10c down to say 50c, below that you will be on cold start

cold start is whole different story as the main problem to setting up the warm up phase is not just water temp --but combustion temps which heat up a lot quicker than water temp. its one of the reasons its very hard to write a cold start + warm up map that works as it should by pure maths. It tends to be something that is trial and error and is time consuming because of the small time frame time you get to adjust things before the cylinder temp has changed. the time it takes for the engine to fully cool down to same temp again means it is a long before you can have another go at calibrating it . even though water temp may not have moved much the heat soak will have altered the cylinder temp. so you will then need to leave engine for possibly hours to reproduce exact same conditions for a true cold start
Last edited by Fred on Sun Jul 06, 2008 12:36 pm, edited 1 time in total.
Reason: Assembled into paragraphs.
Mops
TO220 - Visibile
Posts: 10
Joined: Wed Feb 06, 2008 1:00 am

Re: Engine Temperature Fuel Correction - how to do it?

Post by Mops »

Hi.

Well.. in my limited knowledge... i think 2nd curve load vs correction would be good idea. it doesnt have to be full curve with 16 points.... i think maybe 4 points would be adequate. It seems that in low load areas more percentage WUE is needed. realistically it's difficult to obtain steady tune in areas where engine spends little time...

And I understand that you strive to perfection, while on other hand i want to save fuel, so any acceptable reduction in fuel injected (eg. durning warmup) is welcome :) My point here is that 3 curves for WUE is kinda overdoing it.... realistically who will be tuning their warmup perfectly to stoich ?

I know some OEM ecu's (possibly early models) were doing WUE by set extension of the PW, not a percentage or total PW. so on low load extension was high%, and on high load (where 'nominal' pw was high) extension accounted for only small %

cold ignition advance would be good too.

clt dependent rev limiter would be great too... i know some high profile oems use that (BMW m series) :)

Lastly... i notice my engine... even if the temp reaches normal operating temp... it still needs a bit more idle air for another about 10 minutes. otherwise it will idle low... if i fix the idle there and after long run it will idle high.... this is idle air dependent, not fuel or timing.... but it is a part of warmup process.... possibly that wil lbe fixable with closed loop idle control, but i did not get a chance to play with that yet... i mean i briefly had a moment i turned it on and it wasnt doing what i wanted it to do at all....

[edit]
Possibly wue depends on rpm aswell, but I never rev the engine when cold any more than i absolutely have to to be moving... like 2-2.5k rpm max, so i cant comment....
[/edit]
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Engine Temperature Fuel Correction - how to do it?

Post by Fred »

Thanks for sharing Mops.
Mops wrote:Well.. in my limited knowledge... i think 2nd curve load vs correction would be good idea. it doesnt have to be full curve with 16 points.... i think maybe 4 points would be adequate. It seems that in low load areas more percentage WUE is needed. realistically it's difficult to obtain steady tune in areas where engine spends little time...
I know some OEM ecu's (possibly early models) were doing WUE by set extension of the PW, not a percentage or total PW. so on low load extension was high%, and on high load (where 'nominal' pw was high) extension accounted for only small %
OK, based on this and a few other things people have said I think we should start with two curves, but no load/rpm correction.

One curve for temp vs fixed pw increase
One curve for temp vs % pw increase

The former will be adequate for most people for warm up use, and the latter will be good for over temp use.

Later we can add load and rpm corrections IF they are required. I think the fixed pw should work nicely with load and rpm to be honest. Time will tell.

Less is more.

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!
johnd
DIP8 - Involved
Posts: 23
Joined: Tue Jun 24, 2008 8:21 pm

Re: Engine Temperature Fuel Correction - how to do it?

Post by johnd »

OEM ecus have both air and water temp correction maps
they usually go from -20c to +60c for air temp and -10c to +120c water temp.
the cold start and warm up maps are usually another correction on top of the normal air +water maps
these are found by emperical usage rather than a physics based curve.
another useful coldstart function is the ability to raise idle speed to help keep engine stable and get the lambda probe and cat up to temp quicker making it far easier to have a nice clean emission friendly idle as soon as possible,only really possible if you have some form of aux air device .
basically what i am saying is that idle and coldsatrt should be a total seperate map to main maps with links only to smooth transient from the one to the other.
cranking being another seperate map as well
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Engine Temperature Fuel Correction - how to do it?

Post by Fred »

johnd wrote:basically what i am saying is that idle and coldsatrt should be a total seperate map to main maps with links only to smooth transient from the one to the other.
cranking being another seperate map as well
There are multiple ways to interpret what you have written there. For some it makes sense in some cases, and for others it doesn't make sense at all.

This thread is specifically about coolant temperature with relation only to fuel flow levels though. If anyone wants to discuss other types of corrections that aren't even on the table yet (ignition trims based on air temp for example) a new thread with an appropriate title should be started.

One of the stated goals of this project was to keep the internals true to physical reality. Another is to keep all software solutions generic in nature which allows them to function for all situations equally well. Thus temperature vs fuel should be a separately tunable map from 0K to 655K (-273 - 382C) such that air cooled head sensors can be mapped and the user can have the final say on where the tables range is and how steep it will/wont be etc. Basic fueling math will be used everywhere always based on the very same inputs. above and beyond that various transient conditions will be handled with appropriate corrections that are generic in nature and do not restrict the user much or at all while at the same time keeping the code simple and small, and the interface clean and free of excess choices.

Perhaps have a read through the feature wish list thread and consider what is and isn't present there (it's a bit out of date anyway) and post any thing that is missing there. When each item comes up for development if a thread doesn't exist for discussing it I'll post something up.

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
BenFenner
LQFP144 - On Top Of The Game
Posts: 360
Joined: Wed Jul 09, 2008 3:15 pm

Re: Engine Temperature Fuel Correction - how to do it?

Post by BenFenner »

I voted option #3 "One 2d curve for temp vs correction PLUS one 2d curve for rpm vs percentage of correction"
Discussion is here:
http://www.e30tech.com/forum/showthread.php?t=62361
Post Reply