Skip to main content

There have been many methods developed over the years for tuning the loop constants of a servo motor control axis, ranging from various auto-tuning methods to step-by-step manual tuning. All of these methods offer users various benefits, but all have the same goal; to simplify the process of tuning a PID filter while giving the user optimum performance. One manual method of tuning which works very well when combined with the GalilTools scope is what we call a velocity zone tuning method.

In traditional PID loop tuning, a position step response is plotted and the KD and KP term are increased up to a point just short of resonance or instability. Typically KD is increased first, followed by the KP term. However changes to KP may affect KD and vice versa, so many iterations are required before arriving at the final value. This approach results in a well tuned servo axis, but relies on a good deal of experience on the part of the user, who must be able to read the positional responses and determine which values to raise or lower.

The velocity zone tuning approaches tuning somewhat differently. The main feature of this tuning method is in isolating the velocity tuning parameters from the position parameters, and tuning those first. Specifically, the KD term which provides the derivative gain in the system as well as the FV term which applies a feedforward velocity gain are tuned first. These parameters are tuned based on the commanded velocity profile of the system. Once these values have been selected, the position error of the step response is used to select the appropriate KP (proportional gain) and FA (feedforward acceleration) terms. Finally, the position error information is again used to tune the KI (integral gain) and IL (integral gain limit) terms.

The benefit of this method is not that it necessarily yields better tuning results than traditional PID tuning. Rather, this method is easier for a basic user to follow along as a step-by-step manual tuning approach. That step-by-step approach is described in detail in this application note:

http://www.galil.com/download/application-note/note5491.pdf