Vibration suppression method, vibration suppression device, and machine tool
The vibration suppression method optimizes the first time period and driving time to minimize natural vibration amplitude, addressing the challenge of changing vibration frequencies in machine tools, and achieving effective vibration suppression.
Patent Information
- Application Number
- JP2021030256
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-02-26
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2041-02-26
AI Technical Summary
Existing vibration suppression methods, such as those using compensation torque commands, are ineffective when the frequency of vibrations generated by a machine tool changes in response to feed shaft command conditions.
A vibration suppression method that optimizes the first time period and driving time to minimize the amplitude of natural vibration, using a relational expression to determine the acceleration command for the motor, thereby suppressing vibrations in the mechanical device.
This method effectively suppresses vibrations in the mechanical device by optimizing the first time period and driving time, even when the vibration frequency changes, ensuring reduced vibration amplitude below a predetermined threshold.
Smart Images

Figure 0007670283000004 
Figure 0007670283000005 
Figure 0007670283000006
Abstract
Description
[Technical field]
[0001] The present invention relates to a vibration suppression method, a vibration suppression device, and a machine tool. [Background technology]
[0002] Patent Document 1 discloses a vibration suppression device. The vibration suppression device adds a compensation torque command to a feed axis command to suppress vibrations that occur when a machine tool is driven according to a feed axis command. The compensation torque command has a waveform that is in opposite phase to the vibration. At that time, the amplitude of the vibration is reduced by the compensation torque command, so the machine tool can suppress the vibration. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-153085 A Summary of the Invention [Problem to be solved by the invention]
[0004] The frequency of vibrations that occur when a machine tool is driven in response to a feed axis command may change depending on the conditions of the feed axis command. In such cases, the method of using a compensation torque command as in Patent Document 1 may not be able to suppress the vibrations that occur during driving.
[0005] An object of the present invention is to provide a vibration suppression method, a vibration suppression device, and a machine tool that can appropriately suppress vibrations that occur when a mechanical device is driven in accordance with a feed axis command. [Means for solving the problem]
[0006] A vibration suppression method according to a first aspect of the present invention is a vibration suppression method for suppressing vibrations that occur when a mechanical device is driven based on a position command for controlling a rotational position of a motor based on a moving distance, a speed command for controlling a speed of the motor, and an acceleration command for controlling an acceleration of the motor, the acceleration command controlling an acceleration of the motor over a first period, a second period, a third period, and a fourth period, the acceleration of the motor increasing from zero to a first acceleration in the first period, the acceleration of the motor decreasing from the first acceleration to zero in the second period, and the acceleration of the motor decreasing from the first acceleration to zero in the third period. In the fourth period, the acceleration of the motor decreases from zero to a second acceleration, and in the fourth period, the acceleration of the motor increases from the second acceleration to zero, and among a first time which is a length of the first period, a second time which is a length of the second period, a third time which is a length of the third period, and a fourth time which is a length of the fourth period, the first time and the fourth time are the same, and the second time and the third time are the same, a drive time which defines the total time of the first time, the second time, the third time, and the fourth time is defined as Tsum, a natural frequency of the mechanical device is defined as ωn / 2π, and the first time is defined as T 1 When the moving distance is L, Tsum, ωn, T 1、 The vibration suppression method includes an optimization step of optimizing the first time and the drive time so as to minimize the amplitude of the natural vibration from a relational expression that includes L and indicates the amplitude of the natural vibration, and a determination step of determining the acceleration command based on the first time and the drive time optimized by the optimization step. By driving the motor of the mechanical device with the acceleration command determined by the vibration suppression method, it is possible to suppress vibration of the mechanical device that occurs when the motor is driven.
[0007] According to a first aspect, the optimization step includes: <T 1When the driving time and the first time are made variable with respect to the condition of <Tsum / 2, a first calculation step of calculating the amplitude based on the relational expression for each set of the first time and the driving time, a first determination step of determining whether there is a set in which the amplitude becomes zero for each calculation result calculated in the first calculation step, and when it is determined in the first determination step that there is a set in which the amplitude becomes zero, a first optimization step of determining the first time and the driving time of the set in which the amplitude becomes zero as the first time and the driving time, and the determination step determines the acceleration command based on the first time and the driving time optimized in the first optimization step. When it is determined in the first determination step that there is no set in which the amplitude becomes zero, a search step of searching for a set of the first time and the driving time corresponding to the smallest amplitude among the amplitudes calculated in the first calculation step, and a second optimization step of determining the first time and the driving time of the set searched in the search step as the first time and the driving time, and the determination step may determine the acceleration command based on the first time and the driving time optimized in the second optimization step. In this method, when there is a set in which the amplitude becomes zero, the vibration of the mechanical device can be suppressed by optimizing the first time and the driving time of the set. Also, even when there is no set in which the amplitude becomes zero, the vibration of the mechanical device can be suppressed by optimizing the first time and the driving time at which the amplitude is the smallest.
[0008] According to the first aspect, a second determination step of determining whether the calculation result of the amplitude corresponding to the set in which the amplitude becomes zero determined in the first determination step or the amplitude corresponding to the set searched in the search step is equal to or less than a predetermined threshold is provided, and the determination step may optimize the first time and the driving time corresponding to the amplitude determined to be equal to or less than the predetermined threshold in the second determination step. In this method, the amplitude can be suppressed to be equal to or less than a predetermined threshold.
[0009] The vibration suppression method according to the second aspect of the present invention is a vibration suppression method for suppressing vibration generated when driving a mechanical device based on a position command for controlling the rotational position of a motor according to a moving distance, a speed command for controlling the speed of the motor, and an acceleration command for controlling the acceleration of the motor. The acceleration command controls the acceleration of the motor over consecutive first, second, third, and fourth periods. In the first period, the acceleration of the motor increases from zero to a first acceleration. In the second period, the acceleration of the motor decreases from the first acceleration to zero. In the third period, the acceleration of the motor decreases from zero to a second acceleration. In the fourth period, the acceleration of the motor increases from the second acceleration to zero. Among the first time, which is the length of the first period, the second time, which is the length of the second period, the third time, which is the length of the third period, and the fourth time, which is the length of the fourth period, the first time and the fourth time are the same, and the second time and the third time are the same. An acquisition step of acquiring a drive time corresponding to the moving distance and defining a total time of the first time, the second time, the third time, and the fourth time; setting the drive time acquired in the acquisition step as Tsum, the natural frequency of the mechanical device as ωn / 2π, and the first time as T 1 When, with the moving distance being L, Tsum, ωn, and T 1 are included, a first calculation step of calculating a solution for the first time so as to minimize the amplitude of natural vibration from a relational expression indicating the amplitude of natural vibration; when there is a solution calculated in the first calculation step under the condition of 0 < T 1 < Tsum / 2, a first optimization step of optimizing the solution to the first time; when 0 < T 1When there is no solution calculated by the first calculation step under the condition of <Tsum / 2>, a second calculation step of making the first time variable and calculating the amplitude based on the relational expression for each of the plurality of first times, a second optimization step of optimizing to the first time corresponding to the smallest amplitude among the amplitudes calculated by the second calculation step, and a determination step of determining the acceleration command based on the first time optimized by the first optimization step or the first time optimized by the second optimization step, and the drive time. By driving the motor of the mechanical device with the acceleration command determined by the vibration suppression method, the vibration of the mechanical device generated during the driving of the motor can be suppressed.
[0010] According to the second aspect, the second optimization step may optimize to the smallest first time that can be realized for driving the mechanical device, and the determination step may determine the acceleration command based on the smallest first time that can be realized optimized by the second optimization step and the drive time. In this method, the vibration of the mechanical device can be suppressed by optimizing to the smallest first time that can be realized for driving the mechanical device.
[0011] The vibration suppression device according to the third aspect of the present invention is characterized by including a control unit that controls the motor of the mechanical device with the acceleration command determined by the vibration suppression method of the first aspect or the second aspect. According to the third aspect, the same effects as those of the first aspect or the second aspect can be achieved.
[0012] A machine tool according to a fourth aspect of the present invention is a machine tool that drives the motor based on a position command that controls a rotational position of a motor depending on a moving distance, a speed command that controls the speed of the motor, and an acceleration command that controls the acceleration of the motor, the acceleration command controlling the acceleration of the motor over a first period, a second period, a third period, and a fourth period that are successive, the acceleration of the motor increases from zero to a first acceleration in the first period, decreases from the first acceleration to zero in the second period, decreases from zero to a second acceleration in the third period, and increases from the second acceleration to zero in the fourth period, the first time and the fourth time are the same among a first time that is a length of the first period, a second time that is a length of the second period, a third time that is a length of the third period, and a fourth time that is a length of the fourth period, and the first time and the fourth time are the same; a drive time that specifies the sum of the first time, the second time, the third time, and the fourth time is defined as Tsum, a natural frequency of the machine device is defined as ωn / 2π, and the first time is defined as T 1 When the moving distance is L, Tsum, ωn, T 1 , L, and optimizing the first time and the drive time so as to minimize the amplitude of the natural vibration from a relational expression that indicates the amplitude of the natural vibration, and determining means that determines the acceleration command based on the first time and the drive time optimized by the optimization means. According to the fourth aspect, it is possible to achieve the same effects as those of the first or second aspect. [Brief description of the drawings]
[0013] [Figure 1] FIG. [Diagram 2] FIG. 2 is a block diagram showing the electrical configuration of the numerical control device 30 and the machine tool 1. [Diagram 3] Graphs showing the position, velocity waveform, and acceleration waveform of a tool 4. [Figure 4] 3 is a graph showing vibration characteristics of the machine tool 1. [Diagram 5] 1 is a graph showing an acceleration waveform. [Figure 6]1 is a flow diagram of the main process. [Figure 7] Flow diagram of the optimization process. [Figure 8] FIG. 11 is a graph showing the relationship between the calculation result of the amplitude Amplitude and the first time T1. [Figure 9] 11 is a flowchart of an optimization process according to a modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] An embodiment of the present invention will be described. In the following description, left and right, front and rear, and up and down will be used as indicated by arrows in the drawings. The left and right direction, front and rear direction, and up and down direction of machine tool 1 are the X-axis direction, Y-axis direction, and Z-axis direction of machine tool 1, respectively. Machine tool 1 shown in FIG. 1 is a machine that rotates tool 4 attached to spindle 9 and performs cutting on workpiece 3 held on the upper surface of table 13. Numerical control device 30 (see FIG. 2) controls the operation of machine tool 1.
[0015] The structure of the machine tool 1 will be described with reference to FIG. 1. The machine tool 1 includes a base 2, a column 5, a spindle head 7, a spindle 9, a table device 10, a tool changer 20, a control box 6, an operation panel 15 (see FIG. 2), and the like. The base 2 is a metal base in the shape of a substantially rectangular parallelepiped. The column 5 is fixed to the rear of the upper part of the base 2. The spindle head 7 is provided so as to be movable in the Z-axis direction along the front surface of the column 5. The spindle head 7 rotatably supports the spindle 9 inside. The spindle 9 has a mounting hole (not shown) at its bottom. The tool 4 is mounted in the mounting hole of the spindle 9, which is rotated by the drive of a spindle motor 52 (see FIG. 2). The spindle motor 52 is provided on the spindle head 7. The spindle head 7 moves in the Z-axis direction by a Z-axis movement mechanism (not shown) provided in front of the column 5. The numerical control device 30 controls the drive of the Z-axis motor 51 (see FIG. 2) to control the movement of the spindle head 7 in the Z-axis direction.
[0016] The table device 10 includes a Y-axis moving mechanism (not shown), a Y-axis table 12, an X-axis moving mechanism (not shown), a table 13, etc. The Y-axis moving mechanism is provided on the front side of the upper surface of the base 2, and includes a pair of Y-axis rails, a Y-axis ball screw, a Y-axis motor 54 (see FIG. 2), etc. The Y-axis rail and the Y-axis ball screw extend in the Y-axis direction. The Y-axis rail guides the Y-axis table 12 in the Y-axis direction on the upper surface. The Y-axis table 12 is formed in a substantially rectangular parallelepiped shape and includes a nut (not shown) on the bottom. The nut is screwed into the Y-axis ball screw. When the Y-axis motor 54 rotates the Y-axis ball screw, the Y-axis table 12 moves along the Y-axis rail together with the nut. Therefore, the Y-axis moving mechanism supports the Y-axis table 12 so that it can move in the Y-axis direction.
[0017] The X-axis movement mechanism is provided on the upper surface of the Y-axis table 12, and includes a pair of X-axis rails (not shown), an X-axis ball screw (not shown), an X-axis motor 53 (see FIG. 2), and the like. The X-axis rails and the X-axis ball screw extend in the X-axis direction. The table 13 is formed in a rectangular plate shape in a plan view, and is provided on the upper surface of the Y-axis table 12. The table 13 includes a nut (not shown) at its bottom. The nut is screwed into the X-axis ball screw. When the X-axis motor 53 rotates the X-axis ball screw, the table 13 moves together with the nut along the pair of X-axis rails. Therefore, the X-axis movement mechanism supports the table 13 so that it can move in the X-axis direction. Therefore, the table 13 moves in the X-axis and Y-axis directions on the base 2 by the Y-axis movement mechanism, the Y-axis table 12, and the X-axis movement mechanism.
[0018] The tool changer 20 is provided in front of the spindle head 7, and is equipped with a disk-shaped tool magazine 21. The tool magazine 21 holds a number of tools (not shown) radially on its outer periphery. The tool changer 20 drives the tool magazine 21 with a magazine motor 55 (see FIG. 2), and positions the tool specified by a tool change command at the tool change position. The tool change command is issued by an NC program. The tool change position is the lowest position of the tool magazine 21. The tool changer 20 swaps the tool 4 attached to the spindle 9 with the tool attached in the tool magazine 21 by a series of actions: lifting the spindle head 7, rotating the tool magazine 21, and lowering the spindle head 7.
[0019] The control box 6 houses a numerical control device 30 (see FIG. 2). The numerical control device 30 controls a Z-axis motor 51, a spindle motor 52, an X-axis motor 53, and a Y-axis motor 54 (see FIG. 2) provided in the machine tool 1, and performs various machining operations on the workpiece 3 by relatively moving the workpiece 3 held on the table 13 and the tool 4 attached to the spindle 9. The various machining operations include hole drilling using a drill, a tap, etc., and side machining using an end mill, a milling cutter, etc.
[0020] Operation panel 15 (see FIG. 2) is provided, for example, on the outer wall of a cover (not shown) that covers machine tool 1. Operation panel 15 includes input unit 16 and display unit 17 (see FIG. 2). Input unit 16 accepts input of various information, operation instructions, etc., and outputs them to numerical control device 30. Display unit 17 displays various screens based on commands from numerical control device 30.
[0021] With reference to FIG. 2, the electrical configuration of the numerical control device 30 and the machine tool 1 will be described. The numerical control device 30 and the machine tool 1 include a CPU 31, a ROM 32, a RAM 33, a storage device 34, an input / output unit 35, and drive circuits 51A-55A. The CPU 31 controls the numerical control device 30. The ROM 32 stores a main program and the like. The main program is a program for executing a main process (see FIG. 7). The main process reads an NC program line by line and executes various operations. The NC program is made up of multiple lines including various control commands, and the control commands are axial movement of the machine tool 1, tool replacement, and the like. The axial movement includes a position command, which is a command for controlling the rotational position of the Z-axis motor 51 and the like based on the feed amount L. The CPU 31 creates a speed command and an acceleration command from the position command. The speed command is a command for controlling the speed of the Z-axis motor and the like. The acceleration command will be described later.
[0022] The RAM 33 temporarily stores various information. The storage device 34 is non-volatile and stores the NC program and various information. The CPU 31 can store in the storage device 34 the NC program input by the operator via the input unit 16 of the operation panel 15, as well as the NC program read by external input.
[0023] The drive circuit 51A is connected to the Z-axis motor 51 and the encoder 51B. The drive circuit 52A is connected to the spindle motor 52 and the encoder 52B. The drive circuit 53A is connected to the X-axis motor 53 and the encoder 53B. The drive circuit 54A is connected to the Y-axis motor 54 and the encoder 54B. The drive circuit 55A is connected to the magazine motor 55 and the encoder 55B. The Z-axis motor 51, the spindle motor 52, the X-axis motor 53, the Y-axis motor 54, and the magazine motor 55 are all servo motors (hereinafter, collectively referred to as motors 50). The drive circuits 51A to 55A receive commands from the CPU 31 and output drive currents to the corresponding motors 51 to 55, respectively. The drive circuits 51A to 55A receive feedback signals from the encoders 51B to 55B and perform feedback control of the position and speed. The input / output unit 35 is connected to the input unit 16 and the display unit 17 of the operation panel 15, respectively.
[0024] The case where the machine tool 1 is driven based on the command of the NC program (hereinafter referred to as the feed axis command) to move the tool 4 in the X-axis direction, the Y-axis direction, and the Z-axis direction relative to the workpiece 3 will be illustrated. The following will explain the case where the tool 4 is moved downward along the Z-axis direction relative to the workpiece 3. Although detailed explanation will be omitted, the same applies when the tool 4 is moved in the X-axis direction and the Y-axis direction relative to the workpiece 3 for machining. The vertical axis of the graph shown in FIG. 3 indicates the position in the Z-axis direction (FIG. 3(A)), the speed (FIG. 3(B)(C)), and the acceleration (FIG. 3(D)). Hereinafter, for the sake of simplicity, the downward direction will be explained as positive and the upward direction will be explained as negative in FIG. 3(A) to (D). In FIG. 3(A), the Z-axis coordinate indicating the position of the tool 4 at a predetermined reference position is indicated by zero. The Z-axis coordinate indicating the position of the tool 4 below the reference position is indicated by a positive value. In FIG. 3(B) to (D), the speed and acceleration when the tool 4 moves downward are indicated by positive values.
[0025] When the CPU 31 reads the feed axis command of the NC program, it generates time series data of the target position of the spindle head 7, which holds the spindle 9, in order to move the spindle head 7, which holds the spindle 9, to the position specified by the feed axis command. The CPU 31 outputs the target position data to the drive circuit 51A at a predetermined cycle. The drive circuit 51A drives the Z-axis motor 51 based on the target position data output by the CPU 31. The Z-axis motor 51 moves the tool 4 in the Z-axis direction via the spindle head 7 to the target position. Every time the CPU 31 inputs the target position data to the drive circuit 51A, the drive circuit 51A drives the Z-axis motor 51. As a result, the tool 4 finally reaches the position specified by the feed axis command (hereinafter referred to as the command position) (see FIG. 3(A)). The above control executed by the CPU 31 based on the feed axis command is referred to as feed axis control.
[0026] When generating the time series data of the target positions in the above, the CPU 31 determines each target position so that the speed at which the tool 4 moves in the Z-axis direction to the command position remains constant (see FIG. 3(B)). Next, the CPU 31 adjusts the acceleration / deceleration characteristics corresponding to the rising and falling characteristics of a waveform showing the time series change in speed (hereinafter referred to as the speed waveform) (see FIGS. 3(C) and (D)). Hereinafter, the process of adjusting the acceleration / deceleration characteristics of the speed waveform will be referred to as acceleration / deceleration processing. The slopes of the rising and falling edges of the speed waveform after acceleration / deceleration processing correspond to the acceleration of the tool 4.
[0027] The CPU 31 determines a target position for each predetermined period based on the velocity waveform that has been subjected to the acceleration / deceleration process. The CPU 31 outputs data of the determined target position to the drive circuit 51A at a predetermined period. At that time, as shown in FIG. 3(C), the tool 4 moved by the Z-axis motor 51 driven by the drive circuit 51A accelerates during an acceleration period Pa at the start of the movement, and decelerates during a deceleration period Pd at the end of the movement. Hereinafter, the length of the acceleration period Pa is referred to as an acceleration time Ta, and the length of the deceleration period Pd is referred to as a deceleration time Td.
[0028] Hereinafter, the control command that the CPU 31 outputs to the drive circuit 50A based on the feed axis command of the NC program will be referred to as an acceleration command. The acceleration command is a concept that includes an acceleration command for accelerating the tool 4 and a deceleration command for decelerating the tool 4. Fig. 3(D) shows a time series change in acceleration when the tool 4 moves in response to an acceleration command (hereinafter referred to as an acceleration waveform). The period during which the acceleration of the tool 4 increases in the acceleration period Pa is called a first period P. 1 The first period is called P 1 The length of the first time T 1 The first period P 1 Now, the acceleration of the motor 50 changes from zero to the first acceleration A 1 The period during which the acceleration of the tool 4 decreases in the acceleration period Pa is called the second period P 2 The second period P 2 The length of the second time T 2 The second period P 2 Then, the acceleration of the motor 50 is the first acceleration A 1 The period during which the acceleration of the tool 4 decreases during the deceleration period Pd is called the third period P 3 The third period P 3 The length of the third time T 3 The third period P 3 Now, the acceleration of the motor 50 changes from zero to the second acceleration A 2 The period during which the acceleration of the tool 4 increases in the deceleration period Pd is called the fourth period P 4 The fourth period P 4 Length of the fourth time T 4 The fourth period P 4 Then, the acceleration of the motor 50 is the second acceleration A 2 increases from to zero.
[0029] The acceleration command is 1 ~Fourth period P 4 The acceleration of the motor 50 is controlled during the first period P 1 From the start of the fourth period P 4 The length of the first time T 1 ~Fourth Hour T 4 are collectively referred to as the acceleration / deceleration time constant Tα. 1 =T4 and T 2 = T 3 is satisfied (see Fig. 5), and the first time T 1 and the acceleration / deceleration time Tsum are assumed to satisfy 0 < T1 < Tsum / 2.
[0030] Note that the acceleration waveform corresponding to the acceleration command is not limited to the case shown in Fig. 3(D). For example, there may be a period during which the acceleration transitions to 0 between the second period P 2 and the third period P 3 . Hereinafter, for the sake of simplicity of explanation, it is assumed that the acceleration waveform does not include a period during which the acceleration transitions to 0 as shown in Fig. 3(D).
[0031] There is a method of suppressing the vibration of the machine tool 1 generated by the movement of the tool 4 in response to the acceleration command by a correction torque command different from the acceleration command. The correction torque command is a command for generating vibration in the opposite phase to the vibration of the machine tool 1. For example, when the tool 4 moves in the Z-axis direction by the acceleration command, the spindle head 7 of the machine tool 1 may vibrate at 90 Hz in the Z-axis direction. At this time, the vibration of the spindle head 7 in the Z-axis direction is suppressed by using a correction torque command having a peak of vibration at 90 Hz and being in the opposite phase to the phase of the vibration.
[0032] The component of the vibration frequency of the machine tool 1 generated when the tool 4 moves in the Z-axis direction by the acceleration command may not be 90 Hz, which is the frequency when the spindle head 7 vibrates in the Z-axis direction depending on the moving distance, but may be 30 Hz, which is the frequency when the entire machine tool 1 vibrates (see Fig. 4). At this time, there may be a case where the vibration of the entire machine tool 1 cannot be suppressed by the correction torque command.
[0033] CPU 31 of numerical control device 30 determines an acceleration waveform of an acceleration command to be output to drive circuit 51A in response to a feed axis command in order to suppress vibrations that cannot be suppressed by a correction torque command. More specifically, CPU 31 determines an acceleration waveform that is less likely to generate vibrations, using the equations of relational expressions (1-1) to (1-3). Relational expression (1-1) indicates the amplitude of the natural vibration component of machine tool 1 contained in the acceleration command. The magnitude of the natural vibration generated in machine tool 1 is determined by the amplitude. Here, ωn / 2π is the natural frequency of machine tool 1. Also, a is the first time T 1 and the second time T 2 The ratio is shown.
number
[0034] Relational formula (1-3) is derived by substituting relational formula (1-2) into relational formula (1-1). The condition for the vibration of the machine tool 1 to be minimized is the condition for the amplitude Amplitude to be zero. Here, ωn / 2π is the natural frequency specific to the machine tool 1, so the angular velocity ωn is a constant. Therefore, when the feed amount L is specified, according to relational formula (1-3), the amplitude Amplitude is 1 and the acceleration / deceleration time Tsum. Therefore, the CPU 31 calculates the first time T 1 By determining the acceleration command based on the acceleration / deceleration time Tsum, it is possible to suppress vibration.
number
[0035] The CPU 31 calculates a first time T 1 The CPU 31 calculates the acceleration / deceleration time Tsum. The calculation method will be described later. 1 , optimization is performed on the acceleration / deceleration time Tsum. The CPU 31 optimizes the first time T 1 , the acceleration / deceleration time Tsum is substituted into the formula (1-2) to obtain the second time T 2 Calculate T1 =T 4 And T 2 =T 3 Therefore, CPU 31 executes the first time T 1 From the fourth hour T 4 and the second time T 2 From the third hour T 3 The CPU 31 calculates the optimized first time T 1 and the acceleration / deceleration time Tsum and the second time T 2 , third time T 3 , Fourth Hour T 4 The CPU 31 drives the machine tool 1 based on the generated acceleration command.
[0036] On the other hand, the first time T 1 When the acceleration / deceleration time Tsum does not exist, that is, when the amplitude becomes zero, the first time T 1 In this case, the CPU 31 uses the relational expression (1-3) to obtain the first time T 1 , the acceleration / deceleration time Tsum is a variable, and the first time T 1 The CPU 31 calculates the amplitude Amplitude for each pair of the first time T1 and the acceleration / deceleration time Tsum. The calculation method will be described later in detail. The CPU 31 optimizes the first time T1 and the acceleration / deceleration time Tsum corresponding to the smallest amplitude Amplitude among the amplitude Amplitudes calculated for each pair. The CPU 31 optimizes the optimized first time T 1 and the acceleration / deceleration time Tsum, the CPU 31 determines an acceleration command. The CPU 31 drives the machine tool 1 according to the generated acceleration command.
[0037] The main processing executed by the CPU 31 of the numerical control device 30 will be described with reference to Fig. 6. The CPU 31 executes the main processing by reading out and executing the main program stored in the storage device 34. When the main processing is executed, the CPU 31 judges whether or not an NC program has been accepted (S1). If it is judged that the NC program has not been accepted (S1: NO), the CPU 31 returns to the processing and waits. If it is judged that the NC program has been accepted (S1: YES), the CPU 31 reads one line of the NC program (S3).
[0038] The CPU 31 determines whether the line read from the NC program is a feed axis command (S5). If it is determined that it is not a feed axis command (S5: NO), the CPU 31 executes the read command other than a feed axis command (S13). If it is not a feed axis command, it may be, for example, a tool change command. The CPU 31 advances the process to S15. On the other hand, if it is determined that it is a feed axis command (S5: YES), the CPU 31 executes optimization processing (S7).
[0039] In the optimization process, the acceleration / deceleration time Tsum, the first time T 1 When the optimization process is started, when the processing cycle of the NC device that executes the feed axis command is 0.001 sec, the CPU 31 sets the acceleration / deceleration time Tsum to 0.004 sec, the first time T 1 In the initial setting, the acceleration / deceleration time Tsum is set to 0.001 sec (S101). 1 The CPU 31 sets the first time T 1 The CPU 31 substitutes the angular velocity ωn, which is calculated from the acceleration / deceleration time Tsum and the natural frequency, and the feed amount L into the relational expression (1-3) to calculate the amplitude Amplitude (S104). 1 and the set of acceleration / deceleration times Tsum are associated with each other and stored in the storage device 34 (S105).
[0040] Next, the CPU 31 calculates the first time T 1Add 0.001 sec to it (S107). The CPU 31 adds 0.001 sec to obtain the first time T 1 Determine whether the condition T1 < Tsum / 2 is satisfied for T (S109).
[0041] When it is determined that the condition T1 < Tsum / 2 is satisfied (S109: YES), the CPU 31 substitutes the first time T added with 0.001 sec 1 and the set acceleration / deceleration time Tsum into the relational expression (1-3) to calculate the amplitude Amplitude (S111). The CPU 31 determines whether the sign of the amplitude Amplitude stored in the process of S105 and the sign of the amplitude Amplitude calculated in the process of S111 are reversed (S113).
[0042] Hereinafter, with reference to FIG. 8, the reason for executing the process of S113 will be described. The horizontal axis in FIG. 8 is the first time T 1 and the vertical axis is the calculation result of the amplitude Amplitude calculated for each first time T 1 . Note that the acceleration / deceleration time Tsum is an arbitrary constant. The amplitude Amplitude changes according to the value of the first time T1. At the position P within the range from 0 to Tsum / 2, the amplitude Amplitude becomes zero. Before and after the first time T 1 at which the amplitude Amplitude becomes zero, the sign of the calculation result of the amplitude Amplitude reverses from negative to positive. That is, the CPU 31 determines whether the amplitude Amplitude becomes zero by checking whether the sign of the amplitude Amplitude is reversed.
[0043] When it is determined that the signs are not reversed (S113: NO), the CPU 31 returns the process to S105 and executes the processes of S105 to S113. In this way, the CPU 31 stores the calculation result of the amplitude Amplitude, the first time T 1 corresponding to the calculation result, and the set of the acceleration / deceleration time Tsum in the storage device 34.
[0044] On the other hand, when it is determined that the sign has reversed (S113: YES), the CPU 31 selects the first time T corresponding to the amplitude Amplitude with the smaller absolute value out of the amplitude Amplitude calculated in the process of S105 and the amplitude Amplitude calculated in the process of S111. 1 and specifies a set of the first time T and the acceleration / deceleration time Tsum (S115). In this case, it can be estimated that the calculation result of the amplitude Amplitude is a value close to zero.
[0045] When it is determined in S109 that the condition T1 < Tsum / 2 is not satisfied (S109: NO), the CPU 31 searches for the smallest amplitude among the amplitudes Amplitude stored in the storage device 34 (S117). The CPU 31 selects the first time T corresponding to the smallest amplitude Amplitude found. 1 and specifies the acceleration / deceleration time Tsum (S119).
[0046] The CPU 31 determines whether the amplitude Amplitude corresponding to the first time T and the acceleration / deceleration time Tsum specified in the process of S115 or S119 is equal to or less than a predetermined threshold Th (S121). Here, the predetermined threshold Th is the maximum magnitude of allowable vibration and is stored in the storage device 34 in advance. When it is determined that the amplitude Amplitude is greater than the predetermined threshold Th (S121: NO), the CPU 31 adds 0.001 sec to the acceleration / deceleration time Tsum and initializes the first time T 1 to 0.001 sec (S125), and returns the process to S104. Based on the acceleration / deceleration time Tsum newly set in the process of S125, the CPU 31 uses the first time T 1 as a variable and executes the processes of S105 to S121. In this way, the CPU 31 varies the first time T 1 and the acceleration / deceleration time Tsum, and repeats the calculation of the amplitude Amplitude. 1 When it is determined in S121 that the amplitude Amplitude is equal to or less than the predetermined threshold Th (S121: YES), the CPU 31 selects the first time T specified in the process of S115 or S119.
[0047] and the acceleration / deceleration time Tsum specified in the process of S115 or S119. 1and determines that the acceleration / deceleration time Tsum is the optimal value. This process is referred to as optimization (S123). The CPU 31 returns the process to the main process.
[0048] Based on the optimized first time T 1 and the acceleration / deceleration time Tsum, the CPU 31 creates an acceleration command (S9). Based on the created acceleration command, the CPU 31 executes a feed axis command (S11). The CPU 31 determines whether the NC program is at the last line (S15). If it is determined that the NC program is not at the last line (S15: NO), the CPU 31 returns the process to S3. If it is determined that the NC program is at the last line (S15: YES), the CPU 31 ends the process.
[0049] As described above, the CPU 31 of the numerical control device 30 optimizes the first time T 1 and the acceleration / deceleration time Tsum so as to minimize the amplitude Amplitude of the natural vibration from the relational expression (1-3). The CPU 31 determines an acceleration command based on the optimized first time T 1 and the acceleration / deceleration time Tsum.
[0050] By driving the motor 50 of the machine tool 1 with the determined acceleration command, the numerical control device 30 can suppress the vibration of the machine tool 1 generated during the driving of the motor 50. Therefore, the numerical control device 30 can optimize the first time T 1 and the acceleration / deceleration time Tsum in a shorter time.
[0051] When the CPU 31 variably uses the first time T 1 and the acceleration / deceleration time Tsum as variables under the condition of 0 < T 1 < Tsum / 2, the CPU 31 calculates the amplitude Amplitude based on the relational expression (1-3) for each combination of the first time T 1 and the acceleration / deceleration time Tsum. For each calculated result, the CPU 31 determines whether there is a combination for which the amplitude Amplitude becomes zero. When the CPU 31 determines that there is a combination for which the amplitude Amplitude becomes zero, the first time T of the combination for which the amplitude Amplitude becomes zero 1and the acceleration / deceleration time Tsum. The CPU 31 optimizes the optimized first time T 1 The numerical controller 30 determines an acceleration command based on the acceleration / deceleration time Tsum. If there is a pair in which the amplitude Amplitude is zero, the numerical controller 30 determines the first time T 1 and the acceleration / deceleration time Tsum, it is possible to suppress vibration of the machine tool 1. Furthermore, when the CPU 31 determines that there is no pair in which the width Amplitude is zero, it searches for the smallest amplitude among the calculated amplitudes. The CPU 31 then searches for the first time T 1 and the acceleration / deceleration time Tsum. The CPU 31 optimizes the first time T 1 The numerical controller 30 determines an acceleration command based on the first time T 1 By optimizing the acceleration / deceleration time Tsum, vibration of the machine tool 1 can be suppressed.
[0052] Furthermore, the CPU 31 judges whether the calculated amplitude Amplitude is equal to or less than a predetermined threshold Th. When the CPU 31 judges that the amplitude Amplitude is equal to or less than the predetermined threshold Th, the CPU 31 calculates the first time T 1 and the acceleration / deceleration time Tsum are optimized. The numerical control device 30 can suppress the vibration of the machine tool 1 to a predetermined threshold value Th or less.
[0053] The present invention is not limited to the above embodiment, and various modifications are possible. Referring to Fig. 9, the optimization process in the modified example will be described. The same processes as those in the above embodiment are given the same step numbers, and different processes are indicated by different symbols. In the following description, the different processes will be described in detail.
[0054] The optimization process of the modified example is different in that the acceleration / deceleration time Tsum is determined in advance according to the feed amount L included in the movement command. The storage device 34 stores a table indicating the relationship between the feed amount L included in the position command and the acceleration / deceleration time Tsum associated with the feed amount L.
[0055] In the above embodiment, the acceleration / deceleration time Tsum and the first time T 1 was a variable, but in a modified example, the first time T 1 In the above embodiment, the first time T is set so that the vibration generated in the machine tool 1 is equal to or lower than a predetermined threshold Th. 1 However, the optimization process of the modified example differs in that no comparison with a predetermined threshold value Th is performed.
[0056] When the optimization process is executed in S7 of the main process (S7), the CPU 31 acquires the feed amount L included in the movement command (S100). The CPU 31 refers to the table stored in the storage device 34 and reads the acceleration / deceleration time Tsum associated with the acquired feed amount L (S102). The CPU 31 calculates the first time T 1 The CPU 31 sets the acceleration / deceleration time Tsum to 0.001 sec (S103). 1 The CPU 31 calculates the amplitude Amplitude by substituting the above into the formula (1-3) (S104). 1 The set is stored in the storage device 34 in association with the above (S105).
[0057] The processes from S107 to S119 are the same as those in the above embodiment, and therefore detailed description thereof will be omitted. In the process of S113, a value substantially equal to the solution of the first time T1 in relational expression (1-3) is calculated. That is, the CPU 31 detects the sign inversion in S113 and thereby calculates the solution of the first time T 1 In addition, the solution of the first time T 1 Although the amplitude does not become zero, the minimum first time T that can be realized to suppress vibration and drive the machine tool 1 is 1 It is optimized for.
[0058] The CPU 31 determines the first time T 1Optimize for the combination of the first time T and the acceleration / deceleration time Tsum (S123). The CPU 31 returns the process to the main process, creates an acceleration command (S9), and executes a feed axis command (S11).
[0059] As described above, the CPU 31 calculates the solution of the first time T from the relational expression (1-3). 1 The CPU 31 calculates the solution of the first time T from the relational expression (1-3). When there is a calculated solution under the condition of 0 < T 1 < Tsum / 2, optimize the solution for the first time T 1 When there is no calculated solution under the condition of 0 < T 1 < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T 1 < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T 1 < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T 1 Optimize the first time T corresponding to the smallest amplitude Amplitude among the calculated amplitudes Amplitude. The CPU 31 determines an acceleration command based on the optimized first time T 1 < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T
[0060] < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T 1 < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T 1 < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T 1 < Tsum / 2, make the first time T variable as a variable, and calculate the amplitude Amplitude based on the relational expression (1-3) for each of the multiple first times T
[0061] The present invention is not limited to the above-described embodiments, and various modifications are possible. Although the present invention reduces the vibration of the machine tool 1, it is not limited thereto, and the technology of the above-described embodiments may be applied to other mechanical devices. The main process is not limited to being executed by the CPU 31 of the numerical control device 30, and for example, the main process may be executed by a PC or the like. At that time, information indicating the acceleration waveform determined by executing the main process by a PC or the like may be input to the numerical control device 30. The numerical control device 30 may control the motor 50 of the machine tool 1 according to an acceleration command indicating the input acceleration waveform.
[0062] In the optimization processes of the above-described embodiments and modified examples, in the processes of S107 and S125, 0.001 was added to the first time T 1 ; however, it is not limited thereto, and an addition value may be set as appropriate. Further, in the process of S125, 0.001 was added to the acceleration / deceleration time Tsum; however, it is not limited thereto, and an addition value may be set as appropriate. The predetermined threshold Th may be set as appropriate.
[0063] In the process of S113, by determining whether or not the sign of the calculation result of the amplitude Amplitude has reversed, the solution of the first time T 1 that satisfies the relational expression (1-3) was calculated; however, it is not limited thereto. For example, regarding the relational expression (1-3), the solution regarding the first time T 1 may be directly calculated. In this case, the first time T 1 may be optimized to the directly calculated solution. In the above-described embodiment, the case where there is one solution of the first time T 1 <Tsum / 2 under the condition 0 < T 1 was described (see FIG. 8); however, depending on the conditions, there may be a plurality of solutions. In this case, the CPU 31 may perform optimization based on any one of the solutions.
[0064] In S121, the calculated amplitude Amplitude was compared with the predetermined threshold Th; however, the first time T1 and the acceleration / deceleration time Tsum specified in the processes of S115 and S119 may be optimized without executing the comparison process.
[0065] If there is no calculation result that is equal to or less than the predetermined threshold value Th in the process of S121, the CPU 31 sets the first time T 1 By optimizing the time t, it is possible to reduce a certain amount of vibration. The value that approximates zero is, for example, 0.001 sec. Even in this case, the numerical control device 30 can suppress the vibration.
[0066] When the right hand side of the equation (1-3) is divided into the first half A and the second half B, the first half A becomes ∞. 1 =0, T 1 =T where the latter part B is 0 except for Tsum 1 By finding T where the amplitude is 0, 1 can be sought.
number
[0067] <Other> The numerical control device 30 is an example of a "vibration suppression device" of the present invention. The machine tool 1 is an example of a "machine device" of the present invention. The acceleration / deceleration time Tsum is an example of a "driving time" of the present invention. The feed amount L is an example of a "moving distance" of the present invention. The process of S7 is an example of an "optimization step" of the present invention. The process of S9 is an example of a "determination step" of the present invention. The processes of S104 and S111 are an example of a "first calculation step" of the present invention. The process of S113 is an example of a "first judgment step" of the present invention. The processes of S115 and S123 are an example of a "first optimization step" of the present invention. The process of S121 is an example of a "second judgment step" of the present invention. The processes of S119 and S123 are an example of a "second optimization step" of the present invention.
[0068] The process of S102 is an example of an "acquisition step" of the present invention. The processes of S104 and S111 are an example of a "first calculation step" of the present invention. The processes of S115 and S123 are an example of a "first optimization step" of the present invention. The processes of S113, S107, and S111 are an example of a "second calculation step" of the present invention. The processes of S119 and S123 are an example of a "second optimization step" of the present invention. The process of S7 is an example of an "optimization means" of the present invention. The process of S9 is an example of a "determination means" of the present invention. [Explanation of symbols]
[0069] 1: Machine tool 4:Tools 30: Numerical control device 31 :CPU 50: Motor 50A: Drive circuit T 1 :first time T 2 :Second time T 3 :Third hour T 4 :Fourth hour Tsum: Acceleration / deceleration time L: Feed amount ωn / 2π: Natural frequency
Claims
1. A vibration suppression method for suppressing vibrations that occur when a mechanical device is driven based on a position command for controlling a rotational position of a motor based on a moving distance, a speed command for controlling a speed of the motor, and an acceleration command for controlling an acceleration of the motor, comprising: The acceleration command is controlling the acceleration of the motor over successive first, second, third and fourth time periods; During the first period, the acceleration of the motor increases from zero to a first acceleration; During the second time period, the acceleration of the motor is decreased from the first acceleration to zero; During the third period, the acceleration of the motor decreases from zero to a second acceleration; during the fourth period, the acceleration of the motor increases from the second acceleration to zero; Among a first time which is the length of the first period, a second time which is the length of the second period, a third time which is the length of the third period, and a fourth time which is the length of the fourth period, the first time and the fourth time are the same, and the second time and the third time are the same, The total driving time of the first time, the second time, the third time, and the fourth time is defined as Tsum, the natural frequency of the mechanical device is defined as ωn / 2π, and the first time is T 1 When the moving distance is L, Tsum, ωn, T 1 , L, and optimizing the first time and the drive time so as to minimize the amplitude of the natural vibration based on a relational expression indicating the amplitude of the natural vibration; a determination step of determining the acceleration command based on the first time and the drive time optimized by the optimization step; A vibration suppression method comprising:
2. The optimization step comprises: 0<T 1 <a first calculation step of calculating the amplitude for each pair of the first time and the drive time based on the relational expression when the drive time and the first time are changed as variables so as to satisfy the condition of Tsum / 2; a first determination step of determining whether or not there is a pair in which the amplitude is zero for each calculation result calculated in the first calculation step; Equipped with When it is determined in the first determination step that there is a pair in which the amplitude is zero, a first optimization step of determining the first time and the drive time of the set in which the amplitude becomes zero as the optimized first time and drive time; The determination step determines the acceleration command based on the first time and the drive time optimized in the first optimization step; When it is determined that there is no pair in which the amplitude is zero in the first determination step, a search step of searching for a pair of the first time and the drive time corresponding to the smallest amplitude among the amplitudes calculated in the first calculation step; a second optimization step of optimizing the first time and the drive time of the set searched for by the search step to determine the optimized first time and drive time; The determination step determines the acceleration command based on the first time and the drive time optimized in the second optimization step.
2. The vibration suppression method according to claim 1.
3. a second determination step of determining whether or not the calculation result of the amplitude corresponding to the pair in which the amplitude determined in the first determination step is zero is equal to or less than a predetermined threshold value; Equipped with The first optimization step optimizes the first time and the drive time corresponding to the amplitude determined in the second determination step to be equal to or less than a predetermined threshold value, a third determination step of determining whether the calculation result of the amplitude corresponding to the pair searched for in the search step is equal to or smaller than a predetermined threshold value; Equipped with The second optimization step optimizes the first time and the drive time corresponding to the amplitude determined in the third determination step to be equal to or less than a predetermined threshold value.
3. The vibration suppression method according to claim 2.
4. A vibration suppression method for suppressing vibrations that occur when a mechanical device is driven based on a position command for controlling a rotational position of a motor based on a moving distance, a speed command for controlling a speed of the motor, and an acceleration command for controlling an acceleration of the motor, comprising: The acceleration command is controlling the acceleration of the motor over successive first, second, third and fourth time periods; During the first period, the acceleration of the motor increases from zero to a first acceleration; During the second time period, the acceleration of the motor is decreased from the first acceleration to zero; During the third period, the acceleration of the motor decreases from zero to a second acceleration; during the fourth period, the acceleration of the motor increases from the second acceleration to zero; Among a first time which is the length of the first period, a second time which is the length of the second period, a third time which is the length of the third period, and a fourth time which is the length of the fourth period, the first time and the fourth time are the same, and the second time and the third time are the same, acquiring a drive time that corresponds to the moving distance and defines a total time of the first time, the second time, the third time, and the fourth time; The drive time acquired in the acquisition step is Tsum, the natural frequency of the mechanical device is ωn / 2π, and the first time is T 1 When the moving distance is L, Tsum, ωn, T 1 , L, and calculating a solution for the first time from a relational expression indicating the amplitude of the natural vibration so as to minimize the amplitude of the natural vibration; 0<T 1 <a first optimization step of optimizing the solution at the first time when the solution calculated by the first calculation step exists under the condition of Tsum / 2; 0<T 1 <a second calculation step of calculating the amplitude based on the relational expression for each of a plurality of first times by varying the first time as a variable when the solution calculated by the first calculation step does not exist under the condition of Tsum / 2; a second optimization step of optimizing the amplitudes calculated in the second calculation step to the first time corresponding to the smallest amplitude; a determination step of determining the acceleration command based on the first time optimized in the first optimization step or the first time optimized in the second optimization step, and the drive time; A vibration suppression method comprising:
5. the second optimization step optimizes the first time to a minimum feasible time for driving the mechanical device; The determination step determines the acceleration command based on the first time and the drive time that are optimized in the second optimization step.
5. The vibration suppression method according to claim 4.
6. 6. A vibration suppression device comprising: a control unit that controls the motor of the mechanical device using the acceleration command determined by the vibration suppression method according to claim 1.
7. A machine tool that drives a motor based on a position command that controls a rotational position of the motor based on a moving distance, a speed command that controls a speed of the motor, and an acceleration command that controls an acceleration of the motor, The acceleration command is controlling the acceleration of the motor over successive first, second, third and fourth time periods; During the first period, the acceleration of the motor increases from zero to a first acceleration; During the second time period, the acceleration of the motor is decreased from the first acceleration to zero; During the third period, the acceleration of the motor decreases from zero to a second acceleration; during the fourth period, the acceleration of the motor increases from the second acceleration to zero; Among a first time which is the length of the first period, a second time which is the length of the second period, a third time which is the length of the third period, and a fourth time which is the length of the fourth period, the first time and the fourth time are the same, and the second time and the third time are the same, A drive time that defines the total time of the first time, the second time, the third time, and the fourth time is Tsum, the natural frequency of the machine tool is ωn / 2π, and the first time is T 1 When the moving distance is L, Tsum, ωn, T 1 , L, and optimizing the first time and the drive time so as to minimize the amplitude of the natural vibration based on a relational expression indicating the amplitude of the natural vibration; a determination means for determining the acceleration command based on the first time and the drive time optimized by the optimization means; A machine tool comprising:
Citation Information
Patent Citations
Command generating device
JP2006293622A
Vibration suppression device and vibration suppression method
JP2017138821A
Machine tool and vibration suppression method
JP2018118362A
Vibration suppression device and vibration suppression method
JP2019153085A
Vibration suppressing method and vibration suppressing device
JP2021071895A