There are three servo motor control modes: pulse, analog and communication.
How should we choose the servo motor control mode in different application scenarios?
1. Servo motor pulse control mode
In some small stand-alone equipment, it should be the most common application mode to select pulse control to realize motor positioning.
This control mode is simple and easy to understand.
Basic control idea: the total amount of pulse determines the motor displacement, and the pulse frequency determines the motor speed.
Pulse is selected to realize the control of the servo motor.
Open the manual of servo motor, and there will be the following table:
|Command pulse form||Signal name||Positive direction command||Negative direction command|
|90 bit phase difference
2-phase pulse A + B phase
B is 90 degrees faster than phase a
B is 90 degrees slower than phase a
|Positive pulse train + negative pulse train||PULS SIGN||
|Pulse + symbol||PULS SIGN||
Both are pulse controlled, but the implementation method is different:
First, the driver receives two (a, b) high-speed pulses, and determines the rotation direction of the motor through the phase difference of the two pulses.
As shown in the figure above, if B is 90 degrees faster than phase a, it is positive rotation; If B is 90 degrees slower than phase a, it is reversed.
During operation, the two-phase pulses of this control are alternating, so we also call this control method differential control.
It has differential characteristics, which also shows that this control mode has a higher anti-interference ability.
In some application scenarios with strong interference, this mode is preferred.
However, in this way, a motor shaft needs to occupy two high-speed pulse ports, which is not applicable to the tension of the high-speed pulse port.
Second, the driver still receives two high-speed pulses, but the two high-speed pulses do not exist at the same time.
When one pulse is in the output state, the other must be in the invalid state.
When selecting this control mode, we must ensure that there is only one pulse output at the same time.
Two pulses, one output in a positive direction and the other in a negative direction.
As in the above case, this mode is also a motor shaft, which needs to occupy two high-speed pulse ports.
Third, only one pulse signal needs to be given to the driver, and the forward and reverse operation of the motor is determined by one-directional IO signal.
This control method is simpler to control, and the resource occupation of high-speed pulse port is the least.
In general small systems, this method can be preferred.
2. Servo motor analog control mode
In the application scenario where the servo motor needs to be used to realize speed control, we can select the analog quantity to realize the speed control of the motor.
The value of the analog quantity determines the running speed of the motor.
Analog quantity can be selected in two ways, current or voltage.
You only need to add a certain voltage to the control signal end.
In some scenarios, you can even use a potentiometer to realize control, which is very simple.
However, when the voltage is selected as the control signal, in the scene with complex environment, the voltage is easy to be disturbed, resulting in unstable control.
A corresponding current output module is required, but the current signal has strong anti-interference ability and can be used in complex scenes.
3. Servo motor communication control mode
The common ways to realize servo motor control by communication include can, EtherCAT, MODBUS and PROFIBUS.
Using communication to control the motor is the preferred control method in some complex and large-scale system application scenarios.
In this way, the size of the system and the number of motor shafts are easy to cut, and there is no complex control wiring. The built system has high flexibility.
1. Servo motor torque control
The torque control mode is to set the external output torque of the motor shaft through the input of external analog quantity or direct address assignment.
For example, if 10V corresponds to 5nm, when the external analog quantity is set to 5V, the output of the motor shaft is 2.5nm.
If the motor shaft load is lower than 2.5nm, the motor rotates forward, the motor does not rotate when the external load is equal to 2.5nm, and the motor reverses when it is greater than 2.5nm (usually under gravity load).
The set torque can be changed by changing the setting of analog quantity in real-time, or by changing the value of the corresponding address through communication.
It is mainly used in winding and unwinding devices that have strict requirements on the stress of materials, such as winding devices or optical fiber pulling equipment.
The torque setting shall be changed at any time according to the change of winding radius, so as to ensure that the stress of materials will not change with the change of winding radius.
2. Servo motor position control
In the position control mode, the rotation speed is generally determined by the frequency of external input pulses, and the rotation angle is determined by the number of pulses.
Some servos can assign values to the speed and displacement directly through communication.
Because the position mode can strictly control the speed and position, it is generally used in positioning devices, CNC machine tools, printing machinery and so on.
3. Servo motor speed mode
The rotation speed can be controlled through the input of analog quantity or pulse frequency.
When there is the outer loop PID control of the upper control device, the speed mode can also be positioned, but the position signal of the motor or the position signal of the direct load must be fed back to the upper computer for operation.
The position mode also supports the direct load outer ring to detect the position signal.
At this time, the encoder at the motor shaft end only detects the motor speed, and the position signal is provided by the direct detection device at the final load end.
This has the advantage that it can reduce the error in the intermediate transmission process and increase the positioning accuracy of the whole system.
4. About the third loops
Servo is generally controlled by three loops. The so-called three loops are three closed-loop negative feedback PID regulation systems.
The innermost PID loop is the current loop, which is completely carried out inside the servo driver.
The output current of each phase from the driver to the motor is detected through the hall device, and the negative feedback is set to the current for PID adjustment, so that the output current is as close as possible to the set current.
The current loop controls the motor torque, so the calculation of the driver is the smallest in the torque mode, and has the fastest dynamic response.
The second loop is the speed loop.
The negative feedback PID adjustment is carried out through the detected signal of the motor encoder.
Its PID output in the loop is directly the setting of the current loop. Therefore, the speed loop control includes the speed loop and the current loop.
In other words, the current loop must be used for any mode, and the current loop is the foundation of the control.
At the same time of speed and position control, the system is actually controlling current (torque) to achieve the corresponding control of speed and position.
The third loop is the position loop, which is the outermost loop.
It can be built between the driver and the motor encoder, or between the external controller and the motor encoder or the final load, depending on the actual situation.
Since the internal output of the position control loop is the setting of the speed loop, the system performs the operation of all three loops in the position control mode.
At this time, the system has the largest amount of operation and the slowest dynamic response speed.