My try at CL boost control = Success! Fully detailled inside
Posted: Wed Sep 14, 2011 6:31 pm
Hi,
I've tried CL boost control recently and I've detailled the whole process in an Excel sheet and I've done some screenshot of each boost curve corresponding to a PID settings. This way, you can follow the reasoning between each PID changes and how it relates in real-world data. Download the *.zip file using the link down the post.
My settings :
MS3+MS3X v1.1.2
DIYAutotune boost control solenoid
Plumbing : external wastegate type as per DIYAutotune diagrams
Frequency : 19.5 Hz
Output polarity : Inverted
Control interval : 20 ms
Closed duty : 0%
Open duty : 100%
Boost control lower limit : 100%
Before trying CL boost control, follow these steps :
-Enable OL boost control and be sure that you are getting more boost as you lower the duty cycle in the Boost duty table.
-Try to tune the Boost duty table so you can have a nice boost curve near the boost target you are chasing and be sure you have good AFR and no knock at these high loads/high RPM because you will likely overboost while tuning PID settings. This is why overboost settings need to be activated.
-Read and understand the Boost Control section in the MS3 manual at least 2 times so you know how each settings are used.
I hope this thread will help future CL boost control user to understand a little more how PID settings are acting on the boost and boost duty cycle curves.
Finally, please note that my PID settings aren't perfect and need some fine-tuning, but I'm happy with the results so far.
_______________________________________________________________________________________________________________________________________
EDIT (2012-08-31) :
Here's the new *.zip file that include my latest tuning for boost control.
https://www.dropbox.com/s/6vsjn9cmozb3n ... l.zip?dl=0
The reason for this is that I've discovered that I wasn't reaching the boost target when the boost was increasing really fast (think going through 2-3-4 gears in WOT). Follow the Excel file to understand the tuning process. My tuning process involve a run from 2000RPM to redline in 3rd gear at WOT and a run going through the gears 2-3-4 as fast as I can at WOT for each PID setting. Please note that when I shift, engine RPM goes from redline to about 5000-5300 RPM.
I'm now at P=50, I=100 and D=50. With these settings, during the 3rd gear 2000-redline WOT run, I have an initial overshoot at 225kPa but the boost is glued to the target within ±3kPa from 4500 to 7400 RPM. During the 2-3-4 fast gear change WOT run, the boost is overshooting in 2nd gear at 221kPa, then it stick to the target until redline. When going into 3rd gear, the target is reached perfectly without any overshoot and stick to the target at ±4kPa. When going into 4th gear, the boost is coming so fast that the PID isn't making the boost reaching the target initially (undershoot at 200kPa) and then the I term is making the boost climbing up to the target in a fast manner (sticking to the target at ±4kPa from 5500RPM to redline).
Because a picture worth a thousand of word, see the attached pictures for the 3rd gear run and the 2-3-4 fast gear change run for the P=50, I=100 and D=50.
Here are my conclusions so far about CL boost control :
1- Playing with the P term will influence the moment when the boost duty will start to increase when the boost is increasing. Big P number make the boost duty coming up sooner when the MAP is increasing and vice-versa.
2- Increasing P will reduce initial overshoot and vice-versa.
3- Increasing I will slightly increase initial overshoot. If the target isn't reached initially, a bigger I term will make the boost climbing to the target faster. Too much a I term will make the boost oscillating after the initial overshoot.
4- The D term will reduce the oscillating effect of a large I number. Too much D term lead to huge oscillations in the boost duty. It takes some large D number to reduce the initial overshoot.
5- I've varied the Control Interval from 30ms to 10ms without seeing any changes in boost control performance. Smaller Control Interval will lead to higher oscillation of the boost duty.
6- You can limit the maximal boost duty by setting the Open Duty at a number lower than 100%. It is useful if you do not reach the target initially because the boost is climbing faster. But this is not a good solution because it prevent the PID code to do his job if a smaller boost target is wanted later.
7- You want some sort of initial overshoot to have a good control. If the target isn't reached initially, the I term will try to get the boost to the target, but it will take some time.
8- Initial overshoot will be bigger in higher gear (4th, 5th) for a given PID setting compared to a 3rd gear run because the boost is climbing much more slowly and the P term is supposed to react to (current_error - last_error). When boost is climbing slowly, (current_error - last_error) isn't a big number so the P term do not have the same impact as in 3rd gear. The inverse is also true : you will get less overshoot when boost is climbing faster (like in 2nd gear).
The following are the thing I would like to test/tune/perfect in the following rounds of tuning :
-Reduce initial overshoot in 3rd gear 2000-redline WOT run at something around 215kPa.
-Make sure that initial overshoot isn't too big in higher gears (4th or 5th gear from 2000 RPM to redline at WOT)
-Try a higher and/or lower target with a constant PID setting and see the results.
-Try a boost target map that has a varying target vs RPM to see how the PID react.
-Play with the Boost Control Lower Limit to see what impact it has for a constant PID setting.
Sam
I've tried CL boost control recently and I've detailled the whole process in an Excel sheet and I've done some screenshot of each boost curve corresponding to a PID settings. This way, you can follow the reasoning between each PID changes and how it relates in real-world data. Download the *.zip file using the link down the post.
My settings :
MS3+MS3X v1.1.2
DIYAutotune boost control solenoid
Plumbing : external wastegate type as per DIYAutotune diagrams
Frequency : 19.5 Hz
Output polarity : Inverted
Control interval : 20 ms
Closed duty : 0%
Open duty : 100%
Boost control lower limit : 100%
Before trying CL boost control, follow these steps :
-Enable OL boost control and be sure that you are getting more boost as you lower the duty cycle in the Boost duty table.
-Try to tune the Boost duty table so you can have a nice boost curve near the boost target you are chasing and be sure you have good AFR and no knock at these high loads/high RPM because you will likely overboost while tuning PID settings. This is why overboost settings need to be activated.
-Read and understand the Boost Control section in the MS3 manual at least 2 times so you know how each settings are used.
I hope this thread will help future CL boost control user to understand a little more how PID settings are acting on the boost and boost duty cycle curves.
Finally, please note that my PID settings aren't perfect and need some fine-tuning, but I'm happy with the results so far.
_______________________________________________________________________________________________________________________________________
EDIT (2012-08-31) :
Here's the new *.zip file that include my latest tuning for boost control.
https://www.dropbox.com/s/6vsjn9cmozb3n ... l.zip?dl=0
The reason for this is that I've discovered that I wasn't reaching the boost target when the boost was increasing really fast (think going through 2-3-4 gears in WOT). Follow the Excel file to understand the tuning process. My tuning process involve a run from 2000RPM to redline in 3rd gear at WOT and a run going through the gears 2-3-4 as fast as I can at WOT for each PID setting. Please note that when I shift, engine RPM goes from redline to about 5000-5300 RPM.
I'm now at P=50, I=100 and D=50. With these settings, during the 3rd gear 2000-redline WOT run, I have an initial overshoot at 225kPa but the boost is glued to the target within ±3kPa from 4500 to 7400 RPM. During the 2-3-4 fast gear change WOT run, the boost is overshooting in 2nd gear at 221kPa, then it stick to the target until redline. When going into 3rd gear, the target is reached perfectly without any overshoot and stick to the target at ±4kPa. When going into 4th gear, the boost is coming so fast that the PID isn't making the boost reaching the target initially (undershoot at 200kPa) and then the I term is making the boost climbing up to the target in a fast manner (sticking to the target at ±4kPa from 5500RPM to redline).
Because a picture worth a thousand of word, see the attached pictures for the 3rd gear run and the 2-3-4 fast gear change run for the P=50, I=100 and D=50.
Here are my conclusions so far about CL boost control :
1- Playing with the P term will influence the moment when the boost duty will start to increase when the boost is increasing. Big P number make the boost duty coming up sooner when the MAP is increasing and vice-versa.
2- Increasing P will reduce initial overshoot and vice-versa.
3- Increasing I will slightly increase initial overshoot. If the target isn't reached initially, a bigger I term will make the boost climbing to the target faster. Too much a I term will make the boost oscillating after the initial overshoot.
4- The D term will reduce the oscillating effect of a large I number. Too much D term lead to huge oscillations in the boost duty. It takes some large D number to reduce the initial overshoot.
5- I've varied the Control Interval from 30ms to 10ms without seeing any changes in boost control performance. Smaller Control Interval will lead to higher oscillation of the boost duty.
6- You can limit the maximal boost duty by setting the Open Duty at a number lower than 100%. It is useful if you do not reach the target initially because the boost is climbing faster. But this is not a good solution because it prevent the PID code to do his job if a smaller boost target is wanted later.
7- You want some sort of initial overshoot to have a good control. If the target isn't reached initially, the I term will try to get the boost to the target, but it will take some time.
8- Initial overshoot will be bigger in higher gear (4th, 5th) for a given PID setting compared to a 3rd gear run because the boost is climbing much more slowly and the P term is supposed to react to (current_error - last_error). When boost is climbing slowly, (current_error - last_error) isn't a big number so the P term do not have the same impact as in 3rd gear. The inverse is also true : you will get less overshoot when boost is climbing faster (like in 2nd gear).
The following are the thing I would like to test/tune/perfect in the following rounds of tuning :
-Reduce initial overshoot in 3rd gear 2000-redline WOT run at something around 215kPa.
-Make sure that initial overshoot isn't too big in higher gears (4th or 5th gear from 2000 RPM to redline at WOT)
-Try a higher and/or lower target with a constant PID setting and see the results.
-Try a boost target map that has a varying target vs RPM to see how the PID react.
-Play with the Boost Control Lower Limit to see what impact it has for a constant PID setting.
Sam