# Patent

## Title
Electric motor thermal management

## Abstract

A method and apparatus for electric motor thermal management is provided. A thermal model allows estimation of temperatures of an electric motor and determination of a motor overload condition. The thermal model is based on electrical parameters that can be measured in a motor control circuit. An electric motor control method and circuit utilizes a back electromotive force (EMF) measurement circuit, a processor coupled to the back EMF measurement circuit for receiving a back EMF measurement and for calculating a thermal model of the electric motor, the thermal model based on a stator-to-ambient thermal resistance value accounting for a sum of a stator-to-case thermal resistance and a case-to-ambient thermal resistance, and an electric motor driver circuit coupled to the processor for providing drive signals for controlling delivery of power to the electric motor based on the thermal model of the electric motor.

## Background
BACKGROUND
1. Field of the Disclosure
This disclosure relates generally to electric motors and more specifically to electric motor thermal management.
2. Background of the Disclosure
Electric motors use electric power to produce motion. Inefficiency of electric motors results in power dissipation in the form of heat. If an electric motor is allowed to overheat, it can be damaged. Thus, a temperature of an electric motor can be monitored to protect the electric motor against an overload condition and overheating. Traditionally, an electromechanical thermal switch has been used to protect an electric motor. However, an electromechanical thermal switch can be expensive, of insufficient reliability, and without a mechanism for verifying its proper operation while in use. Thus, an improved technology for electric motor thermal management is needed.



BRIEF DESCRIPTION OF THE DRAWINGS
The present disclosure may be better understood, and its numerous features and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
FIG. 1 is a block diagram illustrating an electric motor system comprising a motor control circuit utilizing a thermal model in accordance with at least one embodiment.
FIG. 2 is a block diagram illustrating a control system for an electric motor for providing thermal management of an electric motor according to designated parameters in accordance with at least one embodiment.
FIG. 3 is a schematic diagram illustrating a thermodynamic model of electric motor elements (including a winding, a rotor, and a stator) and an ambient environment in accordance with at least one embodiment.
FIG. 4 is a block diagram illustrating an electric motor system comprising control system elements for providing thermal management of an electric motor in accordance with at least one embodiment.
FIG. 5 is a block diagram illustrating a control system for an electric motor for providing thermal management of an electric motor according to designated parameters in accordance with at least one embodiment.
FIG. 6 is a schematic diagram illustrating a thermodynamic model of electric motor elements (including a winding and a motor mass) and an ambient environment in accordance with at least one embodiment.
FIG. 7 is a flow diagram illustrating a method for thermal management of a motor in accordance with at least one embodiment.



