User Tools

Site Tools


ECU-based Boost Control Setup

The high-level summary of what we're going to do here is provided below.

  1. Set base duty cycle to 0% and then increase from there to prove that you have proper control over your boost pressure.
  2. Configure the base duty cycle table to build “about” the boost that you want.
  3. If you don't want to do error correction, you can stop here and just fine tune.
  4. If you want to enable error correction, then you can enable that now and start making some pulls to collect data.
  5. Use the learned error correction datalogs and the Set boost tables helper function to copy over data from your logs into the base tables.

Approach 1: Just disable error correction

By far, the easiest approach to dialing in the boost tables is to simply disable error correction. When you do that, you can ignore the Boost Target table entirely and just tweak the Base Duty Cycle to get about what you want. In fact, doing this is the starting point for setting up the boost target table for use with error correction.

Start by checking the Disable error correction checkbox on the Boost (WGS) tab (after you have already checked the Enable boost control checkbox, of course).

Confirm that you have control

The first step is to confirm that you actually have some control over your boost.

Set the base duty cycle table to 0% across the board. You can do this by selecting all the cells in the table at once, right clicking on those cells and the selecting the Zero values menu item..

Go make a pull and confirm that you're getting wastegate pressure (probably around 10-15psi depending on the wastegate). You may find that you get some boost creep towards the end of the pull. That's usually fine too. You're just looking to see the minimum amount of boost you can achieve with your current setup.

Now, try increasing the base duty cycle table a bit and see that you can build more boost as the duty cycle values go up. Try setting all the cells to 50%, then 65%, then 80%, etc. You *should* see boost increase as the duty cycle increases. If it does, great…you have everything installed correctly and your system is working in a predictable manner. If not, review the install page to see if you can find what's wrong.

Pick a point

Now that you know you have control over boost, you basically just tweak the base duty cycle numbers to get the boost you want. This might take some time, particularly in the areas where boost is typically building. It's not bad, it just takes a few passes to get it right.

Approach 2: Enable error correction

Start by following the procedure in Approach 1 to get your base duty cycle around where you want it.

Setting up the Boost Target table baseline


This step is very important to get a good baseline for error correction.

Once you have the base duty cycle table set up, you'll want to start with a good Boost Target table that mimics what the turbo actually does. This is particularly important in off boost areas where the turbo just can't build full boost. Setting a boost target too high in this area *will* result in over shoot after you enable error correction because the error correction logic will ramp up the duty cycle trying to achieve a boost target that the turbo just can't do.

So once you get into an area where the turbo can build boost, you'll already have elevated duty cycle values and the boost pressure will over shoot before error correction has a chance to drop the duty cycles back down. This can also result in oscillation as the error correction logic tries to fix itself in both directions.

So you can see it's very important to start with a Boost Target table that has an accurate representation of what the turbo can actually do.

Collecting some data

You can get a good Boost Target starting point by making a long 1st, 2nd and 3rd gear pull with error correction disabled and starting at an RPM below where the turbo can build boost. So start at, say, 2000-2500 RPM on a flat road in each gear and take it out to, say, 7000-7500 RPM at full throttle (ThrotPos must be above 90%). Repeat for each gear and maybe do a couple pulls like that. You want as much data as you can get.

Use the Set Boost (WGS) tables helper function

With that datalog displayed, right click on the graph and select the “Set Boost (WGS) tables” helper function. This function averages the boost pressure and duty cycle at each RPM point and in each gear found in the current datalog and copies that data into the Boost (WGS) tab.

When you do this with “good” data, you'll find a table similar to the following:

Note how each gear builds full boost at different areas of the RPM band. And notice how this particular example shows some boost spike just as full boost is built. You can either keep that spike in the curve or try to dial it out using lower duty cycle values and lower boost target values. I personally like this spike, so I run it that way on purpose. I want to get as much as I can from my turbo. So building more boost early on in the RPM band (where my turbo actually can build boost) is one way to do that.

Fine tuning with error correction enabled

Now you can enable error correction and let the ECU do some work for you.

With error correction enabled, you should find that you start “zero'ing” in on a perfect setup. Each time you get closer to your ideal configuration, use the “Set Boost (WGS) tables” helper function to copy what's going on in your datalog into your base tables.

Updating one table at a time

There are times when you want to update only the Boost Target or only the Base Duty Cycle tables generated by the “Set Boost (WGS) tables” helper function.

You can do that by first doing a right click→copy table function on the table you want to keep, then running the helper function and then doing a right click→paste table function to put the data you wanted to retain back into place.

This can be very useful when you have the boost target table setup with what you really want the engine to do and you want to update only the base duty cycle table with values that get you closer to that target.

Notes and limitations

The basic operation of ECU-based boost control in ECMLink is fairly straight forward. You dial in a base duty cycle that gets you somewhere in the range of the boost target you want and then enable error correction for fine tuning. But setting up the base duty cycle table and target boost values is a little trickier than it seems.

Each gear builds boost a little differently simply due to the fact that boost builds by “time” as much as engine speed. You need to be above some threshold in engine speed (RPM) in order to build any significant amount of boost. But you also have to remain at near full throttle above that RPM for some amount of time to build the boost you want. This amount of time changes based on engine speed too!

So it's a big ugly cycle that's not as easy to dial in as it seems. You can get real close, real fast with some quick numbers. But if you want to really dial in that last bit of consistent boost tuning, it gets more involved.

The tables provided in ECMLink are a reasonable compromise to a true model of turbo behavior. We may consider a different approach in the future that takes into account how turbos really work, but this will be less intuitive to the user (because it will involve time spans and decay values…things that are just less intuitive than duty cycle and RPM).

So for now, we'll stick with the same implementation that Mitsubishi settled on for their boost control logic. But you have to keep in mind the limitations. You will likely see some overshoot in some conditions. For example, if you dial your tables in while doing flat road pulls (our suggested procedure), then you can expect some overshoot when you are actually doing a hill climb instead (slower acceleration rate).

bcssetup.txt · Last modified: 2024/03/15 11:16 (external edit)