Thermal displacement correction apparatus for machine tool

10095215 ยท 2018-10-09

Assignee

Inventors

Cpc classification

International classification

Abstract

A thermal displacement correction apparatus for a machine tool first determines the coefficient k in E=a+k|F| where F is a thermal displacement correction amount and E is an adjustment value (first step). Next, in actual processing, a is set if a has not been set yet (second step). After a and the coefficient k are determined in advance, thermal displacement correction unit is enabled and an operation of a machining program is started. The thermal displacement correction amount F is calculated, the adjustment value E is calculated based on E=a+k|F|, a thermal displacement correction amount F after adjustment (=EF) is calculated, and F is sent to the thermal displacement correction unit.

Claims

1. A controller for a machine tool, the controller comprising: a thermal displacement correction unit that estimates a thermal displacement amount from an operation of a machine of the machine tool or a temperature of each portion of the machine and calculates a thermal displacement correction amount for correcting thermal displacement by adding, to a position command value of a feed axis of the machine tool, the thermal displacement correction amount for cancelling the thermal displacement amount thus estimated; a thermal displacement correction amount adjustment unit that acquires information of an actual position in the machine by a measurement unit and adjusts the thermal displacement correction amount with an adjustment value; a machine-dependent coefficient calculation unit that calculates a machine-dependent coefficient depending on specifications of the machine for calculating the adjustment value on the basis of the thermal displacement correction amount that has been calculated in driving the machine, the actual position in the machine that is measured by the measurement unit, and an approximate expression representing a relation between the thermal displacement correction amount and the adjustment value; a machining condition-dependent coefficient calculation unit that calculates a machining condition-dependent coefficient, which is a numerical value specified depending on a machining program, for calculating the adjustment value on the basis of the thermal displacement correction amount that has been calculated in machining a workpiece on the basis of the machining program, the actual position in the machine that is acquired by measurement by the measurement unit, and the approximate expression representing the relation between the thermal displacement correction amount and the adjustment value; and a calculation unit that calculates the adjustment value corresponding to the estimated thermal displacement amount, from the approximate expression that contains the calculated machine-dependent coefficient and the calculated machining condition-dependent coefficient, wherein the thermal displacement correction amount adjustment unit corrects the thermal displacement correction amount with the calculated adjustment value, and the controller is configured to add the corrected thermal displacement correction amount is added to the position command value so as to obtain a corrected position command value, and control the feed axis of the machine tool using the corrected position command value.

2. The controller according to claim 1, wherein the approximate expression is preliminarily stored in the machine on the basis of machining experiment data.

3. The controller according to claim 1, wherein the approximate expression is obtained based on an expression, E=a+k|F| , where E is the adjustment value, a is the machining condition-dependent coefficient, k is the machine-dependent coefficient, and F is the thermal displacement correction amount.

4. The controller according to claim 3, wherein the value of E is within a range between 0.01 and 10.

5. The controller according to claim 3, further comprising a memory in which the coefficient k is preliminarily stored.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The aforementioned and other objects and features of the present invention will be apparent from the following description of embodiments with reference to the appended drawings in which:

(2) FIG. 1 is a diagram for explaining the present invention;

(3) FIG. 2 is a diagram for explaining that an adjustment value, which is added to, or subtracted from, the thermal displacement correction amount, is changed in real time in the present invention;

(4) FIG. 3 is a diagram for explaining a principle of the present invention;

(5) FIG. 4 is an overall flowchart of a process according to the present invention;

(6) FIG. 5 is a flowchart of a first step;

(7) FIG. 6 is a flowchart of a second step;

(8) FIG. 7 is a block diagram for explaining an overview of a numerical controller that controls a machine tool;

(9) FIG. 8 is a diagram for explaining a conventional art; and

(10) FIG. 9 is a diagram for explaining that it is necessary to suspend a machining cycle to carry out measurement in order to change the adjustment value according to an external environment and a machining situation in the conventional art.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

(11) FIG. 1 is a diagram for explaining the present invention. FIG. 2 is a diagram for explaining that an adjustment value, which is added to, or subtracted from, the thermal displacement correction amount, is changed in real time in the present invention. FIG. 3 is a diagram for explaining the principle of the present invention.

(12) (1) Since the first step depends on the specifications of the machine (the structure of the machine, the control unit thereof, and the like), this step only has to be performed once in principle as long as the specifications of the machine remains unchanged. Accordingly, when a manufacturer of the machine tool preliminarily performs the first step to determine and store its conversion coefficient k in a memory, a user does not have to perform this step.

