Saturday, April 7, 2012

To the dyno!

It's all been fun and games until now, finally had a chance to see what it does at the dyno.

Two e36 M3's ran before me and set the bar at about 225 whp and 210 torque.  My best with the OBD1 ECU last year was 217whp, but the delivery wasn't smooth at all.  Lots of peaks and valleys.

227 SAE Hp, 226TQ  and a flat torque curve
Plot showing the increase going from my old OBD1 ECU to Megasquirt.
Here is the M54 with an S50b30 and S52b32. Same day, same dyno.  DISA really works!

I forgot to remove fuel cut at 6000.  whoops!  My power peaks at 6200 so I would have seen around 230whp. 
The mods on the motor at this point are ZHP cams, headers and a hot-air intake.  The exhaust is a "Y" into single 2.5".  Borla center muffler and Magnaflow rear muffler.  I pulled the rear muffler on the dyno last year and gained 3hp.  Does having a short intake tract overcome sucking hot air???

Hot air intake.  Air filter is attached where the MAF used to be. ABS pump is in the way of better routing.  Hot air is the secret for big power!  Not..
I needed to add a little timing near peak torque and pull timing above 5000.  This reflects those changes.

Auto-tune got me close, but I needed about 8% more fuel across the board at full load and then another 10% near peak torque at 3500.

Intake timing has a much stronger effect than exhaust timing.

  Megasquirt is weird on the exhaust side and you need to read it as 40 minus X to find the retard amount.  This shows 12 degrees of exhaust retard at 3000 at 100kPa.  Exhaust retard is very sensitive to your exhaust configuration, without headers use much less retard.
My exhaut, if anyone is curious. 

Thursday, April 5, 2012

EGO Correction

I haven't used EGO Correction until now because, theoretically, it's not needed.  If all of the tables are set correctly Megasquirt can run the motor in open-loop and always inject the perfect amount of fuel to achieve the AFR target.

I've gotten close, but now I'm getting lazy and enabling EGO Correction is easier than trying to get all of the tables and corrections perfect.  It works particularly well in cruise conditions and keeps the AFR on the lean side at low loads to help save gas.  I'm not using it at idle because I find it induces oscillations and it's better to just to tune the idle VE table.

Tuesday, January 24, 2012

Exhaust VANOS

It hasn't been a priority for me to get the exhaust cam working.  When I first started tuning the M54 I thought having control over exhaust timing was the holy grail of engine tuning, that great things would come from it.

After numerous trips to the dyno I gained exactly ZERO power with ANY amount of exhaust retard, anywhere.   I had best power by leaving it unplugged!

Like Spiderman's Uncle Ben said, "With great power comes great responsibility".   Use your exhaust powers wisely!

It wasn't until I installed the fantastic euro S50b32 headers that I found power by retarding the exhaust cam.

On to the nuts and bolts...

Datalog In is the only remaining input that is suitable for a +12v cam signal input.  As noted  by Megasquirt, the C12 cap is too large.  0.1uF delays the incoming signal by around .8ms which translates to around 4 degrees of error at 800 rpms.  What's worse is that the error grows significantly as the rpms increase and I saw the indicated cam position error increase by 15 degrees at 3000 rpms.  Unacceptable...  I removed this capacitor and the error disappeared.

Exhaust map.  Most retard at full load in the 3000rpm range.  Optimal retard highly dependend on your exhaust.
With my headers, I found that exhaust retard adds about 5hp in the 3000rpm area and needs to be advanced again at higher rpms. 

In theory, the exhaust can be retarded at lower loads to increase fuel economy but it won't increase power.

Megasquirt is programmed to target the minimum cam position + chart value so the "normal" position is 40.  25 on the chart is 15 degrees of retard.  I limit the advanced value to 38 to keep the integer value from winding-up and maxing-out the duty cycle to help the response time.  When the table is set to 40 the cam can't physically get there so the integer value keeps increasing to try to get it there.

Friday, January 6, 2012

Fuel Injector Heat soak

This one has taken me quite a while to narrow down.  The symptom is that with a heat-soaked start, such as when I stop at the grocery store for 20 minutes, the car will idle significantly leaner.

The usual suspect is heat-soaked MAT but I found that even with MAT correction completely turned off I was still having the issue.  The curious thing was that even at identical injector pulsewidths it was still idling much leaner.  For instance, at normal operating temperature my idle PW is 2.2ms and will be at around 14.4 AFR.  During a heat-soaked idle it will still be at 2.2ms but up around 16.0 AFR.


I started to hypothesize that the fuel injectors themselves were getting heat soaked and that the extra resistance in the copper coil windings was increasing the latency, therefore less of the 2.2ms PW was going towards delivering fuel.

I found some literature that showed injector latency can increase as much as 100ns which is .1ms.

If my idle PW is 2.2ms, that means the actual squirt is around 1.1ms with my normal 1.1ms latency.  (squirt + latency = 2.2ms).  If the latency is increased by .1 ms that means the squirt is reduced from 1.1ms to 1.0ms, a 10% reduction and certainly enough to explain the lean idle!
A plot of injector resistance with time after a hot shutdown.

I plotted injector resistance with time after a hot engine shutdown and found that the resistance does increase significantly.  I'm guessing it's the fuel that cools the injector when the engine is running.  As soon as the fuel flow stops it heats up, increases the resistance which increases latency.

I was hoping that I could correlate heat soak of the MAT with heat soak of the injector but I don't think it's good enough to use for software compensation.

For now, there's nothing that can be done to compensate for this directly.   Know that it exists and is not the same as MAT heat soak.   I don't use closed-loop EGO at idle because it creates more instability than it solves.

I would also recommend insulating the fuel rail since the fuel itself can boil causing similar issues.