Calculation device, machine tool, calculation method, and computer program
The calculation device and method address the inaccuracy in thermal displacement calculations by measuring the drive portion's position and calculating heat transfer and thermal displacement, enhancing the accuracy of position corrections in machine tools.
Patent Information
- Application Number
- PCT/JP2024/040105
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-08
- Filing Date
- 2024-11-12
- Publication Date
- 2025-06-12
AI Technical Summary
Conventional calculation devices for machine tools cannot accurately calculate the thermal displacement of support portions due to the position of the drive portion, leading to inaccuracies in position correction.
A calculation device and method that includes a position measurement unit to determine the drive portion's position, a heat transfer amount calculation unit to calculate heat transfer from the drive portion to the support portion, and thermal displacement calculation units to determine the thermal displacement of both the support and drive portions based on these calculations.
This approach allows for accurate calculation of thermal displacement by considering the position of the drive portion, thereby improving the accuracy of position corrections in machine tools.
Smart Images

Figure JP2024040105_12062025_PF_FP_ABST
Abstract
Description
Arithmetic device, machine tool, arithmetic method, and computer program
[0001] The present technology relates to a calculation device, a machine tool, a calculation method, and a computer program that calculates thermal displacement of a support part that supports a drive part.
[0002] There is a machine tool that includes a control device (computing device), a saddle (drive unit) that houses a spindle motor, and a column (support unit) that supports the saddle so that it can move up and down. The control device calculates the amount of thermal displacement of the column using the finite element method, and corrects the position of the tip of the spindle provided on the spindle motor based on the calculated amount of thermal displacement (see Patent Document 1).
[0003] Patent No. 5811102
[0004] Heat generated by the spindle motor is conducted from the saddle to the column. The control device changes the up and down position of the saddle. Therefore, the position where the heat is conducted from the saddle to the column changes. Conventional control devices calculated the amount of thermal displacement of the column regardless of the position of the saddle, so they were unable to calculate an accurate amount of thermal displacement.
[0005] The present disclosure has been made in consideration of the above circumstances, and aims to provide a calculation device, a machine tool, a calculation method, and a computer program that can calculate the thermal displacement of a support part according to the position of the drive part.
[0006] A computing device according to one embodiment of the present disclosure includes a position measurement unit that measures the position of a movable driving unit supported on a support unit, a heat transfer amount calculation unit that calculates the amount of heat transfer from the driving unit to the support unit at the position of the driving unit measured by the position measurement unit, a first temperature calculation unit that calculates the temperature of the support unit based on the amount of heat transfer calculated by the heat transfer amount calculation unit, and a first thermal displacement calculation unit that calculates the thermal displacement of the support unit based on the temperature calculated by the first temperature calculation unit.
[0007] In the present disclosure, the position of the drive unit is measured, the amount of heat transfer from the drive unit to the support unit at the measured position of the drive unit is calculated, and the temperature and thermal displacement of the support unit are calculated based on the calculated amount of heat transfer.
[0008] A computing device according to one embodiment of the present disclosure includes a heat generation amount computing unit that computes the heat generation amount of the drive unit, a second temperature computing unit that computes the temperature of the drive unit based on the heat generation amount computed by the heat generation amount computing unit and the heat transfer amount computed by the heat transfer amount computing unit, and a second thermal displacement computing unit that computes the thermal displacement of the drive unit based on the temperature computed by the second temperature computing unit, and after the position measuring unit measures the position of the drive unit, the heat generation amount computing unit computes the heat generation amount, the heat transfer amount computing unit computes the heat transfer amount, the second temperature computing unit computes the temperature of the drive unit, and the second thermal displacement computing unit computes the thermal displacement of the drive unit.
[0009] In the present disclosure, the amount of heat generated by the drive unit is calculated, and the temperature of the drive unit is calculated based on the amount of heat generated and the amount of heat transfer.The thermal displacement of the drive unit is calculated based on the calculated temperature.
[0010] The computing device of one embodiment of the present disclosure includes an adder that, after the position measurement unit measures the position of the drive unit, adds up the displacement of the drive unit based on the thermal displacement of the support unit calculated by the first thermal displacement calculation unit and the thermal displacement of the drive unit calculated by the second thermal displacement calculation unit.
[0011] In the present disclosure, the displacement of the drive unit based on the thermal displacement of the support unit and the thermal displacement of the drive unit are added together.
[0012] In an embodiment of the computing device of the present disclosure, the support unit has a track, the drive unit has a plurality of sliders that can slide on the track, the position measurement unit measures the position of each slider, after the position measurement unit measures the position of each slider, the heat transfer amount calculation unit calculates the amount of heat transfer from each slider to the track, the first temperature calculation unit calculates the temperature of the track, and the first thermal displacement calculation unit calculates the thermal displacement of the track.
[0013] In the present disclosure, the amount of heat transferred from the slider to the raceway is calculated, the temperature of the raceway is calculated based on the amount of heat transferred, and the thermal displacement of the raceway is calculated based on the temperature.
[0014] In one embodiment of the computing device of the present disclosure, the first temperature computing unit calculates the temperature of the support part using a finite element method in which the heat transfer amount calculated by the heat transfer amount computing unit is included in the boundary conditions, and the first thermal displacement computing unit calculates the thermal displacement of the support part using a finite element method in which the temperature calculated by the first temperature computing unit is included in the boundary conditions.
[0015] In the present disclosure, the temperature of the support part is calculated by the finite element method in which the amount of heat transfer is included in the boundary conditions, and the thermal displacement of the support part is calculated by the finite element method in which the temperature of the support part is included in the boundary conditions.
[0016] In one embodiment of the computing device of the present disclosure, the second temperature computing unit calculates the temperature of the drive unit using a finite element method in which the heat generation amount calculated by the heat generation amount computing unit and the heat transfer amount calculated by the heat transfer amount computing unit are included in the boundary conditions, and the second thermal displacement computing unit calculates the thermal displacement of the drive unit using a finite element method in which the temperature calculated by the second temperature computing unit is included in the boundary conditions.
[0017] In the present disclosure, the temperature of the drive unit is calculated using the finite element method, which includes the heat generation amount and heat transfer amount of the drive unit in the boundary conditions, and the thermal displacement of the drive unit is calculated using the finite element method, which includes the temperature of the drive unit in the boundary conditions.
[0018] A machine tool according to one embodiment of the present disclosure includes a pillar, a spindle head that is movably supported on the pillar and supports a spindle, and any of the aforementioned arithmetic devices in which the support unit is the pillar and the drive unit is the spindle head.
[0019] In the present disclosure, the thermal displacement of the upright pillar and the spindle head is calculated.
[0020] A machine tool according to one embodiment of the present disclosure includes a pillar, a spindle head that is movably supported on the pillar and supports a spindle, and the aforementioned computing device in which the support unit is the pillar and the drive unit is the spindle head, and the heat generation amount computing unit calculates the heat generation amount of the spindle head based on predetermined information that indicates the relationship between the rotational speed of the spindle and the heat generation amount of the spindle head.
[0021] In the present disclosure, the heat generation amount of the spindle head is calculated based on predetermined information indicating the relationship between the rotation speed of the spindle and the heat generation amount of the spindle head.
[0022] A calculation method according to one embodiment of the present disclosure measures the position of a movable drive unit supported on a support unit, calculates the amount of heat transfer from the drive unit to the support unit at the measured position of the drive unit, calculates the temperature of the support unit based on the calculated amount of heat transfer, and calculates the thermal displacement of the support unit based on the calculated temperature of the support unit.
[0023] In the present disclosure, the position of the drive unit is measured, the amount of heat transfer from the drive unit to the support unit at the measured position of the drive unit is calculated, and the temperature and thermal displacement of the support unit are calculated based on the calculated amount of heat transfer.
[0024] A computer program according to one embodiment of the present disclosure is a computer program executable by an arithmetic device, which causes the arithmetic device to perform the following processes: measure the position of a movable drive unit supported on a support unit; calculate the amount of heat transfer from the drive unit to the support unit at the measured position of the drive unit; calculate the temperature of the support unit based on the calculated amount of heat transfer; and calculate the thermal displacement of the support unit based on the calculated temperature of the support unit.
[0025] In the present disclosure, the position of the drive unit is measured, the amount of heat transfer from the drive unit to the support unit at the measured position of the drive unit is calculated, and the temperature and thermal displacement of the support unit are calculated based on the calculated amount of heat transfer.
[0026] In the calculation device, machine tool, calculation method, and computer program according to an embodiment of the present disclosure, the position of a drive unit is measured, the amount of heat transfer from the drive unit to a support unit at the measured position of the drive unit is calculated, and the temperature and thermal displacement of the support unit are calculated based on the calculated amount of heat transfer. Therefore, the position of the drive unit is reflected in the thermal displacement of the support unit, thereby improving the calculation accuracy of the thermal displacement.
[0027] FIG. 1 is a simplified perspective view of a machine tool. FIG. 2 is a partially enlarged right side view schematically showing the pillar, spindle head, raceway, slider, etc. FIG. 3 is a block diagram roughly showing the configuration of a control device. FIG. 4 is a flowchart explaining the spindle head temperature calculation process by the control unit. FIG. 5 is a flowchart explaining the pillar temperature calculation process by the control unit. FIG. 6 is a flowchart explaining position correction process for correcting the tool position. FIG. 7 is a right side explanatory view explaining thermal displacement of the spindle head. FIG. 8 is a right side explanatory view explaining thermal displacement of the pillar. FIG. 9 is a right side explanatory view explaining thermal displacement of the spindle head attached to the pillar.
[0028] The following description will be based on the drawings showing the machine tool of the present disclosure. In the following description, up, down, left, right, front and rear indicated by arrows in the drawings will be used. Note that the up, down, left, right, front and rear shown in the drawings are shown merely for ease of explanation, and directions are not limited to these. Figure 1 is a schematic perspective view of the machine tool.
[0029] The machine tool 1 comprises a base 11, a pillar 12, a spindle head 2, a tool magazine 3, a table 15, a control device 50, etc. The base 11 is fixed to the floor. The pillar 12 extends upward from the rear of the base 11. The spindle head 2 is provided on the front surface of the pillar 12 and can be raised and lowered in the Z-axis direction (vertical direction) by driving a Z-axis motor 33 (see FIG. 3). As shown in FIG. 2, a vertically extending spindle 2a is provided in the spindle head 2 via a bearing 2c. A tool holder 5 is attached to the lower end of the spindle 2a. The tool holder 5 holds a tool t. The tool t is attached to the spindle 2a via the tool holder 5. The spindle 2a rotates about its axis by driving a spindle motor 84.
[0030] Support plates 18 extend forward from both the left and right sides of the upper part of the upright pillar 12. The spindle head 2 is disposed between the two support plates 18. A support base 14 is provided at the front end of the support plate 18. The support base 14 rotatably supports a support shaft 34 that is inclined so as to descend toward the front.
[0031] The tool magazine 3 includes a rotating disk 30 and a plurality of gripping portions (not shown) attached to the outer periphery of the rotating disk 30. Each gripping portion holds a tool holder 5. The rotating disk 30 is fixed to a support shaft 34. The support shaft 34 is rotated by the driving of a magazine motor 85, and the tool magazine 3 rotates around the axis of the support shaft 34.
[0032] When the tool holder 5 holding the tool t is placed at the exchange position and the spindle head 2 without the tool holder 5 attached is lowered, the tool holder 5, i.e., the tool t, is attached to the spindle 2a. When an empty gripper without the tool holder 5 attached is placed at the exchange position and the spindle head 2 with the tool holder 5 holding the tool t attached is raised, the tool holder 5, i.e., the tool t, is gripped by the empty gripper.
[0033] A Y-axis direction moving mechanism 17 that moves in the front-back direction is provided on the front side of the upper part of the base 11. The Y-axis direction moving mechanism 17 has a moving plate (not shown) that moves in the front-back direction. An X-axis direction moving mechanism 20 that moves in the left-right direction is provided above the moving plate. The moving plate and X-axis direction moving mechanism 20 move in the front-back direction when driven by the Y-axis direction moving mechanism 17. A table 15 that holds a workpiece is provided on the X-axis direction moving mechanism 20.
[0034] The Y-axis direction moving mechanism 17 includes a Y-axis motor 13 (see FIG. 3), and the moving plate and the X-axis direction moving mechanism 20 move in the front-to-rear direction when driven by the Y-axis motor 13. The X-axis direction moving mechanism 20 includes an X-axis motor 23 (see FIG. 3), and the table 15 moves in the left-to-right direction when driven by the X-axis motor 23.
[0035] FIG. 2 is a partially enlarged right side view schematically showing the pillar 12, spindle head 2, track 12a, sliders 2b, etc. As shown in FIG. 2, two tracks 12a extending vertically are provided on the front of the pillar 12. The two tracks 12a are aligned substantially parallel to the left and right. Four sliders 2b are provided on the rear surface of the spindle head 2. Each slider 2b is located at the upper right, lower right, upper left, and lower left of the rear surface of the spindle head 2. The two sliders located at the upper right and lower right are connected to the right track 12a. The two sliders located at the upper left and lower left are connected to the left track 12a. Each slider 2b can slide vertically along the track 12a. Driven by the Z-axis motor 33, each slider 2b moves vertically on the track 12a. That is, the spindle head 2 moves vertically.
[0036] FIG. 3 is a block diagram showing a simplified configuration of the control device 50. The control device 50 includes a control unit 51, a ROM 52, a main memory unit 53, an auxiliary memory unit 58, and an input / output interface 54. The control device 50 constitutes a computing device. The control unit 51 includes a processor (e.g., a CPU, an MPU, or a GPU) or a logic circuit (e.g., an FPGA or an ASIC), and also includes a timer. The control device 50 may include a timer separate from the control unit 51. The main memory unit 53 includes a RAM. When an operator operates the operation unit 7, a signal is input from the operation unit 7 to the input / output interface 54. The operation unit 7 is, for example, a keyboard, buttons, a touch panel, etc. The input / output interface 54 outputs a signal to the display unit 8. The display unit 8 displays characters, figures, symbols, etc. The display unit 8 is, for example, a liquid crystal display or an organic EL display.
[0037] The auxiliary storage unit 58 is an EEPROM, flash memory, hard disk, SSD, or the like, and is rewritable. The auxiliary storage unit 58 stores the machining program, the finite element equations used in calculations based on the finite element method, the amount of thermal displacement, the position, functions A to C, and the like. For example, the machining program recorded on a portable recording medium 60 such as an optical disk or USB memory may be installed in the auxiliary storage unit 58. The control unit 51 reads the machining program from the auxiliary storage unit 58 into the main storage unit 53 and controls the drive of each motor or performs correction amount calculation processing, which will be described later. The machining program has multiple commands, and the control unit 51 reads and executes each command in order. The ROM 52 may store the machining program, the finite element equations, functions A to C, and the like. The main storage unit 53 may store the machining program, the finite element equations, the amount of thermal displacement, the position, functions A to C, and the like.
[0038] The control device 50 includes an X-axis control circuit 55, a servo amplifier 55a, and a differentiator 23b corresponding to the X-axis motor 23. The X-axis motor 23 includes an encoder 23a. The X-axis control circuit 55 outputs a command indicating the amount of current to the servo amplifier 55a based on a command from the control unit 51. The servo amplifier 55a receives the command and outputs a drive current to the X-axis motor 23.
[0039] The encoder 23a outputs a position feedback signal to the X-axis control circuit 55. The X-axis control circuit 55 executes position feedback control based on the position feedback signal.
[0040] The encoder 23a outputs a position feedback signal to the differentiator 23b, and the differentiator 23b converts the position feedback signal into a velocity feedback signal and outputs it to the X-axis control circuit 55. The X-axis control circuit 55 performs velocity feedback control based on the velocity feedback signal.
[0041] The value of the drive current output by the servo amplifier 55a is detected by a current detector 55b, which feeds back the value of the drive current to the X-axis control circuit 55. The X-axis control circuit 55 executes current control based on the value of the drive current.
[0042] The control device 50 includes a Y-axis control circuit 56, a servo amplifier 56a, a differentiator 13b, and a current detector 56b corresponding to the Y-axis motor 13, and the Y-axis motor 13 includes an encoder 13a. The Y-axis control circuit 56, the servo amplifier 56a, the differentiator 13b, the Y-axis motor 13, the encoder 13a, and the current detector 56b are similar to those for the X-axis, and therefore a description thereof will be omitted.
[0043] The control device 50 includes a Z-axis control circuit 57, a servo amplifier 57a, a current detector 57b, and a differentiator 33b corresponding to the Z-axis motor 33. The Z-axis motor 33 includes an encoder 33a. The Z-axis control circuit 57, the servo amplifier 57a, the differentiator 33b, the Z-axis motor 33, the encoder 33a, and the current detector 57b are similar to those of the X-axis, and therefore a description thereof will be omitted.
[0044] The control device 50 is equipped with a spindle control circuit 59, a servo amplifier 59a, a current detector 59b, and a differentiator 84b corresponding to the spindle motor 84. The spindle motor 84 is equipped with an encoder 84a. The spindle control circuit 59, the servo amplifier 59a, the differentiator 84b, the spindle motor 84, the encoder 84a, and the current detector 59b are the same as those for the X-axis, and therefore a description thereof will be omitted.
[0045] The control device 50 also executes feedback control on the magazine motor 85 in the same manner as on the X-axis motor 23 .
[0046] To perform structural analysis using the finite element method, the control unit 51 models the pillar 12 and the spindle head 2 using multiple elements. The pillar 12 includes a track 12a, and the spindle head 2 includes a slider 2b. The elements are, for example, tetrahedrons or hexahedrons. For example, the endpoints of each element form nodes. Using the finite element method, the control unit 51 calculates the temperature of each node in the spindle head 2 over time, with the heat generation amount of the spindle motor 84, the heat generation amount of the bearing 2c, and the amount of heat transferred from the pillar 12 to the spindle head 2 as boundary conditions. The control unit 51 also calculates the temperature of each node in the pillar 12 over time, with the amount of heat transferred from the spindle head 2 to the pillar 12 as boundary conditions. That is, the control unit 51 performs temperature analysis of the spindle head 2 and the pillar 12 using the finite element method.
[0047] For example, the control unit 51 calculates the heat generation amount Q1 [W] of the spindle motor 84 based on a function A that indicates the relationship between the rotation speed of the spindle 2a, the current value of the spindle motor 84, and the heat generation amount Q1. The control unit 51 calculates the heat generation amount Q2 [W] of the bearing 2c based on a function B that indicates the relationship between the rotation speed of the spindle 2a and the heat generation amount Q2. The control unit 51 calculates the heat transfer amount Q3 from the upright pillar 12 to the spindle head 2 based on a function C that indicates the relationship between the temperature of the slider 2b, the temperature of the raceway 12a, and the heat transfer amount Q3. The control device 50 may store a table showing the relationship between the rotation speed of the spindle 2a and the heat generation amount Q1 instead of function A, store a table showing the relationship between the rotation speed of the spindle 2a and the heat generation amount Q2 instead of function B, and store a table showing the relationship between the temperature of the slider 2b, the temperature of the raceway 12a, and the heat transfer amount Q3 instead of function C, and determine the heat generation amounts Q1, Q2 and the heat transfer amount Q3 by referring to each table. Functions A and B and the table replacing functions A and B constitute predetermined information showing the relationship between the rotation speed of the spindle 2a and the heat generation amount of the spindle head 2.
[0048] When the temperature of the standing pillar 12 is higher than that of the spindle head 2, the amount of heat transferred Q3 from the standing pillar 12 to the spindle head 2 is positive, and when the temperature of the standing pillar 12 is lower than that of the spindle head 2, the amount of heat transferred Q3 is negative. In other words, when the amount of heat transferred Q3 is negative, heat is transferred from the spindle head 2 to the standing pillar 12.
[0049] Function A is expressed, for example, as Q1 = k1 · ω + k2 · I2. Note that k1 and k2 are coefficients, ω is the rotation speed of the spindle 2a, and I is the current value of the spindle motor 84. Function B is expressed, for example, as Q2 = k3 · ω. Note that k3 is a coefficient, and ω is the rotation speed of the spindle 2a. Function C is expressed, for example, as Q3 = (Tb (t) - T(t, zb)) · H. Tb (t) is the temperature of the slider 2b, T(t, zb) is the temperature of the track 12a, and H is a predetermined coefficient. t is the time point, and zb is the vertical position of the slider 2b.
[0050] Heat is conducted between the spindle head 2 and the vertical pillar 12 via the slider 2b and the raceway 12a. The temperature distribution at the boundary between the spindle head 2 and the vertical pillar 12 occurs in the Z direction of the raceway 12a, i.e., in the vertical direction. Therefore, by calculating the amount of heat transfer in accordance with the vertical position zb of the slider 2b, the calculation accuracy of the temperatures of the spindle head 2 and the vertical pillar 12 can be improved.
[0051] The control unit 51 uses, for example, the finite element equation of the following equation (1) to calculate the temperature. In equation (1), K represents the thermal diffusion matrix of each node, C represents the heat capacity matrix of each node, F represents the heat flux vector of each node, T represents the temperature vector of each node, and Δt represents the time between time point n and time point n+1. Time point n represents the current time point, and time point n+1 represents the time point Δt has elapsed since time point n. Δt is, for example, the control period of the control device 50.
[0052]
[0053] After performing the above-mentioned temperature analysis, the control unit 51 uses the finite element method to calculate the thermal displacement of each node in the spindle head 2 over time, with the temperature of each node in the spindle head 2 calculated over time as a boundary condition. The control unit 51 also uses the finite element method to calculate the thermal displacement of each node in the pillar 12 over time, with the temperature of each node in the pillar 12 calculated over time as a boundary condition. In other words, after performing the above-mentioned temperature analysis, the control unit 51 performs thermal displacement analysis on the spindle head 2 and the pillar 12 using the finite element method.
[0054] The control unit 51 uses, for example, the finite element formula of the following formula (2) to calculate the displacement: In formula (2), δ represents the displacement vector of each node, P represents the multiplication matrix of the inverse matrix of the stiffness matrix and the nodal force coefficient matrix, and T represents the temperature vector of each node.
[0055]
[0056] The control unit 51 calculates the displacement of the spindle 2 a based on the thermal displacement of each node in the spindle head 2 and the thermal displacement of each node in the upright pillar 12 .
[0057] 4 is a flowchart illustrating the temperature calculation process of the spindle head 2 by the control unit 51. The control unit 51 measures the vertical position zb of each slider 2b (S1). The distance between the upper and lower sliders 2b is stored in advance in ROM 52, so when the detection result of the encoder 33a indicates the position of the lower slider 2b, the position of the upper slider 2b can be determined by adding the distance stored in ROM 52 to the detection result. The control unit 51 calculates, i.e., measures, the vertical position zb of each slider 2b based on the detection result of the encoder 33a.
[0058] The control unit 51 calculates the heat generation amount Q1 of the spindle motor 84 (S2). The control unit 51 obtains the rotation speed of the spindle 2a at the time when the position of the slider 2b was measured, i.e., at the current time, from the machining program, for example, and applies the rotation speed of the spindle 2a to function A to calculate the heat generation amount Q1. The control unit 51 calculates the heat generation amount Q2 of the bearing 2c (S3). The control unit 51 obtains the rotation speed of the spindle 2a at the current time, from the machining program, for example, and applies the rotation speed of the spindle 2a to function B to calculate the heat generation amount Q2.
[0059] The control unit 51 calculates the amount of heat transfer Q3 from the upright pillar 12 to the spindle head 2 (S4). The control unit 51 calculates the amount of heat transfer Q3 by, for example, substituting the temperature T(t) of the slider 2b and the temperature T(t, z) of the track 12a at the current time into function C. Note that in the initial state, the temperatures T(t) and T(t, z) are set to predetermined temperatures, for example, 0°C. In step S4, the control unit 51 initially uses the predetermined temperature, but from the next calculation onwards, it uses the temperature T(t) calculated in step S6 (described later) and the temperature T(t, z) calculated in step S14. Since heat is conducted at each position of each slider 2b, i.e., at four positions, the control unit 51 calculates the amount of heat transfer Q3 from the upright pillar 12 to the spindle head 2 at each position.
[0060] The control unit 51 updates the boundary conditions (S5). That is, the control unit 51 updates the heat generation amounts Q1, Q2 and the heat transfer amount Q3. The control unit 51 calculates the temperature of each node of the spindle head 2 based on equation (1) using the heat generation amounts Q1, Q2 and the heat transfer amount Q3 as boundary conditions (S6). The control unit 51 returns the process to step S1. The control unit 51 repeatedly executes the temperature calculation process for the spindle head 2 every control period Δt and stores the calculated temperatures. In step S6, the control unit 51 calculates the temperature Tb(t) of the slider 2b. Note that in step S14, which will be described later, the control unit 51 calculates the temperature T(t, zb) of the track 12a. The control unit 51 does not necessarily need to execute the temperature calculation process for the spindle head 2 every control period Δt. For example, the temperature calculation process of the spindle head 2 may be executed when several control cycles Δt have elapsed, such as 2Δt, 3Δt, etc., or the temperature calculation process of the spindle head 2 may be executed when 2Δt has elapsed, and then the temperature calculation process of the spindle head 2 may be executed when 3Δt has elapsed. In other words, the temperature calculation process of the spindle head 2 may be executed every time an irregular cycle elapses.
[0061] The control unit 51 that executes steps S2 and S3 constitutes a heat generation amount calculation unit, and the control unit 51 that executes step S6 constitutes a second temperature calculation unit.
[0062] FIG. 5 is a flowchart illustrating the temperature calculation process of the vertical pillar 12 by the control unit 51. The control unit 51 measures the vertical position zb of each slider 2b (S11). The distance between the upper and lower sliders 2b is pre-stored in ROM 52. Therefore, when the detection result of the encoder 33a indicates the position of the lower slider 2b, the position of the upper slider 2b can be determined by adding the distance stored in ROM 52 to the detection result. The control unit 51 calculates, i.e., measures, the vertical position zb of each slider 2b based on the detection result of the encoder 33a. The control unit 51 calculates the heat transfer amount Q3' from the spindle head 2 to the vertical pillar 12 (S12). Since the heat transfer amount Q3' is a value obtained by reversing the positive and negative values of the heat transfer amount Q3, the control unit 51 can calculate the heat transfer amount Q3' from the vertical pillar 12 to the spindle head 2 at each position of each slider 2b based on the function C. That is, the control unit 51 that calculates the heat transfer amount Q3 is also the control unit 51 that calculates the heat transfer amount Q3'.
[0063] The control unit 51 updates the boundary conditions (S13). That is, the control unit 51 updates the heat transfer quantity Q3'. The control unit 51 calculates the temperature of each node of the pillar 12 based on equation (1) using the heat transfer quantity Q3' as the boundary condition (S14). In step S14, the control unit 51 calculates the temperature T(t, zb) of the track 12a. The control unit 51 returns the process to step S11. The control unit 51 repeatedly executes the temperature calculation process of the pillar 12 every control period Δt and stores the calculated temperature. Note that the control unit 51 does not necessarily have to execute the temperature calculation process of the pillar 12 every control period Δt. For example, the control unit 51 may execute the temperature calculation process of the pillar 12 after several control periods Δt have elapsed, such as 2Δt or 3Δt. Alternatively, the control unit 51 may execute the temperature calculation process of the pillar 12 after 2Δt has elapsed and then execute the temperature calculation process of the pillar 12 after 3Δt has elapsed. That is, the control unit 51 may execute the temperature calculation process of the pillar 12 every irregular period.
[0064] The control unit 51 that executes steps S11, S12, and S13 constitutes a position measurement unit, a heat transfer amount calculation unit, and a first temperature calculation unit.
[0065] Fig. 6 is a flowchart illustrating the position correction process for correcting the tool position, Fig. 7 is a right side view illustrating the thermal displacement of the spindle head 2, Fig. 8 is a right side view illustrating the thermal displacement of the upright pillar 12, and Fig. 9 is a right side view illustrating the thermal displacement of the spindle head attached to the upright pillar. In Fig. 7, the dashed lines indicate the spindle head 2, spindle motor 84, and spindle 2a before thermal displacement. In Fig. 8, the dashed line indicates the upright pillar 12 before thermal displacement.
[0066] As shown in Fig. 6, the control unit 51 calculates the amount of thermal displacement of each node on the spindle head 2 using the temperature of each node on the spindle head 2 as a boundary condition (S21). The temperature of each node on the spindle head 2 has been obtained in advance by the aforementioned spindle head 2 temperature calculation process (see Fig. 4). The control unit 51 stores the amount of thermal displacement of the spindle head 2 (S22). For example, this is stored in the auxiliary storage unit 58. In steps S21 and S22, the control unit 51 calculates and stores the amount of thermal displacement of each node on the spindle head 2 in, for example, the horizontal direction. For example, as shown in Fig. 7, the spindle head 2 extends forward due to thermal displacement.
[0067] The control unit 51 calculates the amount of thermal displacement of each node of the pillar 12 using the temperature of each node of the pillar 12 as a boundary condition (S23). The temperature of each node of the pillar 12 is obtained in advance by the temperature calculation process of the pillar 12 described above (see FIG. 5). The control unit 51 measures the position zb of each slider 2b (S24).
[0068] The control unit 51 calculates the position of the track 12a at position zb after the thermal displacement based on the amount of thermal displacement of each node of the upright pillar 12 (S25). The position of the track 12a at position zb is the position of the connecting portion of the track 12a with the slider 2b. The control unit 51 calculates the amount of displacement of the track 12a at position zb before and after the thermal displacement (S26).
[0069] In step S26, as shown in FIG. 8, for example, the position of the slider 2b arranged above one of the tracks 12a is defined as P1, the position of the slider 2b arranged below one of the tracks 12a is defined as P2, the line segment connecting P1 and P2 is defined as L1, and the vertical line is defined as L2. The control unit 51 calculates the angle θ between the line segment L1 and the vertical line L2. The upright column 12 is deformed by warping due to thermal displacement. As a result, the spindle head 2 rotates by the angle θ. That is, the displacement amount calculated by the control unit 51 in step S26 includes the displacement amount of the track 12a at position zb in the horizontal direction and the angle θ. Positions P1 and P2 are positions after thermal displacement. As shown in FIG. 8, for example, the control unit 51 calculates the displacement amount H1 of the track 12a at position zb before and after thermal displacement in the horizontal direction. P1' in FIG. 8 is the position of the track 12a at position zb before thermal displacement. The position P1' after thermal displacement is the position P1. Because the track 12a extends in the vertical direction due to thermal displacement, for example, the vertical position of the position P1' is slightly lower than the position P1.
[0070] The control unit 51 calculates the corrected position of the tool t after the thermal displacement based on the displacement amount calculated in step S26 (S27). For example, the control unit 51 calculates a first position of the tool t in the horizontal direction. Specifically, as shown in FIG. 9, the control unit 51 calculates a horizontal displacement amount H2 resulting from rotation of the trajectory 12a at position zb by an angle θ. For example, as shown in FIG. 7, the control unit 51 calculates a horizontal displacement amount H3 of the spindle 2a based on the thermal displacement amounts of each node of the spindle head 2 stored in step S22. The control unit 51 adds the displacement amounts H1, H2, and H3 to the position of the tool t before the thermal displacement to calculate the corrected position of the tool t. Note that the control unit 51 may also calculate the corrected position of the tool t in the vertical direction.
[0071] The control unit 51 that executes steps S21, S23, and S27 constitutes a second thermal displacement calculation unit, a first thermal displacement calculation unit, and an adding unit.
[0072] The control unit 51 returns the process to step S21. The control unit 51 repeatedly executes the position correction process for each predetermined control cycle and stores the corrected position of the tool t. The control unit 51 can improve machining accuracy by reflecting the corrected position in the position of the tool t indicated by the machining program. Note that the control unit 51 does not necessarily need to repeatedly execute the position correction process for each control cycle. For example, the control unit 51 may execute the position correction process after several control cycles Δt have elapsed, such as 2Δt or 3Δt, or may execute the position correction process after 2Δt has elapsed and then execute the position correction process after 3Δt has elapsed. In other words, the position correction process may be executed at irregular intervals. The irregular interval may be an instruction from an operator using an M-code or the like, or an input of a signal from an external device.
[0073] In the machine tool of the embodiment, the position of the spindle head 2, i.e., the slider 2b, is measured, the amount of heat transferred from the spindle head 2 to the pillar 12 at the measured position of the slider 2b is calculated, and the temperature and thermal displacement of the pillar 12 are calculated based on the calculated amount of heat transfer. Therefore, the position of the spindle head 2 is reflected in the thermal displacement of the pillar 12, and the calculation accuracy of the thermal displacement can be improved.
[0074] The amount of heat generated by the spindle head 2 is calculated, and the temperature of the spindle head 2 is calculated based on the amount of heat generated and the amount of heat transfer. The thermal displacement of the spindle head 2 is calculated based on the calculated temperature.
[0075] Further, the displacement of the spindle head 2 based on the thermal displacement of the upright pillar 12 and the thermal displacement of the spindle head 2 are added together.
[0076] The amount of heat transferred from the slider 2b to the track 12a is calculated, the temperature T(t, zb) of the track 12a is calculated based on the amount of heat transferred, and the thermal displacement of the track 12a is calculated based on the temperature T(t, zb).
[0077] Furthermore, the temperature of the pillar 12 is calculated by the finite element method in which the amount of heat transfer is included in the boundary conditions, and the thermal displacement of the pillar 12 is calculated by the finite element method in which the temperature of the pillar 12 is included in the boundary conditions.
[0078] In addition, the temperature of the spindle head 2 is calculated using the finite element method, which includes the heat generation amount and heat transfer amount Q3 of the spindle head 2 in the boundary conditions, and the thermal displacement of the spindle head 2 is calculated using the finite element method, which includes the temperature of the spindle head 2 in the boundary conditions.
[0079] Further, the heat generation amount of the spindle head 2 is calculated based on predetermined information, for example, functions A and B, which indicates the relationship between the rotation speed of the spindle 2 a and the heat generation amount of the spindle head 2 .
[0080] In the above-described embodiment, the spindle head 2 corresponds to the drive unit and the upright 12 corresponds to the support unit, but this is not limiting. For example, the Y-axis direction moving mechanism 17 may correspond to the drive unit and the base 11 may correspond to the support unit, or the X-axis direction moving mechanism 20 may correspond to the drive unit and the Y-axis direction moving mechanism 17 may correspond to the support unit.
[0081] It should be noted that a computer program can be deployed to be executed on a single computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communications network.
[0082] The control device 50 may include a plurality of control units 51, and each process may be executed in a distributed manner by the plurality of control units 51.
[0083] The embodiments disclosed herein are illustrative in all respects and should not be considered limiting. The scope of the present invention is intended to include all modifications within the scope of the claims and the scope equivalent to the claims. The features described in each embodiment can be mutually combined. Furthermore, independent claims and dependent claims described in the claims can be mutually combined in any and all combinations, regardless of the reference format. Furthermore, although the claims use a format in which a claim references two or more other claims (multiple claim format), this is not limiting. A multiple claim (multi-multi claim) format in which at least one multiple claim is referenced may also be used.
[0084] 2 Spindle head (drive unit) 2a Spindle 2b Slider 12 Pillar (support unit) 12a Track 50 Control device 51 Control unit 53 Main memory unit 58 Auxiliary memory unit
Claims
1. A calculation device comprising: a position measurement unit that measures the position of a movable drive unit supported on a support unit; a heat transfer amount calculation unit that calculates the amount of heat transfer from the drive unit to the support unit at the position of the drive unit measured by the position measurement unit; a first temperature calculation unit that calculates the temperature of the support unit based on the amount of heat transfer calculated by the heat transfer amount calculation unit; and a first thermal displacement calculation unit that calculates the thermal displacement of the support unit based on the temperature calculated by the first temperature calculation unit.
2. A computing device as described in claim 1, comprising: a heat generation amount calculation unit which calculates the amount of heat generated by the drive unit; a second temperature calculation unit which calculates the temperature of the drive unit based on the amount of heat generated calculated by the heat generation amount calculation unit and the amount of heat transfer calculated by the heat transfer amount calculation unit; and a second thermal displacement calculation unit which calculates the thermal displacement of the drive unit based on the temperature calculated by the second temperature calculation unit, wherein after the position measurement unit measures the position of the drive unit, the heat generation amount calculation unit calculates the amount of heat generated, the heat transfer amount calculation unit calculates the amount of heat transfer, the second temperature calculation unit calculates the temperature of the drive unit, and the second thermal displacement calculation unit calculates the thermal displacement of the drive unit.
3. The computing device according to claim 2, further comprising an adder that adds up, after the position measuring unit measures the position of the drive unit, the displacement of the drive unit based on the thermal displacement of the support part calculated by the first thermal displacement calculation unit and the thermal displacement of the drive unit calculated by the second thermal displacement calculation unit.
4. The computing device according to any one of claims 1 to 3, wherein the support section has a track, the drive section has a plurality of sliders capable of sliding on the track, the position measurement section measures the position of each slider, and after the position measurement section measures the position of each slider, the heat transfer amount calculation section calculates the amount of heat transfer from each slider to the track, the first temperature calculation section calculates the temperature of the track, and the first thermal displacement calculation section calculates the thermal displacement of the track.
5. A computing device as described in any one of claims 1 to 3, wherein the first temperature calculation unit calculates the temperature of the support part by a finite element method in which the heat transfer amount calculated by the heat transfer amount calculation unit is included in the boundary conditions, and the first thermal displacement calculation unit calculates the thermal displacement of the support part by a finite element method in which the temperature calculated by the first temperature calculation unit is included in the boundary conditions.
6. The computing device according to claim 2 or 3, wherein the second temperature calculation unit calculates the temperature of the drive unit using a finite element method in which the heat generation amount calculated by the heat generation amount calculation unit and the heat transfer amount calculated by the heat transfer amount calculation unit are included in boundary conditions, and the second thermal displacement calculation unit calculates the thermal displacement of the drive unit using a finite element method in which the temperature calculated by the second temperature calculation unit is included in boundary conditions.
7. A machine tool comprising: a pillar; a spindle head movably supported on said pillar and supporting a spindle; and a calculation device according to any one of claims 1 to 3, wherein said support part is said pillar and said drive part is said spindle head.
8. A machine tool comprising: a pillar; a spindle head movably supported on said pillar and supporting a spindle; and a calculation device as recited in claim 2, wherein said support part is said pillar and said drive part is said spindle head, wherein said heat generation amount calculation part calculates the heat generation amount of said spindle head based on predetermined information indicating the relationship between the rotational speed of said spindle and the heat generation amount of said spindle head.
9. A calculation method comprising: measuring the position of a movable drive part supported on a support part; calculating an amount of heat transfer from the drive part to the support part at the measured position of the drive part; calculating a temperature of the support part based on the calculated amount of heat transfer; and calculating a thermal displacement of the support part based on the calculated temperature of the support part.
10. A computer program executable by an arithmetic device, causing the arithmetic device to execute the following processes: measure the position of a movable drive part supported on a support part; calculate the amount of heat transfer from the drive part to the support part at the measured position of the drive part; calculate the temperature of the support part based on the calculated amount of heat transfer; and calculate the thermal displacement of the support part based on the calculated temperature of the support part.
Citation Information
Patent Citations
Thermal displacement compensation device and thermal displacement compensation method
JP5811102B2
Machine tool, calculation method and computer program
JP6500602B2
Thermal displacement model learning device, thermal displacement estimation device, machining system, and machining method
JP7221459B1
Method for deriving correction coefficient and machine tool
JP7238839B2