A method for compensating transmission delay of absolute encoder

The motor speed is fitted through the least squares method, and the delay displacement deviation is calculated, delay compensation for the absolute value encoder is achieved, which solves the problem that data transmission delay affects servo motor control and improves the control performance of servo motor.

CN114499335BActive Publication Date: 2025-08-08WUXI XINJIE ELECTRICAL
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210098376.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-26
Publication Date
2025-08-08
Estimated Expiration
2042-01-26

AI Technical Summary

Technical Problem

In the servo motor control system, the data transmission delay of the absolute value encoder causes the servo driver to fail to obtain real-time and accurate position information, which affects the control performance of the servo motor, especially when the data transmission distance is large and the motor speed is high, the impact is more significant.

Method used

The motor speed is fitted through the least squares method, and the speed-time formula is generated, the motor's current speed and displacement are calculated, and the position data feedback from the encoder is realized. The servo driver obtains real-time and accurate position information.

Benefits of technology

It improves the real-time and accuracy of the servo driver to obtain motor position data, and improves the control performance of the servo motor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114499335B_ABST
    Figure CN114499335B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of automated control technology, specifically a method for compensating transmission delay of an absolute encoder. The method comprises a servo drive and an encoder interconnected via a bus. After receiving a position request command, the encoder calculates the current absolute position data of a motor based on collected sensitive element data and feeds it back to the servo drive. The time when the position data is sent is used as the start time. After receiving the position data, the servo drive analyzes the position data to obtain analytical data and determines the validity of the analytical data. If the data is valid, the servo drive performs data fitting on the motor's historical speed based on the analytical data and uses the time when the fitting is completed as the end time. The method calculates a delay time based on the end time and the start time. The method estimates the current motor speed value and the delayed displacement deviation value based on the delay time. The method compensates the position data to obtain real-time motor position data. This method can significantly improve the control performance of a servo motor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of automation control technology, and in particular to a method for compensating transmission delay of an absolute encoder. Background Art

[0002] With the development of industrial automation in my country, the demand for servo motor performance in industrial control has also increased. As the most important sensor in servo motor control, the encoder can provide feedback information such as position and speed for the servo motor control system. The accuracy of the encoder feedback data will directly affect the control performance of the servo motor.

[0003] Servo drives typically use absolute encoders to monitor the motor's operating status. Data is transmitted between the encoder and the servo drive using bus protocols such as RS-485, CAN, and SSI. However, regardless of the data transmission method, a certain delay occurs during the data transmission process, preventing the servo drive from obtaining accurate and real-time position information, thereby affecting the servo motor's control performance. The impact of this delay is further amplified as the data transmission distance increases and the motor speed increases, significantly impacting servo motor control.

[0004] Therefore, a new technology is urgently needed to solve this technical problem. Summary of the Invention

[0005] The purpose of the present invention is to overcome the problems of the above-mentioned prior art and provide a method for compensating transmission delay of an absolute encoder. The method performs data fitting on the motor speed through the least squares method to generate a corresponding speed-time formula, thereby estimating the current speed of the motor, calculating the displacement of the motor during data transmission, and realizing delay compensation for the position data fed back by the encoder. After delay compensation, the servo drive can obtain real-time and accurate position information, which can greatly improve the performance of the servo drive.

[0006] The above objectives are achieved through the following technical solutions:

[0007] A method for compensating transmission delay of an absolute encoder includes a servo drive and an encoder connected to each other via a bus, and the steps are as follows:

[0008] In step (1), the servo driver sends a position request instruction to the encoder. After receiving the position request instruction, the encoder calculates the absolute position data of the current motor based on the collected sensitive element data, and feeds the position data back to the servo driver; the time when the position data is sent is used as the start time;

[0009] In step (2), after receiving the position data, the servo driver parses the position data to obtain parsed data and determines the validity of the parsed data. If the parsed data is invalid, the operation returns to step (1); if the parsed data is valid, the operation continues to step (3).

[0010] In step (3), the servo driver performs data fitting on the historical speed of the motor according to the analytical data, and uses the time after the fitting is completed as the end time;

[0011] Step (4) calculating the delay time according to the end time and the start time;

[0012] Step (5) estimating the current motor speed value and the delayed displacement deviation value according to the delay time;

[0013] Step (6) compensates the position data according to the delayed displacement deviation value to obtain real-time motor position data.

