History of BoostcontrolWithTargetBasedReference
Older Newer
2013-06-27 01:14:28 . . . . catv-80-98-222-153.catv.broadband.hu [KpaError*kp / 32 *100 /256 when viewed in % ]
2013-06-27 01:00:17 . . . . catv-80-98-222-153.catv.broadband.hu [correcting the confusion: 1/32 is actually 3.12% (not 0.312 %)]
2013-06-26 23:51:35 . . . . catv-80-98-222-153.catv.broadband.hu [answered I-term rate of change. P-term contrib thinking]
2013-06-26 20:01:50 . . . . catv-80-98-222-153.catv.broadband.hu [note: new variables for gauges, and custom variables to test new formulas]
2013-06-25 20:24:15 . . . . GunnarReynisson [PID value information required]
2013-06-25 09:05:47 . . . . catv-80-98-222-153.catv.broadband.hu [I contribution note, and operation strategy: based on CONFIGURED ranges]
2013-06-25 08:47:15 . . . . catv-80-98-222-153.catv.broadband.hu [answered some integral questions]
2013-06-23 17:40:04 . . . . GunnarReynisson [PID value information required]
2013-06-23 17:24:49 . . . . GunnarReynisson [PID value information required]
2013-06-23 15:26:09 . . . . GunnarReynisson [PID value information required]
2013-06-05 08:31:31 . . . . GunnarReynisson [PID logging requested]
2013-05-08 14:10:41 . . . . GintsK [My tuning sequence. GintsK.]
2013-05-07 23:38:08 . . . . catv-80-98-222-153.catv.broadband.hu [tune ref-DC and other params if overshoot]
2013-05-06 10:42:08 . . . . pes75-2-78-192-98-74.fbxo.proxad.net [Boost question]
2013-05-02 21:57:51 . . . . catv-80-98-222-153.catv.broadband.hu [contributed doc-embryo]


Changes by last author:

Changed:
Set how large the integral is allowed to build up. This value is what is added/subtracted to the reference dutycycle in order to reach boost target. In effect setting this to 0 will disable the boost control PID regulation completely and you will just send reference dutycycle to the boost control valve.

(needs some explanation of how much x of max is, like what is normal limit, etc)

* Why should 0 I not allow any P to be calculated? Seems like an error in the code based on regular PID control loops if that is so. - Gunni

Set how large the integral is allowed to build up. This value is what is added/subtracted to the reference dutycycle in order to reach boost target.

* Setting this to 0 disables the I term (important note: NOT the boost control PID regulation !) completely.

Changed:
* boost_P_effect = (MAP - boost_target_raw*16) * config.boost_pid_kp / 8

** The boost_P_effect doesn´t seem to math out to what happens in the ecu. I can see it work like so , KPA_ERROR * kp / 100 / 32 , when Error is 10kpa, kp is 100 , then output P is 0.3125%, The above would be for example. ((190-200)*16) * 100 / 8 = -2000. Please explain further. I can also not see where the amount of error influences the output of the integral output.

** boost_integral += error / 128 every time (eg. 40 times per sec) where error is in 1/4 kPa units. So for 10 kPa error and 40Hz configured, boost_integral changes with a rate= 10*4 / 128 *40 = 12.5 / sec (inside the ECU it's 128 times higher precision than logged, but that's not interesting as far as VT concerned).

* boost_P_effect = (boost_target_raw*16 - MAP) * config.boost_pid_kp / 4 / 32 *100/256 need update and benchtest

(MAP - boost_target_raw*16) * config.boost_pid_kp / 8

** The unit is not kPa but 1/4 kPa for MAP (and 4 kPa for boost_target_raw, that's why the *16 - only applies locally, *16 MUST not be applied to MAP !)

** So for kp=100, with MAP 10 kPa below target: ((190-200)*4) * 100 / -2048 = 1.95 (/256 of full range, so 0.76 %)

** perceived : KPA_ERROR * kp / 100 / 32 , when Error is 10kpa, kp is 100 , then output P is 0.3125%

*** Where did you see 0.3125 % ? Although internally higher resolution, don't you see output DC in 0.39% steps ? Maybe you mean 31.25 / 256 = 10 * 100 /32 / 256 = = 12.2%

Changed:
----
[VT playground] for testing with new variables for gauges that can be selected ( also, the custom variables can be used to test new formulas in ini file - very useful ).
Changed:
Gunni -
----
Changed:
I´m writing a complete boost control guide for VEMS´s new setup, but have found the following:
Gunni is writing a complete boost control guide for VEMS´s new setup, but have found the following:
Changed:
*** The Integral limit should be a totally independent value from the ki value. I.e If I want to have aggressive ki yet limit the integral to 10% winding then I should be able to set the limit so, then when I adjust the ki it will have no effect on the limit just changes the amount of correction per amount of error, the limit still remaining 10%. This is how it should be, but is not currently. I don´t have a bench ecu anymore to test with so can´t create a log for you. I see no reason for why the ki can influence the amount if integral limit.
** We are aware of "I_limit would better be final contribution DC % instead DC / ki". But changing would break compatibility and hundreds of tuned boost/iac setups (and noone would be able to tune the PID who cannot tune this way). Yes, it would be nice if integral limit would be duty % (not changing when changing ki value), but with the automatic integral limit it matters none. The non-invasive solution now is more likely displaying integral_limit * ki * constant in duty percentage, which represents the final DC% and updates automatically if either integral_limit or ki reconfigured. Alternatively integral_limit could be automatically adjusted when ki changed - maybe a bit superfluous.
Changed:
So far I can see

P value:

Approximate P_DC% = 0.314 * P * ErrorKpa/100 - Disregard

I can now see it works like so

P_DC% = KpaError*kp/32/100 , I tested this on the bench.

Benchtesting shows clearly

* P_DC = KpaError*kp / 32 ( KpaError*kp / 32 *100 /256 when viewed in % )

** exactly: kPa is 1/8 kPa inside boostcontrol (MAP target), and *8 / 256 = /32 so (after correcting some likely typos) theory and measurement matches fine

Changed:
* the update rate is as configured (eg. 40 Hz is 40/ second that is 25 msec)
* the update rate is as configured

** eg. 40 Hz boost_out PWM frequency is 40/ second that is 25 msec; internally the integral is updated every period (error is added)

Deleted:
** Where is the rate configured? Is the ki the rate? And the ecu applies a fixed increment per update perhaps?
Changed:
**it´s no help logging 0-255 values that don´t represent the applied duty cycle.
** the applied duty cycle can be represented as 0-100%, or 0-255 it's the same thing, with a constant factor (like kPa or PSI - both arbitrary choice; 0-100 is also arbitrary choice, 256 being 2's power is more natural) Boost duty DC is historically displayed as 0-100% - likely to stay that way, maybe not reasonable to waste time on that.
Changed:
Percentages / Engineering values :

0-255 values don´t represent any engineering values and are not much help when calibrating. Neither do 0-255 input values. This is why calibration inputs and outputs should be real world engineering values always.

Calibration inputs and outputs should be ALSO DISPLAYED in real world engineering values