Control device, control method, and computer program

The control device corrects input torque based on motor position and uses a recursive least squares method to enhance the identification of moment of inertia and viscosity coefficient, addressing misalignment and distortion issues in ball screw mechanisms for improved motor control precision.

JP7679750B2Active Publication Date: 2025-05-20BROTHER KOGYO KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021161819
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-30
Publication Date
2025-05-20
Estimated Expiration
2041-09-30

AI Technical Summary

Technical Problem

Misalignment of the screw shaft and distortion of the track in a ball screw mechanism of a machine tool affect the accuracy of identifying the moment of inertia and speed coefficient, leading to reduced control precision of the motor.

Method used

A control device that corrects input torque based on the motor's rotational position and applies a recursive least squares method to identify the moment of inertia and viscosity coefficient, using a polynomial correction to improve identification accuracy.

Benefits of technology

The method enhances the accuracy of identifying the moment of inertia and viscosity coefficient by accounting for friction torque dependent on the motor's position, thereby improving motor control precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007679750000001
    Figure 0007679750000001
  • Figure 0007679750000002
    Figure 0007679750000002
  • Figure 0007679750000003
    Figure 0007679750000003
Patent Text Reader

Abstract

To provide a controller, control method, and computer program capable of enhancing identification precision of a moment of inertia, a velocity coefficient and the like.SOLUTION: A controller that controls a motor includes: a correction unit that corrects, on the basis of a rotational position of the motor, an input torque, which is inputted to the motor; and an identification unit that adapts a least squares method successively to relational expressions, which employ a moment of inertia and coefficients including a viscosity coefficient, on the basis of the input torque corrected by the correction unit, a speed of the motor, and an acceleration of the motor, and identifies at least the moment of inertia and viscosity coefficient.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present technology relates to a control device, a control method, and a computer program for controlling the driving of a motor. [Background technology]

[0002] The torque of the motor depends on the speed, and the mathematical model representing the torque includes an acceleration term, a speed term, and a torque independent of the speed. The coefficient of the acceleration term is the moment of inertia, and the coefficient of the speed term is the speed coefficient. The controller estimates, in other words, identifies the moment of inertia, the speed coefficient, and the torque independent of the speed. By identifying the moment of inertia, the speed coefficient, etc., the controller can appropriately control the motor. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2011-147267 A Summary of the Invention [Problem to be solved by the invention]

[0004] When a motor drives a ball screw of a machine tool, misalignment of the screw shaft of the ball screw and distortion of the track that guides the moving body moved by the ball screw can affect the torque, which can reduce the accuracy of identifying the moment of inertia, speed coefficient, etc.

[0005] The present disclosure has been made in consideration of the above circumstances, and aims to provide a control device, a control method, and a computer program that can improve the identification accuracy of the moment of inertia, the speed coefficient, and the like. [Means for solving the problem]

[0006] A control device according to one embodiment of the present disclosure is a control device that controls a motor, and includes a correction unit that corrects an input torque input to the motor based on the rotational position of the motor, and an identification unit that identifies at least the moment of inertia and the viscosity coefficient by applying a recursive least squares method to a relational equation that uses coefficients including a moment of inertia and a viscosity coefficient based on the input torque corrected by the correction unit, the speed of the motor, and the acceleration of the motor.

[0007] In the present disclosure, the input torque input to the motor is corrected based on the position of the motor, and at least the moment of inertia and the viscosity coefficient are identified based on the corrected input torque.

[0008] In the control device according to an embodiment of the present disclosure, the correction unit subtracts a correction value determined by a polynomial including a position of the motor from the input torque.

[0009] In the present disclosure, the correction value is calculated based on a polynomial including the motor position, and is identified by subtracting the correction value from the input torque.

[0010] A control device according to one embodiment of the present disclosure includes a correction identification unit that applies a recursive least squares method to identify a correction coefficient to be used in the polynomial, and the correction unit corrects the input torque using the correction coefficient identified by the correction identification unit.

[0011] In the present disclosure, a recursive least squares method is applied to identify a correction coefficient, and the identified correction coefficient is used to correct the input torque.

[0012] A control device according to one embodiment of the present disclosure has a judgment unit that judges whether the motor speed is below a threshold speed and the acceleration of the motor is below a threshold acceleration, and if the judgment unit determines that the motor speed is below the threshold speed and the acceleration of the motor is below the threshold acceleration, the correction identification unit identifies the correction coefficient, and if the judgment unit determines that the motor speed is below the threshold speed and the acceleration of the motor is not below the threshold acceleration, the correction identification unit does not identify the correction coefficient.

