MegaSquirt Acceleration Enrichment Tuning

First things first…

Before you start tuning the acceleration enrichment, make sure your VE tables are dialed in. Adding a correctly tuned amount of acceleration enrichment to an incorrectly tuned fuel table is still going to result in an incorrect amount of fuel. Since the acceleration enrichment is stacked on top of the fuel the ECU is commanding based on the VE table, you’ll want to tune AE last, after you’ve got the solid foundation of a well tuned VE table under you.

AE Tuning Basics – What is acceleration enrichment?

The standard AE under the Acceleration Wizard can be thought of like the accelerator pump on a carb, which shoots in some extra fuel when you suddenly hit the throttle to compensate for the massive influx of air when you open the throttle blades. The goal is to compensate for this influx of air for an instant during that transient until the the transient is over and the VE tables are again providing the proper amount of fueling. If your background is tuning carburetors, you can think of this as a very powerful fully adjustable/tunable accelerator pump that lets you compensate for more than one rate of throttle position change. Slow ‘tip-in’ can be adjusted with a certain PW adder, medium with another larger PW shot, mid-fast with another size PW squirt, and very fast throttle movements with another.

MAP Based AE or TPS based AE?

If you have a variable Throttle Position Sensor, we’d recommend 100% TPS based AE. MAP based AE does the trick if you’re running an engine without a usable TPS, but TPS based AE is generally easy to tune to the proper sensitivity level such that it activates when you want it to, and not when you don’t.

Typically the other settings in the bottom left area don’t need to be messed with too much, though I have sometimes found an Accel Time of .3 is better than the default of .2.

Setting the TPSdot/MAPdot Threshold Levels

First up– you need to determine what your TPSdot or MAPdot threshold will need to be. To access the Basic Acceleration Enrichment settings in TunerStudio, click the ‘Accel Enrich’ button at the top of the screen, and select ‘Acceleration Wizard’. Below the line graph charts, you’ll see a TPSdot threshold and a MAPdot threshold. These are the minimum amount of change of TPS position or MAP pressure reading, respectively, that are needed to trigger acceleration enrichment. Your goal is to set these high enough that the acceleration enrichment won’t accidentally trigger at steady throttle, but low enough that it’s sensitive enough to catch small/slow throttle movements as well. Setting it too high can mean the AE won’t kick in when you need it. Basically you want it as low as you can get it without it causing AE to trigger when it’s not supposed to, ie during steady throttle.

First off it helps to understand exactly what TPSdot and MAPdot are. TPS stands for Throttle Position Sensor. MAP stands for Manifold Absolute Pressure. Tagging ‘dot’ on the end of these indicates what you’re measuring is not how big of a change is made in throttle position or manifold pressure, but rather you’re measuring the rate of that change. Slow movements of the throttle will have a low TPSdot or MAPdot reading. Faster movements will have a higher number reading. MAPdot is measured in kPa/second, and TPSdot is measures in TPS %/second.

Getting this dialed in can be done methodically, or by trial and error. I prefer a little method to my madness ;). Here’s what I’d recommend. You’ll need to have a safe way to accelerate from the bottom to the top of a gear, preferably your 1:1 ratio gear, and you’ll want to datalog your engine idling, as well as these WOT pulls with your MegaSquirt EMS and TunerStudio. Ideally this is done on a dyno. Two to three pulls is better than one, but there’s no need to get carried away. Then you can stop the datalogging and load this log up into MegaLogViewer.

In MegaLogViewer, on the left using the drop-down boxes that let you select what data you are viewing in your logs, set one of these to TPSdot, and/or MAPdot. You can set another to TPS to show you what throttle position you were at as well. Additionally, monitoring injector pulsewidth (select PW in the log to view that data) is helpful too, as you’ll be able to see the commanded injector pulsewidth including the extra fuel added duing an AE event. Lastly, near the bottom right corner of MegaLogViewer you’ll see four indicators. Accel, Decel, Bit 7, and Bit 8. If either Accel or Bit 7 are active, that’s a Accel event and AE is adding fuel. If Decel or Bit 8 are active, that’s a Decel event and AE is pulling fuel if configured to do so. (Accel and Decel are used for TPS Driven AE, and Bit7/Bit8 are for MAP Driven AE).

