Load rotational inertia identification method and system

文档序号:1158876 发布日期:2020-09-15 浏览:2次 中文

阅读说明:本技术 负载转动惯量辨识方法及系统 (Load rotational inertia identification method and system ) 是由 徐潇 温志庆 王宏 邓锦祥 于 2020-06-09 设计创作,主要内容包括:本发明涉及一种负载转动惯量辨识方法,包括:当伺服电机的运行计时时间没有达到T时,根据伺服电机不同状态下的电机机械转速,不断计算该伺服电机的负载转动惯量,并作为后续自检环节的辨识范围;当伺服电机的运行计时时间达到T时,计算当前时刻下的负载转动惯量,开启负载转动惯量辨识;当上述计算的当前时刻下的负载转动惯量在辨识范围内时,根据上述计算的当前时刻下的负载转动惯量对负载转动惯量进行更新。本发明还涉及一种负载转动惯量辨识系统。本发明无需给定初始的负载转动惯量,且辨识过程会对结果数值是否有效加以判断,不累积误差且运算量较小,具有较高的实用性。(The invention relates to a load moment of inertia identification method, which comprises the following steps: when the running timing time of the servo motor does not reach T, continuously calculating the load moment of inertia of the servo motor according to the mechanical rotating speeds of the servo motor in different states, and using the load moment of inertia as the identification range of a subsequent self-checking link; when the running timing time of the servo motor reaches T, calculating the load moment of inertia at the current moment, and starting load moment of inertia identification; and when the calculated load moment of inertia at the current moment is within the identification range, updating the load moment of inertia according to the calculated load moment of inertia at the current moment. The invention also relates to a load rotational inertia identification system. The method does not need to give initial load moment of inertia, judges whether the result value is effective or not in the identification process, does not accumulate errors, has small calculation amount and has higher practicability.)

1. A load moment of inertia identification method is characterized by comprising the following steps:

a. when the running timing time of the servo motor does not reach T, continuously calculating the load moment of inertia of the servo motor according to the mechanical rotating speeds of the servo motor in different states, and using the load moment of inertia as the identification range of a subsequent self-checking link;

b. when the running timing time of the servo motor reaches T, calculating the load moment of inertia at the current moment, and starting load moment of inertia identification;

c. judging whether the calculated load moment inertia at the current moment is in an identification range;

d. and when the calculated load moment of inertia at the current moment is within the identification range, updating the load moment of inertia according to the calculated load moment of inertia at the current moment.

2. The method of claim 1, further comprising:

and returning to the step b when the calculated load moment of inertia at the current moment is not in the identification range.

3. The method according to claim 1, wherein in the step a, continuously calculating the load moment of inertia of the servo motor according to the mechanical rotation speeds of the servo motor in different states includes:

the state 1 is an initial stage, when the torque Te of the servo motor exceeds a set torque threshold TethTime-recording servoMechanical rotation speed omega of motortAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speed

Figure FDA0002531341520000012

4. The method according to claim 3, wherein the calculating the load moment of inertia of the servo motor according to the motor kinematics equation specifically comprises:

according to motor kinematic equation

Figure FDA0002531341520000021

Figure FDA0002531341520000022

wherein J is load moment of inertia, Te is torque feedback, omegatAndand respectively calculating the mechanical rotating speeds of the motors corresponding to the corresponding moments through a formula 1 to obtain the load moment of inertia of the servo motor.

5. The method as claimed in claim 4, wherein in step a, the identification range as the subsequent self-test link comprises:

and calculating to obtain the load moment of inertia of the servo motor in each state cycle within the running timing time T of the servo motor to form a load moment of inertia array, and taking the maximum value and the minimum value of the load moment of inertia array as the identification range of a subsequent self-checking link.

6. The method according to claim 5, wherein said step c specifically comprises:

comparing the calculated load moment of inertia at the current moment with the maximum value and the minimum value of the self-checking link identification range, and if the calculated load moment of inertia at the current moment is between the maximum value and the minimum value of the self-checking link identification range, determining that the calculated load moment of inertia at the current moment is in the self-checking link identification range; otherwise, the calculated load moment inertia at the current moment is not within the self-checking link identification range.

7. The method according to claim 6, wherein said step d specifically comprises:

and (3) carrying out weighted correction on the load moment of inertia:

Jnew=αJnew+(1-α)Joldequation 2

Wherein α is a weighting coefficient, generally set between 0.2-0.5, JoldRepresents the moment of inertia of the load at the present moment of the above calculation, JnewExpressing the updated moment of inertia of the load, J is expressed according to equation 2newAnd updating the numerical value to finish the primary inertia identification.

