Best Warm-Up Logic?

Official FreeEMS vanilla firmware development, the heart and soul of the system!
Post Reply
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Best Warm-Up Logic?

Post by AbeFM »

Two things come to mind here, if the mods think this is better split into two threads, use your god-powers and fix it.

(I'm doing #2 first since it's not really a whole topic, may not require more discussion)
2) Minor, but for those not using a closed-loop idle control, but rather a %duty cycle on a PWM idle valve, we have to guess the correct idle valve position based solely on coolant temperature. Oftentimes at night, the idle needs to be higher, due to headlights and fans and other additional loads.
->Hmmm, I was going to suggest an initial reading of the air temp sensor to put a multiplier on the idle settings, but that's missing the point entirely, what is needed is a series of idle modifiers: A "high load" condition that picks a higher value. When my heater-blower is on I need more idle, when my headlights are on, I need one. When the radiator fans are on, I need one (though this could be automated by the computer raising idle when it turns on the fans, and the same thing could work for running the air conditioner). Things like the power steering pump actually have an output just to tell the engine they are on, for that reason. Why not take advantage of what is there?

1) When cranking the car, the motor catches, and after start enrichment/warm up will see the motor racing off to 2,500+ rpm for a short time, when there's as likely no oil pressure as not, then the RPMS drop to something a little low to do any warming. I would like to see something that runs the motor for X number of revolutions (or just watches an oil pressure signal if inputs are available), and aims to have the motor in a lower RPM state, then after pressure has been established the motor can go off to high RPM la-la land to warm up. It might require more control, but overall it will be better for the lifetime of the motor. Certainly there is a lot of improvement to be made here.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Best Warm-Up Logic?

Post by Fred »

I think the sort of code to do things like PWM idle at all, let alone closed loop is quite far down the track. because its possible to feed the engine more air with a tube and manual valve i think our initial testers will have to put up with that whilst we iron out the rest of the code to a usable state.

Remember this IS from scratch, there is no working base to use while fiddling with "bells and whistles" even if they are fairly basic/fundamental bells and whistles.

Having said that, I can't see it being hard to have PWM proportional to battery voltage or similar such that it brings the idle up until the battery voltage is high enough. It could result in oscillation, but maybe its a step in the right direction for you?

Admin.
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
ababkin
LQFP112 - Up with the play
Posts: 215
Joined: Tue Jan 15, 2008 5:14 pm

Re: Best Warm-Up Logic?

Post by ababkin »

Good thread

during the initial testing phase, i think it would be reasonable to warm up the engine with a stock ECU or MS (if opportunity exists), then swap the hardware and test it on the warmed-up engine.

In regards to stable idle, etc.. : i suspect that all the factors, which worsen the idle, may be overcome by implementing some kind of RPM-feedback control logic in firmware. I.e, the firmware will constantly compare current RPM with the target RPM, and apply the difference to adjust things that directly affect the idle speed, like PWM on the idle valve, etc. in order to keep the RPM near target.
Moreover, one could also add the voltage-feedback, where the firmware will ensure the proper voltage range supplied by the alt. So if the voltage dips too low (due to too much current draw), the firmware will adjust the target RPM.

... but all these are bells and whistles that are better left for the future.
Legal disclaimer for all my posts: I'm not responsible for anything, you are responsible for everything. This is an open and free world with no strings attached.
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Best Warm-Up Logic?

Post by AbeFM »

While closed loop idle IS more involved, I would think once you have any sort of PWM control at all, applying it to the idle would be easy. You just set one pin to x% and you're done. Adding in something to tweak that number based on... whatever, would be hopefully not too hard to add in later. Things like a battery voltage reference would be more involved, but... Certainly a duty cycle based on something like and ADC count (coolant temp?) would be achievable?

If I wanted to talk "far out dreams" I would have a channel (or channels) for measuring the current in a line as a function of time, to "self tune" idle valves, injectors, etc. I don't think it would be very hard to do, electrically, though some clever code would have to be written. But then you could jumper in this circuit to everything in question one by one (or have multiple), to get all injectors, valves, etc running ideally. It seems silly to have to do this with a scope by hand since all you're doing it looking for the 90% rise time or something. :-) Having voltage compensations that are correct would rock.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Best Warm-Up Logic?

