Numerical control device and control method
The numerical control device addresses the cost and complexity issues of existing positioning systems by using a vibration model and estimation unit to suppress workbench vibrations without position and vibration detectors, achieving effective vibration control through torque command compensation.
Patent Information
- Application Number
- JP2021161904
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-30
- Publication Date
- 2025-06-18
- Estimated Expiration
- 2041-09-30
AI Technical Summary
Existing positioning devices require position and vibration detectors to suppress vibrations during workbench movement, which increases costs and complexity.
A numerical control device that uses a vibration model and estimation unit to calculate the moving speed of the workbench, allowing for compensation of the torque command based on the relative speed between the motor speed and estimated moving speed, thereby suppressing vibrations without the need for position and vibration detectors.
The solution effectively suppresses workbench vibrations by compensating the torque command, reducing the need for costly detectors and simplifying the system while maintaining precise control.
Smart Images

Figure 0007694315000006 
Figure 0007694315000007 
Figure 0007694315000008
Abstract
Description
Technical Field
[0001] The present invention relates to a numerical control device and a control method.
Background Art
[0002] The positioning device described in Patent Document 1 includes a position detector, a rotation angle detector, a numerical control device, a servo system, a position detector, a vibration detector, and a vibration suppression controller. The position detector detects the position of the movable part. The movable part is a table or the like that attaches and moves a workpiece. The movable part moves by driving a servo motor. The rotation angle detector detects the rotation angle of the servo motor. The numerical control device sets the movable part to a predetermined position. The servo system outputs a motor torque command to the servo motor based on the rotation angle of the servo motor detected by the rotation angle detector. The servo motor moves the movable part to the predetermined position set by the numerical control device based on the motor torque command. The vibration detector detects the acceleration due to the vibration of the non-movable part. The non-movable part supports the movable part. The non-movable part is, for example, a column. The vibration suppressor generates a vibration suppression torque command to be added to the motor torque command in order to suppress the vibration of the positioning device. The vibration suppressor generates the vibration suppression torque command using the motion analysis model of the mechanical system and the outputs of the position detector and the vibration detector.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] When generating the vibration suppression torque command, the above positioning device uses the output of the position detector that detects the position of the movable part and the output of the vibration detector that detects the acceleration due to the vibration of the non-movable part. From the viewpoint of cost reduction, it is preferable that the vibration of the positioning device can be suppressed with a configuration for moving the movable part to a predetermined position without using a position detector and a vibration detector.
[0005] An object of the present invention is to provide a numerical control device and a control method capable of suppressing vibration of a workbench in a configuration for moving the workbench to a predetermined position.
Means for Solving the Problems
[0006] A numerical control device according to a first aspect of the present invention includes a workbench for fixing a workpiece, a servo motor for moving the workbench, a position command generation unit for generating a position command for the workbench, and a speed command generation unit for generating a speed command for commanding the motor speed of the servo motor based on the position command generated by the position command generation unit. In a numerical control device including a torque command generation unit for generating a torque command for commanding the torque output by the servo motor based on the speed command generated by the speed command generation unit, an angle detection unit for detecting the rotation angle of the servo motor, and a motor speed calculation unit for calculating the motor speed of the servo motor based on the rotation angle detected by the angle detection unit, a vibration model which is a mathematical model for deriving the frequency characteristics of the vibration of the workbench, and an estimation unit for estimating the moving speed of the workbench using the motor speed calculated by the motor speed calculation unit, and a compensation unit for compensating the torque command generated by the torque command generation unit based on the relative speed which is the difference between the motor speed calculated by the motor speed calculation unit and the moving speed estimated by the estimation unit.
[0007] The numerical control device of the first aspect compensates the torque command generated by the torque command generation unit based on the difference between the motor speed of the servo motor and the moving speed of the workbench estimated by the estimation unit. The numerical control device can suppress the vibration of the workbench by compensating the torque command in the configuration for moving the workbench without using a position detector and a vibration detector.
[0008] In the numerical control device according to the first aspect, the compensation unit may include a filter that excludes frequency components within a predetermined range from the compensation value based on the relative speed. The numerical control device can exclude frequency components that are not caused by the vibration of the table by the filter. Therefore, the error between the actual vibration of the table and the vibration model is reduced, and the numerical control device can further suppress the vibration of the table.
[0009] In the numerical control device according to the first aspect, the vibration model may have a plurality of vibration models corresponding to the mass of the workpiece, and the estimation unit may estimate the speed of the table using the vibration model corresponding to the mass of the workpiece. The vibration of the table during the operation of the servo motor varies with the change in the mass of the workpiece. The numerical control device has a plurality of vibration models corresponding to the mass of the workpiece. Since the numerical control device uses a vibration model that matches the mass of the workpiece, the vibration of the table can be further suppressed.
[0010] In the numerical control device according to the first aspect, the vibration model may be composed of the sum of a plurality of transfer functions corresponding to each peak in the frequency characteristics of the vibration of the table. The vibration model becomes a model closer to the actual vibration of the table by adding a plurality of transfer functions. The numerical control device compensates the torque command using a vibration model closer to the actual vibration of the table. Therefore, the numerical control device can further suppress the vibration of the table.
[0011] The control method according to the second aspect of the present invention is a control method for a numerical control device including a worktable for fixing a workpiece and a servo motor for moving the worktable. The control method includes a position command generation step for generating a position command for the worktable, a speed command generation step for generating a speed command for commanding the motor speed of the servo motor based on the position command generated in the position command generation step, and a torque command generation step for generating a torque command for commanding the torque output by the servo motor based on the speed command generated in the speed command generation step. The control method further includes a motor speed calculation step for calculating the motor speed of the servo motor using an angle detection unit for detecting the rotation angle of the servo motor, a vibration model which is a mathematical model for deriving the frequency characteristics of the vibration of the worktable, an estimation step for estimating the moving speed of the worktable using the motor speed calculated in the motor speed calculation step and the vibration model, and a compensation step for compensating the torque command generated in the torque command generation step based on a relative speed which is a difference between the motor speed calculated in the motor speed calculation step and the moving speed estimated in the estimation step. The control method of the second aspect can achieve the same effect as the first aspect.
Brief Description of the Drawings
[0012]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Embodiments for Carrying Out the Invention
[0013] Embodiments of the present invention will be described. The following description uses the left - right, front - rear, and up - down directions indicated by arrows in the figures. The left - right, front - rear, and up - down directions of the machine tool 1 are the X - axis direction, Y - axis direction, and Z - axis direction of the machine tool 1 respectively. The machine tool 1 shown in FIG. 1 is a machine that rotates a tool 4 mounted on a spindle 9 and performs a cutting process on a workpiece 3 held on the upper surface of a worktable 13. A numerical control device 30 (see FIG. 2) controls the operation of the machine tool 1.
[0014] Referring to FIG. 1, the structure of the machine tool 1 will be described. The machine tool 1 includes a base 2, a column 5, a spindle head 7, a spindle 9, a worktable device 10, a tool changer 20, a control box 6, an operation panel 15 (see FIG. 2), etc. The base 2 is a substantially rectangular parallelepiped - shaped base made of metal. The column 5 is provided at 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 a spindle 9 inside. The spindle 9 has a mounting hole (not shown) at the lower part. The spindle 9 mounts the tool 4 in the mounting hole and rotates 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 on the front surface of the column 5. The numerical control device 30 controls the drive of a Z - axis motor 51 (see FIG. 2) to control the movement of the spindle head 7 in the Z - axis direction.
[0015] The workbench device 10 includes a Y-axis moving mechanism (not shown), a Y-axis workbench 12, an X-axis moving mechanism (not shown), a workbench 13, etc. The Y-axis moving mechanism is provided on the front side of the upper surface of the base 2 and includes a Y-axis rail, 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 workbench 12 in the Y-axis direction on the upper surface. The Y-axis workbench 12 is formed in a substantially rectangular parallelepiped shape and has a nut (not shown) on the outer surface of the bottom. The nut is screwed onto the Y-axis ball screw. When the Y-axis motor 54 rotates the Y-axis ball screw, the Y-axis workbench 12 moves along the Y-axis rail together with the nut. Therefore, the Y-axis moving mechanism supports the Y-axis workbench 12 so as to be movable in the Y-axis direction.
[0016] The X-axis moving mechanism is provided on the upper surface of the Y-axis workbench 12 and includes an X-axis rail (not shown), an X-axis ball screw (not shown), an X-axis motor 53 (see Fig. 2), etc. The X-axis rail and the X-axis ball screw extend in the X-axis direction. The workbench 13 is formed in a rectangular plate shape in plan view and is provided on the upper surface of the Y-axis workbench 12. The workbench 13 has a nut (not shown) at the bottom. The nut is screwed onto the X-axis ball screw. When the X-axis motor 53 rotates the X-axis ball screw, the workbench 13 moves along the X-axis rail together with the nut. Therefore, the X-axis moving mechanism supports the workbench 13 so as to be movable in the X-axis direction. Therefore, the workbench 13 can be moved in the X-axis direction and the Y-axis direction on the base 2 by the Y-axis moving mechanism, the Y-axis workbench 12, and the X-axis moving mechanism.
[0017] The tool changing device 20 is provided on the front side of the spindle head 7 and includes a disk-shaped tool magazine 21. The tool magazine 21 holds a plurality of tools (omitted in Fig. 1) radially on the outer periphery and positions the tool indicated by the tool change command at the tool change position. The tool change command is commanded by an NC program. The tool change position is the lowermost position of the tool magazine 21. The tool changing device 20 exchanges the tool 4 mounted on the spindle 9 with the tool at the tool change position.
[0018] The control box 6 houses the numerical control device 30 (see Fig. 2). The numerical control device 30 controls the Z-axis motor 51, the spindle motor 52, the X-axis motor 53, and the Y-axis motor 54 (see Fig. 2) provided on the machine tool 1 respectively, and performs various machining operations on the workpiece 3 held on the worktable 13 by relatively moving the workpiece 3 and the tool 4 mounted on the spindle 9. The various machining operations include, for example, drilling operations using drills, taps, etc., and side machining operations using end mills, milling cutters, etc.
[0019] The operation panel 15 is provided, for example, on the outer wall of a cover (not shown) covering the machine tool 1. The operation panel 15 includes an input unit 16 and a display unit 17 (see Fig. 2). The input unit 16 receives the input of various information, operation instructions, etc., and outputs them to the numerical control device 30 described later. The display unit 17 displays various screens based on commands from the numerical control device 30 described later.
[0020] Referring to Fig. 2, the electrical configurations 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, drive circuits 51A to 55A, etc. The CPU 31 performs overall control of the numerical control device 30. The ROM 32 stores various programs including the main program, a characteristic value table 36 described later, etc. The main program executes main processing. The main processing reads the NC program line by line and executes various operations. The NC program is composed of a plurality of lines including various control commands, and commands various operations including axis movement and tool change of the machine tool 1 in operation units. 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 the NC program input by the operator at the input unit 16 of the operation panel 15, as well as the NC program read by external input, etc., in the storage device 34.
[0021] 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 that drives the tool magazine 21 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 (collectively referred to as motors when mentioned generally hereinafter). 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 position and speed feedback control. The input / output unit 35 is connected to the operation panel 15.
[0022] Referring to FIG. 3, the servo control system of the drive circuit 54A will be described. Since the servo control system of the drive circuit 53A has the same configuration as that of the drive circuit 54A, the description thereof will be omitted. The CPU 31 of the numerical control device 30 generates a position command based on the control command of the NC program and outputs it to the drive circuit 54A. The encoder 54B of the Y-axis motor 54 outputs the current position information (rotation angle) of the Y-axis motor 54 as a position feedback signal (hereinafter referred to as a position FB signal) to the drive circuit 54A. The drive circuit 54A controls the drive current output to the Y-axis motor 54 based on the position FB signal and the position command.
[0023] The drive circuit 54A includes adders 61, 63, 65, 68, a position control unit 62, a feedforward control unit 64 (hereinafter referred to as an FF control unit 64), a differentiator 66, a speed control unit 67, a torque control unit 69, and an estimation compensation unit 80. The CPU 31 inputs the position command to the adder 61 and the FF control unit 64. The adder 61 calculates the position deviation between the position command and the position FB signal output by the encoder 54B and outputs it to the position control unit 62. The position control unit 62 multiplies the position deviation by a position proportional gain and outputs it to the adder 63.
[0024] The FF control unit 64 generates a feedforward command (hereinafter referred to as the FF command) based on the position command output by the CPU 31. The FF control unit 64 generates the FF command so that the position command coincides with the position output by the encoder 54B. The FF control unit 64 outputs the generated FF command to the adder 63. The adder 63 adds the FF command output by the FF control unit 64 to the position deviation output by the position control unit 62 to generate a speed command. The adder 63 outputs the generated speed command to the adder 65.
[0025] The encoder 54B of the Y-axis motor 54 outputs a position FB signal to the differentiator 66. The differentiator 66 differentiates the position FB signal to calculate the actual motor speed v m of the Y-axis motor 54, which is a speed feedback signal (hereinafter referred to as the speed FB signal), and outputs it to the adder 65. The adder 65 calculates the speed deviation between the speed command output by the adder 63 and the speed FB signal output by the differentiator 66, and outputs it to the speed control unit 67.
[0026] The speed control unit 67 multiplies the speed deviation by a speed proportional gain to generate a torque command and outputs it to the adder 68. The adder 68 adds the compensation command output by the estimation compensation unit 80 described later to the torque command output by the speed control unit 67 to generate a compensation torque command. The adder 68 outputs the generated compensation torque command to the torque control unit 69. The torque control unit 69 outputs the motor torque applied to the actual motor based on the compensation torque command. The Y-axis motor 54 is driven based on the motor torque instructed by the torque control unit 69. By driving the Y-axis motor 54, the worktable 13 moves in the Y-axis direction.
[0027] Referring to FIGS. 3 to 9, the relationship between the mass of the workpiece 3 held on the upper surface of the worktable 13 and the vibration generated in the machine tool 1 will be described. The mass of the workpiece 3 is up to 250 kg. As shown in FIG. 4, for example, when performing position control in the Y-axis direction of the worktable 13 in the drive circuit 54A, the speed loop gain (dB) from the speed command commanded to the adder 63 to the actual motor speed v m varies according to the frequency. The greater the speed loop gain, the greater the vibration of the worktable 13 holding the workpiece 3.
[0028] The frequency characteristics of the speed loop gain change according to the mass of the workpiece 3 held by the worktable 13 in a relatively low frequency range (10 to 100 Hz). When the mass of the workpiece 3 is 0 kg, that is, when the worktable 13 does not hold the workpiece 3, the peak 41 of the speed loop gain is around 55 Hz. When the mass of the workpiece 3 is 250 kg, the peak 42 of the speed loop gain is around 35 Hz. The height of the peak 42 of the speed loop gain when the mass of the workpiece 3 is 250 kg is greater than the height of the peak 41 of the speed loop gain when the mass of the workpiece 3 is 0 kg.
[0029] The frequencies and heights of the peaks 41 and 42 change according to the mass of the workpiece 3. Therefore, the peaks 41 and 42 are peaks caused by the vibration of the worktable 13 holding the workpiece 3. Hereinafter, the frequency characteristics of the speed loop gain caused by the vibration of the worktable 13 holding the workpiece 3 are referred to as the worktable characteristics. The frequency of the peak of the worktable characteristics becomes smaller as the mass of the workpiece 3 held by the worktable 13 increases. The height of the peak of the worktable characteristics becomes larger as the mass of the workpiece 3 held by the worktable 13 increases.
[0030] The distance in the Y-axis direction from a predetermined point on the upper surface of the worktable 13 to the tool 4 is referred to as the relative displacement. When the worktable 13 is at the position specified by the position command in the Y-axis direction, the position where the magnitude of the relative displacement becomes 0 is the predetermined point. As shown in FIG. 5, the amplitude of the relative displacement when the mass of the workpiece 3 is 250 kg is larger than the amplitude of the relative displacement when the mass of the workpiece 3 is 0 kg. As the mass of the workpiece 3 held by the worktable 13 increases, the amplitude of the relative displacement increases and the vibration of the worktable 13 increases. Therefore, it is important for the numerical control device 30 to suppress the vibration of the worktable 13 that changes due to the change in the mass of the workpiece 3 on the worktable 13 in order to effectively suppress the vibration of the worktable 13.
[0031] Referring to FIG. 3, the configuration of the estimation compensation unit 80 will be described. The estimation compensation unit 80 compensates the torque command generated by the speed control unit 67 and suppresses the vibration of the worktable 13. The estimation compensation unit 80 includes an estimation unit 81, an adder 82, a proportional gain 83, and a low-pass filter 84.
[0032] The estimation unit 81 estimates the moving speed of the table 13 using a mathematical model of the table characteristics. Hereinafter, the moving speed of the table 13 is referred to as the table speed v t as such. FIG. 6 shows the measured value of the speed loop gain when the mass of the workpiece 3 is 250 kg. In the measured value of the speed loop gain, as table characteristics, there is a peak 43 of the table characteristics near 40 Hz and a peak 44 of the table characteristics near 70 Hz.
[0033] The table characteristic formulas P t (s) that mathematically model the peaks 43 and 44 of the table characteristics are shown in the following formula (1). The table characteristic formula P t (s) is the sum of the transfer function corresponding to the peak 43 and the transfer function corresponding to the peak 44. The table characteristic formula P t (s)'s first term is the transfer function corresponding to the peak 43. The table characteristic formula P t (s)'s second term is the transfer function corresponding to the peak 44. The table characteristic formula P t (s) becomes a model close to the measured value as shown in FIG. 6 by adding the transfer functions corresponding to the respective two peaks 43 and 44. s is the Laplace operator. ω1 is the angular frequency of the peak 43, which is the value obtained by multiplying the frequency of the peak 43 by 2π. ω2 is the angular frequency of the peak 44, which is the value obtained by multiplying the frequency of the peak 43 by 2π. ζ1 is the damping coefficient of the peak 43, and its value varies depending on the height of the peak 43. ζ2 is the damping coefficient of the peak 44, and its value varies depending on the height of the peak 44. K1 is the gain of the peak 43, and its value varies depending on the overall magnitude of the peak 43. K2 is the gain of the peak 44, and its value varies depending on the overall magnitude of the peak 44.
Equation
[0034] Since the table characteristics vary depending on the mass of the workpiece 3, the table characteristic formula P t(s) The corner frequencies ω1, ω2, damping coefficients ζ1, ζ2, gains K1, K2 vary in value depending on the mass of the workpiece 3. Hereinafter, the corner frequencies ω1, ω2, damping coefficients ζ1, ζ2, gains K1, K2 are collectively referred to as characteristic values. As shown in FIG. 7, the ROM 32 stores the mass of the workpiece 3 and the characteristic values corresponding to the mass of the workpiece 3 as a characteristic value table 36. The characteristic value table 36 stores the relationship between the mass of the workpiece 3 and the characteristic values up to a maximum of 250 kg at 50 kg intervals. The result of substituting the characteristic values into the worktable characteristic formula P t (s) is called a vibration model. The numerical control device 30 has a plurality of vibration models based on a plurality of characteristic values that vary according to the mass of the workpiece 3.
[0035] The estimator 81 acquires characteristic values corresponding to the mass of the workpiece 3. The estimator 81 determines a vibration model from the acquired characteristic values and the worktable characteristic formula P t (s). The estimator 81 estimates the worktable speed v t using the vibration model. More specifically, the estimator 81 sets z = (1 + sT s / 2) / (1 - sT s / 2) and discretizes P t (s) by prewarped bilinear transformation as shown in the following equation (2). T s is the sampling time and k is the time in the discrete system. Equation (3) is the corner frequency ω p1 after prewarping with respect to ω1.
Number
Number
[0036] The estimator 81 calculates the worktable speed v t [k] in the discrete system by solving the following difference equation (4). The estimator 81 estimates the worktable speed v t [k] in the continuous system by performing an inverse discrete Fourier transform on the worktable speed v t in the discrete system. The estimator 81 outputs the estimated worktable speed v t to the adder 82.
Number
[0037] The adder 82 subtracts the table speed v output by the estimator 81 from the motor speed v indicated by the speed FB signal output by the differentiator 66, calculates the relative speed Δv, and outputs it to the proportional gain 83. The proportional gain 83 generates a relative speed command by multiplying the relative speed Δv by the relative speed proportional gain, and outputs it to the low-pass filter 84. m from the table speed v output by the estimator 81. t The low-pass filter 84 removes the frequency components in the high-frequency region (100 Hz and above) of the relative speed command output by the proportional gain 83. The lower limit of the high-frequency region, 100 Hz, is called the cut-off frequency. The low-pass filter 84 is denoted by F(s) in the following equation (5). ω
[0038] is the cut-off angular frequency, which is the value obtained by multiplying the cut-off frequency (100 Hz) by 2π. The low-pass filter 84 generates a compensation command excluding the frequency components in the high-frequency region of the relative speed command, and outputs it to the adder 68. The adder 68 generates a compensated torque command by adding the compensation command output by the estimation compensation unit 80 to the torque command generated by the speed control unit 67, thereby compensating the torque command. When the relative speed Δv is greater than 0, the adder 68 adds to the torque command so as to follow the torque output by the Y-axis motor 54 for the movement of the table 13. When the relative speed Δv is less than 0, the adder 68 subtracts from the torque command so as to suppress the excessive torque output by the Y-axis motor 54 for the movement of the table 13. f is the cut-off angular frequency, which is the value obtained by multiplying the cut-off frequency (100 Hz) by 2π. The low-pass filter 84 generates a compensation command excluding the frequency components in the high-frequency region of the relative speed command, and outputs it to the adder 68. The adder 68 generates a compensated torque command by adding the compensation command output by the estimation compensation unit 80 to the torque command generated by the speed control unit 67, thereby compensating the torque command. When the relative speed Δv is greater than 0, the adder 68 adds to the torque command so as to follow the torque output by the Y-axis motor 54 for the movement of the table 13. When the relative speed Δv is less than 0, the adder 68 subtracts from the torque command so as to suppress the excessive torque output by the Y-axis motor 54 for the movement of the table 13.
Number
[0039] As shown in FIG. 8, when there is no compensation for the torque command by the estimation compensation unit 80, a peak of the table characteristics occurs at around 40 Hz in the actually measured value of the speed loop gain. When there is compensation for the torque command by the estimation compensation unit 80, no peak occurs at around 40 Hz. As shown in FIG. 9, the amplitude of the relative displacement when there is compensation for the torque command by the estimation compensation unit 80 is reduced compared to the amplitude of the relative displacement when there is no compensation for the torque command by the estimation compensation unit 80. Therefore, by compensating the torque command based on the relative speed Δv by the estimation compensation unit 80, the vibration of the table 13 can be suppressed.
[0040] Referring to FIG. 10, the flow of compensation for the torque command by the estimation compensation unit 80 will be described. The control of the numerical control device 30 is the same when the table 13 moves in the X-axis direction and when it moves in the Y-axis direction. Hereinafter, the flow of compensation for the speed command by the estimation compensation unit 80 when the table 13 moves in the Y-axis direction will be described. Before the table 13 moves in the Y-axis direction, the operator inputs the mass of the workpiece 3 to the operation panel 15. The storage device 34 stores the mass of the workpiece 3 input by the operator.
[0041] The operator inputs the program number of the NC program to the operation panel 15. The CPU 31 reads out the NC program corresponding to the program number input by the operator from the storage device 34 and displays it on the display unit 17. The operator inputs an execution instruction for the NC program to the operation panel 15.
[0042] The CPU 31 acquires characteristic values from the characteristic value table 36 in response to the execution instruction of the NC program (A1). The CPU 31 acquires the characteristic values corresponding to the mass of the workpiece 3 stored in the storage device 34 in A1. The CPU 31 outputs the acquired characteristic values to the drive circuit 54A (A2). The CPU 31 generates a position command for moving the table 13 to the position specified by the NC program (A3) and outputs it to the drive circuit 54A (A4).
[0043] The drive circuit 54A acquires the characteristic values from the CPU 31 (B1). The drive circuit 54A is the table characteristic formula P tA vibration model is determined based on (s) and the characteristic values acquired in B1 (B2). Driving circuit 54A acquires a position command from CPU 31 (B3). Adder 63 generates a speed command based on the position command generated by CPU 31 (B4). Speed control unit 67 generates a torque command based on the speed command generated by adder 63 (B5). Speed control unit 67 of Y-axis motor 54 starts driving based on the torque command generated (B6). Drive of Y-axis motor 54 causes worktable 13 to start moving in the Y-axis direction.
[0044] The encoder 54B detects the current position information (rotation angle) of the Y-axis motor 54 and outputs position feedback information (B7). Based on the position feedback information, the differentiator 66 calculates the motor speed v of the Y-axis motor 54. m (B8). The differentiator 66 calculates the motor speed v m The speed FB signal is output.
[0045] The estimation unit 81 of the estimation compensation unit 80 estimates the worktable speed v based on the vibration model determined in B2. t (B9) and outputs it to the adder 82. The adder 82 estimates the motor speed v m The worktable speed v estimated by B9 from t (B10) is calculated as the relative velocity Δv. The proportional gain 83 generates a relative velocity command by multiplying the relative velocity Δv by the relative velocity proportional gain, and outputs it to the low-pass filter 84 (B11). The low-pass filter 84 removes frequency components in the high frequency range (100 Hz or higher) from the relative velocity command (B12) and generates a compensation command. The estimation compensation unit 80 outputs the compensation command to the adder 68 (B13). The adder 68 adds the compensation command output by the estimation compensation unit 80 to the torque command generated by the speed control unit 67, thereby compensating for the torque command.
[0046] As described above, in the numerical control device 30, the encoder 54B detects the current position information (rotation angle) of the Y-axis motor 54. The encoder 54B outputs the position information as a position FB signal. Based on the position FB signal, the differentiator 66 calculates the motor speed v of the Y-axis motor 54. mis calculated. The differentiator 66 outputs a speed FB signal which is a signal of the motor speed v m The estimator 81 of the estimation compensation unit 80 estimates the table feed speed v t based on the vibration model. The adder 82 subtracts the table feed speed v m estimated by the estimator 81 from the motor speed v t calculated by the differentiator 66 to calculate a relative speed Δv. The estimation compensation unit 80 outputs a compensation command based on the relative speed Δv to the adder 68. The adder 68 compensates the torque command by adding the compensation command output by the estimation compensation unit 80 to the torque command generated by the speed control unit 67. The numerical control device 30 estimates the table feed speed v t using a vibration model without providing a position sensor for detecting the position of the table 13, a vibration sensor for detecting the vibration of the table 13, etc. to the table 13. The numerical control device 30 suppresses the vibration of the table 13 by compensating based on the relative speed Δv obtained by subtracting the table feed speed v m from the motor speed v t . The numerical control device 30 can suppress the vibration of the table 13 by compensating the torque command in a configuration for moving the table 13 based on a position command
[0047] The proportional gain 83 generates a relative speed command by multiplying the relative speed Δv by a relative speed proportional gain, and outputs it to the low-pass filter 84. The low-pass filter 84 generates a compensation command by removing frequency components in a high-frequency region (100 Hz~) in the relative speed command. Since the peak of the table characteristics occurs at a relatively low frequency (10~100 Hz), the numerical control device 30 can remove frequency components not caused by the vibration of the table 13 by the low-pass filter 84. Therefore, the error between the actual vibration of the machine tool 1 and the vibration model is reduced, and the numerical control device 30 can further suppress the vibration of the table 13
[0048] The ROM 32 stores a plurality of characteristic value tables 36 associating the mass of the workpiece 3 with characteristic values corresponding to the mass of the workpiece 3. The estimator 81 acquires a characteristic value corresponding to the mass of the workpiece 3 from the characteristic value table 36. The estimator 81 uses the acquired characteristic value and the table characteristic formula P tDetermine the vibration model from (s). The estimation unit 81 estimates the table speed v using the determined vibration model. The table characteristics change according to the change in the mass of the workpiece 3. The numerical control device 30 has a plurality of vibration models by combining the characteristic value corresponding to the mass of the workpiece 3 and the table characteristic formula P(s). Since the numerical control device 30 uses the vibration model corresponding to the mass of the workpiece 3, the vibration of the table 13 can be further suppressed. t The table characteristic formula P(s) in the vibration model is the sum of the transfer function corresponding to the peak 43 and the transfer function corresponding to the peak 44. The first term of the table characteristic formula P(s) is the transfer function corresponding to the peak 43. The second term of the table characteristic formula P(s) is the transfer function corresponding to the peak 44. The table characteristic formula P(s) becomes a model close to the measured value by adding the transfer functions corresponding to the two peaks 43 and 44 respectively. The numerical control device 30 compensates the torque command using a vibration model closer to the actual vibration of the table 13. Therefore, the numerical control device 30 can further suppress the vibration of the table 13. t In the above embodiment, the X-axis motor 53 and the Y-axis motor 54 are examples of the servo motor of the present invention. The CPU 31 is an example of the position command generation unit of the present invention. The adder 63 is an example of the speed command generation unit of the present invention. The speed control unit 67 is an example of the torque command generation unit of the present invention. The encoders 53B and 54B are examples of the angle detection unit of the present invention. The differentiator 66 is an example of the motor speed calculation unit of the present invention. The estimation compensation unit 80 is an example of the compensation unit of the present invention. The relative speed command is an example of the compensation value of the present invention. The low-pass filter 84 is an example of the filter of the present invention. The step A3 is an example of the position command generation step of the present invention. The step B4 is an example of the speed command generation step of the present invention. The step B5 is an example of the torque command generation step of the present invention. The step B8 is an example of the motor speed calculation step of the present invention. The process B9 is an example of the estimation step of the present invention. The process B13 is an example of the compensation step of the present invention.
[0049] The table characteristic formula P(s) in the vibration model t is the sum of the transfer function corresponding to the peak 43 and the transfer function corresponding to the peak 44. The table characteristic formula P(s) t The first term of is the transfer function corresponding to the peak 43. The table characteristic formula P(s) t The second term of is the transfer function corresponding to the peak 44. The table characteristic formula P(s) t becomes a model close to the measured value by adding the transfer functions corresponding to the two peaks 43 and 44 respectively. The numerical control device 30 compensates the torque command using a vibration model closer to the actual vibration of the table 13. Therefore, the numerical control device 30 can further suppress the vibration of the table 13.
[0050] In the above embodiment, the X-axis motor 53 and the Y-axis motor 54 are examples of the servo motor of the present invention. The CPU 31 is an example of the position command generation unit of the present invention. The adder 63 is an example of the speed command generation unit of the present invention. The speed control unit 67 is an example of the torque command generation unit of the present invention. The encoders 53B and 54B are examples of the angle detection unit of the present invention. The differentiator 66 is an example of the motor speed calculation unit of the present invention. The estimation compensation unit 80 is an example of the compensation unit of the present invention. The relative speed command is an example of the compensation value of the present invention. The low-pass filter 84 is an example of the filter of the present invention. The step A3 is an example of the position command generation step of the present invention. The step B4 is an example of the speed command generation step of the present invention. The step B5 is an example of the torque command generation step of the present invention. The step B8 is an example of the motor speed calculation step of the present invention. The process B9 is an example of the estimation step of the present invention. The process B13 is an example of the compensation step of the present invention.
[0051] The present invention can be variously modified from the above-described embodiments. Each of the various modification examples described below can be combined with each other as long as there is no contradiction. For example, in the machine tool 1 of the above-described embodiment, the spindle extends in the Z-axis direction and is a vertical machine tool, but the present invention can also be applied to a horizontal machine tool in which the spindle extends in the horizontal direction.
[0052] In the machine tool 1 of the above-described embodiment, the spindle 9 for mounting the tool 4 is movable in the Z-axis direction, and the worktable 13 is movable in the X-axis direction and the Y-axis direction. However, the worktable 13 may also move in the Z-axis direction in addition to the X-axis direction and the Y-axis direction.
[0053] The worktable 13 of the above-described embodiment translates in the X-axis direction and the Y-axis direction. However, in addition to the translation in the X-axis direction and the Y-axis direction, the worktable 13 may be rotatable, for example, around an axis extending in the X-axis direction.
[0054] The drive circuits 51A to 55A of the above-described embodiment are provided in the machine tool 1, but the drive circuits 51A to 55A may be provided in the numerical control device 30.
[0055] In the above-described embodiment, all of the characteristic values changed according to the mass of the workpiece 3. On the other hand, some of the characteristic values may change according to the mass of the workpiece 3. The characteristic values stored in the characteristic value table 36 do not change at 50 kg intervals, and may change, for example, at 10 kg intervals. The characteristic values do not have to be those stored in the characteristic value table 36, and may be mathematically derived by substituting the mass of the workpiece 3.
[0056] In the above-described embodiment, the worktable characteristic formula P t (s) consists of the sum of two transfer functions, but may consist of one transfer function, or may be the sum of three or more transfer functions. For example, when there are three peaks in the worktable characteristics, the sum of the three transfer functions corresponding to each of the three peaks is used as the worktable characteristic formula P t (s), whereby the worktable characteristic formula P t (s) can be made into a model closer to the vibration of the actual worktable 13. The worktable characteristic formula P t(s)' transfer function may vary according to the mass of the workpiece 3. For example, when the mass of the workpiece 3 is between 0 and 50 kg, the worktable characteristic formula P t (s) consists of one transfer function. When the mass of the workpiece 3 is between 50 and 100 kg, the worktable characteristic formula P t (s) may consist of the sum of two transfer functions. The transfer function of the worktable characteristic formula P t (s) is not limited to a second-order lag system and may be a first-order lag system.
[0057] The cut-off frequency of the low-pass filter 84 is not limited to 100 Hz and may be set to any value that does not exclude the peak of the worktable characteristics. The estimation compensation unit 80 may be provided with a high-pass filter that excludes frequency components lower than the cut-off frequency. The cut-off frequency of the high-pass filter may be set to any value that does not exclude the peak of the worktable characteristics. The estimation compensation unit 80 may be provided with a band-pass filter that excludes frequency components within a predetermined range that does not include the frequency of the peak of the worktable characteristics.
[0058] In the above embodiment, the CPU 31 generates a position command, and the drive circuit 54A generates a speed command, a torque command, and a compensation speed command. In contrast, the CPU 31 may generate some or all of the speed command, the torque command, and the compensation speed command. The drive circuit 54A may be provided with a CPU that comprehensively controls the drive circuit 54A. In this case, the CPU of the drive circuit 54A may generate a position command.
Explanation of Symbols
[0059] 1 Machine tool 3 Workpiece 13 Worktable 30 Numerical control device 31 CPU 32 ROM 36 Characteristic value table 53 X-axis motor 53A, 54A Drive circuit 53B, 54B Encoder 54 Y-axis motor 65 Adder 66 Differentiator 67 Speed control unit 80 Estimation Compensation Unit 81 Estimation Unit 84 Low-Pass Filter
Claims
1. A numerical control device for controlling the operation of a machine tool, comprising a workbench for fixing a workpiece to be machined, a servo motor for moving the workbench, and an angle detection unit for detecting the rotation angle of the servo motor, the numerical control device comprising: a position command generation unit for generating a position command for the workbench; a speed command generation unit for generating a speed command for commanding the motor speed of the servo motor based on the position command generated by the position command generation unit; and a torque command generation unit for generating a torque command for commanding the torque output by the servo motor based on the speed command generated by the speed command generation unit. In the numerical control device, a motor speed calculation unit for calculating the motor speed of the servo motor based on the rotation angle detected by the angle detection unit; an estimation unit for estimating the moving speed of the workbench using a vibration model which is a mathematical model for deriving the frequency characteristics of the vibration of the workbench and the motor speed calculated by the motor speed calculation unit; a compensation unit for compensating the torque command generated by the torque command generation unit based on a relative speed which is a difference between the motor speed calculated by the motor speed calculation unit and the moving speed estimated by the estimation unit The numerical control device is characterized by comprising the above.
2. The numerical control device according to claim 1, wherein the compensation unit comprises a filter for removing frequency components within a predetermined range from a compensation value based on the relative speed.
3. The numerical control device according to claim 1 or 2, wherein the numerical control device has a plurality of the vibration models according to the mass of the workpiece to be machined, and the estimation unit estimates the speed of the workbench using the vibration model according to the mass of the workpiece to be machined.
4. The numerical control device according to any one of claims 1 to 3, wherein the vibration model comprises a sum of a plurality of transfer functions corresponding to respective peaks in the frequency characteristics of the vibration of the workbench.
5. In a control method of a numerical control device that controls the operation of a machine tool including a workbench for fixing a workpiece, a servo motor for moving the workbench, and an angle detection unit for detecting the rotation angle of the servo motor, the control method includes a position command generation step of generating a position command for the workbench, a speed command generation step of generating a speed command for commanding the motor speed of the servo motor based on the position command generated in the position command generation step, and a torque command generation step of generating a torque command for commanding the torque output by the servo motor based on the speed command generated in the speed command generation step, a motor speed calculation step of calculating the motor speed of the servo motor using the angle detection unit, an estimation step of estimating the moving speed of the workbench using a vibration model that is a mathematical model for deriving the frequency characteristics of the vibration of the workbench and the motor speed calculated in the motor speed calculation step, a compensation step of compensating the torque command generated in the torque command generation step based on a relative speed that is the difference between the motor speed calculated in the motor speed calculation step and the moving speed estimated in the estimation step characterized by including the above steps.
Citation Information
Patent Citations
Positioning control system
JP1980034716A
Method and device for controlling motor
JP1992140086A
Positioning device
JP1995110716A
Vibration suppressor
JP2002325473A
Servo control device, and adjustment method of machine
JP2005078576A