Simulation device and machine control device

The simulation device addresses the challenge of predicting electrolytic corrosion in electric motor bearings by estimating temperatures and adjusting operations to prevent damage, ensuring prolonged bearing life and reduced vibrations.

WO2026047971A1PCT designated stage Publication Date: 2026-03-05FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Conventional technologies are unable to accurately determine the magnitude of electrolytic corrosion in bearings of electric motors without actual operation, making it difficult to predict and prevent damage caused by electrolytic corrosion.

Method used

A simulation device that estimates the temperature of bearings using a thermal model of the electric motor, evaluates the extent of electrolytic corrosion, and adjusts the operation of the blower and drive device to minimize damage.

Benefits of technology

Enables predictive assessment and prevention of electrolytic corrosion damage by simulating temperature changes and adjusting operational conditions, thereby extending bearing lifespan and preventing vibrations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024031168_05032026_PF_FP_ABST
    Figure JP2024031168_05032026_PF_FP_ABST
Patent Text Reader

Abstract

This simulation device, in one embodiment, is provided with: a temperature estimation unit that estimates the temperature of a bearing on the basis of a model of an electric motor; and an evaluation unit that evaluates the magnitude of damage to the bearing due to electrolytic corrosion, on the basis of the temperature of the bearing estimated by the temperature estimation unit. The simulation device is provided with an operation setting unit that sets operations for at least a blower of the electric motor or a drive device that supplies electricity to the electric motor. The model of the electric motor includes models of components of the electric motor. The operation setting unit sets operations of the blower and the drive device in accordance with the magnitude of the electrolytic corrosion damage evaluated by the evaluation unit so as to decrease damage to the bearing.
Need to check novelty before this filing date? Find Prior Art

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 an electric motor is arranged in a machine to operate a component, and the electric motor comprises a rotatable rotor having a shaft and a stator fixed around the rotor, the shaft of the rotor of the electric motor being supported by bearings.

[0003] It is known that when an electric motor is driven, a potential difference occurs between the rotor and stator due to the voltage supplied to the stator. This in turn creates a potential difference between the outer and inner rings of the bearing that supports the rotor shaft, causing discharge within the bearing. Damage caused by discharge within the bearing is called electrolytic corrosion. As electrolytic corrosion progresses, problems such as vibrations and a shortened bearing lifespan can occur.

[0004] In conventional technology, it is known to actually drive an electric motor to measure the driving condition of the electric motor, and if it is determined that the damage caused by electrolytic corrosion is significant, to change the operation of the electric motor to suppress the progression of the electric corrosion.

[0005] JP 2014-228378 A International Publication No. 2024 / 034027 JP 2020-8472 A JP 2004-309221 A

[0006] In conventional technology, it was impossible to determine the magnitude of electrolytic corrosion without actually operating the electric motor. In particular, it was impossible to estimate the magnitude of electrolytic corrosion because the temperature of the bearings was unknown. Another problem was that it was difficult to determine operating conditions that would prevent bearing damage due to electrolytic corrosion before actually operating the machine. For example, in the case of bearings in which electrolytic corrosion progresses quickly, electrolytic corrosion may progress within a short period of time after the electric motor is started. As a result, damage due to electrolytic corrosion may progress before the operating conditions of the electric motor are changed. As such, conventional technology has the problem of making it difficult to estimate damage due to electrolytic corrosion in advance or to determine operating conditions of the electric motor that would prevent electrolytic corrosion damage.

[0007] One aspect of the present disclosure is a simulation device that simulates changes in the temperature of an electric motor. The simulation device includes a memory unit that stores a model of the electric motor that estimates the temperature of components of the electric motor. The simulation device includes a temperature estimation unit that estimates the temperature of a bearing that supports a rotor based on the model of the electric motor, and an evaluation unit that evaluates the extent of damage to the bearing due to electrolytic corrosion based on the temperature of the bearing estimated by the temperature estimation unit. The simulation device includes an operation setting unit that sets the operation of at least one of a blower of the electric motor and a drive device that supplies electricity to the electric motor. The simulation device includes an auxiliary command generation unit that generates an auxiliary command based on the operation set by the operation setting unit. The model of the electric motor includes a model of components of the electric motor. A heat capacity is set for the model of at least one component. A coefficient related to heat transfer is set between the models of the components of the electric motor. In response to the extent of damage due to electrolytic corrosion evaluated by the evaluation unit, the operation setting unit sets the operation of at least one of the blower and the drive device so as to reduce damage to the bearing.

[0008] 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 model of a synchronous motor according to an embodiment. FIG. 3 is a flowchart for estimating the magnitude of damage due to electrolytic corrosion and setting the operation of a blower or a drive device. FIG. 4 is a time chart explaining an example of an operation pattern of an electric motor for setting parameters in a model of an electric motor. FIG. 5 is a model of an induction motor according to an embodiment. FIG. 6 is a block diagram of a motion estimation device for estimating the drive state of an electric motor according to an embodiment. FIG. 7 is an example of a machining program for a spindle motor of a machine tool. FIG. 8 is an estimation program for estimating the drive state of a spindle motor by the motion estimation device. FIG. 9 is a graph of output versus rotation speed at a predetermined load factor of the spindle motor. FIG. 10 is a time chart of the drive state of the spindle motor estimated by the motion estimation device. FIG. 11 is an estimation program for estimating the drive state of a feed axis motor of a machine tool. FIG. 12 is a graph of output versus rotation speed at a predetermined load factor of the feed axis motor. FIG. 13 is a time chart of the drive state of the feed axis motor estimated by the motion estimation device. FIG. 14 is a graph explaining multiple evaluation regions related to bearing damage due to electrolytic corrosion. FIG. 15 is a block diagram of an evaluation unit of a simulation device. FIG. 16 is a graph of estimated temperatures of components of an electric motor estimated by the simulation device. 1 is a graph of estimated temperatures of components of the electric motor when first damage prevention control is performed, a flowchart of first damage prevention control or second damage prevention control, and a graph of estimated temperatures of components of the electric motor when third damage prevention control is performed.

[0009] 1 to 20 , a simulation device for simulating damage to a bearing of an electric motor and a machine control device including the simulation device according to an embodiment will be described. The electric motor simulation device of this embodiment estimates 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.

[0010] (Machine Configuration) Fig. 1 is a block diagram of a machine and electric motor simulation device according to 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 used as machine 1. However, the machine is not limited to this configuration, and any machine equipped with an electric motor can be used.

[0011] The machine 1 includes an electric motor 10 that drives the components of the machine 1 and a machine control device 41 that controls the machine 1. An example of the electric motor 10 is a spindle motor that rotates a spindle that holds a tool. Another example of the electric motor 10 is a feed axis motor that moves a table that holds a workpiece or a spindle head including the spindle along a predetermined coordinate axis.

[0012] The machine control device 41 of this embodiment is equipped with 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 connected to the CPU via a bus. The machine 1 of this embodiment is of a numerically controlled type. The machine 1 is driven based on commands written in an operation program 45 created in advance. If the machine 1 is a machine tool, the operation program 45 corresponds to a machining program.

[0013] The machine control device 41 includes a storage unit 42 that stores an 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 supply of electricity from 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 of the rotor 11 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 addition, a temperature detector 34 is disposed so as to contact the outer ring of the rear bearing 15. In this embodiment, the temperature of the bearings 14, 15 is approximately equal to the temperature of the rotor 11. That is, the temperature detector 34 in this embodiment detects the temperatures of the rotor 11 and the bearings 14, 15. The temperature detectors 31, 34 in this embodiment are configured as thermistors. The outputs of the temperature detectors 31, 34 and the rotational position detector 32 are input to the 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 detectors 31 and 34, 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] The electric motor 10 of this embodiment includes a blower 29 that supplies air to cool the main body of the electric motor. The blower 29 of this embodiment is fixed to the stator core 20 via a cylindrical member 25. The cylindrical member 25 is fixed to the stator core 20. The space inside the cylindrical member 25 forms an air flow path. The blower 29 includes a cooling fan 27, a case 28, and an electric motor that rotates the cooling fan 27. The blower 29 of this embodiment is arranged 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 configuration and can be arranged in any position so as to blow air onto the main body of the electric motor.

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

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

