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.

6 types of valves ordered earlier arrived to the Hungarian warehouse. These are valves used by BMW, GM, VAG and other manufacturers. Naturally, the supplier fails to provide datasheets. To help tuning I plan to do some measurements on them.

Any recommendations and / or software warmly welcome on the "how" . I'll get back my compressor from Fero. I bought a battery just for this, and have pneumatic tubes and connectors, MAP sensors (including sensor that is linear upto 700 kPa and bears 2800 kPa), NTCs, K-thermocouples, several genboards, serial connection cables, 2 PCs (but my PC-scope might be broken). I think I'll have to make pressure resistant containers of known volume (maybe just thick tubes) for the experiment, and maybe use 1-way valves (or besides the flowrate benchtested valve I apply 1..2 other valves controlled by GenBoard, used in on/off mode).

The air container is made (TODO: upload photo. it's made of iron, a 80x80 mm profile). Unfortunately it leaks a bit. We'll likely fix it, but would be easy to compensate. It can be pressed by tire compressor or manual pump. it has a pressure limiter valve that has (mechanically) variable max pressure setting. It contains a traditional pressure gauge (outside), an MPX4250AP and an MPX700A inside. I have yet to find the cable connection pinout of the 6 wires (the 1" T remained from an earlier experiment, when the MPX700A was calibrated). We can hook up the pneumatic tubes and valves to a small nipple to leak the air out, and measure the rate of leak vs. solenoid current (PWM setting).

Making a test system with compressor and air connections is beyond what most tuners are willing to spend, but testing given solenoids and restrictions at a central place seems to worth it.

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.

See also: PIDControlTuning