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.
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
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.
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.
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.
Smart Images

Figure CN114499335B_ABST
Abstract
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