[0024] (Configuration of Simulation Device) A simulation device 2 of this embodiment estimates the temperatures of components of an electric motor 10. In this embodiment, the temperature of a bearing that supports the rotor 11 among the components of the electric motor is estimated. In this embodiment, the temperature of the rear bearing 15 of the two bearings 14, 15 will be described as an example. The temperatures of the bearings 14, 15 are approximately the same as the temperature of the rotor 11. For this reason, in this embodiment, the temperature of the rotor 11 is estimated as the temperature of the bearing 15.

[0025] The simulation device 2 estimates the change in temperature of the bearing 15 over time. In this embodiment, the temperatures actually measured by the temperature detectors 31 and 34 are referred to as measured temperatures. The temperatures of the components estimated by the simulation device 2 are referred to as estimated temperatures.

[0026] The simulation device 2 includes an arithmetic processing device (computer) including a CPU as a processor. The simulation device 2 is configured to be able to communicate with the machine control device 41. The simulation device 2 includes a storage unit 51 that stores information related to the simulation of the electric motor. 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.

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

[0028] The simulation device 2 in this embodiment includes a parameter setting unit 57 that sets parameters included in the model of the electric motor. The parameter setting unit 57 includes a state acquisition unit 58 that acquires the driving state of the electric motor 10 when the electric motor 10 is actually driven. The driving state of the electric motor 10 includes the measured temperatures detected by the temperature detectors 31 and 34 attached to the electric motor 10. The driving state of the electric motor 10 includes the operation command for the electric motor 10 output from the operation control unit 43 and the rotational speed output from the rotational position detector 32. The load factor of the electric motor can be calculated from the torque command included in the operation command for the electric motor 10. The state acquisition unit 58 can also acquire the outside air temperature from the outside air temperature detector 33. The outside air temperature detector 33 is arranged to detect, for example, the temperature around the machine 1.

[0029] 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 models of the components of the electric motor 10 and coefficients related to heat transfer between models of the components. The parameter calculation unit 59 of this embodiment calculates the parameters so that changes in the estimated temperatures of the components calculated by the model of the electric motor correspond to changes in the actual temperatures. In this embodiment, the parameters are calculated based on measured temperatures obtained from the temperature detectors 31, 34 when the operating state of the electric motor 10 is changed.

[0030] The simulation device 2 receives motor drive state information 68, including the load factor and rotation speed of the motor, for simulating the motor. The motor drive state information 68 defines the load factor and rotation speed of the motor for each predetermined time interval. An example of the predetermined time interval is the motor control period. The motor drive state information 68 is stored in the storage unit 51.

[0031] The simulation device 2 includes a simulation execution unit 64 that simulates changes in temperature of components of the electric motor. The simulation execution unit 64 is configured to be able to calculate, in time series, changes in temperature of components of the electric motor corresponding to information 68 on the driving state of the electric motor.

[0032] Simulation execution unit 64 includes a temperature estimation unit 53 that estimates the temperatures of the components of the motor. Temperature estimation unit 53 estimates the temperatures of the components of the motor in accordance with a model of the motor that includes parameters set by parameter setting unit 57. Temperature estimation unit 53 includes a loss calculation unit 54 that calculates the amount of heat generated due to primary copper loss in coil 16 and the amount of heat generated due to iron loss in stator core 20, based on information 68 about the driving state of the motor.

[0033] The temperature estimation unit 53 includes a temperature calculation unit 55 that estimates the temperatures of the components of the motor using a model (thermal model) of the motor. The temperature calculation unit 55 calculates the estimated temperatures of the components based on the amounts of heat generated by primary copper loss and iron loss, the heat capacity of the models of each component, and a coefficient related to heat transfer between the models of the components.

[0034] Temperature estimation unit 53 is also used by parameter setting unit 57. When parameter setting unit 57 estimates the temperatures of the components of the motor, loss calculation unit 54 calculates copper loss and iron loss based on the actual driving state of the motor, such as the rotation speed and load factor of the motor, acquired by state acquisition unit 58. Furthermore, temperature calculation unit 55 calculates the temperatures of the components of the motor using a thermal model including parameters such as provisionally set heat capacity.

[0035] Each of the parameter setting unit 57, state acquisition unit 58, and parameter calculation unit 59 corresponds to a processor that operates according to a program. Also, each of the simulation execution unit 64, temperature estimation unit 53, loss calculation unit 54, and temperature calculation unit 55 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 execution unit 64 includes an evaluation unit 60 that evaluates the extent of damage caused by electrolytic corrosion to the bearing 15 based on the estimated temperature of the bearing 15 estimated by the temperature estimation unit 53. The simulation execution unit 64 includes an operation setting unit 66 that sets the operation of at least one of the blower 29 of the electric motor 10 and the drive device 44 that supplies electricity to the electric motor 10. The simulation execution unit 64 includes an auxiliary command generation unit 67 that generates an auxiliary command based on the operation set by the operation setting unit 66.

[0037] Each of the evaluation unit 60, the operation setting unit 66, and the auxiliary command generation unit 67 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.

[0038] (Model and Simulation of Electric Motor) Figure 3 shows a model of an electric motor that models heat transfer in a synchronous motor in this embodiment. The model of the electric motor in this embodiment is a thermal model. The model of the electric motor includes models of multiple components of the electric motor. The model of the electric motor includes parameters such as the heat capacity of the components and coefficients related to heat transfer between the components. The model 10a of the electric motor includes models of the main components that make up the electric motor 10. The model 10a of the electric motor includes a model 11a of a rotor, a model 20a of a stator core, and a model 16a of a coil wound around the stator core.

[0039] The motor model 10a also includes a model 31a of a temperature detector 31 for detecting the temperature of the coil 16. In this embodiment, the model 31a of the temperature detector 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. The temperature of the temperature detector 34 is calculated assuming that it is the same as the temperature of the rotor 11.

[0040] 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. 3, 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.

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

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

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

[0044] 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 wound around 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.

[0045] Heat transfer between each component, such as the coil and the stator core, depends 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 over a short period of time.

[0046]

[0047] In the thermal model, 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 in the coil 16. 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).

[0048] Next, the primary copper loss P included in equations (1) and (2) c1 and iron loss P iThe rotation speed of the electric motor 10 and the load factor (proportion to the maximum load) of the electric motor 10 are determined according to the work 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.

[0049]

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

[0051] 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).

[0052]

[0053] 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).

[0054]

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

[0056]

[0057] When simulating the operation of electric motor 10, the operator determines in advance information 68 about the driving state of electric motor 10. In particular, the operator determines the time-dependent changes in the rotation speed and load factor of electric motor 10. Loss calculation unit 54 of temperature estimator 53 acquires the rotation speed and load factor included in the driving state of electric motor 10. Loss calculation unit 54 calculates primary copper loss and iron loss based on the rotation speed and load factor of electric motor 10 in the operating pattern.

[0058] The temperature calculation unit 55 of the temperature estimation unit 53 can set the initial values ​​of the temperatures T1 to T5 of the respective components to any temperature. For example, the temperature calculation unit 55 may set the initial temperatures T1 to T5 of the components 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.

[0059] Next, the temperature calculation unit 55 can calculate the amount of change in the rotor temperature T4 over the infinitesimal time dt by solving the above equations (1) to (5). The infinitesimal time dt is a time interval at which the rotational speed and other parameters are determined, and can be, for example, the control period of the motor. In this embodiment, the estimated temperature of the rotor 11 is used as the estimated temperature of the bearing 15. In this way, the operator can determine an operation pattern for the motor and estimate the change in the bearing temperature over time when the motor is operated according to the operation pattern.

