Numerical control device and control method

The numerical control device compensates torque commands using estimated workbench speed to suppress vibrations, eliminating the need for position and vibration detectors, thus reducing costs and complexity while maintaining precision.

JP7707961B2Active Publication Date: 2025-07-15BROTHER KOGYO KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022026768
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-24
Publication Date
2025-07-15
Estimated Expiration
2042-02-24

AI Technical Summary

Technical Problem

Existing positioning devices require position detectors and vibration detectors to suppress vibrations, which increases costs and complexity.

Method used

A numerical control device that compensates torque commands based on estimated workbench speed without using position or vibration detectors, utilizing a vibration model and compensation units to suppress vibrations.

Benefits of technology

Effectively suppresses workbench vibrations by compensating torque commands, reducing the need for additional sensors and simplifying the system while maintaining precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007707961000006
    Figure 0007707961000006
  • Figure 0007707961000007
    Figure 0007707961000007
  • Figure 0007707961000008
    Figure 0007707961000008
Patent Text Reader

Abstract

To provide a numerical control device and a control method capable of suppressing vibrations of a machine table with a configuration for moving the machine table to a prescribed position.SOLUTION: An encoder 54B detects the current position information of a Y-axis motor 54, and outputs it as a position FB signal. A differentiator 66 calculates a motor speed vm of the Y-axis motor 54 on the basis of the position FB signal, and outputs a speed FB signal being a signal of the motor speed vm. An estimation part 81 of an estimation compensation part 80 estimates a machine table speed vt on the basis of a vibration model. An adder 82 subtracts the machine table speed vt outputted by the estimation part 81 from a speed command vr generated by an adder 63 to calculate a relative speed Δv. The estimation compensation part 80 generates a compensation command based on the relative speed Δv to output it to an adder 68. The adder 68 compensates a torque command generated by a speed control part 67 with the compensation command outputted by the estimation compensation part 80.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

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 of the workbench, and based on the position command generated by the position command generation unit, a speed command generation unit for generating a speed command for commanding the motor speed of the servo motor, 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, an angle detection unit for detecting the rotation angle of the servo motor, 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 generating a compensation command based on a relative speed which is a difference between the speed command generated by the speed command generation unit and the moving speed estimated by the estimation unit, and the torque command output by the torque command generation unit is compensated based on the compensation command generated by the compensation 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 speed command generated by the speed command generation unit 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 of the first aspect, the compensation unit may include a filter that removes frequency components within a predetermined range from the compensation value based on the relative speed. The numerical control device can remove frequency components that do not result from the vibration of the worktable by the filter. Therefore, the error between the actual vibration of the worktable and the vibration model becomes smaller, and the numerical control device can further suppress the vibration of the worktable.

[0009] The estimation unit may estimate the moving speed of the worktable using the vibration model corresponding to the mass of the workpiece. The vibration of the worktable during the operation of the servo motor varies with the change in the mass of the workpiece. Since the numerical control device uses a vibration model adapted to the mass of the workpiece, the vibration of the machine tool can be further suppressed.

[0010] In the numerical control device of the first aspect, the vibration model may consist of a single transfer function. Since the vibration model consists of a single transfer function, the numerical control device can easily estimate the speed of the worktable.

[0011] In the numerical control device of the first aspect, a determination unit for determining whether or not the mass of the workpiece is equal to or greater than a threshold value is provided, and the estimation unit may estimate the moving speed of the worktable when the determination unit determines that the mass of the workpiece is equal to or greater than the threshold value. When the mass of the workpiece is small, the vibration of the worktable does not increase due to fixing the workpiece to the worktable. In the numerical control device, when the mass of the workpiece is equal to or greater than the threshold value, the estimation unit estimates the moving speed of the worktable. Therefore, the numerical control device can simplify the process.

[0012] The control method according to the second aspect of the present invention includes a position command generation step of generating a position command for fixing a workpiece, a speed command generation step of generating a speed command for commanding the motor speed of a servo motor that moves the worktable 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. In the control method of a numerical control device, a motor speed calculation step of calculating the motor speed of the servo motor using an angle detection unit that detects the rotation angle of the servo motor, a vibration model that is a mathematical model for deriving the frequency characteristics of the vibration of the worktable, and an estimation step of estimating the moving speed of the worktable using the motor speed calculated in the motor speed calculation step, and a compensation step of generating a compensation command based on the relative speed that is the difference between the speed command generated in the speed command generation step and the moving speed estimated in the estimation step, and compensating the torque command output by the torque command generation step based on the compensation command generated in the compensation step. The control method of the second aspect can achieve the same effect as the first aspect.

