Servo motors operate in a closed-loop system, which includes a feedback device, a drive (amplifier), and a controller. The controller uses output from the feedback device to compare the commanded value (position, velocity, or torque) to the achieved value and issues commands to the drive to correct any errors. This process of monitoring feedback and making corrections is referred to as a control loop. Depending on the application and performance requirements, a servo system can include any combination of three types of control loops: a position loop, a velocity loop, and/or a current loop.
The velocity loop is the most common servo control loop. It compares the commanded velocity to the actual velocity via a tachometer or encoder and issues commands to increase or decrease the motor’s speed accordingly. The velocity loop is also referred to as a PI controller, as it typically uses both proportional gain (Kvp) and integral gain (Kvi) to determine the correction command. The amount of proportional gain is, as its name suggests, directly proportional to the amount of the error, while the integral gain increases over time and is used to “push” the motor to zero error at the end of the move.
Servo feedback gains, known as proportional gain, integral gain, and derivative gain, determine how hard the servo tries to correct or reduce the error between the commanded value and the actual value.
For applications that require control of position, a position loop is added “around” the velocity loop in what is known as a cascaded position/velocity loop. The position loop determines the following error, which is the deviation between the actual and commanded positions, and issues velocity commands to reduce or eliminate the following error. In a cascaded system, the position loop typically uses only a proportional gain, Kp.
Servo systems can use a position loop without a velocity loop, although velocity feedback provides additional stiffness and counters high-frequency disturbances. In cases where a position loop is used on its own, without a velocity loop, the position loop will be a PID controller. The use of all three gains—proportional, integral, and derivative—while more complex, allows the system to be tuned to optimal performance.
Current control is needed when the required response time is high, as in the case for many industrial servo applications. The primary goal of the current loop is to control torque, which influences speed, and therefore, position. The current loop is typically nested inside the velocity loop, making current the innermost loop, with the velocity loop in the middle, and the position loop being the outermost loop. Current loops are typically PI controllers, with both proportional and integral gains. Current control parameters are often set by the manufacturer, saving the user the time and effort of tuning the current control loop.
In any cascaded system, the response time, or bandwidth, of the inner loop must be faster than the response time of the outer loop. Otherwise, the inner loop will have little effect on the outer loop. The general rule for nested servo control loops is that the velocity loop should have a bandwidth that is anywhere from 5 to 10 times that of the position loop, and the current loop should have a bandwidth that is 5 to 10 times that of the velocity loop.
In general, higher bandwidth is better, but because the bandwidth of one loop affects the next loop within it, increasing the bandwidth of the position loop causes the required bandwidth of the velocity loop to increase. Similarly, increasing the bandwidth of the velocity loop causes the required bandwidth of the current loop to increase. In both cases, increasing the bandwidth of one loop to the point that the required bandwidth of the next, nested loop is unachievable, does no good for the performance of the system.
Feature image credit: wikipedia.org