[0014] Furthermore, the encoder is connected to the servo driver via an RS-485 bus, and the encoder communicates with the servo driver using the Tamagawa protocol.

[0015] Furthermore, the time when the position data is sent in step (1) is used as the start time, specifically: when the position data fed back by the encoder starts to be transmitted, the flag corresponding to the servo driver changes, and the system records the current moment as the start time.

[0016] Furthermore, the servo driver in step (3) performs data fitting on the historical speed of the motor according to the analytical data, specifically:

[0017] The servo driver performs data fitting by the least square method, and sets the fitting curve as:

[0018] y=kx+b;

[0019] Among them, x is time, y is the speed of the motor at the corresponding moment;

[0020] Let the fitted value In servo drives, calculations are performed The variable at the minimum Value:

[0021]

[0022] By calculation, we can get:

[0023]

[0024] Among them, x i is the historical data receiving time, yi is the motor speed at the corresponding moment.

[0025] Furthermore, the current motor speed value and the delayed displacement deviation value are estimated according to the delay time in step (5), specifically:

[0026] Set the delay time to t, and substitute the delay time into the data fitting formula to estimate the current motor speed v t , the formula is as follows:

[0027] v t =kt+b;

[0028] The displacement deviation during the data transmission delay time can be calculated using the displacement formula, which is as follows:

[0029]

[0030] Among them, v0 is the velocity at the previous moment, v t is the current speed, and t is the delay time.

[0031] Furthermore, v0 is calculated by the following formula:

[0032]

[0033] Wherein, ds is the displacement increment between the two most recent received position data, and dt is the time interval between the two most recent received position data.

[0034] Furthermore, in step (6), the position data is compensated according to the delayed displacement deviation value to obtain real-time motor position data, specifically:

[0035] Assume the real-time motor position data is s, then:

[0036] S=s0+s t

[0037] Among them, s0 is the original position data fed back from the encoder, s t It is the displacement deviation value within the data transmission delay time.

[0038] Beneficial effects

[0039] The present invention provides a method for compensating absolute encoder transmission delay, applicable to delay compensation of absolute encoder displacement data across a variety of transmission protocols. By performing data fitting on the motor's historical speeds to estimate the current motor speed, the motor's displacement during the data transmission delay can be calculated based on the current motor speed, thereby achieving transmission delay compensation for the motor's position data. This method can estimate the motor's current speed with minimal data calculations, enabling relatively accurate data transmission delay compensation. This data transmission delay compensation effectively improves the real-time performance and accuracy of motor position data acquired by a servo driver, providing precise position feedback for servo motor control and significantly enhancing the servo motor's control performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 This is a flow chart of a method for compensating transmission delay of an absolute encoder according to the present invention;

[0041] Figure 2 This is a system framework diagram of the encoder and servo driver in the absolute encoder transmission delay compensation method described in the present invention. DETAILED DESCRIPTION

[0042] The present invention will be further described in detail below with reference to the figures and embodiments.

[0043] like Figure 1 As shown, a method for compensating transmission delay of an absolute encoder includes a servo drive and an encoder connected to each other via a bus, including the following steps:

[0044] In step (1), the servo driver sends a position request instruction to the encoder. After receiving the position request instruction, the encoder calculates the absolute position data of the current motor based on the collected sensitive element data and feeds the position data back to the servo driver. The time when the position data is sent is used as the start time.

[0045] Specifically, when the position data fed back by the encoder starts to be transmitted, the flag corresponding to the servo driver changes, and the system records the current moment as the start time.

[0046] In step (2), after receiving the position data, the servo driver parses the position data to obtain parsed data and determines the validity of the parsed data. If the parsed data is invalid, the operation returns to step (1); if the parsed data is valid, the operation continues to step (3).

[0047] In step (3), the servo driver performs data fitting on the historical speed of the motor according to the analytical data, and uses the time after the fitting is completed as the end time;

[0048] Specifically, the servo driver performs data fitting by the least square method, and sets the fitting curve to be:

[0049] y=kx+b;

[0050] Among them, x is time, y is the speed of the motor at the corresponding moment;

[0051] Let the fitted value In servo drives, calculations are performed The variable at the minimum Value:

[0052]

[0053] By calculation, we can get:

[0054]

[0055] Among them, x i is the historical data receiving time, y i is the motor speed at the corresponding moment.

[0056] Step (4) calculating the delay time according to the end time and the start time;