(13) Describing a machining program, a program that covers a range within which a thermal displacement amount of the machine can possibly arise is selected. In other words, operation of a machining program is started in a state where thermal displacement does not arise in the machine and then such a machining program is selected as causes a thermal displacement amount to the maximum extent and to the minimum extent in each operation direction of the machine in a state where the thermal displacement amount becomes stable.

(14) (2) When a machining environment (machining situation) is changed, it is necessary for the second step to be performed so that measurement is performed at least one time. After that, the adjustment value is changed in real time and the adjustment value thus changed is reflected on correction. Actual measurement is performed as the difference between the correction value (value obtained by multiplying the thermal displacement correction amount by the adjustment value) and an actual displacement value becomes large. The adjustment value is changed through the actual measurement, and thereby, the correction value is corrected.

(15) According to the present invention, with the function of a controller of the machine tool, which estimates a thermal displacement amount and performs a thermal displacement correction, the relation between the thermal displacement correction amount and the actual thermal displacement amount can be comprehended to obtain the appropriate adjustment value at all times in less measurement times.

(16) There are relations in the following expression (1) and expression (2), which is its variation, between a thermal displacement correction amounts F, an actual thermal displacement amounts D and an adjustment values E, which are obtained from actual operation under selection of a plurality of machining programs. It should be noted here that the thermal displacement correction amount F and the actual thermal displacement amount D can take positive or negative values depending on the way of determining a position used as the reference in measuring these amounts.
EF=D(1)
E=D/F (F0; D and F have the same signs)(2)

(17) Herein, assumptions are made as follows. Assumption 1: D is a constant, and in other words, the aforementioned function is displayed as a graph. The actual thermal displacement amount D is constant for a short period of time. Assumption 2: E is calculated within a range from the minimum value to the maximum value of E (Emin to Emax). A typical adjustment value takes Emin=0.01 and is presumed to take Emax=10 as its limit.

(18) Within the aforementioned calculation range of E, the following approximate function
y=a+kx(3)
is obtained in the least-squares method. In other words,
E=a+k|F|(4)
is obtained.

(19) Furthermore, even when D changes (in the case where the curve or curvature of the broken line changes), the value of k in the aforementioned approximate function does not change much. Due to this, in machining, the value of k is typically almost constant with respect to both the maximum value and the minimum value of the actual thermal displacement amount D. Incidentally, a in expression (4) is a numerical value specified depending on the machining program.

(20) FIG. 4 is an overall flowchart according to the present invention.

(21) First, a first step mentioned later is performed to determine the coefficient k in expression (4), E=a+k|F|. Since the coefficient k depends on the specifications of the machine (the structure of the machine, the control unit thereof, and the like), the aforementioned first step only has to be performed once in principle as long as the specifications of the machine remain unchanged. Accordingly, if a manufacturer of the machine tool preliminarily performs the first step to determine and store the coefficient k in a memory of the numerical controller that controls the machine tool, a user does not have to perform this step.

(22) Next, in case where the coefficient a has not been set in actual processing, second step mentioned later is performed so that the coefficient a is set. With regard to the same machining program, the coefficient a does not have to be recalculated.

(23) After the coefficients k and a are determined in advance, adjustment of the thermal displacement correction is performed according to the following procedure.

(24) Hereafter, the processing is now explained according to respective steps with reference to the flowchart of FIG. 4.

(25) (Step SA01)

(26) Thermal displacement correction means is enabled to start operation of the machining program. As the thermal displacement correction means, conventionally known one can be used.

(27) (Step SA02) The thermal displacement correction amount F is calculated. As a method for calculating the thermal displacement correction amount F, a conventionally known method can be used.

(28) (Step SA03)

(29) The adjustment value E is calculated using expression (4), E=a+k|F|, mentioned above.

(30) (Step SA04)

(31) A thermal displacement correction amount F after adjustment is calculated using expression (5) below,
F=EF(5)
and the calculation result is sent to the thermal displacement correction means.

(32) FIG. 5 is a flowchart of the first step. Machining programs are preliminarily prepared, and the conversion coefficient k is obtained for each machining program according to the following procedure. With the thermal displacement correction means enabled, operation of a machining program is started in a state where a thermal displacement does not arise (or state of being sufficiently left in a stopped state) and the following procedure is performed. As the thermal displacement correction means, known one can be used. Moreover, the number of times and the time interval the following procedure is executed are determined in advance.

