Simulation device and machine control device
Patent Information
- Application Number
- JP2025538109
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2023-08-01
- Publication Date
- 2025-02-06
AI Technical Summary
Electric motors in machines experience temperature fluctuations due to heat generation, leading to thermal displacement and reduced accuracy in machine operation, especially in machine tools where temperature variations affect machining precision.
A simulation device that estimates the temperature of electric motor components using thermal models and adjusts the operation of the blower based on the rate of temperature change, minimizing temperature variations by optimizing blower operation.
This approach reduces thermal displacement and improves the accuracy of machine operation by maintaining a more consistent motor temperature, while also reducing power consumption by controlling blower usage.
Abstract
Description
Simulation device and machine control device
[0001] The present disclosure relates to a simulation device and a machine control device.
[0002] It is known that machines are equipped with electric motors to operate their components. When the electric motor is driven, the stator core, the coils fixed to the stator core, and other components generate heat, causing the temperature of the motor to rise. If the temperature of the electric motor becomes too high, the electric motor may not operate properly, components of the electric motor may be damaged, or the life of the electric motor may be shortened. For this reason, it is known that electric motors are equipped with fans that cool the main body of the electric motor. It is known that the stator and other components are cooled by the air flow generated by the fans.
[0003] The actual temperature of the components of the motor when it is driven can be detected by a temperature detector attached to the components of the motor, or can be estimated by a simulation that estimates the temperature of the motor. For example, a thermal model that estimates the temperature of the components of the motor based on the heat loss in the motor is known.
[0004] JP 7-79592, JP 11-37097, JP 2018-121384
[0005] While the motor is in operation, it can be cooled effectively by supplying air to the motor using a fan. However, if the fan is always driven at its maximum rotation speed, the power consumption of the motor increases.
[0006] Furthermore, when the fan continues to operate at a constant rotational speed, the temperature of the motor body fluctuates depending on the load factor of the motor. When the load factor of the motor is high, the temperature of the motor rises, and when the load factor is low, the temperature of the motor falls. The heat from the motor is transferred to the components of the machine that are in contact with the motor. When the temperature fluctuation range of the motor increases, the temperature fluctuation range of the components of the machine that are in contact with the motor also increases. As a result, thermal displacement occurs due to the thermal expansion and contraction of the components of the machine.
[0007] Thermal displacement in the components of a machine can degrade the accuracy of driving the machine. For example, if the machine is a machine tool that cuts a workpiece, the heat from the electric motor can be transferred to the tool holder that holds the tool. Thermal expansion of the tool holder changes the position of the tip of the tool, resulting in a decrease in the machining accuracy of the workpiece. As such, it is preferable for the temperature fluctuation range of the electric motor to be small. In other words, it is preferable to be able to drive the electric motor at as constant a temperature as possible.
[0008] One aspect of the present disclosure is a simulation device that simulates changes in temperature of an electric motor including a blower. The simulation device includes a memory unit that stores an electric motor model that estimates temperatures of components of the electric motor, a temperature estimation unit that estimates a stator temperature based on the electric motor model, and an operation setting unit that sets operation of the blower. The electric motor model includes a model of the electric motor components and a model of outside air. A heat capacity is set for at least one of the component models. A coefficient related to heat transfer is set between the models of the electric motor components and between the model of the electric motor components and the model of the outside air. The operation setting unit sets operation of the blower based on the rate of change per unit time of the estimated stator temperature estimated by the temperature estimation unit.
[0009] 1 is a block diagram of a machine and a simulation device according to an embodiment. FIG. 1 is a schematic cross-sectional view of an electric motor according to an embodiment. FIG. 2 is a flowchart for setting the operation of a blower. FIG. 3 is a model of an electric motor according to an embodiment. FIG. 4 is a time chart illustrating an operation pattern of an electric motor for setting parameters in a model of an electric motor. FIG. 5 is a model of another electric motor according to an embodiment. FIG. 6 is a graph showing the results of a simulation using parameters set by a parameter setting unit. FIG. 7 is a block diagram of a motion estimation device for estimating the drive state of an electric motor according to an embodiment. FIG. 8 is an example of a machining program for a spindle motor of a machine tool. FIG. 9 is an estimation program for estimating the drive state of a spindle motor by the motion estimation device. FIG. 10 is a graph showing output versus rotation speed at a predetermined load factor of the spindle motor. FIG. 11 is a time chart showing the drive state of the spindle motor estimated by the motion estimation device. FIG. 12 is an estimation program for estimating the drive state of a feed axis motor of a machine tool. FIG. 13 is a graph showing output versus rotation speed at a predetermined load factor of the feed axis motor. FIG. 14 is a time chart showing the drive state of the feed axis motor estimated by the motion estimation device. FIG. 15 is a time chart showing the temperature of components of an electric motor estimated by a simulation device. 10 is a time chart of another comparative example of temperatures of components of an electric motor estimated by a simulation device.
[0010] 1 to 18 , an electric motor simulation device and a machine control device that controls a machine equipped with an electric motor according to an embodiment will be described. The electric motor simulation device according to the present embodiment has a function of estimating the temperature of predetermined components of the electric motor using a thermal model of the electric motor. The machine control device has a function of controlling the operation of the machine based on an operation program.
[0011] (Machine Configuration) Figure 1 is a block diagram of a machine and a motor simulation device in this embodiment. Any machine equipped with an electric motor 10 can be used as machine 1. In this embodiment, a machine tool that cuts a workpiece will be described as an example of machine 1. Examples of electric motor 10 include a spindle motor that rotates a spindle that holds a tool, or a feed axis motor that moves a table that holds a workpiece or a spindle head including a spindle, along a predetermined coordinate axis.
[0012] The machine 1 includes an electric motor 10 that drives components of the machine 1, and a machine control device 41 that controls the machine 1. The machine control device 41 of this embodiment includes an arithmetic processing device (computer). The machine control device 41 includes a CPU (Central Processing Unit) as a processor. The machine control device 41 has a RAM (Random Access Memory), a ROM (Read Only Memory), and the like that are connected to the CPU via a bus.
[0013] The machine 1 of this embodiment is a numerically controlled machine. The machine 1 is driven based on commands written in a pre-created operation program 45. If the machine 1 is a machine tool, the operation program 45 corresponds to a machining program. The machine control device 41 includes a storage unit 42 that stores the operation program 45, and an operation control unit 43 that generates operation commands for the electric motor 10 based on the operation program 45. The machine 1 includes a drive device 44 that includes an electric circuit that supplies electricity to the electric motor 10 based on the operation commands generated by the operation control unit 43. The electric motor 10 is driven by the electricity supplied by the drive device 44.
[0014] The storage unit 42 can be configured with a non-transitory storage medium capable of storing information. For example, the storage unit 42 can be configured with a storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium. The operation control unit 43 corresponds to a processor that operates in accordance with the operation program 45. The processor reads the operation program 45 and performs the control defined in the operation program 45, thereby functioning as the operation control unit 43.
[0015] Fig. 2 is a cross-sectional view of an electric motor according to this embodiment. Referring to Figs. 1 and 2, electric motor 10 is a synchronous motor in which rotor 11 has magnets 18. Electric motor 10 includes rotor 11 and stator 12. Stator 12 includes stator core 20 formed of a magnetic material and coils 16 fixed to stator core 20. Stator core 20 is formed, for example, of a plurality of magnetic steel plates stacked in the axial direction of shaft 13. Coil 16 includes, for example, a winding wound around stator core 20 and a resin portion that fixes the winding.
[0016] The rotor 11 is fixed to a rod-shaped shaft 13. The rotor 11 includes a rotor core 17 made of a magnetic material and fixed to the outer peripheral surface of the shaft 13, and a plurality of magnets 18 fixed to the rotor core 17. The magnets 18 in this embodiment are permanent magnets.
[0017] The shaft 13 is connected to another member to transmit rotational force. The shaft 13 rotates around a rotation axis RA. The shaft 13 is supported by bearings 14 and 15. In this embodiment, the side of the electric motor 10 where the shaft 13 is connected to another member is referred to as the front side. The side opposite the front side is referred to as the rear side. In the example shown in FIG. 2 , an arrow 91 indicates the front side of the electric motor 10.
[0018] The electric motor 10 includes a front housing 21 and a rear housing 22. The stator core 20 of the stator 12 is supported by the housings 21 and 22. The housing 21 supports the bearing 14. A bearing support member 24 that supports the bearing 15 is fixed to the housing 22. The housings 21 and 22 rotatably support the shaft 13 via the bearings 14 and 15. A rear cover 23 that closes the interior space of the housing 22 is fixed to the rear end of the housing 22.
[0019] A rotational position detector 32 for detecting the rotational position or rotational speed of the shaft 13 is disposed at the rear end of the shaft 13. In this embodiment, the rotational position detector 32 is configured as an encoder. A temperature detector 31 for detecting the temperature of the coil 16 is fixed to the coil 16 of the stator 12. In this embodiment, the temperature detector 31 is configured as a thermistor. The outputs of the temperature detector 31 and the rotational position detector 32 are input to a machine control device 41.
[0020] Examples of components of the electric motor 10 include the rotor 11, rotor core 17, magnet 18, stator 12, stator core 20, coil 16, housings 21 and 22, shaft 13, rear cover 23, bearing support member 24, bearings 14 and 15, temperature detector 31, and rotational position detector 32. The components of the electric motor 10 are not limited to this, and any part that constitutes the electric motor 10 can be used. For example, a housing that covers the outer peripheral surface of the stator core may be disposed as a component of the electric motor.
[0021] Electric motor 10 of the present embodiment includes a blower 29 that supplies air for cooling the main body of the electric motor. Blower 29 of the present embodiment is fixed to stator core 20 via a cylindrical member 25. Cylindrical member 25 is fixed to stator core 20. The space inside cylindrical member 25 forms an air flow path.
[0022] The blower 29 includes a cooling fan 27, a case 28, and an electric motor that rotates the cooling fan 27. In this embodiment, the blower 29 is disposed so that the rotation axis of the cooling fan 27 coincides with the rotation axis RA of the shaft 13. The cooling fan 27 is not limited to this form, and can be disposed in any position so as to blow air onto the main body of the electric motor.
[0023] The stator core 20 of this embodiment has a through hole 26a for circulating cooling air. The through hole 26a penetrates the stator core 20 from one end face to the other end face along the axial direction of the rotor 11. The housing 21 has a through hole 26b for circulating air. The through hole 26b communicates with the through hole 26a. In addition, the case 28 of the blower 29 has an air hole 28a formed therein for circulating air.
[0024] When blower 29 is driven, cooling fan 27 rotates, causing air to flow in the direction indicated by arrow 91. Cooling air flows into case 28 through air holes 28a in case 28. The cooling air flows inside case 28 and inside cylindrical member 25. The cooling air flows through the air flow path between housing 22 and cylindrical member 25. As indicated by arrow 92, the cooling air flows through through holes 26a in stator core 20 and through holes 26b in housing 21. The cooling air cools rear housing 22, stator core 20, and front housing 21. The flow of cooling air is not limited to this, and cooling air may flow in the opposite direction to arrow 91.
[0025] (Configuration of Simulation Device) The simulation device 2 estimates the temperatures of the components of the electric motor. In this embodiment, the temperature of the stator, which is one of the components of the electric motor, is estimated. The temperature of the stator may be the temperature of the stator core, the temperature of the coil wound around the stator core, or the temperature of the housing arranged around the stator core. In this embodiment, the temperature of the stator core 20 is estimated as the temperature of the stator. The simulation device 2 estimates the change in the temperature of the stator core 20 over time. In this embodiment, the temperature actually measured by the temperature detector 31 is referred to as the measured temperature. Furthermore, the temperature of the components estimated by the simulation device 2 is referred to as the estimated temperature.
[0026] The simulation device 2 includes a processing unit (computer) including a CPU as a processor. The simulation device 2 is configured to be able to communicate with a machine control device 41. The simulation device 2 includes a storage unit 51 that stores information related to the simulation of the electric motor.
[0027] The storage unit 51 can be configured with a non-transitory storage medium capable of storing information. For example, the storage unit 51 can be configured with a storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium. A program for driving the simulation device 2 is stored in the storage unit 51. In particular, a program for the simulation execution unit 64 and a program for the parameter setting unit 57 are stored in the storage unit 51.
[0028] The simulation device 2 includes a display unit 52 that displays information related to the simulation of the electric motor. The display unit 52 can be configured with any display panel such as a liquid crystal display panel or an organic EL (Electro Luminescence) display panel.
[0029] The simulation device 2 in this embodiment includes a parameter setting unit 57 that sets parameters included in a model of the electric motor. The parameter setting unit 57 includes a temperature estimating unit 53 that calculates the temperatures of the components of the electric motor. The temperature estimating unit 53 includes a loss calculating unit 54 that calculates the amount of heat generated due to primary copper loss in the coil 16 and the amount of heat generated due to iron loss in the stator core 20 based on an operation command for the electric motor 10. The temperature estimating unit 53 includes a temperature calculating unit 55 that estimates the temperatures of the components of the electric motor using a model (thermal model) of the electric motor. The temperature calculating unit 55 calculates the estimated temperatures of the components based on the amounts of heat generated due to primary copper loss and iron loss, the heat capacities of the models of each component, and coefficients related to heat transfer between the models of the components.
[0030] The parameter setting unit 57 includes a parameter calculation unit 59 that calculates parameters included in the model of the electric motor 10. The parameters include heat capacities set in the models of the components of the electric motor 10 and coefficients related to heat transfer between the models of the components.
[0031] The parameter setting unit 57 includes a status acquisition unit 58 that acquires the driving status of the electric motor 10 when the electric motor 10 is actually driven. The driving status of the electric motor 10 includes a measured temperature detected by a temperature detector 31 attached to the electric motor 10. The driving status of the electric motor 10 includes an operation command for the electric motor 10 output from the operation control unit 43 and a rotation speed output from the rotation position detector 32. The status acquisition unit 58 can also acquire the outside air temperature from an outside air temperature detector 33. The outside air temperature detector 33 is arranged to detect, for example, the temperature around the machine 1.
[0032] The parameter calculation unit 59 of this embodiment calculates parameters so that a change in the estimated temperature of the temperature detector calculated by the model of the motor corresponds to a change in the actual measured temperature. The parameter calculation unit 59 of this embodiment can set the parameters of the model of the motor by machine learning.
[0033] A loss calculation unit 54 of the temperature estimation unit 53 calculates the heat generation amounts of the coil 16 and the stator core 20 based on the operation command generated by the operation control unit 43 and the rotational speed detected by the rotational position detector 32. Furthermore, a temperature calculation unit 55 calculates an estimated temperature of the temperature detector 31 based on the heat generation amounts of the coil 16 and the stator core 20 and the thermal model.
[0034] The parameter calculation unit 59 includes an evaluation unit 60 that evaluates the estimated temperature of the temperature detector 31 by comparing the estimated temperature of the temperature detector 31 with the measured temperature of the temperature detector 31 acquired by the status acquisition unit 58. The parameter calculation unit 59 includes a parameter change unit 61 that changes the value of the parameter based on the evaluation result of the evaluation unit 60.
[0035] Each of the above-mentioned parameter setting unit 57, temperature estimation unit 53, loss calculation unit 54, and temperature calculation unit 55 corresponds to a processor that operates according to a program. Each of the above-mentioned status acquisition unit 58, parameter calculation unit 59, evaluation unit 60, and parameter change unit 61 corresponds to a processor that operates according to a program. The processor functions as each unit by performing control defined in the program.
[0036] The simulation device 2 includes a simulation execution unit 64 that simulates changes in temperature of the components of the electric motor. The simulation execution unit 64 is configured to be able to calculate changes in temperature of the components of the electric motor in time series. The simulation execution unit 64 includes the temperature estimation unit 53 described above. The temperature estimation unit 53 calculates the temperatures of the components of the electric motor in accordance with a model of the electric motor that includes the parameters set by the parameter setting unit 57.
[0037] The simulation execution unit 64 includes an operation setting unit 65 that sets the operation of the blower 29 of the electric motor 10. The simulation execution unit 64 includes an auxiliary program generation unit 66 that generates an auxiliary program that defines the operation of the blower 29 in response to an operation command based on the operation program 45. The simulation execution unit 64 includes a fluctuation range comparison unit 67 that calculates the fluctuation range of the temperature of the stator over a predetermined period. The simulation execution unit 64 includes a power consumption comparison unit 68 that calculates the power consumption of the blower over a predetermined period.
[0038] The simulation execution unit 64 corresponds to a processor that operates according to a predetermined program. Also, each of the operation setting unit 65, auxiliary program generation unit 66, fluctuation range comparison unit 67, and power consumption comparison unit 68 corresponds to a processor that operates according to a predetermined program. The processor reads the program and performs the control defined in the program, thereby functioning as each unit.
[0039] 3 shows a control flowchart for setting the operation of the blower of the electric motor in the simulation device of this embodiment. In step 101, parameter setting unit 57 sets parameters included in the model of the electric motor based on the temperature measured by temperature detector 31.
[0040] (Motor model and setting of parameters of the motor model) Figure 4 shows a motor model that models the heat transfer of a synchronous motor in this embodiment. The motor model in this embodiment is a thermal model. The motor model includes models of multiple components. The motor model includes parameters such as the heat capacity of the components and coefficients related to heat transfer between the components. The motor model 10a includes models of the main components that make up the motor 10. The motor model 10a includes a rotor model 11a, a stator core model 20a, and a model 16a of a coil wound around the stator core.
[0041] The motor model 10a also includes a temperature detector model 31a for detecting the temperature of the coil 16. In this embodiment, the temperature detector model 31a has a small heat capacity, but this is not limiting. The heat capacity of the temperature detector 31 may be set to zero, and calculations may be performed assuming that the temperature of the temperature detector is the same as the temperature of the model of the component to which the temperature detector is attached.
[0042] Referring to Fig. 2, an air layer is interposed between rotor 11 and stator core 20. Furthermore, an air layer is interposed between rotor 11 and coil 16. Referring to Fig. 4, electric motor model 10a in this embodiment includes air layer model 35a. Furthermore, electric motor model 10a includes outside air model 36a as a model of the air around electric motor 10.
[0043] The electric motor model 10a is set with a plurality of parameters including coefficients related to heat capacity and heat transfer. A heat capacity is set in the model of at least one component part. The coil model 16a, the stator core model 20a, the air layer model 35a, the rotor model 11a, and the temperature detector model 31a are each set with temperatures T1, T2, T3, T4, and T5 as variables and heat capacities C1, C2, C3, C4, and C5 as constants. The outside air model 36a is also set with temperature T r is set.
[0044] Heat from one component of the electric motor 10 is transferred to other components. A coefficient related to heat transfer is set between the models of the respective components of the electric motor 10. The coefficient related to heat transfer may be a heat transfer coefficient or a coefficient obtained by multiplying the heat transfer coefficient by the contact area between the components. In this example, a coefficient obtained by multiplying the heat transfer coefficient by the contact area is set.
[0045] A coefficient ha relating to heat transfer is set between the stator core model 20a and the coil model 16a. A coefficient hc1 relating to heat transfer is set between the air layer model 35a and the coil model 16a. A coefficient hc2 relating to heat transfer is set between the air layer model 35a and the stator core model 20a. A coefficient hc3 relating to heat transfer is set between the air layer model 35a and the rotor model 11a. A coefficient hd relating to heat transfer is set between the coil model 16a and the temperature detector model 31a. Furthermore, in order to simulate the release of heat from the stator core 20 to the outside air, a coefficient hb relating to heat transfer is set between the stator core model 20a and the outside air model 36a.
[0046] In the electric motor model 10a of this embodiment, the heat generated by the components is the primary copper loss P generated in the coil 16 of the stator 12. c1 The amount of heat generated due to primary copper loss is input to the coil model 16a. In addition, iron loss P i The amount of heat generated due to iron loss is input to the stator core model 20a.
[0047] Heat transfer occurs between each component, such as the coil and the stator core, depending on the magnitude of the heat transfer coefficient. The temperature of each component rises or falls based on the difference between the amount of heat input and the amount of heat output. The temperature change rate of each component of the electric motor model 10a shown in FIG. 3 can be expressed by the following equations (1) to (5). The temperature change rate can be calculated by dividing the difference between the amount of heat input and the amount of heat output by the heat capacity of each component.
[0048]
[0049] The heat capacities C1, C2, C3, C4, and C5 of the components are constants and can be determined in advance. The coefficients ha, hb, hc1, hc2, hc3, and hd relating to heat transfer are coefficients obtained by multiplying the heat transfer coefficient by the contact area. The coefficients ha, hb, hc1, hc2, hc3, and hd are constants and can be determined in advance. The loss calculation unit 54 of the temperature estimation unit 53 calculates the primary copper loss P c1 and iron loss P in the stator core i The temperature calculation unit 55 of the temperature estimation unit 53 can calculate the amount of change in temperature over the short time dt based on the above equations (1) to (5).
[0050] Next, the primary copper loss P included in equations (1) and (2) c1 and iron loss P i The rotation speed of the electric motor 10 and the load factor (proportion to the maximum load) of the electric motor 10 can be set in advance by an operator depending on the work to be performed by the machine. The loss calculation unit 54 of the temperature estimation unit 53 calculates the primary copper loss P c1 and iron loss P i Table 1 shows a loss map for calculating the loss.
[0051]
[0052] Table 1 shows the loss at maximum output, the loss at no load, and the current at maximum output relative to the rotation speed (number of revolutions) of the motor 10. m is the loss when the load factor of the motor is 100%, and is a value determined by the rotation speed of the motor. n is the loss when the load factor of the motor is zero, and depends on the rotation speed of the motor. Current I m is the current value when the load factor is 100% at each rotation speed. The loss map shown in Table 1 can be created by actually driving the electric motor. This loss map can be stored in the storage unit 51 of the simulation device 2, for example.
[0053] The loss calculation unit 54 calculates the primary copper loss P c1 and iron loss P i Total loss P including t Calculate the total loss P t can be calculated by the following equations (6) and (7).
[0054]
[0055] Total loss P t is the loss at maximum output P m , no-load loss P n , and the load factor LF of the motor. Since the rotation speed and load factor of the motor are fixed, the loss P at maximum output can be calculated from Table 1. m and no-load loss P n The constants k1 and k2 can be determined in advance by the operator. Next, the primary copper loss P c1 can be calculated by the following equations (8) and (9).
[0056]
[0057] Primary copper loss P c1 corresponds to the Joule heat of the current flowing through the coil 16. The current I flowing through the coil 16 is the current I at maximum output. m It can be calculated by multiplying the load factor LF of the motor by the current I at maximum output. m can be obtained from Table 1. Here, the primary resistance r1 of the coil 16 is measured in advance. Next, the iron loss P i can be calculated by the following formula (10): i is the total loss P t From primary copper loss P c1 It can be calculated by subtracting
[0058]
[0059] The temperature estimation unit 53 acquires the operation pattern of the electric motor including the rotation speed and load factor for driving the machine 1 from the state acquisition unit 58. The temperature calculation unit 55 of the temperature estimation unit 53 can first set the temperatures T1 to T5 of each component to any temperature. For example, the temperature calculation unit 55 may set the temperatures T1 to T5 of the component to a normal outside air temperature T r Set the outside air temperature T r can be determined in advance depending on the location where the machine 1 is placed.
[0060] The loss calculation unit 54 of the temperature estimation unit 53 calculates the primary copper loss and iron loss based on the rotational speed and the load factor of the motor in the operation pattern. Next, the temperature calculation unit 55 can calculate the amount of change in temperature T5 of the temperature detector 31 over the short time dt by solving the above equations (1) to (5). In this way, the operator can determine the operation pattern of the motor and estimate the change over time in the temperature detector when the motor is operated according to the operation pattern.
[0061] The electric motor model 10a of this embodiment is configured to accurately estimate the temperature of one of the multiple components of the electric motor. In this example, the temperature T5 of the temperature detector model 31a is configured to accurately estimate the temperature T5 of one of the multiple components of the electric motor.
[0062] Furthermore, the heat capacities C1 to C5 set in the motor model 10a and the coefficients ha, hb, hc1, hc2, hc3, and hd related to heat transfer set between the components have specific values depending on the material, shape, and arrangement of the components. However, in the motor model 10a of this embodiment, at least some of the parameters among the multiple heat capacities and multiple coefficients related to heat transfer may be set to values that are different from the actual heat capacities or the actual coefficients related to heat transfer.
[0063] Each parameter is set so that a change in temperature T5 of the temperature detector model 31a corresponds to a change in the actual temperature. For example, the parameters of the motor model can be set so that the temperature of the temperature detector indicates a value close to the actual temperature. Note that, as a result of calculating the coefficients related to heat capacity and heat transfer, all heat capacities and all coefficients related to heat transfer of the components may accurately correspond to the actual heat capacities and coefficients related to heat transfer. Then, when the temperature estimator estimates the temperatures of the components, the temperatures of all components may accurately correspond to the actual temperatures of the components.
[0064] 1 , parameter calculation unit 59 calculates the heat capacity and heat transfer coefficients included in electric motor model 10a, as well as constants k1 and k2 in equations (6) and (7). First, an operator actually drives electric motor 10 according to a predetermined operation pattern. Status acquisition unit 58 acquires the load factor of electric motor 10, the rotation speed of electric motor 10, and the temperature output from temperature detector 31 as the driving status of electric motor 10. Furthermore, status acquisition unit 58 acquires the outside air temperature from outside air temperature detector 33.
[0065] 5 shows a graph of an operation pattern when driving the electric motor to set parameters included in the electric motor model of this embodiment. Fig. 5 shows an operation pattern under no load. In this operation pattern, the rotation speed of the electric motor 10 is gradually increased without applying a load to the electric motor 10. The rotation speed of the electric motor 10 is increased by temporarily increasing the load factor of the electric motor at predetermined time intervals.
[0066] The temperature detected by the temperature detector 31 gradually increases. From time t1 to t7, the load factor of the electric motor 10 is temporarily increased, thereby increasing the rotation speed of the electric motor 10. The status acquisition unit 58 acquires the load factor of the electric motor 10, the rotation speed of the electric motor 10, and the temperature output from the temperature detector 31 at predetermined short time intervals, and stores these in the storage unit 51. In the present embodiment, the status acquisition unit 58 acquires the outside air temperature from the outside air temperature detector 33 at short time intervals, but this is not limited to this. A constant temperature may be used as the outside air temperature.
[0067] 1 , state acquisition unit 58 acquires a torque command included in an operation command generated by operation control unit 43 of machine control device 41. Since the torque command corresponds to the load factor of electric motor 10, state acquisition unit 58 can calculate the load factor from the torque command.
[0068] The parameter calculation unit 59 calculates parameters of the electric motor model 10a based on the variables acquired by the state acquisition unit 58. In this embodiment, the parameter calculation unit 59 calculates parameters including heat capacities C1, C2, C3, C4, and C5 and heat transfer coefficients ha, hb, hc1, hc2, hc3, and hd based on the heat generation amounts of the coil 16 and the stator core 20 and the temperature detected by the temperature detector 31. The parameter calculation unit 59 also calculates the constants k1 and k2 in equations (6) and (7) as parameters. In this example, the parameter calculation unit 59 calculates the parameters so that the change in the estimated temperature of the temperature detector model 31a when a simulation is performed approaches the change in the actually measured temperature.
[0069] The parameter calculation unit 59 sets the initial values of the respective parameters. The initial values of the parameters can be set by any method. The loss calculation unit 54 calculates the amount of heat generated due to the primary copper loss of the coil 16 and the amount of heat generated due to the iron loss of the stator core 20. The loss calculation unit 54 calculates the primary copper loss P c1 and iron loss P i Calculate.
[0070] Primary copper loss P c1 and iron loss P i Formulas (6) and (7) for calculating the primary copper loss P include constants k1 and k2. Furthermore, the loss calculation unit 54 calculates the loss in a predetermined short time dt, i.e., the heat generation amount in a short time. In this way, the loss calculation unit 54 calculates the primary copper loss P in formulas (1) and (2) based on the operation command (load factor) of the electric motor and actual measurement values including the output of the rotational position detector 32. c1 and iron loss P i Calculate.
[0071] The temperature calculation unit 55 estimates the temperatures of the components. Using each parameter and the loss calculated by the loss calculation unit 54, the temperature calculation unit 55 can calculate a change in estimated temperature detected by the temperature detector 31 over time after the start of operation of the electric motor 10 based on the provisionally determined parameters and the model 10a of the electric motor. The temperatures of the models of each component of the electric motor 10 can be calculated using the differential equations (1) to (5) above. The initial values of the temperatures of the models of each component can be set, for example, to the outside air temperature when the operation of the electric motor 10 starts, i.e., room temperature.
[0072] The evaluation unit 60 of the parameter calculation unit 59 evaluates the parameters provisionally set in the motor model 10a by comparing the temperature (estimated temperature) of the temperature detector model 31a calculated by the temperature calculation unit 55 with the temperature actually measured by the temperature detector 31. In this example, the evaluation unit 60 evaluates only the temperature of the temperature detector model 31a, without evaluating variables other than the temperature of the temperature detector model 31a.
[0073] Next, the parameter change unit 61 of the parameter calculation unit 59 changes the parameters based on the results of the evaluation by the evaluation unit 60. Then, based on the changed parameters, the same calculations as above are performed, repeating the calculation of loss by the loss calculation unit 54, the calculation of an estimated temperature of the temperature detector model by the temperature calculation unit 55, the evaluation by the evaluation unit 60, and the change of parameters by the parameter change unit 61. When the evaluation by the evaluation unit satisfies predetermined conditions, the parameters can be determined as final parameters.
[0074] Here, the number of combinations of multiple parameters in the electric motor model 10a is extremely large. The multiple parameters can be determined by a machine learning method. For example, the multiple parameters can be set by a Bayesian optimization method. In Bayesian optimization, an objective function to be evaluated is generated for explanatory variables including input parameters. Then, parameters that are predicted to minimize or maximize the objective function are searched for and set. By repeating this parameter search, optimal values for the parameters can be set. Here, the ranges into which each parameter is set can be determined in advance.
[0075] In this example, the difference between the temperature of the temperature detector 31 (estimated temperature) of the temperature detector model 31a estimated by the motor model 10a and the actual measured temperature detected by the temperature detector 31 is set as the objective function. That is, the objective function can be the difference between the predicted value of the temperature of the temperature detector 31 calculated from equations (1) to (5) based on provisionally set parameters and the actual measured value actually detected by the temperature detector 31. For example, the average value of the difference within a short time period can be used as the objective function. Then, the parameter changing unit 61 searches for the next parameter so as to reduce the objective function.
[0076] In Bayesian optimization, parameter search and parameter evaluation can be repeated. If the objective function is within a predetermined judgment range, the evaluation unit 60 can adopt the parameter value at that time. On the other hand, if the objective function deviates from the predetermined judgment range, the evaluation unit 60 can search for the next parameter. In the Bayesian optimization method, the search is performed while predicting the region where a solution exists, so the amount of calculation processing can be reduced. The storage unit 51 can store the generated electric motor model 10a.
[0077] The parameters included in the motor model 10a can be set by any method other than parameter setting by Bayesian optimization. For example, a range for setting each parameter can be determined in advance. The parameter change unit 61 of the parameter calculation unit 59 randomly sets multiple parameters within the parameter range. The temperature calculation unit 55 estimates the temperature of the temperature detector model 31a based on the set parameters. The evaluation unit 60 can evaluate the set parameters based on the actual temperature measurement value obtained from the temperature detector 31. This parameter setting method is called a random search method.
[0078] Alternatively, the parameter changing unit 61 can set the parameters at predetermined intervals within the parameter setting range. The temperature calculation unit 55 estimates the temperature of the temperature detector model 31a using the set parameters. The evaluation unit 60 evaluates all combinations of the discretely set parameters. This method is called a grid search method.
[0079] In the random search method or grid search method, as in the Bayesian optimization method, the evaluation unit 60 can evaluate the temperature of the temperature detector 31. If the objective function is within a predetermined judgment range, the evaluation unit 60 can adopt the parameter value at that time. Alternatively, the evaluation unit 60 can adopt the parameter with the best objective function. The evaluation unit 60 can determine, as the parameter in the motor model 10a, the parameter that closely matches the estimated temperature of the temperature detector 31 with the actual measured temperature detected by the temperature detector 31.
[0080] In the above embodiment, no-load operation is shown as the operation pattern for driving the electric motor 10 to set the parameters of the electric motor model 10a, but this is not limiting. When determining the parameters of the electric motor model, it is preferable to operate the electric motor 10 using various operation patterns to obtain the operating state of the electric motor 10. For example, an operation pattern in which the load factor of the electric motor 10 repeatedly increases and decreases can be adopted. The load factor of the electric motor 10 can be changed significantly to change the rotation speed of the electric motor. The temperature detected by the temperature detector 31 rises or falls sharply. In this way, an operation pattern that includes a sharp temperature change of the electric motor can be adopted.
[0081] Furthermore, the parameter setting unit 57 of this embodiment sets parameters of the motor model 10a in accordance with the operation of the blower 29 of the motor 10. That is, the parameter setting unit 57 creates a plurality of motor models 10a in accordance with the operation of the blower 29 of the motor 10.
[0082] In this embodiment, a first model of the electric motor can be created when the blower 29 of the electric motor 10 is driven at a constant rotational speed. Here, a first model of the electric motor is created when the blower 29 of the electric motor 10 is driven at the maximum rotational speed. The state acquisition unit 58 of the parameter setting unit 57 acquires the driving state of the electric motor when the blower 29 is driven at a constant rotational speed. The parameter calculation unit 59 calculates parameters of the model of the electric motor when the blower 29 is driven at a constant rotational speed.
[0083] Furthermore, a second model of the electric motor 10 can be created when the blower 29 of the electric motor 10 is stopped. The state acquisition unit 58 of the parameter setting unit 57 acquires the driving state of the electric motor when the blower 29 is stopped. The parameter calculation unit 59 calculates the parameters of the electric motor model when the blower 29 is stopped. In this way, a thermal model can be generated in which all parameters, such as heat capacity, included in the electric motor model are changed according to the operation of the blower 29.
[0084] Alternatively, referring to FIG. 4 , the amount of heat released from the stator core model 20a to the outside air model 36a changes when the blower 29 of the electric motor 10 is driven or stopped. That is, the coefficient hb related to heat transfer changes. For this reason, when calculating the parameters of the electric motor model when the blower is stopped, only the coefficient hb related to heat transfer may be calculated. Parameters other than the coefficient hb related to heat transfer can be parameters calculated when the blower is driven at a constant rotational speed. The coefficient hb related to heat transfer when the blower is stopped can be calculated by any method, such as the Bayesian optimization method, the random search method, or the grid search method described above.
[0085] In the above embodiment, a synchronous motor with a rotor having a permanent magnet has been described, but the present invention is not limited to this. The temperature of any component of a motor can be estimated using a thermal model. For example, the motor model of this embodiment can also be applied to an induction motor whose rotor does not have a permanent magnet.
[0086] FIG. 6 shows another model of an electric motor according to this embodiment. The other electric motor model 30a is a model of an induction motor. The rotor of the induction motor includes a cage-shaped conductor made of stainless steel, copper, or the like. The cage-shaped conductor is fixed to the shaft and rotates integrally with the shaft. In the induction motor, an induced current flows inside the cage-shaped conductor due to a magnetic force generated by the stator coil. A magnetic field is generated around the cage-shaped conductor, causing the rotor to rotate.
[0087] In an induction motor, current flows through the rotor's cage conductor, resulting in secondary copper loss Pc2 The secondary loss corresponds to Joule heat due to the current flowing through the cage conductor. In the other motor model 30a, heat is generated due to secondary copper loss in the rotor. The heat capacity of the components of the other motor and the coefficients related to heat transfer between the components are the same as those in the motor model 10a for the synchronous motor described above.
[0088] The differential equation for temperature changes of the components in the other motor model 30a differs from that for calculating the temperature change of the rotor in the motor model 10a for the synchronous motor of this embodiment. The differential equation expressing the temperature change of the rotor is given by the following equation (11).
[0089]
[0090] In equation (11), the secondary copper loss P c2 The differential equations that represent the temperature changes of the other coils, stator core, air layer, and temperature detector are the same as the differential equations in the thermal model of a synchronous motor.
[0091] The loss calculation unit 54 calculates the amount of heat generated by secondary copper loss in the rotor conductor. The loss calculation unit 54 estimates the current flowing through the cage conductor. The loss calculation unit 54 can calculate the secondary copper loss from the current flowing through the conductor, the secondary resistance of the conductor, the inductance of the conductor, and the mutual inductance between the conductor, the stator, and the coil. The inductance of the conductor, the mutual inductance, and the secondary resistance of the conductor can be determined in advance.
[0092] Total loss P in induction motor t and primary copper loss P c1 can be calculated in the same way as the total loss and primary copper loss in a synchronous motor. i is the secondary copper loss P c2 Taking this into consideration, it can be calculated using the following equation (12).
[0093]
[0094] In this way, the primary copper loss, iron loss, and secondary copper loss are calculated in the other electric motor model 30a. The parameter calculation unit 59 can calculate the parameters included in the other electric motor model 30a by the same control as in the electric motor model 10a for the synchronous motor.
[0095] FIG. 7 shows a graph of the estimated temperature of the temperature detector estimated by the temperature estimation unit using the parameters calculated by the parameter calculation unit of this embodiment. Here, an induction motor is shown as an example of another electric motor. FIG. 7 shows a graph obtained when a simulation is performed using parameter group A and parameter group B, which have different values. Parameter group A and parameter group B are calculated by parameter calculation unit 59. The parameters included in parameter group A and parameter group B are shown in Table 2.
[0096]
[0097] Parameter group A and parameter group B were obtained by driving other electric motors with different operating patterns. Table 2 shows heat transfer coefficients obtained by multiplying the heat transfer coefficient between each component of the electric motor by the contact area. Furthermore, the heat capacity is calculated by multiplying the specific heat of the material of each component by its mass. Since the specific heat of each material can be determined in advance, Table 2 shows the mass m of the component used to calculate the heat capacity. Comparing parameter group A and parameter group B, it can be seen that some parameters, such as the heat transfer coefficients hc2 and hd and the rotor mass m4, have different values between the two parameter groups A and B.
[0098] 7, it can be seen that the estimated temperature of the temperature detector calculated using parameter group B closely matches the estimated temperature of the temperature detector calculated using parameter group A. In particular, the temperature changes closely match both during the period when the temperature is rising and during the period when the temperature is fluctuating within a predetermined range. Furthermore, it can be seen that the temperature changes shown in FIG. 6 estimated by the temperature estimator 53 closely match the temperature changes detected by the temperature detector 31 when the electric motor 10 is actually driven.
[0099] In the above embodiment, an example in which a temperature detector is attached to a coil including a winding has been described, but this is not limiting. The temperature detector may be attached to any component of the electric motor. For example, a temperature detector may be attached to the stator core. Also, multiple temperature detectors may be attached to multiple components of the electric motor. The evaluation unit of the parameter calculation unit can compare the temperatures measured by the multiple temperature detectors with the estimated temperatures calculated by simulation. The parameter change unit can set parameters of the electric motor model so that the estimated temperatures of the multiple components approach the measured temperatures detected by the actual temperature detectors.
[0100] The more temperature detectors attached to the motor, the closer each value of the multiple parameters of the motor model can be to the actual value. Furthermore, the closer the estimated temperature of each component of the motor can be to the actual measured temperature. As a result of attaching multiple temperature detectors, all heat capacities and all heat transfer coefficients may be the same as the actual heat capacities and actual heat transfer coefficients. In this case, when the temperature estimator estimates the temperatures of the components, the temperatures of all components accurately correspond to the actual temperatures of the components.
[0101] 1 , in order to perform a simulation in simulation execution unit 64 of simulation device 2 of this embodiment, it is necessary to calculate the heat generation amount in loss calculation unit 54 of temperature estimator 53. In order for loss calculation unit 54 to calculate the heat generation amount, information 69 on the driving state of the motor, including the load factor and rotation speed of the motor, is required, as described above.
[0102] 8 to 15 , an operation estimation device for estimating the drive state of an electric motor in this embodiment will be described. The drive state of the electric motor includes the load factor and rotation speed of the electric motor. A machine tool as machine 1 in this embodiment machines a workpiece while changing the relative position of the tool with respect to the workpiece. The machine tool in this embodiment includes a spindle motor for rotating the tool, and a movement device for moving at least one of a table that holds the workpiece and a spindle head that holds the tool. The movement device includes feed axis motors arranged corresponding to the respective feed axes.
[0103] The feed axes of this embodiment are composed of three linear axes (X-axis, Y-axis, and Z-axis) that are perpendicular to one another. In the machine tool of this embodiment, the table that fixes the workpiece moves in the X-axis direction and the Y-axis direction, and the spindle that holds the tool moves in the Z-axis direction. The feed axes of the machine tool are not limited to this configuration and can be composed of any linear axes or rotary feed axes.
[0104] FIG. 8 shows a block diagram of a motion estimation device according to this embodiment. The motion estimation device 81 estimates the drive state of an electric motor arranged in a machine tool. The motion estimation device 81 includes an arithmetic processing device (computer) having a CPU as a processor. The motion estimation device 81 includes a storage unit 82 that stores information for estimating the drive state of the electric motor. The storage unit 82 can be configured with a non-transitory storage medium capable of storing information. The storage unit 82 can be configured with a storage medium capable of storing information, such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium.
[0105] An estimation program 71, which is a program for estimating the drive state of the electric motor, is input to the motion estimation device 81. The estimation program 71 is created in advance by the operator who will be performing the simulation. The movement device also includes a drive mechanism for driving members such as a reducer and a table connected to the electric motor. The drive mechanism includes, for example, a ball screw mechanism for moving the table of the machine tool. Movement device information 72 is input to the motion estimation device 81. The movement device information 72 includes, for example, information such as the gear ratio of the reducer and the pitch of the ball screw.
[0106] Inertia information 73 is also input to the motion estimation device 81. The inertia (moment of inertia) related to the driving of the electric motor includes the inertia of the members driven by the electric motor. The inertia related to the driving of the electric motor also includes the inertia of the load applied to the electric motor. For example, the inertia includes the inertia of the rotor of the electric motor, the inertia of the reducer connected to the feed shaft motor, and the inertia of the main shaft connected to the main shaft motor. The inertia can be calculated in advance by the operator performing the simulation. In addition, output characteristics 74 of the electric motor are input to the motion estimation device 81. The estimation program 71, moving device information 72, inertia information 73, and output characteristics 74 of the electric motor are stored in the memory unit 82.
[0107] The motion estimation device 81 includes a calculation unit 83 that calculates variables indicating the driving state of the motor based on the estimation program 71. The variables indicating the driving state of the motor include the rotational speed of the motor, the angular acceleration of the motor, the load factor of the motor, and the rotational position of the motor. The calculation unit 83 includes a speed estimation unit 84 that calculates changes in the rotational speed of the motor over time. The calculation unit 83 includes a torque estimation unit 85 that estimates changes in the load factor of the motor over time.
[0108] The calculation unit 83 includes a determination unit 86 that determines the variables estimated by the calculation unit 83. The calculation unit 83 includes a display control unit 87 that generates an instruction to display the result determined by the determination unit 86 on a display unit 88.
[0109] The calculation unit 83 corresponds to a processor of an arithmetic processing device that operates in accordance with predetermined rules. The calculation unit 83 in this embodiment corresponds to a processor that operates based on the estimation program 71. In particular, each of the speed estimation unit 84, torque estimation unit 85, determination unit 86, and display control unit 87 corresponds to a processor of an arithmetic processing device. The processor operates based on the estimation program 71 to function as each unit.
[0110] The operation estimation device 81 includes a display unit 88 that displays information related to the estimation of the driving state of the electric motor. The display unit 88 is configured with a display panel such as a liquid crystal display panel. The display unit 88 displays any information in accordance with a command from a display control unit 87.
[0111] The motion estimation device of this embodiment is configured with a processing device separate from the processing device of the machine control device and the processing device of the simulation device, but is not limited to this. The processing device of the machine control device or the processing device of the simulation device may have the function of the motion estimation device. For example, the processor of the machine control device may have the function of the calculation unit of the motion estimation device.
[0112] The motion estimation device 81 of this embodiment estimates variables indicating the drive state of the electric motor based on an estimation program 71 which is a modified version of a machining program serving as an operation program for driving a machine tool. In the estimation program 71 of this embodiment, auxiliary variables for estimating the drive state of the electric motor are added to the command statements in the machining program.
[0113] The calculation unit 83 of the motion estimation device 81 of this embodiment predicts changes in the driving state of the motor in a time series based on command statements including auxiliary variables written in the estimation program 71, the output characteristics of the motor, and inertia related to the driving of the motor. The inertia related to the driving of the motor includes the inertia of the rotor, etc., and the inertia of the load on the motor. In particular, the calculation unit 83 calculates at least one of changes in the rotational speed of the motor over time and changes in the load factor of the motor over time. That is, the calculation unit 83 calculates at least one of the rotational speed of the motor and the load factor of the motor in a time series. The motion estimation device 81 also estimates the length of time for which the machine tool will perform work.
[0114] In the estimation control of the spindle motor by the motion estimation device 81 of this embodiment, the drive state of the spindle motor is estimated. A time constant for changing the rotation speed of the spindle is not specified for the spindle motor. The time constant is the length of time it takes to reach a target rotation speed from one rotation speed. The time constant is a variable corresponding to the angular acceleration of the motor. In the control of this embodiment, the drive state of the spindle motor is estimated based on an estimation program in which an auxiliary variable indicating the load factor of the motor is added to the command statements of the machining program.
[0115] Figure 9 shows an example of a machining program corresponding to an estimation program in the estimation control of the spindle motor. A machining program for a machine tool contains command statements for operating the spindle motor and feed axis motor. The machining program is made up of command statements called codes, such as G-code, M-code, and S-code. A machining program contains a command statement on each line. Each command statement on each line is called a block. Furthermore, variables included in the command statements are called words.
[0116] 9 shows command statements for rotating and stopping the spindle motor. In the machining program 75, the command statement M03 on the first line is an M code indicating a command to rotate the spindle in the forward direction. The command statement S2000 on the second line is an S code indicating a target rotation speed of the spindle. The command statements on the first and second lines indicate that the spindle is to rotate in the forward direction until the motor rotation speed reaches 2000 rpm.
[0117] The G04 command statement on the third line is a G code indicating the dwell function. The G04 command statement indicates a command to stop the progress of the machining program while the machine tool is operating. The variable P1000 indicates a command to stop the progress of the machining program for 1000 msec. The M05 command statement on the next line indicates a command to stop the spindle. The G04 command statement on the next line stops the progress of the machining program for 1000 msec. The M99 command statement on the last line is an M code indicating the end of the subprogram. In this way, in the machining program 75, command statements are formed using codes and variables (arguments) related to the codes.
[0118] Fig. 10 shows an estimation program for the estimation control of the spindle motor. An estimation program 75a is generated corresponding to the machining program 75 shown in Fig. 9. In the estimation program of this embodiment, an auxiliary variable indicating the load factor of the motor is added to the command statements of the machining program for driving the machine tool. The load factor of the motor is the ratio of the output torque to the rated torque.
[0119] In the estimation program 75a, the command M03 on the first line and the command M05 on the fourth line contain a first auxiliary variable (spindle power) for accelerating or decelerating the spindle motor. The first auxiliary variable is a variable related to the load factor for changing the rotational speed of the electric motor. Each first auxiliary variable is represented as "spindle power 100%" or "spindle power -100%." For example, the command M03 on the first line contains a command to accelerate the spindle motor at a load factor of 100% based on the first auxiliary variable added to the command statement of the machining program 75.
[0120] The G04 command statements on the third and fifth lines contain a second auxiliary variable (spindlecutpower) related to the load factor for machining the workpiece. In this embodiment, the motor rotation speed is constant during workpiece machining. The second auxiliary variable indicates the load factor corresponding to the workpiece cutting torque. Here, the G04 command statement on the third line contains the second auxiliary variable "spindlecutpower50%," which indicates the load factor of the spindle motor during cutting. This indicates that the workpiece is cut at a spindle motor load factor of 50%. Furthermore, the G04 command statement on the fifth line contains "spindlecutpower0%" because cutting is complete. Such motor load factors can be predetermined by the operator performing the simulation. The estimation program 75a is formed by adding the first and second auxiliary variables to the command statements of the machining program 75.
[0121] 11 is a graph showing the output characteristics of the spindle motor. The output characteristics of the motor show the relationship between the output and the rotation speed of the motor when the motor is driven at a load factor of 100%. The horizontal axis shows the rotation speed of the spindle motor, and the vertical axis shows the output of the spindle motor. The graph shows that the output is proportional to the rotation speed up to a rotation speed of approximately 7000 rpm.
[0122] Referring to Fig. 8, in the estimation control of the spindle motor, a speed estimator 84 of a calculator 83 calculates the angular acceleration of the spindle motor based on the first auxiliary variable. The speed estimator 84 estimates changes in the rotational speed of the spindle motor over time. That is, the speed estimator 84 calculates the changes in the rotational speed of the spindle motor in time series. Then, the speed estimator 84 estimates the time required for the spindle motor to reach a target rotational speed based on the changes in the rotational speed over time.
[0123] Fig. 12 shows a time chart of the drive state of the spindle motor estimated by the spindle motor estimation control. Referring to Figs. 10 and 12, from time t0 to time t1, the rotation speed of the spindle motor increases based on the commands M03 and S2000. In accordance with the command S2000, the rotation speed is accelerated to 2000 rpm. The load factor for accelerating the spindle at this time is set to 100% by the first auxiliary variable "spindlepower100%" added to the command M03.
[0124] During the period from time t1 to time t2, the rotational speed is maintained for one second based on the command statement G04 on the third line. The load factor of the spindle motor for cutting during the period from time t1 to time t2 is set to 50% by the second auxiliary variable. From time t2 to time t3, the load factor is decelerated at -100% in accordance with the first auxiliary variable of the command statement M05. From time t3 onwards, the load factor for cutting is maintained at 0% for one second in accordance with the second auxiliary variable of the command statement G04 on the fifth line.
[0125] Figure 11 shows a graph of the output characteristics at a load factor of 100%. Up to a rotational speed of approximately 7000 rpm, the output increases in proportion to the rotational speed of the spindle motor. Because the output of the electric motor is calculated by multiplying the rotational speed by the torque, the torque output by the electric motor is constant up to a rotational speed of 7000 rpm.
[0126] Here, the length of time from time t1 to time t2 and the length of time from time t3 to time t4 are 1 second based on the command statement G04 of the estimation program 75a. However, since the time (time constant) required for the spindle motor to reach the target rotation speed is not predetermined, the speed estimation unit 84 calculates the change in the rotation speed of the spindle motor in time series.
[0127] The speed estimator 84 calculates the angular acceleration of the spindle motor during the period from time t0 to time t1. The speed estimator 84 calculates the spindle motor output corresponding to the rotational speed based on the output characteristics of the spindle motor shown in FIG. 11 . Here, as indicated by arrows 95 and 96, the speed estimator 84 calculates the spindle motor output corresponding to a rotational speed of 2000 rpm. In this example, the load factor for accelerating the spindle motor is set to 100% by the first auxiliary variable, so the spindle motor output acquired in FIG. 11 can be used. Note that if the load factor for accelerating the spindle motor by the first auxiliary variable is less than 100%, the spindle motor output can be calculated based on the spindle motor output and the load factor for acceleration acquired in FIG. 11 .
[0128] Next, the speed estimator 84 calculates the torque of the spindle motor by dividing the output of the spindle motor by the rotational speed. Then, the speed estimator 84 calculates the angular acceleration by dividing the torque of the spindle motor by the inertia, which includes the inertia of the rotor of the electric motor and the inertia of the load applied to the electric motor. The slope of the graph of the rotational speed from time t0 to time t1 corresponds to the angular acceleration. The speed estimator 84 can calculate the time length SX1 from time t0 to time t1 based on the rotational speed and angular acceleration that are finally reached. The speed estimator 84 can also calculate the time t1.
[0129] The speed estimating unit 84 can also calculate the angular acceleration during deceleration in the section from time t2 to time t3 using similar control. The speed estimating unit 84 can calculate the time length SX2 from time t2 to time t3. The speed estimating unit 84 can calculate time t3 based on time t2 and the time length SX2. Furthermore, the calculating unit 83 can estimate the time length (cycle time) over which the machine tool performs work from time t0 to time t4 based on the time lengths SX1 and SX2. That is, the calculating unit 83 can calculate the time from start to stop of the electric motor based on the machining program.
[0130] In this way, the speed estimating unit 84 can estimate the change in the rotation speed over time based on the angular acceleration. Also, the speed estimating unit 84 can calculate the time required for the spindle motor to reach a target rotation speed based on the angular acceleration. Furthermore, the speed estimating unit 84 can estimate the change in the rotation speed of the motor over time from start to stop of the motor.
[0131] In the spindle motor estimation control, in order to calculate the rotational speed of the motor, a command statement can be generated by adding a first auxiliary variable to a command statement of the machining program as a load factor for accelerating the motor. Then, the angular acceleration when accelerating or decelerating the motor can be estimated based on the output characteristics and inertia of the motor. Furthermore, a command statement can be generated during the period when the workpiece is being cut by adding a second auxiliary variable as a load factor corresponding to the cutting torque of the spindle motor. The second auxiliary variable can be used to determine the load factor during the period when the workpiece is being cut from time t1 to time t2. The calculation unit 83 can estimate the change in the load factor of the motor over time from the start to the stop of the motor.
[0132] Next, the estimation control for estimating the drive state of the feed axis motor by the motion estimation device 81 of this embodiment will be described. In the estimation control of the feed axis motor, the drive state of the feed axis motor is estimated. The time constant of the feed axis motor is determined in advance. The time constant corresponds to the angular acceleration when accelerating or decelerating the feed axis motor. The time constant of the electric motor is determined, for example, in the control software that controls the electric motor. In the estimation control of the feed axis motor, the torque output by the feed axis motor when accelerating according to a constant angular acceleration is estimated. In this embodiment, the load factor of the feed axis motor is estimated. In addition, in the estimation control of the feed axis motor, changes over time in the rotation speed of the feed axis motor and changes in the position of the object driven by the feed axis motor are estimated.
[0133] 13 shows the command statements written in the estimation program for the estimated control of the feed axis motor. The estimation program 76a contains a G01 command statement for driving the feed axis motor. The G01 command statement in the estimation program 76a is a command statement in which an auxiliary variable is written in the G01 command statement of the machining program. The G01 command statement indicates a command to move the table linearly. The command statement here indicates movement of the table, which fixes the workpiece, in the X-axis direction.
[0134] The machine tool of this embodiment has a fixed machine coordinate system that remains stationary even when the spindle head 6 and the table move. The command statement G01 indicates the target position of the table in the machine coordinate system. The command statement G01 contains a command to move the table so that the coordinate value of the X axis and the coordinate value of the Y axis in the machine coordinate system become 10. Furthermore, F1000 is a variable that indicates the target movement speed when the table moves. Here, it is stated that the table is to move at a speed of 1000 mm / min.
[0135] In the estimation program 76a, a third auxiliary variable related to the load factor for machining the workpiece is added to the command statement G01 used in the machining program. Here, "servocutpower10%", which indicates the load factor of the feed axis motor during cutting, is added as the third auxiliary variable after the command statement G01 of the machining program. This load factor corresponds to the torque command during cutting. Here, the third auxiliary variable indicates that the load factor of the feed axis motor when cutting the workpiece is 10%.
[0136] Fig. 14 is a graph showing the output characteristics of the feed shaft motor. Similar to the graph of the spindle motor in Fig. 11, the graph of Fig. 14 shows the relationship between the output and the rotation speed of the feed shaft motor at a load factor of 100%.
[0137] 8, a torque estimation unit 85 of a calculation unit 83 calculates a change over time in the load factor during operation of the motor based on the time constant of the feed shaft motor, the output characteristics of the feed shaft motor, a command statement having a third auxiliary variable included in the estimation program 76a, and the inertia related to driving the motor. As will be described later, the torque estimation unit calculates the load factor when the feed shaft motor accelerates or decelerates.
[0138] Figure 15 shows a time chart of the drive state of the feed axis motor estimated by the feed axis motor estimation control. This shows an example in which the table of a machine tool is moved in the X-axis direction. From time t0 to time t5, the rotation speed of the feed axis motor increases. From time t5 to time t6, the feed axis motor is maintained at a constant rotation speed C. Then, from time t6 to time t7, the rotation speed of the feed axis motor decreases. The table position in the X-axis direction moves from its current position to a position with an X-axis coordinate value of 10.
[0139] The target rotation speed C of the feed axis motor when moving the table in the X-axis direction can be calculated based on the variable F1000 in the command statement G01 of the estimation program 76a. The variable F1000 indicates that the target table movement speed is 1000 mm / min. The calculation unit 83 can calculate the target rotation speed C of the X-axis feed axis motor based on the target table movement speed and movement device information 72, such as the pitch of the ball screw of the ball screw mechanism that moves the table in the X-axis direction. Note that while an example in which the table moves in the X-axis direction is shown here, this is not limiting. If the table moves in the Y-axis direction in addition to the X-axis direction, the rotation speed of the Y-axis feed axis motor can be calculated based on the table movement speed in the Y-axis direction and information about the Y-axis movement device. The drive state of the Y-axis feed axis motor can also be estimated using the same control as for the X-axis feed axis motor.
[0140] The calculation unit 83 calculates the angular acceleration from a time constant determined for the feed axis motor. The calculation unit 83 can calculate the change in rotation speed over time in the section from time t0 to time t5. The calculation unit 83 can calculate the length of time SL1 from time t0 to time t5 required to reach the target rotation speed C based on the change in rotation speed. The calculation unit 83 can also calculate the change in rotation speed over time and the length of time SL3 in the section from time t6 to time t7 based on the angular acceleration.
[0141] The calculation unit 83 can calculate the rotational positions of the feed axis motor at times t5 and t6 by integrating the rotational speed of the feed axis motor. Furthermore, the calculation unit 83 can calculate the position of the table on the X axis corresponding to the rotational position of the feed axis motor based on the movement device information 72. The calculation unit 83 can calculate the position of the object driven by the feed axis motor. The calculation unit 83 can calculate the movement distance in the X axis direction from time t5 to time t6 based on the rotational position of the feed axis motor or the position of the table in the X axis direction. The calculation unit 83 can then calculate the time length SL2 from time t5 to time t6 based on the movement distance in the X axis direction and the constant rotational speed C. The calculation unit 83 can estimate the length of time (cycle time) over which the machine tool performs work from time t0 to time t7. Furthermore, the calculation unit 83 can calculate times t5, t6, and t7 based on the time lengths SL1, SL2, and SL3.
[0142] In this way, the calculation unit 83 can estimate the change in the rotation speed of the feed axis motor and the change in the position of the table in the X-axis direction from the start to the end of the table movement. The calculation unit 83 can also estimate the length of time from the start to the end of the table movement.
[0143] Next, in the estimation control of the feed shaft motor, the torque estimation unit 85 of the calculation unit 83 calculates the change over time in the load factor of the feed shaft motor during operation. In this embodiment, the torque estimation unit 85 calculates the load factor (TX1) when the feed shaft motor accelerates or decelerates.
[0144] 14 and 15 , in the interval from time t0 to time t5, the torque estimator 85 calculates the torque required for acceleration by multiplying the inertia related to driving the motor by the angular acceleration. Referring to the output characteristics of the motor in FIG. 14 , the torque estimator 85 calculates the output when the load factor is 100% based on the target rotational speed C, as indicated by arrows 97 and 98. The torque estimator 85 calculates the torque when the load factor is 100% by dividing the output when the load factor is 100% by the rotational speed. The torque estimator 85 can calculate the load factor TX1 of the feed axis motor by dividing the torque required for acceleration by the torque when the load factor is 100%. The load factor here corresponds to the torque command for the feed axis motor of the machine tool.
[0145] In this way, the torque estimation unit 85 calculates the load factor (TX1) in Fig. 15. The load factor (-TX1) during deceleration from time t6 to time t7 can also be calculated by similar control.
[0146] The load factor of the feed axis motor during the period when the machine tool is machining a workpiece can be set in advance by the operator performing the simulation. The operator can estimate the load factor during machining based on tool information and workpiece information. Referring to FIG. 13, the operator specifies the load factor of the feed axis motor during cutting as a third auxiliary variable in the estimation program 76a. In this example, the load factor of the feed axis motor during cutting is 10%.
[0147] Referring to FIG. 15 , the torque estimation unit 85 sets the load factor of the feed axis motor during the period in which the workpiece is machined based on the third auxiliary variable described in the command statement of the estimation program 76a. The torque estimation unit 85 sets the load factor of the feed axis motor to 10% in the section from time t5 to time t6. As a result, the torque estimation unit 85 can estimate the change in the load factor over time from the start to the stop of the feed axis motor. In other words, it can estimate the change in the load factor of the feed axis motor from the start to the end of table movement. In this way, the estimated control of the feed axis motor can calculate the drive state of the feed axis motor.
[0148] In the estimation control of the feed shaft motor, when the torque estimation unit 85 calculates the torque required for acceleration, the torque required for acceleration may exceed the rated torque. In other words, the load factor may exceed 100%. When the variable estimated by the calculation unit 83 deviates from a predetermined allowable range, the determination unit 86 of the calculation unit 83 performs control to notify the operator who performs the simulation of the motor.
[0149] In this embodiment, the determination unit 86 determines whether the load factor estimated by the torque estimation unit 85 is outside the allowable range. The allowable range of the load factor is predetermined to be equal to or greater than 0% and equal to or less than 100%. In particular, the determination unit 86 determines whether the load factor exceeds 100%. If the load factor exceeds 100%, the determination unit 86 can output a text file containing a warning that the load factor is outside the allowable range as a control to notify an operator. Alternatively, the determination unit 86 can include a warning in a file containing the results of estimating the driving state of the electric motor.
[0150] Alternatively, the determination unit 86 may transmit a signal corresponding to information that the load factor of the electric motor has deviated from the allowable range to the display control unit 87. The display control unit 87 can display on the display unit 88 that it is impossible to drive the machine tool under the current conditions. Alternatively, the display control unit 87 can display on the display unit 88 that the load factor of the feed axis motor has deviated from the allowable range.
[0151] The control for notifying the operator performing the simulation of the warning is not limited to the control of outputting a file containing the warning or the control of displaying information on a display unit, and any control can be adopted. For example, the operator may be notified by voice that it is impossible to operate the machine tool.
[0152] The operation estimation device 81 of this embodiment can estimate the driving state of the electric motor, such as the rotational speed, angular acceleration, and load factor of the electric motor, without actually driving the machine tool. The driving state of the electric motor calculated by the calculation unit 83 can be stored in the storage unit 82. Furthermore, the operator may check that there are no problems with the driving of the machine tool or change the conditions for driving the machine tool based on the estimated driving state of the electric motor.
[0153] (Simulation of the Electric Motor and Setting of the Fan Operation) Next, a description will be given of a simulation of the driving state of the electric motor by the simulation execution unit of the simulation device and setting of the fan operation of the electric motor based on the results of the simulation.
[0154] FIG. 16 shows a time chart of the results of a simulation of the temperatures of the components of the electric motor of this embodiment. Here, the driving state of the spindle motor when cutting a workpiece at a predetermined interval in a machine tool is illustrated. The driving state of the electric motor alternates between a state where the load factor is 100% and a state where the load factor is 0% at a predetermined interval. When the load factor is 100%, the workpiece is being cut, and when the load factor is 0%, the tool is running idle. For example, at time t 11 At time t 12 At time t, the load factor starts to decrease from 100% to 0%. 11 At time t 12 At this point, the rotation speed begins to increase from 500 rpm to 5000 rpm.
[0155] Referring to Fig. 3, in step 102, the operation estimation device 81 estimates the driving state of the electric motor based on the operation program 45. In the time chart of Fig. 16, when the rotation speed increases from 500 rpm to 5000 rpm or decreases from 5000 rpm to 500 rpm, the rotation speed changes at a predetermined slope as shown in Fig. 12. The operator generates an estimation program 71 based on a machining program as the operation program 45. The operation estimation device 81 calculates the driving state of the electric motor, including the rotation speed and load factor of the electric motor, in time series based on the estimation program 71.
[0156] The motion estimation device 81 can calculate the driving state of the electric motor at predetermined time intervals. For example, the motion estimation device 81 calculates the rotation speed and load factor of the electric motor for each time interval at which a simulation is performed by the simulation execution unit 64. Referring to FIG. 1 , information 69 on the driving state of the electric motor estimated by the motion estimation device 81 is stored in the storage unit 51 of the simulation device 2.
[0157] 3, in step 103, temperature estimator 53 of simulation execution unit 64 estimates temperatures of components of the electric motor, including an estimated temperature of stator core 20. Operation setting unit 65 of simulation execution unit 64 sets the operation of blower 29 of electric motor 10 based on the temperature change of stator core 20. Fig. 16 shows the estimated temperatures of the coil, rotor, and stator core estimated by temperature estimator 53. Fig. 16 also shows the driving state, including the operation of blower 29, set by operation setting unit 65.
[0158] The operation of the blower 29 is defined as an ON state and an OFF state. When the blower 29 is ON, the blower 29 operates at the maximum rotation speed. When the blower 29 is OFF, the blower 29 stops.
[0159] In this embodiment, as described above, the parameter setting unit 57 creates in advance a model of the first motor when the blower 29 of the motor 10 is driven at the maximum rotation speed, and a model of the second motor when the blower 29 of the motor 10 is stopped. In this way, in this embodiment, the motor models are created based on the driving state of the blower 29 when the machine is actually driven.
[0160] 1 , simulation execution unit 64 includes temperature estimator 53. Loss calculation unit 54 of temperature estimator 53 calculates copper loss in the coil and iron loss in the stator core based on the load factor and rotational speed of the motor set by operation estimation device 81. That is, it calculates the heat generation amount in the coil and the heat generation amount in the stator core. Temperature calculation unit 55 calculates the temperature of each component included in the motor using a model of the motor based on the loss calculated by loss calculation unit 54.
[0161] Temperature calculation unit 55 estimates the temperatures of the components of motor 10 using a motor model that corresponds to the driving state of blower 29. In this example, when the blower is ON, a first motor model that corresponds to when blower 29 is driven at the maximum rotation speed is used. When the blower is OFF, a second motor model that corresponds to when blower 29 is stopped is used.
[0162] The operation setting unit 65 of the simulation execution unit 64 acquires the estimated temperature of the stator estimated by the temperature estimation unit 53. In this embodiment, the estimated temperature of the stator core is used as the estimated temperature of the stator. The temperature of the stator is not limited to the temperature of the stator core, and the temperature of any component of the stator can be used. For example, the temperature of the coil can be used. Alternatively, if the stator has a housing surrounding the stator core, a model of the electric motor including the stator housing can be created. Then, the temperature of the stator housing calculated in the electric motor model may be used as the temperature of the stator.
[0163] The operation setting unit 65 calculates the rate of change per unit time of the estimated temperature of the stator core 20 at predetermined time intervals. That is, the operation setting unit 65 calculates the gradient of the estimated temperature of the stator core 20. The operation setting unit 65 sets the operation of the blower 29 of the electric motor 10 based on the gradient of the estimated temperature of the stator core 20. That is, the operation of the blower 29 is changed based on the temperature increase or decrease per unit time of the estimated temperature of the stator core 20.
[0164] In this embodiment, the operation setting unit 65 sets the blower 29 to stop when the absolute value of the gradient of the increase in the estimated temperature of the stator core 20 is less than a predetermined judgment value. That is, the operation setting unit 65 stops the blower 29 when the cooling effect of the blower becomes large relative to the heat generation amount of the motor and the rate of temperature increase slows. The operation setting unit 65 also sets the blower 29 to start when the absolute value of the gradient of the decrease in the estimated temperature of the stator core 20 is less than a predetermined judgment value. That is, the operation setting unit 65 starts the blower 29 when the heat generation amount increases relative to the heat dissipation amount of the motor and the rate of decrease in temperature slows. In this embodiment, control that changes the driving state of the blower based on the gradient of the estimated temperature of components of the motor, such as the stator, is referred to as blower operation control.
[0165] In the example shown in FIG. 11 After increasing the load factor at time t 21 At time t 21 The blower 29 is started at time t 12 After reducing the load factor at time t 22 At time t 22 In this manner, the operation setting unit 65 sets the timing for switching the driving state of the fan 29 between the ON state and the OFF state. The temperature estimating unit 53 estimates the temperatures of the components using a model of the electric motor according to the driving state of the electric motor set by the operation setting unit 65.
[0166] The temperatures of the motor components when the machine is actually driven correspond to the estimated temperatures of the components when the simulation is performed. The estimated temperature of the coil increases when the load factor of the motor is 100% and decreases when the load factor of the motor is 0%. The estimated temperatures of the rotor 11 and the stator core 20 change with a slight delay from the change in the estimated temperature of the coil 16. As a result, the fan 29 of the motor 10 starts and stops with a slight delay from the change in the load factor. The operation of the fan 29 alternates between ON and OFF states.
[0167] By setting the operation of the blower by the operation setting unit 65 of this embodiment, the fluctuation width ΔT of the temperature of the stator core 20 can be reduced. 21 becomes smaller. The fluctuation range can be calculated as the difference between the maximum temperature and the minimum temperature of the stator core 20 in a predetermined period. The predetermined period can be the period from when the temperature rise of the stator core after the motor is started for the first time ends and when the temperature of the stator core becomes almost constant. For example, a period in which the temperature change of the stator core is within a predetermined temperature range can be determined. In FIG. 16, the time t 11 From time t 26 In this example, the temperature fluctuation range ΔT 21 is 1.2°C.
[0168] 17 shows a time chart of the results of a simulation of the electric motor of the first comparative example. In the first comparative example, the blower 29 continues to be driven at a predetermined constant rotation speed regardless of the load factor of the electric motor 10 or the temperature of the components of the electric motor 10. In this example, the blower 29 is driven at the maximum rotation speed without being stopped. In other words, the operation setting unit 65 does not make a decision to switch the operation of the blower 29.
[0169] In order to perform a simulation according to the driving state of the blower 29 of the electric motor 10, the temperature estimator 53 estimates the temperatures of the components of the electric motor using a model of the electric motor when the blower 29 is driven at the maximum rotation speed. Fig. 17 shows the estimated temperatures of the coil 16, the rotor 11, and the stator core 20.
[0170] The maximum temperature of the coil 16 when the blower operation control shown in Fig. 16 is performed is higher than the maximum temperature of the coil 16 when the blower 29 is constantly driven as shown in Fig. 17. In addition, the average temperature of the rotor 11 and the average temperature of the stator core 20 are also higher when the blower operation control is performed than when the blower is constantly driven. The fluctuation range ΔT of the estimated temperature of the stator core 20 in the simulation of the first comparative example 22 is the time t 11 From time t 16 The temperature is 4°C during this period.
[0171] FIG. 18 shows a time chart of the results of a simulation of the electric motor of the second comparative example. In the second comparative example, the operation of the blower 29 is changed in response to changes in the load factor of the electric motor 10. In the example shown in FIG. 18, the blower 29 is driven at the maximum rotational speed when the load factor of the electric motor 10 is 100%. The blower 29 is stopped when the load factor of the electric motor 10 is 0%. When the load factor of the electric motor 10 is 100%, the temperature estimator 53 estimates the temperatures of the components of the electric motor 10 using a model of the electric motor when the blower 29 is driven at the maximum rotational speed. When the load factor of the electric motor 10 is 0%, the temperature estimator 53 estimates the temperatures of the components of the electric motor 10 using a model of the electric motor when the blower 29 is stopped.
[0172] In the second comparative example, the operation setting unit 65 does not determine the operation of the blower based on the rate of change of the temperature of the stator core 20, but changes the operation of the blower in accordance with changes in the load factor. 23 is the time t 11 From time t 16 The temperature is 1.9°C during this period.
[0173] 16 to 18, the fluctuation width ΔT of the estimated temperature of the stator core when the operation setting unit 65 of this embodiment determines the operation of the blower is 21 is the fluctuation range ΔT of the estimated temperature in the first comparative example 22 and the fluctuation range ΔT of the estimated temperature in the second comparative example 23 More specifically, when the load factor is changed and the operation of the fan is changed at the same time (second comparative example), the fluctuation range ΔT of the estimated temperature is smaller than 23 is the fluctuation width ΔT of the estimated temperature when the fan is always driven (first comparative example). 22 Furthermore, the fluctuation width ΔT 21 is the fluctuation range ΔT of the estimated temperature in the second comparative example 23 It is smaller than.
[0174] In this way, by controlling the operation of the blower according to this embodiment, it is possible to reduce the range of fluctuation in the temperature of the stator core 20. In other words, it is possible to reduce the range of fluctuation in the temperature of the electric motor 10.
[0175] Since the temperature fluctuation range of the electric motor 10 is reduced, the thermal displacement of the machine components that the electric motor 10 comes into contact with can be reduced. As a result, the accuracy of driving the machine can be improved. For example, the electric motor may be a spindle motor arranged in the spindle head of a machine tool. A spindle that holds a tool is arranged in the spindle head. As a result, the heat from the electric motor may be transferred to the spindle. If the temperature fluctuation range of the electric motor is large, the temperature fluctuation range of the spindle also increases. The amount of thermal displacement of the spindle increases, and there is a risk that the position of the tip point of the tool will be displaced. As a result, there is a risk that the accuracy of machining the workpiece will deteriorate.
[0176] By reducing the temperature fluctuation range of the electric motor, the temperature change of the spindle is reduced, and the amount of thermal displacement of the spindle can be reduced. As a result, the displacement of the position of the tip point of the tool can be suppressed. Alternatively, the position of the tip point of the tool may be corrected depending on the driving state of the electric motor. In this case, by reducing the temperature change of the spindle, it becomes unnecessary to change the amount of correction of the position of the tip point of the tool depending on the driving state of the spindle. Alternatively, it is possible to keep the amount of correction of the position of the tip point of the tool constant. Alternatively, it becomes unnecessary to correct the position of the tip point of the tool.
[0177] Furthermore, constantly driving the blower 29 increases the power consumption of the electric motor 10. When the blower operation control of the present embodiment is implemented, there are periods when the blower 29 is stopped, so that the power consumption of the electric motor 10 can be reduced.
[0178] The operation setting unit 65 of this embodiment sets the operation of the fan based on the gradient of the estimated stator temperature. The temperature of the stator rises due to copper loss in the coil and iron loss in the stator core. The stator may come into contact with machine components. By suppressing the fluctuation range of the stator temperature, thermal displacement of the machine components can be suppressed.
[0179] Furthermore, since the stator core is in contact with or located close to the machine components, the amount of heat transferred to the machine components can be accurately estimated by using the estimated temperature of the stator core as the estimated temperature of the stator.
[0180] Furthermore, the operation setting unit 65 determines the gradient of the stator temperature. The relationship between the amount of heat generated and the amount of heat dissipated cannot be determined by determining the stator temperature. However, by determining the gradient of the stator temperature, it is possible to directly compare the amount of heat generated per unit time of the motor with the amount of heat dissipated per unit time. The control of the fan operation in this embodiment can reduce the fluctuation range of the stator temperature compared to the control (second comparative example) that changes the driving state of the fan in response to changes in the load factor.
[0181] (Auxiliary Program Generation Unit) Referring to Fig. 3, in step 104, the simulation execution unit 64 creates an auxiliary program for the operation of the blower 29. Referring to Fig. 1, the auxiliary program generation unit 66 of the simulation execution unit 64 generates an auxiliary program so that the operation of the blower 29 set by the operation setting unit 65 can be performed when the machine 1 is actually driven. The auxiliary program describes, for example, the operation of the blower 29 corresponding to the operation command output by the operation control unit 43 based on the operation program 45.
[0182] For example, in the control of the operation of the blower in FIG. 16, an auxiliary program is created so that the blower 29 is started after a time difference Δt has elapsed since an operation command with a load factor of 100% was issued. The time difference Δt is, for example, 21 - time t 11 ) and can be calculated based on the results of a simulation.
[0183] The auxiliary program is stored in a memory unit 42 of the machine control device 41. When the machine 1 is actually driven, an operation control unit 43 drives the electric motor 10 based on the operation program 45. Furthermore, the operation control unit 43 controls the operation of the blower 29 based on the operation command for the electric motor 10 and the auxiliary program.
[0184] In the above embodiment, the simulation execution unit creates an auxiliary program to control the operation of the blower in response to the operation of the motor based on the operating program, but this is not limiting. For example, the simulation execution unit may include a command statement for the operation of the blower in the operating program. For example, in addition to the command statement for the operation of the motor in the operating program 45, a command statement for the operation of the blower may be written to correspond to the driving state of the motor. Here, the generation of the auxiliary program or the modification of the operating program may be performed by the simulation execution unit of the simulation device or by an operator.
[0185] (Fluctuation Range Comparator and Power Consumption Comparator) Referring to Fig. 1, the fluctuation range comparator 67 of the simulation execution unit 64 calculates the fluctuation range of the stator temperature over a predetermined period. As the fluctuation range, the difference between the maximum value and the minimum value of the estimated temperature of the stator core 20 can be calculated as described above. Referring to Figs. 16 and 17, the fluctuation range comparator 67 calculates the fluctuation range ΔT when controlling the operation of the blower. 21 and the fluctuation width ΔT when the blower is driven at a predetermined constant rotation speed. 22 Based on this, a variable for comparing the fluctuation range is calculated.
[0186] The variables used to compare the fluctuation range are the fluctuation range ΔT 22 Fluctuation range ΔT 21 The difference in the fluctuation range (ΔT 22 -ΔT 21 ) can be calculated. Alternatively, the fluctuation range ΔT 21 The fluctuation range ΔT 22 The ratio of the fluctuation range divided by (ΔT 21 / ΔT 22 ) can be calculated.
[0187] By calculating a coefficient relating to the difference in the fluctuation ranges in the fluctuation range comparison unit 67, it is possible to determine whether or not to control the operation of the blower. For example, even if the blower operation control shown in FIG. 16 is performed, there may be cases where the fluctuation range of the temperature of the motor 10 is not sufficiently reduced. In such cases, it can be determined that the blower operation control according to this embodiment is not to be performed. This determination can be made by the fluctuation range comparison unit or an operator.
[0188] Alternatively, the accuracy of driving the machine can be estimated based on a coefficient related to the difference in the fluctuation range. When the fluctuation range of the estimated temperature of the stator core becomes sufficiently small, it can be determined that the accuracy of driving the machine is high. For example, it can be determined that correction of the position of the tip point of the tool based on the driving state of the spindle motor of the machine tool is unnecessary. This determination can be made by the fluctuation range comparison unit or the operator.
[0189] The fluctuation range comparison unit 67 can calculate a variable for comparing the fluctuation range when the motor is in any driving state. In particular, it is preferable that the fluctuation range comparison unit 67 calculates a variable for comparing the fluctuation range during a period in which the estimated temperature of the stator core 20 is approximately constant. For example, after starting the motor 10 after being stopped for a long period of time, the temperature of the components of the motor, such as the stator core, gradually rises from room temperature. When the operating state of the motor reaches a steady state or a state in which a predetermined operating pattern is repeated, the fluctuation range of the estimated temperature of the stator core becomes approximately constant.
[0190] Whether the estimated temperature of the stator core is substantially constant can be determined, for example, by calculating the fluctuation range at predetermined time intervals. Then, when the fluctuation range gradually decreases and becomes less than a predetermined judgment value, it can be determined that the estimated temperature of the stator core is substantially constant. Alternatively, a moving average value of the estimated temperature of the stator core is calculated at predetermined time intervals. When the difference between the previous moving average value and the current moving average value becomes less than a predetermined judgment criterion, it can be determined that the estimated temperature of the stator core has become substantially constant. By comparing the fluctuation range when the estimated temperature of the stator core becomes substantially constant, it is possible to accurately determine the effectiveness of controlling the operation of the blower.
[0191] Referring to FIG. 1 , the power consumption comparison unit 68 of the simulation execution unit 64 calculates the power consumption of the fan over a predetermined period. The power consumption comparison unit 68 calculates a variable for comparing power consumption based on the power consumption when the fan operation is controlled (control in FIG. 16 ) and the power consumption when the fan is driven at a predetermined constant rotation speed (control in FIG. 17 ). The variable for comparing power consumption can be calculated by subtracting the power consumption when the fan operation is controlled from the power consumption when the fan is driven at a constant rotation speed. Alternatively, the variable can be calculated by dividing the power consumption when the fan operation is controlled by the power consumption when the fan is driven at a constant rotation speed.
[0192] By calculating the variable for comparing power consumption, it is possible to know the amount of power consumption reduction resulting from controlling the operation of the fan. Alternatively, it is possible to determine whether to control the operation of the fan based on the amount of power consumption reduction. For example, if the power consumption is not sufficiently reduced, it can be determined not to control the operation of the fan. This determination can be made by the power consumption comparison unit or an operator.
[0193] In the above-described embodiment, the operation of the blower 29 is exemplified by a state in which the blower 29 is driven at a predetermined constant rotational speed and a state in which the blower 29 is stopped. However, this is not limiting. The operation setting unit can arbitrarily set the operation of the blower based on the gradient of the estimated stator temperature estimated by the temperature estimator. For example, the operation setting unit can set the operation of the blower so that the rotational speed of the blower increases as the absolute value of the gradient of the increase in the estimated stator temperature estimated by the temperature estimator increases. Alternatively, the operation setting unit can set the operation of the blower so that the rotational speed of the blower decreases as the absolute value of the gradient of the decrease in the estimated stator temperature estimated by the temperature estimator increases.
[0194] In particular, the operation setting unit may perform control to continuously change the rotation speed of the fan in accordance with the gradient of the estimated stator temperature, or the operation setting unit may set the rotation speed of the fan to change in stages in accordance with the gradient of the estimated stator temperature.
[0195] When the rotation speed of the motor is changed, the temperature calculation unit can adopt a model of the motor that corresponds to the rotation speed of the fan. For example, a plurality of rotation speed ranges of the fan can be determined in advance, and the parameter setting unit can create a model of the motor at a rotation speed in the middle of each rotation speed range. When simulating the motor, the temperature calculation unit can switch the model of the motor depending on the rotation speed of the fan.
[0196] 1 , simulation device 2 in this embodiment is configured with a processing device separate from machine control device 41. For example, simulation device 2 is configured with a notebook computer, but is not limited to this form. Machine control device 41 can have the functions of simulation device 2. In other words, machine control device 41 may include simulation execution unit 64, parameter setting unit 57, storage unit 51, and display unit 52.
[0197] The machine control device can include the above-described simulation device and an operation control unit that generates an operation command to drive the machine. The operation control unit can output an operation command for the blower so as to perform the operation of the blower set by the simulation device. For example, the operation control unit can drive the blower of the electric motor based on the auxiliary program generated by the auxiliary program generation unit. By adopting this configuration, the temperature fluctuation range of the electric motor can be reduced, and thermal displacement of the components of the machine can be suppressed. As a result, the accuracy of the driving state of the machine can be improved. Furthermore, the power consumption of the electric motor can be suppressed.
[0198] According to at least one of the embodiments described above, it is possible to provide a simulation device that sets the operation of a blower of an electric motor in response to temperature changes in a stator, and a machine control device that includes the simulation device.
[0199] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0200] The following supplementary notes are disclosed regarding the above-described embodiment and modifications.
[0201] (Supplementary Note 1) A simulation device that simulates changes in temperature of an electric motor including a blower, comprising: a memory unit that stores a model of the electric motor that estimates temperatures of components of the electric motor; a temperature estimation unit that estimates the temperature of a stator based on the model of the electric motor; and an operation setting unit that sets operation of the blower, wherein the model of the electric motor includes a model of the components of the electric motor and a model of outside air, a heat capacity is set for at least one of the component models, coefficients related to heat transfer are set between the models of the components of the electric motor and between the model of the components of the electric motor and the model of the outside air, and the operation setting unit sets operation of the blower based on the rate of change per unit time of the estimated temperature of the stator estimated by the temperature estimation unit.
[0202] (Supplementary Note 2) The simulation device according to Supplementary Note 1, wherein the operation setting unit sets the blower to stop when the absolute value of the gradient of the increase in the estimated temperature of the stator estimated by the temperature estimation unit is less than a predetermined judgment value, and sets the blower to start when the absolute value of the gradient of the decrease in the estimated temperature of the stator estimated by the temperature estimation unit is less than a predetermined judgment value.
[0203] (Supplementary Note 3) The simulation device according to Supplementary Note 1, wherein the operation setting unit sets the rotation speed of the blower to be higher as the gradient of increase in the estimated temperature of the stator estimated by the temperature estimating unit becomes larger.
[0204] (Supplementary Note 4) The simulation device according to any one of Supplementary Notes 1 to 3, further comprising a fluctuation range comparison unit that calculates a fluctuation range of the temperature of the stator over a predetermined period of time, wherein the fluctuation range comparison unit calculates a variable for comparing the fluctuation ranges based on the fluctuation range when controlling the operation of the blower set by the operation setting unit and the fluctuation range when driving the blower at a predetermined constant rotation speed.
[0205] (Supplementary Note 5) The simulation device according to any one of Supplementary Notes 1 to 3, further comprising a power consumption comparison unit that calculates the power consumption of the blower over a predetermined period of time, wherein the power consumption comparison unit calculates a variable for comparing the power consumption based on the power consumption when controlling the operation of the blower set by the operation setting unit and the power consumption when driving the blower at a predetermined constant rotation speed.
[0206] (Supplementary Note 6) The simulation device according to any one of Supplementary Notes 1 to 3, wherein the temperature estimation unit includes: a loss calculation unit that calculates a heat generation amount due to copper loss in the coil and a heat generation amount due to iron loss in the stator core based on a load factor and a rotation speed of the electric motor; and a temperature calculation unit that calculates an estimated temperature of the stator using a model of the electric motor based on the heat generation amount of the coil and the heat generation amount of the stator core.
[0207] (Supplementary Note 7) A simulation device according to any one of Supplementary Notes 1 to 3, comprising: an operation estimation device that estimates a driving state of an electric motor arranged in a machine; the operation estimation device includes a calculation unit that calculates variables that indicate the driving state of the electric motor based on a pre-created estimation program; the estimation program is a program in which auxiliary variables for estimating the driving state of the electric motor are added to commands of an operation program for driving the machine; the calculation unit calculates at least one of a change in rotation speed of the electric motor over time and a change in load factor of the electric motor over time based on output characteristics of the electric motor, a predetermined inertia related to driving of the electric motor, and the auxiliary variable; and the temperature estimation unit estimates a temperature of the stator based on the rotation speed and load factor of the electric motor calculated by the calculation unit.
[0208] (Supplementary Note 8) A machine control device comprising: the simulation device according to Supplementary Note 1; and an operation control unit that generates an operation command for an electric motor, wherein the operation control unit outputs an operation command for the blower so as to perform the operation of the blower set by the operation setting unit.
[0209] REFERENCE SIGNS LIST 1 Machine 2 Simulation device 10 Electric motor 10a, 30a Electric motor model 11a Rotor model 16a Coil model 20a Stator core model 29 Fan 31 Temperature detector 31a Temperature detector model 32 Rotational position detector 33 Outside air temperature detector 35a Air layer model 36a Outside air model 41 Machine control device 43 Operation control unit 45 Operation program 51 Memory unit 53 Temperature estimation unit 54 Loss calculation unit 55 Temperature calculation unit 65 Operation setting unit 67 Fluctuation range comparison unit 68 Power consumption comparison unit 69 Information on driving state of electric motor 71 Estimation program 73 Inertia information 74 Output characteristics of electric motor 75 Machining program 75a 76a Estimation program 81 Operation estimation device 83 Calculation unit
Claims
1. A simulation device that simulates changes in temperature of an electric motor including a blower, comprising: a memory unit that stores a model of the electric motor that estimates temperatures of components of the electric motor; a temperature estimation unit that estimates the temperature of a stator based on the model of the electric motor; and an operation setting unit that sets the operation of the blower, wherein the model of the electric motor includes a model of the components of the electric motor and a model of outside air, a heat capacity is set for at least one of the models of the components, and coefficients related to heat transfer are set between the models of the components of the electric motor and between the model of the components of the electric motor and the model of the outside air, and the operation setting unit sets the operation of the blower based on the rate of change per unit time of the estimated temperature of the stator estimated by the temperature estimation unit.
2. The simulation device of claim 1, wherein the operation setting unit sets the blower to stop when the absolute value of the slope of the increase in the estimated stator temperature estimated by the temperature estimator is less than a predetermined judgment value, and sets the blower to start when the absolute value of the slope of the decrease in the estimated stator temperature estimated by the temperature estimator is less than a predetermined judgment value.
3. The simulation device according to claim 1, wherein said operation setting section sets the rotation speed of the blower to be faster as the gradient of increase in the estimated stator temperature estimated by said temperature estimating section becomes greater.
4. A simulation device as claimed in any one of claims 1 to 3, further comprising a fluctuation range comparison unit that calculates a fluctuation range of the stator temperature over a predetermined period of time, the fluctuation range comparison unit calculating a variable for comparing the fluctuation range based on the fluctuation range when control of the blower operation set by the operation setting unit is performed and the fluctuation range when the blower is driven at a predetermined constant rotation speed.
5. A simulation device as described in any one of claims 1 to 3, further comprising a power consumption comparison unit that calculates the power consumption of a blower during a predetermined period, the power consumption comparison unit calculating a variable for comparing power consumption based on the power consumption when controlling the operation of the blower set by the operation setting unit and the power consumption when driving the blower at a predetermined constant rotation speed.
6. A simulation device according to any one of claims 1 to 3, wherein the temperature estimation unit includes: a loss calculation unit that calculates the amount of heat generated due to copper loss in the coil and the amount of heat generated due to iron loss in the stator core based on the load factor and rotation speed of the motor; and a temperature calculation unit that calculates an estimated temperature of the stator using a model of the motor based on the amount of heat generated in the coil and the amount of heat generated in the stator core.
7. A simulation device as claimed in any one of claims 1 to 3, comprising an operation estimation device which estimates the driving state of an electric motor arranged in a machine, the operation estimation device including a calculation unit which calculates variables indicative of the driving state of the electric motor based on a pre-created estimation program, the estimation program being a program in which auxiliary variables for estimating the driving state of the electric motor are added to command statements of an operation program for driving the machine, the calculation unit calculates at least one of the change in the rotational speed of the electric motor over time and the change in the load factor of the electric motor over time based on output characteristics of the electric motor, a predetermined inertia related to driving of the electric motor, and the auxiliary variables, and the temperature estimation unit estimates the temperature of a stator based on the rotational speed and the load factor of the electric motor calculated by the calculation unit.
8. A machine control device comprising: the simulation device according to claim 1; and an operation control unit that generates an operation command for an electric motor, wherein the operation control unit outputs an operation command for a blower so as to carry out the operation of the blower set by the operation setting unit.