8. A load moment of inertia identification system, characterized in that, this system includes calculation module, storage module, judgement module and update module, wherein:

the calculation module is used for calculating the load moment of inertia of the servo motor according to the mechanical rotating speeds of the servo motor in different states when the running timing time of the servo motor does not reach T;

the storage module is used for storing the load moment of inertia of the motor as an identification range of a subsequent self-checking link;

the calculation module is further used for calculating the load moment of inertia at the current moment and starting load moment of inertia identification when the running timing time of the servo motor reaches T;

the judging module is used for judging whether the calculated load moment inertia is in an identification range at the current moment;

and the updating module is used for updating the load moment of inertia according to the calculated load moment of inertia at the current moment when the calculated load moment of inertia at the current moment is within the identification range.

9. The system according to claim 8, wherein continuously calculating the load moment of inertia of the servo motor according to the mechanical rotation speeds of the servo motor in different states comprises:

the state 1 is an initial stage, when the torque Te of the servo motor exceeds a set torque threshold TethTime recording servo motor mechanical rotation speed omegatAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speedThen jumping to state 3; t is continuously timed in the state 3, and the torque of the servo motor is continuously accumulated to obtain

Figure FDA0002531341520000033

10. The system of claim 9, wherein the update module is specifically configured to:

and (3) carrying out weighted correction on the load moment of inertia:

Jnew=αJnew+(1-α)Joldequation 2

Wherein α is a weighting coefficient, generally set between 0.2-0.5, JoldRepresents the moment of inertia of the load at the present moment of the above calculation, JnewExpressing the updated moment of inertia of the load, J is expressed according to equation 2newAnd updating the numerical value to finish the primary inertia identification.

Technical Field

The invention relates to a load moment of inertia identification method and system.

Background

In the motion process of the servo motor, the load moment of inertia fluctuates along with the motion attitude change of the mechanical arm. The control parameters of the speed ring are positively correlated with the actual load moment of inertia, and if the correct load moment of inertia is not obtained, the overall control efficiency of the servo motor is reduced. Therefore, the load moment of inertia is identified in real time, and the method has very important significance for accurate motor control.

The existing load moment of inertia identification method is mainly divided into off-line identification and on-line identification. The two identification methods are calculated according to the torque feedback and the rotating speed feedback acquired in real time after the motor motion equation is dispersed. However, the off-line identification requires regular movement tracks, and the on-line identification can only perform identification calculation during normal operation of the motor.

Application No.: 201310087944.2, an online identification method for the rotational inertia of the AC permanent magnet synchronous motor servo system. According to the method, inertia identification is only carried out at the stage of judging the dynamic change of the rotating speed of the motor, but each operation period meeting the conditions is subjected to continuous convergence calculation and updating results by using a recursive least square method, so that the overall operation amount is large.

Application No.: 201910537539.3 method and device for identifying dynamic moment of inertia of motor servo system, and motor servo system. Although the method judges the state transition according to specific conditions and calculates the updated inertia value only when the conditions are met, an initial value of the load moment of inertia needs to be obtained, and errors in calculation are accumulated in subsequent results.

At present, there is no load moment of inertia identification method or system that can determine a result in an identification process without setting an initial load moment of inertia and accumulating errors.

Disclosure of Invention

Therefore, it is desirable to provide a method and a system for identifying rotational inertia of a load, which can determine whether a result value is valid in an identification process without giving an initial rotational inertia of the load, and without accumulating errors.

The invention provides a load moment of inertia identification method, which comprises the following steps: a. judging whether the running timing time of the servo motor reaches T or not; b. when the running timing time of the servo motor does not reach T, continuously calculating the load moment of inertia of the servo motor according to the mechanical rotating speeds of the servo motor in different states, and using the load moment of inertia as the identification range of a subsequent self-checking link; c. when the running timing time of the servo motor reaches T, calculating the load moment of inertia at the current moment, and starting load moment of inertia identification; d. judging whether the calculated load moment inertia at the current moment is in an identification range; e. and when the calculated load moment of inertia at the current moment is within the identification range, updating the load moment of inertia according to the calculated load moment of inertia at the current moment.

And c, when the calculated load moment of inertia at the current moment is not in the identification range, returning to the step c.

In step b, continuously calculating the load moment of inertia of the servo motor according to the mechanical rotating speeds of the servo motor in different states, specifically comprising:

the state 1 is an initial stage, when the torque Te of the servo motor exceeds a set torque threshold TethTime recording servo motor mechanical rotation speed omegatAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000022

Then jumping to state 3; t is continuously timed in the state 3, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold value 2tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000024