[0013] In the present disclosure, when the motor is driven at a low speed and at a small acceleration, the correction coefficient is identified. When the motor is driven at a high speed or at a large acceleration, the correction coefficient is not identified. When the motor is driven at a high speed or at a large acceleration, the input torque includes an inertial torque and a viscous torque. By not identifying the correction coefficient, it is possible to avoid a decrease in the identification accuracy.

[0014] In a control device according to one embodiment of the present disclosure, when the judgment unit determines that the motor speed is below a threshold speed and the motor acceleration is below a threshold acceleration, the identification unit does not identify the moment of inertia and the viscosity coefficient, and when the judgment unit determines that the motor speed is below a threshold speed and the motor acceleration is not below a threshold acceleration, the identification unit does not identify the moment of inertia and the viscosity coefficient.

[0015] In the present disclosure, when the motor is driven at a low speed and a small acceleration, the moment of inertia and the viscosity coefficient are identified. When the motor is driven at a high speed or a large acceleration, the moment of inertia and the viscosity coefficient are not identified. When the motor is driven at a high speed or a large acceleration, the input torque includes the inertia torque and the viscous torque. By not identifying them, it is possible to avoid a decrease in the identification accuracy.

[0016] In one embodiment of the control device of the present disclosure, the motor is provided on a machine tool, and the control device is equipped with a processing determination unit that determines whether the machine tool is in processing or not, and when the processing determination unit determines that the machine tool is in processing, the correction identification unit does not identify the correction coefficient, and the identification unit does not identify the moment of inertia and the viscosity coefficient.

[0017] In the present disclosure, when the machine tool is in the process of machining, the moment of inertia and the viscosity coefficient are not identified. The input torque may include excessive disturbances due to the machining load. By not performing the identification, it is possible to avoid a decrease in the identification accuracy.

[0018] A control method according to one embodiment of the present disclosure is a control method for controlling a motor, in which an input torque input to the motor is corrected based on a position of the motor, and at least the moment of inertia and the viscosity coefficient are identified by applying a recursive least squares method to a relational equation using coefficients including a moment of inertia and a viscosity coefficient based on the corrected input torque, the speed of the motor, and the acceleration of the motor.

[0019] In the present disclosure, the input torque input to the motor is corrected based on the position of the motor, and at least the moment of inertia and the viscosity coefficient are identified based on the corrected input torque.

[0020] A control computer program according to one embodiment of the present disclosure is a computer program executable by a control device that controls a motor, and causes the control device to execute a process of correcting an input torque input to the motor based on a position of the motor, and identifying at least the moment of inertia and the viscosity coefficient by applying a recursive least squares method to a relational equation that uses coefficients including a moment of inertia and a viscosity coefficient based on the corrected input torque, the speed of the motor, and the acceleration of the motor.

[0021] In the present disclosure, the input torque input to the motor is corrected based on the position of the motor, and at least the moment of inertia and the viscosity coefficient are identified based on the corrected input torque. Effect of the Invention

[0022] In a control device, a control method, and a computer program according to an embodiment of the present disclosure, an input torque input to a motor is corrected based on the position of the motor, and at least the moment of inertia and the viscosity coefficient are identified based on the corrected input torque. For example, when a motor drives a ball screw of a machine tool, the positional deviation of the screw axis of the ball screw and the distortion of the trajectory that guides a moving body moved by the ball screw depend on the position of the moving body. In other words, they depend on the position of the motor. Since the control device etc. corrects the input torque based on the position of the motor, it is possible to identify the torque taking into account the friction torque that depends on the position of the motor, thereby improving the identification accuracy. [Brief description of the drawings]

[0023] [Figure 1] 1 is a simplified perspective view of a machine tool according to a first embodiment. [Diagram 2] FIG. 2 is a block diagram of a control device, a drive circuit, and a motor. [Diagram 3] FIG. 2 is a block diagram showing a control device and a motor. [Figure 4] FIG. 2 is a block diagram of an identifier. [Diagram 5] FIG. 11 is a block diagram of an identifier according to a second embodiment. [Figure 6] FIG. 2 is a block diagram of a correction coefficient identifier. [Figure 7] FIG. 11 is a block diagram of an identifier according to a third embodiment. [Figure 8] FIG. 13 is a block diagram of an identifier according to a fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] (Embodiment 1) The present invention will be described below with reference to the drawings showing a machine tool according to a first embodiment. Fig. 1 is a simplified perspective view of the machine tool. In the following description, the up / down, left / right, and front / rear directions shown by arrows in the drawing will be used. Note that in Fig. 1, the illustration of a tool magazine for storing replacement tools is omitted.