The use of the same reference symbols in different drawings indicates similar or identical items.
DETAILED DESCRIPTION OF THE DRAWINGS
A method and apparatus for electric motor thermal management is provided. In accordance with at least one embodiment, the method and apparatus can be used for detection of a motor overload condition, and for motor thermal protection. In accordance with at least one embodiment, a thermal model is used to estimate temperatures of an electric motor and determination of a motor overload condition. The thermal model is based on electrical parameters that can be measured in a motor control circuit, which, for example, can be stored remotely from the motor. As one example, the method and apparatus can be used to comply with safety standards without the need for an electromechanical thermal switch in the motor. As another example, the method and apparatus can verify proper operation of an electromechanical thermal switch in the motor for super-safe applications.
The thermal model involves two differential equations, one pertaining to the motor winding temperature and one pertaining to the motor mass temperature. The motor winding temperature and the motor mass temperature can be determined using, for example, Laplace transforms. The thermal model accounts for a thermal resistance from the stator to the ambient environment, which includes a thermal resistance from the stator to the motor case and a thermal resistance from the motor case to the ambient environment. In accordance with one embodiment, a processor operating the motor according to the thermal model determines the thermal resistance from the stator to the ambient environment according to the equation RMA=1/[k0+kT(TM−TA)], where k0 and kT are conductivity model coefficients to provide a linear approximation covering the convective, conductive, and radiative heat transfers from the motor mass to the ambient environment, wherein TM is the temperature of the motor mass and TA is the ambient temperature. Such a linear approximation adequately models nonlinearity over a temperature range resulting from the convective and radiative heat transfers from the motor mass to the ambient environment. In accordance with at least one embodiment, the thermal resistance from the stator to the ambient environment can be determined according to the equation RSA=RSC+RCA=1/[k0+kT(TS−TA)], where RSA represents the thermal resistance from the stator to the ambient environment, where RSC represents the thermal resistance from the stator to the motor case, where RCA represents the thermal resistance from case to ambient, and where k0, kT, TS, and TA are as above. Such determination can include consideration of, for example, a thermal resistance from winding to stator RWS and a thermal resistance from rotor to stator RRS. For some motor types, such as a permanent magnet synchronous motor (PMSM), a simplified model may be used where a parameter such as RRS need not be explicitly included in the determination.
FIG. 1 is a block diagram illustrating an electric motor system comprising a motor control circuit utilizing a thermal model in accordance with at least one embodiment. The electric motor system 100 comprises motor control circuit 101, motor 102, and power source 119. Motor control circuit 101 comprises processor 103, driver circuit 105, and measurement circuits 106. Processor 103 comprises thermal model 104. Measurement circuits 106 comprise current measurement circuit 107 and direct current (DC) bus voltage measurement circuit 108. Motor 102 comprises rotor 109, stator 110, and shaft 111. Shaft 111 is mechanically coupled to rotor 109. Windings are disposed within motor 102. For example, stator windings may be provided to create a magnetic field in stator 110. As another example, rotor windings may be provided to create a magnetic field in rotor 109.
Motor control circuit 101 is connected to motor 102 via conductors 112, 113, and 114. Conductors 112, 113, and 114 are connected to outputs of driver circuit 105 and to inputs of measurement circuits 106. Measurement circuits 106 are connected to processor 103 via connection 116 to provide measurements from measurement circuits 106 to processor 103. Processor 103 is connected to driver circuit 105 via connection 115 to allow processor 103 to control driver circuit 105. Power source 119 is connected to driver circuit 105 via line conductor 117 and neutral conductor 118 to provide power for driver circuit 105 to apply to motor 102.
Measurement circuits 106 can obtain measurements of parameters of motor 102. Current measurement circuit 107 can obtain a current measurement of current provided to motor 102. DC bus voltage measurement circuit 108 can obtain a voltage measurement of voltage provided to motor 102. Each of current measurement circuit 107 and DC bus voltage measurement circuit 108 can obtain a plurality of measurements, for example, with respect to the plurality of conductors 112, 113, and 114. Thus, for example, single phase and multiple phase (e.g., three-phase) motors can be controlled. Measurements can be, for example, complex measurements, which can include a direct component and a quadrature component sampled 90 degrees of phase away from the direct component. Magnetic components of motor 102, such as rotor 109 and stator 110, can include permanent magnetic components and electromagnetic components or entirely electromagnetic components.
Electric motor system 100 can be implemented to control operation of various motor types, such as DC permanent magnet synchronous motors (PMSM), brushless DC (BLDC) motors, switched reluctance (SR) motors, AC induction motors (ACIM), and other motor types. Different control instructions can be executed by processor 103 to accommodate different motor types, for example, using field oriented control (FOC), voltage-over-frequency (V/Hz), and slip control. Different components can be used in driver circuit 105 to drive different motor types. For example, components compatible with voltages of different polarities can be used to implement driver circuit 105 for AC motors. Different components can be used in measurement circuits 106 to measure currents and voltages of different motor types. In the case of an alternating current (AC) motor, measurement circuits 106 can be capable of measuring AC signals. As an example, an AC bus voltage measurement circuit may be used in place of DC bus voltage measurement circuit 108. In accordance with at least one embodiment, DC bus voltage measurement circuit 108 may be implemented generally as a voltage measurement circuit not specifically limited to DC or AC voltage measurement.
FIG. 2 is a block diagram illustrating a control system for an electric motor for providing thermal management of an electric motor according to designated parameters in accordance with at least one embodiment. Control system 200 comprises motor control block 301, power losses calculation block 372, thermal model block 373, maximum winding temperature register 374, winding temperature limitation register 334, maximum stator temperature register 375, stator temperature limitation register 335, maximum rotor temperature register 376, rotor temperature limitation register 336, and fault handler block 380. Motor control block 301 receives a requested angular velocity signal ω(EST), a maximum angular velocity signal ωMAX, a maximum current signal IMAX, and a fault state request signal from outputs 396 of fault handler block 380. Based on the input signals, motor control block 301 provides a stator current signal Is to power losses calculation block 372 at output 381. Motor control block 301 provides an angular velocity signal ω to power losses calculation block 372 at output 382. Motor control block 301 provides a stator voltage signal Us to power losses calculation block 372 at output 383. Based on inputs from motor control block 301, power losses calculation block 372 provides a winding power losses signal Pw to thermal model block 373 and to fault handler block 380 at output 384, a stator power losses signal Ps to thermal model block 373 and to fault handler block 380 at output 385, and a rotor power losses signal Pr to thermal model block 373 and to fault handler block 380 at output 386.
Thermal model block 373 provides a calculated winding temperature Tw to fault handler block 380 at output 387, a calculated stator temperature Ts to fault handler block 380 and back to thermal model block 373 at output 388, and a calculated rotor temperature Tr to fault handler block 380 at output 389. It will be appreciated that the calculated temperatures are estimates based upon corresponding models. Maximum winding temperature register 374 provides a maximum winding temperature Twmax to fault handler 380 at output 390. Maximum stator temperature register 375 provides a maximum stator temperature Tsmax to fault handler block 380 at output 391. Maximum rotor temperature register 376 provides a maximum rotor temperature Trmax to fault handler block 380 at output 392. Winding temperature limitation register 334 provides a winding temperature limitation Twlim to fault handler 380 at output 353. Stator temperature limitation register 335 provides a stator temperature limitation TSlim to fault handler 380 at output 354. Rotor temperature limitation register 336 provides a rotor temperature limitation Trlim to fault handler 380 at output 355. These various values can be empirically determined and stored at their respective registers.
By being provided with maximum temperatures and estimated temperatures of components of an electric motor, fault handler 380 is able to compare the estimated temperatures to the maximum temperatures and initiate action to prevent the maximum temperatures from being exceeded. By being provided with temperature limitations and estimated temperatures of components of an electric motor, fault handler 380 is able to evaluate the estimated temperatures with respect to the temperature limitations and modify the operation of the electric motor. Such modification can occur well before the electric motor components approach the maximum temperatures. Such modification need not be limited to controlling the temperatures of electric motor components, but can also include improving efficiency, managing torque, managing power, managing speed, and for other functions. Knowledge of trends of estimated temperatures of electric motor components can be used to take preemptive action. Such preemptive action was not possible with previous simple temperature switch technologies, as a simple temperature switch does not provide an advance indication that it is about to switch. By providing a comprehensive thermal model of all relevant motor components, thermal model 373 can provide fault handler 380 with real-time information useful for managing electric motor performance consistent with any desired thermal performance profile or other thermal criteria.
FIG. 3 is a schematic diagram illustrating a thermodynamic model of electric motor elements (including a winding, a rotor, and a stator) and an ambient environment in accordance with at least one embodiment. While FIG. 3 illustrates a general form of a thermodynamic model, FIG. 6 will be described later below to illustrate a simplified form of a thermodynamic model applicable to at least one motor type. The thermodynamic model of FIG. 3 can be usefully applied to a wide variety of motor types, including AC induction motors, DC brushless motors, switched reluctance motors, permanent magnet synchronous motors, and the like. Thermodynamic model 300 comprises thermal current source 401, thermal current source 402, thermal current source 403, thermal capacitance 404, thermal capacitance 405, thermal capacitance 406, thermal resistance 407, thermal resistance 408, thermal resistance 409, thermal potential 410, thermal potential 411, thermal potential 412, thermal potential 413, thermal resistance 414, thermal potential 415, thermal voltage source 416, and thermal ground potential 417. The elements of thermodynamic model 300, while shown as electrical symbols, represent analogous thermodynamic elements of thermodynamic model 300. Thermal current source 401 represents power losses in the motor winding, represented as PW. Thermal current source 402 represents power losses in the rotor, represented as PE. Thermal current source 403 represents power losses in the stator, represented as PS. Thermal capacitance 404 represents the motor winding thermal capacity, represented as CW. Thermal capacitance 405 represents the rotor winding thermal capacity, represented as CR. Thermal capacitance 406 represents the stator thermal capacity, represented as CS. Thermal resistance 407 represents the thermal resistance from the winding to the stator, represented as RWS. Thermal resistance 408 represents the thermal resistance from the rotor to the stator, represented as RRS. Thermal resistance 409 represents the thermal resistance from the stator to the motor case, represented by RSC. Thermal potential 410 represents the motor winding temperature, represented as Tw. Thermal potential 411 represents the rotor temperature (e.g., the temperature of the rotor of the ferromagnetic circuit), represented as TR. Thermal potential 412 represents the stator temperature (e.g., the temperature of the stator of the ferromagnetic circuit), represented as TS. Thermal potential 413 represents the motor case temperature, represented as TC. Thermal resistance 414 represents the thermal resistance from the motor case to the ambient environment, represented as RCA. Thermal potential 415 represents the ambient temperature, represented as TA. Thermal voltage source 416 represents the thermal reservoir of the ambient environment that provides the ambient temperature. Thermal ground potential 417 represents a thermodynamic reference potential to which the thermodynamic elements are referenced.
A first terminal of thermal current source 401 is connected to thermal potential 410. A second terminal of thermal current source 401 is connected to thermal ground potential 417. A first terminal of thermal capacitance 404 is connected to thermal potential 410. A second terminal of thermal capacitance 404 is connected to thermal ground potential 417. A first terminal of resistor 407 is connected to thermal potential 410. A second terminal of thermal resistance 407 is connected to thermal potential 412.
A first terminal of thermal current source 402 is connected to thermal potential 411. A second terminal of thermal current source 402 is connected to thermal ground potential 417. A first terminal of thermal capacitance 405 is connected to thermal potential 411. A second terminal of thermal capacitance 405 is connected to thermal ground potential 417. A first terminal of thermal resistance 408 is connected to thermal potential 411. A second terminal of thermal resistance 408 is connected to thermal potential 412.
A first terminal of thermal current source 403 is connected to thermal potential 412. A second terminal of thermal current source 403 is connected to thermal ground potential 417. A first terminal of thermal capacitance 406 is connected to thermal potential 412. A second terminal of thermal capacitance 406 is connected to thermal ground potential 417. A first terminal of thermal resistance 409 is connected to thermal potential 412. A second terminal of thermal resistance 409 is connected to thermal potential 413. A first terminal of thermal resistance 414 is connected to thermal potential 413. A second terminal of thermal resistance 414 is connected to thermal potential 415. A first terminal of thermal voltage source 416 is connected to thermal potential 415. A second terminal of thermal voltage source 416 is connected to thermal ground potential 417.
In operation, temperatures, such as the winding temperature TW, the rotor temperature TR, the stator temperature TS, and the motor case temperature TC can be calculated based on other parameters included within the model, such as the power values, the thermal capacitance values, the thermal resistance values, and the ambient temperature TA shown in FIG. 3. As such, power inputs to the system, which can come from electric power applied to the motor, are modeled as thermal current sources. Heat storage capacities of motor components are modeled as thermal capacitances. Heat transfers through finite thermal conductivities are modeled by thermal resistances.
The difference between the electrical power applied to the motor and the mechanical power provided by the motor can be measured based on the electrical parameters of the motor, and such measurements may be supplemented by other measurements, such as from rotary shaft position and rotation encoders or resolvers. That difference between input power and output power of the motor represents power dissipated in the motor as heat. As thermal energy of the thermal capacitances of the motor components increases, the temperature of the motor components increases. As local temperatures increase, the thermal potentials between the warmer motor components and other nearby cooler motor components increases, the heat flows from the warmer motor components to the cooler motor components, spreading the heat to the to cooler motor components and increasing their temperatures. As illustrated in FIG. 3, power is applied to motor components on the left, heat flows from left to right through internal motor components to the motor case, then heat flows from the motor case into the ambient environment. By using temperature measuring instrumentation to measure the temperatures of motor components during operation in a laboratory, parameter values characteristic of an electric motor can be empirically determined. The empirically determined values can be adjusted to compensate for any measurement shortcomings by selecting values that best dynamically track measurements during motor operation over time. As such electric motors are mass-produced, characteristics of individual specimens of a electric motor tend to conform to the characteristics of the tested specimen, allowing static parameter values of the thermal model to be programmed at a factory where a product incorporating the electric motor system is manufactured. Specific equations related to modeling the temperature information, such temperature TC, will be discussed in greater detail below.
FIG. 4 is a block diagram illustrating an electric motor system comprising control system elements for providing thermal management of an electric motor in accordance with at least one embodiment. Electric motor system 400 comprises motor control circuit 101 and motor 102 of FIG. 1. Motor control circuit 101 comprises ramp block 231, speed control block 232, quadrature-current (Q-current) control torque block 233, field control block 234, direct-current (D-current) control flux block 235, inverse Park transformation block 236, direct-current (DC) bus ripple elimination block 237, space vector modulation block 238, alternating-current-to-direct-current (AC-to-DC) power conversion block 239, inverter block 240, Clarke transformation block 241, Park transformation block 242, position and speed observer block 271, and position and speed decoder block 274.
During operation, ramp block 231 receives a requested angular velocity signal ωREQ at input 247 and provides output 248 to adjustment block 270. Adjustment block 270 receives an estimated angular velocity signal ω(EST) at output 249 of tracking observer block 244. Adjustment block 270 subtracts ωREQ from ωREQ to provide an angular velocity control signal to speed control block 232 at output 250. Speed control block 232 may be implemented, for example, using a proportional integral (PI) controller. Speed control block 232 provides an output signal to adjustment block 245 at output 251. Adjustment block 245 receives a signal from Park transformation block 242 at output 252. Adjustment block 245 subtracts the signal at output 252 from the signal at output 251 to provide a signal at output 253 to Q-current control torque block 233. Q-current control torque block 233 may be implemented, for example, using a PI controller. Q-current control torque block 233 provides a signal uq at output 254 to inverse Park transformation block 236.
Field control block 234 provides a field control signal to adjustment block 246 at output 255. Adjustment block 246 receives a signal from Park transformation block 242 at output 256. Output 256 corresponds to the Isd component of Is output 381 of FIG. 5, and output 252 corresponds to the Isq component of Is output 381 of FIG. 5. Adjustment block 246 subtracts the signal at output 256 from the field control signal at output 255 and provides a signal to D-current control flux block 235 at output 257. D-current control flux block 235 may be implemented, for example, using PI controller. D-current control flux block 235 provides a signal ud at output 258 to inverse Park transformation block 236. Output 258 corresponds to the Usd component of Us output 383 of FIG. 5, and output 254 corresponds to the Usq component of Us output 383 of FIG. 5. Inverse Park transformation block 236 provides a signal uα to DC bus ripple elimination block 237 and to position and speed observer block 271 at output 259 and a signal uβ to DC bus ripple elimination block 237 and to position and speed observer block 271 at output 260. DC bus ripple elimination block 237 receives a signal Udcbus from output 265 of AC-to-DC power conversion block 239. DC bus ripple elimination block 237 provides compensation for ripple on the signal Udcbus and provides signals at outputs 261 and 262 to space vector modulation block 238. Space vector modulation block 238 provides pulse width modulation (PWM) motor drive signals PWMa,b,c to inverter block 240 at outputs 263. A line conductor 117 provides a line voltage to AC-to-DC power conversion block 239. A neutral conductor 118 provides a neutral voltage to AC-to-DC power conversion block 239. AC-to-DC power conversion block 239 provides DC voltages to inverter block 240 at outputs 264 and 265. Inverter block 240 provides motor drive signals at conductors 112, 113, and 114 to electric motor 102 according to PWM motor drive signals PWMa,b,c.
Conductors 112, 113, and 114 from electric motor 102 provide signals to inputs of Clarke transformation block 241. Clarke transformation block 241 provides signals iα and iβ to Park transformation block 242 and to position and speed observer block 271 at outputs 266 and 267. Park transformation block 242 receives estimated phase angle signal θ(EST) at output 269 from tracking observer block 244. Park transformation block 242 provides a d signal at output 256 to adjustment block 246 and a q signal at output 252 to adjustment block 245. Position and speed observer block 271 provides estimated angular velocity signal ω(EST) to adjustment block 270 and to position and speed observer block 271 at output 249. Position and speed observer block 271 provides estimated phase angle signal θ(EST) at output 269 to inverse Park transformation block 236 and to Park transformation block 242.
In accordance with at least one embodiment, motor 102 may be fitted with an shaft position sensor 272, such as an encoder or resolver. For example, an encoder may use an unambiguous code, such as a Gray code, to optically encode shaft position. Changes of code values can also be used to obtain an indication of shaft motion, such as rotational velocity. As another example of a shaft position sensor, a resolver may use electromagnetic sensing elements, which may be arranged orthogonally with respect to each other, to obtain an indication of shaft position. Changes in shaft position may be used to obtain an indication of shaft motion, such as rotational velocity. Shaft position sensor 272 is connected to position and speed decoder block 274. Position and speed decoder block 274 can provide output signals 275 and 276, which may be used in place of or to adjust the estimated phase angle signal θ(EST) at output 269 and the estimated angular velocity signal ω(EST) at output 249. Embodiments of the electric motor system of FIG. 3 may be adapted to control motors of various motor types, such as brushless DC (BLDC) motors, switched reluctance (SR), AC induction motors (ACIM), DC permanent magnet synchronous motors (PMSM), etc.
FIG. 5 is a block diagram illustrating a control system for an electric motor for providing thermal management of an electric motor according to designated parameters in accordance with at least one embodiment. The control system of FIG. 5 varies from the control system of FIG. 2 in that the control system of FIG. 5 is simpler, utilizing a motor mass maximum temperature and a motor mass limitation temperature instead of separate stator and rotor maximum and limitation temperatures. The control system of FIG. 5 also utilizes comparators to indicate conditions based on the comparisons rather than allowing more sophisticated evaluation in fault handler 380.
Control system 500 comprises field oriented control (FOC) block 371, power losses calculation block 372, thermal model block 373, maximum winding temperature register 374, maximum motor mass temperature register 305, winding temperature limitation register 334, motor mass temperature limitation register 335, winding maximum temperature comparator 377, motor mass maximum temperature comparator 308, winding limitation temperature comparator 337, motor mass limitation temperature comparator 338, and fault handler block 380. FOC may be referred to as a vector control.
During operation, FOC block 371 receives a requested angular velocity signal ω(EST), a maximum angular velocity signal ωmax, a maximum current signal Imax, and a fault state request signal from outputs 396 of fault handler block 380. FOC block 371 provides an actual angular velocity signal ωactual to fault handler block 380 via output 361. FOC block 371 provides a stator current signal Is, comprising a direct stator current component Isd and a quadrature stator current component Isq, to power losses calculation block 372. FOC block 371 provides an angular velocity signal ω to power losses calculation block 372 at output 382. FOC block 371 provides a stator voltage signal Us, comprising direct stator voltage component Usd and quadrature stator voltage component Usq, to power losses calculation block 372 at output 383. Power losses calculation block 372 provides a winding power losses signal Pw to thermal model block 373 and to fault handler block 380 at output 384 and a motor ferromagnetic circuit power losses signal PFe to thermal model block 373 and to fault handler block 380 at output 315.
Thermal model block 373 provides a calculated winding temperature Tw to winding maximum temperature comparator 377 and to winding limitation temperature comparator 337 at output 387 and a motor mass temperature TM to motor mass maximum temperature comparator 308, to motor mass limitation temperature comparator 338, and back to thermal model block 373 at output 318. Maximum winding temperature register 374 provides a maximum winding temperature Twmax to winding maximum temperature comparator 377 at output 390. Maximum motor mass temperature register 305 provides a maximum motor mass temperature TMmax to motor mass maximum temperature comparator 308 at output 321. Winding limitation temperature register 334 provides a winding limitation temperature Twlim to winding limitation temperature comparator 337 at output 353. Motor mass limitation temperature register 335 provides a motor mass limitation temperature TMlim to motor mass limitation comparator 338 at output 354.
Winding maximum temperature comparator 377 provides a winding temperature fault indication signal Tw_fault to fault handler block 380 at output 393. Motor mass maximum temperature comparator 308 provides a motor mass temperature fault indication signal TM_fault to fault handler block 380 at output 324. Winding limitation temperature comparator 337 provides a winding temperature limitation indication signal Tw_limitation to fault handler block 380 at output 363. Motor mass limitation temperature comparator 338 provides a motor mass temperature limitation indication signal TM_limitation to fault handler block 380 at output 364.
By comparing the estimated winding temperature and the estimated motor mass temperature to respective maximum and limitation values, comparators 377, 308, 337, and 338 provide signals to allow fault handler 380 to take action both to avoid maximum winding and motor mass temperatures and to prevent motor damage and other hazards if maximum winding or motor mass temperature is reached. In addition to the maximum values, a plurality of limitation values can be provided for comparison by using additional registers and comparators.
FIG. 6 is a schematic diagram illustrating a thermodynamic model of electric motor elements (including a winding and a motor mass) and an ambient environment in accordance with at least one embodiment. The thermodynamic model of FIG. 6 differs from the thermodynamic model of FIG. 3 in that the thermodynamic model of FIG. 6 is a simplified model characterizing an electric motor thermally with respect to a motor winding, a motor mass, a motor case, and an ambient environment. Thermodynamic model 600 comprises thermal current source 401, thermal current source 423, thermal capacitance 404, thermal capacitance 426, thermal resistance 427, thermal resistance 429, thermal potential 410, thermal potential 432, thermal potential 413, thermal resistance 414, thermal potential 415, thermal voltage source 416, and thermal ground potential 417.
As described above, the elements of thermodynamic model 600, while shown as electrical symbols, represent analogous thermodynamic elements of thermodynamic model 600. Thermal current source 401 represents power losses in the motor winding, represented as PW. Thermal current source 423 represents power losses in the motor mass, represented as PM. Thermal capacitance 404 represents the motor winding thermal capacity, represented as CW. Thermal capacitance 426 represents the motor mass thermal capacity, represented as CM. Thermal resistance 427 represents the thermal resistance from the winding to the motor mass, represented as RWM. Thermal resistance 429 represents the thermal resistance from the motor mass to the motor case, represented by RMC. Thermal potential 410 represents the motor winding temperature, represented as Tw. Thermal potential 432 represents the motor mass temperature, represented as TM. Thermal potential 413 represents the motor case temperature, represented as TC. Thermal resistance 414 represents the thermal resistance from the motor case to the ambient environment, represented as RCA. Thermal potential 415 represents the ambient temperature, represented as TA. Thermal voltage source 416 represents the thermal reservoir of the ambient environment that provides the ambient temperature. Thermal ground potential 417 represents a thermodynamic reference potential to which the thermodynamic elements are referenced.
A first terminal of thermal current source 401 is connected to thermal potential 410. A second terminal of thermal current source 401 is connected to thermal ground potential 417. A first terminal of thermal capacitance 404 is connected to thermal potential 410. A second terminal of thermal capacitance 404 is connected to thermal ground potential 417. A first terminal of thermal resistance 427 is connected to thermal potential 410. A second terminal of thermal resistance 427 is connected to thermal potential 432. A first terminal of thermal current source 403 is connected to thermal potential 412. A second terminal of thermal current source 423 is connected to thermal ground potential 417. A first terminal of thermal capacitance 426 is connected to thermal potential 432. A second terminal of thermal capacitance 426 is connected to thermal ground potential 417. A first terminal of thermal resistance 429 is connected to thermal potential 432. A second terminal of thermal resistance 429 is connected to thermal potential 413. A first terminal of thermal resistance 414 is connected to thermal potential 413. A second terminal of thermal resistance 414 is connected to thermal potential 415. A first terminal of thermal voltage source 416 is connected to thermal potential 415. A second terminal of thermal voltage source 416 is connected to thermal ground potential 417. In operation, an electric motor can be characterized according to a thermal model, such as that of FIG. 3 or FIG. 6, and such characterization can be used to operate the motor, as described in greater detail below with respect to FIG. 7.
FIG. 7 is a flow diagram illustrating a method for thermal management of a motor in accordance with at least one embodiment. Method 700 begins at block 501 and continues to block 502. At block 502, the thermal model parameters are initialized, such as by storing empirically determined values at storage locations. From block 502, method 700 continues to block 503.
At block 503, calculations are performed according to a thermal model of the electric motor. As examples, the calculation of the thermal model of the electric motor can include calculating input power, calculating output power, calculating winding power loss, calculating ferromagnetic circuit power loss, calculating motor winding temperature, calculating motor mass temperature, and performing the calculations according to differential equations. Such calculations can be used, for example, to determine temperatures of motor components, such as a winding, a stator, a rotor, a motor mass, and a motor case. By determining such temperatures, important motor conditions, such as overloading and overheating can be identified. From block 503, method 700 can continue to block 504. The calculations of block 503 correspond to mathematical operations performed in blocks shown in other FIGS., such as FIGS. 2, 4, and 5. For example, as shown in blocks 372 and 373 of FIGS. 2 and 5, power loss calculation can be performed in block 372 and temperature calculation can be performed in block 373.
At block 504, the electric motor is operated according to the information derived from the thermal model of the electric motor. As examples, the operation of the electric motor can include, in response to calculated temperatures, discontinuing application of power, reducing application of power, operating the electric motor in absence of an electromechanical thermal switch, and verifying operation of an electromechanical thermal switch. From block 504, method 700 returns to block 503 to iteratively continue method 700. As method 700 continues, motor current, motor angular velocity, and motor voltage can continue to be measured and applied to the thermal model. The difference between electrical power applied to the motor and mechanical power provided by the motor can be used to determine power dissipated by the motor, which heats the motor. Heat flow from the motor windings, through other motor components, to the ambient environment can be modeled on an ongoing basis to provide a mathematically derived dynamic internal temperature measurement of the motor in response to actual motor operation.
As an example, in a super-safe application, redundant overtemperature protection can be provided. For example, if an indication based on a thermal model of motor operation indicates that an electromechanical thermal switch should have changed state but no switching of the switch is detected, an indication that the electromechanical thermal switch has failed may be generated, and the motor control system may be placed in a mode to adjust operation based on the switch failure. As another example, if a state change of the electromechanical thermal switch is detected, but no indication of a corresponding estimated temperature is provided according to the thermal model, an indication that a failure, which may be a failure of the electromechanical thermal switch or a failure of an input upon which the thermal model depends, may be generated, and the motor control system may be placed in a mode to adjust operation based on the failure. As examples, the motor may be stopped or a more conservative model tolerant of the indicated failure may be applied.
In accordance with at least one embodiment, a motor control circuit comprising measurement circuits, a processor, and a motor driver circuit provides motor thermal management based on electrical signals present at the motor control circuit. The processor can execute instructions to provide thermal mathematical model calculation. Such a technique can avoid issues with hardware protection in the motor, such as the need for an electromechanical thermal switch in the motor, which is being used now. Such a technique can solve problems associated with monitoring motor temperature and protecting motor against overload condition and overheating. As examples, sole reliance on an electromechanical thermal switch in the motor is expensive, of limited reliability, and without a technique for verifying proper operation of the switch on an ongoing basis.
In accordance with at least one embodiment, a solution for monitoring motor temperature and protecting motor against overload condition and overheating is provided. A thermal mathematical model for an electric motor is calculated in runtime. The temperature is estimated based on measurement of different physical quantities than temperature. As an example, motor currents are measured, and motor voltages are measured or calculated. Monitoring the motor temperature and detecting the overload condition can satisfy safety requirements for products with motor drives that are to be certified according to the international standards, for example, International Electrotechnical Commission (IEC) standards, such as IEC 60730, IEC 60335, and others.
In accordance with at least one embodiment, motor overtemperature detection can be provided. However, unlike an electromechanical thermal switch, at least one embodiment is not limited to a simple binary (e.g., not over temperature limit vs. over temperature limit) determination of temperature but can provide estimates of temperature that can be updated over time and that can span a range from the ambient temperature upward to an elevated temperature. In accordance with at least one embodiment, the elevated temperature can be an upper temperature limit, for example, a temperature in response to which the application of power to the motor is discontinued to prevent any further temperature rise. In accordance with at least one embodiment, the elevated temperature may be below an upper temperature limit, for example, a temperature in response to which a modification of at least one motor parameter can be made, allowing continued operation of the motor according to the at least one modified motor parameter. As an example, the application of power can be continued, but reduced, allowing continued operation of the motor at reduced power.
According to at least one embodiment, significant cost reduction can be achieved through elimination of an electromechanical thermal switch and system reliability can be increased by not relying on a moving part, like an electromechanical thermal switch, which can fail. Motor thermal management based on calculation of a thermal mathematical model of the system can be based on measurements of analog signals from the system with periodic checking whether the measurements are correct or not. Motor thermal management according to a thermal model can be used to predict thermal behavior of the motor and to respond to the thermal behavior accordingly, for example, either by reacting to a motor overload condition when it occurs or by making preemptive modifications to motor parameter values in anticipation of a future motor condition, such as a future motor overload condition, prior to the occurrence of the future motor condition, based on a trend determined according to the thermal model and the observed motor parameter measurements.
Today, application safety is important for many new motor control systems, for example, for appliances (such as major appliances, also referred to as white goods or whiteware), for industrial applications, and for automotive applications. Examples of standards to which conformance may be sought include IEC 60730 for automatic electrical controls and IEC 60335 for household electrical appliances. As examples, products utilizing a motor control circuit may be certified by certification authorities (e.g., VDE and IMQ in Europe and UL in the USA) to be compliant with standards. Motor overload protection is one of the key requirements of the IEC 60335. It can be important for appliances to include features providing overload protection to be compliant with applicable standards.
An embodiment incorporating a thermal model of an electric motor, such as a permanent magnet synchronous motor (PMSM) or an alternating current (AC) induction motor (ACIM), can offer efficiencies over existing technology and can facilitate comprehensive control of the product as a whole, for example, using and being integrated into a processor-based electronic control system for the product as a whole. Through such integration, information based on the thermal model of the electric motor can be used for other control purposes and, for example, can be communicated by any communication interface provided for the electronic control system. Such information can be used, for example, for user guidance, for manufacturer quality control, for field service, for preventative maintenance, and for other purposes. In accordance with at least one embodiment, control according to the thermal model may be implemented in a motor control circuit comprising a microprocessor executing instructions to perform calculations, with the calculations based on motor parameter measurements and the microprocessor controlling a motor driver circuit to drive the motor according to determinations based on the calculations. In accordance with at least one embodiment, an overheating fault condition can be flexibly defined by software. As examples, the determination of the overheating fault condition can be changed according to changes in system components, changes in standards, environmental changes, aging of system components, and other changes.
In accordance with at least one embodiment, a motor temperature can be estimated from electrical signals (for example, input voltages and currents) based on a thermal mathematical model of an electrical motor that utilizes a linear approximation of nonlinearity of temperature change resulting from heat transfer from a stator to the ambient environment including heat transfer from a motor case to the ambient environment. Motor temperature calculations can include, for example, calculations of the following equations pertaining to a motor winding temperature and a motor mass temperature:
Motor Winding Temperature
TW(k)≅TM(k)+RWM·1/(τ2·s+1)·PW(s), where k is a thermal coefficient and s is the complex number frequency for the Laplace transform
Motor Mass Temperature
TM(s)≅RMA/(τ1·s+1)·(PFe(s)+1/(τ2·s+1)·PW(s))+TA 
τ2—time constant for model which corresponds to RWM CW and can be found by measurement
τ1—time constant for model which corresponds to RMA CM 
τ1—time constant for model is RMA dependent, it can be approximated with:
τ1=c·RMA=c/[k0+kT·(TM(k)−TA)]
[(RMA=RMC+RCA=1/[k0+kT(TM−TA)], where RCA represents the nonlinear convective, conductive and radiation heat transfers from the motor case.
The c, k0, and kT can be found by measurement.
To arrive at the values to be calculated according to the above equations to determine temperatures of the motor components, measurements of operational parameters of the motor components, such as the voltage applied, back electromotive force (back EMF), current, angular position, and angular velocity, can be measured. The measurements can be used to obtain mathematical quantities. The mathematical quantities can be utilized in calculating the thermal model of the electric motor and can include, as examples, the following:
DEFINITIONS
TW—temperature of the motor winding, as calculated
TM—temperature of the motor mass (the ferromagnetic circuit—stator, rotor), as calculated
TA—ambient temperature (usually 25° C.) used for the thermal calculations, as provided (e.g., as assumed or as measured)
TC—motor case temperature, as calculated
PW—power losses in motor winding, as calculated
PFe—power losses in the motor ferromagnetic circuit, as calculated
CM—motor mass thermal capacity, as provided (e.g., empirically determined)
CW—motor winding thermal capacity, as provided (e.g., empirically determined)
RWM—thermal resistance—motor winding to motor mass, as provided (e.g., empirically determined)
RMC—thermal resistance—ferromagnetic circuit to motor case, as provided (e.g., empirically determined)
RCA—thermal resistance—motor case to ambient, as provided (e.g., empirically determined)
RMA=RMC+RCA—thermal resistance—stator to ambient
k0, kT—conductivity model coefficients, which are used to provide a linear approximation to account for the convective, conductive and radiation heat transfers from the motor case to ambient temperature. Such coefficients can be empirically determined, for example, from a test specimen of an electric motor in a laboratory.
ΔT=TM<TA—temperature difference between the motor mass temperature and the ambient temperature
As the parameter values listed above are obtained, which may be from measurement of dynamic values or from retrieval of stored static values, the parameter values are applied to the calculations of the thermal model to yield calculated parameter values, such as calculated temperatures of motor components, as described mathematically below:
Calculations:
Calculation of the thermal model can include, for example, calculation of the following equations:
RW=Vstop/Istop, wherein Vstop is the motor voltage at a stop condition and Istop is the motor current at the stop condition
ΔT=(RW−RWTA)·krw^−1
krw^−1 inverse winding resistance thermal coefficient
ΔT=T−TA[K] temperature drop (difference)
TW=(RW−RWTA)·krw^−1+TA 
TM≅TW 
As discussed above, the temperature of motor components depends on the amount of input power received. Thermal model input power calculation can include, for example, calculation of the following equations, which are based on a phase invariant transformation of the 3-phase system into d, q plane:
PW=3/2·Rw·I^2
I^2=Id^2+Iq^2=Iα^2+Iβ^2
RW=RWTA+krw·(TW−TA), wherein RWTA is the winding resistance at 25 degree and krw thermal coefficient, which can be found by measurement
PFe(I,ω)=3/2 RFe·I^2
For operations with a negative d current component, the RFe is a stronger function of frequency than of the current amplitude, so RFe can be determined as follows:
RFe=k1·|ω|+k2·ω^2
k1, k2 found by measurement
Motor power calculations can include, for example, calculations of the following equations, which are based on a phase invariant transformation of the 3-phase system to d, q plane:




  
    P
    in
  
  =
  
    
      3
      2
    
    ·
    
      [
      
        
          
            
              V
              d
            
          
          
            
              V
              q
            
          
        
      
      ]
    
    ·
    
      [
      
        
          
            
              I
              d
            
          
        
        
          
            
              I
              q
            
          
        
      
      ]
    
  




Pin=PMech+Pw+PFe




  
    P
    Mech
  
  =
  
    
      3
      2
    
    ·
    
      [
      
        
          V
          BEMF
        
        +
        
          
            (
            
              
                L
                d
              
              -
              
                L
                q
              
            
            )
          
          ·
                    ·
          
            i
            d
          
        
      
      ]
    
    ·
    
      i
      q
    
  




iq—torque current component (orthogonal to rotor flux)
VBEMF—back EMF voltage
VBEMF=KM·ω
PLosses=PW+PFe=Pin−PMech 
PW=(RWTA+krw·ΔT)/((RWTA+krw·ΔT)+(k1·|ω|+k2·ω^2))·PLosses 
PFe=(k1·|ω|+k2·ω^2)/((RWTA+krw·ΔT)+(k1·|ω|+k2·ω^2))·PLosses 
In accordance with at least one embodiment, calculations are performed according to the motor frame and winding temperature at steady state with constant power losses not being linear with the power losses. For example, the RMA=1/[k0+kT(TM−TA)] coefficient can be used to linearly approximate the nonlinearity. In accordance with at least one embodiment, calculations are performed according to the magnetic circuit losses creating lower winding temperature variation, as consideration of magnetic circuit losses allows more accurate winding temperature estimation and motor control.
The motor winding temperature transient at power losses step shows the characteristics which can be approximated with TM≅RMA/(τ1·s+1)·(PFe+PWM*)+TA and TW≅TM+RWM·PWM* and PWM*=1/(τ2·s+1)·PW of small τ2 and higher τ1(20 min*60=1200 seconds). As an example, an initialization winding temperature estimation error can be maintained at less than 5° C. As an example, a maximum winding temperature dynamic estimation error with 1st order model can be maintained at less than 20° C.
In accordance with various embodiments, different calculation options may be implemented. As an example, a first initialization option initializes the motor temperature after motor control circuit reset based on a measured resistance of a motor winding. As the motor winding has a thermal coefficient of resistivity and a given length, and cross-sectional area, a temperature of the motor winding can be determined based on measuring its resistance. For example, the winding resistance can be modeled according the estimated winding temperature RW=RWTA+krw·ΔT. As another example, a second input power calculation option can be used to calculate the power losses from the motor input power minus calculated mechanical power from the speed and torque current component Iq (current component orthogonal to rotor flux). A model with a two-equation first-order system characterizing simplified winding and magnetic circuits can be used. The model inputs are power losses of the winding and magnetic circuit. Such model correlates with actual measurements.
While embodiments may be used for PMSMs and ACIMs, at least one embodiment may be practiced with a direct current (DC) motor. For example, even in a motor with no or minimal ferromagnetic losses, where the thermal resistance from the motor case to the ambient environment may be a dominant consideration, the motor temperatures can be estimated using a linear approximation of the nonlinearity of the heat transfer from the motor case to the ambient environment, which can include radiative, convective, and conductive heat transfers. Estimated temperature feedback can be used to modify the thermal resistance coefficients RMA=1/[k0+kT(TM−TA)] to account for nonlinearity over the temperature range caused by convective and radiation heat transfers from the motor case, which can be especially useful for applications without a cooling fan.
In accordance with at least one embodiment, motor overload estimation is provided according to a nonlinear thermal model. Optionally, a new power losses calculation is used in runtime and temperature estimation is performed after processor reset.
Examples of products in which a motor control circuit utilizing a thermal model may be used include washing machines, dryers, compressors (refrigerators, freezers, air conditioners, etc.), dishwashers, circulating pumps, and products with motor drives in general.
Calculations:
Input power calculation for the thermal model may be performed, for example, according to the following equations, which are based on a phase invariant transformation of the 3-phase system to d, q plane:



  
    
      
        P
        in
      
      =
      
        
          3
          2
        
        ·
        
          V
          →
        
      
    
    ⁣
    
      
        ·
        
          I
          →
        
      
      =
      
        
          3
          2
        
        ·
        V
        ·
        I
        ·
        
          cos
          ⁡
          
            (
            φ
            )
          
        
      
    
  




  
    
      P
      in
    
    =
    
      
        3
        2
      
      ·
      
        (
        
          
            
              
                V
                d
              
            
            
              
                V
                q
              
            
          
        
        )
      
      ·
      
        (
        
          
            
              
                I
                d
              
            
          
          
            
              
                I
                q
              
            
          
        
        )
      
    
  



Pin=PMech+Pw+PFe 
PMech=3/2·[UBEMF+(Ld−Lq)·ω·id]·iq 
PW=3/2·Rw·I^2
I^2=Id^2+Iq^2=Iα^2+Iβ^2
RW=RW0+krw·ΔT
PFe(I,ω)=3/2·RFe·I^2
For operations with a negative d current component, the RFe is not too much dependent on the current amplitude, but it is frequency dependent.
RFe=k1·|ω|+k2·ω^2
Motor power calculations for the thermal model may be performed, for example, according to the following equations:
Phase invariant transformation of the 3-phase system to d, q plane




  
    P
    in
  
  =
  
    
      3
      2
    
    ·
    
      (
      
        
          
            
              V
              d
            
          
          
            
              V
              q
            
          
        
      
      )
    
    ·
    
      (
      
        
          
            
              I
              d
            
          
        
        
          
            
              I
              q
            
          
        
      
      )
    
  




PMech=3/2·[VBEMF+(Ld−Lq)·ω·id]·iq 
iq—torque current component (orthogonal to rotor flux)
VBEMF back EMF voltage
VBEMF=KM·ω
PLosses=PW+PFe=Pin−PMech 
PW=3/2·Rw·I^2
RW=RW0+krw·ΔT
PFe(I,ω)=3/2·RFe·I^2
For operations with a negative d current component, the RFe is not dependent on the current amplitude, but it is frequency dependent, so RFe can be determined as follows:
RFe=k1·|ω|+k2·ω^2
PW=(RW0+krw·ΔT)/((RW0+krw·ΔT)+(k1·|ω|+k2·ω^2))·PLosses 
PFe=(k1·|ω|+k2·ω^2)/((RW0+krw·ΔT)+(k1·|ω|+k2·ω^2))·PLosses 
Voltage phase compensation for discrete input power calculation when full cycle pulse width modulation (PWM) update is used may be performed according to the following estimation:




  
    
      [
      
        
          
            
              V
              d
            
          
          
            
              V
              q
            
          
        
      
      ]
    
    ⁢
    
      (
      k
      )
    
  
  ≅
  
    
      
        [
        
          [
          
            
              
                
                  V
                  d
                
              
              
                
                  V
                  q
                
              
            
          
          ]
        
        ]
      
      ·
      
        (
        
          k
          +
          
            
              τ
              S
            
            2
          
        
        )
      
    
    ⁢
    
      {
      
        (
        
          
            [
            
              
                
                  1
                
                
                  0
                
              
              
                
                  0
                
                
                  1
                
              
            
            ]
          
          +
          
            
              [
              
                
                  
                    0
                  
                  
                    
                      -
                      1
                    
                  
                
                
                  
                    1
                  
                  
                    0
                  
                
              
              ]
            
            ·
            
              (
              
                Δθ
                ⁡
                
                  (
                  k
                  )
                
              
              )
            
          
        
        }
      
    
  




Δθ(k)=θ(k+τs/2)−θ(k)
Motor power calculations for the thermal model may be performed, for example, according to the following equations, which are based on a phase invariant transformation of the 3-phase system to d, q plane:




  
    
      P
      in
    
    ⁡
    
      (
      k
      )
    
  
  =
  
    
      
        3
        2
      
      ·
      
        [
        
          
            
              
                V
                d
              
            
            
              
                V
                q
              
            
          
        
        ]
      
    
    ⁢
    
      
        (
        k
        )
      
      ·
      
        [
        
          
            
              
                I
                d
              
            
          
          
            
              
                I
                q
              
            
          
        
        ]
      
    
    ⁢
    
      (
      k
      )
    
  




According to at least one embodiment, full cycle sampling is used with full cycle PWM update. According to at least one embodiment, full cycle sampling is used with half cycle PWM update. Parameters such as the average voltage through the PWM cycle, current vectors, phase angle φ, and power factor can be determined at any given motor speed.
Motor power calculations for the thermal model may be performed, for example, according to the following equations:




  
    
      P
      in
    
    ⁡
    
      (
      k
      )
    
  
  =
  
    
      
        3
        2
      
      ·
      
        [
        
          
            
              
                V
                d
              
            
            
              
                V
                q
              
            
          
        
        ]
      
    
    ⁢
    
      
        (
        k
        )
      
      ·
      
        [
        
          
            
              
                I
                d
              
            
          
          
            
              
                I
                q
              
            
          
        
        ]
      
    
    ⁢
    
      (
      k
      )
    
  




Discrete input power calculation can be performed, for example, with voltage phase compensation at full cycle pulse width modulation (PWM) update as follows:

{right arrow over (V)}((k)≅e−J(θ(k+τd)−θ(k))·{right arrow over (V)}(k|τd)





  
    
      
        I
        =
        
          [
          
            
              
                1
              
              
                0
              
            
            
              
                0
              
              
                1
              
            
          
          ]
        
      
    
    
      
        J
        =
        
          [
          
            
              
                0
              
              
                
                  -
                  1
                
              
            
            
              
                1
              
              
                0
              
            
          
          ]
        
      
    
  




Δθ(k)=θ(k+τd)−θ(k)

{right arrow over (V)}((k)≅[I−J·(θ(k+τd)−θ(k))]·{right arrow over (V)}(k+τd)





  
    
      [
      
        
          
            
              V
              d
            
          
        
        
          
            
              V
              q
            
          
        
      
      ]
    
    ⁢
    
      (
      k
      )
    
  
  ≅
  
    {
    
      
        
          (
          
            
              [
              
                
                  
                    1
                  
                  
                    0
                  
                
                
                  
                    0
                  
                  
                    1
                  
                
              
              ]
            
            +
            
              
                [
                
                  
                    
                      0
                    
                    
                      
                        -
                        1
                      
                    
                  
                  
                    
                      1
                    
                    
                      0
                    
                  
                
                ]
              
              ·
              
                (
                
                  -
                  
                    Δθ
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                )
              
            
          
          }
        
        ·
        
          [
          
            
              
                
                  V
                  d
                
              
            
            
              
                
                  V
                  q
                
              
            
          
          ]
        
      
      ⁢
      
        (
        
          k
          +
          
            τ
            d
          
        
        )
      
    
  




τd=τs/2




  
    
      [
      
        
          
            
              V
              d
            
          
          
            
              V
              q
            
          
        
      
      ]
    
    ⁢
    
      (
      k
      )
    
  
  ≅
  
    
      
        [
        
          [
          
            
              
                
                  V
                  d
                
              
              
                
                  V
                  q
                
              
            
          
          ]
        
        ]
      
      ·
      
        (
        
          k
          +
          
            
              τ
              S
            
            2
          
        
        )
      
    
    ⁢
    
      {
      
        (
        
          
            [
            
              
                
                  1
                
                
                  0
                
              
              
                
                  0
                
                
                  1
                
              
            
            ]
          
          +
          
            
              [
              
                
                  
                    0
                  
                  
                    
                      -
                      1
                    
                  
                
                
                  
                    1
                  
                  
                    0
                  
                
              
              ]
            
            ·
            
              (
              
                -
                
                  Δθ
                  ⁡
                  
                    (
                    k
                    )
                  
                
              
              )
            
          
        
      
      }
    
  




This can also be done using modified cosine and sine for a Clarke transformation as follows:




  
    [
    
      
        
          
            cos
            ⁡
            
              (
              
                θ
                ⁡
                
                  (
                  
                    k
                    +
                    
                      τ
                      d
                    
                  
                  )
                
              
              )
            
          
        
      
      
        
          
            sin
            ⁡
            
              (
              
                θ
                ⁡
                
                  (
                  
                    k
                    +
                    
                      τ
                      d
                    
                  
                  )
                
              
              )
            
          
        
      
    
    ]
  
  ≅
  
    {
    
      
        (
        
          
            [
            
              
                
                  1
                
                
                  0
                
              
              
                
                  0
                
                
                  1
                
              
            
            ]
          
          +
          
            
              [
              
                
                  
                    0
                  
                  
                    
                      -
                      1
                    
                  
                
                
                  
                    1
                  
                  
                    0
                  
                
              
              ]
            
            ·
            
              (
              
                Δθ
                ⁡
                
                  (
                  k
                  )
                
              
              )
            
          
        
        }
      
      ·
      
        [
        
          
            
              
                cos
                ⁡
                
                  (
                  
                    θ
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  )
                
              
            
          
          
            
              
                sin
                ⁡
                
                  (
                  
                    θ
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  )
                
              
            
          
        
        ]
      
    
  




As an example, a motor control circuit or method can use a thermal model in Laplace domain, as shown below:
Motor mass temperature can be calculated as follows:
TM(s)=(RWM·CW·s+1)/(RMA·CM·RWM·CW·s^2+[RMA·(CW+CM)+RWM·CW]s+1)·(RMA·PFe(s)+(RMA/(RWM·CW·s+1))·PW(s)+TA)
This 3rd order model can be simplified to a 2nd order system:
PWM*(s)=1/(τ2·s+1)·PW(s)
TM(s)≅RMA/(τ1·s+1)·(PFe(s)+PWM*(s))+TA 
τ2—model time constant which corresponds to RWM CW 
τ1—model time constant which corresponds to RMA CM 
τs—sampling time
Motor winding temperature can be calculated as follows:
TW≈TM+RWM·PWM*
Total losses can be calculated as follows:
P(k)=PFe(k)+PWM*(k)
A motor control circuit or method can be implemented using a discrete time thermal model, as shown below:
TM(k+1)=TM(k)−τs/τ1·[TM(k)−TA]+τs/τ1·RMA·P(k)
RCA represents the nonlinear convective, conductive and radiation heat transfers from the motor case, so the RMA=RMC+RCA=1/[k0+kT(TM−TA)].
τ1—model time constant is RMA dependent, it can be approximated with:
τ1=c·RMA=c/[k0+kT·(TM(k)−TA)]
TM(k+1)=TM(k)−τs/c·[k0+kT·(TM(k)−TA)]·(TM(k)−TA)+τs/c·P(k)
PWM*(k+1)=PWM*(k)+τs/τ2·(PWM(k)−PWM*(k))
TW(k)≅TM(k)+RWM·PWM*(k)
RCA represents the nonlinear convective, conductive and radiation heat transfers from the motor case, so the RMA=RMC+RCA=1/[k0+kT(TM−TA)].
For example the power dissipation of thermal radiation component:
Pr=σ·S·T^4
σ Stefan-Boltzmann constant
S—surface
T—absolute temperature
ΔT=(T−TA)
Pr=σ·S·(TA+·ΔT)^4
Pr=σ·S·(TA^4+4·TA^3·ΔT+6·TA^2ΔT^2+4·TA·ΔT^3+ΔT^4)
When motor case temperature is a follows:
T=165° C.=438K TA=25° C.=298K ΔT=T−TA=140K
Pr=c·(1+1.88+1.32+0.41+0.05)
So the 3rd and 4th order can be neglected.
Pr=σ·S·(TA^4+4·TA^3·ΔT+6·TA^2·ΔT^2)
The power dissipation of thermal radiation component can be simplified as:
Pr=σ·S·(TA^4+4·TA^3·ΔT+6·TA^2·ΔT^2)
The other power dissipation components—convective and conductive equations are even closer to 2nd order equation. Therefore the motor mass to ambient power dissipation can be described with a 2nd order equation:
RCA represents the nonlinear convective, conductive and radiation heat transfers from the motor case, so the RMA=RMC+RCA=1/[k0+kT(TM−TA)].
PMA=k0·ΔT+kT·ΔT^2
1/RMA=PMA/ΔT
1/RMA=k0+kT·(T−TA)
The above calculations include variables according to the following definitions:
DEFINITIONS
TW—temperature of the motor winding
TS—temperature of the stator (ferromagnetic circuit—stator)
TR—temperature of the rotor (ferromagnetic circuit—rotor)
TC—motor case temperature
TA—ambient temperature used for the (usually 25° C.) thermal calculations
PW—power losses in motor winding
PS—power losses in stator
PR—power losses in rotor
CW—motor winding thermal capacity
CS—stator thermal capacity
CR—rotor winding thermal capacity
RWS—thermal resistance winding to stator
RRS—thermal resistance rotor to stator
RCA—thermal resistance motor case to ambient
RSC—thermal resistance stator to motor case
Rsa=Rsc+RCA—thermal resistance stator to ambient
a20, a2t—conductivity model coefficients—linear approximation covers the convective, conductive and radiation heat transfers from the motor case to ambient temperature
ΔT=TFe−TA 
In accordance with at least one embodiment, a method is performed in an electric motor control circuit of an electric motor. The method comprises measuring a winding resistance of a motor winding, determining a winding temperature of a motor winding based upon the winding resistance, accessing thermal model parameters, wherein at least one of the thermal model parameters is a winding temperature obtained from measuring a winding resistance of a motor winding, calculating a simulated operation of the electric motor according to a thermal model of the electric motor based upon the thermal model parameters including the winding temperature and a stator-to-ambient thermal resistance value accounting for a sum of a stator-to-case thermal resistance and a case-to-ambient thermal resistance, and controlling an actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model, wherein the calculating the simulated operation is performed iteratively during the actual operation. In accordance with at least one embodiment, the method comprises initializing a thermal model parameter by storing a value in a storage location. In accordance with at least one embodiment, the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model comprises discontinuing application of power to the electric motor when the simulated operation indicates an overtemperature condition of the electric motor. In accordance with at least one embodiment, the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model comprises reducing power dissipation of the electric motor when the simulated operation indicates a trend toward an overtemperature condition of the electric motor. In accordance with at least one embodiment, the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model occurs in absence of an electromechanical thermal switch. In accordance with at least one embodiment, the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model comprises verifying operation of an electromechanical thermal switch. In accordance with at least one embodiment, the calculating the simulated operation of the electric motor according to the thermal model of the electric motor based upon the thermal model parameter comprises calculating an electric motor input power based on a voltage and a current, calculating an electric motor output power based on an electric motor shaft speed and an electric motor shaft torque, calculating an electric motor winding power loss based on the electric motor input power and the electric motor output power, calculating an electric motor ferromagnetic circuit power loss based on the electric motor input power and the electric motor output power, calculating an electric motor winding temperature based on the electric motor winding power loss, and calculating an electric motor mass temperature based on the electric motor winding power loss, the electric motor ferromagnetic circuit power loss, and the stator-to-ambient thermal resistance. In accordance with at least one embodiment, the calculating the simulated operation of the electric motor comprises calculating an electric motor winding temperature according to a first differential equation and calculating an electric motor mass temperature according to a second differential equation.
In accordance with at least one embodiment, an electric motor control circuit comprises a back electromotive force (EMF) measurement circuit, a winding resistance measurement circuit, a processor coupled to the back EMF measurement circuit and to the winding resistance measurement circuit to receive a back EMF measurement and a winding resistance measurement and to calculate a simulated operation of the electric motor according to a thermal model of the electric motor, the thermal model based on a stator-to-ambient thermal resistance value accounting for a sum of a stator-to-case thermal resistance and a case-to-ambient thermal resistance, and an electric motor driver circuit coupled to the processor for providing drive signals for controlling delivery of power to the electric motor based on the simulated operation of the electric motor according to the thermal model of the electric motor. In accordance with at least one embodiment, the electric motor control circuit comprises a memory coupled to the processor, wherein the processor is configured to initialize a thermal model parameter by storing a value in a storage location. In accordance with at least one embodiment, the processor is configured to cause the electric motor driver circuit to discontinue application of power to the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates an overtemperature condition of the electric motor. In accordance with at least one embodiment, the processor is configured to reduce power dissipation of the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates a trend toward an overtemperature condition of the electric motor. In accordance with at least one embodiment, the electric motor control circuit is configured to control operation of the electric motor according to the thermal model of the electric motor in absence of an electromechanical thermal switch. In accordance with at least one embodiment, the electric motor control circuit is configured to verify operation of an electromechanical thermal switch. In accordance with at least one embodiment, the processor is configured to calculate an electric motor input power based on a voltage and a current, to calculate an electric motor output power based on an electric motor shaft speed and an electric motor shaft torque, to calculate an electric motor winding power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor ferromagnetic circuit power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor winding temperature based on the electric motor winding power loss, and to calculate an electric motor mass temperature based on the electric motor winding power loss, the electric motor ferromagnetic circuit power loss, and the stator-to-ambient thermal resistance, wherein the thermal model of the electric motor is dependent on the electric motor mass temperature. In accordance with at least one embodiment, the processor is configured to calculate simulated operation of the electric motor according to the thermal model of the electric motor by calculating an electric motor winding temperature according to a first differential equation and by calculating an electric motor mass temperature according to a second differential equation.
In accordance with at least one embodiment, an integrated circuit comprises a back electromotive force (EMF) measurement circuit, a winding resistance measurement circuit, a processor coupled to the back EMF measurement circuit and to the winding resistance measurement circuit and configured to receive a back EMF measurement and a winding resistance measurement and to calculate a simulated operation of the electric motor according to a thermal model of the electric motor, the thermal model based on a stator-to-ambient thermal resistance value accounting for a sum of a stator-to-case thermal resistance and a case-to-ambient thermal resistance; and an electric motor driver circuit coupled to the processor for providing drive signals for controlling delivery of power to the electric motor based on the simulated operation of the electric motor according to the thermal model of the electric motor. In accordance with at least one embodiment, the integrated circuit comprises a memory coupled to the processor, the processor configured to initialize a thermal model parameter by storing a value in a storage location. In accordance with at least one embodiment, the processor is configured to cause the electric motor driver circuit to discontinue application of power to the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates an overtemperature condition of the electric motor. In accordance with at least one embodiment, the processor is configured to reduce power dissipation of the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates a trend toward an overtemperature condition of the electric motor. In accordance with at least one embodiment, the integrated circuit is configured to control operation of the electric motor based on the simulated operation of the electric motor according to the thermal model of the electric motor in absence of an electromechanical thermal switch. In accordance with at least one embodiment, the integrated circuit is configured to verify operation of an electromechanical thermal switch. In accordance with at least one embodiment, the processor is configured to calculate an electric motor input power based on a voltage and a current, to calculate an electric motor output power based on an electric motor shaft speed and an electric motor shaft torque, to calculate an electric motor winding power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor ferromagnetic circuit power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor winding temperature based on the electric motor winding power loss, and to calculate an electric motor mass temperature based on the electric motor winding power loss, the electric motor ferromagnetic circuit power loss, and the stator-to-ambient thermal resistance, wherein the thermal model of the electric motor is dependent on the electric motor mass temperature.

## Claims

1. A method, performed in an electric motor control circuit of an electric motor, comprising:
measuring a winding resistance of a motor winding;
determining a winding temperature of a motor winding based upon the winding resistance;
accessing thermal model parameters, wherein at least one of the thermal model parameters is a winding temperature obtained from measuring a winding resistance of a motor winding;
calculating a simulated operation of the electric motor according to a thermal model of the electric motor based upon the thermal model parameters including the winding temperature and a stator-to-ambient thermal resistance value accounting for a sum of a stator-to-case thermal resistance and a case-to-ambient thermal resistance; and
controlling an actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model, wherein the calculating the simulated operation is performed iteratively during the actual operation.

2. The method of claim 1 wherein the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model comprises:
discontinuing application of power to the electric motor when the simulated operation indicates an overtemperature condition of the electric motor.

3. The method of claim 1 wherein the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model comprises:
reducing power dissipation of the electric motor when the simulated operation indicates a trend toward an overtemperature condition of the electric motor.

4. The method of claim 1 wherein the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model occurs in absence of an electromechanical thermal switch.

5. The method of claim 1 wherein the controlling the actual operation of the electric motor based upon the simulated operation of the electric motor according to the thermal model comprises:
verifying operation of an electromechanical thermal switch.

6. The method of claim 1 wherein the calculating the simulated operation of the electric motor according to the thermal model of the electric motor based upon the thermal model parameter comprises:
calculating an electric motor input power based on a voltage and a current;
calculating an electric motor output power based on an electric motor shaft speed and an electric motor shaft torque;
calculating an electric motor winding power loss based on the electric motor input power and the electric motor output power;
calculating an electric motor ferromagnetic circuit power loss based on the electric motor input power and the electric motor output power;
calculating an electric motor winding temperature based on the electric motor winding power loss; and
calculating an electric motor mass temperature based on the electric motor winding power loss, the electric motor ferromagnetic circuit power loss, and the stator-to-ambient thermal resistance.

7. The method of claim 1 wherein the calculating the simulated operation of the electric motor comprises calculating an electric motor winding temperature according to a first differential equation and calculating an electric motor mass temperature according to a second differential equation.

8. An electric motor control circuit comprising:
a back electromotive force (EMF) measurement circuit;
a winding resistance measurement circuit;
a processor coupled to the back EMF measurement circuit and to the winding resistance measurement circuit to receive a back EMF measurement and a winding resistance measurement and to calculate a simulated operation of the electric motor according to a thermal model of the electric motor, the thermal model based on a stator-to-ambient thermal resistance value accounting for a sum of a stator-to-case thermal resistance and a case-to-ambient thermal resistance; and
an electric motor driver circuit coupled to the processor for providing drive signals for controlling delivery of power to the electric motor based on the simulated operation of the electric motor according to the thermal model of the electric motor.

9. The electric motor control circuit of claim 8 wherein the processor is configured to cause the electric motor driver circuit to discontinue application of power to the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates an overtemperature condition of the electric motor.

10. The electric motor control circuit of claim 8 wherein the processor is configured to reduce power dissipation of the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates a trend toward an overtemperature condition of the electric motor.

11. The electric motor control circuit of claim 8 wherein the electric motor control circuit is configured to control operation of the electric motor according to the thermal model of the electric motor in absence of an electromechanical thermal switch.

12. The electric motor control circuit of claim 8 wherein the electric motor control circuit is configured to verify operation of an electromechanical thermal switch.

13. The electric motor control circuit of claim 8 wherein the processor is configured to calculate an electric motor input power based on a voltage and a current, to calculate an electric motor output power based on an electric motor shaft speed and an electric motor shaft torque, to calculate an electric motor winding power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor ferromagnetic circuit power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor winding temperature based on the electric motor winding power loss, and to calculate an electric motor mass temperature based on the electric motor winding power loss, the electric motor ferromagnetic circuit power loss, and the stator-to-ambient thermal resistance, wherein the thermal model of the electric motor is dependent on the electric motor mass temperature.

14. The electric motor control circuit of claim 8 wherein the processor is configured to calculate simulated operation of the electric motor according to the thermal model of the electric motor by calculating an electric motor winding temperature according to a first differential equation and by calculating an electric motor mass temperature according to a second differential equation.

15. An integrated circuit comprising:
a back electromotive force (EMF) measurement circuit;
a winding resistance measurement circuit;
a processor coupled to the back EMF measurement circuit and to the winding resistance measurement circuit and configured to receive a back EMF measurement and a winding resistance measurement and to calculate a simulated operation of the electric motor according to a thermal model of the electric motor, the thermal model based on a stator-to-ambient thermal resistance value accounting for a sum of a stator-to-case thermal resistance and a case-to-ambient thermal resistance; and
an electric motor driver circuit coupled to the processor for providing drive signals for controlling delivery of power to the electric motor based on the simulated operation of the electric motor according to the thermal model of the electric motor.

16. The integrated circuit of claim 14 wherein the processor is configured to cause the electric motor driver circuit to discontinue application of power to the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates an overtemperature condition of the electric motor.

17. The integrated circuit of claim 14 wherein the processor is configured to reduce power dissipation of the electric motor when the simulated operation of the electric motor according to the thermal model of the electric motor indicates a trend toward an overtemperature condition of the electric motor.

18. The integrated circuit of claim 14 wherein the integrated circuit is configured to control operation of the electric motor based on the simulated operation of the electric motor according to the thermal model of the electric motor in absence of an electromechanical thermal switch.

19. The integrated circuit of claim 14 wherein the integrated circuit is configured to verify operation of an electromechanical thermal switch.

20. The integrated circuit of claim 14 wherein the processor is configured to calculate an electric motor input power based on a voltage and a current, to calculate an electric motor output power based on an electric motor shaft speed and an electric motor shaft torque, to calculate an electric motor winding power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor ferromagnetic circuit power loss based on the electric motor input power and the electric motor output power, to calculate an electric motor winding temperature based on the electric motor winding power loss, and to calculate an electric motor mass temperature based on the electric motor winding power loss, the electric motor ferromagnetic circuit power loss, and the stator-to-ambient thermal resistance, wherein the thermal model of the electric motor is dependent on the electric motor mass temperature.