Thermal displacement correction for machine tools
Patent Information
- Application Number
- DE102009013043
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2008-03-13
- Filing Date
- 2009-03-13
- Publication Date
- 2025-04-10
- Estimated Expiration
- 2029-03-13
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
The present invention relates to a thermal displacement correction for a machine tool, and more particularly, the invention relates to a thermal displacement correction method for a machine tool, a thermal displacement correction device, and a computer readable medium storing a thermal displacement correction program. More particularly, the present invention relates to a method and apparatus for correcting an error due to thermal displacement of a ball screw mechanism occurring during operation of the machine tool, and to a computer readable medium storing a program for correcting such an error.A ball screw mechanism is widely used as a positioning mechanism for a machine tool. A temperature of the ball screw mechanism may increase due to frictional resistance between a screw shaft and a nut, frictional resistance between the screw shaft and each bearing portion, and heat generation of a servo motor. The ball screw mechanism may undergo thermal displacement (elongation) due to the above-mentioned temperature increase. Present day NC machine tools are generally controlled by a semi-closed feedback or loop system. In the NC machine tool using the semi-closed feedback system, the thermal displacement of the screw shaft may appear directly as a position error. As a countermeasure, a bias method is proposed. In the pre-stressing method, a pre-stressing is applied to the screw shaft to absorb thermal expansion. Recently, a thick screw shaft may be used in an NC machine tool, and a feed speed of the NC machine tool may be very high. In such a case, more heat can be generated. Therefore, assuming the bias method, a very large voltage may be required to apply it. Consequently, there may be a problem that the structure of the ball screw mechanism is deformed, and a thrust bearing may burn or seizure due to application of an unsound force.In a thermal displacement correction method for a screw shaft, as proposed in JP S63-256 336A, an unnecessary bias is not applied to the screw shaft, and a special measurement device is not necessary. In this method, the amount of thermal displacement during the process is corrected. More specifically, in the first process, a heat value of the screw shaft is obtained by a product of an armature current of the servomotor and a voltage. In the second process, the temperature distribution is obtained from the heat values in a model in which the screw shaft is divided into a plurality of sections. In the third process, the amount of thermal displacement of the screw shaft is momentarily predicted based on the temperature distribution. In the fourth process, the amount of thermal displacement is input to an NC device as gear error compensation.JP H04-240 045 A executes that the above-mentioned method disclosed in JP S63-256 336 A has a problem that the heat value contains the acceleration / braking energy of the servomotor itself. In the thermal displacement amount correction method disclosed in JP H04-240 045 A, the heat value of each portion of the screw shaft is calculated from the rotational speed of the servo motor. According to this method, the correction value calculated based on the rotational speed of the servomotor that is not affected by the acceleration / deceleration energy can approximate an actual elongation of the screw shaft.In the method disclosed in JP H04-240 045 A, the heat value of the servomotor is calculated from only the rotational speed. However, in this method, it is not considered that the heat value may vary depending on a load of the servomotor. Further, the conditions of calculating the correction amount at an initial state of the operation of the servomotor and after a lapse of a fixed time are not disclosed. Therefore, in this method, the correction amount calculated in a transient state that is the initial stage of operation of the motor and the actual extension of the screw shaft (thermal displacement amount) may not be approximated to each other.The inventor of the present invention actually operated a servomotor and measured a temperature of one end of a screw shaft. The inventor produced a thermal distribution model disclosed in JP H04-240 045 A and carried out an experiment for comparing an actual temperature of the end portion of the screw shaft and a temperature calculated using the thermal distribution model. As shown in FIG. 12, a mechanism for measuring the actual temperature of the end portion of the screw shaft includes a servo motor 201, a screw shaft 203, a nut 204, and a table 205. The servomotor 201 and the screw shaft 203 are connected to each other by a coupling 202. The nut 204 is threadedly connected to the screw shaft 203, and can move forward and backward (horizontal direction in FIG. 12 ) in response to the rotation of the screw shaft 203. The table 205 is fixed to the nut 204 and can move forward and backward integrally with the nut 204. A fixed bearing 206 and a movable bearing 207 are installed in a support base rotatably supporting the screw shaft 203.The conditions of the experiment were as follows.(Condition 1)An average current flowing through the servomotor 101 during the movement of the table 205 and the average rotational speed were constant. A temperature measurement portion 208 (measurement position) was set at a fixed position 209, which was the end portion of the screw shaft. The table 205 was repeatedly moved back and forth at a constant speed until the temperature measurement stabilized at the fixed portion 209.(Condition 2)The table 205 has been moved to a position sufficiently away from the fixed bearing 206 to prevent the heat generation of the nut 204 from affecting the temperature measurement portion 208. The servomotor 201 and the fixed bearing 205 affected the temperature of the temperature measurement portion 208.Next, the inventor of the present invention produced a thermal distribution model. Since the average current flowing through the servomotor 201 and the average rotational speed are assumed to be constant, a heat input from the servomotor 201 to the end portion of the screw shaft is considered to be constant. Under such conditions, a non-stationary state heat conduction equation disclosed in JP H04-240 045A was solved, whereby the temperature at each time was calculated.FIG. 13 shows an experimental value (actual value) of the thermal displacement at the fixed position 209 (see FIG. 12 ) and a calculated value based on the thermal distribution model. The vertical axis of the graph represents the temperature of the end portion of the screw shaft (the fixed position 209), and the horizontal axis of the graph represents an elapsed time. The solid line represents the experimental value, and the broken line represents the calculated value. The results shown in the graph can lead to the following conclusion. The experimental value and the calculated value approach each other after the temperature increase in the end portion of the screw shaft is stabilized. The temperature of the calculated value increases faster than the temperature of the experimental value during the duration of the transient state given before the temperature increase stabilizes. Therefore, in the above method, accurate prediction may not be made.US 5 619 414 A discloses an apparatus for correcting thermal displacement errors. The apparatus includes a motor (but not a servo motor) that implicitly represents a heat source, and further includes a drive mechanism that includes the drive shaft and a nut that serve as another heat source. The wave is divided into intervals and the heat sources are applied at fixed or movable intervals. The heat transfer between the individual intervals and in / out of the individual intervals is calculated with respect to the respective other heat sources. From this, a temperature can be determined to calculate a displacement and then correct it.It is therefore an object of the present invention to provide a thermal displacement correction method for a machine tool, a thermal displacement correction device, and a computer readable medium storing a thermal displacement correction program that enables a correction value to approximate an actual extension amount of a screw shaft in a transition state from a start of an operation of the machine tool to a stabilization of a temperature increase.This object is achieved by a thermal displacement correction method for a machine tool according to claim 1.The machine tool for the thermal displacement correction method includes a ball screw mechanism for a feed drive provided with a screw shaft and a nut. A feed amount controller calculates a feed amount of the nut by the screw shaft based on process data. A servo motor rotationally drives the screw shaft. A speed controller controls a rotational speed of the servo motor based on the process data. The correction method includes a first step of calculating a first heat value generated in the screw shaft due to movement of the nut based on the rotation speed.The method includes a second step of obtaining a saturation temperature of the servomotor from each average value of the rotational speed and the driving current, obtaining a temperature change in the servomotor body from the saturation temperature and the elapsed time, and calculating a second heat value transmitted from the servomotor to the screw shaft based on the temperature of the servomotor body by adding the obtained temperature changes together.The correction method includes a third step of calculating a temperature distribution in a plurality of portions obtained by dividing the screw shaft in a longitudinal direction from the first and second heat values.The correction method includes a fourth step of calculating a thermal displacement amount of each of the plurality of portions from the temperature distribution.The correction method includes a fifth step of calculating a correction amount of the process data based on the thermal displacement amount.According to the thermal displacement correction method for a machine tool, the temperature distribution in the plurality of portions of the ball screw shaft can be calculated by using not only the first heat value generated in the ball screw shaft due to the movement of the nut but also a second heat value due to the temperature rise of the servomotor, and thus a correction amount is obtained. Therefore, the correction amount can approximate an actual length amount of the ball screw shaft even in a transient state occurring before the temperature of the servo motor is stabilized. A heat input from the servomotor to the ball screw shaft may be affected by the temperature increase in the servomotor. The temperature increase in the servomotor itself can be associated with an influence of driving elements such as a load. Specifically, the temperature of the servomotor may constantly change during a period until the heat value of the servomotor and a heat release value balance each other. In the thermal displacement correction method, the second heat value based on the temperature increase in the servomotor can be used in calculating the correction value, whereby the correction amount following the change in the temperature of the servomotor can be obtained. With respect to the thermal inputs other than the servomotor to the ball screw shaft, the thermal displacement amount can be calculated for each of the plurality of portions by using the first thermal value generated in the ball screw shaft due to the movement of the nut. Therefore, in the correction method of thermal displacement, the correction amount can be obtained with high accuracy without separately providing a sensor.The object is also achieved by a thermal displacement correction device for a machine tool according to claim 3.The thermal displacement correction device for a machine tool includes a ball screw mechanism for a feed drive provided with a screw shaft and a nut. A feed amount controller calculates a feed amount of the nut by the screw shaft based on process data. A servo motor rotationally drives the screw shaft. A speed controller controls a rotational speed of the servo motor based on the process data. The thermal displacement correction device includes a speed detection device, a temperature detection section, a first heat value calculation section, a second heat value calculation section, a temperature distribution calculation section, a temperature displacement amount calculation section, and a correction amount calculation section. The speed detecting means detects the rotational speed. The temperature detection section acquires a saturation temperature of the servo motor from each average value of the rotational speed and the driving current, and obtains a temperature change in the servo motor body from the saturation temperature and the elapsed time. The first heat value calculating section calculates a first heat value generated in the screw shaft due to movement of the nut, based on the rotational speed detected by the speed detecting device. The second heat value calculation section calculates a second heat value transmitted from the servomotor to the screw shaft based on the temperature of the servomotor body by adding the temperature changes obtained from the temperature detection section together. The temperature distribution calculating section calculates a temperature distribution in a plurality of sections obtained by dividing the screw shaft in a longitudinal direction from the first heat value calculated by the first heat value calculating section and the second heat value calculated by the second heat value calculating section. The thermal displacement amount calculation section calculates a thermal displacement amount of each of the plurality of temperature distribution sections from the temperature distribution calculated by the temperature distribution calculation section. The correction amount calculation section calculates a correction amount of the process data based on the thermal displacement amount calculated by the thermal displacement amount calculation section.The thermal displacement correction device for a machine tool includes the temperature detection portion that detects the temperature increase in the servomotor. Further, the temperature distribution in the plurality of portions of the ball screw shaft is calculated using the second heat value based on the temperature increase, and thus the correction amount is obtained. Therefore, the correction amount can approximate an actual length amount of the ball screw shaft even in a transient state that exists before the temperature increase in the servo motor is stabilized. With respect to thermal inputs other than those from the servomotor to the ball screw shaft, the thermal displacement amount may be calculated for each of the plurality of portions using the thermal value generated in the ball screw shaft due to the movement of the nut. Therefore, the correction amount can be obtained with high accuracy without separately providing a sensor.The temperature increase in the servomotor can be detected based on at least the rotational speed of the servomotor and the drive current value. In such a case, the correction amount can be obtained with high accuracy by using an existing sensor without using a separately provided sensor.This object is also achieved by a computer readable medium storing a thermal displacement correction program for a machine tool according to claim 5.The computer readable medium thermal displacement correction program machine tool includes a ball screw mechanism for a feed drive provided with a screw shaft and a nut. A feed amount controller calculates a feed amount of the nut by the screw shaft based on process data. A servo motor rotationally drives the screw shaft. A speed controller controls a rotational speed of the servo motor based on the process data. The thermal displacement correction program includes commands that cause a controller of the machine tool to include a first step of calculating a first heat value generated in the screw shaft due to the movement of the nut based on the rotation speed; a second step of obtaining a saturation temperature of the servo motor from each average value of the rotation speed and the driving current, obtaining a temperature change in the servo motor body from the saturation temperature and the elapsed time, and calculating a second heat value transmitted from the servo motor to the screw shaft based on the temperature of the servo motor body by adding the obtained temperature changes together; a third step of calculating a temperature distribution in a plurality of portions obtained by dividing the screw shaft in a longitudinal direction from the first and second heat values; a fourth step of calculating a thermal displacement amount of each of the plurality of portions from the temperature distribution; and a fifth step of calculating a correction amount of the process data based on the thermal displacement amount.According to the computer readable medium storing a thermal displacement correction program, the controller of the machine tool calculates the temperature distribution in the plurality of portions of the ball screw shaft using not only the first heat value generated from the nut on the ball screw shaft but also the second heat value based on the temperature increase in the servomotor. Thus, the correction amount can be obtained. Therefore, the correction amount can approximate an actual length amount of the ball screw shaft even in a transient state that takes place before the temperature of the servo motor is stabilized.Further features and functionalities of the invention are evident from the following description of exemplary embodiments with reference to the figures. Of the figures, FIG. 1 is an overall perspective view of a machine center M according to an embodiment of the present invention; FIG. 2 is a front view around a main spindle head 5 and an automatic tool changer 7 of the machine center M; FIG. 3 is a structural diagram of a ball screw mechanism; FIG. 4 is a block diagram of a control system of the machine center M; FIG. 5 is an explanatory view in a case where a screw shaft is divided into portions for obtaining a heat value; FIG. 6 is an explanatory view of a data field of a temperature distribution calculation circuit 19; FIG. 7 is an explanatory view showing a relationship between a motor body temperature and an elapsed time when a rotation speed of a motor and a current are constant; FIGS. 8A to 8D are explanatory views for explaining a method for calculating the engine body temperature, wherein FIG. 8A is a graph of a relationship between an elapsed time and the engine body temperature from 0 to t1 after the start of the drive, FIG. 8B is a graph of a relationship between the elapsed time and the engine body temperature from t1 to t2 after the start of the drive, FIG. 8C is a graph of a relationship between the elapsed time and the engine body temperature from t2 to t3 after the start of the drive, and FIG. 8D is a graph of a relationship between the elapsed time and the engine body temperature from 0 to t3 after the start of the drive; FIG. 9 is a view for explaining a temperature of each section and the heat value input for each section; FIG. 10 is a view showing a temperature increase speed at time 0, t 1, and t 2; FIG. 11 is a flowchart of position correction control of the machine center M; FIG. 12 is a schematic view of an experimental apparatus for measuring a temperature of an end portion of the screw shaft; and FIG. 13 is a diagram showing a calculated value calculated according to the prior art method and an experimental value obtained by the experimental apparatus shown in FIG. 12.Preferred embodiments of the present invention will be described below with reference to the drawings.[First Embodiment]A structure of a machine center M (machine tool) will be described with reference to FIGS. 1 to 4. The machine center M shown in FIG. 1 is a machine tool that applies a desired machine process (e.g., "grinding", "painting", "stirring", "drilling", and "cutting") to a workpiece while causing relative movement between the workpiece and a tool. The engine center M includes a base 1 that is a cast iron base, an engine body 2 provided on the base 1, and an injection cover (not shown) fixed to an upper portion of the base 1. The machine body 2 can perform a cutting process of the workpiece. The injection cover may have a box-shaped shape and cover the machine body 2 and the base 1 from above.The base 1 is a molded product having a substantially rectangular solid shape elongated in a y-axis direction. The four corners of the lower portion of the base 1 each have height adjustable feet.Next, the machine body 2 will be described. As shown in FIG. 1, the machine body 2 includes a column 4, a main spindle head 5, a main spindle (not shown), a tool changer 7, and a table 8. the column 4 is mounted on an upper surface of a column base 3 provided in a rear part of the base 1 and extending vertically upward. The main spindle head 5 can be moved up and down along a front surface of the column 4 and rotatably supports the main spindle provided inside. The tool changer 7 is provided on the right side of the main spindle head 5. The tool changer 7 can change a tool holder attached to the upper end of the main spindle with another tool holder. The tool holder may be provided with a tool 6, the table 8 is provided on the base 1, and the workpiece may be removably mounted on the table 8. The pillar 4 has a box-like control box 9 on its rear surface side. The control box 9 includes a numerical control device 50 for controlling the operations of the machine center M.Next, a moving mechanism of the table 8 will be described. An x-axis motor 71 (see FIG. 4 ) and a y-axis motor 72 (see FIG. 4 ), which are servomotors, can move the table 8 in the x-axis direction (the horizontal direction of the machine body 2 in FIG. 1 ) and in the y-axis direction (the depth direction of the machine body 2). The moving mechanism of the table 8 is constructed as follows. A rectangular fixed support base 10 is provided on the lower side of the table 8 and has on its upper surface a pair of x-axis guide rails extending along the x-axis direction. The pair of x-axis guide rails movably support thereon the table 8. The nut member 8a is screwed to an x-axis screw shaft 81 extending from the x-axis motor 71, thereby providing a ball screw mechanism. A fixed bearing 91a fixed to the support base 10 supports an end portion 81a of the x-axis screw shaft 81 on a side closer to the x-axis motor 71.A pair of y-axis guide rails provided on the upper surface of the base 1 and extending along the longitudinal direction movably support the support base 10 thereon. The x-axis motor 71 provided in the support base 10 can move and drive the table 8 in the x-axis direction along the x-axis guide rails. The y-axis motor 72 provided in the base 1 can move and drive the table 8 in the y-axis direction along the y-axis guide rails. The y-axis moving mechanism includes the same ball screw mechanism (see FIG. 3 ) as the x-axis moving mechanism.Telescopic covers 11 and 12 that telescopically extend and contract cover the x-axis guide rails on the left and right sides of the table 8, a telescopic cover 13 and a y-axis rear cover cover the y-axis guide rails in front of and behind the support base 10, and these telescopic covers 11, 12 and 13 and the y-axis rear cover constantly cover the x-axis guide rails and the y-axis guide rails even when the table 8 moves in the x-axis direction or in the y-axis direction. Therefore, the telescopic covers 11, 12, and 13 and the y-axis rear cover prevent chips, a cooling liquid, etc. injected or scattered from the machining area from falling on each guide rail.Next, a raising / lowering mechanism of the main spindle head 5 will be described. A guide rail (illustration is omitted) extending in the up and down direction on a side of the front surface of the column 4 guides the main spindle head 5 via a linear guide (illustration is omitted) in a raising / lowering manner. A nut (illustration is omitted) connects the main spindle head 5 to a z-axis screw shaft (illustration is omitted) provided on the front surface side of the column 4 and extending in the up-and-down direction. A z-axis motor 73 (see FIG. 4 ) can rotate and drive the z-axis screw shaft in the normal and rearward directions, thereby moving the main spindle head 5 up and down. A z-axis control portion may drive the z-axis motor 73 according to a control signal from a CPU 51 of the numerical control device 50. The z-axis motor 73 is driven, whereby the main spindle head moves up and down and drives.As shown in FIGS. 1 and 2, the tool changer 7 is provided with a tool magazine 14 and a tool change arm 15. The tool magazine 14 can store a plurality of tool holders that hold the tool 6. The tool change arm 15 can hold, advance, and replace a tool holder attached to the main spindle and another tool holder. In the tool magazine 14, a plurality of tool pots (illustration is omitted) and a feed mechanism (illustration is omitted) are provided. The tool pot carries the tool holder. The feed mechanism feeds the tool pot in the tool magazine 14.FIG. 4 shows an electrical configuration of the engine center M. The control device 50 as a control portion includes a microcomputer. The control device 50 is provided with an input / output interface 54, a CPU 51, a ROM 52, a RAM 53, spindle control sections 61 ato 64 aand 75 a, servo amplifiers 61 to 64, differentiators 71 bto 74 b, and so on. The servo amplifiers 61 to 64 are connected to the x-axis motor 71, the y-axis motor 72, the z-axis motor 73 and the main spindle motor 74, respectively. The spindle control portion 75a is connected to a magazine motor 75.The x-axis motor 71 and the y-axis motor 72 are respectively provided for moving the table in the x-axis direction and the y-axis direction. The magazine motor 75 is provided for rotating and moving the tool magazine 14. The main spindle motor 74 is provided for rotating the main spindle. Hereinafter, the x-axis motor 71, the y-axis motor 72, the z-axis motor 73, and the main spindle motor 74 are collectively referred to as the motors 71 to 74. These motors 71 to 74 have encoders 71a to 74a, respectively.The spindle rod portions 61 ato 64 amay each receive a movement command amount from the CPU 51 and output a current command (a command value of motor torque) to each of the servo amplifiers 61 to 64. The servo amplifiers 61 to 64 may receive the current command and output a drive current to each of the motors 71 to 74, respectively. The spindle control portions 61 ato 64 amay each receive a position feedback signal from each of the encoders 71 ato 74 ato perform position feedback control. The differentiators 71 bto 74 bmay respectively differentiate the position feedback signal output from each of the encoders 71 ato 74 ato convert the differentiated position feedback signals into speed feedback signals, and thus output the speed feedback signals to the spindle control sections 61 ato 64 a.The spindle control portions 61 ato 64 amay each execute the speed feedback control based on the speed feedback signal output from each of the differentiators 71 bto 74 b. Current detectors 61 bto 64 bmay detect the driving current output from the servo amplifiers 61 to 64 to the motors 71 to 74, respectively. The current detectors 61 bto 64 bmay respectively feed back the driving current to the spindle control portions 61 ato 64 a. The spindle control portions 61 ato 64 amay respectively execute current (torque) control in response to the feedback drive current.The spindle control portion 75 amay receive the movement command from the CPU 51 to drive the magazine motor 75.The RAM 53 may store, for example, a parameter associated with a mechanical structure, a parameter associated with physical properties, and heat dissipation coefficients (rate) η N, η B which will be described later. Examples of the parameter associated with the mechanical structure include a length and a diameter of the screw shaft 81 and a reference position to be described later. Examples of the parameter associated with the physical properties include a density, a specific heat, a linear expansion coefficient, a heat capacity, a heat transfer coefficient, and γ used in Formulas (3) (4) to be described later. As shown in FIG. 6, the RAM 53 has a data area storing heat values (abbreviated as "CV" in the drawing) corresponding to portions 1 to n of a nut moving portion to be described later, a data area corresponding to a total heat value, and a data area corresponding to a total rotational speed of the servomotor.Next, a description will be given of a method of calculating a thermal displacement amount used in the numerical controller of the machine center M. For convenience, an x-axis ball screw mechanism will be described as an example, basically the same is also true for a y-axis ball screw mechanism and a z-axis ball screw mechanism. In this calculation method, the heat values of three regions of the screw shaft, i.e., a front bearing portion, a nut moving portion, and a rear bearing portion, are obtained. The nut moving portion is divided into a plurality of portions. The heat value of each of the plurality of portions is obtained.(Calculation of Total Calorific Value)As shown in FIG. 5, the nut moving portion whose length is represented by L is divided into n portions. In the present embodiment, the portion where the nut is present is determined for each fixed time (e.g., 50 ms), and the heat value (a first heat value) is obtained from an actual rotational speed (feed speed) of the servo motor. The obtained heat value is stored in the data area of the RAM 53. The calorific value can be calculated using the following formula: wherein Q represents the calorific value, F represents the feed rate, and K represents coefficients corresponding to 1 and T.In the present embodiment, the heat value due to the movement of the nut in each section is calculated for each fixed time during a fixed period. In the present embodiment, the heat value is calculated 128 times for each 50 ms during a duration of 6400 ms. The calculated values are summed for each section and the sum is stored in the data area of the RAM 53 corresponding to each of the sections 1 to n. The RAM 53 also stores a total heat value Q TTL, which is the sum of the heat values 1 to n in the sections 1 to n generated in the duration of 6400 ms, and a total rotational speed N TTL in other data areas.(Distribution of Total Heat Value: 1)The present method of distributing the total heat value Q TTL is based on the same method as disclosed in JP H04-240 045A. More specifically, it is assumed that there is no heat transfer between the nut moving portion, the front bearing portion, and the rear bearing portion, and that these regions are thermal and approximately independent of each other. In addition, it is assumed that a ratio of the heat value of each heat source with respect to the total heat value is substantially constant regardless of the change in the feed speed.In the present embodiment, based on the above method, a heat value Q N of a moving section and a heat value Q B of a rear bearing section are calculated from the following formula: wherein the ratio η N represents a ratio of the heat value of the nut moving section to the total heat value, and the ratio η B represents a ratio of the heat value of the rear bearing section to the total heat value. As mentioned in the above method, the ratios η N and η B are fixed. Therefore, Q N and Q B can be measured with an actual machine, and the ratios η N and η B can be calculated in advance.(Distribution of Heat Value for Each Portion of Nut Moving Portion)Next, in the present embodiment, the heat value is obtained for each portion of the nut moving portion. The heat value stored in the RAM 53 is a total amount of the heat value calculated for each 50 ms for the duration of 6400 ms. Therefore, an average heat value for each 50 ms is obtained for each section, and thereafter, the existence probabilities X 1,..., X i,... and X n of the mother in each section are calculated from the average heat value and the total heat value Q TTL using the following formula:After the existence probabilities X 1,..., X i,... and X n of the mother in each section are obtained, the distribution heat values Q N1,..., Q Ni,... and Q Nn, which are to be distributed for each of the sections 1 to n, are calculated from the existence probabilities and the heat values Q N of the mother moving section using the following formulas:(Distribution of Total Heat Value: 2)Next, a heat value Q F of the front bearing is calculated. The heat value Q F of the front bearing portion is associated with a heat input due to a temperature increase in the servomotor. Therefore, in the present embodiment, the temperature of a body of the servomotor is calculated. Then, an amount of heat input to the end portion of the screw shaft, i.e., the heat value Q F of the front bearing (a second heat amount) can be obtained from a difference between the calculated temperature of the servomotor body and the temperature of the end portion of the screw shaft.A method of calculating the temperature of the servomotor body will be described. The temperature change in the servo motor in a case where the rotational speed of the servo motor and the drive current are constant will be described with reference to FIG. 7. When the driving of the engine center M is started, a motor body temperature θ M is increased, a curve 150 is drawn, and is saturated at a fixed temperature. The temperature at saturation is referred to as a saturation temperature L 1a. The saturation temperature L 1a, can be represented by the following formula: wherein K 2 and K 3 respectively represent a constant specific to the servo motor, ω is a motor rotation speed, and i is a drive current of the servo motor.The curve 150 representing the increase in the motor body temperature θ M can be represented by the following formula: wherein γ represents a constant specific to the servo motor and t represents a time elapsed from the start of the drive. When the engine center M is stopped after the engine body temperature Θ M reaches the saturation temperature L 1a, (at the time when t=8 hours in FIG. 7 ), the engine body temperature Θ M may decrease, a curve 151 is drawn. The curve 151 may be represented by the following formula: wherein γ represents a constant specific to the servo motor and t represents a time elapsed from the stop of the drive.An engine body temperature θ M1a, after "a" minutes have elapsed from the start of driving of the engine center M, can be represented by the following formula based on the formula (3):A motor body temperature θ M-1a, after "a" minutes have elapsed from the stop of the drive of the engine center M, can be represented by the following formula based on the formula (4):Up to now, the temperature change in the servomotor has been described on the assumption that the rotational speed of the servomotor and the drive current are constant. However, the rotational speed and the drive current of the servo motor need not always be constant in the actual drive of the machine center M. In particular, in a transient state at the initial operating state, the rotational speed and the driving current need not be constant. Therefore, in the present embodiment, the saturation temperature of the servo motor is taken using the formula (2) from an actual rotational speed and an actual drive current (specifically, each average value of the rotational speed and the drive current measured during 50 ms) for each predetermined elapsed time (specifically, 6400 ms). The temperature change in the servomotor body is then obtained using formulas (3) and (4) from the saturation temperature and the elapsed time. The obtained temperature changes are added together, whereby the actual temperature of the servomotor body can be calculated.A method of calculating the actual temperature of the servomotor body will be described below with reference to FIG. 8. In the following description, it is assumed that times t 1, t 2, and... (Minutes) have elapsed from the start of driving of the engine center M. Namely, each period between times 0, t1, t2, and... is regarded as the elapsed time in each processing.In the present embodiment, it is assumed that the motor body temperature θ M according to the formula (3) increases during the elapsed time and thereafter decreases according to the formula (4). As shown in FIG. 8A, the motor body temperature θ Mt1 increases based on the elapsed time between times 0 and t 1 from time 0 to time t 1, and then decreases after time t 1 has elapsed, thereby plotting a curve 301. A value θ Mt-1 at the time t 1 of the motor body temperature θ Mt1 can be calculated as follows according to the formula (3): wherein L t1 represents a saturation temperature obtained from the actual rotational speed and the actual drive current of the servo motor between the time 0 and the time t 1. The motor body temperature θ Mt1 decreases according to the formula (4) after the time t 1, and therefore a value θ Mt1-2 at the time t 2 of the motor body temperature θ Mt1 can be calculated as follows:Accordingly, the values θ Mt1-3 and θ Mt1-4 at the times t 3 and t 4 of the motor body temperature θ Mt1 may be calculated as follows:As shown in FIG. 8B, the motor body temperature θ Mt2 increases based on the elapsed time between the times t 1 and t 2 from the time t 1 to the time t 2, and then decreases after the time t 2 has elapsed, thereby plotting a curve 302. The saturation temperature L t2 can be calculated from the actual rotational speed and the actual drive current of the servo motor between the times t 1 and t 2. Therefore, the motor body temperatures θ Mt2-1, θ Mt2-2 and θ Mt2-3 at the times t 2, t 3 and t 4 can be calculated respectively using the formulas (3) and (4):As shown in FIG. 8C, the motor body temperature θ Mt3 increases based on the elapsed time between the times t 2 and t 3 from time t 2 to time t 3, and then decreases after the time t 3 has elapsed, thereby plotting a curve 303. The motor body temperature θ Mt3-1 θ Mt3-2 and θ Mt3-3 at the times t 3, t 4 and t 5 may be calculated as in the case of θ Mt1 and θ Mt2.The values of the motor body temperatures θ Mt1, θ Mt2, θ Mt3 and... at each time calculated as described above are added to calculate the actual motor temperature θ. For example, assume that the engine body temperatures θ Mt1, θ Mt2 and θ Mt3, as represented by the curves 301, 302 and 303 (see FIGS. 8A to 8C ), are calculated based on each elapsed time for the times t 1, t 2, t 3 and so on. In such a case, a value X is 1 at the time t 1 of the motor body temperature Θ is Θ Mt1-1. A value X 2 at the time t 2 of the motor body temperature Θ is Θ Mt1-2+ Θ Mt2-1. A value X 3 at the time t 3 of the motor body temperature θ is θ Mt1-3+ θ Mt2-2+ θ Mt3-1. Accordingly, the motor body temperature θ at any time can be calculated. As a result, the engine body temperature change can be obtained as represented by a curve 304 (see FIG. 8D ).In the present embodiment, the heat value Q F of the front bearing is calculated using the motor body temperature Θ calculated as described above according to the following formula (5): wherein K 4 represents a coefficient, and Θ s represents the temperature of the end portion of the servomotor-side screw shaft (the end portion 81 ain the example of FIG. 3 ).(Calculation of Temperature Distribution)After the heat value for each heat source is calculated as described above, the CPU 51 calculates the temperature distribution from the heat values. The temperature distribution can be obtained by solving the following equation of heat conduction in the non-stationary weight state under the initial conditions of {θ} t = 0 and d{θ} / dt t = 0: wherein [C] represents a heat capacity matrix, [H] represents a heat conduction matrix, {θ} represents the temperature distribution, {Q} represents the heat value, and t represents a time.More specifically, the driving of the engine center M is started (t=0) and the temperature distribution when the time t1, t2, and... (Minutes) has elapsed is calculated.When the nut moving portion is divided into portions as shown in FIG. 5, the temperature of each portion and the heat value input for each portion can be represented as shown in FIG. 9. The following formula (7) can be represented as follows using Fig. 9 :The temperature distribution {θ} of each portion of the screw shaft at the time t 0 and the motor body temperature θ are already known. Therefore, the heat value Q F of the front bearing can be calculated from the formula (5). The distribution heat values Q N1 to Q Nn in each portion of the nut moving portion and the rear bearing heat value Q B can also be obtained from the formula (1). The calculated values are assigned to the right side of formula (7). That is, as shown in FIG. 10, the rate (d{θ} t = 0 / dt), i.e., an inclination of the temperature increase in each portion of the screw shaft, can be obtained. In the present embodiment, the temperature {θ} in each section at t=t 1 can be calculated based on the obtained inclination using the following formula:Further, Q F to t=t 1 according to the formula (5) can be calculated from the temperature of the end portion of the screw shaft T s of {θ} t = t1 and the motor body temperature θ calculated using the formulae (3) and (4). The calculated value is then assigned to formula (7), whereby d{θ} t=t1 / dt can be obtained. As a result, the temperature at each portion at t=t2can be calculated from the following formula:The temperatures at t = t3 and at other times can be obtained in the similar manner.(Calculation of Thermal Displacement Amount)After the temperature distribution of the screw shaft is obtained as described above, the thermal displacement amount can be calculated from the temperature distribution. The thermal displacement amount can be calculated from the following formula (8): wherein ΔL represents the thermal displacement amount and β represents a linear expansion coefficient of a material of the screw shaft.Next, a specific procedure of numerical control of the machine center M will be described with reference to the flowchart shown in FIG. 11. The CPU 51 sets a matrix necessary for the calculation using the finite element method based on the setting of data such as parameters. As shown in FIG. 5, the CPU 51 divides the nut moving portion of the screw shaft into a finite number of portions, whereby the CPU 51 forms regions in a heat distribution model (S 1).Next, the CPU 51 sets the initial temperature {θ} t=0 for each section in the heat distribution model set in step S 1. The initial temperature {θ} t=0 may be set individually for each section. When the temperature of the machine center M can be treated as being equal to the ambient temperature θ Luft the initial temperatures {θ} t = 0 all the sections may be set to the ambient temperature θ Luft. On the other hand, when there is a temperature difference between each section due to, for example, the drive of the machine center M, the CPU 51 may set the initial temperature for each section. The CPU 51 stores the initially set temperature {θ} t=0 and a reference position in the RAM 53 (S 2).The CPU 51 identifies the portion including the current position of the nut member 8a for each 50 ms, and calculates the total heat value due to the movement of the nut 8a for each portion based on the data of the feed speed and the formula (1) (S3). After a fixed time (6400 ms) has elapsed, the CPU 51 calculates the heat value Q N of the mother moving portion from the ratio η N of the heat value Q N of the mother moving portion with respect to the total heat value Q TTL, which is the sum of the heat values of all portions. The CPU 51 calculates the existence probability of the mother for each section from the total calorific value Q TTL and the average calorific value for each section. The CPU 51 distributes a value obtained by multiplying the heat value Q N of the nut moving section and the existence probability as a heat value due to the movement of the nut to each of the sections obtained by the division in step S 1 (S 4).The CPU 51 calculates the saturation temperature based on the formula (2) by using the current passing through the servo motor and the motor rotation speed. The CPU 51 acquires the temperature increase in the servomotor body based on the saturation temperature and the formulas (3) and (4) (S 5). The CPU 51 calculates the heat input at the portion adjacent to the servomotor, i.e., the heat value of the front bearing from the temperature increase in the servomotor body and the temperature of the end portion of the screw shaft using the formula (5) (S 6).The CPU 51 acquires the temperature distribution in each section using the heat value of each section obtained in steps S 4 and S 6 and the non-stationary state heat conduction equation (6) (7). The CPU 51 calculates the thermal displacement amount of each portion from the temperature distribution obtained in step S 7 by using the formula (8) (S 8). The CPU 51 calculates the amount of thermal displacement from the reference position stored in step S 2, i.e., an amount of correction to be used in process control (S 9). When a correction mode is ON, the CPU 51 sends a feed amount signal corresponding to the correction amount calculated in step S 9 to the spindle control portion 61 a(S 10). When the CPU 51 has finished the processing up to step S 10, the CPU 51 returns to step S 3 and periodically continues the calculation (each time 6400 ms elapses).The CPU 51 executing the processing in step S 3 corresponds to a first heat value calculation section. The CPU 51 executing the processing in step S 5 corresponds to a temperature detection section. The CPU 51 executing the processing in step S 6 corresponds to a second heat value calculation section. The CPU 51 executing the processing in step S 7 corresponds to a temperature distribution calculation section. The CPU 51 executing the processing in step S 8 corresponds to a thermal displacement amount calculation section. The CPU 51 executing the processing in step S 9 corresponds to a correction amount calculation section.[Second Embodiment]Next, a second embodiment will be described. The second embodiment is different from the first embodiment in that the temperature increase in the servomotor is not calculated from the current and the rotational speed, but by using a temperature sensor attached to the servomotor and a room temperature sensor that measures a room temperature.The temperature θ M0 of the servomotor body is detected by the temperature sensor (illustration is omitted) which is separately installed in the x-axis motor 71, and a room temperature θ atm is detected by the room temperature sensor (illustration is omitted) which detects the ambient temperature installed in the machine center M. The temperature θ M0 of the servomotor body and the room temperature θ atm are sent to the CPU 51.The CPU 51 calculates the temperature increase θ in the servomotor body using the following formula:The heat value Q F of the front bearing is associated with a heat input due to the temperature increase in the servomotor. Therefore, the CPU 51 calculates the heat value Q F of the front bearing from the temperature increase θ in the servomotor body using the following formula: wherein K 5 represents a coefficient, and θ S represents the temperature increase in the end portion of the screw shaft from time t=0. When the above calculation is used, the detection accuracy of the amount of heat input to the end portion of the screw shaft calculated using a thermal displacement correction algorithm can be enhanced. Therefore, the second embodiment can realize further improvement in accuracy of thermal displacement correction. In the second embodiment, the temperature sensor and the room temperature sensor correspond to the temperature detecting portion.Next, a modified embodiment in which the above embodiments are partially modified will be described. In the first embodiment described above, the temperature increase θ in the servomotor body is calculated using Formulas (3) and (4). The temperature increase θ in the servomotor body can also be calculated based on a primary deceleration system in which the temperature increase in the servomotor is discretized using the following formulas: wherein K 6, K 7 and K 8 coefficients are specific to the servomotor.When the temperature increase in the servo motor is calculated from only the rotational speed, the formula (2) may be changed as follows:Alternatively, when the temperature increase in the servomotor is calculated from only the drive current value, the formula (2) may be changed as follows: wherein K 9 and K 10 coefficients are specific to the servomotor.Further, when the temperature increase in the servomotor body is calculated only from the rotational speed using the discretized primary deceleration system, the formula (9) can be changed as follows:Alternatively, when the temperature increase in the servomotor body is calculated from only the drive current value, the formula (9) may be changed as follows: wherein K 11 and K 12 coefficients are specific to the servomotor.
Claims
A thermal displacement correction method for a machine tool (M), the machine tool (M) comprising: a ball screw mechanism for feed drive provided with a screw shaft (81) and a nut (8a); a feed amount controller calculating a feed amount of the nut (8a) by the screw shaft (81) based on process data; a servo motor (71) rotationally driving the screw shaft (81); and a speed controller controlling a rotation speed of the servo motor (71) based on the process data; the method comprising: a first step of calculating a first heat value generated in the screw shaft (81) due to movement of the nut (8a) based on the rotation speed; a second step of obtaining a saturation temperature of the servomotor from each average value of the rotational speed and the driving current, obtaining a temperature change in the servomotor body from the saturation temperature and the elapsed time, and calculating a second heat value transmitted from the servomotor (71) to the screw shaft (81) based on the temperature of the servomotor body by adding the obtained temperature changes together; a third step of calculating a temperature distribution in a plurality of portions obtained by dividing the screw shaft (81) in a longitudinal direction from the first and second heat values; a fourth step of calculating a thermal displacement amount of each of the plurality of portions from the temperature distribution; and a fifth step of calculating a correction amount of the process data based on the thermal displacement amount.The correction method according to claim 1, wherein the temperature increase in the servomotor (71) is detected based on at least the rotational speed and a driving current value of the servomotor (71).A thermal displacement correction device for a machine tool (M), the machine tool (M) comprising: a ball screw mechanism for feed drive provided with a screw shaft (81) and a nut (8a); a feed amount controller calculating a feed amount of the nut (8a) by the screw shaft (81) based on process data; a servo motor (71) rotationally driving the screw shaft (81); and a speed controller controlling a rotation speed of the servo motor (71) based on the process data; the device comprising: a speed detection device detecting the rotation speed; a temperature detecting section that detects a saturation temperature of the servomotor from each average value of the rotation speed and the driving current, and obtains a temperature change in the servomotor body from the saturation temperature and the elapsed time; a first heat value calculating section (51) that calculates a first heat value generated in the screw shaft (81) due to movement of the nut (8a) based on the rotation speed detected by the speed detecting device; a second heat value calculating section (51) that calculates a second heat value transmitted from the servomotor (71) to the screw shaft (81) based on the temperature of the servomotor body by adding together the temperature changes obtained from the temperature detecting section; a temperature distribution calculating section (51) that calculates a temperature distribution in a plurality of sections obtained by longitudinally dividing the screw shaft (81) from the first heat value calculated by the first heat value calculating section (51) and the second heat value calculated by the second heat value calculating section (51); a thermal displacement amount calculating section (51) that calculates a thermal displacement amount of each of the plurality of sections from the temperature distribution calculated by the temperature distribution calculating section (51); and a correction amount calculating section (51) that calculates a correction amount of the process data based on the thermal displacement amount calculated by the thermal displacement amount calculating section (51).The correction device according to claim 3, wherein the temperature detection section detects the temperature increase based on at least the rotation speed and a drive current value of the servomotor (71).A computer readable medium storing a thermal displacement correction program for a machine tool (M), the machine tool (M) comprising: a ball screw mechanism for feed driving provided with a screw shaft (81) and a nut (8a); a feed amount controller calculating a feed amount of the nut (8a) by the screw shaft (81) based on process data; a servo motor (71) rotationally driving the screw shaft (81); and a speed controller controlling a rotation speed of the servo motor (71) based on the process data, wherein the program comprises instructions causing a control of the machine tool (M) to execute: a first step of calculating a first heat value, which is generated in the screw shaft (81) due to the movement of the nut (8a) based on the rotational speed; a second step of obtaining a saturation temperature of the servomotor from each average value of the rotational speed and the driving current, obtaining a temperature change in the servomotor body from the saturation temperature and the elapsed time, and calculating a second heat value transmitted from the servomotor (71) to the screw shaft (81) based on the temperature of the servomotor body by adding the obtained temperature changes together; a third step of calculating a temperature distribution in a plurality of portions obtained by dividing the screw shaft (81) in a longitudinal direction from the first and second heat values; a fourth step of calculating a thermal displacement amount of each of the plurality of portions from the temperature distribution; and a fifth step of calculating a correction amount of the process data based on the thermal displacement amount.
Citation Information
Patent Citations
Correction method for thermal displacement of ball screw in NC machine tool
JP1992240045A
Thermal displacement correcting method of machine tool
US5619414A
JP000H04240045A