[0057] Step (5) estimating the current motor speed value and the delayed displacement deviation value according to the delay time;

[0058] Specifically, the delay time is set to t, and the delay time is substituted into the data fitting formula to estimate the current motor speed V t , the formula is as follows:

[0059] v t =kt+b;

[0060] The displacement deviation during the data transmission delay time can be calculated using the displacement formula, which is as follows:

[0061]

[0062] Among them, v0 is the velocity at the previous moment, v t is the current speed, and t is the delay time.

[0063] The v0 is calculated by the following formula:

[0064]

[0065] Wherein, ds is the displacement increment between the two most recent received position data, and dt is the time interval between the two most recent received position data.

[0066] Step (6) compensates the position data according to the delayed displacement deviation value to obtain real-time motor position data.

[0067] Specifically, let the real-time motor position data be s, then:

[0068] s=s0+s t

[0069] Among them, s0 is the original position data fed back from the encoder, s t It is the displacement deviation value within the data transmission delay time.

[0070] In this embodiment, Figure 2 As shown, the encoder is connected to the servo driver via an RS-485 bus, and the encoder communicates with the servo driver using the Tamagawa protocol.

[0071] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be conceived by anyone skilled in the art within the technical scope disclosed by the present invention are also included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A method for compensating transmission delay of an absolute encoder, characterized by: Including the servo drive and encoder connected to each other via the bus, the steps are as follows: Step (1) The servo driver sends a position request instruction to the encoder. After receiving the position request instruction, the encoder calculates the absolute position data of the current motor based on the collected sensitive element data and feeds the position data back to the servo driver. The time when the position data is sent is used as the start time. Step (2) After receiving the position data, the servo driver parses the position data to obtain parsed data, and determines the validity of the parsed data. If the parsed data is invalid, the operation returns to step (1); If it is valid data, continue with step (3); Step (3) the servo driver performs data fitting on the historical speed of the motor according to the analytical data, and uses the time after the fitting is completed as the end time; Step (4) calculating the delay time according to the end time and the start time; Step (5) estimating the current motor speed value and the delayed displacement deviation value according to the delay time; Step (6) compensating the position data according to the delayed displacement deviation value to obtain real-time motor position data; In step (3), the servo driver performs data fitting on the motor's historical speed based on the analytical data, specifically: The servo driver performs data fitting by the least square method, and sets the fitting curve to be: y=kx+b; Among them, x is time, y is the speed of the motor at the corresponding moment; Let the fitted value In the servo drive, the calculation The variable at the minimum , Value: By calculation, we can get: Among them, x i is the historical data receiving time, y i is the motor speed at the corresponding moment.

2. The method for compensating transmission delay of an absolute encoder according to claim 1, wherein: The encoder is connected to the servo driver via an RS-485 bus, and the encoder communicates with the servo driver using the Tamagawa protocol.

3. The method for compensating transmission delay of an absolute encoder according to claim 1, wherein: The time when the position data is sent in step (1) is used as the start time. Specifically, when the position data fed back by the encoder starts to be transmitted, the flag corresponding to the servo driver changes, and the system records the current moment as the start time.

4. The method for compensating transmission delay of an absolute encoder according to claim 1, wherein: The current motor speed value and the delayed displacement deviation value are estimated according to the delay time in step (5), specifically: Set the delay time to t, and substitute the delay time into the data fitting formula to estimate the current motor speed v t , the formula is as follows: t= kt+b; The displacement deviation within the data transmission delay time can be calculated using the displacement formula, which is as follows: t =½(v o +v t )t Among them, v o is the velocity at the previous moment, v t is the current speed, and t is the delay time.

5. The method for compensating transmission delay of an absolute encoder according to claim 4, wherein: The v o Calculated by the following formula: o= ; Wherein, ds is the displacement increment between the two most recent received position data, and dt is the time interval between the two most recent received position data.

6. The method for compensating transmission delay of an absolute encoder according to claim 1, wherein: In step (6), the position data is compensated according to the delayed displacement deviation value to obtain real-time motor position data, specifically: Set the real-time motor position data to s, then: s=s0+s t Among them, s0 is the original position data fed back from the encoder, s t It is the displacement deviation value within the data transmission delay time.

Citation Information

Patent Citations

  • Real-time rotating speed detection module of servo motor based on FPGA (Field Programmable Gate Array)

    CN102759633A

  • Method for measuring and compensating internal signal transmission delay of magnetic encoder

    CN113726258A