[0060] 4 shows a control flowchart for setting an operation method for suppressing damage to the motor due to electrolytic corrosion in the simulation device. In step 101, the parameter setting unit 57 sets parameters included in the motor model based on the temperatures measured by the temperature detectors 31 and 34.

[0061] A state acquisition unit 58 of the parameter setting unit 57 acquires the driving state of the electric motor 10 when the electric motor 10 is actually driven. The state acquisition unit 58 acquires the measured temperatures detected by the temperature detectors 31, 34 attached to the electric motor 10 and the outside air temperature from the outside air temperature detector 33. The driving state of the electric motor 10 and the detected temperatures can be stored in the memory unit 51.

[0062] Fig. 5 shows an example 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.

[0063] The temperature detected by the temperature detector 31, which detects the temperature of the coil 16, gradually increases. From time t1 to time 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 temperatures output from the temperature detectors 31 and 34 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.

[0064] The parameters included in the electric motor model 10a can be determined by any method. In this embodiment, the parameter calculation unit 59 calculates the heat capacity included in the electric motor model 10a, the coefficients related to heat transfer, and the constants k1 and k2 in equations (6) and (7), based on the heat generation amounts in the coil 16 and the stator core 20 and the temperatures detected by the temperature detectors 31 and 34. In this example, the parameter calculation unit 59 sets the parameters so that the changes in the estimated temperatures of the temperature detector model 31a and the rotor model 11a when the simulation is performed are close to the changes in the measured temperatures.

[0065] The parameter calculation unit 59 can set the parameters using, for example, a method called a random search method. In the random search method, the range in which each parameter is set can be determined in advance. The parameter calculation unit 59 randomly sets multiple parameters within the parameter range. The temperature calculation unit 55 estimates the estimated temperature of the temperature detector model 31a and the estimated temperature of the rotor model 11a based on the set parameters.

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

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

[0068] The temperature calculation unit 55 uses the respective parameters and the loss calculated by the loss calculation unit 54. Using the electric motor model 10a, the temperature calculation unit 55 can calculate a change in the estimated temperature detected by the temperature detectors 31, 34 after the electric motor 10 starts to operate, based on the provisionally determined parameters. The temperatures of the models of the respective components of the electric motor 10 can be calculated using the differential equations of the above formulas (1) to (5). The initial values ​​of the temperatures of the models of the respective components can be set to, for example, the outside air temperature when the electric motor 10 starts to operate, i.e., room temperature.

[0069] The parameter calculation unit 59 evaluates the parameters provisionally set for the motor model 10a by comparing the estimated temperatures of the temperature detector model 31a and the rotor model 11a calculated by the temperature calculation unit 55 with the temperatures actually measured by the temperature detectors 31 and 34.

[0070] If the estimated temperature estimated by the motor model is close to the measured temperature measured by the temperature detector within a predetermined range, the provisionally set parameters can be adopted. On the other hand, if the estimated temperature is not close to the measured temperature within the predetermined range, the parameters can be randomly changed and the above evaluation can be repeated. In this way, if the provisionally set parameters satisfy the predetermined conditions, they can be set as final parameters.

[0071] In addition to the above parameter setting methods, parameters can also be set using a method called a grid search method. For example, the parameter calculation unit can set parameters at predetermined intervals within the parameter setting range. The temperature calculation unit estimates the estimated temperatures of the temperature detector model and the rotor model using the set parameters. The parameter calculation unit evaluates all combinations of discretely set parameters. Then, the parameter whose estimated temperature is closest to the measured temperature can be adopted.

[0072] Alternatively, to set the parameters, temperature detectors may be attached to all components whose temperature is a variable to obtain measured temperatures. For example, temperature detectors for measuring the temperature of the stator core and the temperature of the air layer may be attached to the electric motor. In this case, the temperatures of the components are also obtained in multiple driving states of the electric motor, so the parameters can be calculated using simultaneous equations with the parameters as unknown constants. In addition to the above, machine learning methods may be used to set multiple parameters.

[0073] In this embodiment, it is sufficient that the estimated rotor temperature used as the estimated bearing temperature corresponds to the actually measured temperature. Therefore, it is acceptable for the estimated temperatures of other components to deviate from the actually measured temperatures. It is also acceptable for some parameter values ​​to deviate from the actual parameter values. The operating pattern for actually driving the motor to set the parameters is not limited to the no-load operation described above, and any operating pattern can be used. For example, it is acceptable for the load factor of the motor 10 to repeatedly increase and decrease.

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

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

[0076] In an induction motor, current flows through the rotor's cage conductor, resulting in secondary copper loss P c2 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.

[0077] The differential equation for temperature changes of the components in the other motor model 30a differs from that for calculating the temperature changes of the rotor in the motor model 10a for the synchronous motor of this embodiment. The differential equation expressing the temperature changes of the rotor is given by the following equation (11).

[0078]

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

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

[0081] 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).

[0082]

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

[0084] (Estimation of the driving state of the electric motor by the operation estimation device) Referring to Fig. 1, in order to perform a simulation using the simulation device 2, the loss calculation unit 54 of the temperature estimation unit 53 needs to calculate the heat generation amount. In order for the loss calculation unit 54 to calculate the heat generation amount, information 68 on the driving state of the electric motor, including time-series changes in the load factor and rotation speed of the electric motor, is required. Referring to Fig. 4, in step 102, the operation estimation device estimates the driving state of the electric motor based on the operation program. More specifically, the operation estimation device calculates the rotation speed and load factor of the electric motor at predetermined time intervals.

[0085] 7 to 14, a motion estimation device for estimating the drive state of an electric motor according to this embodiment will be described. A machine tool as machine 1 according to this embodiment machines a workpiece while changing the relative position of a tool with respect to the workpiece. The machine tool according to this embodiment includes a spindle motor for rotating the tool, and a movement device for moving at least one of a table for holding the workpiece and a spindle head for holding the tool. The movement device includes feed axis motors arranged corresponding to the respective feed axes.

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

[0087] FIG. 7 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.

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

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

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

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

[0092] The calculation unit 83 corresponds to a processor of an arithmetic processing device that operates in accordance with predetermined rules. In this embodiment, the calculation unit 83 corresponds to a processor that operates based on the estimation program 71. Furthermore, each of the speed estimation unit 84, the torque estimation unit 85, the determination unit 86, and the display control unit 87 corresponds to a processor of the arithmetic processing device. The processor operates based on the estimation program 71 to function as each unit.

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

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

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

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

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

[0098] Figure 8 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.

[0099] 8 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.

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

[0101] Fig. 9 shows an estimation program for the estimation control of the spindle motor. The estimation program 75a is generated corresponding to the machining program 75 shown in Fig. 8. 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.

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

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

[0104] 10 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 rotational speed of the motor when the motor is driven at a load factor of 100%. The horizontal axis shows the rotational 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 rotational speed up to a rotational speed of approximately 7000 rpm.

[0105] Referring to Fig. 7, 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.

[0106] Fig. 11 shows a time chart of the drive state of the spindle motor estimated by the estimation control of the spindle motor. Referring to Figs. 9 and 11, from time t0 to time t1, the rotation speed of the spindle motor increases based on the command statements M03 and S2000. In accordance with the command statement 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 statement M03.

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

[0108] Figure 10 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 an 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.

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

[0110] 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. 10. 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 from FIG. 10 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 from FIG. 10.

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

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

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

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

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

[0116] 12 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.

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

[0118] 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%.

[0119] Fig. 13 is a graph showing the output characteristics of the feed shaft motor. Similar to the graph of the spindle motor in Fig. 10, the graph of Fig. 13 shows the relationship between the rotation speed and the output of the feed shaft motor at a load factor of 100%.

[0120] 7, 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.

[0121] Figure 14 shows a time chart of the drive state of the feed axis motor estimated by the feed axis motor estimation control. Here, an example is shown 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 position of the table in the X-axis direction moves from its current position to a position with an X-axis coordinate value of 10.

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

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

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

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

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