Post by Fred »

Although that is doable, I tend to think it's trying to substitute clever code in place of physical research, measuring and testing. OEMs do this testing and then just go. Maybe really modern stuff adjust over its lifetime based on such things, but older stuff sure doesn't. Older stuff worked great. It's just a matter of getting the settings right.

Like you say though, once the code is up and running, anyone will be able to get hold of it and make suggestions/patches/add flash features like that etc. If the stuff is good, I can merge it and add it to the main release tree.

Admin.
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
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Best Warm-Up Logic?

Post by AbeFM »

It's certainly a "feature" and not a basic requirement... But that said, it's something that's not very hard to do (look for crossing of 66% of the end current/voltage and multiply by 3)... Several packaged IC's find it worth doing, so it would be nice to develope. It could even go so far as you tell you of a sticking or failing injector, etc. Certainly nicer for someone to put a 10 milliohm resistor on their board and select something in software than you buy an oscilliscope. And once automated (if this doesn't break "the rules") it allows people a chance to do advanced tuning on their car without being a super genius. I figure if you can autotune VE tables with AFR maps, why not tune injectors and coils for best performance? Certainly idles get a lot smoother that way. Certainly not a firt itteration kind of thing, though.
User avatar
ababkin
LQFP112 - Up with the play
Posts: 215
Joined: Tue Jan 15, 2008 5:14 pm

Re: Best Warm-Up Logic?

Post by ababkin »

8InchesFlacid wrote:It's certainly a "feature" and not a basic requirement... But that said, it's something that's not very hard to do (look for crossing of 66% of the end current/voltage and multiply by 3)... Several packaged IC's find it worth doing, so it would be nice to develope. It could even go so far as you tell you of a sticking or failing injector, etc. Certainly nicer for someone to put a 10 milliohm resistor on their board and select something in software than you buy an oscilliscope. And once automated (if this doesn't break "the rules") it allows people a chance to do advanced tuning on their car without being a super genius. I figure if you can autotune VE tables with AFR maps, why not tune injectors and coils for best performance? Certainly idles get a lot smoother that way. Certainly not a firt itteration kind of thing, though.
Can you elaborate on the 66%x3 thing (never heard) and how exactly you plan to determine a sticking/failing injector?
Also what do you mean by "tuning injectors and coils for best performance"?


Alex
Legal disclaimer for all my posts: I'm not responsible for anything, you are responsible for everything. This is an open and free world with no strings attached.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Best Warm-Up Logic?

Post by Fred »

InchFlacid, if you want me to split this into another thread about battery correction, just say the word. It's your thread, so you can have what you want in it to some extent at least, but if you want it split, I'll do it for you.

I think "best performance" = optimal saturated dwell at all times physically possible
and = fastest opening time with no wasted current/power/heat at all times with known opening time per injector for an excellent idle.

Admin.
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
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Best Warm-Up Logic?

Post by AbeFM »

Yeah, Admin called it there - coils perform optimally, last longer, etc, when they are JUST charged as you fire them. Any longer and you are cooking them, any shorter and you could have had a hotter spark. The same for opening injectors - you want to hit them hard and open them, and you want to waste as little energy as you can holding them open, etc etc...

The 66x3 is a late night way of thinking. :-) Thinking about a capacitor or inductor 'charging up' with a series resistor (or resistance inherient in the physical device or the wiring) will have some time constant. One time constant in a simple RC circuit brings you to 66% charge, double that long brings you to (is it?) ~88%, by the third time constant you're basically fully charged (around 97-99%). Longer than that and you're dumping heat and energy for less than a 1% gain. In the case of injector opening times, you're actually making your VE table less flat near idle, where opening time dominates.


So my idea was, when you hit ~2/3 the voltage, you're about 1/3 done. This could be monitored all the time, or just when you "train" the EFI box, but ideally you would have a battery/temp curve for all situations.
Post Reply