Doc
October 1st, 2007, 9:44pm
taken from my_bd
Good read (snagged the links off of the HPT web site)
http://www.yawpower.com/injectordeadtimesarticle.html
http://www.yawpower.com/injectordynamics.html
PDF: http://tinyurl.com/2leobp
(what happened to attachments?)
----------------------------------------------------------------
Injector Dynamics Spreadsheet - Instructions
The Injector Dynamics spreadsheet is a powerful tool. To get the most out of it you should
understand how the data is generated, and what it all means. Many of you reading this already
understand the basic operation of a fuel injector, but will likely find new information in the text
which will broaden your understanding, and help you to get the most from the test results.
Basic Injector Operation
At first glance, the operation of a fuel injector seems quite simple. We apply voltage to a coil, and
the magnetic field generated by the coil pulls a disc, pintle, or ball off its seat allowing fuel to flow.
In other words, it is an electronically controlled on/off valve.
To find the flow rate of the injector, we can supply pressurized fuel at the inlet, apply voltage to the
coil, and measure the amount of fuel that flows through the injector in a given period of time. This
is called static flow testing, and the result is the static flow of the injector at the stated test pressure.
This type of testing has some validity in the sense that we can clearly show that one injector flows
more or less than another, but its ultimate usefulness is limited.
Once we install the injectors on the engine, we will not be holding them in the wide open or static
position, we will be cycling them on and off rapidly. This is a dynamic situation, and the dynamic
injector characteristics are far different than what the static flow test may predict. For this reason,
static flow testing has little value to the experienced tuner.
To gain a better understanding of an injector’s dynamic flow characteristics, consider the following.
Let's say that we perform a static flow test on an injector, and find that it flows 100cc's in one
minute. This information is valid, but it tells us nothing about the dynamic characteristics of the
injector.
Consider what happens if we turn the injector on and off at a high rate of speed, let's say 100 times
per second, and measure its flow for that same period of one minute. Obviously, the measured flow
would be less than the static flow, because the injector would only be flowing fuel for a portion of a
minute.
To be more exact, let's say that while the injector is cycling on and off, it spends equal amounts of
time turned on, and turned off.
In this scenario, the injector would be described as running at a 50% duty cycle, which simply
means that it spends 50% of its time in the on state. (More on this later)
In theory, our measured flow should equal 50% of the static flow, since the injector is turned on
50% of the time, right?
Wrong! Why you ask? As usual, when theory meets practical application Mother Nature rears her
ugly head, and the immutable laws of physics get in our way.
In practice, we find that three very important things happen which result in the measured flow being
less than what we estimated based on our static flow numbers.
The first is that the magnetic field which pulls the pintle off the seat takes a finite amount of time to
build. While this magnetic field is building, the pintle is sitting still on its seat, and so we have an
injector with voltage being applied, but absolutely no fuel flow!
Once the magnetic field becomes strong enough to pull the pintle off its seat, we run into issue
number two, which is the fact that the pintle is in no big hurry to move! Instead of snapping
immediately to its full open position, it lazily moves from the fully closed position (No fuel flow) to
the fully open position. (Full fuel flow)
Instead of having an injector that is on 50% of the time, and off 50% of the time, we have an
injector that spends a portion of its on time flowing no fuel, another portion of its on time at partial
flow, and the final portion of its on time at full flow.
As a result of all this, the actual fuel flow from our injector will be less than that predicted by static
flow testing.
Injector Dead Time
So now we can go to the spreadsheet for a visual representation of static vs. dynamic flow
characteristics. Open the Injector Dynamics spreadsheet, and click on the Dead Time Calculator
tab at the bottom of your screen. Note the difference between the red and blue lines on the chart.
Note: To the right of the chart you will find four buttons, two with an up arrow, and two with a
down arrow. Click the largest of the up buttons several times to move the yellow line out of the
way.
Looking at the chart, we see a group of numbers on the left side. These numbers are the scale for
the Y axis of the chart, and specify flow in cc's per minute. There is also a group of numbers at the
bottom of the chart. These numbers are the scale for the X axis, and specify the pulsewidth applied
to the injector in milliseconds.
The blue line represents your injector if it had zero opening delay. This theoretically perfect
representation is based on the static flow, and will flow 50% of static at a 50% duty cycle. (Or 30%
of static at a 30% duty cycle...)
The red line represents the actual fuel flow of your injector cycled on and off 100 times per second.
(Or my injector, if you have downloaded the sample Injector Dynamics spreadsheet.)
The difference between the theoretically perfect flow, and the actual flow is the result of the “lazy”
injector opening sequence described above.
As you may have guessed, there is still more to the story, but before we get to the third and final
issue which keeps our injector from having theoretically perfect flow, we need to gain a better
understanding of pulsewidths, and duty cycle.
Unfortunately, this requires a bit of math. (Don't turn off your computer yet, it's actually quite
simple.)
For starters, we stated in our example that we would be turning the injector on and off 100 times per
second. This rate of opening and closing is called the frequency, and is normally stated in Hertz or
Hz for short. In this case, 100Hz.
We can determine how long each cycle last by dividing the number of cycles into 1 second. 100
divided by 1 equals .01, which means that each cycle lasts .01 seconds. This is called the period.
(The length of time required to complete one cycle.)
In our example we also stated that we would be running the injector at a 50% duty cycle. From
this, we can calculate the pulsewidth.
We start by taking 50% of our period (Period of .01 times .5) and we get .005 seconds.
To convert this to milliseconds (1/1000th of a second) we multiply this by 1000, and we get 5
which is our pulsewidth in milliseconds.
To simplify: Period in seconds = 1 divided by the frequency in Hz.
Pulsewidth in seconds = Period times duty cycle.
Pulsewidth in milliseconds = Pulsewidth in seconds times 1000.
You should now have a clear understanding of the chart, and be able to determine duty cycle from
the actual pulsewidth, and vice versa.
So now we get to the third and final issue that keeps our injector from having perfect dynamic flow
characteristics.
When the voltage is released the pintle again moves lazily, this time from the fully open to the fully
closed position. The result is that the injector continues to flow a small amount of fuel after we
have removed voltage from the coil.
As opposed to what happens at the beginning of the cycle, the slow pintle movement on closing
results in increased flow rather than decreased flow, but not nearly enough to offset the reduced
flow on opening, and so the injector still flows less than we tell it to.
Now that we understand why an injector’s dynamic flow characteristics are not perfect, let's
consider how this would affect our ability to tune an engine.
Let's say that we are tuning an engine on the dyno, and we have a target air fuel ratio of 11.5:1.
After the first pass, we see that at some particular point on the map, the air fuel ratio is actually
12.5:1, and we want to richen it up. One approach would be to richen it by some arbitrary amount,
and make another pass to see where we end up.
A better approach would be to quantify our mixture in Lambda rather than air fuel ratio, as this
allows us to make easy calculations. Converting our air fuel ratios to Lambda, we get .850 for our
existing air fuel ratio, and.782 for our target air fuel ratio.
Note: Lambda = Actual air fuel ratio divided by stoichiometric air fuel ratio.
Being clever tuners, we realize that dividing the target Lambda into the existing Lambda will give
us a ratio that we can use to make an exact change in pulsewidth which will give us the air fuel ratio
that we are looking for. So we divide .85 by .782 and get 1.087 meaning that we need 8.7% more
fuel to achieve our target Lambda value.
Looking at our map, we see that our current pulsewidth is 5 milliseconds, and so 5 milliseconds
times 1.087 equals 5.44 milliseconds.
We change the map, make another pull, and find that the mixture is now much richer than we want
it to be. Why? Because we were not actually getting 5 milliseconds worth of fuel to begin with,
and so we applied a correction to an invalid number.
Our ECU told the injector to open for 5 milliseconds but it was effectively “dead” for a portion of
that time, and so our effective pulsewidth was less than the actual pulsewidth.
When we increased the pulsewidth, the dead time of the injector remained the same, but the
pulsewidth was longer, and so the dead time occupied a smaller portion of the pulsewidth.
To make this clearer, let’s put some numbers on it.
Let’s say that our injector dead time is .7 milliseconds. If we subtract .7 milliseconds from our
original pulsewidth of 5 milliseconds, we are left with 4.3 milliseconds which is our effective
pulsewidth.
After making the change to richen the mixture, we had a pulsewidth of 5.44 milliseconds.
Subtracting the dead time of .7 milliseconds, we were left with an effective pulsewidth of 4.74
milliseconds.
The result is that we increased the actual pulsewidth by 8.7%, but the increase in effective
pulsewidth was 10.2% (4.74 divided by 4.3 equals 1.102)
Since the dead time is fixed, as the pulsewidth is decreased, the dead time occupies a greater
portion of the pulsewidth, and so we find that the shorter the pulsewidth, the greater the error.
(If you’re still not convinced, consider that same dead time of .7 milliseconds applied to a 2
millisecond pulsewidth!)
The end result of the all this is that we can only guess, because the injector is not delivering the
amount of fuel that we tell it to. Fine you say, I'll just tune until it is right, and who cares what the
actual numbers are, as long as the air fuel ratios are correct!
That would be just fine if we were tuning in a climate controlled dyno room where the barometric
pressure and temperature remained constant, but what happens when we get the motor to the track,
or on the street where the atmospheric conditions are different?
Our ECU will sense the change in air density, say 10%, and automatically make a 10% correction
to the pulsewidth just like we did manually on the dyno. And just like our tuning session on the
dyno, the actual change in fuel flow will be greater than what the ECU asked for. So now we have
an engine that will only run at the proper air fuel ratio when atmospheric conditions are exactly the
same as on the dyno.
We may as well have a carburetor!
So are you discouraged yet? Don't be, there's a simple answer.
The injector dead time is fixed, at least within the linear range of the injector, and can be accounted
for if we know exactly what it is.
Dead Time Compensation
The manufacturer of your ECU realizes that injector dead time exists, and they have given you a
way to deal with it. All quality ECU's give you the option to enter an injector lag, dead time, offset,
battery compensation, etc.
Wait…did I say battery compensation???
I sure did. There are still a few more pieces to the puzzle. Both the amount of time required for the
magnetic field to build, and the ultimate strength of the magnetic field are dependant on the voltage
supplied to the injector.
As a result, the injector dead time increases as voltage is decreased. This is no problem, because
the ECU manufacturers have taken this into account, and you are expected to enter the injector dead
time for various battery voltages.
By including the injector dead time in the ECU’s internal calculations, it allows us to get the
amount of fuel that we are asking for. If we want 10% more fuel, we get 10% more fuel. The ECU
simply adds the injector dead time to the requested pulsewidth, resulting in accurate fuel delivery.
Once the dead time has been determined through dynamic flow testing, the ECU can properly
account for changes in atmospheric conditions, and we will spend far less time chasing our tail
when tuning. As an added benefit, our closed loop control will now work much more effectively
because when the ECU senses a 5% error, it can accurately apply a 5% correction.
If our injector dead times are incorrect, the closed loop control will spend a fair amount of time
hunting for the proper correction until it finally zeroes in on the requested air fuel ratio.
Unfortunately, operating conditions may change (Due to moving to a different point on the map)
before the closed loop control ever gets it right.
Good read (snagged the links off of the HPT web site)
http://www.yawpower.com/injectordeadtimesarticle.html
http://www.yawpower.com/injectordynamics.html
PDF: http://tinyurl.com/2leobp
(what happened to attachments?)
----------------------------------------------------------------
Injector Dynamics Spreadsheet - Instructions
The Injector Dynamics spreadsheet is a powerful tool. To get the most out of it you should
understand how the data is generated, and what it all means. Many of you reading this already
understand the basic operation of a fuel injector, but will likely find new information in the text
which will broaden your understanding, and help you to get the most from the test results.
Basic Injector Operation
At first glance, the operation of a fuel injector seems quite simple. We apply voltage to a coil, and
the magnetic field generated by the coil pulls a disc, pintle, or ball off its seat allowing fuel to flow.
In other words, it is an electronically controlled on/off valve.
To find the flow rate of the injector, we can supply pressurized fuel at the inlet, apply voltage to the
coil, and measure the amount of fuel that flows through the injector in a given period of time. This
is called static flow testing, and the result is the static flow of the injector at the stated test pressure.
This type of testing has some validity in the sense that we can clearly show that one injector flows
more or less than another, but its ultimate usefulness is limited.
Once we install the injectors on the engine, we will not be holding them in the wide open or static
position, we will be cycling them on and off rapidly. This is a dynamic situation, and the dynamic
injector characteristics are far different than what the static flow test may predict. For this reason,
static flow testing has little value to the experienced tuner.
To gain a better understanding of an injector’s dynamic flow characteristics, consider the following.
Let's say that we perform a static flow test on an injector, and find that it flows 100cc's in one
minute. This information is valid, but it tells us nothing about the dynamic characteristics of the
injector.
Consider what happens if we turn the injector on and off at a high rate of speed, let's say 100 times
per second, and measure its flow for that same period of one minute. Obviously, the measured flow
would be less than the static flow, because the injector would only be flowing fuel for a portion of a
minute.
To be more exact, let's say that while the injector is cycling on and off, it spends equal amounts of
time turned on, and turned off.
In this scenario, the injector would be described as running at a 50% duty cycle, which simply
means that it spends 50% of its time in the on state. (More on this later)
In theory, our measured flow should equal 50% of the static flow, since the injector is turned on
50% of the time, right?
Wrong! Why you ask? As usual, when theory meets practical application Mother Nature rears her
ugly head, and the immutable laws of physics get in our way.
In practice, we find that three very important things happen which result in the measured flow being
less than what we estimated based on our static flow numbers.
The first is that the magnetic field which pulls the pintle off the seat takes a finite amount of time to
build. While this magnetic field is building, the pintle is sitting still on its seat, and so we have an
injector with voltage being applied, but absolutely no fuel flow!
Once the magnetic field becomes strong enough to pull the pintle off its seat, we run into issue
number two, which is the fact that the pintle is in no big hurry to move! Instead of snapping
immediately to its full open position, it lazily moves from the fully closed position (No fuel flow) to
the fully open position. (Full fuel flow)
Instead of having an injector that is on 50% of the time, and off 50% of the time, we have an
injector that spends a portion of its on time flowing no fuel, another portion of its on time at partial
flow, and the final portion of its on time at full flow.
As a result of all this, the actual fuel flow from our injector will be less than that predicted by static
flow testing.
Injector Dead Time
So now we can go to the spreadsheet for a visual representation of static vs. dynamic flow
characteristics. Open the Injector Dynamics spreadsheet, and click on the Dead Time Calculator
tab at the bottom of your screen. Note the difference between the red and blue lines on the chart.
Note: To the right of the chart you will find four buttons, two with an up arrow, and two with a
down arrow. Click the largest of the up buttons several times to move the yellow line out of the
way.
Looking at the chart, we see a group of numbers on the left side. These numbers are the scale for
the Y axis of the chart, and specify flow in cc's per minute. There is also a group of numbers at the
bottom of the chart. These numbers are the scale for the X axis, and specify the pulsewidth applied
to the injector in milliseconds.
The blue line represents your injector if it had zero opening delay. This theoretically perfect
representation is based on the static flow, and will flow 50% of static at a 50% duty cycle. (Or 30%
of static at a 30% duty cycle...)
The red line represents the actual fuel flow of your injector cycled on and off 100 times per second.
(Or my injector, if you have downloaded the sample Injector Dynamics spreadsheet.)
The difference between the theoretically perfect flow, and the actual flow is the result of the “lazy”
injector opening sequence described above.
As you may have guessed, there is still more to the story, but before we get to the third and final
issue which keeps our injector from having theoretically perfect flow, we need to gain a better
understanding of pulsewidths, and duty cycle.
Unfortunately, this requires a bit of math. (Don't turn off your computer yet, it's actually quite
simple.)
For starters, we stated in our example that we would be turning the injector on and off 100 times per
second. This rate of opening and closing is called the frequency, and is normally stated in Hertz or
Hz for short. In this case, 100Hz.
We can determine how long each cycle last by dividing the number of cycles into 1 second. 100
divided by 1 equals .01, which means that each cycle lasts .01 seconds. This is called the period.
(The length of time required to complete one cycle.)
In our example we also stated that we would be running the injector at a 50% duty cycle. From
this, we can calculate the pulsewidth.
We start by taking 50% of our period (Period of .01 times .5) and we get .005 seconds.
To convert this to milliseconds (1/1000th of a second) we multiply this by 1000, and we get 5
which is our pulsewidth in milliseconds.
To simplify: Period in seconds = 1 divided by the frequency in Hz.
Pulsewidth in seconds = Period times duty cycle.
Pulsewidth in milliseconds = Pulsewidth in seconds times 1000.
You should now have a clear understanding of the chart, and be able to determine duty cycle from
the actual pulsewidth, and vice versa.
So now we get to the third and final issue that keeps our injector from having perfect dynamic flow
characteristics.
When the voltage is released the pintle again moves lazily, this time from the fully open to the fully
closed position. The result is that the injector continues to flow a small amount of fuel after we
have removed voltage from the coil.
As opposed to what happens at the beginning of the cycle, the slow pintle movement on closing
results in increased flow rather than decreased flow, but not nearly enough to offset the reduced
flow on opening, and so the injector still flows less than we tell it to.
Now that we understand why an injector’s dynamic flow characteristics are not perfect, let's
consider how this would affect our ability to tune an engine.
Let's say that we are tuning an engine on the dyno, and we have a target air fuel ratio of 11.5:1.
After the first pass, we see that at some particular point on the map, the air fuel ratio is actually
12.5:1, and we want to richen it up. One approach would be to richen it by some arbitrary amount,
and make another pass to see where we end up.
A better approach would be to quantify our mixture in Lambda rather than air fuel ratio, as this
allows us to make easy calculations. Converting our air fuel ratios to Lambda, we get .850 for our
existing air fuel ratio, and.782 for our target air fuel ratio.
Note: Lambda = Actual air fuel ratio divided by stoichiometric air fuel ratio.
Being clever tuners, we realize that dividing the target Lambda into the existing Lambda will give
us a ratio that we can use to make an exact change in pulsewidth which will give us the air fuel ratio
that we are looking for. So we divide .85 by .782 and get 1.087 meaning that we need 8.7% more
fuel to achieve our target Lambda value.
Looking at our map, we see that our current pulsewidth is 5 milliseconds, and so 5 milliseconds
times 1.087 equals 5.44 milliseconds.
We change the map, make another pull, and find that the mixture is now much richer than we want
it to be. Why? Because we were not actually getting 5 milliseconds worth of fuel to begin with,
and so we applied a correction to an invalid number.
Our ECU told the injector to open for 5 milliseconds but it was effectively “dead” for a portion of
that time, and so our effective pulsewidth was less than the actual pulsewidth.
When we increased the pulsewidth, the dead time of the injector remained the same, but the
pulsewidth was longer, and so the dead time occupied a smaller portion of the pulsewidth.
To make this clearer, let’s put some numbers on it.
Let’s say that our injector dead time is .7 milliseconds. If we subtract .7 milliseconds from our
original pulsewidth of 5 milliseconds, we are left with 4.3 milliseconds which is our effective
pulsewidth.
After making the change to richen the mixture, we had a pulsewidth of 5.44 milliseconds.
Subtracting the dead time of .7 milliseconds, we were left with an effective pulsewidth of 4.74
milliseconds.
The result is that we increased the actual pulsewidth by 8.7%, but the increase in effective
pulsewidth was 10.2% (4.74 divided by 4.3 equals 1.102)
Since the dead time is fixed, as the pulsewidth is decreased, the dead time occupies a greater
portion of the pulsewidth, and so we find that the shorter the pulsewidth, the greater the error.
(If you’re still not convinced, consider that same dead time of .7 milliseconds applied to a 2
millisecond pulsewidth!)
The end result of the all this is that we can only guess, because the injector is not delivering the
amount of fuel that we tell it to. Fine you say, I'll just tune until it is right, and who cares what the
actual numbers are, as long as the air fuel ratios are correct!
That would be just fine if we were tuning in a climate controlled dyno room where the barometric
pressure and temperature remained constant, but what happens when we get the motor to the track,
or on the street where the atmospheric conditions are different?
Our ECU will sense the change in air density, say 10%, and automatically make a 10% correction
to the pulsewidth just like we did manually on the dyno. And just like our tuning session on the
dyno, the actual change in fuel flow will be greater than what the ECU asked for. So now we have
an engine that will only run at the proper air fuel ratio when atmospheric conditions are exactly the
same as on the dyno.
We may as well have a carburetor!
So are you discouraged yet? Don't be, there's a simple answer.
The injector dead time is fixed, at least within the linear range of the injector, and can be accounted
for if we know exactly what it is.
Dead Time Compensation
The manufacturer of your ECU realizes that injector dead time exists, and they have given you a
way to deal with it. All quality ECU's give you the option to enter an injector lag, dead time, offset,
battery compensation, etc.
Wait…did I say battery compensation???
I sure did. There are still a few more pieces to the puzzle. Both the amount of time required for the
magnetic field to build, and the ultimate strength of the magnetic field are dependant on the voltage
supplied to the injector.
As a result, the injector dead time increases as voltage is decreased. This is no problem, because
the ECU manufacturers have taken this into account, and you are expected to enter the injector dead
time for various battery voltages.
By including the injector dead time in the ECU’s internal calculations, it allows us to get the
amount of fuel that we are asking for. If we want 10% more fuel, we get 10% more fuel. The ECU
simply adds the injector dead time to the requested pulsewidth, resulting in accurate fuel delivery.
Once the dead time has been determined through dynamic flow testing, the ECU can properly
account for changes in atmospheric conditions, and we will spend far less time chasing our tail
when tuning. As an added benefit, our closed loop control will now work much more effectively
because when the ECU senses a 5% error, it can accurately apply a 5% correction.
If our injector dead times are incorrect, the closed loop control will spend a fair amount of time
hunting for the proper correction until it finally zeroes in on the requested air fuel ratio.
Unfortunately, operating conditions may change (Due to moving to a different point on the map)
before the closed loop control ever gets it right.