Frequency detection device, frequency detection method, and computer program
By setting acquisition unit, storage unit, analysis unit, candidate acquisition unit and decision unit in machine tools, these units are used to analyze the position information of the rotary driving part and the mobile driving part, solving the problem that chat frequency detection depends on the operator's hearing in the prior art, and improving the detection accuracy.
Patent Information
- Application Number
- JP2022031133
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-01
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2042-03-01
AI Technical Summary
In the prior art, the chat frequency generated by the rotating part of the detection machine tool depends on the operator's hearing, resulting in a decrease in detection accuracy.
By installing acquisition unit, storage unit, analysis unit, candidate acquisition unit and decision unit in the machine tool, these units are used to obtain and analyze the position information of the rotary driving part and the mobile driving part to determine the chat frequency.
This method can be independent of the operator's hearing, improve the accuracy of chat frequency detection, and reduce misjudgment.
Smart Images

Figure 0007669955000001 
Figure 0007669955000002 
Figure 0007669955000003
Abstract
Description
[Technical field]
[0001] The present technology relates to a frequency detection device, a frequency detection method, and a computer program for detecting chatter frequencies occurring in a rotating part of a machine tool. [Background technology]
[0002] When cutting a workpiece with a tool, continuous vibration, i.e. chatter vibration, may occur between the tool and the workpiece. Chatter vibration may cause marks, i.e. scratches, on the workpiece and may also cause damage to the tool or machine tool. By detecting the frequency of the chatter vibration (chatter frequency), it is possible to determine a stable rotation speed that can suppress the occurrence of chatter vibration based on the chatter frequency.
[0003] Patent Document 1 discloses a vibration detection device that collects sound with a microphone installed on a machine tool, performs FFT analysis on the sound pressure, and obtains the frequency at which the sound pressure is maximum. A sound generator in the vibration detection device outputs sound of the obtained frequency. An operator compares the sound output from the generator with the sound from the machine tool, and if they match, sets the obtained frequency as the chatter frequency. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 5637840 Summary of the Invention [Problem to be solved by the invention]
[0005] However, since the detection of chatter frequencies in the vibration detection device relies on the hearing of the operator, there is a risk of the detection accuracy being reduced.
[0006] The present disclosure has been made in consideration of the above circumstances, and has an object to provide a frequency detection device, a frequency detection method, and a computer program that can suppress a decrease in the accuracy of detecting chatter frequencies. [Means for solving the problem]
[0007] A frequency detection device according to one embodiment of the present disclosure detects a chatter frequency generated in a rotating unit of a machine tool including a rotating unit that rotates a tool or a workpiece, a rotational drive unit that drives the rotating unit, a moving unit that moves the tool or workpiece to a desired position, and a moving drive unit that drives the moving unit, and the frequency detection device includes an acquisition unit that acquires position information of the rotational drive unit and the moving drive unit while the workpiece is being machined by the tool, a memory unit that stores in chronological order the position information of the rotational drive unit and the moving drive unit acquired by the acquisition unit, an analysis unit that performs frequency analysis on the position information of the rotational drive unit and the moving drive unit stored in the memory unit, a candidate acquisition unit that acquires a plurality of first chatter frequency candidates from the frequencies analyzed by the analysis unit, and a determination unit that determines a chatter frequency based on the plurality of first chatter frequency candidates acquired by the candidate acquisition unit.
[0008] In the present disclosure, a frequency analysis is performed based on position information of the rotation drive unit and the movement drive unit, a plurality of first chatter frequency candidates are obtained from the analyzed frequency, and the chatter frequency is determined based on the plurality of first chatter frequency candidates obtained.
[0009] A frequency detection device according to one embodiment of the present disclosure comprises a drive determination unit that determines whether the mobile drive unit has been driven based on a movement command stored in the memory unit, and a second acquisition unit that, when the drive determination unit determines that the mobile drive unit has been driven based on the movement command, acquires position information of the mobile drive unit excluding movement command position information, which is position information contained in the movement command, from the position information of the mobile drive unit, and the analysis unit performs frequency analysis on the position information of the mobile drive unit acquired by the second acquisition unit.
[0010] The movement command position information is not position information caused by vibration. Therefore, in the present disclosure, a frequency analysis is performed on the position information obtained by excluding the movement command position information from the position information of the movement drive unit, thereby improving the accuracy of detecting the chatter frequency.
[0011] In the frequency detection device according to an embodiment of the present disclosure, the second acquisition unit deletes movement command position information, which is position information included in the movement command, from the position information of the movement drive unit.
[0012] The movement command position information is not position information caused by vibration. Therefore, in the present disclosure, the movement command position information is deleted from the position information, and frequency analysis is performed on the position information after the deletion, thereby improving the accuracy of detecting the chatter frequency.
[0013] A frequency detection device according to one embodiment of the present disclosure includes an amplitude value acquisition unit that acquires amplitude values of a plurality of frequencies analyzed by the analysis unit, a weighting unit that performs weighting on each amplitude value acquired by the amplitude value acquisition unit, and a calculation unit that performs a predetermined calculation based on each amplitude value weighted by the weighting unit, and the determination unit determines one of the first chatter frequency candidates as a chatter frequency based on a calculation result of the calculation unit.
[0014] In the present disclosure, amplitude values of a plurality of frequencies are acquired, and weighting is performed on each of the acquired amplitude values. A predetermined calculation is performed based on each weighted amplitude value, and one first chatter frequency candidate is determined as the chatter frequency based on the calculation result. For example, by multiplying each amplitude value by a weight determined by an experiment, it is possible to improve the accuracy of detecting the chatter frequency.
[0015] In a frequency detection device according to an embodiment of the present disclosure, the determiner includes a machining condition acquirer that acquires machining conditions including a radial depth of cut, an axial depth of cut, a spindle rotation speed, and a feed speed, a candidate acquirer that uses the machining conditions and a second chatter frequency candidate as teacher data and inputs the acquired machining conditions into a learning model that outputs the second chatter frequency candidate when the machining conditions are input, to acquire a second chatter frequency candidate, and a first determination unit that determines whether a first reference value based on the second chatter frequency candidate acquired by the candidate acquirer and the first chatter frequency candidate acquired by the candidate acquirer is equal to or less than a first threshold value, and if the first determination unit determines that the first reference value is equal to or less than the first threshold value, the determiner determines the first chatter frequency candidate as a chatter frequency, and if the first determination unit determines that the first reference value is not equal to or less than the first threshold value, the determiner determines the second chatter frequency candidate acquired by the candidate acquirer as the chatter frequency.
[0016] In the present disclosure, a machining condition is input to a learning model to obtain a second chatter frequency candidate. If a first reference value is equal to or less than a first threshold, the first chatter frequency candidate is determined as the chatter frequency. If it is determined that the first reference value is not equal to or less than the first threshold, the second chatter frequency candidate is determined as the chatter frequency.
[0017] A frequency detection device according to an embodiment of the present disclosure includes a reference value calculation unit that calculates a second reference value based on at least one of the first chatter frequency candidates corresponding to position information of the rotation drive unit or the movement drive unit and a second chatter frequency candidate acquired by the candidate acquisition unit; a second judgment unit that judges whether the second reference value calculated by the reference value calculation unit is equal to or less than a second threshold value; an addition unit that adds a value to a predetermined variable when the second judgment unit judges that the second reference value is equal to or less than the second threshold value; a calculation completion judgment unit that judges whether calculation of the second reference value based on all the first chatter frequency candidates and the second chatter frequency candidates has been completed; and a reliability calculation unit that calculates a reliability of the chatter frequency determined by the determination unit based on the value of the variable when the calculation completion judgment unit judges that the calculation has been completed; and when the calculation completion judgment unit determines that the calculation has not been completed, the reference value calculation unit executes calculation of the second reference value based on the first chatter frequency candidate and the second chatter frequency candidate for which calculation of the second reference value has not been executed.
[0018] In the present disclosure, the reliability of the determined chatter frequency is provided to the operator, that is, information for determining whether or not to adopt the determined chatter frequency is provided to the operator.
[0019] A frequency detection method according to one embodiment of the present disclosure is a frequency detection method for detecting a chatter frequency occurring in a rotating part of a machine tool that includes a rotating part that rotates a tool or a workpiece, a rotational drive part that drives the rotating part, a moving part that moves the tool or workpiece to a desired position, and a moving drive part that drives the moving part, the method comprising the steps of: acquiring position information of the rotational drive part and the moving drive part while the workpiece is being machined by the tool; storing the acquired position information of the rotational drive part and the moving drive part in chronological order; performing frequency analysis on the stored position information of the rotational drive part and the moving drive part; acquiring a plurality of first chatter frequency candidates from the analyzed frequency; and determining one of the acquired first chatter frequency candidates as the chatter frequency based on predetermined conditions.
[0020] In the present disclosure, a frequency analysis is performed based on position information of the rotation drive unit and the movement drive unit, a plurality of first chatter frequency candidates are obtained from the analyzed frequency, and the chatter frequency is determined based on the plurality of first chatter frequency candidates obtained.
[0021] A computer program according to one embodiment of the present disclosure is a computer program executable by a frequency detection device that detects a chatter frequency generated in a rotating unit of a machine tool that includes a rotating unit that rotates a tool or a workpiece, a rotational drive unit that drives the rotating unit, a moving unit that moves the tool or workpiece to a desired position, and a moving drive unit that drives the moving unit, the computer program causing the frequency detection device to execute a process of acquiring position information of the rotational drive unit and the moving drive unit during machining of the workpiece by the tool, storing the acquired position information of the rotational drive unit and the moving drive unit in chronological order, performing a frequency analysis on the stored position information of the rotational drive unit and the moving drive unit, acquiring a plurality of first chatter frequency candidates from the analyzed frequencies, and determining one of the acquired first chatter frequency candidates as a chatter frequency based on predetermined conditions.
[0022] In the present disclosure, a frequency analysis is performed based on position information of the rotation drive unit and the movement drive unit, a plurality of first chatter frequency candidates are obtained from the analyzed frequency, and the chatter frequency is determined based on the plurality of first chatter frequency candidates obtained. Effect of the Invention
[0023] In the frequency detection device, the frequency detection method, and the computer program according to the embodiment of the present disclosure, a frequency analysis is performed based on position information of a rotation drive unit and a movement drive unit, a plurality of first chatter frequency candidates are obtained from the analyzed frequency, and a chatter frequency is determined based on the plurality of first chatter frequency candidates obtained. Since the frequency detection device, the frequency detection method, and the computer program according to the embodiment of the present disclosure do not depend on the hearing of an operator, a decrease in the detection accuracy of the chatter frequency can be suppressed. [Brief description of the drawings]
[0024] [Figure 1]1 is a simplified perspective view of a machine tool according to a first embodiment. [Diagram 2] FIG. [Diagram 3] FIG. 2 is a block diagram of a control device, motors, etc. [Figure 4] 10 is a flowchart illustrating a location information acquisition process performed by a control device. [Diagram 5] FIG. 4 is an explanatory diagram for explaining a radial cut amount and an axial cut amount. [Figure 6] FIG. [Figure 7] 11 is a flowchart illustrating a table creation process performed by a control device. [Figure 8] 1 is a graph showing the relationship between the amplitude and frequency of vibration in the X-axis direction. [Figure 9] 4 is a conceptual diagram illustrating a first chatter frequency candidate table T1 and an amplitude value table T2 of the first chatter frequency candidates. FIG. [Figure 10] 5 is a flowchart illustrating a chatter frequency determination process performed by a control device. [Figure 11] 11 is a conceptual diagram illustrating a table T2a in which amplitude values of first chatter frequency candidates are normalized and a table T2b in which the normalized amplitude values are weighted. FIG. [Figure 12] FIG. 13 is a conceptual diagram illustrating a table T3 created by an amplitude value summation process. [Figure 13] FIG. 11 is a block diagram of a control device, an information processing device, motors, etc. according to a second embodiment. [Figure 14] FIG. 1 is a schematic diagram illustrating an example of a learning model. [Figure 15] 10 is a flowchart illustrating a chatter frequency determination process performed by an information processing device. [Figure 16] 11 is a flowchart illustrating a reliability calculation process performed by the information processing device. [Figure 17] FIG. 13 is a schematic diagram showing an example of a learning model with a partially modified configuration. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0025] (Embodiment 1) The present invention will be described below based on the drawings showing a machine tool according to a first embodiment. In the following description, up, down, front, back, left and right in the drawings will be used. FIG. 1 is a schematic perspective view of the machine tool, and FIG. 2 is a schematic right side view of the machine tool. The machine tool includes a base 1, a Y-axis direction moving device 2, an X-axis direction moving device 3, a vertical column 5, a Z-axis direction moving device 6, a spindle head 10, a tool changer 7, a control device 80, and the like. The X-axis direction corresponds to the left-right direction, and the Y-axis direction corresponds to the front-back direction. The base 1 is fixed onto the floor surface. The base 1 supports the Y-axis direction moving device 2, the X-axis direction moving device 3, and the vertical column 5. The X-axis direction moving device 3 is disposed on the Y-axis direction moving device 2. A work table 4 is provided on the X-axis direction moving device 3. The work table 4 holds a work.
[0026] The Y-axis direction moving device 2 is equipped with a Y-direction screw shaft extending in the front-rear direction and a nut (not shown). The Y-direction screw shaft is rotated by a Y-axis motor 23 (see FIG. 3), and the nut moves the work table 4 in the front-rear direction together with the X-axis direction moving device 3. The X-axis direction moving device 3 is equipped with an X-direction screw shaft extending in the left-right direction and a nut (not shown). The X-direction screw shaft is rotated by an X-axis motor 33 (see FIG. 3), and the nut moves the work table 4 in the left-right direction.
[0027] A vertical pillar 5 is disposed behind the Y-axis direction moving device 2. A Z-axis direction moving device 6 is provided in front of the vertical pillar 5. The Z-axis direction moving device 6 is equipped with a Z-direction screw shaft (not shown) and a nut that extend in the vertical direction. The Z-direction screw shaft is rotated by a Z-axis motor 63 (see FIG. 3), and the nut moves the spindle head 10 in the vertical direction. The X-axis direction moving device 3, the Y-axis direction moving device 2, and the Z-axis direction moving device 6 constitute a moving section, and the X-axis motor 33, the Y-axis motor 23, and the Z-axis motor 63 constitute a moving drive section.
[0028] The spindle head 10 supports a spindle 19 (see Figure 2). The spindle 19 is rotated by a spindle motor 13. One end of a tool holder 17 is attached to the lower end of the spindle 19. The spindle 19 constitutes a rotating part, and the spindle motor 13 constitutes a rotation drive part. A connecting plate 9 protrudes forward from the upright column 5. A tool changer 7 is provided at the tip of the connecting plate 9. The tool changer 7 is located on the front side of the spindle head 10.
[0029] The tool changer 7 includes a disk-shaped magazine 7a. The outer periphery of the magazine 7a houses a plurality of tool holding arms. The tool holding arms detachably hold a tool holder 17 and a tool 18. The other end of the tool holder 17 holds the tool 18.
[0030] The magazine 7a is rotatable around its axis. The magazine 7a rotates to position a predetermined tool holder 17 and tool 18 at the tool change position. When the spindle 19 rises to a tool change origin position (not shown), the tool changer 7 transfers the tool holder 17 and tool 18 from the spindle 19 to the magazine 7a, and when the spindle 19 descends from the tool change origin position, the tool changer 7 transfers the tool holder 17 and tool 18 from the magazine 7a to the spindle 19, thereby replacing the tool holder 17 and tool 18 attached to the spindle 19 with the next tool holder 17 and tool 18 at the tool change position. The tool change position is the lowest end position of the magazine 7a, and the tool change origin position is a position where the magazine 7a does not collide with the spindle 19 even when it rotates.
[0031] A control device 80 is provided at the rear of the upright pillar 5. The Y-axis direction moving device 2, the X-axis direction moving device 3, and the Z-axis direction moving device 6 are driven by a Y-axis motor 23, an X-axis motor 33, and a Z-axis motor 63 (see FIG. 3).
[0032] FIG. 3 is a block diagram of the control device 80, the motors 13, 23, 33, 63, etc. The control device 80 constitutes a frequency detection device. The control device 80 includes a CPU 81, a RAM 82, a storage unit 83, an input / output interface 84, etc. The CPU 80 is an example of a control unit. A control unit such as an MPU or an FPGA may be used instead of the CPU 80. The RAM 82 stores various information, for example, a first chatter frequency candidate and a second chatter frequency candidate, etc. The storage unit 83 is rewritable and includes, for example, a nonvolatile memory or a hard disk. The nonvolatile memory is an EPROM, an EEPROM, a flash memory, etc. The storage unit 83 stores a machining program, a frequency detection program, a first threshold value, etc. The storage unit 83 may store the first chatter frequency candidate and the second chatter frequency candidate. The CPU 81 reads each program into the RAM 82 and executes it. The machining program and the frequency detection program may be installed in the storage unit 83 from a recording medium 70, such as an optical disk or a USB memory, or may be downloaded to the storage unit 83 from a server (not shown) communicatively connected to the control device 80. The frequency detection program is a program that executes a position information acquisition process, a table creation process, and a chatter frequency determination process, which will be described later. The machining program is made up of a plurality of blocks, and each block has commands composed of a G code, an M code, or the like.
[0033] The machine tool includes an operation unit 51 and a display unit 52. The operation unit 51 has a keyboard, switches, buttons, a touch panel, etc., and accepts operations by an operator. The display unit 52 has a display screen and displays information. A touch panel may serve as both the operation unit 51 and the display unit 52. A signal from the operation unit 51 is input to the CPU 81 via, for example, an input / output interface 84. The CPU 81 outputs a display signal to the display unit 82 via, for example, the input / output interface 84.
[0034] The control device 80 includes a drive circuit 31, a servo amplifier 32, and a differentiator 35 corresponding to the X-axis motor 33. The X-axis motor 33 includes an encoder 34. The drive circuit 31 outputs a command indicating the amount of current to the servo amplifier 32 based on a command from the CPU 81. The servo amplifier 32 receives the command and outputs a drive current to the X-axis motor 33.
[0035] The encoder 34 outputs a position feedback signal to the drive circuit 31. The drive circuit 31 executes position feedback control based on the position feedback signal. The position feedback signal indicates position information. The position information indicates position information in the left-right direction, i.e., in the X-axis direction.
[0036] The encoder 34 outputs a position feedback signal to the differentiator 35, and the differentiator 35 converts the position feedback signal into a velocity feedback signal and outputs it to the drive circuit 31. The drive circuit 31 executes velocity feedback control based on the velocity feedback signal.
[0037] A current detector 36 detects the value of the drive current output by the servo amplifier 32. The current detector 36 feeds back the value of the drive current to the drive circuit 31. The drive circuit 31 executes current control based on the value of the drive current.
[0038] The control device 80 includes a drive circuit 21, servo amplifier 22, differentiator 25, and current detector 26 corresponding to the Y-axis motor 23, and the Y-axis motor 23 includes an encoder 24. The drive circuit 21, servo amplifier 22, differentiator 25, Y-axis motor 23, encoder 24, and current detector 26 are similar to those for the X-axis, and therefore a description thereof will be omitted. Note that the position information input from the encoder 24 to the drive circuit 21 indicates position information in the front-rear direction, i.e., in the Y-axis direction.
[0039] The control device 80 includes a drive circuit 61, servo amplifier 62, current detector 66, and differentiator 65 corresponding to the Z-axis motor 63. The Z-axis motor 63 includes an encoder 64. The drive circuit 61, servo amplifier 62, differentiator 65, Z-axis motor 63, encoder 64, and current detector 66 are similar to those for the X-axis, and therefore their description will be omitted. Note that the position information input from the encoder 64 to the drive circuit 61 indicates position information in the up and down direction, i.e., in the Z-axis direction.
[0040] The control device 80 is equipped with a drive circuit 11, servo amplifier 12, current detector 16, and differentiator 15 corresponding to the spindle motor 13. The spindle motor 13 is equipped with an encoder 14. The drive circuit 11, servo amplifier 12, differentiator 15, spindle motor 13, encoder 14, and current detector 16 are similar to those for the X-axis, and their description will be omitted. Note that the position information input from the encoder 14 to the drive circuit 11 indicates position information in the axial direction of the spindle 19.
[0041] FIG. 4 is a flow chart explaining the position information acquisition process by the control device 80, FIG. 5 is an explanatory diagram explaining the radial cutting amount and the axial cutting amount, and FIG. 6 is a simplified enlarged front view of the tool holder 17 and the tool 18. The control device 80 executes the position information acquisition process based on a frequency detection program. The CPU 81 determines whether or not an axis for which position information is to be acquired has been set (S1). The operator operates the operation unit 51 to set the axis for which position information is to be acquired, that is, at least one of the X-axis, Y-axis, Z-axis, or spindle. The memory unit 83 stores the set X-axis, Y-axis, Z-axis, or spindle.
[0042] If no axis is set for obtaining position information (S1: NO), the CPU 81 returns the process to step S1. If an axis is set for obtaining position information (S1: YES), the CPU 81 determines whether or not machining conditions are set (S2). Examples of machining conditions include the radial cutting amount, the axial cutting amount, the spindle rotation speed, and the feed rate described later.
[0043] 5, the radial cutting depth is the distance D1 between the surface of the workpiece W before cutting and the surface of the workpiece W after cutting in the radial direction of the spindle 19. The axial cutting depth is the distance D2 between the surface of the workpiece W before cutting and the surface of the workpiece W after cutting in the axial direction of the spindle 19. The spindle rotation speed is the rotation speed around the axis of the spindle 19. The feed rate is the movement speed of the spindle 19 or the workpiece table 4 in the X-axis, Y-axis, or Z-axis direction.
[0044] The machining conditions include, for example, the tool length, protruding length, number of teeth, and tool diameter. As shown in Fig. 6, the tool length is the axial dimension K1 of the tool holder 17 and the tool 18. The protruding length is the dimension K2 of the tool 18 protruding in the axial direction from the tool holder 17. The number of teeth is the number of teeth formed on the tool 18. The tool diameter is the diameter K3 of the tool 18.
[0045] If no machining conditions have been set (S2: NO), the CPU 81 returns the process to step S2. If machining conditions have been set (S2: YES), the CPU 81 determines whether or not a machining program has been set (S3). The operator operates the operation unit 51 to set the necessary parameters and set the machining program. If no machining program has been set (S3: NO), the CPU 81 returns the process to step S3.
[0046] If a machining program has been set (S3: YES), the CPU 81 starts machining (S4). The CPU 81 determines whether or not to start acquiring position information (S5). The CPU 81 sequentially reads and executes multiple commands constituting the machining program. If the CPU 81 reads a command to start acquiring position information, it starts acquiring position information. The position information is acquired from each of the drive circuits 11, 21, 31, and 61. The command to start acquiring position information is defined, for example, by an M code.
[0047] When starting to acquire position information (S5: YES), i.e. when a command to start acquiring position information is read, the CPU 81 acquires position information of the axis set in step S1 (S6) and stores it in the memory unit 83 (S7). The CPU 81 determines whether to end the acquisition of position information (S8). When the CPU 81 reads a command to end the acquisition of position information, it ends the acquisition of position information. The command to end the acquisition of position information is defined, for example, by an M code. After executing the command to acquire the information, the position information is acquired from each drive circuit 11, 21, 31, 61 at a predetermined sampling period and stored in chronological order in the memory unit 83.
[0048] If the acquisition of position information is not to be ended (S8: NO), i.e., if a command to end the acquisition of position information has not been read, the CPU 81 returns the process to step S6. Note that in step S7, the memory unit 83 chronologically stores the newly acquired position information in step S6. If the acquisition of position information is to be ended (S8: YES), i.e., if a command to end the acquisition of position information has been read, the CPU 81 determines whether or not to end processing (S9). If the CPU 81 has read a command to end processing, it ends processing. The command to end processing is, for example, M30 of the M code.
[0049] If the processing is not to be ended (S9: NO), that is, if a command to end the processing has not been read, the CPU 81 returns the process to step S5. If the processing is to be ended (S9: YES), the CPU 81 ends the position information acquisition process. If the acquisition of position information is not to be started in step S5 (S5: NO), the CPU 81 proceeds to step S9.
[0050] After the position information acquisition process is completed, the CPU 81 executes a table creation process based on the frequency detection program. Fig. 7 is a flowchart explaining the table creation process by the control device 80, and Fig. 8 is a graph showing the relationship between the amplitude of vibration in the X-axis direction and the frequency. In Fig. 8, F indicates the frequency, and Ax indicates the amplitude of vibration in the X-axis direction. Fmax indicates the upper limit frequency, and Fmin indicates the lower limit frequency. Pa indicates a peak below the lower limit frequency, and Pb indicates a peak corresponding to the cutting edge passing period. The peak corresponding to the cutting edge passing period is a peak corresponding to the period in which the tool blade contacts the workpiece. Pc indicates a peak corresponding to the spindle rotation speed. The peak corresponding to the spindle rotation speed is a peak corresponding to the spindle rotation speed.
[0051] The CPU 81 judges whether the acquired position information includes position information in the X-axis direction (S21). If the acquired position information includes position information in the X-axis direction (S21: YES), the CPU 81 refers to the machining program and judges whether the X-axis motor 33 was driven during machining by a movement command of the machining program (S22). If the X-axis motor 33 was driven during machining by the movement command (S22: YES), the CPU 81 deletes the position information of the X-axis motor 33 included in the movement command, i.e., the movement command position information, from the acquired position information in the X-axis direction (S23). For example, if the X-axis motor 33 is driven by a movement command to move from point AX to point BX in the X-axis direction, the CPU 81 deletes the position information between point AX and point BX. In S22, it is judged whether the movement command is a cutting movement command such as G01, G02, etc.
[0052] If the position information acquired in step S21 does not include position information in the X-axis direction (S21: NO), if the X-axis motor 33 is not driven during machining by the command of the machining program in step S22 (S22: NO), or after execution of step S23, the CPU 81 determines whether or not the acquired position information includes position information in the Y-axis direction (S24). If the acquired position information includes position information in the Y-axis direction (S24: YES), the CPU 81 refers to the machining program and determines whether or not the Y-axis motor 23 was driven during machining by a movement command of the machining program (S25). If the Y-axis motor 23 was driven during machining by the movement command (S25: YES), the CPU 81 deletes the position information of the Y-axis motor 23 included in the movement command, i.e., the movement command position information, from the acquired position information in the Y-axis direction (S26). For example, if the Y-axis motor 23 is driven by a movement command to move from the AY point to the BY point in the Y-axis direction, the CPU 81 deletes the position information between the AY point and the BY point.
[0053] If the position information acquired in step S24 does not include position information in the Y-axis direction (S24: NO), if the Y-axis motor 23 is not driven during machining by the movement command of the machining program in step S25 (S25: NO), or after execution of step S26, the CPU 81 determines whether or not the acquired position information includes position information in the Z-axis direction (S27). If the acquired position information includes position information in the Z-axis direction (S27: YES), the CPU 81 refers to the machining program and determines whether or not the Z-axis motor 63 was driven during machining by the movement command of the machining program (S28). If the Z-axis motor 63 was driven during machining by the movement command (S28: YES), the CPU 81 deletes the position information of the Z-axis motor 63 included in the movement command, i.e., the movement command position information, from the acquired position information in the Z-axis direction (S29). For example, if the Z-axis motor 63 is driven by a movement command to move from point AZ to point BZ in the Z-axis direction, the CPU 81 deletes the position information between point AZ and point BZ.
[0054] If the position information acquired in step S27 does not include position information in the Z-axis direction (S27: NO), if the Z-axis motor 63 is not driven during machining by the movement command of the machining program in step S28 (S28: NO), or after execution of step S29, the CPU 81 acquires position information for each axis for a period corresponding to the cutting edge passing period (S30).
[0055] The cutting edge passing period is calculated by multiplying the time it takes for the spindle 19 to rotate once by the number of teeth of the tool 18. The period corresponding to the cutting edge passing period is calculated as follows. For example, if the rotation speed of the spindle 19 during machining is 5000 rpm and the number of teeth of the tool 18 is four, the cutting edge passing period is 4*60 / 5000=0.048 sec.
[0056] The CPU 81 divides the time from the start of position information acquisition to the end of position information acquisition (see S5 and S8 in FIG. 4), i.e., the acquired time, by the cutting blade passing period. If the acquired time is 0.2 sec, 0.2 / 0.048 ≒ 4.167 is calculated. The decimal portion is discarded to obtain the integer value 4. The CPU 81 multiplies the acquired integer value by the cutting blade passing period, and the multiplication result is the period corresponding to the cutting blade passing period. For example, 4*0.048=0.192 sec. In other words, the CPU 81 acquires position information for the period obtained by deleting 0.008 sec from the acquired time of 0.2 sec.
[0057] In this way, by acquiring position information for a period corresponding to the cutting edge passing cycle, when a frequency analysis, which will be described later, is performed, frequencies (noise) that are not included in the cutting edge passing cycle are less likely to appear in the analysis results.
[0058] After executing step S30, the CPU 81 applies a window function to the position information of each axis (S31). An example of the window function is a Hanning window. It is preferable that the window function has a narrow main lobe width and a small side lobe value. The CPU 81 performs frequency analysis on the position information of each axis (S32). The CPU 81 performs, for example, FFT (Fast Fourier Transform) analysis on the position information. As a result of the frequency analysis, for example, the CPU 81 acquires information showing the relationship between the amplitude value and the frequency as shown in the graph of FIG. 8. FIG. 8 is a graph showing the relationship between the amplitude value and the frequency of the vibration in the X-axis direction, but the CPU 81 similarly acquires information showing the relationship between the amplitude value and the frequency of the vibration in the Y-axis direction, information showing the relationship between the amplitude value and the frequency of the vibration in the Z-axis direction, and information showing the relationship between the amplitude value and the frequency of the vibration around the axis of the main axis 19. The following description will be based on FIG. 8, but the same applies to the Y-axis direction, the Z-axis direction, and the main axis 19.
[0059] The CPU 81 acquires the frequency peak for each axis (S33). The CPU 81 excludes the peaks Pa equal to or lower than the lower limit frequency Fmin from the acquired peaks for each axis (S34). The lower limit frequency Fmin is the rotation frequency of the spindle 19. When the rotation speed of the spindle 19 is 5000 rpm, the lower limit frequency Fmin is 5000 / 60=83.3 Hz. Frequencies equal to or lower than the lower limit frequency Fmin are likely to be noise.
[0060] The CPU 81 excludes peaks Pb that are equal to or higher than the upper limit frequency Fmax from the acquired peaks for each axis (S35). The upper limit frequency Fmax is a frequency that is equal to or lower than half the sampling frequency of the position information. The upper limit frequency Fmax is set to prevent aliasing from occurring.
[0061] The CPU 81 excludes a frequency component corresponding to the cutting edge passing period, for example, peak Pb, from the acquired peaks for each axis (S36). Peak Pb is a peak that occurs when the blade of the tool 18 cuts the workpiece W, and is excluded from the first chatter frequency candidates. For example, when the number of blades is 4 and the rotation frequency of the spindle 19 is 83.3 Hz, peak Pb is 4*83.3=333.3 Hz. Note that the frequency components corresponding to the cutting edge passing period also include frequency components that are integer multiples of peak Pb. That is, the CPU 81 may also exclude frequency components that are integer multiples of peak Pb.
[0062] The CPU 81 excludes, for each axis, a frequency component corresponding to the spindle rotation frequency, for example, a peak Pc three times the spindle rotation frequency, from the acquired peaks (S37). When the rotation frequency of the spindle 19 is 83.3 Hz, the peak Pc is approximately 250 Hz. Note that the frequency component corresponding to the spindle rotation frequency may also include a peak five times the spindle rotation frequency. It has been experimentally found that the frequency component corresponding to the spindle rotation frequency may be excluded from the first chatter frequency candidates.
[0063] The CPU 81 creates a first chatter frequency candidate table T1 and an amplitude value table T2 of the first chatter frequency candidate for each axis (S38), and ends the table creation process. In the table creation process, the movement command position information is deleted (S23, S26, S29). However, instead of this, in the position information acquisition process (see FIG. 4), before acquiring the position information (see S6), it may be determined whether the current command is a movement command, and if it is not a movement command, the position information may be acquired.
[0064] 9 is a conceptual diagram that briefly illustrates a first chatter frequency candidate table T1 and a first chatter frequency candidate amplitude value table T2. For example, as shown in FIG. 9, the first chatter frequency candidate table T1 has columns S, X, Y, and Z. The column S stores 750.2 Hz, 2016.8 Hz, 2183.3 Hz, 767.0 Hz, and 1850.4 Hz as peak values detected for vibration around the axis of the spindle 19. The column X stores 1933.5 Hz, 123.2 Hz, 103.3 Hz, 265.5 Hz, and 183.2 Hz as peak values detected for vibration in the X-axis direction. The column Y stores 1934.5 Hz, 122.3 Hz, 182.7 Hz, 199.2 Hz, and 106.8 Hz as peak values detected for vibration in the Y-axis direction. In addition, in the Z column, 1933.5 Hz, 2266.8 Hz, 1600.2 Hz, 3867.0 Hz, and 1516.9 Hz are stored as peak values detected for vibration in the Z-axis direction.
[0065] 9, the amplitude value table T2 of the first chatter frequency candidates has columns S, X, Y, and Z. In the S column, the amplitude value of each of the first chatter frequency candidates stored in the S column of the table T1 is 1.28*10 -6 , 5.67*10 -7 , 3.22*10 -7 , 2.28*10 -7 , 1.87*10 -7 In the X column, the amplitude value of each of the first chatter frequency candidates stored in the X column of table T1 is stored as 3.00*10 -10 , 7.11*10 -11 , 5.39*10 -11 , 3.60*10 -11 , 3.28*10 -11 In the Y column, 9.24*10 is stored as the amplitude value of each of the first chatter frequency candidates stored in the Y column of table T1. -11 , 7.39*10 -11 , 6.38*10 -11 , 5.47*10 -11 , 4.12*10 -11In the Z column, the amplitude value of each first chatter frequency candidate stored in the Z column of table T1 is stored as 2.24*10 -10 , 1.38*10 -10 , 1.13*10 -10 , 6.55*10 -11 , 6.53*10 -11 is stored.
[0066] After the table creation process is completed, the CPU 81 executes a chatter frequency determination process based on the frequency detection program. Fig. 10 is a flowchart explaining the chatter frequency determination process by the control device 80, Fig. 11 is a conceptual diagram showing a table T2a in which the amplitude values of the first chatter frequency candidates are normalized and a table T2b in which the normalized amplitude values are weighted, and Fig. 12 is a conceptual diagram showing a table T3 created by the amplitude value summation process.
[0067] The CPU 81 normalizes each amplitude value in the table T2 (S51). For example, as shown in the table T2a in FIG. -6 is normalized to 1.00, 5.67*10 -7 , 3.22*10 -7 , 2.28*10 -7 , 1.87*10 -7 are 0.44, 0.25, 0.18, and 0.15, respectively. Also, for the X column, 3.00*10 -10 is normalized to 1.00, giving 7.11*10 -11 , 5.39*10 -11 , 3.60*10 -11 , 3.28*10 -11 are 0.24, 0.18, 0.12, and 0.11, respectively. Also, for the Y column, 9.24*10 -11 is normalized to 1.00, which is 7.39*10 -11 , 6.38*10 -11 , 5.47*10 -11 , 4.12*10 -11 are 0.80, 0.69, 0.59, and 0.45, respectively. Also, for the Z column, 2.24*10 -10 is normalized to 1.00, 1.38*10-10 , 1.13*10 -10 , 6.55*10 -11 , 6.53*10 -11 are 0.62, 0.51, 0.29, and 0.29, respectively.
[0068] The CPU 81 weights the normalized amplitude values according to a predetermined method (S52). The predetermined method is determined experimentally. For example, as shown in table T2b in FIG. 11, the amplitude values in the S and Z columns of table T2a are doubled, and the amplitude values in the X and Y columns of table T2a are maintained.
[0069] The CPU 81 executes an amplitude value summing process (S53). The CPU 81 acquires substantially the same values from the first chatter frequency candidates in the table T1 when viewed in the row direction, and sums up the amplitude values of each of the acquired first chatter frequency candidates, which are normalized and weighted amplitude values in the table T2b. Here, substantially the same values refer to, for example, a plurality of values whose difference is 1 or less. The plurality of first chatter frequency candidates are arranged in descending order of the summed amplitude values to create a table T3 (see FIG. 12). For example, the CPU 81 acquires 1933.5 Hz in the X and Z columns of the table T1, and acquires 3.00 by summing up the amplitude values of 1.00 and 2.00 in the table T2b. That is, the CPU 81 acquires a combination of 1933.5 Hz and 3.00, and stores the combination in the storage unit 83 as the table T3.
[0070] In addition, 123.2 Hz in the X column and 122.3 Hz in the Y column of table T1 are obtained, and the amplitude values of 0.24 and 0.80 in table T2b are added together to obtain 1.04. That is, the combination of 123.2 Hz and 1.04 is obtained. Note that the combination of 122.3 Hz and 1.04 may also be used.
[0071] In addition, 183.2 Hz in the X column and 182.7 Hz in the Y column of table T1 are obtained, and the amplitude values of 0.11 and 0.69 in table T2b are added together to obtain 0.80. That is, the combination of 183.2 Hz and 0.80 is obtained. Note that the combination of 182.7 Hz and 0.80 may also be used.
[0072] If there is no substantially same value, the CPU 81 acquires one first chatter frequency candidate from table T1, and acquires the amplitude value of the acquired first chatter frequency candidate. For example, the CPU 81 acquires 750.2 Hz in the column S of table T1, and acquires 2.00, which is the amplitude value of 750.2 Hz, from table T2b. In the above-described manner, the CPU 81 acquires combinations of amplitude values with respect to all first chatter frequency candidates in table T1. As shown in table T3 in FIG. 12, the CPU 81 arranges the combinations of the first chatter frequency candidates and amplitude values in descending order of the amplitude values.
[0073] The CPU 81 determines the first chatter frequency candidate having the maximum amplitude value from the table T3 as the chatter frequency (S54), and ends the chatter frequency determination process.
[0074] The machine tool of the first embodiment executes frequency analysis based on position information of the spindle motor 13, the X-axis motor 33, the Y-axis motor 23 and the Z-axis motor 63 (S32), acquires a plurality of first chatter frequency candidates from the analyzed frequency (S38), and determines the chatter frequency based on the acquired plurality of first chatter frequency candidates (S54). Since it does not depend on the hearing of the operator, the machine tool can suppress a decrease in the detection accuracy of the chatter frequency.
[0075] In addition, the movement command position information is not position information caused by vibration. Therefore, the movement command position information is deleted from the position information (S23, S26, S29), and frequency analysis is performed on the position information after the deletion, thereby improving the accuracy of detecting the chatter frequency.
[0076] Furthermore, amplitude values of a plurality of frequencies are acquired, and weighting is performed on each of the acquired amplitude values (S52). A predetermined calculation is performed based on each weighted amplitude value, and one first chatter frequency candidate is determined as the chatter frequency based on the calculation result. For example, by multiplying each amplitude value by a weight determined by an experiment, the accuracy of detecting the chatter frequency can be improved.
[0077] (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. 13 is a block diagram of a control device 80, an information processing device 90, and each of the motors 13, 23, 33, 63, etc. The control device 80 and the information processing device 90 constitute a frequency detection device.
[0078] The machine tool includes an information processing device 90. The information processing device 90 includes a control unit 91, a RAM 92, a storage unit 93, an input / output interface 94, and the like. The control unit 91 includes a CPU, a GPU, and the like. The storage unit 93 stores a learning model 93a, a second threshold value, a variable Vc, a variable Ac, and the like. The input / output interface 94 is communicatively connected to the input / output interface 84 of the control device 80.
[0079] 14 is a schematic diagram showing an example of the learning model 93a. The learning model 93a is a learning model that is expected to be used as a program module that is a part of artificial intelligence software, and may be, for example, a gradient boosting decision tree (GBDT). The control unit 91 loads the learning model 93a into the RAM 92, and operates to perform calculations on the input data input to the learning model 93a, i.e., the machining conditions, in accordance with instructions from the learning model 93a, and output output data including second chatter frequency candidates.
[0080] The machining conditions include the radial depth of cut, the axial depth of cut, the spindle rotation speed, the feed rate, the tool length, the protrusion length, the number of blades, the tool diameter, etc. The radial depth of cut is the distance from the surface of the workpiece W in the radial direction of the spindle 19 that the tool 18 penetrates into the workpiece W by cutting. The axial depth of cut is the distance from the surface of the workpiece W in the axial direction of the spindle 19 that the tool 18 penetrates into the workpiece W by cutting.
[0081] The control unit 91 uses the teacher data to generate in advance a learning model 93a that outputs a second chatter frequency candidate when the radial cutting amount, the axial cutting amount, etc. are input. Specifically, the control unit 91 inputs the teacher data to the learning model 93a, and acquires the second chatter frequency candidate through calculation processing using a gradient boosting decision tree.
[0082] The control unit 91 compares the second chatter frequency candidate with the second chatter frequency labeled with the radial cut amount, the axial cut amount, and the like in the teacher data, i.e., the correct value, and optimizes parameters used in the calculation process in the gradient boosting decision tree so that the output value approaches the correct value. The control unit 91 stores the generated learning model 93a in the storage unit 93, and ends a series of processes for the learning model 93a. The control unit 91 may re-learn the learning model 93a.
[0083] Fig. 15 is a flowchart explaining the chatter frequency determination process by the information processing device 90. Fig. 15 is executed by the CPU 81 after executing the flow of Fig. 7. The operator operates the operation unit 51 to input the machining conditions. The CPU 81 stores the machining conditions in the memory unit 83. The control unit 91 requests machining conditions such as the radial cutting amount and the axial cutting amount from the control device 80 and acquires them from the control device 80 (S61). The control unit 91 inputs the acquired machining conditions to the learning model 93a (S62).
[0084] The control unit 91 acquires the second chatter frequency candidates from the learning model 93a (S63). The control unit 91 acquires the second chatter frequency candidates output by the learning model 93a.
[0085] The control unit 91 requests the control device 80 for table T1 (see FIG. 9) and acquires a plurality of first chatter frequency candidates (S64). The plurality of first chatter frequency candidates are all the first chatter frequency candidates stored in table T1. The control unit 91 compares the acquired second chatter frequency candidates with each of the first chatter frequency candidates and determines whether there is a first chatter frequency candidate whose difference between the two is equal to or smaller than a first threshold value (S65). The difference between the two is an example of a first reference value.
[0086] If there is a first chatter frequency candidate whose difference between the two is equal to or less than the first threshold (S65: YES), the first chatter frequency candidate whose difference between the two is equal to or less than the first threshold is determined as the chatter frequency (S66), and the chatter frequency determination process is terminated. Note that if there are multiple first chatter frequency candidates whose difference between the two is equal to or less than the first threshold, the first chatter frequency candidate whose difference between the two is the smallest is determined as the chatter frequency.
[0087] If there is no first chatter frequency candidate for which the difference between the two is equal to or less than the first threshold (S65: NO), the second chatter frequency candidate is determined as the chatter frequency (S67), and the chatter frequency determination process ends. In step S65, it is determined whether there is a first chatter frequency candidate for which the difference between the acquired second chatter frequency candidate and each first chatter frequency candidate is equal to or less than the first threshold, but it may also be determined whether there is a first chatter frequency candidate for which a first reference value such as a ratio between the two or a square sum error is equal to or less than the first threshold.
[0088] After the chatter frequency determination process, the information processing device 90 executes a reliability calculation process for calculating the reliability of the determined chatter frequency.
[0089] The control unit 91 requests the control device 80 for the number of axes for which position information is to be obtained (see FIG. 4, step S1) set by the operator, and obtains it (S71). The control unit 91 refers to table T1 and obtains a first chatter frequency candidate for any one of the axes set by the operator (S72). For example, when the operator sets all of the spindle 19, the X-axis, the Y-axis, and the Z-axis, the control unit 91 obtains a first chatter frequency candidate for any one of the spindle 19, the X-axis, the Y-axis, or the Z-axis. When obtaining the first chatter frequency candidate for the spindle 19, the control unit 91 obtains 750.2 Hz, 2016.8 Hz, 2183.3 Hz, 767.0 Hz, and 1850.4 Hz.
[0090] The control unit 91 sets a flag indicating that the first chatter frequency candidate has been acquired for the axis for which the first chatter frequency candidate has been acquired (S73). The control unit 91 provides an area for setting a flag in the memory unit 93 for each axis set by the operator (see S71). For example, when the operator sets all of the spindle 19, X-axis, Y-axis, and Z-axis, four areas for setting a flag corresponding to each axis are provided. When the first chatter frequency candidate for the spindle 19 has been acquired, the control unit 91 sets a flag in the area corresponding to the spindle 19.
[0091] The control unit 91 compares each of the acquired first chatter frequency candidates with the determined chatter frequency, and determines whether or not there is at least one first chatter frequency candidate whose difference between the two is equal to or less than a second threshold value (S74). The difference between the two is an example of a second reference value. If there is at least one first chatter frequency candidate whose difference between the two is equal to or less than the second threshold value (S74: YES), one is added to a variable Vc indicating the number of correct axes (S75). Note that the variable Vc in the initial state is 0.
[0092] The control unit 91 adds one to the variable Ac indicating the number of axes that have already been calculated (S76). In S75 and S76, the value to be added may be two or more. The initial state of the variable Ac is 0. The control unit 91 determines whether or not the value of the variable Ac is the same as the number of axes acquired in step S71 (S77). If the value of the variable Ac is not the same as the number of axes acquired in step S71 (S77: NO), the control unit 91 returns the process to step S72. In step S72, the control unit 91 acquires first chatter frequency candidates for axes for which no flags are set.
[0093] If the value of the variable Ac is the same as the number of axes acquired in step S71 (S77: YES), the control unit 91 calculates the reliability of the chatter frequency determined in step S66 or S67 (S78). For example, if the value of the variable Ac is 4 and the value of the variable Vc is 2, the reliability is (2 / 4)*100=50%.
[0094] The control unit 91 outputs the reliability to the control device 80 (S79), and ends the reliability calculation process. For example, the control device 80 displays the reliability on the display unit 52, and notifies the operator. In step S74, if there is not at least one first chatter frequency candidate whose difference between the two is equal to or less than the second threshold (S74: NO), the control unit 91 advances the process to step S76. In step S74, each of the acquired first chatter frequency candidates is compared with the determined chatter frequency, and it is determined whether there is at least one first chatter frequency candidate whose difference between the two is equal to or less than the second threshold. However, it may be determined whether there is at least one first chatter frequency candidate whose second reference value, such as the ratio between the two or the square sum error, is equal to or less than the second threshold.
[0095] In the machine tool according to the second embodiment, machining conditions are input to the learning model 93a to obtain a second chatter frequency candidate. If the difference between the second chatter frequency candidate and the first chatter frequency candidate is equal to or less than a first threshold, the first chatter frequency candidate is determined as the chatter frequency. If it is determined that the difference is not equal to or less than the first threshold, the second chatter frequency candidate is determined as the chatter frequency.
[0096] Furthermore, a reliability calculation process is executed to provide the operator with the reliability of the determined chatter frequency, which provides the operator with information on whether or not to adopt the determined chatter frequency.
[0097] In the machine tools of the first and second embodiments, the work table 4 moves in the X-axis and Y-axis directions, and the spindle head 10 moves in the Z-axis direction. The movement directions of the work table 4 and the spindle head 10 are not limited. For example, the spindle head 10 may move in the X-axis, Y-axis and Z-axis directions, and the work table 4 may rotate around the A-axis parallel to the left-right direction, around the B-axis parallel to the front-rear direction, or around the C-axis parallel to the up-down direction. In this case, the chatter frequency may be determined for position information about the A-axis, B-axis or C-axis.
[0098] 17 is a schematic diagram showing an example of a learning model 93b with a partially modified configuration. The learning model is not limited to a gradient boosting decision tree, and a learning model 93b having a multi-layer neural network (deep learning), for example, a convolutional neural network (CNN), can be used. The control unit 91 loads the learning model 93b into the RAM 92, and operates in accordance with an instruction from the learning model 93b to perform calculations on the input data input to the input layer of the learning model 93b, i.e., the machining conditions, and output data including a second chatter frequency candidate and a probability from the output layer.
[0099] In the case of CNN, the intermediate layer includes a convolution layer, a pooling layer, and a fully connected layer. The number of nodes (neurons) is not limited to that in FIG. 14. One or more nodes exist in the input layer, the output layer, and the intermediate layer, and the nodes of each layer are connected in one direction with the nodes in the previous and next layers with desired weights.
[0100] The machining conditions include the radial depth of cut, the axial depth of cut, the spindle rotation speed, the feed rate, the tool length, the protrusion length, the number of blades, the tool diameter, etc. The radial depth of cut is the distance from the surface of the workpiece W in the radial direction of the spindle 19 that the tool 18 penetrates into the workpiece W by cutting. The axial depth of cut is the distance from the surface of the workpiece W in the axial direction of the spindle 19 that the tool 18 penetrates into the workpiece W by cutting.
[0101] The output layer of the learning model 93b outputs a second chatter frequency candidate (1) and a probability P(1), a second chatter frequency candidate (2) and a probability P(2), ..., a second chatter frequency candidate (n) and a probability P(n). The probability P(n) is the probability that the second chatter frequency candidate (n) is a chatter frequency.
[0102] The control unit 91 uses the teacher data to generate in advance a learning model 93b that outputs a second chatter frequency candidate (n) and a probability P(n) when the radial cutting amount, the axial cutting amount, etc. are input. Specifically, the control unit 91 inputs the teacher data to the input layer, and acquires the second chatter frequency candidate (n) and the probability P(n) from the output layer through calculation processing in the intermediate layer.
[0103] The control unit 91 compares the second chatter frequency candidate (n) output from the output layer with the second chatter frequency labeled with the radial cut amount and the axial cut amount in the teacher data, i.e., the correct value, and optimizes the parameters used in the calculation process in the intermediate layer so that the output value from the output layer approaches the correct value. The parameters are, for example, the above-mentioned weights (coupling coefficients) and activation function coefficients. There is no particular limitation on the method of optimizing the parameters, but for example, the control unit 91 optimizes various parameters using the backpropagation method. The control unit 91 stores the generated learning model 93b in the storage unit 93 and ends a series of processes for the learning model 93b. The control unit 91 may re-learn the learning model 93b.
[0104] In step S63 in FIG. 15, the control unit 91 acquires the second chatter frequency candidate with the highest probability from the second chatter frequency candidate (1) and its probability P(1), the second chatter frequency candidate (2) and its probability P(2), ..., the second chatter frequency candidate (n) and its probability P(n) output by the output layer of the learning model 93a. The rotating part may be not only the spindle 19 that rotates the tool, but also a table that rotates the workpiece around the A-axis, B-axis, and C-axis.
[0105] The machine tool may be not only one in which the work table 4 moves in the X-axis and Y-axis directions as shown in FIG. 1, but also one in which the upright pillar 5 moves in the X-axis and Y-axis directions. 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]
[0106] 13 Spindle motor 19 Spindle 23 Y-axis motor 33 X-axis motor 63 Z-axis motor 80 Control device 90 Information processing equipment
Claims
1. A frequency detection device for detecting a chatter frequency occurring in a rotating part of a machine tool, the machine tool including a rotating part that rotates a tool or a workpiece, a rotation drive part that drives the rotating part, a moving part that moves the tool or the workpiece to a desired position, and a moving drive part that drives the moving part, an acquisition unit that acquires position information of the rotation drive unit and the movement drive unit while the workpiece is being machined by the tool; a storage unit that stores the position information of the rotation drive unit and the movement drive unit acquired by the acquisition unit; an analysis unit that performs a frequency analysis on the position information of the rotation drive unit and the movement drive unit stored in the storage unit; a candidate acquisition unit that acquires a plurality of first chatter frequency candidates from the frequencies analyzed by the analysis unit; a determination unit that determines a chatter frequency based on a plurality of first chatter frequency candidates acquired by the candidate acquisition unit; Equipped with a drive determination unit that determines whether the movement drive unit has been driven based on the movement command stored in the storage unit; a second acquisition unit that acquires position information obtained by excluding movement command position information, which is position information included in the movement command, from position information of the movement drive unit when the drive determination unit determines that the movement drive unit has been driven based on the movement command; Equipped with The analysis unit is a frequency detection device that performs a frequency analysis on the position information of the mobile drive unit acquired by the second acquisition unit.
2. The second acquisition unit deletes movement command position information, which is position information included in the movement command, from the position information of the movement drive unit.
2. The frequency detection device according to claim 1.
3. A frequency detection device for detecting a chatter frequency occurring in a rotating part of a machine tool, the frequency detection device comprising: a rotating part for rotating a tool or a workpiece; a rotation drive part for driving the rotating part; a moving part for moving the tool or the workpiece to a desired position; and a moving drive part for driving the moving part, an acquisition unit that acquires position information of the rotation drive unit and the movement drive unit while the workpiece is being machined by the tool; a storage unit that stores the position information of the rotation drive unit and the movement drive unit acquired by the acquisition unit; an analysis unit that performs a frequency analysis on the position information of the rotation drive unit and the movement drive unit stored in the storage unit; a candidate acquisition unit that acquires a plurality of first chatter frequency candidates from the frequencies analyzed by the analysis unit; a determination unit that determines a chatter frequency based on a plurality of first chatter frequency candidates acquired by the candidate acquisition unit; Equipped with an amplitude value acquisition unit that acquires amplitude values of a plurality of frequencies analyzed by the analysis unit; a weighting unit that performs weighting on each amplitude value acquired by the amplitude value acquisition unit; a calculation unit that executes a predetermined calculation based on each amplitude value weighted by the weighting unit; Equipped with The determination unit determines one of the first chatter frequency candidates as a chatter frequency based on a calculation result of the calculation unit. Frequency detector.
4. A frequency detection device for detecting a chatter frequency occurring in a rotating part of a machine tool, the frequency detection device comprising: a rotating part for rotating a tool or a workpiece; a rotation drive part for driving the rotating part; a moving part for moving the tool or the workpiece to a desired position; and a moving drive part for driving the moving part, an acquisition unit that acquires position information of the rotation drive unit and the movement drive unit while the workpiece is being machined by the tool; a storage unit that stores the position information of the rotation drive unit and the movement drive unit acquired by the acquisition unit; an analysis unit that performs a frequency analysis on the position information of the rotation drive unit and the movement drive unit stored in the storage unit; a candidate acquisition unit that acquires a plurality of first chatter frequency candidates from the frequencies analyzed by the analysis unit; a determination unit that determines a chatter frequency based on a plurality of first chatter frequency candidates acquired by the candidate acquisition unit; Equipped with The determination unit is a machining condition acquisition unit that acquires machining conditions including a radial cutting amount, an axial cutting amount, a spindle rotation speed, and a feed rate; a second candidate acquisition unit that acquires the second chatter frequency candidate by inputting the acquired machining conditions into a learning model that uses the machining conditions and the second chatter frequency candidate as teacher data and outputs the second chatter frequency candidate when the machining conditions are input; a first determination unit that determines whether a first reference value based on the second chatter frequency candidate acquired by the second candidate acquisition unit and the first chatter frequency candidate acquired by the candidate acquisition unit is equal to or smaller than a first threshold value; Equipped with When the first determination unit determines that the first reference value is equal to or less than the first threshold value, the first chatter frequency candidate is determined as a chatter frequency, and when the first determination unit determines that the first reference value is not equal to or less than the first threshold value, the second chatter frequency candidate acquired by the second candidate acquisition unit is determined as a chatter frequency. Frequency detector.
5. a reference value calculation unit that calculates a second reference value based on at least one of the first chatter frequency candidates corresponding to position information of the rotation drive unit or the movement drive unit and the second chatter frequency candidate acquired by the second candidate acquisition unit; a second determination unit that determines whether the second reference value calculated by the reference value calculation unit is equal to or smaller than a second threshold value; an adder that adds a value to a predetermined variable when the second determination unit determines that the second reference value is equal to or less than the second threshold value; a calculation completion determination unit that determines whether or not calculation of the second reference value based on all of the first chatter frequency candidates and the second chatter frequency candidates has been completed; a reliability calculation unit that calculates a reliability of the chatter frequency determined by the determination unit based on the value of the variable when the calculation completion determination unit determines that the calculation is completed; Equipped with When the calculation completion determination unit determines that the calculation is not completed, the reference value calculation unit calculates the second reference value based on the first chatter frequency candidate and the second chatter frequency candidate for which calculation of the second reference value has not been executed.
5. The frequency detection device according to claim 4.
6. A frequency detection method for detecting a chatter frequency occurring in a rotating part of a machine tool including a rotating part that rotates a tool or a workpiece, a rotation drive part that drives the rotating part, a moving part that moves the tool or the workpiece to a desired position, and a moving drive part that drives the moving part, comprising: acquiring position information of the rotation drive unit and the movement drive unit during machining of the workpiece by the tool; The acquired position information of the rotation drive unit and the movement drive unit is stored in chronological order; Executing a frequency analysis on the stored position information of the rotation drive unit and the movement drive unit; Obtaining a plurality of first chatter frequency candidates from the analyzed frequencies; determining one first chatter frequency candidate as a chatter frequency from the acquired plurality of first chatter frequency candidates based on a predetermined condition; a drive determination unit that determines whether the movement drive unit has been driven based on the stored movement command; When it is determined that the movement drive unit has been driven based on the movement command, the position information is obtained by excluding movement command position information, which is position information included in the movement command, from the position information of the movement drive unit; A frequency analysis is performed on the acquired position information of the moving drive unit. Frequency detection method.
7. A frequency detection method for detecting a chatter frequency occurring in a rotating part of a machine tool including a rotating part that rotates a tool or a workpiece, a rotation drive part that drives the rotating part, a moving part that moves the tool or the workpiece to a desired position, and a moving drive part that drives the moving part, comprising: acquiring position information of the rotation drive unit and the movement drive unit during machining of the workpiece by the tool; The acquired position information of the rotation drive unit and the movement drive unit is stored in chronological order; Executing a frequency analysis on the stored position information of the rotation drive unit and the movement drive unit; Obtaining a plurality of first chatter frequency candidates from the analyzed frequencies; determining one first chatter frequency candidate as a chatter frequency from the acquired plurality of first chatter frequency candidates based on a predetermined condition; Obtain the amplitude values of the analyzed multiple frequencies, Perform a weighting on each of the obtained amplitude values; performing a predetermined calculation based on each weighted amplitude value; Based on the calculation result, one of the first chatter frequency candidates is determined as the chatter frequency. Frequency detection method.
8. A frequency detection method for detecting a chatter frequency occurring in a rotating part of a machine tool including a rotating part that rotates a tool or a workpiece, a rotation drive part that drives the rotating part, a moving part that moves the tool or the workpiece to a desired position, and a moving drive part that drives the moving part, comprising: acquiring position information of the rotation drive unit and the movement drive unit during machining of the workpiece by the tool; The acquired position information of the rotation drive unit and the movement drive unit is stored in chronological order; Executing a frequency analysis on the stored position information of the rotation drive unit and the movement drive unit; Obtaining a plurality of first chatter frequency candidates from the analyzed frequencies; determining one first chatter frequency candidate as a chatter frequency from the acquired plurality of first chatter frequency candidates based on a predetermined condition; Acquire machining conditions including the radial cutting amount, the axial cutting amount, the spindle rotation speed, and the feed rate. The machining conditions and the second chatter frequency candidate are used as teacher data, and the acquired machining conditions are input into a learning model that outputs the second chatter frequency candidate when the machining conditions are input, to acquire the second chatter frequency candidate; determining whether a first reference value based on the acquired second chatter frequency candidate and the acquired first chatter frequency candidate is equal to or less than a first threshold value; When it is determined that the first reference value is equal to or less than the first threshold value, the first chatter frequency candidate is determined as the chatter frequency, and when it is determined that the first reference value is not equal to or less than the first threshold value, the acquired second chatter frequency candidate is determined as the chatter frequency. Frequency detection method.
9. A computer program executable by a frequency detection device for detecting a chatter frequency occurring in a rotating part of a machine tool, the machine tool including a rotating part that rotates a tool or a workpiece, a rotation drive part that drives the rotating part, a moving part that moves the tool or the workpiece to a desired position, and a moving drive part that drives the moving part, The frequency detection device includes: acquiring position information of the rotation drive unit and the movement drive unit during machining of the workpiece by the tool; The acquired position information of the rotation drive unit and the movement drive unit is stored in chronological order; Executing a frequency analysis on the stored position information of the rotation drive unit and the movement drive unit; Obtaining a plurality of first chatter frequency candidates from the analyzed frequencies; determining one first chatter frequency candidate as a chatter frequency from the acquired plurality of first chatter frequency candidates based on a predetermined condition; a drive determination unit that determines whether the movement drive unit has been driven based on the stored movement command; When it is determined that the movement drive unit has been driven based on the movement command, the position information is obtained by excluding movement command position information, which is position information included in the movement command, from the position information of the movement drive unit; A frequency analysis is performed on the acquired position information of the moving drive unit. Execute the process Computer program.
10. A computer program executable by a frequency detection device for detecting a chatter frequency occurring in a rotating part of a machine tool, the machine tool comprising a rotating part for rotating a tool or a workpiece, a rotation drive part for driving the rotating part, a moving part for moving the tool or the workpiece to a desired position, and a moving drive part for driving the moving part, The frequency detection device includes: acquiring position information of the rotation drive unit and the movement drive unit during machining of the workpiece by the tool; The acquired position information of the rotation drive unit and the movement drive unit is stored in chronological order; Executing a frequency analysis on the stored position information of the rotation drive unit and the movement drive unit; Obtaining a plurality of first chatter frequency candidates from the analyzed frequencies; determining one first chatter frequency candidate as a chatter frequency from the acquired plurality of first chatter frequency candidates based on a predetermined condition; Obtain the amplitude values of the analyzed multiple frequencies, Perform a weighting on each of the obtained amplitude values; performing a predetermined calculation based on each weighted amplitude value; Based on the calculation result, one of the first chatter frequency candidates is determined as the chatter frequency. Execute the process Computer program.
11. A computer program executable by a frequency detection device for detecting a chatter frequency occurring in a rotating part of a machine tool, the machine tool comprising a rotating part for rotating a tool or a workpiece, a rotation drive part for driving the rotating part, a moving part for moving the tool or the workpiece to a desired position, and a moving drive part for driving the moving part, The frequency detection device includes: acquiring position information of the rotation drive unit and the movement drive unit during machining of the workpiece by the tool; The acquired position information of the rotation drive unit and the movement drive unit is stored in chronological order; Executing a frequency analysis on the stored position information of the rotation drive unit and the movement drive unit; Obtaining a plurality of first chatter frequency candidates from the analyzed frequencies; determining one first chatter frequency candidate as a chatter frequency from the acquired plurality of first chatter frequency candidates based on a predetermined condition; Acquire machining conditions including the radial cutting amount, the axial cutting amount, the spindle rotation speed, and the feed rate. The machining conditions and the second chatter frequency candidate are used as teacher data, and the acquired machining conditions are input into a learning model that outputs the second chatter frequency candidate when the machining conditions are input, to acquire the second chatter frequency candidate; determining whether a first reference value based on the acquired second chatter frequency candidate and the acquired first chatter frequency candidate is equal to or less than a first threshold value; When it is determined that the first reference value is equal to or less than the first threshold value, the first chatter frequency candidate is determined as the chatter frequency, and when it is determined that the first reference value is not equal to or less than the first threshold value, the acquired second chatter frequency candidate is determined as the chatter frequency. Execute the process Computer program.
Citation Information
Patent Citations
Magnetic recording and reproducing device
JP1981037840A
Processing chatter detector and machine tool
JP2012206230A
Numerical control device and control method
JP2016190276A
Numerical control device and control method
JP2020140504A
Feedback control numerical machine tool and method thereof
US20160144474A1