EFI mapping ideas.

Dale Ulan ulan at ee.ualberta.ca
Thu Nov 10 03:48:14 GMT 1994


> So, you are interpolating between 2 points on the RPM axis and 2 points
> on the Load axis, making an overall interpolation between 4 points?
> If it works properly it should be quite nice.

In fact, that's exactly how it's done in OEM computers.

>> Yup.  I'm only guessing that a 17 x 17 map will be enough.  What did you base
>> your decision on using 32 load numbers on?  Do you know something I don't?
> 
> >From what I can determine, the load is much more important than the RPM.
> (I did some measurements of an aftermarket computer, and the pulse time
> the injector was on for did not vary with RPM (Well, when under engine
> vacuum. When under boost it did)

Depends a lot on the engine. The volumetric efficiency of the engine
can vary from a 10% difference between the VE peak and a lower value
(like at 1500 rpm or a fast idle) to a 60% difference or more... depending
on the engine. Typically, in OEM computers, the RPM is quite important, as
they are trying to fuel within a couple of percent (or even closer) as to
what the engine needs.

If I sound like I'm praising the OEM ECM's, it's because they have a lot
more research invested into their algorithms than any of us... or
pretty much any aftermarket company... can afford to put into the
box.
....
> If you're using interpolation 32 wouldn't matter, you might even get
> away with something as low as 4 or 8. I'd say 17x17 w/interpolation
> should be more than adaquate.

17x17 is good for most engine applications. It can even meet emissions
to 1994 levels, so it'll do for most of our applications.
The LT-5 engine is the only ECM I've seen with larger tables. These are
about 30x17. I don't remember which value had the 30 or so values, but
I have a hunch it's RPM.

-Dale

>>>I'm un-decided if an 8 bit injection time will have enough 'dynamic
>>>range' from idle to full throttle, though it's probably easier to >deal with
> > an 8 bit number.

An 8-bit number is fine for a typical table, however, these values are
multiplied and rounded, etc. so you want to keep as many bits as possible.
Normally you have a Base Pulse Width, a Power Enrichment, and an Air
Density Correction. Since these are multiplied out, I'd suggest the
following:

BASE_PW * AIR_DENS
result: 16 bits
* (POWER ENRICHMENT FACTOR + COLD START FACTOR)
result: 24 bits.
now round down to 16 bits
* ADDITIONAL FACTOR
result: 24 bits.
round down to 16 bits.

done.

16 bits is convenient as well, since it allows a lot of exta headroom
to add acceleration enrichment and other additive factors.

-Dale



More information about the Diy_efi mailing list