Next look at the datalog section of the car idling. The TPS signal should be rock solid, no movement. If it’s jumping around, you have a noise issues on your TPS signal. This can be caused by ECU sensor signal wiring that’s been routed too close to high voltage sources such as ignition coils, plug wires, the distributor, etc. Re-routing those wires away from those high-voltage sources is ALWAYS a good idea. Additional possiblities for noise to get in the TPS signal could be a bad sensor ground, or a faulty TPS sensor. Similarly noise on the MAP signal could be electrical, but is more likely to actually be real movement in the manifold pressure, at least at the source you’re grabbing the vacuum signal from, meaning the port on your intake manifold that’s connected to the MAP sensor.

If you’re seeing AE events at idle, your TPSdot or MAPdot threshold is set too sensitive (too low of a number). You’ll see the pulse width bounce around when this happens as well, AE is just doing what you told it to do…

Now look at the datalog sections for the WOT pulls, step through these in the logs and look for any time AE activated (Accel or Decel). It shouldn’t be active at all on WOT pulls, because you’re at Wide Open Throttle, you’re not moving the throttle around, so AE is not needed. Again, if you are seeing AE activate during WOT pulls, your threshold is too sensitve.

In either case if you’re triggering AE when you shouldn’t be, you’ll want to increase the threshold value a bit above the highest TPSdot (or MAPdot) value you see it reach in the logs. This is the lowest you can set your threshold in order to be a sensitive as possible while not triggering at steady state throttle (or idle, which is also steady state throttle, it’s the steady state of NO throttle).

Note this setting is also the same setting you should use for your lowest (slowest rate of change) TPSdot or MAPdot field in the next section.

Tuning the Accel Enrichment Tables

The chart has an X and Y axis. Think of X (left-right axis) as ‘how fast you hit the gas pedal’. This is the first thing you want to adjust to set your available set points up for that slow, medium, mid-fast, and fast rates. The right-hand chart uses TPS, while the left-hand chart is MAP driven. The TPSdot rate is a calculus notation (don’t worry, you don’t need calculus to figure this out!) that simply means the rate of TPS reading change over time. In MS1, this is volts per second; in MS2 and MS3, this is % throttle opening per second. With the latter codes, a TPSdot value of 100 would mean going all the way from closed to open in one second. If you snapped the throttle open in half a second instead, it’s opening twice as fast, so you would have 200% TPSdot. The MAPDot version uses the rate of MAP change per second in all code variations. Having the MAP climb 50 kPa in one second, for example, is a MAPdot of 50 kPa/s.

This chart has ‘PW Adder ms’ on the (up/down) Y Axis. PW Adder ms stands for Pulse Adder in Milliseconds. This is how much extra pulsewidth will be commanded from the injectors to compensate for the throttle position change (Note that MS3 has a slightly different PW adder – the MS3 uses a percentage of Required Fuel instead of an absolute number, making the AE stay the same when you change injectors. More about this later). You can drag the blue dots around to move these points adjusting both the rate and the PW at the same time, or you can click the small buttom just to the top right of the table (…) to edit the values directly.

To tune these, start with the lowest speed throttle change position, and practice ‘tipping in’ at that rate of speed. Use the real-time line graph at the bottom of the page to see how fast you’re tipping in. When you’ve gotten use to applying the throttle at the right rate of speed to be close to the TPSDot number you’re using in the ‘slow’ setting, watch your wideband o2 sensor gauge, or better yet if it’s piped into the MS you’ll see it’s reading in that line graph. You want to be able to determine what’s happening when you stab the throttle at that rate of speed. Is it going lean or rich? Note that it’s hard to see this on a gauge, as often it will go one then the other really fast, you want the first response, if it goes lean then rich you’ll usually see it hit 20:1 or maybe 22:1 for just an instant, and then as it goes back to running purely the table it may go to 13:1 or whatever… you want to watch that initial response, and if the first response is to go lean, then you want to add fuel, if the first response is to go rich, you want to reduce fuel (pw).