Then timing t is reset and the state 4 is jumped to; and in the state 4, calculating to obtain the load moment of inertia of the servo motor according to a motor kinematics equation.

The method for calculating and obtaining the load moment of inertia of the servo motor according to the motor kinematics equation specifically comprises the following steps:

according to motor kinematic equation

Figure BDA0002531341530000031

After derivation, we can obtain:

wherein J is load moment of inertia, Te is torque feedback, omegat

Figure BDA0002531341530000033

Andand respectively calculating the mechanical rotating speeds of the motors corresponding to the corresponding moments through a formula 1 to obtain the load moment of inertia of the servo motor.

In step b, the identification range as the subsequent self-checking link includes:

and calculating to obtain the load moment of inertia of the servo motor in each state cycle within the running timing time T of the servo motor to form a load moment of inertia array, and taking the maximum value and the minimum value of the load moment of inertia array as the identification range of a subsequent self-checking link.

The step d specifically comprises:

comparing the calculated load moment of inertia at the current moment with the maximum value and the minimum value of the self-checking link identification range, and if the calculated load moment of inertia at the current moment is between the maximum value and the minimum value of the self-checking link identification range, determining that the calculated load moment of inertia at the current moment is in the self-checking link identification range; otherwise, the calculated load moment inertia at the current moment is not within the self-checking link identification range.

The step e specifically comprises the following steps:

and (3) carrying out weighted correction on the load moment of inertia:

Jnew=αJnew+(1-α)Joldequation 2

Wherein α is a weighting coefficient, generally set between 0.2-0.5, JoldRepresents the moment of inertia of the load at the present moment of the above calculation, JnewExpressing the updated moment of inertia of the load, J is expressed according to equation 2newAnd updating the numerical value to finish the primary inertia identification.

The invention provides a load moment of inertia identification system, which comprises a judgment module, a calculation module, a storage module and an update module, wherein: the judging module is used for judging whether the running timing time of the servo motor reaches T or not; the calculation module is used for calculating the load moment of inertia of the servo motor according to the mechanical rotating speeds of the servo motor in different states when the running timing time of the servo motor does not reach T; the storage module is used for storing the load moment of inertia of the motor as an identification range of a subsequent self-checking link; the calculation module is further used for calculating the load moment of inertia at the current moment and starting load moment of inertia identification when the running timing time of the servo motor reaches T; the judging module is also used for judging whether the calculated load moment inertia is in an identification range at the current moment; and the updating module is used for updating the load moment of inertia according to the calculated load moment of inertia at the current moment when the calculated load moment of inertia at the current moment is within the identification range.

The method includes the steps of continuously calculating load moment of inertia of the servo motor according to mechanical rotation speeds of the servo motor in different states, and specifically includes:

the state 1 is an initial stage, when the torque Te of the servo motor exceeds a set torque threshold TethTime recording servo motor mechanical rotation speed omegatAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speedThen jumping to state 3; t is continuously timed in the state 3, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold value 2tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000044

Then timing t is reset and the state 4 is jumped to; and in the state 4, calculating to obtain the load moment of inertia of the servo motor according to a motor kinematics equation.

The update module is specifically configured to:

and (3) carrying out weighted correction on the load moment of inertia:

Jnew=αJnew+(1-α)Joldequation 2

Wherein α is a weighting coefficient, generally set between 0.2-0.5, JoldRepresents the moment of inertia of the load at the present moment of the above calculation, JnewExpressing the updated moment of inertia of the load, J is expressed according to equation 2newAnd updating the numerical value to finish the primary inertia identification.

The method determines whether inertia identification is started or not according to a set torque threshold, starts timing when the conditions are met, simultaneously obtains speed feedback and accumulates torque feedback, calculates load moment of inertia through a motor motion equation after the timing reaches the set time threshold, and updates the load moment of inertia to a result in a weighting mode if the identification value meets the conditions. The method does not need to give initial load moment of inertia, judges whether the result value is effective or not in the identification process, does not accumulate errors, has small calculation amount and has higher practicability.

Drawings

FIG. 1 is a flowchart illustrating a method for identifying rotational inertia of a load according to the present invention;

FIG. 2 is a schematic diagram of a row and column amplitude accumulation curve according to an embodiment of the present invention;

fig. 3 is a diagram of a hardware architecture of a load moment of inertia identification system according to the present invention.

Detailed Description

The present invention will be described in further detail with reference to the accompanying drawings and specific embodiments.

Fig. 1 is a flowchart illustrating a preferred embodiment of the method for identifying a rotational inertia of a load according to the present invention.

Step S1, determine whether the operation timing time of the servo motor reaches T?

