10.2. Boost Control

10.2.1. Operation

10.2.2. Installation

10.2.3. Wiring

10.2.4. Configuration

BoostControl config options

config.boost_conf=00 and

config.boost_channel=FF and

config.boost_minpressure=FF

boost_conf (default: 61 for MAP-target and 48 msec=21 Hz period; 00 for disabling boostcontrol)

  • bit7:4 PWM period in 8 msec units. Normally 40 or 48 msec for 25 or 21 Hz
  • bit0=1 -> MAP-target (input signal from MAP sensor is used), bit0=0 -> boost-target (input signal from nernst2 is used, ask here if you need another input channel)
  • select output channel
  • Target pressure related variables

    The unit depends on boost_conf: different unit is used for boost-target and MAP-target:

  • unit is 2kPa for MAP-target (max value is 510 kPa) and
  • unit for boost-target is defined by the sensor you use: FF means 5V on boost-pressure input (which is 400kPa on a 400kPa sensor), for example:
  • FF means 5V
  • CC means 4V
  • 99 means 3V
  • 80 means 2.5V
  • 66 means 2V
  • 33 means 1V
  • 00 means 0V and so on

    This does not apply for the t[] table, because values in t[] do not mean pressure, but a multiplier

  • boost_targetoffs
  • Offset for boostcontrol tables. Firmware adds this value to result after multiplicate of b[] and t[] looked up values: "pressure_target = boost_targetoffs + (b[0][rpm] * t[tps])" Resononable values: 0 for MAPtarget and 90..120kPa for boosttarget.
  • boost_minpressure
  • The pressure level above which the solenoid starts to act. At low pressure, eg. cruise it would make no sense to power the solenoid since it wouldn't help to close the wastegate, because wastegate is surely closed anyway. Unit: see above.
  • b[]-table, Boost target at maximum TPS (WOT) for given RPMs (related to the r[]-table). Unit: see above.
  • t[]-table, TPS transfer table
  • lookes up the element from the index given by the TPS sensor (and uses interpolation between values) t[engine.tps/8] = 0xFF means 1* multiplier, 0x80 means *0.5 multiplier and so on...
  • t[0]=FF FF FF FF FF FF FF FF gives the same effect that basic boostcontrol systems do. It means that boost-target does not depend on TPS. For a large-throttle diameter, this will most likely mean that 100% pressed throttle is just insignificantly more power than 80% pressed throttle.
  • t[0]=1F 3F 5F 7F 9F BF DF FF or other similar increasing curve can fix the above, which results in a much more driveable (yet just as powerful at WOT!) car

    PID controller related - see PidController

    PID settings. It is not possible to provide good defaults for PID settings, as valve, wastegate actuator, wastegate and even intake and exhaust system will have effects. Make sure to experiment at low boost first.

  • boost_pid_kp; // boostcontrol PID proportional coefficient
  • boost_pid_ki; // boostcontrol PID integrator coefficient
  • boost_pid_kd; // boostcontrol PID differential coefficient
  • boost_pid_ilimit; // boostcontrol PID integral limit

    It makes sense to keep boost_pid_ilimit * boost_pid_ki <= 8192. That is enough to fully open or close the solenoid. Higher boost_pid_ilimit and lower boost_pid_ki means that it takes more time for integral to reach its limit.

    Start with boost_pid_kd=00.

    When you ask for help on your MembersPage, provide details about the setup, eg.

  • boost sensor type (signal amplitude)
  • wastegate threshold pressure (when it starts to open)
  • estimated boost limit (in function of RPM) with solenoid off (boost lower than this is not controllable - because wastegate just does not open)
  • estimated boost limit (in function of RPM) with solenoid on full duty (max possible boost)

    PID parameters depend on the setup so much that there are really no good defaults; but starting values can be suggested from wastegate, restriction and solenoid data.

    1. config.txt part:
    2. 6*8 = 48 msec => 21 Hz solenoid PWM (pulsing) freq

      boost_conf=60

    3. MPX4250AP boost-pressure sensor on nernst2 input: 256 kPa = 5V so unit is exactly 1kPa
    4. b*t is added to 100 kPa (hexa 64):

      boost_targetoffs=64 boost_minpressure=6F boost_pid_kp=FF boost_pid_ki=20 boost_pid_kd=00 boost_pid_ilimit=FF

    5. set boost channel according to your wiring: boost_channel=FF
    6. tables.txt
    7. assuming boost-target and 8 RPM bins in r[] table
    8. max boost is 164 kPa:
    9. boost_targetoffs=100 and max boost is 64 (hexa 40)
    10. reached between the 3d and 4th RPM bin (and max TPS).
    11. than target boost decreases (downto 48 kPa) at high RPM b[0]=00 30 40 40 3C 38 34 30
    12. boost-target is halved at appr. 75% TPS
    13. and below 50% TPS boost-target is made as low as possible: t[0]=0F 0F 0F 0F 3F 7F BF FF

10.2.5. Tuning

10.2.6. Testing and Monitoring