[0127] 13 and 14 , 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. 13 , 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.

[0128] In this way, the torque estimation unit 85 calculates the load factor (TX1) in Fig. 14. The load factor (-TX1) during deceleration from time t6 to time t7 can also be calculated by similar control.

[0129] 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. 12, 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%.

[0130] Referring to FIG. 14 , 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.

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

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

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

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

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

[0136] (Execution of Simulation of Electric Motor) Next, a description will be given of a simulation of the driving state of the electric motor by a simulation execution unit of the simulation device, and of the setting of the operation of the driving device 44 or the operation of the blower 29 of the electric motor 10 based on the results of the simulation. In this embodiment, the rear bearing 15 of the electric motor 10, which is a synchronous motor shown in Fig. 3, will be used as an example for description, but a similar evaluation and operation adjustment can also be performed on the front bearing 14.

[0137] 1 , 3 and 4 , in step 103, simulation execution unit 64 performs a simulation of driving the electric motor to estimate the temperature of bearing 15. Simulation execution unit 64 acquires information 68 on the driving state of the electric motor generated by operation estimation device 81 based on operation program 45.

[0138] Loss calculation unit 54 of temperature estimator 53 acquires the rotational speed and load factor from motor drive state information 68. Loss calculation unit 54 calculates primary copper loss and iron loss based on the rotational speed and motor load factor in the operation pattern of motor 10. Temperature calculation unit 55 of temperature estimator 53 uses the primary copper loss and iron loss to calculate an estimated temperature of rotor model 11a as the temperature of bearing 15 based on motor model 10a.

[0139] The temperature calculation unit 55 can set the temperatures T1 to T5 of the respective components to any temperature as an initial condition. For example, the temperature calculation unit 55 can set the temperatures T1 to T5 of the components to the normal outside air temperature T r Set the outside air temperature T rcan be determined in advance depending on the location where the machine 1 is placed.

[0140] Next, the temperature calculation unit 55 can calculate the amount of change in the temperature of the components of the motor over the short time dt by solving the above equations (1) to (5). In particular, the temperature calculation unit 55 can calculate the amount of change in the rotor temperature T4. In this way, the operator can determine the operation pattern of the motor and estimate the change in the temperature of the rotor 11 over time as the temperature of the bearing 15 when the motor is operated according to the operation pattern.

[0141] Next, in step 104, the evaluation unit 60 evaluates the extent of damage caused by electrolytic corrosion to the bearing 15. If it is determined that the damage caused by electrolytic corrosion to the bearing 15 is significant, the operation of the blower 29 or the operation of the drive device 44 is adjusted so as to suppress the occurrence of electrolytic corrosion.

[0142] The drive device 44 includes, for example, an inverter circuit and supplies a PWM (Pulse Width Modulation) voltage to the electric motor 10. During operation of the electric motor 10, the neutral point potential changes due to, for example, a time lag in switching. This causes a change in the axial voltage of the shaft 13, resulting in a potential difference between the inner and outer rings of the bearing 15. This can lead to discharges between the raceway surfaces of the rolling elements (the outer peripheral surface of the inner ring or the inner peripheral surface of the outer ring) and the rolling elements. This discharge can cause discharge marks on the raceway surfaces of the rolling elements. Electrolytic corrosion caused in this way can cause malfunctions of the bearing 15.

[0143] The occurrence of electrolytic corrosion depends on the thickness of the lubricating oil film that forms between the rolling elements and the raceway surface. A thicker oil film increases the withstand voltage, making it less likely for discharge to occur. However, as the lubricating film becomes thicker, the discharge energy increases when a discharge occurs, resulting in larger discharge marks on the raceway surface. On the other hand, when the oil film is thin, discharge occurs at a lower voltage, so damage from electrolytic corrosion is reduced. For this reason, damage from electrolytic corrosion is more likely to occur when the oil film is of medium thickness. The thickness of the lubricating oil film depends on the bearing temperature and the shaft rotation speed. For example, as the bearing temperature decreases, the viscosity of the lubricant increases, resulting in a thicker lubricating film. Furthermore, as the shaft rotation speed increases, the lubricating film becomes thicker.

[0144] FIG. 15 shows a graph of the evaluation range indicating the extent of damage caused by electrolytic corrosion. The evaluation ranges are defined as an allowable range 69a, a damaged range 69b, and a normal range 69c. The extent of damage caused by electrolytic corrosion depends on the rotational speed of the rotor 11 and the temperature of the bearing 15. The allowable range 69a is a range in which the oil film between the rolling elements and the raceway surface of the outer or inner ring is thin (e.g., 0 to 0.2 μm). In the allowable range 69a, discharge occurs at a relatively low voltage, but the discharge energy is small, and the damage caused by electrolytic corrosion to the bearing is minimal. For this reason, the allowable range 69a is a range in which operation of the electric motor 10 may be permitted. Alternatively, the allowable range 69a may be a range in which operation of the electric motor is avoided due to the risk of electrolytic corrosion occurring even in the allowable range 69a.

[0145] The damaged area 69b is an area where the oil film between the rolling elements and the raceway surface is of medium thickness. The damaged area 69b is an area where the oil film is thicker (for example, 0.2 to 1 μm) than the oil film in the allowable area 69a. In this area, discharge occurs at a higher voltage than in the allowable area 69a. Because discharge occurs with a relatively high discharge energy, this area is defined as an area where significant damage to the bearing occurs due to electrolytic corrosion.

[0146] The normal region 69c is a region where the oil film between the rolling elements and the raceway surface is thicker (for example, 1 μm or more) than in the allowable region 69a and the damaged region 69b. The normal region 69c has a higher withstand voltage of the bearing 15. This region is defined as a region where no discharge occurs when a voltage is applied between the rolling elements and the raceway surface, and where no electrolytic corrosion occurs in the bearing 15.

[0147] The allowable region 69a, damaged region 69b, and normal region 69c shown in Figure 15 can be determined in advance through experiments. Alternatively, the oil film thickness can be calculated using a formula or data table that determines the oil film thickness from the bearing temperature and rotation speed. The allowable region, damaged region, and normal region can then be determined based on the oil film thickness. Such graphs, formulas, or data tables showing the degree of damage due to electrolytic corrosion can be created in advance for each type of bearing, for example, and stored in the memory unit 51 of the simulation device 2.

[0148] 16 is a block diagram of the evaluation unit of the simulation execution unit in this embodiment. The evaluation unit 60 includes a region estimation unit 61 that estimates an evaluation region for electrolytic corrosion at a predetermined time based on the rotational speed and estimated temperature of the bearing 15. The region estimation unit 61 determines whether the current driving state of the electric motor corresponds to an evaluation region of an allowable region 69a, a damaged region 69b, or a normal region 69c.

[0149] The evaluation unit 60 includes an integrating unit 62 that calculates an integrated value of the drive time for each evaluation region by integrating the length of the drive time in each evaluation region estimated by the region estimation unit 61. The length of the drive time can be the time interval evaluated by the region estimation unit 61. For example, the minute time dt used to calculate the temperature of the bearing 15 in the electric motor model 10a can be used. The evaluation unit 60 includes a damage determination unit 63 that determines the extent of damage caused by electrolytic corrosion based on the integrated value calculated by the integrating unit 62 and a predetermined determination value.

[0150] Each of the evaluation unit 60, area estimation unit 61, integration unit 62, and damage determination unit 63 corresponds to a processor that operates according to a program. The processor reads the program and performs control defined in the program, thereby functioning as each unit.

[0151] 15 and 16 , the region estimation unit 61 acquires the rotational speed of the shaft 13 at each time and the estimated temperature of the bearing 15 calculated by the temperature estimation unit 53. The region estimation unit 61 determines whether the driving state of the motor corresponds to an evaluation region of the allowable region 69 a, the damaged region 69 b, or the normal region 69 c.

