GenBoard/Manual/Testing/BoostControl (2005-02-26 15:00:25)

BoostControl Testing

While BoostControl has not too many configuration options (see GenBoard/Manual/Config/BoostControl) ...

Why ?

The PID parameters are hard to tune to a given setup. It is impossible and dangerous to tune by guessing.

Making a test system with compressor and air connections is beyond what most tuners are willing to spend.

Fortunately, a simple circuit can be soldered in 10 minutes that resembles the real system and is suitable to learn the PID controller tuning and experiment with how the boost-target works.

Note: MAP-target works in a very similar way, with minor differences:

How ?

We have to make a "boost signal" that is a function of:

So solder (TODO: drawing)


Basic tests

We send the boost signal into the controller, and measure with DVM if the boostcontrol output is what we like:

If boost signal is below what we think would be appropriate:

If boost signal is above what you think would be appropriate, that can be caused by the same reasons, with the obvious difference:

No matter how you vary the disturbance, the above still holds. At some point you are likely to run into the "railed to minimum" or maximum case.

If the config.boost_channel is inverted, you will see that


Mastering the PID

If you can record the boost signal with a soundcard, you can tune config.boost_pid_kp and config.boost_pid_kd for best (fast, but little overshoot) response.


Closing words

The table setup is useful since you can check without much risk of damage how the PID reacts.

If you follow this, when you are in the car you'll know what's happening and how to handle it, with less risk of damage.

In any case, start with low boost-target (just above the minimum boost that will show up with fully closed solenoid) and step off the throttle immediately if it seems that boost climbs higher than it should.


Test results

I table-tested the boostcontrol and fixed some bugs. The boostcontrol itself was OK, but the code to save and restore boostcontrol tables was partly missing.

After these it worked OK.