Injection Timing Gotchas

For people running FreeEMS to discuss it and ask any questions about using and adjusting it.
Post Reply
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Injection Timing Gotchas

Post by Fred »

A little chat in IRC re injection timing:
(22:43:40) Baldur: one thing you kind of have to be careful about
(22:43:51) Baldur: is rate of change in the timing
(22:44:18) Baldur: you can't really let the timing vary 300 degrees from one cycle to the next
(22:44:44) Baldur: there's much opportunity for the events to clash
(22:45:28) fredcooke: my code handles event clashing just fine, the pw would be wrong for a cycle, but no other ill effects, and that is up to the tuner to not do dumb things.
(22:46:17) Baldur: it's about preventing a lean condition from happening due to a semi missed event
(22:46:40) Baldur: but yes if the tuner is careful about this, he shouldn't run into problems
(22:46:45) fredcooke: exactly
(22:46:55) fredcooke: in fact, they'd have to be pretty stupid about it to hit problems
(22:50:26) Baldur: most likely to happen if you have vastly different timing across load sites
(22:50:51) fredcooke: true
(22:50:53) Baldur: stomp on the throttle and you'll sweep straight across the load sites in an instant
(22:50:58) fredcooke: good point
(22:51:00) fredcooke: thanks
(23:04:07) fredcooke: still, it'll only be wrong for a short time when you lift or floor it, so it still wont matter as either the airflow is stopping while it goes lean, or the pw is currently zeroish and increasing rapildly into an open time frame and only ever getting richer as it happens
(23:05:06) Baldur: well, the same kind of thing can happen when shifting gears
(23:05:13) Baldur: and that happens under full throttle
(23:08:14) fredcooke: ummm, what?
(23:08:23) fredcooke: if its under full throttle then load doesnt change!
(23:08:30) fredcooke: otherwise you're lifting and reapplying
(23:08:45) fredcooke: and even the swiftest shifts are WAY slower than the math/scheduling/interrupts
(23:09:06) Baldur: load doesn't change but the RPM does
(23:10:13) Baldur: if you land in a vastly different area timing wise after the shift, you'll go lean for the cycle
(23:14:23) fredcooke: ahh, another good point
(23:15:08) fredcooke: i'd rather write documentation for this before coding around it.
(23:15:20) fredcooke: thought hte latter wouldnt be hard to do either, really
(23:15:39) fredcooke: you could just stretch out hte timing change over a few cycles by compressing them together
(23:16:37) Baldur: keep the last cycle's timing in memory
(23:16:55) Baldur: subtract the max allowed change per cycle from this cycle's timing
(23:17:01) Baldur: store the remainder if any
(23:17:33) Baldur: and use the remainder on the next cycle
(23:20:14) Baldur: actually, no use for the remainder
(23:24:21) fredcooke: yep, just do the best you can each time, that's all.
It's certainly something to be aware of. Perhaps it would be better to check timing in that way, possibly for ign too to avoid dwells joining each other and sparks being weak or missed happening.

In the mean time, though, be careful not to tune the injection timing too wildly, and understand what can happen if you do.

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!
Post Reply