Brief Description of the Drawings

[0013]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Embodiments for Carrying out the Invention

[0014] Embodiments of the present invention will be described. The following description uses the left-right, front-back, and up-down directions indicated by arrows in the figures. The left-right direction, front-back direction, and up-down direction 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.

[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 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 the 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.

[0016] 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 its 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 that it can move in the Y-axis direction.

[0017] 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 that it can move in the X-axis direction. Therefore, the workbench 13 can move 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.

[0018] The tool changer 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 its 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 changer 20 exchanges the tool 4 mounted on the spindle 9 with the tool at the tool change position.

[0019] 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 a drill, a tap, etc., and side machining operations using an end mill, a milling cutter, etc.

[0020] 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.

[0021] 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, the mass M0 (kg) of the worktable 13, the axial rigidity K (N / m) of the vibration system described later, the viscosity C (N / (m / s)), etc. The main program executes the 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 the axis movement of the machine tool 1, tool change, etc. 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 and the NC program read by external input, etc. in the storage device 34.

[0022] 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 (hereinafter simply referred to as motors when collectively referred to). 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.

[0023] 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.

[0024] 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.

[0025] 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.

[0026] 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 v r and outputs the generated speed command v r to the adder 65 and the adder 82 of the estimation compensation unit 80 described later.

[0027] 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 a speed feedback signal (hereinafter referred to as the speed FB signal), which is a signal of the actual motor speed v m of the Y-axis motor 54, and outputs it to the adder 65. The adder 65 calculates the speed deviation between the speed command v r output by the adder 63 and the speed FB signal output by the differentiator 66, and outputs it to the speed control unit 67.

[0028] 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 compensated torque command. The adder 68 outputs the generated compensated 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 compensated torque command. The Y-axis motor 54 is driven based on the motor torque indicated by the torque control unit 69. By driving the Y-axis motor 54, the worktable 13 moves in the Y-axis direction.

[0029] With reference to FIGS. 4 and 5, the relationship between the mass M W 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 M W(kg) can be up to 400 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 command v is commanded to the adder 63 r from the actual motor speed v m to the speed loop gain (dB) up to will vary according to the frequency. The greater the speed loop gain, the greater the vibration of the worktable 13 holding the workpiece 3.

[0030] The frequency characteristics of the speed loop gain are in the relatively low frequency range (10 - 100 Hz), and the mass M of the workpiece 3 held by the worktable 13 W varies accordingly. The mass M of the workpiece 3 W 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 M of the workpiece 3 W is 250 kg, the peak 42 of the speed loop gain is around 35 Hz. When the mass M of the workpiece 3 W is 250 kg, the height of the peak 42 of the speed loop gain is greater than the height of the peak 41 of the speed loop gain when the mass M of the workpiece 3 W is 0 kg.

[0031] The frequencies and heights of the peaks 41 and 42 vary according to the mass M of the workpiece 3 W Accordingly, 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 M of the workpiece 3 held by the worktable 13 W increases. The height of the peak of the worktable characteristics becomes larger as the mass M of the workpiece 3 held by the worktable 13 W increases.

[0032] The distance in the Y-axis direction from a specified point on the upper surface of the worktable 13 to the tool 4 is called 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 specified point. As shown in FIG. 5, the amplitude of the relative displacement when the mass M of the workpiece 3 W is 250 kg is the mass M of the workpiece 3W becomes larger than the amplitude of the relative displacement at 0 kg. The mass M of the workpiece 3 held by the worktable 13 W The larger the mass M of the workpiece 3 held by the worktable 13 becomes, the larger the amplitude of the relative displacement becomes, and the larger the vibration of the worktable 13 becomes. Therefore, in order to effectively suppress the vibration of the worktable 13, the numerical control device 30 suppresses the vibration of the worktable 13 that changes due to the change in the mass M of the workpiece 3 on the worktable 13 W is important.

[0033] Referring to FIG. 3, the configuration of the estimation compensation unit 80 will be described. The estimation compensation unit 80 generates a compensation command for compensating the torque command generated by the speed control unit 67, and outputs the compensation command to the adder 68. The estimation compensation unit 80 includes an estimator 81, an adder 82, a proportional gain 83, and a low-pass filter 84.

[0034] The estimator 81 estimates the moving speed of the worktable 13 using a mathematical model of the worktable characteristics. Hereinafter, the moving speed of the worktable 13 will be referred to as the worktable speed v t . The broken line in FIG. 6 is the measured value of the speed loop gain when the mass M of the workpiece 3 W is 250 kg. The measured value of the speed loop gain has a peak 43 of the worktable characteristics near 40 Hz as the worktable characteristics.

[0035] The worktable characteristic formula P t (s) that mathematically models the peak 43 of the worktable characteristics is shown in the following formula (1). The worktable characteristic formula P t (s) consists of a single transfer function corresponding to the peak 43. s is the Laplace operator. M is the total mass (kg) of the worktable 13 and the workpiece 3. Hereinafter, referring to the whole of the worktable 13 and the workpiece 3, it is referred to as the vibration system. The mass M of the vibration system is expressed by M = M0 + M W using the mass M0 of the worktable 13 and the mass M of the workpiece 3 W . K is the rigidity in the axial direction of the vibration system (Y-axis direction in the drive circuit 54A). C is the viscosity in the axial direction of the vibration system (Y-axis direction in the drive circuit 54A).

Number

[0036] The mass M of the workpiece 3 W The respective change amounts of the stiffness K and the viscosity C of the vibration system accompanying the change in are small with respect to the change amount of the mass M of the vibration system accompanying the change in the mass M W . Therefore, in the numerical control device 30, the values of the stiffness K and the viscosity C of the vibration system are treated as constants. Thus, in the numerical control device 30, when the mass M W of the workpiece 3 is determined, the worktable characteristic formula P t (s) of the worktable characteristics, which is a mathematical model, is uniquely determined. The determined worktable characteristic formula P t (s) is called a vibration model.

[0037] The estimator 81 estimates the worktable speed v t using the worktable characteristic formula P t . More specifically, the estimator 81 sets z = (1 + sT s / 2) / (1 - sT s / 2) and discretizes P t (s) by bilinear transformation with prewarping as shown in the following formula (2). T s is the sampling time, and k is the time in the discrete system. Formula (3) is the angular frequency ω after prewarping with respect to the angular frequency ω p . Note that the angular frequency ω can be expressed as ω = (M / K) 0.5 .

Number

Number

[0038] The estimator 81 solves the following difference equation, formula (4), to calculate the worktable speed v t [k] in the discrete system. The estimator 81 performs an inverse discrete Fourier transform on the worktable speed v t [k] in the discrete system to estimate the worktable speed v t in the continuous system. The solid line in Fig. 6 is the mass M of the workpiece 3 Wis the vibration model at 250 kg. The vibration model agrees well with the measured value of the velocity loop gain. The estimator 81 outputs the estimated table velocity v t to the adder 82.

Number

[0039] The adder 82 subtracts the table velocity v r output from the estimator 81 from the velocity command v t generated by the adder 63 to calculate the relative velocity Δv and outputs it to the proportional gain 83. The proportional gain 83 multiplies the relative velocity Δv by the relative velocity proportional gain k rv to generate a relative velocity command and outputs it to the low-pass filter 84.

[0040] The low-pass filter 84 removes the frequency components in the high-frequency region (60 Hz~) in the relative velocity command output from the proportional gain 83. The lower limit of the high-frequency region, 60 Hz, is called the cut-off frequency. The low-pass filter 84 is denoted by F(s) in the following equation (5). ω f is the cut-off angular frequency, which is the value obtained by multiplying the cut-off frequency (60 Hz) by 2π. The low-pass filter 84 generates a compensation command excluding the frequency components in the high-frequency region in the relative velocity command and outputs it to the adder 68. The adder 68 adds the compensation command output from the estimation compensation unit 80 to the torque command generated by the speed control unit 67 to generate a compensated torque command obtained by compensating the torque command. When the relative velocity Δv is greater than 0, the adder 68 adds it to the torque command so that the torque output by the Y-axis motor 54 follows the movement of the table 13. When the relative velocity Δv is less than 0, the adder 68 subtracts it from the torque command to suppress the excessive torque output by the Y-axis motor 54 with respect to the movement of the table 13.

Number

[0041] As shown in Fig. 7, the mass M WWhen it is 250 kg, the amplitude of the relative displacement when there is compensation of the torque command by the estimated compensation unit 80 is reduced compared to the amplitude of the relative displacement when there is no compensation of the torque command by the estimated compensation unit 80. Therefore, by the estimated compensation unit 80 compensating the torque command based on the relative speed Δv, the vibration of the workbench 13 can be suppressed.

[0042] As shown in FIG. 8(A), even when the relative speed proportional gain k rv increases, the vibration model does not have a sharp phase lag as an open-loop characteristic and is stable. As shown in FIG. 8(B), even when the relative speed proportional gain k rv increases, the gain of the vibration model is stable as an open-loop characteristic. Therefore, the estimated compensation unit 80 can stably compensate the torque command with respect to the change in the relative speed proportional gain k rv .

[0043] Referring to FIG. 9, the flow of compensation of the torque command by the estimated compensation unit 80 will be described. The control of the numerical control device 30 is the same when the workbench 13 moves in the X-axis direction and when it moves in the Y-axis direction. Hereinafter, the flow of compensation of the speed command by the estimated compensation unit 80 when the workbench 13 moves in the Y-axis direction will be described. The storage device 34 stores the mass M0 of the workbench 13, the rigidity K in the Y-axis direction of the vibration system, and the viscosity C.

[0044] The operator inputs the program number of the NC program into 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 of the NC program into the operation panel 15.

[0045] The user inputs the mass M W of the workpiece 3 into the operation panel 15. The CPU 31 receives the mass M W of the workpiece 3 input by the user and stores it in the RAM 33 (A1). The CPU 31 determines whether the received mass M W of the workpiece 3 is equal to or greater than the threshold value (A2). In this embodiment, the threshold value is 200 (kg). The mass M WWhen it is smaller than the threshold value, the CPU 31 omits the processes A3 and A4 described later, and the drive circuit 54A omits the processes B1, B2, and B9 to B13 described later.

[0046] The CPU 31 takes, as characteristic values, the mass M of the workpiece 3 stored in the RAM 33 W , the mass M0 of the table 13 stored in the ROM 32, the rigidity K in the Y-axis direction of the vibration system, and the viscosity C, and acquires them (A3), and outputs them to the drive circuit 54A (A4). The CPU 31 generates a position command for moving the table 13 to the position specified by the NC program (A5), and outputs it to the drive circuit 54A (A6).

[0047] The drive circuit 54A acquires the characteristic values from the CPU 31 (B1). The drive circuit 54A determines the vibration model based on the workpiece characteristic formula P t (s) and the characteristic values acquired in B1 (B2). The drive circuit 54A acquires the position command from the CPU 31 (B3). The adder 63 generates a speed command based on the position command generated by the CPU 31 (B4). The speed control unit 67 generates a torque command based on the speed command generated by the adder 63 (B5). Driving is started based on the torque command generated by the speed control unit 67 of the Y-axis motor 54 (B6). Due to the driving of the Y-axis motor 54, the table 13 starts to move in the Y-axis direction.

[0048] The encoder 54B detects the current position information (rotation angle) of the Y-axis motor 54 and outputs position FB information (B7). The differentiator 66 calculates the motor speed v of the Y-axis motor 54 m based on the position FB information (B8). The differentiator 66 outputs a speed FB signal which is a signal of the motor speed v m .

[0049] The estimator 81 of the estimation compensation unit 80 estimates the table speed v t based on the vibration model determined in B2, and outputs it to the adder 82. The adder 82 subtracts the table speed v estimated in B9 from the speed command v r generated in B4 to calculate the relative speed Δv (B10). The proportional gain 83 multiplies the relative speed Δv by the relative speed proportional gain k t ​rv By multiplying [the relevant value], a relative speed command is generated and output to the low-pass filter 84 (B11). The low-pass filter 84 removes the frequency components in the high-frequency region (60 Hz and above) of the relative speed command (B12). The estimation compensation unit 80 generates a compensation command (B13). The estimation compensation unit 80 outputs the compensation command to the adder 68 (B14). 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.

[0050] 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. The differentiator 66 calculates the motor speed v of the Y-axis motor 54 based on the position FB signal m and 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 speed v based on the vibration model t The adder 82 subtracts the table speed v output by the estimator 81 from the speed command v generated by the adder 63 to calculate the relative speed Δv. The estimation compensation unit 80 generates a compensation command for compensating the torque command based on the relative speed Δv and outputs the compensation command 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 speed v 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. on the table 13. r from the speed command v t 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 speed v t from the speed command v r 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 the position command. t The proportional gain 83 multiplies the relative speed Δv by the relative speed proportional gain k

[0051] ​rv By multiplying it, a relative speed command is generated and output to the low-pass filter 84. The low-pass filter 84 removes the frequency components in the high-frequency region (60 Hz and above) of the relative speed command and generates a compensation command. Since the peak of the worktable characteristics occurs at a relatively low frequency (10 - 60 Hz), the numerical control device 30 can remove the frequency components that are not caused by the vibration of the worktable 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 worktable 13.

[0052] Worktable characteristic formula P t (s) has the Laplace operator s, the mass M, stiffness K, and viscosity C of the vibration system as variables. The mass M of the workpiece 3 W The respective change amounts of the stiffness K and viscosity C of the vibration system accompanying the change of are small compared to the change amount of the mass M of the vibration system accompanying the change of the mass M. Therefore, in the numerical control device 30, when the mass M of the workpiece 3 W is determined, the vibration model is uniquely determined. The vibration of the worktable 13 during the operation of the Y-axis motor 54 varies with the change of the mass M of the workpiece 3 W . Since the numerical control device 30 uses the vibration model adapted to the mass M of the workpiece 3 W , the vibration of the worktable 13 can be further suppressed. W In the vibration model, the worktable characteristic formula P

[0053] is a single transfer function corresponding to the peak 43. Since the vibration model consists of a single transfer function, the numerical control device 30 can easily estimate the worktable speed v t (s). t can be easily estimated.

[0054] The CPU 31 determines whether the mass M of the workpiece 3 W is greater than or equal to the threshold value (A2). When the mass M of the workpiece 3 W is greater than or equal to the threshold value, the estimator 81 of the estimation compensation unit 80 estimates the worktable speed v t (B9). The height of the peak of the worktable characteristics increases as the mass M of the workpiece 3 held by the worktable 13 W increases. The mass M of the workpiece 3 WWhen it is small, due to fixing the workpiece 3 to the workbench 13, the vibration of the workbench 13 does not increase. In the numerical control device 30, the mass M of the workpiece 3 W When it is equal to or greater than the threshold value, the estimation unit 81 estimates the workbench speed v t so that the numerical control device 30 can simplify the process.

[0055] In the above embodiment, the X-axis motor 53 and the Y-axis motor 54 are examples of the servo motors 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 units 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 CPU 31 that makes a judgment in the step A2 is an example of the judgment unit of the present invention. The step A5 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 of B9 is an example of the estimation step of the present invention. The process of B13 is an example of the compensation step of the present invention.

[0056] The present invention can be variously modified from the above embodiment. The following various modification examples can be combined with each other as long as there is no contradiction. For example, in the machine tool 1 of the above embodiment, the spindle extends in the Z-axis direction, but the present invention can also be applied to a horizontal machine tool in which the spindle extends in the horizontal direction.

[0057] In the machine tool 1 of the above embodiment, the spindle 9 for mounting the tool 4 is movable in the Z-axis direction, and the workbench 13 is movable in the X-axis direction and the Y-axis direction. However, the workbench 13 may also move in the Z-axis direction in addition to the X-axis direction and the Y-axis direction.

[0058] The workbench 13 of the above embodiment translates in the X-axis direction and the Y-axis direction. However, in addition to the translation of the workbench 13 in the X-axis direction and the Y-axis direction, it may be rotatable about an axis extending in the X-axis direction, for example.

[0059] The drive circuits 51A to 55A of the above embodiment are provided in the machine tool 1, but the drive circuits 51A to 55A may be provided in the numerical control device 30.

[0060] In the above embodiment, the values of the stiffness K and the viscosity C of the vibration system are treated as constants. However, the values of the stiffness K and the viscosity C of the vibration system may vary according to the mass M W of the workpiece 3. The numerical control device 30 uses the mass M W of the workpiece 3 input by the user via the operation panel 15 for determining the vibration model. On the other hand, the numerical control device 30 estimates the mass M W of the workpiece 3 by a process of estimating the mass M W of the workpiece 3 estimated by controlling the machine tool 1 and uses it for determining the vibration model. The machine tool 1 may be provided with a measuring unit for measuring the mass M W of the workpiece 3. The numerical control device 30 may use the mass M W of the workpiece 3 measured by the measuring unit for determining the vibration model. The numerical control device 30 may estimate the table speed v W by the estimation unit 81 regardless of the mass M t of the workpiece 3.

[0061] In the above embodiment, the workbench characteristic formula P t (s) consists of one transfer function, but it may be the sum of two or more transfer functions. For example, when there are three peaks in the workbench characteristics, the sum of three transfer functions corresponding to each of the three peaks is set as the workbench characteristic formula P t (s), so that the workbench characteristic formula P t (s) can be made into a model closer to the actual vibration of the workbench 13. The transfer function of the workbench characteristic formula P t (s) 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 workbench characteristic formula P t (s) consists of one transfer function, and when the mass of the workpiece 3 is between 50 and 100 kg, the workbench characteristic formula Pt (s) may also consist of the sum of two transfer functions. Table of workbench characteristics P t (s)'s transfer function is not limited to a second-order lag system and may be a first-order lag system instead.

[0062] The cut-off frequency of the low-pass filter 84 is not limited to 60 Hz and may be set to any value that does not exclude the peak of the workbench 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 workbench 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 workbench characteristics.

[0063] 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

[0064] 1 Machine tool 3 Workpiece to be machined 13 Workbench 30 Numerical control device 31 CPU 32 ROM 36 Table of characteristic values 53 X-axis motor 53A, 54A Drive circuit 53B, 54B Encoder 54 Y-axis motor 65, 68 Adder 66 Differentiator 67 Speed control unit 80 Estimation compensation unit 81 Estimation unit 84 Low-pass filter

Claims

1. A numerical control device comprising: a workbench for fixing a workpiece to be machined; a servo motor for moving the workbench; 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, an angle detection unit for detecting the rotation angle of the servo motor; 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 generating a compensation command based on a relative speed, which is a difference between the speed command generated by the speed command generation unit and the moving speed estimated by the estimation unit; wherein the torque command output by the torque command generation unit is compensated based on the compensation command generated by the compensation unit.

2. The numerical control device according to claim 1, wherein the compensation unit includes 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 estimation unit estimates the moving speed of the workbench using the vibration model corresponding 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 consists of a single transfer function.

5. comprising a determination unit for determining whether the mass of the workpiece to be machined is equal to or greater than a threshold value, The numerical control device according to any one of claims 1 to 4, wherein the estimation unit estimates the moving speed of the workbench when the determination unit determines that the mass of the workpiece to be machined is equal to or greater than the threshold value.

6. A control method of a numerical control device including: a position command generation step of generating a position command for fixing a workpiece; a speed command generation step of generating a speed command for commanding a motor speed of a servo motor that moves the workbench based on the position command generated by the position command generation step; and a torque command generation step of generating a torque command for commanding a torque output by the servo motor based on the speed command generated by the speed command generation step. A motor speed calculation step of calculating the motor speed of the servo motor using an angle detection unit that detects a rotation angle of the servo motor. An estimation step of estimating a moving speed of the workbench using a vibration model that is a mathematical model for deriving a frequency characteristic of vibration of the workbench and the motor speed calculated by the motor speed calculation step. A compensation step of generating a compensation command based on a relative speed that is a difference between the speed command generated by the speed command generation step and the moving speed estimated by the estimation step. The control method is characterized in that the torque command output by the torque command generation step is compensated based on the compensation command generated by the compensation step.

Citation Information

Patent Citations

  • Positioning device

    JP1995110716A

  • Numerical controller

    JP2003058213A

  • Control device, control method and program

    JP2019219762A

  • Controller for evaluating inertia and evaluation method of inertia

    JP2021005918A

  • Numerical control device and control method

    JP2023051318A