Inertia estimation device and motor control device
Patent Information
- Application Number
- JP2020132775
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-08-05
- Publication Date
- 2025-02-26
- Estimated Expiration
- 2040-08-05
AI Technical Summary
【0016】 本発明によれば、負荷トルクが速度に対して非線形な依存性を示す場合でも、機械駆動システムの慣性を正しく推定することができる。
Smart Images

Figure 0007635515000001 
Figure 0007635515000002 
Figure 0007635515000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a technique for estimating the inertia of a mechanical drive system that includes a speed-controllable motor and a mechanical load connected thereto. [Background technology]
[0002] In order to perform good speed control of a motor connected to a mechanical load, it is necessary to know the inertia of the entire mechanical drive system including the motor and the mechanical load and to reflect this inertia in the speed control conditions. When a mechanical load with unknown inertia is connected to a motor to drive it, the inertia is often estimated using information on the torque and speed during operation. In this case, it is possible to estimate the inertia offline using data within a certain time range, and online estimation using the recursive least squares method, etc., has already been put to practical use.
[0003] When a motor drives a mechanical load, in addition to the acceleration torque due to inertia x acceleration, load torques such as Coulomb friction and viscous friction are generally generated. In order to prevent erroneous inertia estimation due to these load torques, for example, in Non-Patent Document 1, instead of using the relationship between the torque applied by the motor and the acceleration as is, online estimation is performed using the relationship between the torque change and the acceleration change from the previous time, thereby realizing inertia estimation that removes the influence of certain disturbances. In relation to this, Patent Document 1 discloses an online estimation means that reduces the estimation gain during vibration detection of the mechanical load, thereby reducing the inertia estimation error.
[0004] Furthermore, Non-Patent Document 2 discloses a means for estimating inertia together with the Coulomb friction and viscous friction coefficient, under the assumption that the load torque is expressed by the sum of Coulomb friction of a sign function type independent of speed and viscous friction proportional to speed. In this document, a periodic signal with symmetric positive and negative values is given as a speed command, and a signal τ based on a torque command u and an angular velocity ω is calculated as shown in FIG. 6 (FIG. 4 in Non-Patent Document 2). e ,q0,q0’ , q1 are multiplied together, and the value obtained is integrated at periodic intervals using the formulas (Eqs. (37) to (44)) described in the same paper to obtain the element φ of the matrix Φ. 11 ,φ 13 ,φ 22 ,φ 23 ,φ 33 、 And calculate the elements v1, v2, and v3 of the vector V, and then perform the operation Φ -1 By performing V, parameters including inertia are identified. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent No. 3796261 (
[0009] to
[0013] , etc.) [Non-patent literature]
[0006] [Non-Patent Document 1] Yoichi Hori and Hiroaki Kamei, "High-Performance Control of Servo Motors Using Low-Precision Encoders - Instantaneous Speed Observer and Identification of Moment of Inertia -", IEEJ Transactions on Electrical Engineering, Vol. 114, No. 4 (1994), pp. 424-431 [Non-Patent Document 2] Ichiro Awaya et al., "Parameter Identification Method for Mechanical Motion Systems with Coulomb Friction", Transactions of the Japan Society of Mechanical Engineers (Series C), Vol. 59, No. 567 (1993), pp. 108-114 Summary of the Invention [Problem to be solved by the invention]
[0007] According to the methods described in Non-Patent Document 1 and Patent Document 1, even if the influence of a certain disturbance can be removed, when a load torque with high speed dependency occurs, a non-negligible inertia estimation error occurs unless the acceleration torque is sufficiently large relative to the load torque. Furthermore, the method described in Non-Patent Document 2 has the advantage that other parameters can be estimated along with the inertia, but it is premised on the provision of a speed command as a periodic signal. In addition, if the load torque shows a non-linear dependency on the speed, there is a risk that correct values, including the inertia, will not be estimated. Furthermore, while it is desirable to estimate inertia as accurately as possible, there are also cases where it is desired to estimate it in a short period of time. However, with conventional estimation methods, it was difficult to achieve both improved estimation accuracy and reduced estimation time.
[0008] Therefore, the problem to be solved by the present invention is to Even if the load torque has a nonlinear dependence on speed, The present invention provides an inertia estimation device that can correctly estimate the inertia of a mechanical drive system, and a motor control device that uses the inertia estimation result to control a motor. [Means for solving the problem]
[0009] In order to solve the above problem, the inertia estimation device according to claim 1 comprises: An apparatus for estimating inertia of a mechanical drive system including a motor and a mechanical load driven by the motor, comprising: a means for storing the speed of the motor as an estimated inertia start speed when a first condition is satisfied that the absolute value of the speed of the motor exceeds a predetermined threshold speed, and a second condition is satisfied that the elapsed time since the motor was started or the direction was reversed exceeds a predetermined threshold time; a means for starting a numerical integration including at least the torque and acceleration of the motor in an integrand function when the first condition and the second condition are satisfied; means for terminating the numerical integration when the absolute value of the speed of the motor is reduced and falls below the estimation start speed; Equipped with The inertia estimation value of the mechanical drive system is obtained from the calculation result of the numerical integration during the acceleration / deceleration period of the motor.
[0010] The inertia estimation device according to claim 2 is the inertia estimation device according to claim 1, The inertia estimated value J1 is expressed as follows: The calculation is performed by using the acceleration a(t) and torque T(t) of the motor at time t during the acceleration / deceleration period according to Equation A. [Formula A] J1=∫T(t)a(t)dt / ∫{a(t)} 2 dt
[0011] The inertia estimation device according to claim 3 is the inertia estimation device according to claim 1, The inertia estimated value J1 is expressed as follows: The acceleration a(t), torque T(t), and speed v(t) of the motor at time t during the acceleration / deceleration period, and an estimated load torque T estimated based on a load model Lest It is characterized in that it uses (v(t)) and performs calculations according to Equation B. [Formula B] J1 = ∫ {T(t)-T Lest (v(t))}a(t)dt / ∫{a(t)} 2 dt
[0012] The inertia estimation device according to claim 4 is the inertia estimation device according to claim 2 or 3, The inertia estimation value J1 is calculated for each acceleration / deceleration period of the motor, and a weight W1=∫{a(t)} 2 A means for computing dt; a means for updating an inertia estimation average value J2 and an integrated weight W2 stored before the acceleration / deceleration period using the inertia estimation value J1 and the weight W1, and outputting the updated inertia estimation average value J2 as an inertia estimation result; The present invention is characterized by comprising:
[0013] The inertia estimation device according to claim 5 is the inertia estimation device according to claim 4, The inertia estimation average value J2 and the integrated weight W2 are calculated by adding the current value of W1 to the previous value of W2 each time the inertia estimation value J1 and the weight W1 are newly obtained, and setting the result to a predetermined upper limit value W max After updating the value restricted by W2 as the current value, The inertia estimated average value J2 is updated as a current J2 value by using Equation C. [Formula C] J2 current value = J2 previous value + (W1 current value / W2 current value) × (J1 current value - J2 previous value)
[0014] The inertia estimation device of claim 6 is the inertia estimation device described in claim 4 or 5, characterized in that the inertia estimation average value J2 and the integrated weight W2 are stored in a non-volatile memory and can be initialized from the outside.
[0015] A motor control device according to a seventh aspect of the present invention is characterized in that it controls the motor using an estimated inertia value obtained by the inertia estimation device according to any one of the first to sixth aspects. Effect of the Invention
[0016] According to the present invention, Even if the load torque has a nonlinear dependence on speed, The inertia of the mechanical drive system can be correctly estimated. [Brief description of the drawings]
[0017] [Figure 1] 1 is a block diagram showing a main part of a motor control device according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a block diagram showing a first embodiment of the inertia estimation device in FIG. [Diagram 3] 3 is a block diagram of an integration start / end determination unit in FIG. 2. [Figure 4] FIG. 3 is a block diagram of an inertia estimation averaging unit in FIG. 2. [Diagram 5] FIG. 2 is a block diagram showing a second embodiment of the inertia estimation device in FIG. [Figure 6] FIG. 1 is an explanatory diagram showing a main part of Non-Patent Document 2 as a conventional technique. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. First, FIG. 1 shows a main part of a motor control device for controlling a motor connected to a mechanical load. 1, a speed control unit 100 generates torque T(t) so that motor speed v(t) coincides with a speed command, and this torque T(t) is applied to a motor and a mechanical load 200 to drive the motor. An inertia estimation device 300 calculates an inertia estimation average value J2 using at least the motor speed v(t), torque T(t), and a reset command as input. Here, torque T(t) may be either the torque command, or a torque estimate obtained by detecting a current passed through the motor to apply torque. The estimated inertia average value J2 output from the inertia estimation device 300 is used to adjust the speed control gain in the speed control section 100, for example, to control the speed and torque of the motor.
[0019] 2 is a block diagram showing a first embodiment of the inertia estimation device 300. Here, the inertia estimation device is designated by the reference symbol 300A. The motor speed v(t) is input to an integration start / end determination unit 302 and a differential calculation unit 303 via a low-pass filter 301 . An integration start / end determination unit 302 determines the start and end of integration calculation using a function described later, and outputs integration start / end commands, as well as outputting update commands to a division means 309 and an inertia estimation averaging unit 310. A differential calculation unit 303 differentiates the motor speed v(t) to calculate acceleration a(t), which is input to multiplication means 304 and 307. An output from the multiplication means 304 is input to an integration means 305. On the other hand, the torque T(t) is input to a multiplication means 307 via a low-pass filter 306 having the same time constant as the low-pass filter 301 , and the result of multiplication by the acceleration a(t) is input to an integration means 308 . It should be noted that the low-pass filters 301 and 306 are intended to remove white noise and the like contained in the input signal, but are not essential components of the present invention.
[0020] The integration means 305 calculates ∫{a(t)} 2The outputs of the integration means 305 and 308 are input to the division means 309. The output of the integration means 305, 308, ∫{a(t)} 2 dt is input as weight W1 to the inertial estimation averaging unit 310. The division means 309 calculates ∫T(t)a(t)dt / ∫{a(t)} 2 The inertia estimation value J 1 is input to the inertia estimation averaging unit 310 by calculating dt.
[0021] Here, the start and end timings of calculations in the integrating means 305, 308 follow the integration start / end commands output from the integration start / end determination section 302. Also, the division means 309 performs division according to an update command output from the integration start / end determination section 302, and outputs the latest inertia estimated value J1 and weighting W1 as their current values to the inertia estimation averaging section 310, and the inertia estimation averaging section 310 performs an update calculation, described below, according to the update command every time the inertia estimated value J1 and weighting W1 are input, and outputs the inertia estimated average value J2.
[0022] Next, the configuration of the integration start / end determination unit 302 will be described with reference to FIG. First, the motor speed v(t) is input to an absolute value calculation unit 302a, where the speed absolute value |v(t)| is calculated. This speed absolute value |v(t)| is input to a zero speed determination unit 302b, where it is determined whether the motor is stopped or not, and the determination signal is sent to a delay unit 302c in the next stage. The zero speed determination unit 302b and the delay unit 302c are means for determining whether the time during which the motor is not stopped, that is, the time elapsed from the time when the motor started or the direction was reversed, has exceeded a predetermined threshold time. When the threshold time has elapsed, a "High" level signal is input from the delay unit 302c to one end of a logical product calculation unit 302e. In FIG. 3, the output signal of the zero speed determination unit 302b is inverted and input to the delay unit 302c consisting of an on-delay circuit, but the output signal of the zero speed determination unit 302b may be input to the delay unit consisting of an off-delay circuit without being inverted.
[0023] Furthermore, the velocity absolute value |v(t)| is compared with a threshold velocity in a comparison unit 302d, and when the velocity absolute value |v(t)| exceeds the threshold velocity, a "High" level signal is input to the other end of the AND operation unit 302e. The output signal of the AND operation unit 302e is input to a start instruction unit 302f, and an integration start instruction and an estimated start velocity storage instruction are output from the start instruction unit 302f. Furthermore, the speed absolute value |v(t)| is input to a storage unit 302g for adjusting the speed control gain at a time, and the estimation start speed detected in accordance with an estimation start speed storage command is input to a comparison unit 302. This comparison unit 302h outputs an integration end command and an update command when the speed absolute value |v(t)| falls below the estimation start speed during deceleration of the motor.
[0024] Next, the significance of configuring the inertia estimation device 300A in FIG. 2, and particularly the integration start / end determination unit 302 therein, as shown in FIG. 3, will be described. The load torque generated when driving a mechanical load may show a nonlinear dependency on the speed, but in most cases, except for the vicinity of zero speed, it is uniquely determined with respect to the speed regardless of whether it is accelerating or decelerating. Therefore, the load torque T generated from time t1 to time t2 while the motor is being driven is L Multiplying (v(t)) by acceleration dv / dt and integrating it gives ∫T L (v(t))(dv / dt)dt=∫T L (v) domestic violence, If we integrate so that the velocity at the integration start time and integration end time is the same, we get ∫T L (v(t))(dv / dt)dt = 0.
[0025] Therefore, the equation of motion is: T(t)=J(dv / dt)+T L When estimating the inertia J based on (v(t)), the load torque T is calculated by multiplying both sides of the above equation of motion by a=dv / dt and integrating it under the condition that the speed during acceleration and deceleration are equal. L The effect of is removed and the inertia J is estimated by the following equation 1. [Formula 1] J=∫T(t)a(t)dt / ∫{a(t)} 2 dt It should be noted that the above formula 1 is substantially the same as the above formula A.
[0026] When driving a mechanical load, a load torque with hysteresis often occurs near zero speed. To correctly estimate inertia using Equation 1, it is necessary to exclude the hysteresis region from the integral interval. One method for doing so is to set the condition for starting integration as the absolute value of the motor's speed exceeding a certain threshold speed. Even if a mechanical system can be regarded as a single-inertia system during normal operation, it may behave in an oscillatory manner immediately after startup. In order to correctly estimate inertia, it is desirable to start integration after this oscillation has attenuated.
[0027] Therefore, in order to start the integration of the numerator and denominator in Equation 1, first, the absolute speed value of the motor exceeds the above-mentioned predetermined threshold speed, and second, the acceleration time after the motor leaves the zero speed state exceeds the predetermined threshold time, it is effective to start the integration when these first and second conditions are satisfied, store the absolute speed value at that time as the estimation start speed, and end the integration when the motor decelerates and the absolute speed value falls below the estimation start speed, thereby determining the inertia J1 during a series of acceleration and deceleration periods.
[0028] In the integration start / end determination unit 302 in FIG. 3, the logical product calculation unit 302e determines whether the above first and second conditions are satisfied and sends a signal to the start instruction unit 302f to generate an integration start command and an estimated start speed storage command. At the same time, the temporary storage unit 302g, the comparison unit 302h, and the end instruction unit 302i operate to generate an integration end command, an inertia estimation value J1, a weight W1 (and an inertia estimation average value J described later). 2、 An update command for the integrated weight W2 is output.
[0029] Next, the inertia estimation averaging section 310 provided at the final stage in FIG. 2 and receiving the inertia estimation value J1 and weighting W1 will be described with reference to FIG. When the inertia is small and the acceleration is small, even if the above calculation method is used, it is possible that the inertia cannot be estimated with sufficient accuracy by only one acceleration / deceleration operation. When the same acceleration / deceleration operation is repeated, the estimation accuracy can be improved by applying a simple moving average to the inertia estimation value obtained for each acceleration / deceleration operation, but when trying to improve the estimation accuracy during a non-repeated operation, the reliability of each inertia estimation differs for each acceleration / deceleration operation. Therefore, in this embodiment, the reliability of the inertia estimation can be improved by using the inertia estimation averaging unit 310 shown in FIG. 4. The configuration and operation of the inertial estimation averaging unit 310 will be described below.
[0030] That is, in addition to the estimated inertia value J1 and weight W1 for each acceleration / deceleration motion, an estimated inertia average value J2 and an integrated weight W2 are defined, and every time J1 and W1 are newly obtained, J2 and W2 are updated as follows. In FIG. 4, the previous value W2 output from the previous value holding unit 310c is input to the adding means 310a via the switching unit 310d and added to the current value W1. The result of this addition is limited to a predetermined upper limit (maximum value) W max The current W2 value is obtained by limiting the current W1 value by the above equation. Also, the division means 310e calculates the current W1 value / the current W2 value. Meanwhile, the previous value of the estimated inertia average value J2 output from the previous value holder 310i is input to a subtraction means 310f via a switching unit 310j and subtracted from the current value of J1 to obtain (current J1 value-previous J2 value). Then, a multiplication means 310g calculates (W1 current value / W2 current value)×(J1 current value−J2 previous value), and an addition means 310h adds this value to the previous J2 value and outputs the result as the current value of the inertia estimated average value J2. The above process can be expressed by the following formula: Formula 2. Note that Formula 2 is substantially the same as Formula C described above. [Formula 2] J2 current value = J2 previous value + (W1 current value / W2 current value) × (J1 current value - J2 previous value)
[0031] In addition, as shown in Fig. 4, J2 and W2 can be initialized by switching the switching units 310j and 310d to the "0" side in response to an external reset command. Specifically, when the mechanical load is replaced, J2 and W2 are initialized, and thereafter, J2 and W2 are updated while being stored in the non-volatile memory. Then, when the system is restarted, the values of J2 and W2 can be read from the non-volatile memory before the system is operated.
[0032] The above-mentioned update process of J2 and W2 will be further explained. In FIG. 4, even after the adding means 310a adds the current value W1 to the previous value W2, the sum is still equal to the upper limit value W max If it remains below this value, then Equation 3 holds true. [Formula 3] J2 current value = J2 previous value + {(W1 current value / (W2 previous value + W1 current value)} × (J1 current value - J2 previous value) By rearranging this formula 3, we obtain formula 4. [Formula 4] J2 current value = (J2 previous value x W2 previous value + J1 current value x W1 current value) / (W2 previous value + W1 current value) This is equivalent to estimating inertia using all data from past acceleration / deceleration driving, and since the weighting is reduced for acceleration / deceleration driving, which is more difficult to achieve accurate estimation, a highly reliable inertia estimation average value J2 can be obtained.
[0033] However, the upper limit W max If driving continues without introducing the limit by W2, W2 will eventually become infinite, and J2 will no longer be updated even if a new acceleration / deceleration operation occurs. For this reason, W2 is set to a predetermined upper limit value W max By limiting the inertia estimated average value J2 by , the most recent operation result is reflected in the inertia estimated average value J2 even if the motor continues to operate.
[0034] Here, instead of defining the weights as in this embodiment, for example, [Formula 5] J2 current value = J2 previous value + constant x (J1 current value - J2 previous value) (0 < constant < 1) The case where the calculation is performed as above will be compared with this embodiment. Even when the current value of J2 is calculated using Equation 5, the accuracy of the inertia estimation increases as the number of acceleration and deceleration movements increases. However, in this case, J2 will be smaller than the true value until the number of acceleration and deceleration movements reaches about (3 / constant) (in other words, before it reaches about (3 / constant)). In addition, in the case of this calculation, even if low acceleration or short-term acceleration and deceleration operation that is not suitable for inertia estimation is performed, the inertia estimation value will be updated with the result, just like other movements. In contrast, in the present embodiment, by initializing J2 and W2 when the mechanical load is changed, an estimated value close to the true value can be obtained even when the number of acceleration / deceleration movements is small, and ∫{a(t)} 2 Since the inertia estimation average value J2 is updated with a weight proportional to dt, the inertia estimation average value J2 is less likely to be disturbed for driving that is not suitable for inertia estimation.
[0035] 5 shows an inertia estimation device 330B according to a second embodiment of the present invention. The main parts of the motor control device other than the inertia estimation device 330B are configured in the same manner as in FIG. In the inertia estimation device 330B, the speed dependency T Lest Assuming that the speed v(t) is known, the load torque estimation unit 311 calculates the load torque T Lest (v(t)) is estimated and input to subtraction means 312, and the inertia estimated value J1 is calculated using equation 6. [Formula 6] J1 = ∫ {T(t)-T Lest (v(t))}a(t)dt / ∫{a(t)} 2 dt The above formula 6 is substantially the same as the above formula B.
[0036] When calculated in this way, the integrand in the numerator becomes J{a(t)} 2 Since the value is close to T, the calculation error can be reduced. Lest (v) is, for example, D×v+T f ×sign(v), and the parameters D and T fcan be identified using the method disclosed in the above-mentioned non-patent document 2, or the like. [Explanation of symbols]
[0037] 100: Speed control section 200: Motors and mechanical loads 300,300A,300B:Inertial estimation device 301, 306: Low-pass filters 302: Integration start / end determination unit 302a: Absolute value calculation unit 302b: Zero speed determination unit 302c: Delay section 302d, 302h: Comparison section 302e: Logical product operation section 302f: Start instruction section 302g: Temporary storage 302i: End instruction section 303: Differential operation section 304, 307: Multiplication means 305,308: Integral means 309:Division means 310: Inertia estimation averaging section 310a, 310h: Addition means 310b: Restriction section 310c, 310i: previous value holding unit 310d, 310j: Switching section 310e: Division means 310f: subtraction means 310g: Multiplication means 311: Load torque estimation unit 312: Subtraction means
Claims
1. An apparatus for estimating inertia of a mechanical drive system including a motor and a mechanical load driven by the motor, comprising: a means for storing the speed of the motor as an estimated inertia start speed when a first condition is satisfied that an absolute value of the speed of the motor exceeds a predetermined threshold speed, and a second condition is satisfied that an elapsed time since the motor was started or the direction was reversed exceeds a predetermined threshold time; a means for starting a numerical integration including at least the torque and acceleration of the motor in an integrand function when the first condition and the second condition are satisfied; means for terminating the numerical integration when the absolute value of the speed of the motor is reduced and falls below the estimation start speed; Equipped with An inertia estimation device, comprising: a controller for estimating an inertia of the mechanical drive system from a result of the numerical integration during an acceleration / deceleration period of the motor.
2. 2. The inertia estimation device according to claim 1, The estimated inertia value J 1 and this estimated inertia value J 1 of, Calculation is performed by using the acceleration a(t) and torque T(t) of the motor at time t during the acceleration / deceleration period according to Equation A. [Formula A] J 1 =∫T(t)a(t)dt / ∫{a(t)} 2 dt
3. 2. The inertia estimation device according to claim 1, The estimated inertia value J 1 and this estimated inertia value J 1 of, The acceleration a(t), torque T(t), and speed v(t) of the motor at time t during the acceleration / deceleration period, and an estimated load torque T estimated based on a load model Lest (v(t)) according to Equation B. [Formula B] J 1 =∫{T(t)-T Lest (v(t))}a(t)dt / ∫{a(t)} 2 dt
4. 4. The inertia estimation device according to claim 2, The inertia estimation value J 1 Find the weight W 1 = ∫ {a(t)} 2 A means for calculating dt; The inertia estimate J 1 and weight W 1 The estimated inertia average value J stored before the acceleration / deceleration period is calculated using 2 and the cumulative weight W 2 The updated inertia estimated average value J 2 means for outputting the inertia estimation result; An inertia estimation device comprising:
5. 5. The inertia estimation device according to claim 4, The inertia estimated average value J 2 and the integrated weight W 2 is the inertia estimate J 1 and weight W 1 Each time a new one is obtained, W 2 W to previous value 1 The result of adding the current value is the predetermined upper limit W max The value limited by W 2 After updating it to this value, The inertia estimated average value J 2 J 2 The inertia estimation device is characterized in that the inertia estimation value is updated as the current value. [Formula C] J 2 This time value = J 2 Previous value + (W 1 Current value / W 2 Current value) x (J 1 This time value - J 2 Previous value)
6. 6. The inertia estimation device according to claim 4, The inertia estimated average value J 2 and the integrated weight W 2 The inertia estimation device is characterized in that:
7. 7. A motor control device, comprising: a motor controller that controls the motor using an estimated inertia value obtained by the inertia estimation device according to any one of claims 1 to 6.
Citation Information
Patent Citations
Load inertia measuring device
JP1993346359A
Load inertia estimation method for motor
JP2007156699A
Motor Load Inertia Estimation Method
JP3796261B1