www.yawpower.com




Injector Dead Times - What You Don't Know Can Hurt You


As a tuner, one of our jobs is to optimize air fuel ratios.

So we do our job, and we send our customer away with power, drivability and idle quality bordering on perfection. The customer is happy, and we are left with the satisfaction of a job well done.

So what happens when the customer leaves our dyno facility?

What happens is that he pulls out into hot slow moving traffic, or maybe he trailers to a drag strip where weather conditions are drastically different than when we tuned his motor.

In either case, the ECU must now make corrections for the change in air density.

How well it makes those corrections is directly related to the accuracy of our injector dead time compensations.

Since injector dead times are not readily available, we end up using the default values in the ECU, or whatever numbers we can get from someone who supposedly knows the correct value. If these numbers are incorrect, we’ll run into problems later because all of our compensations will be incorrect.

With the exception of the dead time compensation, all of the compensations in our ECU are based on simple multiplication. For instance, if atmospheric conditions require 3% more fuel, the ECU multiplies the existing base pulsewidth by 1.03, and then adds the dead time compensation.

The dead time compensation is added to the base pulsewidth to linearize the output of the injector. By linearizing the output of the injector, the fuel flow responds accurately to the simple multiplication performed by the ECU.

Here’s how it works. Let’s consider a situation where we have a dead time compensation value of zero entered into our ECU. If our base pulsewidth is 5.000 ms, and our known injector dead time is .920 ms, the effective fuel flow of the injector is equivalent to a 4.080 ms pulsewidth.

(5.000 - .920 = 4.080)

Now let’s consider what happens when the manifold pressure doubles, and the ECU attempts to double the fuel flow of the injector by doubling the pulsewidth. If we take the base pulsewidth of 5.000 ms times 2, we get 10.000 ms. 10.000 ms minus our known injector dead time of .920 ms equals 9.080 ms, and so our effective fuel flow is equivalent to a 9.080 ms pulsewidth.

To quantify the results of doubling the pulsewidth, we divide 4.080 into 9.080 and we get 2.225 which shows that by doubling the pulsewidth, we have increased the fuel flow by 222.5%. The result is a 12.5% error!

(2.25/2.00=1.125, or 12.5%)

Now let’s consider the same injector and the same request for double the fuel flow with the correct dead time compensation applied.

With the correct value of .920 ms entered as our dead time compensation, our ECU will add .920 ms to our base pulsewidth of 5.000 ms for an actual pulsewidth of 5.920 ms. The resulting fuel flow is now equivalent to a 5.000 ms pulsewidth.

(5.920 - .920 = 5.000)

To double the fuel flow, our ECU will multiply the base pulsewidth of 5.000 ms by 2, and then add the dead time compensation value of .920 for an actual pulsewidth of 10.920 ms. The resulting fuel flow is now equivalent to a 10.000 ms pulsewidth.

(10.920 – .920 = 10.000)

To check our results, we divide 5.000 into 10.000, and we get 2.00 which is exactly what we were looking for.

Now let’s apply the same math to a more realistic situation and see what we get. We’ll consider a light throttle cruise condition with the following parameters:

Base Pulsewidth = 2.000 ms

Actual Known Injector Dead Time = .920ms

Incorrect Injector Dead Time (entered into the customer’s ECU) .600ms.

Static Injector Flow = 460cc/min

RPM = 2500

Lambda = .9500

The base pulsewidth of 2.000 ms represents the tuned value during our dyno session and includes the air temp, barometric pressure, manifold pressure and engine temp compensations before the dead time compensation is added.

With our incorrect dead time compensation value of .600 ms added to our base pulsewidth of 2.000 ms, our actual pulsewidth is 2.600 milliseconds. Based on our dynamic flow test results, we see that our actual fuel flow per injector is 32.200 cc/min.

Once our customer is in traffic, we may find that the air density decreases by 6% due to high air intake temperatures.

Our ECU will make a 6% correction to the base pulsewidth, and arrive at 1.887ms.

(2.000/1.06=1.887)

It then adds the incorrect dead time compensation value of .600 ms for an actual pulsewidth of 2.487milliseconds, and an actual fuel flow of 30.034 cc/min.

If we divide our corrected fuel flow of 30.034 cc/min by our original fuel flow of 32.200, and then take the reciprocal, we get1.072 which means that our fuel flow was actually reduced by 7.2% instead of the 6% that the ECU asked for!

((1/(30.034/ 32.200))=1.072, or 7.2%)

To find our error, we divide 1.072 (7.2%) by 1.06 (6%) and we get 1.011

If we multiply this by our target Lambda value of .950, we get .9607

Rounding this, we get a resulting Lambda of .961 and this may be lean enough to cause a slight surge, or lean misfire.

In this case, a slight leaning of the mixture may be acceptable. Maybe we tuned a bit on the rich side, or maybe the engine just doesn’t mind running a bit leaner.

What if the same “over correction” occurs while the motor is under boost? Did we give a large enough safety margin to account for this? If so, could we tune for higher horsepower if we knew that the ECU could properly account for changes in atmospheric conditions?

In the real world, we all apply some safety margin to our maps, but what happens if our customer finds that his E.T.s are inconsistent because of errors introduced through improper dead time compensation?

What if our customer is running a total loss electrical system and his battery voltage changes during a pass? The errors described above could easily be amplified if our dead time/battery compensation curve is incorrect!

And what about closed loop control? How effectively will our closed loop control work if it is constantly having to hunt for the correct air fuel ratio because it either over corrects, or under corrects at its first attempt to adjust the mixture?

The short story is that all the compensations in your ECU are based on the assumption that you have entered correct injector dead times. The dead time compensation linearizes the response of the injector, and if it is incorrect, fuel flow will never accurately follow the commands from your ECU.

Common Misconceptions:

1. You can tune around incorrect dead times – Yes you can, and as long as the engine never leaves your temperature and pressure controlled dyno room, it will run just as it did when you originally tuned it.

2. The injector dead time can be determined with an oscilloscope by measuring the amount of time it takes for the pintle to move to the fully open position – This is incorrect. The amount of time required for the pintle to move to the fully open position will always be greater than the actual dead time of the injector. The injector dead time is related to the difference between the actual dynamic flow, and the theoretical dynamic flow.

3. I can determine injector dead times with my flow bench which uses high viscosity, low volatility mineral spirits as a test fluid – This is only correct if you intend to run your engine on mineral sprits.

4. The injector dead time/battery compensation table only exists to account for low battery voltage - This is incorrect. Even at alternator voltage the injector does not respond instantly and so we need to account for that with our dead time compensation values.

Paul Yaw

Yaw Power Products


© Copyright 2003 Yaw Power Products. All rights reserved