Heuristic PID Tuning Method

Heuristic PID Tuning Method

In contrast to quantitative tuning procedures where definite numerical values for P, I, and D controller settings are obtained through data collection and analysis, a heuristic tuning procedure is one where general rules are followed to obtain approximate or qualitative results. The majority of PID loops in the world have been tuned with such methods, for better or for worse. My goal in this article is to optimize the effectiveness of such tuning methods.

When I was first educated on the subject of PID tuning, I learned this rather questionable tuning procedure:

1. Configure the controller for proportional action only (integral and derivative control actions set to minimum effect), setting the gain near or at 1.
2. Increase controller gain until self-sustaining oscillations are achieved, “bumping” the setpoint value up or down as necessary to provoke oscillations.
3. When the ultimate gain is determined, reduce the aggressiveness of proportional action by a factor of two.
4. Repeat steps 2 and 3, this time adjusting integral action instead of proportional.
5. Repeat steps 2 and 3, this time adjusting derivative action instead of proportional.

The first three steps of this procedure are identical to the steps recommended by Ziegler and Nichols for closed-loop tuning. The last two steps are someone else’s contribution. The results of this method are generally poor, and I strongly recommend against using it!

While this particular procedure is crude and ineffective, it does illustrate a useful principle in trial-and-error PID tuning: we can tune a PID-controlled process by incrementally adjusting the aggressiveness of a controller’s P, I, and/or D actions until we see oscillations (suggesting the action has become too aggressive), then reducing the aggressiveness of the action until stable control is achieved. The “trick” to doing this effectively and efficiently is knowing which action(s) to focus on, which action(s) to avoid, and how to tell which of the actions is too aggressive when things do begin to oscillate. The following portions of this subsection describe the utility of each control action, the limitations of each, and how to recognize an overly-aggressive condition.

Much improvement may be made to any “trial-and-terror” PID tuning procedure if one is aware of the process characteristics and recognizes the applicability of P, I, and D actions to those process characteristics. Random experimentation with P, I, and D parameter values is tedious at best and dangerous at worst! As always, the key is to understand the role of each action, their applicability to different process types, and their limitations. The competent loop-tuner should be able to visually analyze trends of PV, SP, and Output, and be able to discern the degrees of P, I, and D action in effect at any given time in that trend.

Here is an improved PID tuning technique employing heuristics (general rules) regarding P, I, and D actions. It is assumed that you have taken all necessary safety precautions (e.g. you know the hazards of the process and the limits you are allowed to change it) and other steps recommended in this article. Click Here.

1. Perform open-loop (manual-mode) tests of the process to determine its natural characteristics (e.g. self-regulating versus integrating versus runaway, steady-state gain, noisy versus calm, dead time, time constant, lag order) and to ensure no field instrument or process problems exist (e.g. control valve with excessive friction, inconsistent process gain, large dead time). Correct all problems before proceeding (Note 1).

Note 1 : This is very important: no degree of controller “tuning” will fix a poor control valve, noisy transmitter, or ill- designed process. If your open-loop tests reveal significant process problems, you must remedy them before attempting to tune the controller.

2. Identify any controller actions that may be problematic (e.g. derivative action on a noisy process), noting to use them sparingly or not at all.

3. Identify whether the process will depend mostly on proportional action or integral action for stability. This will be the controller’s “dominant” action when tuned.

4. Start with all terms of the controller set for minimal response (minimal P, minimal I, no D).

5. Set the dominant action to some safe value (Note 2) (e.g. gain less than 1, integral time much longer than time constant of process) and check the loop’s response to setpoint and/or load changes in automatic mode.

Note 2 : It is important to know which PID equation your controller implements in order to adjust just one action (P, I, or D) of the controller without affecting the others. Most PID controllers, for example, implement either the “Ideal” or “Series” equations, where the gain value (Kp) multiplies every action in the controller including integral and derivative. If you happen to be tuning such a controller for integral-dominant control, you cannot set the gain to zero (in order to minimize proportional action) because this will nullify integral action too! Instead, you must set Kp to some value small enough that the proportional action is minimal while allowing integral action to function.

6. Increase aggressiveness of this action until a point is reached where any more causes excessive overshoot or oscillation.

7. Increase aggressiveness of the other action(s) as needed to achieve the best compromise between stability and quick response.

8. If the loop ever shows signs of being too aggressive (e.g. oscillations), use the technique of phase-shift comparison between PV and Output trends to identify which controller action to attenuate.

9. Repeat the last three steps as often as needed.

Note: the loop should never “porpoise” when responding to a setpoint or load change! Some oscillation around setpoint may be tolerable (especially when optimizing the tuning for fast response to setpoint and load changes), but “porpoising” is always something to avoid.

Also Read : 

Don't Miss Our Updates
Be the first to get exclusive content straight to your email.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address

Leave a Comment