[0025] The machine tool has a rectangular base 1 that extends in the front-to-rear direction. A workpiece holding section 3 that holds a workpiece is provided on the front side of the upper part of the base 1. A support base 2 for supporting a pillar 4 (described below) is provided on the rear side of the upper part of the base 1. A Y-axis direction movement mechanism 10 that moves in the front-to-rear direction is provided on the upper part of the support base 2. The Y-axis direction movement mechanism 10 has two tracks 11 that extend in the front-to-rear direction, a Y-axis screw shaft 12, a Y-axis motor 13, and a bearing 14.

[0026] The tracks 11 are provided on the left and right sides of the upper part of the support base 2. The Y-axis screw shaft 12 extends forward and backward and is provided between the two tracks 11. A bearing 14 is provided at the front end of the Y-axis screw shaft 12. The Y-axis motor 13 is connected to the rear end of the Y-axis screw shaft 12.

[0027] A nut (not shown) is screwed onto the Y-axis screw shaft 12. A plurality of sliders 15 are slidably provided on each track 11. A moving plate 16 is connected to the nuts and the upper parts of the sliders 15. The moving plate 16 extends horizontally. When the Y-axis motor 13 rotates, the Y-axis screw shaft 12 rotates, the nut moves in the front-rear direction, and the moving plate 16 moves in the front-rear direction. The Y-axis motor 13, the Y-axis screw shaft 12, and the nut constitute a ball screw mechanism.

[0028] An X-axis direction moving mechanism 20 that moves in the left-right direction is provided on the upper surface of the moving plate 16. The X-axis direction moving mechanism 20 includes two tracks 21 extending left and right, an X-axis screw shaft 22, an X-axis motor (not shown), a left bearing 24, and a right bearing (not shown).

[0029] The tracks 21 are provided at the front and back of the upper surface of the movable plate 16. The X-axis screw shaft 22 extends left and right and is provided between the two tracks 21. A left side bearing 24 is provided at the left end of the X-axis screw shaft 22. The left side bearing 24 is fixed to the movable plate 16. The X-axis motor is connected to the right end of the X-axis screw shaft 22.

[0030] A nut (not shown) is screwed onto the X-axis screw shaft 22. A plurality of sliders 26 are slidably provided on each track 21. The upright pillar 4 is connected to the upper part of the nut and sliders 26. The upright pillar 4 is columnar. When the X-axis motor rotates, the X-axis screw shaft 22 rotates, the nut moves left and right, and the upright pillar 4 moves left and right. The X-axis motor, the X-axis screw shaft 22, and the nut constitute a ball screw mechanism.

[0031] A Z-axis direction moving mechanism 30 that moves up and down is provided on the front surface of the upright pillar 4. The Z-axis direction moving mechanism 30 includes two tracks 31 that extend up and down, a Z-axis screw shaft 32, a Z-axis motor 33, and a bearing .

[0032] The tracks 31 are provided on the left and right sides of the front surface of the upright pillar 4. The Z-axis screw shaft 32 extends vertically and is provided between the two tracks 31. A bearing 34 is provided at the lower end of the Z-axis screw shaft 32. The Z-axis motor 33 is connected to the upper end of the Z-axis screw shaft 32.

[0033] A nut (not shown) is screwed onto the Z-axis screw shaft 32. A plurality of sliders 35 are slidably provided on each track 31. The spindle head 5 is connected to the front of the nuts and sliders 35. When the Z-axis motor 33 rotates, the Z-axis screw shaft 32 rotates, the nut moves vertically, and the spindle head 5 moves vertically. The Z-axis motor 33, the Z-axis screw shaft 32, and the nut constitute a ball screw mechanism.

[0034] A vertically extending spindle 5a is provided in the spindle head 5. The spindle 5a rotates around its axis. A spindle motor 6 is provided at the upper end of the spindle head 5. A tool is attached to the lower end of the spindle 5a. The rotation of the spindle motor 6 rotates the spindle 5a, which in turn rotates the tool. The rotating tool machines the workpiece held by the workpiece holder 3.

[0035] The machine tool is equipped with a tool changer (not shown) for changing tools. The tool changer changes the tools stored in a tool magazine (not shown) and the tools attached to the spindle 5a. The machine tool is equipped with a control device 40.