In step S1, if the operation count time of the servo motor does not reach T, the routine proceeds to step S2; if the operation timer time of the servo motor reaches T, the process proceeds to step S4.

And step S2, calculating the load moment of inertia of the servo motor according to the mechanical rotating speed of the servo motor in different states. Specifically, the method comprises the following steps:

the different states of this embodiment include: state 1, state 2, state 3, state 4, please refer to fig. 2.

In this embodiment, the state 1 is the initial stage when the servo motor torque Te exceeds the set torque threshold TethTime recording servo motor mechanical rotation speed omegatAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtain

Figure BDA0002531341530000061

Until the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speedThen jumping to state 3; t is continuously timed in the state 3, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold value 2tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000064

Then the timing t is reset and jumpedGo to state 4; and in the state 4, calculating to obtain the load moment of inertia of the servo motor according to a motor kinematics equation.

The method for calculating the load moment of inertia of the servo motor according to the motor kinematics equation specifically comprises the following steps:

the embodiment is based on motor kinematics equation

Figure BDA0002531341530000065

After derivation, we can obtain:

Figure BDA0002531341530000066

wherein J is load moment of inertia, Te is torque feedback, omegatAndrespectively the mechanical rotating speed of the motor corresponding to the corresponding moment. Through the formula 1, the load moment of inertia of the servo motor can be accurately calculated.

And step S3, storing the load moment of inertia of the motor as the identification range of a subsequent self-checking link, and returning to the step S1. Specifically, the method comprises the following steps:

and within the running timing time T of the servo motor, according to the condition of meeting state switching, repeating a plurality of periods according to the formula to obtain a group of load rotary inertia identification results as the identification range of a subsequent self-checking link.

In this embodiment, the timing threshold T is 10-20 state cycle periods, the load moment of inertia of the servo motor is calculated in each state cycle period to form a load moment of inertia array, and the maximum value and the minimum value of the load moment of inertia array are taken as the identification range of the subsequent self-checking link.

And step S4, calculating the moment of inertia of the load at the current moment, and starting the moment of inertia identification of the load. Specifically, the method comprises the following steps:

and calculating the load moment of inertia of the servo motor according to the mechanical rotating speeds of the servo motor in different states. Specifically, the method comprises the following steps:

the different states of this embodiment include: state 1, state 2, state 3, state 4, please refer to fig. 2.

In this embodiment, the state 1 is the initial stage when the servo motor torque Te exceeds the set torque threshold TethTime recording servo motor mechanical rotation speed omegatAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtain

Figure BDA0002531341530000071

Until the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speedThen jumping to state 3; t is continuously timed in the state 3, and the torque of the servo motor is continuously accumulated to obtain

Figure BDA0002531341530000073

Until the timing reaches a set time threshold value 2tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000074

Then timing t is reset and the state 4 is jumped to; and in the state 4, calculating to obtain the load moment of inertia of the servo motor according to the formula 1.

Thereafter, the process proceeds to step S5.

Step S5, it is determined whether the calculated load moment of inertia is within the identification range at the current time. Specifically, the method comprises the following steps:

in this embodiment, it is determined whether the calculated load moment of inertia at the current time is within the identification range of the self-checking link, that is, the calculated load moment of inertia at the current time is compared with the maximum value and the minimum value of the identification range of the self-checking link, and if the calculated load moment of inertia at the current time is between the maximum value and the minimum value of the identification range of the self-checking link, the calculated load moment of inertia at the current time is within the identification range of the self-checking link; otherwise, the calculated load moment inertia at the current moment is not within the self-checking link identification range.

In step S5, if the calculated moment of inertia of the load at the present time is within the recognition range, the process proceeds to step S6; if the calculated moment of inertia of the load at the present time is not within the recognition range, the process returns to step S4.

In step S6, the load moment of inertia is updated based on the calculated load moment of inertia at the current time, and the process returns to step S4. Specifically, the method comprises the following steps:

and (3) carrying out weighted correction on the load moment of inertia:

Jnew=αJnew+(1-α)Joldequation 2

Wherein α is a weighting coefficient, generally set between 0.2-0.5, JoldRepresents the moment of inertia of the load at the present moment of the above calculation, JnewRepresenting the updated moment of inertia of the load. J is determined according to equation 2newAnd updating the numerical value to finish the primary inertia identification.

Referring to fig. 3, a hardware architecture diagram of the load moment of inertia identification system 10 of the present invention is shown. The system comprises: a judging module 101, a calculating module 102, a storing module 103 and an updating module 104.

The judging module 101 is configured to judge whether the running timing time of the servo motor reaches T.

