Looks like I had a fuel economy break-through today. It's a bit early to say, but the theory is sound. And, I'm going to need to talk a little about ignition timing and cam phasing.
Ignition timing refers to when the ignition event is started in the cylinder. This can be advanced (happen sooner) or retarded (happen later). In engines with a distributor this is done by rotating the distributor, physically turning it, say, 5 degrees so that it trips 5 degrees sooner or later and fires the spark plug correspondingly. In engines with coil packs, ignition timing is 100% computer controlled and can happen any time.
After ignition it takes a brief period of time for the flame to propagate - ignition doesn't happen throughout the cylinder simultaneously, and it takes time to build up to peak pressure. There is an ideal crankshaft angle for peak cylinder pressure to happen, so you can start ignition sooner or later to try and hit this mark. If it happens too late, part of your "boom" goes out the exhaust, never having actually pushed the piston. This can lead to very hot exhaust gas temps and things like burnt valves. If you start it too soon, you're pushing straight down on a crankshaft which isn't yet at enough of an angle relative to the piston and you beat the crap out of your bearings.
I was surprised to learn in my research that ignition actually starts during the compression stroke,
before the piston gets to the top, so for a brief period of time you actually have negative work, where the ignition event is starting but the piston is still traveling upward. Advance ignition too far and in addition to beating up your bearings, you have a lot of negative work happening, literally part of the combustion event is trying to spin the engine backward.
There's also the risk of detonation: since ignition happens during the compression stroke, the piston is still compressing the contents of the cylinder
while the flame is propagating and pressure is building, and if cylinder pressure gets too high too soon (e.g. ignition is too early) you can cause the entire contents of the cylinder to auto-ignite just from heat and compression, much like how a diesel engine works. This is also called "knock".
Peak cylinder isn't just at a fixed number of degrees after ignition. Flame speed gets slower when you have a leaner or richer mixture than stoichiometric, and also gets slower when you have lower cylinder pressure, e.g. at part throttle. So, at part throttle you need more advanced (sooner) ignition than at full throttle to get peak cylinder pressure at the right time. Additionally, flame speed is basically the same whether you're running at 500rpm or 5000rpm, but since the piston is moving faster you need more advance to get it at the right time at higher RPM. I'm sure other factors can also impact it, such as humidity, temperature, etc., but the takeaway is that you need an ignition map which takes into account at the very least RPM and throttle.
It's generally considered more safe to have ignition timing that's too retarded than too advanced. Retarded ignition timing results in poor fuel economy, hot exhaust and less power. Slightly too advanced ignition timing can silently destroy your engine, even if you don't have any knock/detonation happening, though the risk is far higher at full throttle where the forces are greater. So, most advise NOT touching ignition timing without a dyno to measure power output, and to set ignition timing to the least amount of advance needed to make the most power (and then maybe back it off a degree or two).
~
In addition to fully adjustable ignition timing, K series engines also have the ability to rotate the intake camshaft forward or backward (up to 50 degrees total adjustment) on the fly. The main use of this, as I understand it, is to take advantage of resonance points and allow you to stuff more (or less) air into the cylinders. Typically you'll want much less cam advance at low throttle, increasing as throttle increases. You'll want the most advance at low RPM high throttle, decreasing as RPM increases.
A lot of advance at low throttle causes some overlap, where both intake and exhaust valves are open at the same time. Normally exhaust scavenging creates vacuum and pulls most of the spent combustion gasses out of the cylinder before the intake valves open to let fresh air in. However, when there's a lot of manifold vacuum and both sets of vales are open, manifold vacuum prevents all of the hot exhaust gasses from making it out of the cylinder.
This has a sortof similar effect to running lean burn; you end up filling the cylinder with a lot of inert gas and it has another chance for the heat in it to do useful work. It also allows for the throttle plate to be a lot more open, since there's a bunch of exhaust gas that's keeping some of your intake charge from getting into the cylinder. Essentially, it reduces pumping and vacuum losses.
HOWEVER, at a given manifold vacuum, you have a much leaner and less dense air and fuel mixture, the more intake cam advance you have. Which means, a timing map that works at 0 degrees intake cam advance does not apply to, say, 40 degrees of cam advance. You need a lot more ignition advance at higher MAP.
~
This brings me to this morning. I'm still in the process of re-tuning all of my fuel maps after fixing my temperature compensation curves, and yesterday I averaged ~38mpg on my way to work while running 40 degrees cam advance across the entire rev range. This morning I had the idea to advance timing at part throttle based on how much more throttle I had observed I needed to make the same power at higher cam advance. I arrived at work today with my MPGuino showing just under 50mpg, and saw as high as 55mpg cruising @ 68mph.
EDIT: It's worth noting that at 40 degrees intake cam advance, the engine stumbles and runs rough (probably from too much EGR) at very low RPM low throttle, and my timing maps are probably nowhere near ideal, but it was fun to see that such improvement is on the table.