[0036] FIG. 2 is a block diagram of the control device 40, the drive circuit 51, and the motor 52. The control device 40 includes a CPU 40a, a RAM 40b, and a storage unit 40c. The storage unit 40c is a non-volatile memory, a hard disk, or the like. A control program is stored in advance in the storage unit 40c. The control program stored in the storage medium 50 may be stored in the storage unit 40c, or the control program may be stored via a network. The CPU 40a reads the control program from the storage unit 40c to the RAM 40b, and controls the driving of the X-axis motor, the Y-axis motor 13, the Z-axis motor 33, and the magazine motor that drives the tool magazine. The motor 52 in FIG. 2 is a representative representation of the Y-axis motor 13, the X-axis motor, and the Z-axis motor 33.

[0037] The CPU 40a outputs a drive command to a drive circuit 51. The drive circuit 51 supplies power to a motor 52 based on the drive command. The motor 52 rotates with the power supplied from the drive circuit 51. The motor 52 is equipped with an encoder 53, and the detection result of the encoder 53, i.e., position feedback, is input to the control device 40. The control device 40 corrects the drive command based on the position feedback received from the encoder 53 and outputs it to the drive circuit 51 (feedback control). The encoder 53 is a representative representation of the encoder provided for each motor.

[0038] 3 is a block diagram showing the control device 40 and the motor 52. The control device 40 includes a first subtractor 41, a position control unit 42, a second subtractor 43, a speed control unit 44, a third subtractor 45, a torque control unit 46, a torque calculation unit 47, a speed calculation unit 48, a position calculation unit 49, and an identifier 400. The CPU 40a executes a process of identifying the moment of inertia, the viscosity coefficient, and the like, which will be described later, using the first subtractor 41, the position control unit 42, the second subtractor 43, the speed control unit 44, the third subtractor 45, the torque control unit 46, the torque calculation unit 47, the speed calculation unit 48, the position calculation unit 49, and the identifier 400 based on a control program. The first subtractor 41 subtracts the target position command x rThe first subtractor 41 subtracts the current position x from the target position and outputs the value after subtraction to the position control unit 42. The target position and the current position are the rotational positions of the motor 52 and correspond to the axial position of the ball screw. r is input, and the current position x is input from the position calculation unit 49 to the first subtractor 41.

[0039] Position control unit 42 multiplies the value input from first subtractor 41 by a position proportional gain. The position proportional gain is variable. Position control unit 42 outputs the multiplication result to second subtractor 43. Second subtractor 43 subtracts current speed v from the multiplication result. Current speed v is input to second subtractor 43 from speed calculation unit 48. Second subtractor 43 outputs the value after subtraction to speed control unit 44.

[0040] The speed control unit 44 multiplies the value input from the second subtractor 43 by a speed proportional gain. The speed proportional gain is variable. The speed control unit 44 outputs the multiplication result to the third subtractor 45. The third subtractor 45 calculates the current torque τ n The current torque τ n is input from the torque calculation unit 47 to the third subtractor 45. The third subtractor 45 outputs the value after subtraction to the torque control unit 46.

[0041] The torque control unit 46 calculates a target torque for driving the motor 52 and outputs it to the motor 52. The torque control unit 46 determines the target torque based on the maximum output of the motor 52 or the maximum torque that the ball screw mechanism can tolerate. The torque control unit 46 outputs the target torque to the torque calculation unit 47. The torque calculation unit 47 calculates the current torque τ n and outputs the result to the third subtractor 45 and the identifier 400.

[0042] The encoder 53 of the motor 52 outputs a detection value to a speed calculation unit 48 and a position calculation unit 49. The speed calculation unit 48 calculates a current speed v based on the detection value and outputs it to the second subtractor 43. The position calculation unit 49 calculates a current position x based on the detection value and outputs it to the first subtractor 41 and the identifier 400.

[0043] The method for identifying the moment of inertia and the viscosity coefficient is explained. n is expressed by the following mathematical model. τ n =Jω′+D 1 ω+D 2 ω 2 sign(ω)+F c (1) J is the moment of inertia, D 1 is the viscosity coefficient, D 2 is the squared viscosity coefficient, F c is the Coulomb friction coefficient, ω is the angular velocity of the motor, and ω' is the angular acceleration of the motor.

[0044] ρ = [J, D 1 , D 2 , F c ] ···(2) φn = [ω′, ω, ω 2 sign(ω), sign(ω)] ···(3) P 0 = αI (4) K n =P n-1 φ n / (λ+φ n T P n-1 φ n-1 ) · · · (5) P n =(1 / λ)(P n-1 -K n φ n T P n-1 ) · · · (6) e n = τ n -φ n T ρ n-1 (7) ρ n =ρ n-1 +e n K n (8)

