00:00 |
- Now that we've covered open-loop tuning, we can move on and look at setting up closed-loop control.
|
00:06 |
We'll still need to understand the open-loop tuning strategy though.
|
00:10 |
As this will form the basis of configuring the base duty cycle table.
|
00:14 |
When it comes to configuring closed-loop control, we want to make the ECU's job as easy as possible.
|
00:21 |
The closer we can get the boost to our target, before relying on the ECU's closed-loop algorithm to help out, the more accurate our boost control will be.
|
00:31 |
Think of it like this: If the ECU has no idea what duty cycle is needed for a certain boost level, it'll have a lot of work to do, altering the duty cycle provided to the solenoid, to achieve the target.
|
00:45 |
If we can give it a starting point that is very close, we can expect better results.
|
00:52 |
Before we start tuning the system though, there are a few setup aspects that we need to deal with.
|
00:58 |
When we're configuring closed-loop boost control, we need to start by ensuring the PID gains are all set to zero, to force the ECU to use open-loop control.
|
01:10 |
This will let us tune the base duty cycle table first, before we worry about tuning the control algorithm.
|
01:17 |
The other aspect we'll need to deal with is tuning the boost aim or boost target.
|
01:22 |
Often, we may have more than one boost target that can be selected on the fly and each will need to be defined.
|
01:30 |
It's normal to have a matching row in the base duty cycle table for each boost target we want to run, so we can be specific about the duty cycles needed to achieve that particular boost level.
|
01:43 |
When I'm tuning the boost target table, I like to be very realistic about the boost I expect, relative to RPM.
|
01:52 |
For example, if I want to target 200kPa, I only enter that boost pressure at a RPM where I realistically expect to be able to achieve that amount of boost.
|
02:04 |
Let's say the turbo won't make 200kPa until 3500rpm.
|
02:11 |
If we increase the 200kPa target at 3000rpm, the turbo can't provide this and it's common to see the PID control algorithm increase the duty cycle in an attempt to correct the error.
|
02:25 |
The result is that when we get to 3500rpm, the duty cycle is too high, resulting in an overboost situation.
|
02:34 |
Once we have our targets defined, we can tune the base duty table in the same way we did in the open-loop section.
|
02:42 |
We want to tune the table of each target boost pressure until we're as close to our aim as possible.
|
02:49 |
The better the job we do here, the easier our next job of tuning the PID algorithm will be and the better our results will be.
|
02:59 |
When the base duty cycle table is properly adjusted, we can now start adding some of our closed loop control and testing to see how well the system responds.
|
03:10 |
At this point, I would suggest re-watching the PID control module, so it's fresh in your mind.
|
03:16 |
I start by adding a small amount of proportional gain and derivative gain, and performing a dyno run to check the results.
|
03:25 |
A good place to start will be a proportional gain of around 0.1 to 0.5 and a derivative gain or 0.1 to 0.3.
|
03:36 |
And at this point, I'll leave the integral gain set to zero.
|
03:42 |
Now we can perform another dyno run and test the control.
|
03:46 |
What we're looking for here is a fast increase to our target before achieving stable control at the target boost level.
|
03:55 |
We can then make changes to our P and D gains, as I'll describe shortly, before making a further test and comparing the results.
|
04:04 |
It can be hard to decide a direction to take when tuning the system.
|
04:09 |
So, to start with, I recommend adjusting the values until you've gone too far and created instability, so you have some idea of the range of values that offer good control.
|
04:22 |
When tuning the boost control system, I start by increasing the proportional gain and noting the effect of the change.
|
04:31 |
The way the proportional gain interacts is that it changes the duty cycle in direct response to the error.
|
04:39 |
For example, if we have an error of five kPa and a proportional gain of one, this will give a change in duty cycle of one percent for each kPa error.
|
04:51 |
In this case, it would change the output duty by five percent, which is quite an aggressive change.
|
04:58 |
This is why we want to start with small amounts of proportional gain.
|
05:02 |
As we increase the proportional gain, the boost should rise faster and track the target closer.
|
05:09 |
If the value is too low, we'll have slow boost response.
|
05:13 |
However, at some point, we'll end up with the boost overshooting and even oscillating.
|
05:19 |
What I'm aiming for is the point where we first start seeing the boost overshoot target.
|
05:25 |
At this point, I'll reduce the proportional gain slightly and start adding a little more derivative gain to dampen the response.
|
05:35 |
The derivative gain works by changing the duty cycle based on how fast the error value is changing.
|
05:42 |
What this means is, if the boost pressure is changing very quickly, the derivative gain will have a strong effect over the output duty cycle.
|
05:52 |
For a slow change in boost though, the derivative gain will have very little effect.
|
05:58 |
The derivative gain represents % duty cycle per kPa per second.
|
06:05 |
If we had a derivative gain of one and rate of change of error of 10kPa per second, the resulting change to the duty cycle would be 10%.
|
06:16 |
Again, this is why we want to start with a small value for the derivative gain.
|
06:21 |
Increasing the derivative gain has the effect of reducing the likelihood of an overboost situation.
|
06:27 |
However, if we add too much derivative, it will slow the system response and increase spool time.
|
06:35 |
There are no correct set of values that you can apply and the correct gains can only be found by trial and error.
|
06:43 |
The last parameter to deal with is the integral gain and I'll start with a value of 0.1 here.
|
06:51 |
As we have already discussed with P and D components alone, the system with never quite reach the target.
|
06:58 |
Because, as we get closer to the target, the power of the proportional gain to drive system towards target is reduced.
|
07:07 |
The integral gain makes a change in duty cycle over time, as long as an error still remains.
|
07:15 |
For a gain of one and an error of one kPa, the system will increase the duty cycle by one percent per second until the error is reduced to zero.
|
07:27 |
Usually, a small amount of integral gain can improve the system's accuracy.
|
07:33 |
Increasing the integral gain will do a better job of removing any remaining error.
|
07:39 |
However, if the integral gain is too high, it will result in a slow oscillation about the target boost.
|
07:46 |
Since we've discussed integral gains, we also need to discuss the term "integral windup".
|
07:53 |
Since integral gain will continue to make changes to the duty cycle any time there is an error, the duty cycle can climb out of control if the system can't reach target for any reason.
|
08:05 |
This may be due to the rest of the system being poorly tuned, resulting in a large error.
|
08:10 |
Or, it can happen if we're targeting a value that the system can't achieve.
|
08:16 |
For example, a boost pressure lower than the minimum boost.
|
08:21 |
Integral windup has the effect of slowing the response of the system and often you'll have the ability to clamp the minimum, or maximum, values that the integral gain can apply, to reduce the chances of it causing poor system response.
|
08:37 |
If this is possible, I'll set the clamp value at ±5%, as I expect my basic control strategy should get me close enough to the target that I won't need more adjustment than this.
|
08:51 |
When initially making changes to the gains, I'd suggest making changes by doubling the gain factors.
|
08:58 |
Once you've gone too far and created instability, you can then come back to a suitable value by halving the gains.
|
09:05 |
This will let you quickly build a picture of the range of acceptable values as well as the effect of the change.
|
09:13 |
Once you know the useful range of values, you can start making more subtle changes to fine-tune the control.
|
09:21 |
Once we've achieved good control during a ramp run on the dyno targeting a constant boost, we can try requesting a change in boost to check how well the boost pressure tracks against the target.
|
09:33 |
We can do this on the dyno by holding the engine in steady state at an rpm it is able to make full boost at.
|
09:41 |
Usually around half of the engine redline is a good place to test.
|
09:46 |
If we now go quickly to full throttle, we can test how well the ECU controls boost.
|
09:52 |
What we're looking for is accurate tracking of the boost target without overshooting or slow response.
|
09:59 |
Really, when it comes down to tuning the PID gains, the key I've found is to use as little of each as you can to provide good control.
|
10:10 |
When you make changes, make them one at a time and test after each change to asses the effect of that change.
|
10:18 |
This will let you build a picture of what your system needs to offer the best response.
|
10:24 |
There's a lot to take on in this module particularly and I don't want you to worry.
|
10:29 |
It will become a lot easier to understand the interaction of the different elements when you can see the system being tuned.
|
10:36 |
In this instance, the worked examples will be a very powerful addition to this section and will help to clarify the approach to tuning closed-loop boost control.
|