[0152] When the driving state of the motor corresponds to the allowable region 69a, the integrating unit 62 assigns the time interval for performing the evaluation to the first driving time. When the driving state of the motor corresponds to the damaged region 69b, the integrating unit 62 assigns the time interval for performing the evaluation to the second driving time. When the driving state of the motor corresponds to the normal region 69c, the integrating unit 62 assigns the time interval for performing the evaluation to the third driving time. The time interval for performing the evaluation can be, for example, a time interval longer than the control period.

[0153] The accumulator 62 accumulates the driving time in each evaluation region during a predetermined driving period, and calculates an accumulated value of a first driving time during which the vehicle was driven in the allowable region 69 a, an accumulated value of a second driving time during which the vehicle was driven in the damaged region 69 b, and an accumulated value of a third driving time during which the vehicle was driven in the normal region 69 c.

[0154] Next, the damage determination unit 63 of this embodiment calculates a damage value S as an index value indicating the magnitude of damage due to electrolytic corrosion based on the integrated value for each evaluation area using the following formula (13): The damage value S is an integrated value of the drive time weighted by the degree of damage due to electrolytic corrosion.

[0155]

[0156] Here, coefficients D1, D2, and D3 represent the magnitude of damage caused by each electrolytic corrosion. For example, the integrated value of the second drive time in the damaged region 69b has the greatest effect on damage caused by electrolytic corrosion. The integrated value of the first drive time in the allowable region 69a has a slight effect on the progression of electrolytic corrosion. The integrated value of the third drive time in the normal region 69c has no effect on the progression of electrolytic corrosion. For this reason, the respective coefficients can be preset so that coefficient D2 > coefficient D1 > coefficient D3.

[0157] The damage value S in this embodiment is an index value for quantitatively evaluating the degree of damage caused by electrolytic corrosion. The damage value S can be calculated for each bearing. Alternatively, even if the bearings are the same type, it is preferable to calculate an integrated value for each bearing because the operating conditions of the motors differ depending on the motor.

[0158] Next, the damage determination unit 63 determines the magnitude of damage caused by electrolytic corrosion based on the damage value S calculated using equation (13) and a predetermined determination range for the magnitude of electrolytic corrosion. For example, if the damage value S is equal to or less than the determination value, it can be determined that the damage caused by electrolytic corrosion is small and poses no problem. If the damage value S is greater than the determination value, it can be determined that the damage caused by electrolytic corrosion is large. Alternatively, if the damage value S is greater than the determination value, the damage determination unit 63 can determine that the operating state of the motor should be changed to suppress the progression of electrolytic corrosion.

[0159] Here, there may be a plurality of judgment values ​​for judging the magnitude of electrolytic corrosion. The driving state of the electric motor may be changed depending on each judgment value. Alternatively, a warning may be displayed on the display unit 52 of the simulation device 2 depending on each judgment value. For example, a judgment value may be set that indicates that electrolytic corrosion damage has progressed slightly, and when this judgment value is reached, a warning that electrolytic corrosion has occurred may be displayed.

[0160] In addition, in this embodiment, the damage determination unit 63 calculates the damage value S based on the integrated values ​​of the multiple evaluation regions to determine the extent of damage caused by electrolytic corrosion, but this is not limiting. The damage determination unit can estimate the extent of damage based on the integrated values ​​of the drive times in each evaluation region. For example, the damage determination unit may determine the extent of damage by comparing only the integrated value of the second drive time in the damaged region 69b as the damage value with the damage determination value.

[0161] FIG. 17 is a graph of estimated temperatures showing the relationship between the temperature of the components of the electric motor and the damaged area when a simulation was performed. The horizontal axis represents time, and the vertical axis represents the estimated temperature of each component. Here, the rotation speed of the electric motor 10 is constant at 2500 rpm. The graph shown in FIG. 15 determines a damaged area 69b relative to the temperature of the bearing 15. The area where the temperature of the bearing 15 is lower than the damaged area 69b becomes a normal area 69c, and the area where the temperature is higher than the damaged area 69b becomes an acceptable area 69a.

[0162] In this motor operating state, the blower 29 of the motor 10 is driven at the maximum rotational speed. The blower 29 is driven at a constant rotational speed that does not change from the maximum rotational speed. Referring to FIGS. 1 to 3 , the parameter setting unit 57 acquires the motor operating state when the blower 29 of the motor 10 is actually driven at the maximum rotational speed, and can set the parameters of the motor model 10a. The graph of estimated temperatures in FIG. 17 is a simulation performed using a motor model in which the blower 29 continues to operate at the maximum rotational speed.

[0163] The estimated temperature of the coil fluctuates greatly depending on the operating state of the motor. The estimated temperature of the rotor 11, which is the estimated temperature of the bearing 15, increases over time after the start of the motor 10 and reaches the damaged area 69b at time t11. Thereafter, the estimated temperature of the bearing 15 becomes almost constant.

[0164] The evaluation unit 60 accumulates the third driving time in the normal region 69c until time t11. From time t11 onwards, the bearing 15 is operated so that its estimated temperature falls within the range of the damaged region 69b. Therefore, the evaluation unit 60 accumulates the second driving time in the damaged region 69b. The evaluation unit 60 then calculates the damage value S for each time.

[0165] At time t12 after the estimated temperature of the bearing 15 falls within the damage range, the damage determiner 63 determines that the damage value S has deviated from a predetermined determination value range, resulting in increased damage to the bearing due to electrolytic corrosion. Alternatively, the damage determiner 63 determines at time t12 that the operation of the electric motor 10 needs to be adjusted so as to suppress the progression of electrolytic corrosion. The display unit 52 of the simulation device 2 can display such determination results.

[0166] Next, referring to FIG. 4 , in step 104, the operation setting unit 66 sets the operation of the electric motor 10 according to the magnitude of the damage caused by electrolytic corrosion evaluated by the evaluation unit 60. If the evaluation unit 60 determines that the damage caused by electrolytic corrosion is large, the operation setting unit 66 sets an operation method that suppresses damage caused by electrolytic corrosion. In this embodiment, operation control for suppressing damage to the bearings caused by electrolytic corrosion is referred to as damage suppression control. In the damage suppression control of this embodiment, the operation of at least one of the blower 29 of the electric motor 10 or the drive device 44 that supplies electricity to the electric motor 10 is changed from the operation defined in the operation program. Then, the auxiliary command generation unit 67 generates an auxiliary command.

[0167] Machine control device 41 in this embodiment includes a blower command unit 46 that controls blower 29 based on an auxiliary command for the blower generated by auxiliary command generation unit 67. Machine control device 41 also includes a drive unit command unit 47 that controls drive unit 44 based on an auxiliary command for the drive unit generated by auxiliary command generation unit 67. Each of the units, blower command unit 46 and drive unit command unit 47, 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 the respective unit.

[0168] The blower 29 of the electric motor 10 and the drive device 44 are driven by operation commands defined in the operation program 45. On the other hand, when performing the damage suppression control in this embodiment, the auxiliary command generation unit 67 sends an auxiliary command to at least one of the blower command unit 46 and the drive device command unit 47 to modify the operation defined by the operation program 45.

[0169] The blower command unit 46 can control the blower 29 so as to suppress damage caused by electrolytic corrosion. Furthermore, the drive unit command unit 47 can control the drive unit 44 so as to suppress damage caused by electrolytic corrosion. In this embodiment, two auxiliary command units, the blower command unit 46 and the drive unit command unit 47, are provided, but this is not limiting. Either one of the auxiliary command units may be provided in the machine control device 41.

[0170] 18 shows a graph obtained when the first damage suppression control is performed in a simulation according to the present embodiment. In this simulation example, the rotational speed of the electric motor 10 is also constant, and the damage region 69b is determined based on the rotational speed of the rotor 11 of the electric motor 10. In the first damage suppression control for suppressing damage to the bearings, the operation setting unit 66 adjusts the rotational speed of the blower 29. The operation setting unit 66 sets the magnitude of the rotational speed of the blower 29 and the timing for changing the magnitude of the rotational speed.