[0045] ρ is a parameter vector, ρ n-1 is the parameter vector before updating, ρ n is the updated parameter vector, φ nis the updated signal vector, φ n-1 is the signal vector before updating, α is an arbitrary coefficient, I is the unit matrix, P 0 is the initial covariance matrix, P n-1 is the covariance matrix before updating, P n is the updated covariance matrix, K n is the adaptive gain, λ is the forgetting factor, e n is the identification error, φ n T is φ n where λ is a positive value less than or equal to 1. The covariance matrix P may be initialized at regular intervals, for example, at each period of the velocity waveform. By setting λ to a positive value less than or equal to 1 or initializing the covariance matrix P at regular intervals, the convergence speed of identification of the moment of inertia, viscosity coefficient, etc. can be increased. 1 , D 2 , and F c is identified based on the above formulas (2) to (8).

[0046] 4 is a block diagram of an identifier 400. The identifier 400 includes a first differentiator 401, a second differentiator 402, a correction unit 403, and an identification unit 404.

[0047] A current position x is input to a first differentiator 401. The first differentiator 401 differentiates the current position x, and outputs a velocity ω to a second differentiator 402, an identification unit 404, and a correction unit 403. The second differentiator 402 differentiates the velocity ω, and outputs an acceleration ω' to the identification unit 404.

[0048] The correction unit 403 receives the current position x, the velocity ω, and the current torque τ n The correction unit 403 inputs the correction torque τ n Calculate the correction torque τ n ′ is expressed by the following formula. τ n ′=τ n -T d (x)sign(ω)···(9) T d (x)=Σ k=0 N a k x k (10) ak (k=0~N) is a coefficient. T d (x) corresponds to the friction torque at the current position x. The coefficient a k The current torque τ n corresponds to the input torque, and T d (x) corresponds to a polynomial that includes the rotational position of the motor, and T d (x) sign(ω) corresponds to a correction value determined by a polynomial that includes the rotational position of the motor.

[0049] The correction unit 403 corrects the torque τ n The identification unit 404 outputs the velocity ω, acceleration ω′, and correction torque τ n The identification unit 404 receives τ n Instead of τ n That is, instead of formula (7), the following formula (7)′ is used. e n = τ n ′-φ n T ρ n-1 (7)′

[0050] The identification unit 404 uses the formulas (2) to (6), (7)′, (8) and (9) in the mathematical model of the formula (1), i.e., applies the recursive least squares method, to obtain the moment of inertia J and the viscosity coefficient D 1 , squared viscosity coefficient D 2 and Coulomb friction coefficient F c Equation (1) corresponds to a relational equation using coefficients including the moment of inertia and the viscosity coefficient.

[0051] In the control device 40 according to the first embodiment, the input torque τ n is corrected based on the position of the motor 52, and the corrected input torque τ nBased on the input torque τ n is corrected based on the position of the motor 52, the friction torque that depends on the position of the motor 52 is taken into consideration for identification, and the identification accuracy can be improved.

[0052] Also, the controller 40 calculates a polynomial T d Based on (x), a correction value is calculated, and the input torque τ n The correction value is subtracted from the signal to perform identification, thereby improving the identification accuracy.

[0053] When the characteristics of the mathematical model expressed by the formula (1) are changed, for example, when the mass of an object loaded on the ball screw mechanism is changed, if the forgetting factor λ is set to a positive number less than 1 or the covariance matrix P is initialized at regular intervals in order to increase the convergence speed of the identification, an identification error is likely to occur when a specific part of the screw shaft is moved. n is corrected based on the position of the motor 52, and the corrected input torque τ n Since the moment of inertia, viscosity coefficient, etc. are identified based on the ', identification errors are unlikely to occur.

[0054] (Embodiment 2) The present invention will be described below with reference to the drawings showing a machine tool according to a second embodiment. Among the configurations of the second embodiment, the same configurations as those of the first embodiment are given the same reference numerals, and detailed description thereof will be omitted. Fig. 5 is a block diagram of an identifier 400A.

[0055] The identifier 400A includes a first differentiator 401, a second differentiator 402, a correction unit 403, an identification unit 404, and a correction coefficient identifier 405. The correction coefficient identifier 405 is a coefficient a k (k=0 to N). The correction coefficient identifier 405 corresponds to the correction identification unit. The correction coefficient identifier 405 is provided with the current position x and the current torque τn The correction coefficient identifier 405 inputs the coefficient a k Parameter vector ρ a is output to the correction unit 403. a =[a 0 , a 1 , ,a N ]. The coefficient a k corresponds to the correction factor.

