Forum » General Tuning Discussion » PID tuning (Proportional, Integral and Derivative) questions

PID tuning (Proportional, Integral and Derivative) questions

General Tuning Discussion

Discuss all things tuning in this section. News, products, problems and results. 


Page 1
Author
515 Views

PID questions.

I have seen well known tuners use PID settings in completely different ways.

I noticed some people have their Integral gains getting smaller as they get farther from the target. Where as others have the gain getting larger as it moves further from the target.

I always thought as you get further from the target "0" you would want it to increase the multiplier to achieve the target. I have seen numerous well known tuners do it both ways. Just curious why some choose one way over the other.

Look at the direction of the arrows I put in the picture below for the integral error table. Maybe Andre could do a video on PID control/tuning :)

Attached Files

You will be happy to know that we have just filmed a segment on PID control tuning for our upcoming boost control course :) I will deal with PID in a webinar at some point soon also.

Integral gain is a slow moving function that is there to reduce error over time. Using P and D gains alone will never allow the error in a system to be reduced to zero because as the error is reduced and the measured value gets closer to the target, the power of the P and D gains is reduced. The integral component works to remove this remaining error over time and reach the target.

When the error is large, the power of the P and D components is significant and hence can drive the system quickly and aggressively towards target. For this reason when the error is large it's the Proportional gain in particular that we want to rely on to ensure fast response.

I generally try and achieve my aim using P and D predominantly and limit the amount of integral gain I allow. This will prevent integral windup which can occur when the system can't achieve it's aim value and the integral gain continues to climb (or decrease). Integral windup is common for example in cam control systems when we try and target a cam angle that the system can't reach. The next time we target an angle we can achieve, there will be a lag as the integral component unwinds.

I hope this brief explanation helps.

The amount of Proportional control that have been applied is Kp*error, error = Target value - Measured value

The amount of Derivative control is Kd*(Measured value(t)-Measured value(t-1))

The amount of Integral control is Ki*∑error △t

The overall amount of control = The amount of Proportional control + The amount of Derivative control + The amount of Integral control

So the integral control output is based not only on a current value vs target, it`s a sum of errors through a time range. That`s why it`s not a good idea to raise the multiplier when the error goes up. You could obtain an avalanche as Andre said. The main reason you should use limited integral control is to eliminate any consequence caused by imperfection of P and D control. The second reason to use an integral control is that the Derivative control quality suffers from noises, the integral control eliminates that disadvantage.

I haven't actually had the opportunity to sit in the hot seat and play with this stuff yet, my experience with PID controllers is purely academic and a few years old now. But if I were starting with a blank canvas here's where I'd be looking:

http://en.wikipedia.org/wiki/PID_controller#Manual_tuning

My personal technique is to tune the gain in the following order - P followed by D and finally I. The integration between the P and D gains in particular I find quite crucial to getting fast response with no over shoot, hence I prefer to start with these parameters first. This will usually leave a small amount of error that can be removed by adding some integral gain.

When learning about PID often it's a good idea to simply adjust the gains and see the effect of them on the control. I recommend initially making a change by doubling the gain and then testing the response. It's also important to continue increasing the gain until you create instability and then reduce the gain. This will let you find the useful working range for your particular system as what works for DBW throttle for instance won't be applicable to boost control or idle control.