[0171] In this simulation example, after the electric motor 10 is driven, the damage value S exceeds a predetermined judgment value at time t12. The damage judgment unit 63 of the evaluation unit 60 judges that the damage due to electrolytic corrosion is large at time t12. The damage judgment unit 63 determines that the operation of the electric motor 10 should be changed to suppress the damage due to electrolytic corrosion.

[0172] The operation setting unit 66 sets the operation of the first damage suppression control from time t12 onwards. Until time t12, the blower 29 is driven at the maximum rotational speed. If operation continues in this state, the estimated temperature of the bearing 15 will become almost constant and be maintained within the damage region 69b, as shown in FIG. 17 . Therefore, in the first damage suppression control, the rotational speed of the blower 29 of the electric motor 10 is reduced. Here, the blower 29 is stopped at time t12.

[0173] In the simulation of the first damage suppression control, a model of the motor when the rotation speed of the fan is changed can be created in advance. In this example, in addition to a model of the motor when the fan is driven at the maximum rotation speed, a model of the motor when the fan is stopped can be prepared.

[0174] 1 to 3 , parameter setting unit 57 of the present embodiment can set parameters of electric motor model 10a in accordance with the operation of blower 29 of electric motor 10. That is, parameter setting unit 57 can create a plurality of electric motor models 10a in accordance with the operation of blower 29 of electric motor 10.

[0175] In this embodiment, a model of the electric motor 10 when the blower 29 is driven at a constant rotational speed can be created. Here, a first motor model of the electric motor 10 when the blower 29 is driven at the maximum rotational speed is created. The state acquisition unit 58 of the parameter setting unit 57 acquires the actual driving state of the electric motor when the blower 29 is driven at the maximum rotational speed. The state acquisition unit 58 also acquires the temperatures measured by the temperature detectors 31 and 34 and the temperature measured by the outside air temperature detector 33. The parameter calculation unit 59 calculates the parameters of the electric motor model when the blower 29 is driven at the maximum rotational speed using the same method as described above.

[0176] Furthermore, in this embodiment, a motor model of the motor 10 is created when the blower 29 of the motor 10 is stopped. The motor 10 is driven with the blower 29 stopped. The state acquisition unit 58 of the parameter setting unit 57 then acquires the actual driving state of the motor when the blower 29 is stopped, the temperatures measured by the temperature detectors 31 and 34, and the temperature measured by the outside air temperature detector 33. The parameter calculation unit 59 calculates the parameters of the motor model when the blower 29 is stopped. In this way, a thermal model can be generated in which the parameters included in the motor model are changed according to the operation of the blower 29.

[0177] Alternatively, referring to FIG. 3 , 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. For parameters other than the coefficient hb related to heat transfer, parameters calculated when the blower is driven at the maximum rotational speed may be used. The coefficient hb related to heat transfer when the blower is stopped can be calculated by any method, such as the random search method or grid search method described above.

[0178] Furthermore, in an operation to suppress electrolytic corrosion of bearings, the rotation speed of the fan may be adjusted in stages. In this case, multiple motor models may be created to correspond to multiple rotation speeds of the fan. For example, in addition to a model of the fan with a rotation speed of 100% and a model of the fan with a rotation speed of 0%, a model of the fan may be created for each 10% increase in rotation speed of the fan.

[0179] Until time t12, the temperature estimator 53 uses a model of the electric motor 10 in which the rotation speed is at its maximum (100%). After time t12, the temperature estimator 53 uses a model of the electric motor in which the rotation speed of the electric motor 10 is at 0%. For example, a thermal model is adopted in which the value of the coefficient hb related to heat transfer when heat is transferred from the stator core model 20a to the outside air model 36a is changed. The temperature estimator 53 then estimates the temperatures of each component based on information about the driving state of the electric motor.

[0180] In the simulation example shown in FIG. 18 , the blower 29 is stopped at time t12, causing the temperature of the components of the motor to rise overall. The temperature of the bearing continues to rise from time t12. Then, at time t13, the temperature of the bearing 15 exceeds the maximum value in the damaged region 69b. The temperature of the bearing 15 moves into the allowable region 69a. The temperature of the bearing 15 is maintained within the allowable region 69a. From time t13 onwards, the evaluation unit 60 integrates the first drive time in the allowable region 69a.

[0181] The evaluation unit 60 acquires the drive status of the electric motor at each time after time t12. The coefficient D1 by which the integrated value of the first drive time is multiplied is small. Therefore, even if the first drive time is integrated, the increase in the damage value S due to electrolytic corrosion is small, and damage due to electrolytic corrosion can be substantially suppressed. The evaluation unit 60 determines that the damage value S of the bearing can be maintained within the normal range until the processing of the workpiece is completed. For this reason, the operation setting unit 66 determines the operation of stopping the blower 29 at time t12.

[0182] 4 , next, in step 105, auxiliary command generation unit 67 generates an auxiliary command for operating the blower. Auxiliary command generation unit 67 generates an auxiliary command to stop the blower at time t12. Auxiliary command generation unit 67 sends the auxiliary command to machine control device 41. Memory unit 42 of machine control device 41 stores the auxiliary command for the blower.

[0183] When the machine 1 is actually driven, the blower 29 is driven at the maximum rotational speed at startup based on the operating program 45. The blower command unit 46 controls the drive state of the blower 29 from the maximum rotational speed to zero at time t12 based on the auxiliary command stored in the memory unit 42. By performing this control, the drive state of the electric motor 10 transitions from the damage region 69b to within the allowable region 69a, thereby suppressing damage due to electrolytic corrosion. In this way, in the first damage suppression control, the rotational speed of the blower 29 of the electric motor is adjusted to adjust the temperature of the bearing and suppress the occurrence of electrolytic corrosion.

[0184] Next, the second damage suppression control of this embodiment will be described. In the second damage suppression control, the temperature of the bearing 15 is adjusted by adjusting the reactive current of the electricity supplied by the drive device 44. The operation setting unit 66 sets the magnitude of the reactive current and the timing for changing the magnitude of the reactive current. In this example, at time t12, the operation setting unit 66 sets an operation to increase the reactive current of the current supplied by the drive device 44 by a predetermined magnitude.

[0185] In a simulation to estimate the temperature of the components of an electric motor, increasing the reactive current increases the current flowing through the coil, resulting in an increase in temporary copper loss. The Joule heat loss due to such reactive current is calculated by multiplying the square of the reactive current by the temporary resistance, as in equation (8). The same simulation method as described above can be used to estimate the bearing temperature using a thermal model.

[0186] For example, in a simulation of a synchronous motor, a loss map of Table 1 is created for each predetermined reactive current. The loss calculation unit calculates the total loss based on the loss map of Table 1. It also calculates the primary copper loss from the current value including the reactive current. Then, it is possible to calculate the iron loss by subtracting the primary copper loss from the total loss. The temperature calculation unit can estimate the temperature of the components of the motor using a thermal model, with the primary copper loss and iron loss calculated by the loss calculation unit as heat sources.

[0187] Increasing the reactive current supplied by the drive unit 44 increases the coil temperature. As shown in the graph of FIG. 18 , the temperature of the entire motor increases. The temperature of the bearing 15 rises from the damage region 69b and transitions to the allowable region 69a. The temperature of the bearing 15 can then be maintained within the allowable region 69a. Thus, to increase the bearing temperature, the operation setting unit 66 may set the operation of the drive unit 44 to increase the reactive current. The operation of the motor can also be transitioned from the damage region 69b to the allowable region 69a by performing the second damage suppression control. Because the progression of electrolytic corrosion in the allowable region 69a is slight, the progression of electrolytic corrosion can be substantially suppressed.