[0056] 6 is a block diagram of the correction coefficient identifier 405. The correction coefficient identifier 405 includes a third differentiator 405a, a fourth differentiator 405b, a judgment unit 405c, and a correction identification unit 405d. A current position x is input to the third differentiator 405a. The third differentiator 405a differentiates the current position x, and outputs a velocity ω to the fourth differentiator 405b and the judgment unit 405c. The fourth differentiator 405b differentiates the velocity ω, and outputs an acceleration ω' to the judgment unit 405c.

[0057] The determination unit 405c determines whether ω≦L and ω′≦M. L and M are thresholds. That is, it determines whether the speed is low and the acceleration is low. If ω≦L and ω′≦M, the determination unit 405c outputs 1, and if ω≦L and ω′≦M are not true, that is, if ω>L or ω′>M, it outputs 0. The output of the determination unit 405c is expressed as w an Then, w an = 1 (ω ≦ L and ω ′ ≦ M) or 0 (ω > L or ω ′ > M) It is.

[0058] Current position x, output w an and the current torque τ n is input to the correction identification unit 405d. The correction identification unit 405d uses the following equation to the above equation (10), that is, applies the recursive least squares method to obtain the coefficient a k Identify.

[0059] ρ a =[a 0 , a 1 , ,a N ] ···(11) φan = [1, x, x 2 , xn ] ···(12) Pa 0 =αI (13) K an =P an-1 φ an / (λ+φ an T P an-1 φ an-1 ) · · · (14) P an =(1 / λ)(P an-1 -K an φ an T P an-1 ) · · · (15) e an = τ an -φ an T ρ an-1 (16) ρ an =ρ an-1 +w an e an K an (17) ρ a is the parameter vector, ρ an-1 is the parameter vector before updating, ρ an is the updated parameter vector, φ an is the updated signal vector, φ an-1 is the signal vector before updating, α is an arbitrary coefficient, I is the unit matrix, P a0 is the initial covariance matrix, P an-1 is the covariance matrix before updating, P an is the updated covariance matrix, K an is the adaptive gain, λ is the forgetting factor, e an is the identification error, φ an T is φ an where λ is a positive value, for example, less than or equal to 1.

[0060] The correction identification unit 405d uses the formulas (11) to (17) in the mathematical model of the formula (10), that is, applies the recursive least squares method to obtain ρ a , i.e., coefficient a k The correction unit 403 identifies the identified coefficient a kUsing the current torque τ n Correct the torque by using the correction function τ n ' is output to the identification unit 404.

[0061] As shown in equation (17), w an If w = 1, the controller 40 updates, i.e., identifies, the parameter vector. an If the speed of the motor 52 is equal to or lower than the threshold speed and the acceleration of the motor 52 is equal to or lower than the threshold acceleration, the correction identification unit 405d updates the parameter vector, i.e., does not identify the parameter vector. k If it is determined that the speed of the motor 52 is equal to or lower than the threshold speed and the acceleration of the motor 52 is not equal to or lower than the threshold acceleration, the correction identification unit 405d identifies the coefficient a k Does not identify.

[0062] In the control device 40 according to the second embodiment, the recursive least squares method is applied to calculate the coefficient a k Identify the identified coefficient a k During normal operation of the machine tool, the controller 40 applies a recursive least squares method to obtain the coefficient a k That is, the coefficient a k In order to identify the torque, it is not necessary to previously drive the motor 52 at a low speed and measure the torque.

[0063] Also, when the motor 52 operates to satisfy the conditions ω≦L and ω′≦M, the control device 40 applies the recursive least squares method to obtain the coefficient a k Therefore, the inertial torque due to acceleration / deceleration and the viscous torque that occurs when the speed is large are identified as coefficient a k Furthermore, when the conditions ω≦L and ω′≦M are satisfied, the effects of inertial torque and viscous torque are almost negligible, so that identification errors are unlikely to occur even if λ is set to a positive value of 1 or less to increase the convergence speed.

[0064] (Embodiment 3) The present invention will be described below with reference to the drawings relating to the third embodiment. Among the configurations of the third embodiment, the same configurations as those of the first or second embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted. Fig. 7 is a block diagram of the identifier 400B. The identifier 400B includes a first differentiator 401, a second differentiator 402, a correction unit 403, an identification unit 404, a correction coefficient identifier 405, and a judgment unit 406.

