All topics
Boost, heat & limits

Boost control and wastegates

The spring sets minimum boost. The solenoid hides pressure from the gate to raise it. Spool, creep and altitude are the surprises.

A turbine driven by exhaust gas spins a compressor. More exhaust energy means more boost, which means more exhaust energy: positive feedback that keeps going until something limits it. The wastegate is that limit — a valve that bypasses exhaust around the turbine. A spring holds it shut; boost pressure on the actuator opens it.

The duty table

With 0 % duty the gate sees full boost and opens at the spring pressure: that is the minimum boost. The solenoid bleeds pressure away from the actuator in proportion to duty, so the gate sees less than real boost and opens later: more boost. A rough rule is boost ≈ spring ÷ (1 − gain × duty). In practice the gate also needs a little extra pressure to open far enough to bypass the surplus, so real boost sits above the simple formula — which is why the stock table is found empirically, and why you will adjust it.

Things that will surprise you

  • Spool overshoot: the turbo comes on faster than the gate can respond; boost spikes above target right at the rpm where the rods like it least. Taper duty down through the spool.
  • Creep: at high flow the gate cannot bypass enough even wide open, so boost rises with rpm regardless of duty. That is hardware, not a table.
  • Altitude: the turbo must make a higher pressure ratio for the same gauge boost in thin air, so shaft speed rises. Think in pressure ratio, not psi.
  • Boost cut: the fuel cut that saves you when a cell is wrong. Set it before the first pull.

Closed-loop boost

Real ECUs rarely run open-loop. In closed-loop (Scalars → Boost control) you fill in a Boost target table in boost pressure per rpm, the duty table becomes the base (the feed-forward starting point), and a PI controller trims the base toward the target using the MAP sensor, within a trim limit, whenever the throttle is above the lockout.

duty = base(rpm) + Kp·(target − boost) + Ki·∫(target − boost) dttrim clamped to ±limit; the integrator only runs once boost is most of the way to target, so spool does not wind it up
  • Kp acts now: it shuts the gate harder the further boost is below target. Too much and the boost hunts fast.
  • Ki acts on persistence: it removes the steady offset a wrong base table leaves. Too much and the boost hunts slowly.
  • The trim limit is the honesty check. A controller sitting at its limit is telling you the base table is wrong by more than the limit, or the hardware cannot make the target. Fix the base table; do not widen the limit.
  • The base table still matters. Tune it in open-loop first, then switch the mode on: a base that is nearly right needs tiny trims and small gains, and spools exactly like open-loop did.
  • The target is rpm-only here. A real ECU also trims it against intake air temperature and gear, which is how a cold day is handled; in this app the cold day has to be in the table.
Tables beyond the axis: if MAP goes past the last breakpoint, the ECU keeps using the edge cell. Fuel stops following airflow. Keep the cut inside the axis.
Now try it.

Edit the Boost (WG duty) table on a virtual car, pull it on the dyno and read the result. Free, in the browser, no account.

Open the Boost (WG duty) table in the dyno →