Share this

Methods to improve the positioning accuracy of servo systems

2026-04-06 04:29:27 · · #1
This paper analyzes the causes of positioning errors in servo systems and proposes a method for precise positioning using piecewise linear deceleration and an open-loop approach. A corresponding program flowchart is provided, offering practical reference value for improving the positioning accuracy of CNC machine tool servo systems. The positioning accuracy of CNC machine tools directly affects their machining accuracy. Traditionally, machine tools using stepper motors as drive mechanisms can achieve a repeatability of one pulse equivalent due to the inherent characteristics of stepper motors. However, the pulse equivalent of a stepper motor cannot be very small, resulting in low positioning accuracy. While the pulse equivalent of a servo system can be much smaller than that of a stepper motor system, it is still difficult for the servo system to achieve a positioning accuracy of one pulse equivalent. Since CPU performance has greatly improved, software can effectively improve positioning accuracy. We analyzed the reasons why conventional control algorithms lead to large positioning accuracy errors in servo systems and proposed a method for precise positioning using piecewise linear deceleration and an open-loop approach, which has achieved good results in practice. I. Causes and Solutions for Positioning Errors in Servo Systems Generally, the servo system control process involves: acceleration, constant speed, deceleration, and low-speed approach to the positioning point. The entire process is a closed-loop position control. The deceleration and low-speed approach to the positioning point have a significant impact on the positioning accuracy of the servo system. There are many specific methods for deceleration control, the most common being the exponential acceleration/deceleration algorithm and the linear acceleration/deceleration algorithm. The exponential acceleration/deceleration algorithm has strong tracking ability, but its stability is poor when the speed is high, and it is generally applicable to cutting processes with high tracking response requirements. The linear acceleration/deceleration algorithm has better stability and is applicable to fast positioning methods with a large speed variation range. When choosing a deceleration law, not only stability should be considered, but more importantly, the positioning accuracy at the stop should be considered. Theoretically, as long as the deceleration point is selected correctly, both exponential and linear deceleration can achieve accurate positioning, but the difficulty lies in determining the deceleration point. Common methods for determining the deceleration point include: (1) If the same acceleration/deceleration law is used at the start and stop, the deceleration point can be determined based on the relevant parameters and symmetry of the acceleration process. (2) The deceleration point can be calculated based on relevant parameters such as feed rate, deceleration time, and acceleration. With the widespread use of high-speed CPUs today, this is easy to implement for CNC servo systems and is more flexible than method (1). During servo control, the software determines the following in each sampling cycle: if the remaining total feed is greater than the remaining feed corresponding to the deceleration point, the instantaneous feed speed remains unchanged (equal to the given value); otherwise, it decelerates according to a certain pattern. Theoretically, deceleration occurs when the remaining total feed is exactly equal to the remaining feed corresponding to the deceleration point, and the system decelerates according to the expected deceleration pattern until it stops at the positioning point. However, in reality, the number of pulses fed back in each sampling cycle during normal operation of the servo system is several, dozens, or even more, so the actual deceleration point does not coincide with the theoretical deceleration point. As shown in Figure 1, the maximum error is equal to the number of pulses in the sampling cycle before deceleration. If the actual deceleration point is earlier, the speed will drop to a very low level according to the expected pattern before reaching the positioning point, which may take a long time. If the actual deceleration point lags behind the theoretical deceleration point, the speed will still be relatively high when reaching the positioning point, affecting positioning accuracy and stability. Therefore, we propose a piecewise linear deceleration method. [align=center]Figure 1. Schematic diagram of deceleration point error[/align] During the process of approaching the positioning point at low speed, let the speed be V0 (mm/s), the pulse equivalent of the servo system be δ (μm), and the sampling period be τ (ms). Then, the number of pulses that should be fed back in each sampling period is: N0 = V0τ/δ. Since the actual number of pulses fed back is an integer, there may be an error of one pulse. That is, the maximum speed detection error at this time is l/N0 = δ/(V0τ). The smaller the sampling period and the lower the speed, the larger the speed detection error. In order to meet the requirement that the positioning accuracy is one pulse, V0 should be very small, so that N0≤1. At this time, the speed detection error reaches 100% or even higher. If position closed-loop control is still implemented at this time, it will inevitably cause huge speed fluctuations, which will seriously affect the accurate positioning of the servo mechanism. Therefore, we believe that position open-loop control should be adopted at this time to avoid speed fluctuations. II. Piecewise linear deceleration for precise positioning 1. Methods and steps The characteristic of piecewise linear deceleration is that the deceleration point does not need to be precisely determined. The speed curve of the deceleration process is shown in Figure 2. First, we discuss the worst-case scenario, which is the deceleration process starting from the highest speed of the servo system. The specific deceleration steps are as follows: (1) The initial speed VG decreases to V2 with acceleration a2 in segment AB, and runs at a constant speed of V2 for T2 sampling cycles in segment BC. The time period BC is used to compensate for the error at deceleration point A. The maximum error at point A is the number of pulses NG=VGτ/δ in one sampling cycle corresponding to VG. When the speed is V2, the number of pulses in one sampling cycle is N2=V2τ/δ. Therefore, as long as T2≥NG/N2=VG/V2 is guaranteed, the error at deceleration point A can be compensated by the time period BC. (2) The speed V2 decreases to V1 with acceleration a1 in segment CD, and runs at a constant speed of V1 for T1 sampling cycles in segment DE. The time period DE is used to compensate for the error at deceleration point C. Similarly, T1≥V2/V1 should be guaranteed. Since the speed V1 is low, assuming V1=5mm/s, pulse equivalent δ=1μm, and sampling period τ=1ms, the number of pulses to be fed back per sampling period is N1=5, and the speed detection error can reach up to 20%. Therefore, open-loop control can be used from this process to avoid speed fluctuations caused by speed detection errors. It is worth noting that the open-loop control algorithm should include dead zone compensation and zero drift compensation modules for the servo mechanism. (3) The speed V1 is reduced to V0 with acceleration a1 in the EF segment, and runs at a constant speed of V0 for T0 sampling periods in the FG segment until it reaches the positioning point. This process adopts position open-loop control. Normally, when the deceleration starts, the speed of the servo system (assuming it is VG1) is less than the maximum speed. At this time, it is equivalent to the deceleration starting point A moving down to point A1, as shown by the dotted line in Figure 2. If the initial speed is less than V2, as shown by VG2 in Figure 2, it is equivalent to the deceleration starting point moving to the CD segment, and a deceleration process is missing. [align=center] Figure 2 Speed ​​Curve During Deceleration[/align] The flowchart is shown in Figure 3. In the figure, R is the total remaining feed (number of pulses). RA, RB, RC, RD, RE, and RF correspond to the remaining feed (number of pulses) corresponding to points A, B, C, D, E, and F of the deceleration curve in Figure 2, respectively. They can be calculated from parameters such as V, a, T, and τ. For example: [align=center] Figure 3 Speed ​​Control Flowchart[/align] 2. Principles for Determining Several Sets of Parameters (1) V0, V1, and V2 In the conventional deceleration process, the position error of the deceleration point is entirely compensated by the final low-speed approach stage. Therefore, V0 is difficult to select. If V0 is selected too small, T0 ≥ (VG/V0) should be guaranteed, which will take a long time to reach the positioning point. If V0 is selected too large, it will directly affect the positioning accuracy. Compared with the conventional deceleration method, the piecewise linear deceleration method adds two time periods, BC and DE. The position error of the deceleration point can be mostly compensated at higher speeds. Therefore, V0 can be selected very small. The lowest speed of the servo system can usually be taken to improve the positioning accuracy of the servo system. V1 and V2 can be taken as 1% and 10% of the highest speed of the servo system, respectively. (2) a1, a1 and a2 The greater the acceleration, the shorter the deceleration process, but the greater the impact and error. Therefore, the acceleration can be larger in the high-speed stage to ensure the speed of the deceleration process; the acceleration should be smaller in the low-speed stage to ensure positioning accuracy. Usually, the value of a1 can be taken to be equal to V0. (3) T0, T1 and T2 As can be seen from the previous analysis, in order to compensate for the position error of the deceleration point, T0=KV1/V0, T1=KV2/V1, T2=KVG/V2 should be taken, where K is the reliability coefficient, which is used to compensate for the calculation error of the algorithm and the influence of other uncertain factors. K is usually taken as 1.1~1.3. This method is independent of the characteristics of the servo system itself and can be used as a deceleration control method for any servo system at any speed. In the CNC system of the YKA7232 worm gear grinding machine we developed for Shanghai Machine Tool Plant, we adopted a segmented linear reduction open-loop approach control method to the positioning point. Actual measurements showed that the positioning accuracy and repeatability of each axis were controlled within one pulse equivalent, demonstrating stable performance and achieving excellent results.
Read next

CATDOLL 146CM Liya TPE

Height: 146cm A-cup Weight: 26kg Shoulder Width: 32cm Bust/Waist/Hip: 64/54/74cm Oral Depth: 3-5cm Vaginal Depth: 3-15c...

Articles 2026-02-22
CATDOLL 130CM Sasha

CATDOLL 130CM Sasha

Articles
2026-02-22
CATDOLL 146CM Jing TPE

CATDOLL 146CM Jing TPE

Articles
2026-02-22
CATDOLL Kara TPE Head

CATDOLL Kara TPE Head

Articles
2026-02-22