A wideband o2 sensor is immensely helpful here, but don’t get too caught up in seeing perfect AFR numbers through the whole transient event, adjust it until it feels right, snappy and responsive with no hesitation. The feel is more important than looking for perfect numbers. If you want perfect number the EAE feature is what you should look at, and it’s beautiful… but is more involved to tune. Setup basic AE first as described here. Next you’ll adjust the other set points you’ve setup for faster throttle rate changes. Repeat the process for the medium speed tip in, then the mid-fast, then the fast. Voila… you’re throttle response is crisp and immediate, just like it should be.

Rescaling AE for different injectors

Did you have your AE dialed in until you changed your injectors? With MS3, you just need to recalculate Required Fuel and that should take care of rescaling your AE as well. On MS1 and MS2 you still need to recalculate req_fuel and that is 90% of the battle, but if the injectors are much larger than stock you’re going to have to tweak the Acceleration Enrichments as well. On these variations, the AE settings are tuned in static pulsewidths, and they’ll still be commanding the same PW as the smaller injectors were, which with the bigger injectors will dump in a LOT more fuel.

If you’re running large injectors and haven’t adjust AE for them yet, you’ll need to adjust the Acceleration Wizard. On the right, the TPS Based AE chart, you’ll want to reduce the ‘PW Adder ms’ settings. To do this the quick way, you can rough it in by determining how much bigger your injectors are over stock. If they’re twice as big as stock for instance, you’ll want to cut the PW commanded in half. If they’re 3x the size of stock, cut the PW commanded to 1/3 of the old values. You get the idea. Just doing that and making the adjustment based on the math will likely get you in much better shape. Then you can fine tune from there if needed.

Cold Accel Enrichment and Cold Accel Multiplier

These are used to add additional AE Pulsewidth when the engine is cold, and generally don’t need a lot of tuning from the default values.

Decel Fuel Amount

Similar to adding fuel on quick acceleration, this setting is to allow you to reduce fueling under rapid deceleration. 100% means you don’t reduce the fueling at all. 90% means you reduce it by 10% to a total of 90% of the fuel that would normally be commanded based on where in the VE table the engine is operating at that time.

Manual transmission vehicles, with the direct mechanical coupling to the drivetrain, can be touchy if you reduce this setting too much, and will protest your doing so by bucking when you decelerate. If you experience bucking on deceleration, increase this setting. We’ve found most manual trans vehicles are happy with this in the 90-95% range. If you’re running an auto trans the torque converter causes this to be far more forgiving and you can reduce this a bit futher, maybe down to the 70% range. Again, if it’s not happy there it may buck or bog a little to tell you that, if so, increase this setting.

AE RPM Scaling

This setting in MS2 and MS3 lets you compensate for how the engine needs less acceleration enrichment at high RPM. The setting is not on the Acceleration Wizard screen we’ve been working with so far, but instead from the Accel Enrich menu, you want to choose ‘Accel Enrich Settings’.

When the engine is pulling in more air at higher RPMs, the extra air means less fuel puddling in the intake, and this means you need less AE. This setting is found under Accel Enrich Settings, and the AE will start to taper off beginning at the RPM specified by the Low RPM Threshold. At the High RPM Threshold, the standard AE will completely turn off.

Further Reading

More information is available on the MSExtra.com documentation site at the link below. This also includes information on tuning the Enhanced Acceleration Enrichment if you prefer instead of the Basic AE we outlined in this article. EAE is very slick and can be configured to maintain a near perfect AFR throughout the entire AE transient, but does require a little more effort to configure. The docs at this link will walk you through that process if you’d prefer. If you’re new to tuning AE, start with basic AE. In most cases it will do an excellent job and it’s easier to wrap your head around how it works and how to properly configure it.