How to find your injector dead time
#1
How to find your injector dead time
Getting the injector dead time correct is important for getting a stable, accurate idle, and accurate AFR's while engine braking.
Injector dead time will differ from the manufacturer spec if the "flyback" voltage your ECU applies to the injectors is different than that during the manufacturer's tests.
Here is a method for measuring dead-time in-car.
Procedure:
Idle car while datalogging, and have a means of changing injector electrical pulse width slowly up and down while logging. Car must have a reasonably stable idle at a fairly fixed RPM, and battery voltage must be constant throughout.
Log MAP, AFR, Battery volts, and Injector electrical pulse width, while idling. Slowly raise and lower injector on time (I did it by changing the AEM's injector dead time vs. battery voltage, across 3 cells, straddling the battery voltage that I was seeing). Slowly raise and lower it until the RPM starts to drop significantly or the car starts to misfire. I could go from 11:1 to 16.3:1 or so and back. Do this several times, it may take you a few minutes.
Then examine the datalogs. Do an XY plot. Plot MAP divider AFR on the X-axis, then injector on-time on the Y-axis. You can use AEMLog for this, or MS Excel. Excel has the advantage of having a linear curve fit ("trendline, linear"). The datapoints should form a line. If you project this line to the Y-axis, the intercept is the dead time. See attached.
In Excel, do a scatter plot, then add a trendline. Select "linear", and in the options, select "show equation". If your data is clean and has little noise, the Y-intercept will show in the equation. If not, select "Set Intercept", and try different values until the trendline appears to describe the quiet part of the data. In my example, it's 930 us. This is for a friend's 750cc RC hi-impedance injectors. Note that on the bottom left of the data, there appears to be an arrowhead shape. This is noise in the data, due to lean misfire, at narrow injector duty cycles / leanness.
Injector dead time will differ from the manufacturer spec if the "flyback" voltage your ECU applies to the injectors is different than that during the manufacturer's tests.
Here is a method for measuring dead-time in-car.
Procedure:
Idle car while datalogging, and have a means of changing injector electrical pulse width slowly up and down while logging. Car must have a reasonably stable idle at a fairly fixed RPM, and battery voltage must be constant throughout.
Log MAP, AFR, Battery volts, and Injector electrical pulse width, while idling. Slowly raise and lower injector on time (I did it by changing the AEM's injector dead time vs. battery voltage, across 3 cells, straddling the battery voltage that I was seeing). Slowly raise and lower it until the RPM starts to drop significantly or the car starts to misfire. I could go from 11:1 to 16.3:1 or so and back. Do this several times, it may take you a few minutes.
Then examine the datalogs. Do an XY plot. Plot MAP divider AFR on the X-axis, then injector on-time on the Y-axis. You can use AEMLog for this, or MS Excel. Excel has the advantage of having a linear curve fit ("trendline, linear"). The datapoints should form a line. If you project this line to the Y-axis, the intercept is the dead time. See attached.
In Excel, do a scatter plot, then add a trendline. Select "linear", and in the options, select "show equation". If your data is clean and has little noise, the Y-intercept will show in the equation. If not, select "Set Intercept", and try different values until the trendline appears to describe the quiet part of the data. In my example, it's 930 us. This is for a friend's 750cc RC hi-impedance injectors. Note that on the bottom left of the data, there appears to be an arrowhead shape. This is noise in the data, due to lean misfire, at narrow injector duty cycles / leanness.
#4
Bummer, looks like your injectors have 2 distinct slopes. A shallower one, with an effective dead time of ~1.5 ms (eyeballing it), at smaller PW's, and a steeper one starting at about 1.85 ms of electrical pulse width, with about 0.9 ms effective dead time.
For idle stability I'd use the 1.5 ms number. This would mean the VE table entries in the range of 2-2.5 ms would need adjusting.
I saw a paper out there that describes how OEs program a dual-slope deadtime like this. It's actually described in some OE injector datasheets.
For idle stability I'd use the 1.5 ms number. This would mean the VE table entries in the range of 2-2.5 ms would need adjusting.
I saw a paper out there that describes how OEs program a dual-slope deadtime like this. It's actually described in some OE injector datasheets.
#6
Anyone know the deadtime of RC750s
Nevermind, I just plotted one of my datalogs. It appears that my deadtime is .21ms
What can I do with this???
This was an entire datalog, but I will datalog at idle when I am at home. I'll plot and post the results.
Nevermind, I just plotted one of my datalogs. It appears that my deadtime is .21ms
What can I do with this???
This was an entire datalog, but I will datalog at idle when I am at home. I'll plot and post the results.
Last edited by miatauser884; 05-18-2011 at 06:08 PM.
#8
Elite Member
iTrader: (3)
Join Date: Apr 2008
Location: Outside Portland Maine
Posts: 2,023
Total Cats: 19
I just performed this test three times and got 1.4ms the first time, .95 the second time, and 1.8 the third time. I am clearly messing something up, but I'm not sure exactly what. I used the inj open time adjustment to move the pulse width up and down. After the first test, I re-tuned my idle VE using an injector dead time of 1.4, then I performed the test again, and got .95. I then re-tuned idle for that, performed the test again and got 1.8.
All three of my graphs look a lot like yours (once I delete the outliers caused by misfires), with no noise to speak of. Do you have any suggestions on what could be causing this variance?
The injectors are Bosch 570cc high-impedance.
All three of my graphs look a lot like yours (once I delete the outliers caused by misfires), with no noise to speak of. Do you have any suggestions on what could be causing this variance?
The injectors are Bosch 570cc high-impedance.
#9
Boost Czar
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
Bummer, looks like your injectors have 2 distinct slopes. A shallower one, with an effective dead time of ~1.5 ms (eyeballing it), at smaller PW's, and a steeper one starting at about 1.85 ms of electrical pulse width, with about 0.9 ms effective dead time.
For idle stability I'd use the 1.5 ms number. This would mean the VE table entries in the range of 2-2.5 ms would need adjusting.
I saw a paper out there that describes how OEs program a dual-slope deadtime like this. It's actually described in some OE injector datasheets.
For idle stability I'd use the 1.5 ms number. This would mean the VE table entries in the range of 2-2.5 ms would need adjusting.
I saw a paper out there that describes how OEs program a dual-slope deadtime like this. It's actually described in some OE injector datasheets.
i can control the deadtime/ voltage correction curve of each injector. but i'd have to figure out each one...
EDIT: Whoops misread.
my AFRs and MAP go bonkers at low 1.7XXms areas, I used to idle in the range and got 14.5-14.7:1. Now I need to maintain closer to 1.8xxms which is 13.5:1; trying to diagnosis my motor.
I'm getting the feeling my injectors are getting tired, or maybe got damaged from my bad regulator, that allowed the system voltage to spike into +20v. My boost solenoid took a crap afterwards...
Last edited by Braineack; 05-18-2011 at 07:09 PM.
#10
Boost Czar
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
Going back and adding two trend lines and removing all the data from below 1.2ms. I see what you're talking about. looks like 1.6ms is the lowest I can go...probably why my **** freaks out when I push it. Seems to get shorter when I approach 1.8ms PW.
#11
my AFRs and MAP go bonkers at low 1.7XXms areas, I used to idle in the range and got 14.5-14.7:1. Now I need to maintain closer to 1.8xxms which is 13.5:1; trying to diagnosis my motor.
Average battery voltage is 13.7V and deadtime is 1.19ms
It might be nice to have an idle feature that tunes for pulsewidth instead of afr. If you lock a constant PW, then you might not get all of the undulations associated with VE adjusting the pulsewidth.
I think the graph looks the way it does because the MAP/ AFR started oscillating as the car warmed up..
Last edited by miatauser884; 05-18-2011 at 07:42 PM.
#12
Boost Czar
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
do it again when completely warm without EGO or enrichments.
but yeah thats why. With lareger injectors with slow deadtimes, you can't idle stoich. you cant cycle the injectors fast enough.
I'm on seq. injection and a swear not 3 weeks ago I could idle at 15.0:1 perfectly fine. Then my alternator failed and my whole car went to ****.
but yeah thats why. With lareger injectors with slow deadtimes, you can't idle stoich. you cant cycle the injectors fast enough.
I'm on seq. injection and a swear not 3 weeks ago I could idle at 15.0:1 perfectly fine. Then my alternator failed and my whole car went to ****.
#13
do it again when completely warm without EGO or enrichments.
but yeah thats why. With lareger injectors with slow deadtimes, you can't idle stoich. you cant cycle the injectors fast enough.
I'm on seq. injection and a swear not 3 weeks ago I could idle at 15.0:1 perfectly fine. Then my alternator failed and my whole car went to ****.
but yeah thats why. With lareger injectors with slow deadtimes, you can't idle stoich. you cant cycle the injectors fast enough.
I'm on seq. injection and a swear not 3 weeks ago I could idle at 15.0:1 perfectly fine. Then my alternator failed and my whole car went to ****.
#14
Big injectors need accurate dead-time numbers, because the flow is dependent on the difference of 2 large numbers.
For example. Assume 1.0 ms dead-time for both big and small injectors below.
A wee injector may need 0.9 us of fuel delivery at idle. So electrical pulse must be 1.9 ms. If you set the wrong deadtime, at say 1.1 ms, then the ECU will send 2.0 ms total. That's an extra 0.1 ms out of 0.9 ms of injector open time, or an error of 11%.
Let's say you switch to 3x larger injectors. It now requires 1.3 ms of electrical pulse width. If you set the dead-time to 1.1 ms, that's an error of 0.1 out of 0.3 ms, or a 33% error. Much larger.
To make matters worse:
- dead-time changes with batt volts (we know this and correct for it). I have a big bench PSU that can supply the car's power while idling with the alternator and battery disconnected. So I can do the above experiment at different batt volts.
- dead-time changes with the built-in flyback clamp voltage of the injector drivers. Higher makes dead-time longer. 33V is a common value (AEM uses this IIRC), but I don't know how much they vary per ECU. It's not published. (except for the MS) You can't share dead-time numbers if the flyback voltage is different. Additionally, an injector driver circuit may be designed to have a precise flyback voltage and it will then vary from inj 1 through 4, and from unit to unit. And, if the injector manuf doesn't spec the flyback voltage, you don't know if they apply to you.
- The dead-time varies with injector temperature, especially with hi impedance injectors. My 600cc DW for example, goes from 920 us cold, to 1.05 ms warm. If I set it to 1.05 ms, my warmup is pig rich. If I set it low, when warm I get a lean misfire at low MAP and stalling at idle. And no you can't really compensate for it with the warmup talbes, the dynamics of correcting for dead-time is different than just trimming the fuel. A warmup trim will lean it out everywhere, not just at low inj on-times.
- variation due to batt volts is also worse with hi impedance injectors.
- ECU's don't always report batt volts accurately. My AEM for example, has about a 0.35 V drop somewhere that suspiciously acts like a reverse-protection Schottky diode drop...
Having said all that, I hatched a circuit idea to make hi-impedance injectors act more like lo-impedance ones, remove sensitivity to batt votlage, and reduce sensitivity to temperature........
For example. Assume 1.0 ms dead-time for both big and small injectors below.
A wee injector may need 0.9 us of fuel delivery at idle. So electrical pulse must be 1.9 ms. If you set the wrong deadtime, at say 1.1 ms, then the ECU will send 2.0 ms total. That's an extra 0.1 ms out of 0.9 ms of injector open time, or an error of 11%.
Let's say you switch to 3x larger injectors. It now requires 1.3 ms of electrical pulse width. If you set the dead-time to 1.1 ms, that's an error of 0.1 out of 0.3 ms, or a 33% error. Much larger.
To make matters worse:
- dead-time changes with batt volts (we know this and correct for it). I have a big bench PSU that can supply the car's power while idling with the alternator and battery disconnected. So I can do the above experiment at different batt volts.
- dead-time changes with the built-in flyback clamp voltage of the injector drivers. Higher makes dead-time longer. 33V is a common value (AEM uses this IIRC), but I don't know how much they vary per ECU. It's not published. (except for the MS) You can't share dead-time numbers if the flyback voltage is different. Additionally, an injector driver circuit may be designed to have a precise flyback voltage and it will then vary from inj 1 through 4, and from unit to unit. And, if the injector manuf doesn't spec the flyback voltage, you don't know if they apply to you.
- The dead-time varies with injector temperature, especially with hi impedance injectors. My 600cc DW for example, goes from 920 us cold, to 1.05 ms warm. If I set it to 1.05 ms, my warmup is pig rich. If I set it low, when warm I get a lean misfire at low MAP and stalling at idle. And no you can't really compensate for it with the warmup talbes, the dynamics of correcting for dead-time is different than just trimming the fuel. A warmup trim will lean it out everywhere, not just at low inj on-times.
- variation due to batt volts is also worse with hi impedance injectors.
- ECU's don't always report batt volts accurately. My AEM for example, has about a 0.35 V drop somewhere that suspiciously acts like a reverse-protection Schottky diode drop...
Having said all that, I hatched a circuit idea to make hi-impedance injectors act more like lo-impedance ones, remove sensitivity to batt votlage, and reduce sensitivity to temperature........
#15
2 Props,3 Dildos,& 1 Cat
iTrader: (8)
Join Date: Jun 2005
Location: Fake Virginia
Posts: 19,338
Total Cats: 573
once I get leaner than 14.7, the dead times go crazy.
but richer than that it trends fairly well.
these are RC550 low impedance.
what I *dont* get is that old timey measurements (Jason, you might remember from Tec3 days) suggest dead times closer to .62ms at 13.5V.
but richer than that it trends fairly well.
these are RC550 low impedance.
what I *dont* get is that old timey measurements (Jason, you might remember from Tec3 days) suggest dead times closer to .62ms at 13.5V.
#16
I redid mine this morning when it was warmed up and got 1.15ms this was with a stable idle at around 14.0:1.
Is there a place to adjust the deadtime for MS2? Is this the "injector open time" in "injector characteristics" in tunerstudio?
Mine is set at 1.0ms. That's a 15%-20% error that could be corrected. This tells me that MS thinks it only takes 1.0ms to open and close the injector, but it actually takes 1.15ms to 1.2ms
It also has a .2ms/V correction for battery voltage.
Is there a place to adjust the deadtime for MS2? Is this the "injector open time" in "injector characteristics" in tunerstudio?
Mine is set at 1.0ms. That's a 15%-20% error that could be corrected. This tells me that MS thinks it only takes 1.0ms to open and close the injector, but it actually takes 1.15ms to 1.2ms
It also has a .2ms/V correction for battery voltage.
#17
Boost Czar
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
yeah, take heed of the voltage number MS2 wants you to use for that number. IIRC it's 13.2v. My battery votlage was offset about 1 full voltage measuring the battery with a DMM and comparing to my TS output.
I tried using 1.5ms this morning and adjusting my REQ_Fuel to compensate, didn't seem correct 1.708ms was reporting 12.0:1. Went back to teh 1.2ms value i've been using for 4 years. Where 1.7xxms was reporting 13.5ish.
I still think something is a miss with my setup. I could idle leaner before at around the same pulsewitdh. I'm unable to idle leaner than 14.0:1 without the engine going to ****. So either my injectors are on teh way out (like I said I had voltage spikes, I lost my boost solenoid) or I have other issues. HG seems fine, I've done everything else, so I'm left with hurt injectors.
I tried using 1.5ms this morning and adjusting my REQ_Fuel to compensate, didn't seem correct 1.708ms was reporting 12.0:1. Went back to teh 1.2ms value i've been using for 4 years. Where 1.7xxms was reporting 13.5ish.
I still think something is a miss with my setup. I could idle leaner before at around the same pulsewitdh. I'm unable to idle leaner than 14.0:1 without the engine going to ****. So either my injectors are on teh way out (like I said I had voltage spikes, I lost my boost solenoid) or I have other issues. HG seems fine, I've done everything else, so I'm left with hurt injectors.
#18
Now I'm haveing trouble understanding what I should be doing with these values as far as tunerstudio and adjusting my tune.
I just completed an idle session that was very stable. 13.7V and 1.30 deadtime.
I have an injector open time in tunerstudio of 1ms and a battery offset of .2ms/V. (13.7-13.2)*.2ms/V is .1ms correction (most likely reducing pulse by .1ms)
How should I try to adjust the injector characteristics in tunerstudio?
I just completed an idle session that was very stable. 13.7V and 1.30 deadtime.
I have an injector open time in tunerstudio of 1ms and a battery offset of .2ms/V. (13.7-13.2)*.2ms/V is .1ms correction (most likely reducing pulse by .1ms)
How should I try to adjust the injector characteristics in tunerstudio?
#19
Elite Member
iTrader: (1)
Join Date: Jun 2006
Location: Warrington/Birmingham
Posts: 2,642
Total Cats: 42
What's wrong with working out the deadtime on MS by reverting to batch injection and then swopping between 2 and 4 squirts and adjusting the dead, (sic opening), time until the AFR's match?
You don't need to re-wire a fully sequential car, Jean changed the code so by just turning off the additional drivers means your car reverts to batch injection. I'd have thought you could do something similar on MS3 re Batch injection.
You don't need to re-wire a fully sequential car, Jean changed the code so by just turning off the additional drivers means your car reverts to batch injection. I'd have thought you could do something similar on MS3 re Batch injection.