[0065] The velocity ω and acceleration ω' are input to the determination unit 406. The determination unit 406 outputs the determination result w n and outputs the judgment result w to the correction coefficient identifier 405. an The determination unit 406 determines whether or not ω≦L and ω′≦M. That is, it determines whether or not the speed is low and the acceleration is low.

[0066] If ω≦L and ω′≦M, the judgment unit 405c outputs 0 to the identification unit 404 and outputs 1 to the correction coefficient identifier 405. If ω≦L and ω′≦M are not satisfied, the judgment unit 405c outputs 1 to the identification unit 404 and outputs 0 to the correction coefficient identifier 405. That is, w n = 0 (ω≦L and ω′≦M) or 1 (ω>L or ω′>M) w an = 1 (ω ≦ L and ω ′ ≦ M) or 0 (ω > L or ω ′ > M) It is.

[0067] The identification unit 404 uses the following formula (8)' instead of formula (8) when identifying the moment of inertia, the viscosity coefficient, and the like. ρ n =ρ n-1 +w n e n K n (8)′ The correction coefficient identifier 405 includes a third differentiator 405a, a fourth differentiator 405b, and a correction identifier 405d, as in the second embodiment, but does not include a judgment unit 405c. an This is because the correction coefficient identifier 405 receives the parameter vector ρ a to the correction unit 403.

[0068] In the control device 40 according to the third embodiment, when the motor 52 is driven at a low speed and at a small acceleration, the moment of inertia and the viscosity coefficient are not identified, and the coefficient a k That is, for example, when moving from the first position to the second position, if the motor 52 is driven at a low speed and with a small acceleration, the moment of inertia and the viscosity coefficient are identified at the first position, but are not identified at the second position, and the moment of inertia and the viscosity coefficient identified at the first position are used. k Identify the identified coefficient a k is used to compensate for the input torque.

[0069] When the motor 52 is driven at high speed or high acceleration, the moment of inertia and the viscosity coefficient are identified, and the coefficient a k That is, for example, when moving from a first position to a second position, if the motor 52 is driven at a high speed or high acceleration, the coefficient a k In the second position, the coefficient a k The coefficient a identified in the first position is used without identifying k Meanwhile, the moment of inertia, the viscosity coefficient, etc. are identified at each of the first and second positions.

[0070] When the motor is driven at high speed or high acceleration, the input torque includes inertial torque and viscous torque. Coefficient a k By not identifying the coefficient a k When the motor 52 is driven at a low speed and with a small acceleration, the coefficient a k By identifying the coefficient a k It is possible to improve the identification accuracy.

[0071] When the motor is driven at high speed or high acceleration, the coefficient a is set to avoid a decrease in identification accuracy. kcan be used to identify the moment of inertia, the viscosity coefficient, etc., and maintain the identification accuracy of the moment of inertia, the viscosity coefficient, etc.

[0072] (Embodiment 4) The present invention will be described below with reference to the drawings showing a machine tool according to a fourth embodiment. Among the components of the fourth embodiment, the same components as those of the first to third embodiments are given the same reference numerals, and detailed description thereof will be omitted. Fig. 8 is a block diagram of an identifier 400C.

[0073] The identifier 400C includes a first differentiator 401, a second differentiator 402, a correction unit 403, an identification unit 404, a correction coefficient identifier 405, a determination unit 406, and an operation determination unit 407. The control device 40 determines the torque τ s The spindle torque detector is provided in the spindle motor 6, for example.

[0074] Torque τ s is input to the motion determination unit 407. The motion determination unit 407 determines the torque τ s It is determined whether the magnitude of the torque τ is equal to or greater than a predetermined threshold value. s If the magnitude of the torque τ is equal to or greater than the threshold value, it is highly likely that a high load is acting on the spindle 5a and that a machining operation is being performed. s is equal to or greater than the threshold value or is less than the threshold value, to the determination unit 406.

[0075] Torque τ s When a command indicating that the magnitude of is equal to or greater than the threshold is input to the determination unit 406, the determination unit 406 n = 0 to the identification unit 404, and w an =0 to the correction coefficient identifier 405. The identification unit 404 does not identify the moment of inertia and the viscosity coefficient, and the correction coefficient identifier 405 outputs the coefficient a k Does not identify.

[0076] In the control device 40 according to the fourth embodiment, when the spindle 5a is performing a machining operation, the input torque includes an excessive disturbance due to the machining load, and the identification error becomes large, so the coefficient is not identified. Therefore, it is possible to suppress the identification error from becoming large due to the machining load.