[0188] The auxiliary command generation unit 67 generates an auxiliary command to increase the reactive current supplied by the drive unit 44 and sends it to the machine control device 41. The memory unit 42 of the machine control device 41 stores the auxiliary command for the drive unit 44. When the machine 1 actually performs work, the second damage suppression control is implemented. The drive unit command unit 47 acquires the auxiliary command for the drive unit stored in the memory unit 42. The drive unit command unit 47 then modifies the operation command for the drive unit 44 determined by the operation program 45 so as to increase the reactive current. The drive unit 44 can control the switching circuit so as to increase the reactive current. As a result, the temperature of the bearings 15 of the electric motor 10 increases, thereby suppressing damage due to electrolytic corrosion.

[0189] In this embodiment, the rotational speed of the blower is set to zero in the simulation of the first damage suppression control, but this is not limited to this. The rotational speed of the blower may be reduced by a small amount. If the temperature of the bearing is within the damage zone 69b and the damage value increases even when the rotational speed is reduced by a small amount, the rotational speed may be further reduced by a small amount. In this manner, the reduction in the rotational speed of the blower and the evaluation of the damage value are repeated. Then, when the temperature of the bearing exceeds the damage zone 69b, the rotational speed of the blower can be maintained. In this manner, by repeatedly reducing the rotational speed of the blower and evaluating the damage value, the rotational speed of the blower 29 can be set so that the temperature of the bearing is maintained slightly higher than the damage zone 69b.

[0190] Furthermore, in the simulation of the second damage suppression control, control can be performed in which a small increase in the reactive current and evaluation of the damage value are repeated. If the temperature of the bearing does not exceed the damaged region 69b when the reactive current is increased by a predetermined small amount, control can be performed to further increase the reactive current. Then, when the temperature of the bearing exceeds the damaged region 69b, the value of the reactive current can be maintained. The reactive current can be adjusted so that the temperature of the bearing remains slightly higher than the damaged region 69b.

[0191] If the temperature of the bearing 15 increases, the deterioration of the lubricant will progress more quickly, which may shorten the life of the lubricant. However, by maintaining the temperature of the bearing at a temperature slightly higher than the damage area, it is possible to prevent the life of the lubricant from being shortened.

[0192] In the first damage suppression control and the second damage suppression control, the temperature of the bearing is increased, but the present invention is not limited to this. Control to decrease the temperature of the bearing may also be performed.

[0193] For example, the fan of the electric motor may be driven at a rotational speed less than the maximum speed. In this case, if the damage value exceeds the judgment value, control may be implemented to increase the rotational speed of the fan. By increasing the rotational speed of the fan, the temperature of the entire electric motor may be reduced. This may also reduce the temperature of the bearing. Referring to FIG. 15 , by reducing the temperature of the bearing, the temperature of the bearing may be shifted from the damaged region 69b to the normal region 69c. Alternatively, the reactive current supplied by the drive unit 44 may be reduced. By reducing the reactive current, the temperature of the coil 16 may be reduced. The temperature of the bearing may be shifted from the damaged region 69b to the normal region 69c.

[0194] In the control for lowering the temperature of the bearing, the control for lowering the temperature of the bearing by a predetermined small amount and the evaluation of the damage value by the evaluation unit may be repeated, and the temperature of the bearing may be adjusted to maintain a temperature slightly lower than the damaged area.

[0195] In some cases, both control to increase the bearing temperature and control to decrease the bearing temperature can be performed. A lower bearing temperature is preferable because the lower the bearing temperature, the slower the deterioration of the lubricant. For this reason, damage prevention control to decrease the bearing temperature can be performed with priority over damage prevention control to increase the bearing temperature.

[0196] Furthermore, the operation of the blower and the drive unit may be set based on the magnitude of damage due to electrolytic corrosion calculated over the entire operating period. For example, the greater the damage due to electrolytic corrosion during a predetermined operating period, the greater the rotational speed of the blower may be reduced so that the bearing temperature quickly moves away from the damaged area. Alternatively, the greater the damage due to electrolytic corrosion during a predetermined operating period, the greater the reactive current may be set.

[0197] FIG. 19 shows a flowchart for setting the operation of damage suppression control in this embodiment. The control shown in FIG. 19 corresponds to the control of steps 104 and 105 in FIG. 4. Referring to FIGS. 1, 4, and 19, in step 103, the estimated temperature of the bearing is calculated over the entire predetermined operating period. Next, in step 111, the evaluation unit 60 calculates the damage value of electrolytic corrosion in time series over the entire operating period based on the estimated temperature of the bearing and the rotational speed of the motor. In step 112, the evaluation unit 60 determines whether the damage value has deviated from the judgment range. In this embodiment, it is determined whether the damage value has exceeded a predetermined judgment value.

[0198] In step 112, if the damage value falls outside the determination range, control proceeds to step 114. That is, if the evaluation unit 60 determines that the damage due to electrolytic corrosion is large, or if it determines that the driving state of the electric motor should be changed, control proceeds to step 114.

[0199] In step 114, it is determined whether an operation to reduce the bearing temperature is possible. For example, if the rotational speed of the fan is at its maximum speed, an operation to increase the rotational speed of the fan to reduce the bearing temperature is not possible. In such a case, control proceeds to step 116. In step 116, the operation setting unit 66 sets an operation to increase the bearing temperature. For example, the operation setting unit 66 sets at least one of an operation to reduce the rotational speed of the fan by a predetermined amount and an operation to increase the reactive current by a predetermined amount.

[0200] The period for setting the operation to increase the bearing temperature can be set, for example, from the time when the damage value exceeds the judgment value. Alternatively, it can be set from the time when the operating state of the motor enters the damage region. Then, the temperature estimation unit 53 recalculates the bearing temperature throughout the entire operating period of the motor. Then, control returns to step 111, and the same control as described above is performed.

[0201] If it is determined in step 114 that an operation to reduce the bearing temperature is possible, control proceeds to step 115. In step 115, the operation setting unit 66 sets an operation to reduce the bearing temperature, for example, at least one of an operation to increase the rotation speed of the fan by a predetermined amount and an operation to reduce the reactive current by a predetermined amount.

[0202] The period for setting the operation to reduce the bearing temperature can be set, for example, from the time when the damage value exceeds the judgment value. Alternatively, it can be set from the time when the operating state of the motor enters the damage region. Then, the temperature estimation unit 53 recalculates the bearing temperature throughout the entire operating period of the motor. Then, control returns to step 111, and the same control as described above is performed.

[0203] In this way, the operation for suppressing electrolytic corrosion is repeatedly set until the damage value of electrolytic corrosion falls within the judgment range throughout the entire operating period. In step 112, if the damage value falls within the judgment range throughout the entire operating period, the operation setting unit 66 confirms the selected operation. Control proceeds to step 113.

[0204] In step 113, the auxiliary command generating unit 67 generates an auxiliary command for the operation set by the operation setting unit 66. Then, the auxiliary command generating unit 67 sends the auxiliary command to the machine control device 41.

[0205] The simulation device of this embodiment can estimate the extent of damage caused by electrolytic corrosion to bearings in advance without actually driving the machine's electric motor. If it is determined that the damage to the bearings due to electrolytic corrosion is significant or that the damage to the bearings is progressing rapidly, it can generate an auxiliary command that adjusts the driving state of the electric motor so as to suppress the damage to the bearings.

[0206] Therefore, when the electric motor is actually driven, it can be driven in an operating state that suppresses the occurrence of electrolytic corrosion. For example, the simulation device can estimate that damage due to electrolytic corrosion will increase in a short period of time, and set the driving state of the electric motor so that damage due to electrolytic corrosion is suppressed. The simulation device of this embodiment can set the driving state of the electric motor in advance so as to suppress damage to the bearings in the actual machine.

[0207] The simulation device of this embodiment is configured to be able to set both the operation of adjusting the rotation speed of the fan and the operation of adjusting the reactive current, but is not limited to this. The simulation device may be configured to be able to set either one of the operations.

