In this blog, we will discuss the control theory in servo and motion control systems at a high level. It is this very control theory that makes a servo a servo.
Motion controllers generate and maintain precise control of position, velocity, acceleration, deceleration, and torque based on a desired move profile. This is accomplished by continually monitoring the axis or motors feedback.
A motion control or servo system is not a motion control system without feedback. The feedback device on the motor generates pulses or signals, depending on the feedback type. The motor feedback tells us three things: position, velocity, and direction. These signals or pulses will tell us the position of the motor. The frequency of these signals coming back to the controller tells us the velocity of the axis. Since the feedback device is a multi-channel device, we know direction based on which channel pulse/signal is seen first by the motion controller.
In the example above, the motion controller generates a commanded motion path based on the move profile in the motion program. This path (commanded position, velocity) is continually compared to the actual position/velocity of the motor in the system. The motion controller calculates the error (commanded position minus actual position) and generates an error command, which corrects position errors and assures accuracy. The same is true for the velocity profile. Motion Controllers that use feedback to calculate error (commanded position - actual position or commanded velocity - actual velocity) and generate an error command, which corrects the error are called “closed loop servo” or “servo.” It is our ability to close the error between the “actual” and the “command” that makes a servo a servo. As a result, inherently a servo system does not work without having some error.
A complete but simplified “closed loop servo” or “servo” system block diagram is shown below. Detailed velocity and current loop principles are outside the scope of this blog. In simple terms, however, the servo loop below (also known as a nested PI servo loop) can be compared to a series of dominos.
In a nested PI servo loop, the position loop is used to detect position errors. Its output command is sent to the velocity loop, which commands the motor to speed up or slow down to eliminate position error.
To speed up or slow down the motor and correct the position error, the velocity loop commands the current loop to produce a change in current and produce more or less torque to accelerate or decelerate the motor.
Servo tuning is the process of adjusting the gains of each loop to match the responsiveness of the motion controller to machine dynamics. Servo tuning is typically done online using the motion controller software.
The proper sizing of a motor and drive module for machine inertia is key to optimizing the tuning process.
Ideally, we are looking for a stable response to error. If your response to error is too high, your servo axis may whine and howl in addition to drawing excess current, potentially causing the motor to overheat. If your response to error is too low, your axis may not be repeatable and even fault on following error. A detailed tuning discussion is outside the intent of this blog as there are many considerations with respect to your application type.
An understanding of this control theory can help in troubleshooting servo and motion control systems. As an example, following error or excess following error is a common servo fault. Following error is the allowable amount of error between the commanded and actual feedback outside what is configured in your motion controller. This can be caused by mechanical interference or poor tuning of your servo system. In any case, the first course of action is not replacing the motor or the drive.
In the end, a high-level understanding of this control theory is valuable in both the evaluation of a servo’s performance as well as troubleshooting your motion system. Contact us today!