[0077] The friction torque caused by the positional deviation of the screw shaft and the distortion of the raceway is one example of friction torque that depends on the position of the motor 52, and the identification method shown in the above-mentioned embodiment is applicable not only to the friction torque caused by the positional deviation of the screw shaft and the distortion of the raceway, but also to other friction torque that depends on the position of the motor 52, such as an error in the pitch of the screw groove of the screw shaft. It is also applicable to motors installed in devices or machines other than machine tools.

[0078] The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The technical features described in each embodiment can be combined with each other, and the scope of the present invention is intended to include all modifications within the scope of the claims and the scope equivalent to the claims. [Explanation of symbols]

[0079] 40 Control device 50 Storage medium 52 Motor 400 Identifier 401 First differentiator 402 Second differentiator 403 Correction Section 404 Identification Department 405 Correction Coefficient Identifier 405a Third differentiator 405b Fourth differentiator 405c Judgment part 405d Correction Identification Unit 406 Judgment section 407 Operation judgment section

Claims

1. In a control device for controlling a motor, a correction unit that corrects a current torque of the motor based on a rotational position of the motor; an identification unit that applies a recursive least squares method to a relational expression using coefficients including a moment of inertia and a viscosity coefficient based on the current torque corrected by the correction unit, the speed of the motor, and the acceleration of the motor, thereby identifying at least the moment of inertia and the viscosity coefficient; Equipped with The correction unit subtracts a correction value determined by a polynomial including a rotational position of the motor from the current torque, a correction identification unit that identifies a correction coefficient to be used in the polynomial by applying a recursive least squares method; The correction unit corrects the current torque by using the correction coefficient identified by the correction identification unit. Control device.

2. a determination unit that determines whether or not the speed of the motor is equal to or less than a threshold speed and the acceleration of the motor is equal to or less than a threshold acceleration, when the determination unit determines that the speed of the motor is equal to or less than a threshold speed and that the acceleration of the motor is equal to or less than a threshold acceleration, the correction identification unit identifies the correction coefficient; When the determination unit determines that the speed of the motor exceeds a threshold speed or that the acceleration of the motor exceeds a threshold acceleration, the correction identification unit does not identify the correction coefficient. The control device according to claim 1 .

3. when the determination unit determines that the speed of the motor is equal to or lower than a threshold speed and that the acceleration of the motor is equal to or lower than a threshold acceleration, the identification unit does not identify the moment of inertia and the viscosity coefficient; When the determination unit determines that the speed of the motor exceeds a threshold speed or the acceleration of the motor exceeds a threshold acceleration, the identification unit identifies the moment of inertia and the viscosity coefficient. The control device according to claim 2.

4. The motor is provided in a machine tool, an operation determination unit that determines whether the machine tool is in a machining operation; When the operation determination unit determines that the machine tool is in machining, the correction identification unit does not identify the correction coefficient, and the identification unit does not identify the moment of inertia and the viscosity coefficient. A control device according to any one of claims 1 to 3.

5. 1. A method for controlling a motor, comprising: correcting a current torque of the motor based on a rotational position of the motor; applying a recursive least squares method to a relational expression using coefficients including an inertia moment and a viscosity coefficient based on the corrected current torque, the speed of the motor, and the acceleration of the motor, to identify at least the inertia moment and the viscosity coefficient; subtracting a correction value determined by a polynomial including a rotational position of the motor from the current torque; applying a recursive least squares method to identify correction coefficients for use in said polynomial; The current torque is corrected using the identified correction coefficient. Control methods.

6. A computer program executable by a control device for controlling a motor, The control device includes: correcting a current torque of the motor based on a rotational position of the motor; applying a recursive least squares method to a relational expression using coefficients including an inertia moment and a viscosity coefficient based on the corrected current torque, the speed of the motor, and the acceleration of the motor, to identify at least the inertia moment and the viscosity coefficient; subtracting a correction value determined by a polynomial including a rotational position of the motor from the current torque; applying a recursive least squares method to identify correction coefficients for use in said polynomial; The current torque is corrected using the identified correction coefficient. A computer program that executes a process.

Citation Information

Patent Citations

  • Inertia online identification method and system of servo motor drive system

    CN106026822A

  • Position control device for rotary shaft

    JP2008171165A

  • Motor control apparatus

    JP2011147267A

  • Automatic tuning method for the feedback control of a motion simulator, and related device

    US20060284588A1