The calculating module 102 is configured to calculate a load moment of inertia of the servo motor according to the mechanical rotation speeds of the servo motor in different states when the operation timing time of the servo motor does not reach T. Specifically, the method comprises the following steps:

the different states of this embodiment include: state 1, state 2, state 3, state 4, please refer to fig. 2.

In this embodiment, the state 1 is the initial stage when the servo motor torque Te exceeds the set torque threshold TethTime recording servo motor mechanical rotation speed omegatAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000092

Then jumping to state 3; t is continuously timed in the state 3, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold value 2tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000094

Then timing t is reset and the state 4 is jumped to; and in the state 4, calculating to obtain the load moment of inertia of the servo motor according to a motor kinematics equation.

The method for calculating the load moment of inertia of the servo motor according to the motor kinematics equation specifically comprises the following steps:

the embodiment is based on motor kinematics equationAfter derivation, we can obtain:

Figure BDA0002531341530000096

wherein J is load moment of inertia, Te is torque feedback, omegatAndrespectively the mechanical rotating speed of the motor corresponding to the corresponding moment. Through the formula 1, the load moment of inertia of the servo motor can be accurately calculated.

The storage module 103 is used for storing the load moment of inertia of the motor as an identification range of a subsequent self-checking link. Specifically, the method comprises the following steps:

and the storage module 103 stores a group of load rotational inertia identification results obtained by repeating the above formula for a plurality of periods as an identification range of a subsequent self-checking link according to a condition of satisfying state switching within the servo motor running timing time T.

In this embodiment, the timing threshold T is 10-20 state cycle periods, the load moment of inertia of the servo motor is calculated in each state cycle period to form a load moment of inertia array, and the maximum value and the minimum value of the load moment of inertia array are taken as the identification range of the subsequent self-checking link.

The calculating module 102 is further configured to calculate a load moment of inertia at the current moment and start load moment of inertia identification when the operation timing time of the servo motor reaches T. Specifically, the method comprises the following steps:

and calculating the load moment of inertia of the servo motor at the current moment according to the mechanical rotating speeds of the servo motor in different states. Specifically, the method comprises the following steps:

the different states of this embodiment include: state 1, state 2, state 3, state 4, please refer to fig. 2.

In this embodiment, the state 1 is the initial stage when the servo motor torque Te exceeds the set torque threshold TethTime recording servo motor mechanical rotation speed omegatAnd jumps to state 2; t begins to time in the state 2, and the torque of the servo motor is continuously accumulated to obtainUntil the timing reaches a set time threshold tthTime recording servo motor mechanical rotation speed

Figure BDA0002531341530000102

Then jumping to state 3; t is continuously timed in the state 3, and the torque of the servo motor is continuously accumulated to obtain

Figure BDA0002531341530000103

Until the timing reaches a set time threshold value 2tthTime recordingMechanical rotation speed of servo motorThen timing t is reset and the state 4 is jumped to; and in the state 4, calculating to obtain the load moment of inertia of the servo motor according to the formula 1.

The judging module 101 is further configured to judge whether the calculated load moment of inertia at the current time is within the identification range. Specifically, the method comprises the following steps:

in this embodiment, the determining module 101 determines whether the calculated load moment of inertia at the current time is within an identification range of a self-checking link, that is, compares the calculated load moment of inertia at the current time with a maximum value and a minimum value of the identification range of the self-checking link, and if the calculated load moment of inertia at the current time is between the maximum value and the minimum value of the identification range of the self-checking link, the calculated load moment of inertia at the current time is within the identification range of the self-checking link; otherwise, the calculated load moment inertia at the current moment is not within the self-checking link identification range.

The updating module 104 is configured to update the load moment of inertia according to the calculated load moment of inertia at the current time when the calculated load moment of inertia at the current time is within the identification range. Specifically, the method comprises the following steps:

the update module 104 performs weighted correction on the load moment of inertia:

Jnew=αJnew+(1-α)Joldequation 2

Wherein α is a weighting coefficient, generally set between 0.2-0.5, JoldRepresents the moment of inertia of the load at the present moment of the above calculation, JnewRepresenting the updated moment of inertia of the load. J is determined according to equation 2newAnd updating the numerical value to finish the primary inertia identification.

Before the identification is started, the initial load inertia is not required to be given; the self-checking judgment of the identification result is added, and the numerical result with overlarge deviation cannot be accumulated in the result; and the identification calculation and result updating are started only under specific conditions, so that the operation amount is reduced.

Although the present invention has been described with reference to the presently preferred embodiments, it will be understood by those skilled in the art that the foregoing description is illustrative only and is not intended to limit the scope of the invention, as claimed.

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于控制长定子直线电机的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!