[0208] The operation setting unit may also change both the operation for adjusting the rotation speed of the fan and the operation for adjusting the reactive current at the same time, or may perform both operations if changing one of the operations does not cause the driving state of the motor to deviate from the damage region.

[0209] In this embodiment, control is performed to adjust the temperature of the bearing, but this is not limiting. Control may be performed to suppress bearing damage by changing the rotation speed of the motor. As shown in FIG. 15, the bearing damage range also depends on the rotation speed. For example, the operation setting unit may set the rotation speed of the motor to a high value, which may cause the driving state of the motor to transition from the damaged range to the normal range.

[0210] However, changing the rotation speed of the electric motor may affect the performance of the machine. If the machine is a machine tool, it may affect the processing quality when processing a workpiece. For example, it may affect the surface roughness of the workpiece. Or it may affect the time required to process the workpiece. For this reason, in order to suppress electrolytic corrosion, it is preferable to prioritize control that adjusts the temperature of the bearing over control that adjusts the rotation speed of the electric motor.

[0211] In the above embodiment, the operation is set so that damage suppression control is performed after the driving state of the electric motor enters the damage region, but this is not limiting. For example, the operation can be set so that the driving state of the electric motor does not enter the damage region.

[0212] Figure 20 shows a graph of a simulation performed when the third damage suppression control of this embodiment is performed. In this example, the rotation speed of the electric motor is also constant. In the third damage suppression control, the driving state of the electric motor is controlled so as not to enter the damage region 69b. A warning region 70 is set so as to follow the lower limit value of the damage region 69b. The warning region 70 is set to have a predetermined temperature range from the lower limit value of the temperature of the damage region 69b.

[0213] The evaluation unit 60 determines whether the estimated temperature of the bearing 15 is within the warning area 70 at each time. The area estimation unit 61 of the evaluation unit 60 determines that the estimated temperature of the bearing is within the warning area 70 at time t14. When the operating state of the electric motor 10 has entered the warning area 70, the operation setting unit 66 sets an operation to reduce the temperature of the bearing. The operation setting unit 66 sets at least one of control to increase the rotational speed of the blower 29 and control to reduce the reactive current. The temperature estimation unit 53 then re-estimates the temperature of the bearing.

[0214] In this way, the third damage suppression control can suppress the temperature of the bearing from entering the warning region and the driving state of the motor from entering the damage region 69b. That is, the driving state of the motor can be maintained within the normal region 69c, and damage to the bearing due to electrolytic corrosion can be avoided.

[0215] At least one of the embodiments described above can provide a simulation device that can predict the magnitude of electrolytic corrosion in advance.

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

[0217] The following supplementary notes are disclosed regarding the above-described embodiment and modifications.

[0218] (Supplementary Note 1) A simulation device that simulates changes in the temperature of an electric motor, comprising: a memory unit that stores a model of the electric motor that estimates the temperatures of components of the electric motor; a temperature estimation unit that estimates the temperature of a bearing that supports a rotor based on the model of the electric motor; an evaluation unit that evaluates the extent of damage to the bearing due to electrolytic corrosion based on the temperature of the bearing estimated by the temperature estimation unit; an operation setting unit that sets the operation of at least one of a blower for the electric motor and a drive device that supplies electricity to the electric motor; and an auxiliary command generation unit that generates an auxiliary command based on the operation set by the operation setting unit, wherein the model of the electric motor includes a model of components of the electric motor, a heat capacity is set for the model of at least one component, and a coefficient related to heat transfer is set between the models of the components of the electric motor, and the operation setting unit sets the operation of at least one of the blower and the drive device so as to reduce damage to the bearing in response to the extent of damage due to electrolytic corrosion evaluated by the evaluation unit.

[0219] (Supplementary Note 2) The simulation device according to Supplementary Note 1, wherein the operation setting unit sets at least one of a rotation speed of the fan and a reactive current generated by the driving device.

[0220] (Supplementary Note 3) The simulation device according to Supplementary Note 1 or 2, wherein the operation setting unit sets the operation that lowers the bearing temperature with priority over the operation that increases the bearing temperature.

[0221] (Supplementary Note 4) The simulation device according to any one of Supplementary Notes 1 to 3, wherein the evaluation unit includes: a region estimation unit that estimates a plurality of evaluation regions of electrolytic corrosion at a predetermined time based on the rotational speed of the rotor and the temperature of the bearing; an integration unit that calculates an integrated value of the drive time for each evaluation region by integrating the drive time in each evaluation region; and a damage determination unit that determines the magnitude of damage caused by electrolytic corrosion based on the integrated value and a predetermined determination value.

[0222] (Supplementary Note 5) A machine control device comprising: the simulation device according to Supplementary Note 1; an operation control unit that generates an operation command for an electric motor based on an operation program; and at least one of a fan command unit that controls a blower based on an auxiliary command for the blower and a drive unit command unit that controls a drive unit based on an auxiliary command for the drive unit.

[0223] 2 Simulation device 10 Electric motor 10a, 30a Model of electric motor 11 Rotor 11a Rotor model 14, 15 Bearing 27 Cooling fan 29 Blower 31, 34 Temperature detector 31a Model of temperature detector 32 Rotational position detector 33 Outside air temperature detector 43 Operation control unit 44 Driving device 45 Operation program 46 Blower command unit 47 Driving device command unit 53 Temperature estimation unit 60 Evaluation unit 61 Area estimation unit 62 Integration unit 63 Damage determination unit 64 Simulation execution unit 66 Operation setting unit 67 Auxiliary command generation unit 68 Information on driving state of electric motor 69a Allowable area 69b Damaged area 69c Normal area 70 Warning area

Claims

1. A simulation device for simulating changes in the temperature of an electric motor, comprising: a memory unit for storing a model of the electric motor that estimates the temperatures of the components of the electric motor; a temperature estimation unit for estimating the temperature of a bearing that supports a rotor based on the model of the electric motor; an evaluation unit for evaluating the extent of damage to the bearing due to electrolytic corrosion based on the temperature of the bearing estimated by the temperature estimation unit; an operation setting unit for setting the operation of at least one of a blower for the electric motor and a drive device that supplies electricity to the electric motor; and an auxiliary command generation unit for generating auxiliary commands based on the operation set by the operation setting unit, wherein the model of the electric motor includes a model of the components of the electric motor, a heat capacity is set for the model of at least one component, and a coefficient related to heat transfer is set between models of the components of the electric motor, and the operation setting unit sets the operation of at least one of the blower and the drive device so as to reduce damage to the bearing in response to the extent of damage due to electrolytic corrosion evaluated by the evaluation unit.

2. The simulation device according to claim 1, wherein the operation setting unit sets at least one of the rotation speed of the fan and the reactive current generated by the drive device.

3. A simulation device according to claim 1 or 2, wherein the operation setting unit sets the operation that lowers the bearing temperature with priority over the operation that increases the bearing temperature.

4. A simulation device according to any one of claims 1 to 3, wherein the evaluation unit includes: an area estimation unit that estimates a plurality of evaluation areas of electrolytic corrosion at a predetermined time based on the rotational speed of the rotor and the temperature of the bearing; an integrating unit that calculates an integrated value of the drive time for each evaluation area by integrating the drive time in each evaluation area; and a damage determination unit that determines the magnitude of damage caused by electrolytic corrosion based on the integrated value and a predetermined determination value.

5. A machine control device comprising: the simulation device according to claim 1; an operation control unit that generates an operation command for an electric motor based on an operation program; and at least one of a fan command unit that controls the blower based on an auxiliary command for the blower and a drive unit command unit that controls the drive unit based on an auxiliary command for the drive unit.

Citation Information

Patent Citations

  • Axle electrical damage processing method and device, vehicle and storage medium

    CN116760225A

  • Parameter setting device for setting parameter of electric motor model

    WO2022085543A1