(33) Hereafter, the processing is explained according to respective steps with reference to the flowchart of FIG. 5.

(34) (Step SB01)

(35) An actual displacement value at a measurement place predetermined in the machine is measured, and the value thus measured is stored as Ai (i denotes the iteration number (i=1, 2, 3, . . . ; the same applies hereafter). The measurement of the displacement value may be performed in any method. As mentioned above, Ai is a value measured in the state where the thermal displacement correction means is enabled.

(36) (Step SB02)

(37) The thermal displacement correction amount is stored as Fi.

(38) (Step SB03)

(39) The actual thermal displacement amount Di is calculated from the measurement value Ai which is actually measured and the thermal displacement correction amount Fi using the expression, Di=Ai+Fi. To speak strictly, the actual thermal displacement amount Di corresponds to a thermal displacement amount in a state where the correction function is disenabled.

(40) (Step SB04)

(41) The ratio ri (=Di/Fi) of the actual thermal displacement amount Di to the thermal displacement correction amount Fi is calculated. It should be noted that the process is skipped when Fi=0.

(42) After the aforementioned processes are performed in a predetermined number of times, the function y=a+kx is obtained from the ratios ri (=Di/Fi) and the thermal displacement correction amounts Fi in the least-squares method. In this stage, it is desirable that data in which ri<0 be excluded. The aforementioned processes are applied similarly to the other machining programs to obtain the function y=a+kx. The average value of the coefficients k in the functions y=a+kx thus obtained is calculated, and is newly set to be k. Moreover, to obtain the coefficient a, the actual thermal displacement amount is measured at the predetermined measurement place in operating the machining program. When the coefficient a has been already obtained for the same machining program in the same machining environment, the second step do not have to be performed.

(43) Herein, more specific description is made using two machining programs O0001 and O0002. It is supposed that the cycle time of each machining program is approximately 30 minutes.

(44) (1) The machining program O0001 is operated from the state where the machine is stopped. The thermal displacement correction function is enabled and the measurement is performed every minute.

(45) (2) The measurement results A1 to A30 are acquired through measurements and the thermal displacement correction values F1 to F30 are acquired through the correction function. D1 to D30 are calculated using the expression, Di=Ai+Fi.

(46) (3) With the expression, ri=Di/Fi, r1 to r30 are calculated. Then, the plot (ri, |Fi|) (i=1, 2, . . . , 30) of r1 to r30 and |F1| to |F30| is created. It should be noted that data in which ri<0 are excluded.

(47) (4) In the least-squares method, y=a+k1xx is obtained from the aforementioned plots.

(48) (5) The machine is stopped.

(49) (6) The machining program O0002 is operated from the state where the machine is stopped, and the procedure of step (1) to step (4) is performed to obtain y=a+k2x.

(50) (7) The coefficient k of this machine is determined to be k=(k1+k2)/2, where the value k is an average value of the coefficients obtained by performing the respective machining programs.

(51) FIG. 6 is a flowchart of the second step.

(52) Hereafter, the processing is explained according to respective steps with reference to the flowchart of FIG. 6.

(53) (Step SC01)

(54) Operation of the machining program is started and the adjustment value E of the machine is preset. As this adjustment value, a value appropriate for the machining program is selected. When such an appropriate value is not clear, it is set as E=1.

(55) (Step SC02)

(56) Measurement is performed at the predetermined measurement place and the measurement result (measurement value) is stored as A. This measurement can be performed in any method.

(57) (Step SC03)

(58) The thermal displacement correction amount is stored as F.

(59) (Step SC04)

(60) The actual thermal displacement amount D is calculated from the measurement value A which is actually measured and the thermal displacement correction amount F (using the expression, D=A+F).

(61) (Step SC05)

(62) The ratio r (=D/F) of the actual thermal displacement amount D to the thermal displacement correction amount F is calculated. It should be noted that r=E (the adjustment value for the existing thermal displacement at the time point of this measurement) when F=0.

(63) (Step SC06)

(64) The coefficient a is calculated using r=a+k|F| (k is a coefficient calculated in the aforementioned first step). The coefficient a thus calculated is stored in association with the machining program.

(65) FIG. 7 is a block diagram for explaining an overview of a numerical controller that controls a machine tool.

(66) A thermal displacement correction apparatus for a machine tool according to the present invention is constituted of a numerical controller 10 that controls the machine tool. A processor (CPU) 11 of the numerical controller 10 is a processor that totally controls the numerical controller 10. The processor 11 reads out a system program stored in a ROM 12 via a bus 21 and totally controls the numerical controller 10 according to the system program. An LCD/MDI unit 70 is a manual data input device equipped with a liquid crystal display (LCD). In a RAM 13, temporary calculation data and display data, various kinds of data inputted by an operator via the LCD/MDI unit 70, and the like are stored.

(67) An SRAM 14 is backed up by a battery (not shown), is configured as a non-volatile memory in which the storage state is held even when the power supply of the numerical controller 10 is turned off, and stores a program for measuring the initial position, a program for performing thermal displacement correction of the machine tool, machining programs which are read via an interface 15 and mentioned later, machining programs inputted via the LCD/MDI unit 70, and the like. Moreover, in the ROM 12, various system programs for performing a process of an edit mode required for creating and editing the machining programs and a process for automatic operation are written beforehand.

(68) The interface 15 is an interface for an external device connectable to the numerical controller 10, and an external device 72 such as an external storage apparatus is connected to the interface 15. From the external storage apparatus, the machining programs, a thermal displacement measurement program and the like are read. A programmable machine controller (PMC) 16 controls an auxiliary apparatus and the like on the machine tool side with sequence programs embedded in the numerical controller 10. That is, signals needed on the auxiliary apparatus side are converted with these sequence programs and outputted to the auxiliary apparatus side from an I/O unit 17 according to the M function, S function and T function commanded by the machining program. The auxiliary apparatus including various actuators and the like is actuated according to the output signals. Moreover, signals from various switches and the like on an operation panel installed in the main body of the machine tool are received, are subject to necessary processes, and are sent to the processor 11.

(69) Image signals for current positions of the axes of the machine tool, alarming, parameters, image data and the like are sent to the LCD/MDI unit 70 and displayed on its display screen. The LCD/MDI unit 70 is a manual data input device including a display, a keyboard and the like. From the keyboard of the LCD/MDI unit 70, an interface 18 receives data, which is sent to the processor 11.

(70) An interface 19 is connected to a manual pulse generator 71. The manual pulse generator 71 is mounted on an operation panel of the machine tool and used for precisely positioning movable units of the machine tool through control of the axes with a distribution pulse based on manual operation. Axis control circuits 30 and 31 for the X- and Y-axes and a control circuit 32 for the Z-axis with which a table T of the machine tool is moved receive motion commands for the axes from the processor 11, and output the commands for the axes to servo amplifiers 40 to 42. The servo amplifiers 40 to 42 receive the commands and drive servomotors 50 to 52 of the axes of the machine tool. Position detectors are mounted on the servomotors 50 to 52 of the axes, and position signals from the pulse coders are fed back as a pulse sequence.

(71) A spindle control circuit 60 receives a main spindle rotation command to the machine tool and outputs a spindle speed signal to a spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal and causes a main spindle motor 62 of the machine tool to rotate at the commanded rotational speed and drive a tool. A position detector 63 is coupled to the main spindle motor 62 through gears, a belt or the like. The position detector 63 outputs a feedback pulse in synchronization with the rotation of the main spindle, and the feedback pulse is read by the processor 11 via an interface 20. Reference numeral 65 denotes a clock apparatus which is adjusted to be synchronized with the current time.

(72) The numerical controller 10 has a thermal displacement correction unit, for example, disclosed in Japanese Patent Application Laid-Open No. 11-90779 or Japanese Patent Application Laid-Open No. 2002-18677, which estimates the thermal displacement amount based on the operation of the machine or the temperatures of respective parts of the machine and corrects the thermal displacement by adding, to the position command value of the feed axis, the thermal displacement correction amount for canceling the thermal displacement amount thus estimated. Such a thermal displacement correction unit is conventionally known as disclosed, for example, in Japanese Patent Application Laid-Open No. 11-90779 and Japanese Patent Application Laid-Open No. 2002-18677, and hence, not described here in detail. The numerical controller 10 includes a measurement unit disclosed in Japanese Patent Application Laid-Open No. 11-90779 and can measure the actual position in the machine. The numerical controller 10 further includes software for performing the processes in the flowcharts illustrated in FIG. 4, FIG. 5 and FIG. 6, and thereby, constitutes the thermal displacement correction apparatus of the present invention.