Servo control technology is necessary to determine motor position. This chapter describes about the principle of the servo control. Also we introduce programmable servo / sequence controller (PSC) that is effective for servo control.
Servo control of a motor is explained. Let’s start with the feedback control used as the basics of the servo control.
The motor is a device that changes electrical energy into rotational motion. In order to rotate a motor properly, feedback control is performed. Feedback control monitors how the motor is rotating and decides the amount of the current to be provided to the motor from the results. In other words, proper rotation speed can be maintained by the following steps: 1. Detect the speed of the motor rotation. 2. Decide whether the speed of the motor should be increased or decreased. 3. Depending upon the decision, increase or decrease the current to be provided to the motor.
In order to perform feedback control, the rotation information on a rotor is required. One of the equipment to get information is a rotary encoder. A rotary encoder can be described as follows.
The disk in which many holes opened is attached to a rotor. A photo detector is put on one side of a disk, and a light source is put on the other side. The disk rotates together with the rotor. Light reaches the photo detector as the hole of a disk comes in front of the light source, and the hole is detected. If the rotor turns slowly, the cycle by which the hole comes will become long. If the rotor turns quickly, the cycle of detection of the hole will become short. Thereby, the revolving speed of the rotor can be detected. Moreover, one extra hole is made on the disk and the starting point of the disk is decided using it. Then, even holes come one after another, number of the holes from the starting point can be counted. The present rotation position of the rotor can be detected in this way. However, important information on the rotation is missing. That is, information whether the rotor is rotating clockwise or counterclockwise is not given. So, let’s make another line of holes in such a way that each new hole is slightly displaced from the original hole. In this way, the relative positional relationship of the two lines of holes can tell whether the rotor rotation is clockwise (CW) or counterclockwise (CCW).
This is how a rotary encoder works.
Servo control is a kind of the feedback control, and is often used for motor control.
The servo control is used in the situation in which there are two objects, an “instructor” and an “operator”; the “instructor” gives the order and the “operator” follows it. The method to make the “operator” follow the order exactly is the servo control. For example, when a teacher said to his students “go” or “stop” or “turn to the right”, students will move according to the instructions. This is servo control.
Let's see a servo control of a motor: how to move an arm robot. For example, suppose an arm is fixed to the big gear and the gear rotates with the small gear which is mounted on the motor. Rotation of the motor will move an arm in proportion to the number of rotations. Now, suppose the motor must rotate 100 times to make the arm rotate once. Then, in order to rotate the arm 90 degrees, motor needs to rotate 25 times. That is, instruction of the servo control is "Rotate 25 times." If the motor begins to move immediately after this from a halt condition and turns only 25 times, the arm can be rotated 90 degrees.
However, experience would tell you that the reality is not that simple. When rotating the gear with an arm, it will take some time before a motor begins to move from a halt condition. Also when suspending a motor, even if it issues a stop instruction, a motor freewheels for a short time. So, it’s not certain that the actual number of the motor rotation is 25 times even an instruction to rotate 25 times was given to the motor.
In servo control of a motor, the basic configuration is controlling the number of rotations and revolving speed of a motor. When the arm begins to move, the motor is turned slowly, and speed is increased gradually. After reaching the maximum instruction speed, the speed is maintained, and it rotates little by little late and goes by moderate timing. Control of making it stop at the end is performed. However, the number of rotations of the motor in this movement should be controlled to match the ordered number of rotations.
The number of rotation is the area of the instruction trapezium. The area of the actual motor operation needs to be controlled to match the area of the instruction.
PID control is used to control the speed of the servo control.
PID control performs each control - P control (Proportional control), I control (Integral control) and D control (Differential control) - in parallel.
Since each three control has useful action, the combination of these controls can easily deal with various changes. Proportional (P) control is simple amplification: if the current value is smaller than a set value, the value will be controlled in the plus direction, and if the current value is larger, it will be controlled in the minus direction. In many cases, using the Proportional (P) control only cannot reach the target value, and thus we add Integral (I) control. The Integral (I) control decides the motor driving current in proportion to the total differences (integral value) to the current status. In other words, it is a control to correct the accumulated variations.
In contrast, Differential (D) control is a control to deal with unexpected states. The bigger the degree of variation is, the bigger the force of the differential (D) control to put the status back in place. It’s a effective control for the following cases: excessive load is suddenly added/removed, voltage becomes unstable or suddenly decreases, and status needs to be placed back in the original position when external disturbance affected.
Thus, PID control can bring the motor rotation speed to the ideal speed.
We explained the outline of the servo control. Use of a microcontroller allows realizing servo control easily.
In recent years, microcontrollers have been used for servo control. Microcontrollers realize servo control using software. Microcontrollers are usually used as a system controller and control not only servo control but various things. Servo control is performed asynchronously with the control of other than servo control. Moreover, servo control needs to be performed at regular intervals. The microcomputer must give priority to either the servo control or the control as the system controller if they occur at the same time. However, the one received a low priority cannot delay to the required timing. The higher the function of the system that is controlled by a microcontroller or the higher the control precision becomes, the more often this kind of phenomenon occurs. To avoid this, improvement in the speed of microcontroller processing is required.
Generally it can be supported by speeding up the system clock, however it increases the power consumption, which generates noise and heat. Moreover, sometimes you may not be able to speed up due to the operating limit of the microcomputer. In order to solve such a problem, there are methods to reduce the processing load of the microcomputer: incorporates the microcomputer coprocessor that performs servo control and separates the hardware of the servo control and the system control. Programmable servo / sequence controller (PSC) can be activated asynchronously with the system control and performs the process of the servo control. It is a single IC but the servo control and the system control are separately handled by the hardware. The system clock can remain low.
Microcontrollers Toshiba developed for servo control have special circuitries other than the PSC, and which can easily perform high-precision servo control.