That non-existent heat soak feeling
#1
That non-existent heat soak feeling
Gents,
I took the car out yesterday to tune AE, but also to see how she would do with the higher temps. It was 30 degrees warmer than dyno day.
Please scroll to 1030 seconds. AFRs are in the 16s. I have some throttle applied--she wasn't coasting. EGO is on, but the AFRs didn't come down far enough. The VE table in the lower 1200 rpm column seem normal, so I was wondering if something else was going on.
On a related note, I may need a tutorial on air temperature correction. I have the correction set at 100% for every temp 50 degrees and above. I would have thought she would go rich--and it seems to at speed, but I can't explain what's happening around idle.
Thanks,
I took the car out yesterday to tune AE, but also to see how she would do with the higher temps. It was 30 degrees warmer than dyno day.
Please scroll to 1030 seconds. AFRs are in the 16s. I have some throttle applied--she wasn't coasting. EGO is on, but the AFRs didn't come down far enough. The VE table in the lower 1200 rpm column seem normal, so I was wondering if something else was going on.
On a related note, I may need a tutorial on air temperature correction. I have the correction set at 100% for every temp 50 degrees and above. I would have thought she would go rich--and it seems to at speed, but I can't explain what's happening around idle.
Thanks,
#2
The current mainstream theory seems to be that what you're seeing at idle is injector heat-soak. To break it down:
- At higher loads (longer injector opening times) and higher temperatures, without any IAT correction, you experience a mixture richer in fuel than under the same conditions at lower temperatures. This agrees with the laws of physics that warmer air is less dense and contains therefore fewer molecules of oxygen in the same volume. Since MAP-based tuning estimates required fuel from volumetric efficiency, we need to correct for the less dense charge.
- At lower loads (shorter injector opening times) and higher temperatures, even without any IAT correction, you experience a mixture leaner in fuel than under the same conditions at lower temperatures. This is explained by the change of injector behavior with temperature. Warmer injector coils have higher resistance and therefore have less current going through them. This means a weaker magnetic field and the injector opens more slowly. So now our dead-time is longer than at lower temperatures and our dead-time compensation is wrong.
Why doesn't injector temperature seem affect the high-load scenario? It does, but it is drowned out by the effect of the lower charge density.
Example: If your injector is supposed to open for 1ms and your expected dead-time is also 1ms, the ECU commands power to the injector for 2ms. If the dead-time is off by only 0.2ms because of injector temperature, we now have an effective opening time of only 0.8ms. This means approx. 20% less fuel and the car running lean. Even if air-density is only 95% of what it is at lower temperatures, your still missing around 15% fuel.
Now picture the same exact scenario for higher loads. Lets say under full throttle your injector is supposed to be open for 10ms. We deduct the same 0.2ms as before for incorrect dead-time. This means we effectively only open for 9.8ms. We're running 2% leaner than planned. Now add in the fact that we only have 95% charge density at higher temp, so we need actually 5% less fuel than at lower temperature and all the sudden we're running 3% richer.
So running rich at high load and lean close to idle can be explained by air-density change and temperature-dependent injector behavior occurring at the same time.
- At higher loads (longer injector opening times) and higher temperatures, without any IAT correction, you experience a mixture richer in fuel than under the same conditions at lower temperatures. This agrees with the laws of physics that warmer air is less dense and contains therefore fewer molecules of oxygen in the same volume. Since MAP-based tuning estimates required fuel from volumetric efficiency, we need to correct for the less dense charge.
- At lower loads (shorter injector opening times) and higher temperatures, even without any IAT correction, you experience a mixture leaner in fuel than under the same conditions at lower temperatures. This is explained by the change of injector behavior with temperature. Warmer injector coils have higher resistance and therefore have less current going through them. This means a weaker magnetic field and the injector opens more slowly. So now our dead-time is longer than at lower temperatures and our dead-time compensation is wrong.
Why doesn't injector temperature seem affect the high-load scenario? It does, but it is drowned out by the effect of the lower charge density.
Example: If your injector is supposed to open for 1ms and your expected dead-time is also 1ms, the ECU commands power to the injector for 2ms. If the dead-time is off by only 0.2ms because of injector temperature, we now have an effective opening time of only 0.8ms. This means approx. 20% less fuel and the car running lean. Even if air-density is only 95% of what it is at lower temperatures, your still missing around 15% fuel.
Now picture the same exact scenario for higher loads. Lets say under full throttle your injector is supposed to be open for 10ms. We deduct the same 0.2ms as before for incorrect dead-time. This means we effectively only open for 9.8ms. We're running 2% leaner than planned. Now add in the fact that we only have 95% charge density at higher temp, so we need actually 5% less fuel than at lower temperature and all the sudden we're running 3% richer.
So running rich at high load and lean close to idle can be explained by air-density change and temperature-dependent injector behavior occurring at the same time.
#4
I've had a bunch of issues with injector heat soak, it's a problem inherent to big injectors on a small motor because the longer the dead time relative to the idle pulse width, the bigger the issue.
So the megasquirt doesn't have a table for injector heat soak dead time compensation. That's a solvable problem (it's just software and the code is available, albeit not freely redistributable), but you need a good measure of the injector temperature and we don't have that.
As I see it, there are three main temperature ranges that are relevant: Cold start, normal running temperature, and heat soak after being parked for 10 minutes. The best I've come up with is to program the megasquirt's dead time numbers for the normal running temp and live with it being off in the other two. A richer idle at cold start is fine, it's not enough of an issue (at least, not with my id1000s) to really hurt anything. Lean idle after being parked and heat soaked is more of an issue, but I've just lived with it by giving it a bit more throttle for the few minutes it takes to cool down. As you flow fuel through the injectors it cools them.
My NB is still a non-return system. A return fuel system should cool the injectors down faster, because there's more fuel flowing through the rail.
One could use a thermal paste to attach a thermocouple to the fuel rail, measure that temperature, and add a compensation table. That's probably better than nothing, but it's really the temperature of the injectors we care about, not that of the rail.
Theoretically, it's possible to measure the current through the injectors and determine the resistance to build a better compensation table. A friend and I experimented with this a bit, but didn't get anywhere yet (our initial measurements were too susceptible to noise, so it needs a current measurement on the board rather than hacked up with loose wires).
--Ian
So the megasquirt doesn't have a table for injector heat soak dead time compensation. That's a solvable problem (it's just software and the code is available, albeit not freely redistributable), but you need a good measure of the injector temperature and we don't have that.
As I see it, there are three main temperature ranges that are relevant: Cold start, normal running temperature, and heat soak after being parked for 10 minutes. The best I've come up with is to program the megasquirt's dead time numbers for the normal running temp and live with it being off in the other two. A richer idle at cold start is fine, it's not enough of an issue (at least, not with my id1000s) to really hurt anything. Lean idle after being parked and heat soaked is more of an issue, but I've just lived with it by giving it a bit more throttle for the few minutes it takes to cool down. As you flow fuel through the injectors it cools them.
My NB is still a non-return system. A return fuel system should cool the injectors down faster, because there's more fuel flowing through the rail.
One could use a thermal paste to attach a thermocouple to the fuel rail, measure that temperature, and add a compensation table. That's probably better than nothing, but it's really the temperature of the injectors we care about, not that of the rail.
Theoretically, it's possible to measure the current through the injectors and determine the resistance to build a better compensation table. A friend and I experimented with this a bit, but didn't get anywhere yet (our initial measurements were too susceptible to noise, so it needs a current measurement on the board rather than hacked up with loose wires).
--Ian
#7
Could it be fixed with a different Small Pulse Width Curve?
I would be willing to try the previous straight line Small Pulse Width curve if it wasn't going to do anything harmful with the current tune. I'm retired AF. I have a complete distrust of software.
Thanks,
#8
This is speculation, but it's possible that your previous dead-time values were too small. You'd still get the same injector dead time skew, but it would tend to err on the rich side rather than on the lean side, and engines are generally much happier to idle when rich than when lean.
Changing the small pulse width curves by a small amount is unlikely to damage anything.
--Ian
Changing the small pulse width curves by a small amount is unlikely to damage anything.
--Ian
#12
So the answer then is to use the smallest injector size that meets my horsepower requirements? She's making 211hp/170tq, ~60% injector duty cycle at WOT, if I remember right. The Flow Force injectors are rated at 788cc. That means I'd need about 500cc to have a little headroom left?
Thanks,
Thanks,