Oscillation suppression control method and system for servo control system
By calculating the position jump value and position error value of the encoder feedback, setting the absolute dead zone range and segmentation function, and adjusting the position loop speed command value, the problem of motor oscillation in the servo control system is solved, maintaining the system rigidity and improving positioning errors.
Patent Information
- Application Number
- CN202310065210.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-13
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2043-01-13
AI Technical Summary
The prior art suppresses motor oscillation by reducing the proportional control Kp value in servo control systems, resulting in a decrease in rigidity and weakening of disturbance resistance of the servo control system.
By calculating the encoder feedback position jump value and position error value in the servo control system, setting the absolute dead zone range and segmentation function, adjusting the speed command value of the position ring, and suppressing the oscillation of the motor in a stationary state.
While maintaining the rigidity of the servo control system, reduce motor position fluctuations at rest, suppress motor oscillation, and improve positioning errors and dynamic performance.
Smart Images

Figure CN116155161B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servo motor control, and in particular to an oscillation suppression control method and system for use in a servo control system. Background Art
[0002] Motor servo control systems are widely used in industry. In servo control systems, an encoder feeds the motor's position and speed to the driver to adjust the motor's speed stability and positioning accuracy. However, when the encoder's anti-interference ability decreases, it can cause its own position to fluctuate, triggering motor oscillation when the motor is in a stationary, locked state. Therefore, to suppress motor oscillation caused by encoder feedback position fluctuations, existing technologies reduce the proportional control Kp value in servo control to reduce the probability and amplitude of motor oscillation in the stationary state. However, a decrease in the proportional control Kp value can lead to the following disadvantages: 1. A decrease in the proportional control Kp value reduces the overall rigidity of the servo control system, affecting the dynamic speed; 2. A decrease in the proportional control Kp value reduces the anti-interference ability of the servo control system in the stationary state. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide an oscillation suppression control method and system for a servo control system, which can suppress the position oscillation problem generated by a motor in a stationary state.
[0004] In order to solve the above technical problems, the technical solution adopted by the present invention is:
[0005] An oscillation suppression control method for a servo control system is provided, which is applied in closed-loop control. The oscillation suppression control method includes the following steps:
[0006] S1: The feedback position jump value range of the encoder obtained when the servo motor is stationary is (-R, R);
[0007] S2: When the servo motor is in operation, a first position error value E is obtained. The first position error value E is the difference between the accumulated value of the command position increment input by the user and the accumulated value of the feedback position increment fed back by the encoder.
[0008] S3: The absolute dead zone range and the second position error value are calculated based on the obtained feedback position jitter value range and the first position error value. The second position error value is input to the position loop. The position loop calculates the output speed command value V based on the second position error. The absolute dead zone range formula is as follows:
[0009] when When , f(E)=0, the speed command value V of the position loop=0, where f(E) is the second position error value and the range of K value is (0, 1).
[0010] The beneficial effects of the present invention lie in the following: The present invention provides an oscillation suppression control method for a servo control system, capable of adjusting the absolute dead zone range by setting the ratio K according to the application scenario. A larger K value increases the positioning error range and increases the stability of the motor in a stationary state. While maintaining the rigidity of the servo control system, the present invention can reduce motor position fluctuations at rest and suppress motor oscillations that may occur when the motor is in a locked, stationary state. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 A flowchart of the steps of an oscillation suppression control method for a servo control system according to the present invention;
[0012] Figure 2 This is a structural block diagram of an oscillation suppression control system for a servo control system according to the present invention;
[0013] Description of labels:
[0014] 1. Servo motor; 2. Position loop; 3. Speed loop; 4. Current loop; 5. Encoder feedback position; 6. Oscillation suppression control system. DETAILED DESCRIPTION
[0015] To illustrate the technical content, achieved objectives and effects of the present invention in detail, the following description is given in conjunction with the embodiments and accompanying drawings.
[0016] Please refer to Figure 1 , provides an oscillation suppression control method for a servo control system, which is applied in closed-loop control. The oscillation suppression control method includes the following steps:
[0017] S1: The feedback position jump value range of the encoder obtained when the servo motor is stationary is (-R, R);
[0018] S2: When the servo motor is running, a first position error value E is obtained. The first position error value E is the difference between the command position incremental accumulated value input by the user and the feedback position incremental accumulated value fed back by the encoder.
[0019] S3: The absolute dead zone range and the second position error value are calculated based on the obtained feedback position jitter value range and the first position error value. The second position error value is input to the position loop. The position loop calculates the output speed command value V based on the second position error. The absolute dead zone range formula is as follows:
[0020] when When , f(E)=0, the speed command value V of the position loop=0, where f(E) is the second position error value and the range of K value is (0, 1).
[0021] As can be seen from the above description, the beneficial effects of the present invention are: the oscillation suppression control method provided by the present invention for use in a servo control system can set the size of the ratio K according to the usage scenario, thereby adjusting the absolute dead zone range. The larger the K value, the larger the positioning error range and the more stable the motor in the static state. The present invention can reduce the fluctuation of the motor position when stationary while maintaining the rigidity of the servo control system, and suppress the motor oscillation problem caused by the motor in the static locked state.
[0022] Furthermore, step S3 specifically includes calculating a weakened dead zone range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the weakened dead zone range is as follows:
[0023] ;
[0024] Among them, within the weakening dead zone, the speed command value of the position loop , Kp is the proportional control parameter. From the above description, we can see that the speed command value output by the position loop within the weakened dead zone range is , reducing the speed command value output by the position loop to 1 / E of its original value, resulting in a very small speed command value. This speed command value drives the closed-loop control to bring the encoder's feedback position error within the positioning error range. The purpose of this weakened dead band is to slowly converge the feedback position error to the boundary of the absolute dead band, ensuring that the first position error of the servo motor during prolonged static conditions is within the absolute position dead band.
[0025] Furthermore, the piecewise function of the conventional area range is calculated based on the obtained feedback position jitter value range and the first position error value as follows:
[0026] ;
[0027] Among them, within the normal range, the speed command value of the position loop .
[0028] From the above description, it can be seen that within the conventional range, when |E| is much larger than R, f(E) is approximately equal to E, and the dynamic performance of the motor is not affected. When |E| is close to R, |f(E)| is close to 1, and the closed-loop control of the servo motor is less affected by encoder fluctuations, which can ensure that the motor remains stable in the static locked state.
[0029] Furthermore, the formula for the first position error value is:
[0030] E=∑E'-∑E", where ∑E' is the accumulated value of the command position increment and ∑E" is the accumulated value of the feedback position increment.
[0031] From the above description, it can be seen that by calculating the difference between the accumulated value of the feedback position increment and the accumulated value of the command position increment to obtain the position error of the encoder feedback, and then substituting it into the piecewise function, a new position error value can be quickly obtained, thereby ensuring the stability of the closed-loop control and avoiding repeated adjustments caused by encoder fluctuations.
[0032] Furthermore, the feedback position jitter value of the encoder is the feedback position jitter value of the magnetic encoder.
[0033] As can be seen from the above description, for optical and magnetic encoders with the same number of bits of resolution, the R value of the magnetic encoder will be greater than that of the optical encoder. This is because the position feedback noise of the magnetic encoder itself is greater, so the improvement effect is greater.
[0034] Please refer to Figure 2 , provides an oscillation suppression control system for a servo control system, which is arranged between the encoder feedback position and the input end of the position loop in the servo controller. The oscillation suppression control system includes one or more processors and a memory. The memory stores a program. When the program is executed by the processor, it implements the following steps:
[0035] S1: The feedback position jump value range of the encoder obtained when the servo motor is stationary is (-R, R);
[0036] S2: When the servo motor is running, a first position error value E is obtained. The first position error value E is the difference between the command position incremental accumulated value input by the user and the feedback position incremental accumulated value fed back by the encoder.
[0037] S3: The absolute dead zone range and the second position error value are calculated based on the obtained feedback position jitter value range and the first position error value. The second position error value is input to the position loop. The position loop calculates the output speed command value V based on the second position error. The absolute dead zone range formula is as follows:
[0038] when When , f(E)=0, the speed command value V of the position loop=0, where f(E) is the second position error value and the range of K value is (0, 1).
[0039] As can be seen from the foregoing description, the beneficial effects of the present invention are as follows: The present invention provides an oscillation suppression control system for a servo control system, capable of adjusting the absolute dead zone range by setting the ratio K according to the usage scenario. The larger the K value, the larger the positioning error range and the more stable the motor in the stationary state. While maintaining the rigidity of the servo control system, the present invention can reduce motor position fluctuations at rest and suppress motor oscillations that may occur when the motor is in a locked, stationary state.
[0040] Furthermore, when the program is executed by the processor, the following steps are implemented:
[0041] Step S3 specifically further includes calculating a weakened dead zone range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the weakened dead zone range is as follows:
[0042] ;
[0043] Among them, within the weakening dead zone, the speed command value of the position loop , Kp is the proportional control parameter. From the above description, it can be seen that the speed command value output by the position loop of the system within the weakened dead zone range is , reducing the speed command value output by the position loop to 1 / E of its original value, resulting in a very small speed command value. This speed command value drives the closed-loop control to bring the first position error within the positioning error range. The purpose of this weakened dead band is to slowly converge the first position error to the boundary of the absolute dead band, ensuring that the first position error of the servo motor remains within the absolute position dead band when the servo motor is stationary for a long time.
[0044] Furthermore, when the program is executed by the processor, the following steps are implemented:
[0045] Step S3 further includes calculating a normal area range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the normal area range is as follows:
[0046] ;
[0047] Among them, within the conventional area, the speed command value of the position loop is .
[0048] Furthermore, the formula for the first position error value is:
[0049] E=∑E'-∑E", where ∑E' is the accumulated value of the command position increment and ∑E" is the accumulated value of the feedback position increment.
[0050] From the above description, it can be seen that by calculating the difference between the accumulated value of the feedback position increment and the accumulated value of the command position increment to obtain the position error of the encoder feedback, and then substituting it into the piecewise function, a new position error value can be quickly obtained, thereby ensuring the stability of the closed-loop control and avoiding repeated adjustments caused by encoder fluctuations.
[0051] The present invention provides an oscillation suppression control method for a servo control system, which is mainly used in the closed-loop control of a servo motor to improve the motor oscillation problem when the motor is in a stationary locked shaft state during servo driver control.
[0052] Please refer to Figure 1A first embodiment of the present invention provides an oscillation suppression control method for a servo control system, which is applied to the closed-loop control of a servo motor 1. Specifically, the servo driver of the servo control system has a three-loop closed-loop control structure comprising a position loop 2, a velocity loop 3, and a current loop 4. The servo driver performs position loop control by acquiring an encoder position signal and a user command signal. The encoder oscillation suppression control method includes the following steps:
[0053] S1: The feedback position jump value range of the encoder obtained when the servo motor is stationary is (-R, R);
[0054] Specifically, when the servo control system is in an disabled state, the servo motor is in a stationary locked shaft state, and the feedback position jitter value range of the acquisition encoder is (-R, R).
[0055] S2: When the servo motor is running, a first position error value E is obtained. The first position error value E is the difference between the incremental accumulated value of the command position input by the user and the accumulated value of the feedback position increment fed back by the encoder.
[0056] Specifically, when the servo control system is in the enabled state, the servo motor is in the running state, and the first position error value E is calculated based on the cumulative value of the command position increment input by the user obtained by the servo driver and the feedback position increment fed back by the encoder, E=∑E'-∑E", where ∑E' is the cumulative value of the position command increment input by the user, and ∑E" is the cumulative value of the displacement increment fed back by the encoder.
[0057] S3: The absolute dead zone range and the second position error value are calculated based on the obtained feedback position jitter value range and the first position error value. The second position error value is input to the position loop. The position loop calculates the output speed command value V based on the second position error. The absolute dead zone range formula is as follows:
[0058] when When f(E) = 0, the position loop's velocity command value V = 0, where f(E) is the second position error value and the K value range is (0, 1). In this case, f(E) serves as the second position error value and is input to the position loop's input. When f(E) = 0, the position loop's velocity command value V output to the velocity loop is 0, ensuring stable closed-loop control and preventing repeated adjustments due to encoder fluctuations. This absolute dead zone can also serve as a reference for the positioning error range in servo position mode.
[0059] Specifically, step S3 further includes calculating a weakened dead zone range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the weakened dead zone range is as follows:
[0060] ;
[0061] Among them, within the weakening dead zone, the speed command value of the position loop , Kp is the proportional control parameter. That is, when hour, =1; hour, =-1, at this time When the second position error value is input to the input end of the position loop, the speed command value output by the position loop is , wherein the position loop is based on the second position error value The speed command value obtained by performing a proportional-integral operation, with Kp as the proportional control parameter, reduces the speed command value output by the position loop to 1 / E of the original value, resulting in a very small value. This speed command value V drives the closed-loop control, bringing the first position error within the positioning error range. This weakened position dead zone serves to slowly converge the first position error to the boundary of the absolute position dead zone, ensuring that the first position error remains within the absolute position dead zone even when the servo motor is stationary for extended periods.
[0062] Step S3 further includes calculating a normal area range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the normal area range is as follows:
[0063] ;
[0064] Among them, within the conventional area, when hour, =E-(R-1)≥1; when hour, =E+(R-1)≤-1, then When the second position error value is input to the input end of the position loop, the position loop performs proportional operation to obtain the speed command value V. The speed command value of the position loop is This speed command value, V, is output to the speed loop via the output of the position loop, enabling normal closed-loop control in normal operation. Within the normal range, when |E| is significantly greater than R, f(E) is approximately equal to E, and the motor's dynamic performance is unaffected. When |E| approaches R, |f(E)| approaches 1, minimizing the impact of encoder fluctuations on the servo motor's closed-loop control and ensuring the motor maintains stability in the locked, stationary state.
[0065] The total piecewise function of the second position error value f(E) obtained according to the above absolute dead zone range, weakened dead zone range and conventional area range is as follows:
[0066] ;
[0067] Because the K value is adjustable between 0 and 1, adjusting the K value changes the ratio between the absolute dead zone and the reduced dead zone. A larger K value indicates a wider positioning error range, which results in more stable motors at rest. Furthermore, when measuring positioning error in servo position mode, if the positioning error range is too large, the R and K parameters can be adjusted to adjust the range.
[0068] In this embodiment, the encoder's feedback position jitter value is the same as that of the magnetic encoder. For optical and magnetic encoders with the same number of bits of resolution, the magnetic encoder's R value will be greater than that of the optical encoder. Because the magnetic encoder's inherent position feedback noise is greater, the improvement effect is greater.
[0069] Working principle:
[0070] The servo controller collects the incremental value of the feedback position increment fed back by the encoder and the incremental value of the command position increment input by the user to calculate the first position error value E, and substitutes the first position error value E into the following total piecewise function:
[0071] ;
[0072] The calculated value of f(E) is used as the second position error value and input into the input end of the position loop. When the first position error value is within the deadband range, the encoder feedback signal is caused by the encoder's own fluctuations, and the motor is still stationary. Therefore, the second position error value input to the position loop is 0, and the speed command value output by the position loop is also 0. The closed-loop control no longer reacts, and the closed-loop control remains stable, without repeated adjustments due to encoder fluctuations.
[0073] Please refer to Figure 2 A second embodiment of the present invention provides an oscillation suppression control system for a servo control system, which is arranged between an encoder feedback position 5 and an input end of a position loop in a servo controller. The oscillation suppression control system 6 includes a processor and a memory. The memory stores a program. When the program is executed by the processor, the following steps are implemented:
[0074] S1: The feedback position jump value range of the encoder obtained when the servo motor is stationary is (-R, R);
[0075] S2: When the servo motor is running, a first position error value E is obtained. The first position error value E is the difference between the command position incremental accumulated value input by the user and the feedback position incremental accumulated value fed back by the encoder.
[0076] S3: The absolute dead zone range and the second position error value are calculated based on the obtained feedback position jitter value range and the first position error value. The second position error value is input to the position loop. The position loop calculates the output speed command value V based on the second position error. The absolute dead zone range formula is as follows:
[0077] when When , f(E)=0, the speed command value V of the position loop=0, where f(E) is the second position error value and the range of K value is (0, 1).
[0078] In this embodiment, when the program is executed by the processor, the following steps are implemented:
[0079] Step S3 specifically further includes calculating a weakened dead zone range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the weakened dead zone range is as follows:
[0080] ;
[0081] Among them, within the weakening dead zone, the speed command value of the position loop , Kp is the proportional control parameter.
[0082] In this embodiment, when the program is executed by the processor, the following steps are implemented:
[0083] Step S3 further includes calculating a normal area range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the normal area range is as follows:
[0084] ;
[0085] Among them, within the conventional area, the speed command value of the position loop is .
[0086] In this embodiment, the formula for the first position error value is:
[0087] E=∑E'-∑E", where ∑E' is the accumulated value of the command position increment and ∑E" is the accumulated value of the feedback position increment.
[0088] In summary, the present invention provides an oscillation suppression control method and system for a servo control system, which can set the size of the ratio K according to the usage scenario, thereby adjusting the absolute dead zone range. The larger the K value, the larger the positioning error range, and the more stable the motor in the static state. The present invention can reduce the motor position fluctuation when stationary while maintaining the rigidity of the servo control system, suppress the motor oscillation problem caused by the motor in the static locked shaft state, and bring the following advantages: 1. Reduce the motor position fluctuation when stationary while ensuring the rigidity of the servo control system remains unchanged; 2. Reduce the mechanical noise and current control noise generated by the motor position fluctuation when stationary; 3. Improve the positioning error of the position mode.
[0089] The above descriptions are merely embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent transformations made using the contents of the present invention's description and drawings, or directly or indirectly applied in related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. An oscillation suppression control method for a servo control system, characterized in that: Applied in closed-loop control, the oscillation suppression control method includes the following steps: S1: The feedback position jump value range of the encoder obtained when the servo motor is stationary is (-R, R); S2: When the servo motor is running, a first position error value E is obtained. The first position error value E is the difference between the command position incremental accumulated value input by the user and the feedback position incremental accumulated value fed back by the encoder. S3: The absolute dead zone range and the second position error value are calculated based on the obtained feedback position jitter value range and the first position error value. The second position error value is input into the position loop. The position loop calculates the output speed command value V based on the second position error. The absolute dead zone range formula is as follows: when When f(E)=0, the speed command value V of the position loop=0, where f(E) is the second position error value and the range of K value is (0, 1); Step S3 specifically further includes calculating a weakened dead zone range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the weakened dead zone range is as follows: ; Among them, within the weakening dead zone, the speed command value of the position loop , Kp is the proportional control parameter; Step S3 further includes calculating a normal area range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the normal area range is as follows: ; Among them, within the conventional area, the speed command value of the position loop is .
2. The oscillation suppression control method for a servo control system according to claim 1, characterized in that: The formula for the first position error value is: E=∑E'-∑E", where ∑E' is the accumulated value of the command position increment and ∑E" is the accumulated value of the feedback position increment.
3. The oscillation suppression control method for a servo control system according to claim 1, characterized in that: The feedback position jitter value of the encoder is the feedback position jitter value of the magnetic encoder.
4. An oscillation suppression control system for a servo control system, characterized in that: The oscillation suppression control system is provided between the encoder feedback position and the input end of the position loop in the servo controller, and includes one or more processors and a memory, wherein the memory stores a program that, when executed by the processor, implements the following steps: S1: The feedback position jump value range of the encoder obtained when the servo motor is stationary is (-R, R); S2: When the servo motor is running, a first position error value E is obtained. The first position error value E is the difference between the command position incremental accumulated value input by the user and the feedback position incremental accumulated value fed back by the encoder. S3: The absolute dead zone range and the second position error value are calculated based on the obtained feedback position jitter value range and the first position error value. The second position error value is input into the position loop. The position loop calculates the output speed command value V based on the second position error. The absolute dead zone range formula is as follows: when When f(E)=0, the speed command value V of the position loop=0, where f(E) is the second position error value and the range of K value is (0, 1); When the program is executed by the processor, the following steps are performed: Step S3 specifically further includes calculating a weakened dead zone range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the weakened dead zone range is as follows: ; Among them, within the weakening dead zone, the speed command value of the position loop , Kp is the proportional control parameter; When the program is executed by the processor, the following steps are performed: Step S3 further includes calculating a normal area range based on the acquired feedback position jitter value range and the first position error value. The piecewise function of the normal area range is as follows: ; Among them, within the conventional area, the speed command value of the position loop is .
5. The oscillation suppression control system for a servo control system according to claim 4, characterized in that: The formula for the first position error value is: E=∑E'-∑E", where ∑E' is the accumulated value of the command position increment and ∑E" is the accumulated value of the feedback position increment.
Citation Information
Patent Citations
Brushless servo control system and driving apparatus based on permanent magnet brushless DC motor
CN101499753A
Brushless servo system and driving device based on permanent magnet brushless direct current motor
CN201403064Y