Control devices, machine tools, control methods, and computer programs
The control device addresses responsiveness issues in machine tools by estimating and adjusting the gain of the spindle drive unit based on inertia, enhancing performance and reducing synchronous errors.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2024-12-20
- Publication Date
- 2026-07-02
AI Technical Summary
Machine tools experience a decrease in responsiveness of the spindle due to increased inertia when tools are attached, leading to increased synchronous errors during operations like skiving machining.
A control device that estimates the inertia of the rotating shaft, determines the gain of the drive unit based on this inertia, and adjusts the gain to maintain responsiveness, storing the inertia or gain associated with the tool for future reference.
The control device maintains spindle responsiveness by dynamically adjusting the gain based on inertia changes, reducing synchronous errors and optimizing spindle performance.
Smart Images

Figure 2026110338000001_ABST
Abstract
Description
Technical Field
[0001] The present technology relates to a control device for controlling a rotating shaft, a machine tool, a control method, and a computer program.
Background Art
[0002] There is a machine tool that monitors the inertia of a tool attached to a spindle during rotation of the spindle and stops the spindle motor that drives the spindle when the inertia exceeds a threshold value. By stopping the spindle motor, the machine tool can reduce the possibility that the connection position between the output shaft of the spindle motor and the spindle will shift.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] A machine tool, for example, performs feedback control on a spindle. The gain of the feedback control is generally fixed to a value that can be stably controlled from a state where no tool is attached to the spindle to a state where a tool with the maximum inertia designed is attached. For example, even if the inertia of the tool attached to the spindle is less than the maximum value designed, the responsiveness of the spindle decreases due to an increase in the inertia of the entire spindle including the attached tool. A decrease in the responsiveness of the spindle is a problem because, particularly when synchronously controlling the spindle and other axes, for example, when performing skiving machining in which the rotation of the spindle and the rotation of a holding table that holds a workpiece are synchronously controlled to perform gear machining, the synchronous error increases. <00^0033> The present disclosure has been made in view of such circumstances, and an object thereof is to provide a control device, a machine tool, a control method, and a computer program that can suppress a decrease in the responsiveness of a rotating shaft even when the inertia of the rotating shaft increases.
Means for Solving the Problems
[0006] A control device according to one embodiment of the present disclosure is a control device for controlling the rotating shaft of a machine tool, and it performs an estimation process for estimating the inertia of the rotating shaft, a determination process for determining the gain of a drive unit that drives the rotating shaft based on the inertia estimated in the estimation process, and a drive process for driving the rotating shaft that has reached a target speed with the gain determined in the determination process.
[0007] In one embodiment of the present disclosure, the inertia of the rotating shaft is estimated, the gain of the drive unit is determined based on the estimated inertia, and the rotating shaft is driven with the determined gain.
[0008] A control device according to one embodiment of the present disclosure performs a determination process to determine whether or not the rotating shaft decelerates, and, after the determination process has been executed, a modification process to change the gain of the drive unit to the gain before the execution of the determination process if the determination process has determined that the rotating shaft decelerates.
[0009] In one embodiment of this disclosure, if the rotational shaft decelerates after the gain is determined, the gain of the drive unit is returned to the gain before the determination.
[0010] In one embodiment of the present disclosure, the control device has a tool attached to the rotating shaft and performs a storage process that stores the inertia estimated in the estimation process or the gain determined in the determination process in a storage unit, linked to the tool attached to the rotating shaft.
[0011] In one embodiment of the present disclosure, the estimated inertia or determined gain is stored in association with a tool mounted on the rotating shaft.
[0012] A control device according to one embodiment of the present disclosure performs a second determination process to determine whether or not the gain corresponding to the tool mounted on the rotating shaft is stored in the storage unit. If it is determined that the gain corresponding to the tool mounted on the rotating shaft is stored in the storage unit, it performs a second determination process to determine the gain stored in the storage unit as the gain of the drive unit. If it is determined that the gain corresponding to the tool mounted on the rotating shaft is not stored in the storage unit, it performs the estimation process and the determination process, and performs a second storage process to store the gain of the drive unit determined in the determination process in the storage unit, linked to the tool mounted on the rotating shaft.
[0013] In one embodiment of the present disclosure, if a gain corresponding to a tool mounted on the rotating shaft is stored, the stored gain is determined as the gain of the drive unit. If a gain corresponding to a tool mounted on the rotating shaft is not stored, the gain is determined and stored based on the inertia.
[0014] In one embodiment of the present disclosure, the control device has a tool mounted on the rotating shaft and performs a third determination process to determine whether or not to synchronously control the rotating shaft and a second rotating shaft that holds the workpiece. If it is determined that the rotating shaft and the second rotating shaft should be synchronously controlled, the control device performs the estimation process and the decision process.
[0015] In one embodiment of the present disclosure, when synchronously controlling a rotating shaft on which a tool is mounted and a second rotating shaft that holds a workpiece, the inertia is estimated and the gain is determined based on the estimated inertia.
[0016] A control device according to one embodiment of the present disclosure includes a second storage unit that stores a plurality of gains for the drive unit, and when it is determined that the rotating shaft and the second rotating shaft should be controlled synchronously, the determination process determines one of the gains stored in the second storage unit to be the gain for the drive unit.
[0017] In one embodiment of the present disclosure, when synchronously controlling a rotating shaft on which a tool is mounted and a second rotating shaft that holds a workpiece, one of a plurality of gains is determined to be the gain of the drive unit.
[0018] A machine tool according to an embodiment of the present disclosure includes a rotating shaft and a control device that controls the rotating shaft. In the machine tool, the control device executes an estimation process for estimating the inertia of the rotating shaft, a determination process for determining the gain of a drive unit that drives the rotating shaft based on the inertia estimated in the estimation process, and a drive process for driving the rotating shaft that has reached a target speed with the gain determined in the determination process.
[0019] In one embodiment of the present disclosure, the inertia of the rotating shaft is estimated, the gain of the drive unit is determined based on the estimated inertia, and the rotating shaft is driven with the determined gain.
[0020] A control method according to an embodiment of the present disclosure is a control method for controlling a rotating shaft of a machine tool. The control method includes an estimation process for estimating the inertia of the rotating shaft, a determination process for determining the gain of a drive unit that drives the rotating shaft based on the inertia estimated in the estimation process, and a drive process for driving the rotating shaft that has reached a target speed with the gain determined in the determination process.
[0021] In one embodiment of the present disclosure, the inertia of the rotating shaft is estimated, the gain of the drive unit is determined based on the estimated inertia, and the rotating shaft is driven with the determined gain.
[0022] A computer program according to an embodiment of the present disclosure is a computer program executable in a control device that controls a rotating shaft of a machine tool. The computer program causes the control device to execute an estimation process for estimating the inertia of the rotating shaft, a determination process for determining the gain of a drive unit that drives the rotating shaft based on the inertia estimated in the estimation process, and a drive process for driving the rotating shaft that has reached a target speed with the gain determined in the determination process.
[0023] In one embodiment of the present disclosure, the inertia of the rotating shaft is estimated, the gain of the drive unit is determined based on the estimated inertia, and the rotating shaft is driven with the determined gain.
[0024] In a control device, a machine tool, a control method, and a computer program according to an embodiment of the present disclosure, the inertia of a rotating shaft is estimated, based on the estimated inertia, the gain of a drive unit is determined, and the rotating shaft is driven with the determined gain. Therefore, even when the inertia of the rotating shaft increases, the rotating shaft can be driven with a gain corresponding to the increased inertia, and a decrease in the responsiveness of the rotating shaft can be suppressed.
Brief Description of the Drawings
[0025] [Figure 1] It is a perspective view showing a machine tool according to Embodiment 1. [Figure 2] It is a block diagram showing a control device. [Figure 3] It is a block diagram showing information exchanged inside and outside a control device and a spindle motor. [Figure 4] It is a block diagram showing a functional configuration of a servo circuit. [Figure 5] It is a block diagram for explaining arithmetic processing of estimated tool inertia by a disturbance observer. [Figure 6] It is a conceptual diagram showing an example of a machining program. [Figure 7] It is a flowchart for explaining an example of machining processing by a control unit. [Figure 8] It is a flowchart for explaining an example of machining processing by a control unit. [Figure 9] It is a conceptual diagram showing a table storing tool numbers and inertia for synchronization control according to Embodiment 2. [Figure 10] It is a flowchart for explaining an example of machining processing by a control unit. [Figure 11] It is a conceptual diagram showing a table storing tool numbers and gains for synchronization control according to Embodiment 3. [Figure 12] It is a flowchart for explaining an example of machining processing by a control unit. [Figure 13]This is a conceptual diagram showing a table that stores gain margin, phase margin, and synchronous control gain according to Embodiment 4. [Figure 14] This is a flowchart illustrating an example of a machining process performed by the control unit. [Modes for carrying out the invention]
[0026] (Embodiment 1) The present invention will be described below based on drawings showing a machine tool 100 according to an embodiment. Figure 1 is a perspective view showing the machine tool 100. In the following description, the up / down, left / right, and front / back directions indicated by arrows in the figure will be used. As shown in Figure 1, the machine tool 100 is provided with a rectangular base 1 that extends in the front-to-back direction. The workpiece holding section 3 is provided on the front side of the upper part of the base 1. The workpiece holding section 3 has a holding table 3d for holding a workpiece, an A-axis motor 3a that rotates the holding table 3d around an A-axis that extends left and right, and a C-axis motor 3c that rotates the holding table 3d around a C-axis that extends up and down. The holding table 3d that rotates around the C-axis by the C-axis motor 3c constitutes a second rotation axis. The support base 2 is provided on the rear side of the upper part of the base 1 and supports the vertical column 4.
[0027] The Y-axis movement mechanism 10 is provided on the upper part of the support base 2 and moves the movable plate 16 in the front-rear direction. The Y-axis movement mechanism 10 comprises two tracks 11 extending in the front-rear direction, a Y-axis screw shaft 12, a Y-axis motor 13, and bearings 14. 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 in the front-rear direction and is provided between the two tracks 11. The bearings 14 are provided at the front end and middle (not shown) 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. A nut (not shown) is screwed onto the Y-axis screw shaft 12 via rolling elements (not shown). The rolling elements are, for example, balls. Multiple sliders 15 are slidably provided on each track 11. The movable plate 16 extends in the horizontal direction and is connected to the nut and the upper part of the sliders 15. The Y-axis screw shaft 12 rotates with the rotation of the Y-axis motor 13, the nut moves in the front-to-back direction, and the movable plate 16 moves in the front-to-back direction.
[0028] The X-axis movement mechanism 20 is provided on the upper surface of the movable plate 16 and moves the vertical column 4 in the left-right direction. The X-axis movement mechanism 20 comprises two tracks 21 extending to the left and right, an X-axis screw shaft 22, an X-axis motor 23 (see Figure 2), and bearings 24. The tracks 21 are provided in front of and behind the upper surface of the movable plate 16. The X-axis screw shaft 22 extends to the left and right and is provided between the two tracks 21. The bearings 24 are provided at the left end and middle (not shown) of the X-axis screw shaft 22. The X-axis motor 23 is connected to the right end of the X-axis screw shaft 22. A nut (not shown) is screwed onto the X-axis screw shaft 22 via rolling elements (not shown). Multiple sliders 26 are slidably provided on each track 21. The vertical column 4 is connected to the nut and the upper part of the sliders 26. The X-axis screw shaft 22 rotates with the rotation of the X-axis motor 23, the nut moves left and right, and the vertical column 4 moves left and right.
[0029] The Z-axis movement mechanism 30 is located on the front of the column 4 and moves the spindle head 5 vertically. The Z-axis movement mechanism 30 comprises two vertically extending raceways 31, a Z-axis screw shaft 32, a Z-axis motor 33, and bearings 34. The raceways 31 are located on the left and right sides of the front of the column 4. The Z-axis screw shaft 32 extends vertically and is located between the two raceways 31. The bearings 34 are located at the lower end and middle (not shown) 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. A nut (not shown) is screwed onto the Z-axis screw shaft 32 via rolling elements (not shown). Multiple sliders 35 are slidably mounted on each raceway 31. The spindle head 5 is connected to the nut and the front of the sliders 35. The Z-axis screw shaft 32 rotates with the rotation of the Z-axis motor 33, the nut moves up and down, and the spindle head 5 moves up and down.
[0030] The spindle 51, which extends vertically, is located inside the spindle head 5. The spindle 51 rotates around its axis. The spindle motor 43 is located at the upper end of the spindle head 5. A tool 52 (see Figure 2) is attached to the lower end of the spindle 51. The spindle 51 rotates due to the rotation of the spindle motor 43, and the tool 52 rotates as well. The rotated tool 52 processes the workpiece held by the workpiece holder 3. The spindle 51 constitutes the rotation axis, and the spindle motor 43 constitutes the drive unit.
[0031] Figure 2 is a block diagram of the control device 60. The machine tool 100 is equipped with a control device 60 that controls the driving of the spindle motor 43, Y-axis motor 13, X-axis motor 23, Z-axis motor 33, A-axis motor 3a, C-axis motor 3c, etc. As shown in Figure 2, the control device 60 has a control unit 61, a main memory unit 62, an auxiliary memory unit 63, an input interface 65, an input / output interface 66, etc.
[0032] The control unit 61 includes, for example, a processor or logic circuit. The processor includes, for example, a CPU, MPU, or GPU. The logic circuit includes, for example, an FPGA or ASIC. The main memory unit 62 includes, for example, RAM. The auxiliary memory unit 63 includes a rewritable storage device, such as an EEPROM, flash ROM, or hard disk. The control unit 61 may include, for example, multiple processors or logic circuits. The control unit 61 executes multiple processes, such as various arithmetic and control processes. Multiple processes may be executed by one processor or logic circuit in the control unit 61, or they may be executed in a distributed manner by multiple processors or logic circuits in the control unit 61. A processor or logic circuit that executes one process and a processor or logic circuit that executes other processes may exist separately.
[0033] The auxiliary storage unit 63 stores the control program. The control program includes a machining program for machining a workpiece and a program for executing machining processes described later. The control unit 61 reads the machining program from the auxiliary storage unit 63 into the main storage unit 62 and executes it. The machining program has multiple lines (commands). The control unit 61 reads the lines in order, executes the commands, and issues commands to drive each part. The control unit 61 stores the data generated by the execution of the machining program in the auxiliary storage unit 63. The machining program may be stored in a storage medium 68, such as an optical disc, flash memory, or hard disk, and downloaded from the storage medium 68 to the auxiliary storage unit 63. Alternatively, it may be downloaded from an external server to the auxiliary storage unit 63 via a network (not shown).
[0034] Processing by the processing program, such as the processing described later, may be implemented by the control unit 61 or an external server, or it may be implemented by distributed processing by the control unit 61 and devices other than the control unit 61, such as a terminal (not shown) different from the control device 60 or an external server. The terminal may be a portable device such as a smartphone, tablet computer, laptop computer, or remote controller, or a stationary device such as a desktop personal computer.
[0035] The auxiliary storage unit 63 pre-stores variables such as n, which indicates the row number (described later), Jsp, the inertia of the spindle 51 without a tool, Kvp, which indicates the speed-proportional gain, and the number of estimations. The inertia Jsp is determined experimentally. The variable Kvp stores the speed-proportional gain K0 without a tool as an initial value. The speed-proportional gain K0 is the speed-proportional gain that allows the spindle 51 to rotate stably, and is determined experimentally without a tool to satisfy, for example, a gain margin of 15 dB and a phase margin of 40 degrees.
[0036] The machine tool 100 further includes a reception unit 67. The reception unit 67 includes, for example, a keyboard, touch panel, display screen, etc., and receives user input. The control device 60 receives signals from the reception unit 67 via an input interface 65. The control device 60 issues position commands or speed commands to the spindle motor 43, X-axis motor 23, Y-axis motor 13, Z-axis motor 33, A-axis motor 3a, and C-axis motor 3c via an input / output interface 66. The control device 60 acquires position information and current information for each of the spindle motors 43, X-axis motor 23, Y-axis motor 13, Z-axis motor 33, A-axis motor 3a, and C-axis motor 3c via the input / output interface 66.
[0037] When the control unit 61 executes a machining process, it issues commands to the spindle motor 43, X-axis motor 23, Y-axis motor 13, Z-axis motor 33, A-axis motor 3a, and C-axis motor 3c to control the rotation of the spindle 51, the movement of the X-axis movement mechanism 20, the Y-axis movement mechanism 10, and the Z-axis movement mechanism 30, and the rotation of the holder 3d. As a result, the control unit 61 machines the workpiece using the tool 52 mounted on the spindle 51.
[0038] Next, the flow of information between the spindle motor 43 and the control device 60 will be explained. Figure 3 is a block diagram showing the information exchanged inside and outside the control device 60 and the spindle motor 43. The disturbance observer 64 included in the control device 60 is one of the functional blocks realized by the control device 60, which has the control unit 61 shown in Figure 2. The spindle motor 43 has a motor 43a that drives the spindle 51 and a servo circuit 430 that provides feedback control of the current flowing to the motor 43a based on either or both of the position command and / or speed command from the control device 60. The current flowing to the motor 43a is detected by a current detection unit 437, and the current detection unit 437 provides feedback of current information indicating the detected current to the servo circuit 430. The X-axis motor 23, Y-axis motor 13, Z-axis motor 33, A-axis motor 3a, and C-axis motor 3c also have servo circuits similar to the servo circuit 430.
[0039] Motor 43a is, for example, an AC servo motor having a magnet in its rotor. The rotational position of motor 43a is detected by encoder 43b. Encoder 43b feeds back position information indicating the detected rotational position as a pulse signal to servo circuit 430. Servo circuit 430 generates speed information based on the position information.
[0040] The disturbance observer 64 acquires speed information and current information from the servo circuit 430 to determine the disturbance acting on the motor 43a and estimates the inertia of the tool 52 attached to the spindle 51.
[0041] Figure 4 is a block diagram showing the functional configuration of the servo circuit 430. The same applies to the servo circuits for the X-axis motor 23, Y-axis motor 13, Z-axis motor 33, A-axis motor 3a, and C-axis motor 3c. In the figure, 431, 433, and 435 represent amplifiers whose amplification factors are position-proportional gain, speed-proportional gain, and speed-integral gain, respectively. The servo circuit 430 has an amplifier 431 that amplifies the position error, which is the difference between the target position included in the position command and the position indicated by the position information fed back by the encoder 43b, to generate a speed command. The servo circuit 430 also has a differentiator 432 that generates the rotational speed of the motor 43a by differentiating the position indicated by the position information once, an amplifier 433 that amplifies the speed error, which is the difference between the speed command generated by amplifier 431 and the rotational speed generated by the differentiator 432, and an integrator 434 and an amplifier 435 that integrate and amplify the speed error.
[0042] In the example shown in Figure 4, the current command is obtained by adding an amount proportional to the integral result of the speed error amplified by amplifier 435 to an amount proportional to the speed error amplified by amplifier 433. This performs so-called PI control. The servo circuit 430 further has a current controller 436 that provides feedback control of the current flowing to the motor 43a based on the above current command. The current detection unit 437 feeds back current information indicating the detected current to the current controller 436, and the current controller 436 controls the motor 43a so that the current corresponding to the current command flows to it.
[0043] In Figure 4, the operation of the servo circuit 430 was explained when the control unit 61 issues a position command. However, when the control unit 61 issues a speed command, the speed command from the control unit 61 should be used instead of the speed command generated by the amplifier 431. When the control unit 61 issues both a position command and a speed command simultaneously, the operation should be superimposed to that of each command being issued individually.
[0044] Figure 5 is a block diagram illustrating the calculation process of estimated tool inertia by the disturbance observer 64. The disturbance observer 64 calculates the estimated inertia of the tool 52 mounted on the spindle 51 at a predetermined period and performs the calculation of the estimated tool inertia Jm. The estimated tool inertia Jm is calculated based on the current information Ifb and the rotational speed ωfb.
[0045] The servo circuit 430 outputs current information Ifb[A] to the multiplier 64b. Current information Ifb is the value of the current flowing through the motor 43a. The multiplier 64b multiplies the current information Ifb by the torque constant kt of the motor 43a to calculate the output torque Tm[Nm] generated by the motor 43a. The output torque Tm is output to the adder 64i.
[0046] The servo circuit 430 outputs the rotational speed ωfb [rad / s] to the multiplier 64e. The multiplier 64e multiplies the angular velocity ωfb by the viscous resistance coefficient Ct, which represents the resistance of the spindle 51 that is proportional to the speed, and calculates the estimated viscous torque Tc [Nm] generated in the spindle 51.
[0047] Differentiator 64f differentiates the angular velocity ωfb and calculates the angular acceleration a [rad / s²] during rotation of the main shaft 51. 2 The multiplier 64g calculates the following for angular acceleration a: Jt[kg·m]. 2 Multiply by ] to calculate the estimated inertial torque Tj [Nm]. Adder 64h adds the estimated viscous torque Tc and the estimated inertial torque Tj to calculate the estimated acceleration / deceleration torque Te [Nm].
[0048] The adder 64i calculates the difference value dt [Nm], which is the deviation between the output torque Tm calculated based on the current information Ifb and the estimated acceleration / deceleration torque Te calculated based on the rotational speed ωfb. When no tool is mounted on the spindle 51 and there are no disturbances from machining, the difference value dt between the estimated acceleration / deceleration torque Te and the output torque Tm during acceleration or deceleration of the spindle 51 is almost zero. When a tool 52 is mounted on the spindle 51, the difference value dt during acceleration or deceleration of the spindle 51 is the inertial torque of the tool 52 mounted on the spindle 51. After the spindle 51 reaches the command speed and machining begins, the difference value dt is entirely the inertial torque of the tool with tool 52 mounted on the spindle 51. Therefore, the multiplier 64j divides the calculated difference value dt by the angular acceleration a, that is, multiplies the difference value dt by 1 / a to obtain the estimated tool inertia Jm [kg·m]. 2 Perform the calculation for ].
[0049] Alternatively, the estimated tool inertia Jm can be calculated as follows. The estimated total tool inertia Jt is the sum of the inertia Jsp of the spindle 51 without a tool and the estimated tool inertia Jm. The average value of angular acceleration a during acceleration / the average value of output torque Tm during acceleration = total inertia Jt. The initial angular velocity ωfb / the time taken for acceleration Ta = angular acceleration a. Subtract the inertia Jsp from the total inertia Jt to obtain the estimated total tool inertia Jt.
[0050] Figure 6 is a conceptual diagram showing an example of a machining program. The machining program in Figure 6 shows an example of skiving machining, in which the rotation of the spindle 51 to which the tool 52 is attached is synchronized with the rotation of the turning spindle, i.e., the holder 3d to which the workpiece is attached. The control unit 61 reads each row in order and executes the command of the read row. In Figure 6, row number 0, "G00", indicates rapid traverse movement of the spindle 51, and "G00 X0. Y20. Z200." indicates movement of the spindle 51 to X position 0 mm, Y position 20 mm, and Z position 200 mm. Row number 1, "M142", indicates the activation of synchronized control of the spindle 51 and the holder 3d. That is, it indicates that the rotation of the spindle 51 and the rotation of the holder 3d around the C axis are synchronized. "U3 V1" indicates the ratio of the rotational speed of the spindle 51 to the rotational speed of the holder 3d around the C axis, where U is the denominator and V is the numerator. In row 1, the ratio is 3 / 1. That is, "M142 U3 V1" indicates that the rotation of the spindle 51 and the rotation of the holder 3d around the C axis are synchronized so that the spindle 51 rotates 3 times while the holder 3d rotates 1 time.
[0051] Line number 2, "M303," is a synchronous rotation command for the spindle 51 relative to the holder 3d. Since "M142 U3 V1" is executed in line number 1, "M303 S500" commands the holder 3d to rotate at a speed of 500 min⁻¹. -1 Then, the spindle 51 is rotated at a speed of 1500 min⁻¹. -1 This indicates synchronous rotation. Line number 3, "G01," indicates the cutting movement of the spindle 51 at the set feed rate, and "G01 Z180. F1000" means 1000mm to Z position 180mm. -1 This shows the movement of the spindle 51. With the command in line 2, the spindle 51 is rotating, and with the command in line 3, the spindle 51 moves while machining the workpiece. Line 4, "G01 Y25.", indicates the movement of the spindle 51 to Y position 25 mm, and the spindle 51 moves while machining the workpiece. With the command in line 4, the spindle 51 moves away from the workpiece, and the tool 52 moves away from the workpiece at Y position 25 mm and is not machining.
[0052] Line number 5, "M305," indicates a stop command for the holder 3d, and simultaneously stops the spindle 51. Line number 6, "M141," is a command to disable the synchronous control of the spindle 51 and the holder 3d by "M142 U3 V1," i.e., a command to disable M142. Line number 7, M30, indicates the end of the machining program. M30 is the command for the last line.
[0053] Figures 7 and 8 are flowcharts illustrating an example of machining processing by the control unit 61. As mentioned above, the auxiliary storage unit 63 stores a variable n indicating the row number. Variable n is initially stored at 0. The spindle 51 is fitted with the tool 52.
[0054] The control unit 61 reads the nth line of the machining program (S1). The control unit 61 determines whether or not the synchronous control of the spindle 51 and the holder 3d is enabled (S2). That is, the control unit 61 determines whether or not M142 has been executed and M141 has not been executed. The process executed by the control unit 61 in step S2 constitutes the third determination process.
[0055] If it is determined that synchronous control is not enabled (S2: NO), the control unit 61 determines whether the read command is a synchronous control enable command, i.e., M142 (S3). If it is determined that the read command is a synchronous control enable command (S3: YES), the control unit 61 enables synchronous control (S6), and the control unit 60a determines whether the read command is the command for the last row, i.e., M30 (S5). If it is determined that the read command is not the command for the last row (S5: NO), the control unit 61 increments n by 1 (S7) and returns to step S1. If it is determined that the read command is the command for the last row (S5: YES), the control unit 61 terminates the process.
[0056] In step S3, if it is determined that the read command is not a synchronous control activation command (S3: NO), the control unit 61 executes the read command (S4). In other words, the control unit 61 executes a control other than synchronous control. The control unit 61 proceeds to step S5.
[0057] If it is determined in step S2 that synchronous control is enabled (S2:YES), the control unit 61 determines whether the read command is a synchronous rotation command, i.e., M303 (S8). If it is determined that the read command is not a synchronous rotation command (S8:NO), the control unit 61 determines whether the read command is a stop command, i.e., M305 (S9). If it is determined that the read command is not a stop command (S9:NO), the control unit 61 determines whether the read command is a command to disable synchronous control, i.e., M141 (S10). If it is determined that the read command is not a command to disable synchronous control (S10:NO), the control unit 61 proceeds to step S4. If it is determined that the read command is a command to disable synchronous control (S10:YES), the control unit 61 proceeds to step S5. The process in step S9 executed by the control unit 61 constitutes a determination process. Furthermore, the process in step S9 may also be a process to determine whether the read command is a deceleration command to reduce the speed of the spindle 51.
[0058] In step S8, if it is determined that the read command is a synchronous rotation command (S8:YES), the control unit 61 starts synchronously accelerating the spindle motor 43 and the C-axis motor 3c (S14). The control unit 61 determines whether the rotational speed of the spindle motor 43 is 20% or more of the commanded speed (S15). If it is determined that the rotational speed of the spindle motor 43 is not 20% or more of the commanded speed (S15:NO), the control unit 61 returns to step S15.
[0059] If the control unit 61 determines that the rotational speed of the spindle motor 43 is 20% or more of the commanded speed (S15: YES), the control unit 61 estimates the tool inertia Jm and stores it in the auxiliary storage unit 63 (S16). The control unit 61 counts the number of estimations (S17). The auxiliary storage unit 63 stores the number of estimations.
[0060] The control unit 61 determines whether the rotational speed of the spindle motor 43 is 80% or more of the commanded speed (S18). If it determines that the rotational speed of the spindle motor 43 is not 80% or more of the commanded speed (S18: NO), the control unit 61 returns to step S16. In step S16, the control unit 61 does not delete the tool inertia Jm estimated up to the previous step, but stores each estimated tool inertia Jm in the auxiliary storage unit 63.
[0061] If the control unit 61 determines that the rotational speed of the spindle motor 43 is 80% or more of the commanded speed (S18: YES), it calculates the average of the tool inertia Jm (S19). Alternatively, the median or mode of the tool inertia Jm may be used instead of the average. That is, the sum of the tool inertia Jm is divided by the estimated number of rotations. The control unit 61 stores the average of the tool inertia Jm in the main memory unit 62 or the auxiliary memory unit 63 (S20) and resets the estimated number of rotations (S21). The control unit 61 determines whether the rotational speed of the spindle motor 43 has reached the commanded speed (S22). If the control unit 61 determines that the rotational speed of the spindle motor 43 has not reached the commanded speed (S22: NO), it returns to step S22. If the rotational speed of the spindle motor 43 has reached the commanded speed, the spindle motor 43 rotates at the commanded speed, i.e., at a constant speed. The processes in steps S16, S17, S19-S21 performed by the control unit 61 constitute the estimation process. The control unit 61 performs the processes in steps S16, S17, S19-S21 while the spindle motor 43 is accelerating.
[0062] If the control unit 61 determines that the rotational speed of the spindle motor 43 has reached the commanded speed (S22: YES), the control unit 61 determines the speed-proportional gain of the spindle 51 (S23). As described above, the variable Kvp, which indicates the speed-proportional gain, stores K0. The total inertia Jt is the sum of the inertia Jsp of the spindle 51 without a tool and the estimated tool inertia Jm. The control unit 61 multiplies K0 by the total inertia Jt / the inertia Jsp of the spindle 51 without a tool. That is, it multiplies K0 by the ratio of Jt to Jsp. The result of this multiplication is the determined speed-proportional gain. The control unit 61 stores the determined speed-proportional gain in the variable Kvp. The control unit 61 drives the spindle 51 with the determined speed-proportional gain (S24). That is, the control unit 61 uses the determined speed-proportional gain when the spindle motor 43 is rotating at a constant speed. The control unit 61 processes the workpiece while the spindle motor 43 rotates at a constant speed. The determined speed-proportional gain is used during workpiece processing. The control unit 61 proceeds to step S5. The process in step S23 executed by the control unit 61 constitutes the determination process. The process in step S24 executed by the control unit 61 constitutes the drive process.
[0063] In step S9, if it is determined that the read command is a stop command (S9:YES), that is, if it is determined to be M141, the control unit 61 returns the speed proportional gain to its initial value K0 (S11). That is, it stores K0 in the variable Kvp. The control unit 61 starts the deceleration of the spindle motor 43 and the C-axis motor 3c synchronously (S12). The control unit 61 determines whether the spindle motor 43 has stopped or not (S13). If it is determined that the spindle motor 43 has not stopped (S13:NO), the control unit 61 returns to step S13. If it is determined that the spindle motor 43 has stopped (S13:YES), the control unit 61 proceeds to step S5. The process in step S11 executed by the control unit 61 constitutes a modification process.
[0064] In the machine tool 100 according to Embodiment 1, the inertia of the spindle 51 is estimated, the speed-proportional gain of the spindle motor 43 is determined based on the estimated inertia, and the spindle 51 is driven with the determined speed-proportional gain. Therefore, even if the inertia of the spindle 51 increases, the spindle 51 is driven with a speed-proportional gain corresponding to the increased inertia, and a decrease in the responsiveness of the spindle 51 can be suppressed. Furthermore, since the inertia of the spindle 51 is estimated during the acceleration of the spindle 51, that is, before machining, the time before machining can be effectively utilized.
[0065] Furthermore, if the spindle 51 decelerates after the speed-proportional gain has been determined, the speed-proportional gain is returned to its initial value, for example, the value before the determination. For example, the speed-proportional gain can be increased during workpiece machining to adjust the rotation of the spindle 51 to a speed suitable for skiving, and after the workpiece machining is completed, the speed-proportional gain can be returned to its initial value to stabilize the rotation of the spindle 51.
[0066] Furthermore, when the spindle 51 on which the tool 52 is mounted and the holder 3d that holds the workpiece are controlled synchronously, the inertia of the spindle 51 is estimated, and the speed adjustment gain is determined based on the estimated inertia.
[0067] In Embodiment 1, the inertia of the spindle 51 is estimated, the speed-proportional gain of the spindle motor 43 is determined based on the estimated inertia, and the spindle 51 is driven with the determined speed-proportional gain. However, similar control may be performed on other axes. For example, the inertia of the holder 3d may be estimated, the speed-proportional gain of the C-axis motor 3c may be determined based on the estimated inertia, and the holder 3d may be driven with the determined speed-proportional gain.
[0068] (Embodiment 2) The present invention will be described below based on drawings showing a machine tool 100 according to Embodiment 2. In the configuration of the machine tool 100 according to Embodiment 2, components similar to those in Embodiment 1 are denoted by the same reference numerals, and their detailed descriptions are omitted.
[0069] The machine tool 100 is equipped with a tool magazine (not shown) for storing multiple tools 52. The tool magazine has multiple arms (not shown) for holding the tools 52. When a tool 52 is to be mounted on the spindle 51, the control unit 61 positions the arm holding the tool 52 at the tool change position. The spindle 51 is directly above the arm at the tool change position. The control unit 61 lowers the spindle 51 and mounts the tool 52 from the arm onto the spindle 51. When a tool 52 is mounted on the spindle 51, the control unit 61 stores a number in the main memory unit 62 or auxiliary memory unit 63 that identifies the tool 52 mounted on the spindle 51, and associates it with the spindle 51.
[0070] When removing the tool 52 from the spindle 51, the control unit 61 positions an empty arm at the tool change position. The tool 52 mounted on the spindle 51 is directly below the arm at the tool change position. The control unit 61 raises the spindle 51 and transfers the tool 52 from the spindle 51 to the arm. When the tool 52 is removed from the spindle 51, the control unit 61 deletes the identification number of the tool 52 associated with the spindle 51 from the main memory unit 62 or the auxiliary memory unit 63.
[0071] Figure 9 is a conceptual diagram showing a table T1 that stores tool numbers and inertia for synchronous control. The auxiliary storage unit 53 stores the inertia of the spindle 51 for synchronous control, linked to the tool number of each tool. For example, as shown in Figure 9, the auxiliary storage unit 53 stores table T1. Table T1 has a "tool number" column and a "synchronous control inertia" column. The "tool number" column stores a number that identifies each tool 52. The "synchronous control inertia" column stores the inertia linked to the tool number. The inertia stored in the "synchronous control inertia" column is the inertia of the spindle 51 equipped with the tool 52 indicated by the tool number.
[0072] For example, table T1 stores inertia J1 associated with tool number 1 and inertia J3 associated with tool number 3. Inertia J1 is the inertia of the spindle 51 equipped with tool 52 indicated by tool number 1, and inertia J3 is the inertia of the spindle 51 equipped with tool 52 indicated by tool number 3. Note that "NULL" stored in the "Inertia for Synchronization Control" column indicates that the inertia is not stored. For example, tool 52 indicated by tool number 4 is subject to synchronous control, but the inertia is not stored associated with tool number 4. "―" stored in the "Inertia for Synchronization Control" column indicates that tool 52 indicated by tool number is not a tool 52 that can be controlled synchronously. For example, the tools indicated by tool numbers 2 and 5 are not subject to synchronous control, and the inertia is not stored associated with tool numbers 2 and 5. If the tools 52 indicated by tool numbers 2 and 5 are mounted on the spindle 51, the control unit 61 does not perform synchronous control.
[0073] Figure 10 is a flowchart illustrating an example of the machining process performed by the control unit 61. In Embodiment 2, the same processes as steps S1 to S19 and S21 to S24 of Embodiment 1 are performed, but a detailed explanation is omitted. Here, we will mainly explain the processes in steps S20A and S26 to S30.
[0074] After the control unit 61 starts synchronously accelerating the spindle motor 43 and the C-axis motor 3c (S14), it refers to the table T1 and determines whether the inertia corresponding to the tool number of the tool 52 mounted on the spindle 51 is already stored in the auxiliary storage unit 53 (S26).
[0075] If the control unit 61 determines that the inertia corresponding to the tool number of the tool 52 mounted on the spindle 51 is already stored in the auxiliary storage unit 53 (S26: YES), for example, if the tool number of the tool 52 mounted on the spindle 51 is 1 or 3, the control unit 61 determines whether the rotational speed of the spindle motor 43 has reached the command speed (S27). If the control unit 61 determines that the rotational speed of the spindle motor 43 has not reached the command speed (S27: NO), the control unit 61 returns to step S27.
[0076] If the control unit 61 determines that the rotational speed of the spindle motor 43 has reached the commanded speed (S27: YES), it determines the speed-proportional gain of the spindle 51 by corresponding it to the inertia corresponding to the tool number of the tool 52 attached to the spindle 51 (S28). The control unit 61 uses the determined speed-proportional gain as the speed-proportional gain used for rotational control of the spindle 51. The control unit 61 drives the spindle 51 with the determined speed-proportional gain (S29). The control unit 61 proceeds to step S5.
[0077] If the control unit 61 determines that the inertia corresponding to the tool number of the tool 52 mounted on the spindle 51 is not already stored in the auxiliary storage unit 53 (S26: NO), for example, if the tool number of the tool 52 mounted on the spindle 51 is 4, the control unit 61 executes the processes in steps S15 to S19 and stores the average of the total inertia Jt in the main storage unit 62 or auxiliary storage unit 63, linked to the tool number of the tool 52 mounted on the spindle 51 (S20A). For example, the average of the total inertia Jt is stored in the column for synchronous control inertia corresponding to tool number 4 in table T1. The control unit 61 executes the processes in steps S21 to S24 and proceeds to step S5. The process in step S20A executed by the control unit 61 constitutes the storage process. The control unit 61 executes the processes in steps S16, S17, S19, S20A, and S21 while the spindle motor 43 is accelerating.
[0078] In the machine tool 100 according to Embodiment 2, if the speed-proportional gain corresponding to the tool 52 mounted on the spindle 51 is stored, the stored speed-proportional gain is determined to be the speed-proportional gain of the spindle motor 43. If the speed-proportional gain corresponding to the tool 52 mounted on the spindle 51 is not stored, the speed-proportional gain is determined and stored based on the inertia.
[0079] (Embodiment 3) The present invention will be described below based on drawings showing a machine tool 100 according to Embodiment 3. In the configuration of the machine tool 100 according to Embodiment 3, components similar to those in Embodiments 1 or 2 are denoted by the same reference numerals, and their detailed descriptions are omitted.
[0080] Figure 11 is a conceptual diagram showing a table T2 that stores tool numbers and synchronous control gains. The auxiliary storage unit 53 stores the spindle 51 gain for synchronous control, linked to the tool number of each tool 52. For example, as shown in Figure 11, the auxiliary storage unit 53 stores table T2. Table T2 has a "Tool Number" column and a "Synchronization Control Gain" column. The "Tool Number" column stores a number that identifies each tool 52. The "Synchronization Control Gain" column stores the speed-proportional gain linked to the tool number. The speed-proportional gain stored in the "Synchronization Control Gain" column is the gain of the spindle 51 to which the tool 52 indicated by the tool number is mounted.
[0081] For example, table T2 stores the speed-proportional gain G1 associated with tool number 1 and the speed-proportional gain G3 associated with tool number 3. Speed-proportional gain G1 is the speed-proportional gain of the spindle 51 equipped with the tool indicated by tool number 1, and speed-proportional gain G3 is the speed-proportional gain of the spindle 51 equipped with the tool indicated by tool number 3. Note that "NULL" stored in the "Speed-proportional gain for synchronous control" column indicates that the speed-proportional gain is not stored. For example, tool 52 indicated by tool number 4 is subject to synchronous control, but the speed-proportional gain is not stored associated with tool number 4. "―" stored in the "Speed-proportional gain for synchronous control" column indicates that tool 52 indicated by tool number is not a tool 52 that can be controlled synchronously. For example, tools 52 indicated by tool numbers 2 and 5 are not subject to synchronous control, and the speed-proportional gain is not stored associated with tool numbers 2 and 5. If the tools 52 indicated by tool numbers 2 and 5 are mounted on the spindle 51, the control unit 61 does not perform synchronous control.
[0082] Figure 12 is a flowchart illustrating an example of the machining process performed by the control unit 61. In Embodiment 3, the same processes as steps S1 to S23 and S24 of Embodiment 1 are performed, but a detailed explanation is omitted. Here, we will mainly describe the processes in steps S23A, S31 and S32.
[0083] After the control unit 61 synchronously starts accelerating the spindle motor 43 and the C-axis motor 3c (S14), it refers to table T2 and determines whether the speed-proportional gain corresponding to the tool number of the tool 52 mounted on the spindle 51 is already stored in the auxiliary storage unit 53 (S31). The process in step S31 performed by the control unit 61 constitutes the second determination process.
[0084] If the control unit 61 determines that the speed-proportional gain corresponding to the tool number of the tool 52 mounted on the spindle 51 is already stored in the auxiliary storage unit 53 (S31: YES), for example, if the tool number of the tool 52 mounted on the spindle 51 is 1 or 3, the control unit 61 determines the speed-proportional gain corresponding to the tool number of the tool 52 mounted on the spindle 51, which is stored in the auxiliary storage unit 53, to be used for rotation control of the spindle 51 (S32). The control unit 61 drives the spindle 51 with the determined speed-proportional gain (S24) and proceeds to step S5. The processing in step S32 performed by the control unit 61 constitutes the second determination process.
[0085] If the control unit 61 determines that the speed-proportional gain corresponding to the tool number of the tool 52 mounted on the spindle 51 is not already stored in the auxiliary storage unit 53 (S31: NO), for example, if the tool number of the tool 52 mounted on the spindle 51 is 4, the control unit 61 executes the processes in steps S15 to S23 and stores the determined speed-proportional gain in association with the tool number of the tool 52 mounted on the spindle 51 (S23A). For example, the determined speed-proportional gain is stored in the column for synchronous control gain corresponding to tool number 4 in table T2. The control unit 61 drives the spindle 51 with the determined speed-proportional gain (S24) and proceeds to step S5. The process in step S23A executed by the control unit 61 constitutes the second storage process.
[0086] In the machine tool according to Embodiment 3, if the speed-proportional gain corresponding to the tool 52 mounted on the spindle 51 is stored, the stored speed-proportional gain is determined to be the speed-proportional gain of the spindle motor 43. If the speed-proportional gain corresponding to the tool 52 mounted on the spindle 51 is not stored, the speed-proportional gain is determined based on the inertia and stored in association with the tool 52 mounted on the spindle 51. The determined speed-proportional gain is the speed-proportional gain used when the spindle motor 43 rotates at a constant speed.
[0087] (Embodiment 4) The present invention will be described below based on drawings showing a machine tool 100 according to Embodiment 4. In the configuration of the machine tool 100 according to Embodiment 4, components similar to those in Embodiments 1 to 3 are denoted by the same reference numerals, and their detailed descriptions are omitted. In Embodiment 4, the auxiliary storage unit 53 stores a threshold Th for comparison with the estimated tool inertia Jm. If the estimated tool inertia Jm is greater than or equal to the threshold Th, there is a risk that the responsiveness of the spindle 51 will significantly decrease.
[0088] Figure 13 is a conceptual diagram showing table T3, which stores gain margin, phase margin, and synchronous control gain. The auxiliary storage unit 53 stores table T3. Table T3 stores gain margin, phase margin, and synchronous control gain. Table T3 stores gain margin, phase margin, and synchronous control gain for each of the three cases: "stable," "intermediate," and "high response."
[0089] "Stable" indicates the gain margin, phase margin, and synchronous control gain required to stably rotate the spindle 51. "High Response" indicates the gain margin, phase margin, and synchronous control gain required to achieve high responsiveness when the inertia of the spindle 51 increases. "Intermediate" indicates the gain margin, phase margin, and synchronous control gain used under normal conditions, and represents the gain margin, phase margin, and synchronous control gain in the initial state. The subsequent gain margins, phase margins, and synchronous control gains will be determined through experiments without a tool installed.
[0090] For example, in the "stable" case, the gain margin is 15 dB and the phase margin is 40 degrees. In the "stable" case, the synchronous control gain Gs is a velocity-proportional gain with a gain margin of approximately 15 dB and a phase margin of approximately 40 degrees.
[0091] For example, in the "high response" case, the gain margin is 5 dB and the phase margin is 20 degrees. In the "high response" case, the synchronous control gain GH is a velocity-proportional gain with a gain margin of approximately 5 dB and a phase margin of approximately 20 degrees.
[0092] For example, in the "intermediate" case, the gain margin is 10 dB and the phase margin is 30 degrees. In the "intermediate" case, the synchronous control gain Gm is a velocity-proportional gain with a gain margin of approximately 10 dB and a phase margin of approximately 30 degrees.
[0093] The operator can operate the reception unit 67 to select either "stable," "high response," or "intermediate." When performing synchronous control, the control unit 61 uses the selected speed-proportional gain of "stable," "high response," or "intermediate" to control the spindle motor 43.
[0094] Figure 14 is a flowchart illustrating an example of the machining process performed by the control unit 61. In Embodiment 4, the same processes as steps S1 to S22 of Embodiment 1 are performed, but a detailed explanation is omitted. Here, we will mainly explain the processes in steps S41 to S47.
[0095] The control unit 61 determines whether the estimated tool inertia Jm is greater than or equal to the threshold Th (S41). If it is determined that the estimated tool inertia Jm is greater than or equal to the threshold Th (S41: YES), the control unit 61 determines whether it has obtained a selection result of "stable," "high response," or "intermediate" (S42). For example, the control unit 61 displays "stable," "high response," and "intermediate" on the display screen and displays a message prompting the user to select one of them. If the operator operates the reception unit 67 and selects one of "stable," "high response," or "intermediate," the control unit 61 obtains a signal from the reception unit 67 indicating one of "stable," "high response," or "intermediate."
[0096] If it is determined that no selection result has been obtained (S42: NO), the control unit 61 returns to step S42. If it is determined that any selection result has been obtained (S42: YES), the control unit 61 determines whether "stable" has been selected (S43). If it is determined that "stable" has been selected (S43: YES), the control unit 61 determines the speed proportional gain Gs to be used for controlling the rotation of the spindle 51 (S44), and drives the spindle 51 with the determined speed proportional gain Gs (S45). The control unit 61 proceeds to step S5.
[0097] If it is determined that "Stable" has not been selected (S43: NO), the control unit 61 determines whether or not "High Response" has been selected (S46). If it is determined that "High Response" has been selected (S46: YES), the control unit 61 determines the speed proportional gain Gh to be used for controlling the rotation of the spindle 51 (S47), and drives the spindle 51 with the determined speed proportional gain Gh (S48). The control unit 61 proceeds to step S5.
[0098] If it is determined that "high response" has not been selected (S46: NO), that is, if it is determined that "intermediate" has been selected, the control unit 61 determines the speed proportional gain Gm to be the speed proportional gain used for controlling the rotation of the spindle 51 (S49), and drives the spindle 51 with the determined speed proportional gain Gm (S50). The control unit 61 proceeds to step S5. The processes in steps S44, S47, and S49 executed by the control unit 61 constitute the decision process.
[0099] In step S41, if it is determined that the estimated tool inertia Jm is not greater than or equal to the threshold Th (S41: NO), the control unit 61 uses the speed-proportional gain Gm to control the rotation of the spindle 51 (S50). The control unit 61 proceeds to step S5. If the estimated tool inertia Jm is not greater than or equal to the threshold Th, the decrease in the responsiveness of the spindle 51 is not significant, so the speed-proportional gain Gm, i.e., the initial value of the speed-proportional gain, is used.
[0100] In the machine tool 100 according to Embodiment 4, when synchronously controlling the spindle 51 on which the tool 52 is mounted and the holder 3d that holds the workpiece, one of the three speed-proportional gains Gs, Gm, and Gh is determined as the speed-proportional gain of the spindle motor 43. The control unit 61 uses one of the determined speed-proportional gains Gs, Gm, or Gh for the spindle motor 43.
[0101] For example, if "Intermediate" is selected in the first machining process and a synchronization error is detected, the user can select "High Response" in subsequent machining processes. For example, if "Intermediate" is selected in the first machining process and an abnormal noise is detected, the user can select "Stable" in subsequent machining processes.
[0102] Embodiment 4 estimates the tool inertia, but the speed-proportional gain may be determined without estimating the tool inertia. For example, steps S15 to S21 and S41 of the machining process may be omitted, and steps S42 to S50 may be executed after the processing in step S22. In this case, the control unit 61 determines one of the speed-proportional gains Gs, Gm, and Gh as the speed-proportional gain of the spindle motor 43 based solely on the selection result in step S42.
[0103] Furthermore, the machining process (see Figures 7 and 8) may be applied not only when the spindle motor 43 and the C-axis motor 3c are rotated synchronously, but also when the spindle motor 43 is rotated synchronously with the X-axis motor 23, Y-axis motor 13, Z-axis motor 33, or A-axis motor 3a.
[0104] The embodiments disclosed herein should be considered illustrative and not restrictive in all respects. The scope of the present invention is intended to include all modifications within the claims and equivalents thereof. The matters described in each embodiment can be combined with one another. Furthermore, the independent and dependent claims described in the claims can be combined with one another in any combination, regardless of the form of reference. In addition, the claims use a multi-claim format in which claims refer to two or more other claims (multi-claim format), but are not limited thereto. They may also be described using a multi-claim format in which at least one multi-claim refers to another multi-claim (multi-multi-claim format). [Explanation of symbols]
[0105] 3. Workpiece holding section 3c C-axis motor 3D holding base (rotating axis) 43 Main shaft motor 51 Main shaft (rotation axis) 60 Control device 61 Control Unit 62 Main memory 63 Auxiliary storage 64 Disturbance Observer 100 Machine tools
Claims
1. In a control device for controlling the rotating shaft of a machine tool, An estimation process for estimating the inertia of the rotation axis, Based on the inertia estimated in the estimation process, a decision process is performed to determine the gain of the drive unit that drives the rotating shaft, A drive process that drives the rotating shaft that has reached the target speed with the gain determined in the aforementioned determination process, Execute Control device.
2. A determination process for determining whether or not the rotating shaft decelerates, If, after the execution of the determination process, the judgment process determines that the rotating shaft is decelerating, a modification process is performed to change the gain of the drive unit back to the gain before the execution of the determination process. Execute The control device according to claim 1.
3. The aforementioned rotating shaft is fitted with a tool, A storage process is executed in which the inertia estimated in the estimation process or the gain determined in the determination process is stored in the storage unit, linked to the tool attached to the rotating shaft. The control device according to claim 1 or 2.
4. A second determination process is performed to determine whether or not the gain corresponding to the tool attached to the rotating shaft is stored in the storage unit. If it is determined that the gain corresponding to the tool attached to the rotating shaft is stored in the storage unit, a second determination process is executed to determine the gain stored in the storage unit as the gain of the drive unit. If it is determined that the gain corresponding to the tool attached to the rotating shaft is not stored in the memory unit, the estimation process and the determination process are executed. A second storage process is executed, which stores the gain of the drive unit determined in the above determination process in the storage unit, linked to the tool attached to the rotating shaft. The control device according to claim 3.
5. The aforementioned rotating shaft is fitted with a tool, A third determination process is executed to determine whether or not to synchronously control the aforementioned rotating shaft and the second rotating shaft that holds the workpiece. If it is determined that the aforementioned rotation axis and the second rotation axis should be controlled synchronously, the estimation process and the determination process are executed. The control device according to claim 1 or 2.
6. The drive unit is equipped with a second storage unit that stores multiple gains, If it is determined that the first rotation axis and the second rotation axis should be controlled synchronously, the determination process determines one of the gains stored in the second storage unit to be the gain of the drive unit. The control device according to claim 5.
7. In a machine tool comprising a rotating shaft and a control device for controlling the rotating shaft, The control device is An estimation process for estimating the inertia of the rotation axis, Based on the inertia estimated in the estimation process, a decision process is performed to determine the gain of the drive unit that drives the rotating shaft, A drive process that drives the rotating shaft that has reached the target speed with the gain determined in the aforementioned determination process, Execute Machine tools.
8. In a control method for controlling the rotating shaft of a machine tool, An estimation process for estimating the inertia of the rotation axis, Based on the inertia estimated in the estimation process, a decision process is performed to determine the gain of the drive unit that drives the rotating shaft, A drive process that drives the rotating shaft that has reached the target speed with the gain determined in the aforementioned determination process, Execute Control method.
9. In a computer program executable in a control device for controlling the rotating axis of a machine tool, The control device, An estimation process for estimating the inertia of the rotation axis, Based on the inertia estimated in the estimation process, a decision process is performed to determine the gain of the drive unit that drives the rotating shaft, A drive process that drives the rotating shaft that has reached the target speed with the gain determined in the aforementioned determination process, A computer program that executes an action.