Torque control based on rotor resistance modeling in induction motors

A control system for an induction motor executes an on-board, dynamic model to estimate rotor resistance and control the torque output by the induction motor. The model includes equations to calculate stator and rotor temperatures and/or resistances based on combinations of voltage and current data, electrical frequency, rotor speed, switching patterns, and air flow rates during operation of the induction motor. The control system updates the model based on feedback collected during the operation of the induction motor, including the difference between the actual observed stator temperature and the stator temperature predicted by the model. The model is updated to converge the predicted stator temperature on the actual observed stator temperature, and corresponding updates are made to the rotor resistance estimations to provide more accurate estimations of the rotor resistance and improve the accuracy of the induction motor torque output.

TECHNICAL FIELD

This disclosure relates generally to techniques and systems for monitoring and controlling induction motors and, more specifically, for building and executing dynamic on-board models that use thermal observations to estimate the rotor resistance and control the torque output of an induction motor.

BACKGROUND

Induction motors are used in motor driven machines in various industrial and commercial settings. Industrial machines such as construction equipment, mining trucks, locomotives, fracturing pumps, and other industrial equipment often use induction motor drive systems. Although different induction motors use various different designs, induction motors generally include a stationary stator component, and a rotor component that is rotatable relative to the stator component. When an alternating current (hereinafter “AC”) power source supplies current to the stator component, poles and windings of the stator induce a magnetic field that causes the rotor to rotate about a central axis of the rotor, thereby driving the motor.

The torque output of such an induction motor is directly proportional to the rotor resistance. Accordingly, a control system of the induction motor can manipulate the currents to the rotor and frequency to achieve the desired torque output from the motor. However, achieving a desired torque output with a high level of accuracy requires an accurate estimation of the rotor resistance during operation of the motor. Performing accurate estimations of the rotor resistance during the operation of the induction motor in a production environment presents significant challenges. For example, although rotor resistance varies based on rotor temperature, many induction motor control systems do not directly measure rotor resistance or rotor temperature during operation of the motor. In some conventional systems, the stator temperature is measured during operation of the motor, and the current stator temperature is used to estimate the rotor resistance. However, the rotor resistance calculations in such systems are often inaccurate because they rely on the false assumption that the stator and rotor components have the same thermal dynamic properties, and will heat up and cool down at the same rate during operation. To the contrary, stators and rotors within induction motors often have different thermal dynamics, and heat and cool at different rates during operation. Additionally, iron and copper loss magnitudes in the rotor and stator are different, as are dimensions and materials (and thus the thermal masses and thermal resistances) in the rotor and stator. Thus, rotor resistance estimations based solely on the stator temperature measurements are often inaccurate, leading to less accuracy in the amount of torque output by the motor. Various other conventional techniques include using modeling and simulation to predict rotor resistance, as well as mapping rotor temperatures manually during lab testing to estimate rotor resistances. However, these conventional techniques are not only time consuming, but also fail to consider small motor-to-motor differences or defects, wear, and installation or environmental differences between the test motors operating in a controlled lab environment and production equipment operating in real-world environments.

For example, U.S. Patent Appl. Publ. No. 2005/0062450 (“the '450 application”) describes a system for estimating rotor resistance in an induction motor based on a calibrated measurement of the stator temperature. The system described in the '450 application monitors the temperature of the stator winding and uses the temperature signal to look up a corresponding value for rotor resistance in a calibrated “look up” table. The values of the look up table used by the '450 application are determined during a testing process in which the actual (measured) motor torque is controlled. However, the system described in the '450 application is based on lab testing processes in controlled environments, and thus fails to take into account small motor-to-motor production differences, motor wear, and other installation and environmental differences that effect the thermal dynamics of individual motors.

Example embodiments of the present disclosure are directed toward overcoming the deficiencies described above.

SUMMARY

In an example of the present disclosure, a control system for an induction motor includes a plurality of sensors connectable to the induction motor, the plurality of sensors including a stator temperature sensor and one or more additional sensors, one or more central processing units (CPUs) in communication with the plurality of sensors, and memory storing executable instructions that, when executed by the one or more CPUs, cause the control system to perform operations comprising receiving sensor data from the one or more additional sensors during operation of the induction motor, determining a predicted temperature of a stator of the induction motor based at least in part on the sensor data from the one or more additional sensors, receiving an observed temperature of the stator from the stator temperature sensor, determining a difference between the predicted temperature and the observed temperature of the stator, determining a resistance of a rotor of the induction motor based at least in part on the difference between the predicted temperature and the observed temperature of the stator, and controlling a torque output the induction motor based at least in part on the resistance of the rotor.

In another example of the present disclosure, a method comprises receiving, by a controller associated with an induction motor, sensor data from one or more sensors during operation of the induction motor, determining, by the controller, a predicted temperature of a stator of the induction motor based at least in part on the sensor data from the one or more sensors, receiving, by the controller, an observed temperature of the stator from a stator temperature sensor, determining, by the controller, a difference between the predicted temperature and the observed temperature of the stator, determining, by the controller, a resistance of a rotor of the induction motor based at least in part on the difference between the predicted temperature and the observed temperature of the stator, and controlling, by the controller, a torque output of the induction motor based at least in part on the resistance of the rotor.

In yet another example of the present disclosure, a system comprises an induction motor including a stator component, a rotor component, a drive shaft coupled to the rotor component, and an AC power source, a first sensor configured to determine a temperature of the stator component, a second sensor configured to determine at least one additional operating parameter of the induction motor, and a controller operably connected to the induction motor, and in communication with the first sensor and the second sensor, the controller being configured to receive sensor data from the second sensor during operation of the induction motor, determine a predicted temperature of the stator component based at least in part on the sensor data from the second sensor, receive an observed temperature of the stator component from the first sensor, determine a difference between the predicted temperature of the stator component and the observed temperature of the stator component, determine a resistance of the rotor component based at least in part on the difference between the predicted temperature of the stator component and the observed temperature of the stator component, and control a torque output the induction motor based at least in part on the resistance of the rotor component.

DETAILED DESCRIPTION

FIG. 1illustrates an example induction motor100of the present disclosure. As described below, the techniques and systems described herein relate to building and executing dynamic models to estimate rotor resistance during operation of the induction motor100, and controlling the induction motor100based on the estimated rotor resistance to achieve greater torque accuracy. In some examples, a controller102within the induction motor100stores and executes a model that includes equations for estimating temperature and/or resistance of a stator104and a rotor108based on various data collected during the operation of the induction motor100. In various implementations of the model, the equations for estimating temperature and resistance for the stator104and rotor108are based on combinations of voltage and current data, electrical frequency, rotor speed, switching patterns, and air flow rates collected during the operation of the induction motor100. Further techniques described herein include the controller102updating the model dynamically based on feedback collected during the operation of the induction motor100, such as sensor data, motor control/operational data, thermal network data, etc. In some instances, the controller102updates the equations used by the model for estimating temperature and resistance and of the stator104and rotor108, by calculating the difference between the stator temperature predicted by the model and the actual stator temperature observed using temperature sensors on the induction motor100. For instance, the controller102updates the equation for estimating stator temperature to converge with the actual observed stator temperature, and performs corresponding updates to the equation(s) for estimating rotor temperature and/or rotor resistance, thereby providing a more accurate rotor resistance estimation that updates dynamically based on the feedback collected during the operation of the induction motor100.

In this example, the induction motor100includes a stator104with an iron frame, and windings106of copper coils within the iron frame of the stator104. When a power source operably connected to the induction motor100supplies a current to the windings106, this current induces a rotating magnetic field to the area inside the stator104. The combination of the rotating magnetic field within the stator104and the structure and composition of the rotor108causes the rotor108to rotate within the stator104. For example, the rotating magnetic field induces currents in the rotor108, which produces torque on the rotor108through the interaction of the rotor currents and the rotating magnetic field. In some examples, the rotor108is a squirrel-cage rotor built as a cylinder of steel laminations with a highly conductive material (e.g., copper or aluminum) embedded into the surface of the rotor108. The magnetic field produced by the windings106causes the rotor108to spin inside the stator104, with the assistance of a ball bearing116and a bearing seal118. The spinning of the rotor108drives the rotation of a drive shaft120connected to the rotor108. The drive shaft120protrudes through a drive end bell122connected to the frame of the induction motor100. In some examples, the drive shaft120is connected to one or more gears, shafts, couplings, gearboxes, or other components of a machine (e.g., vehicle engine, pump, electric locomotive, etc.) such that rotation of the drive shaft120drives the various machine components to which it is connected. In this example, the induction motor100also includes a cooling fan110, a fan cover112, and a non-drive end bell114. The controller102(or control system) includes one or more CPUs and/or circuit board(s) and wiring for controlling the speed and torque output as well as various other components of the induction motor100(e.g., the cooling fan). Although certain examples are discussed with reference to the induction motor100shown inFIG. 1, it should be understood that induction motor100is illustrative only and that the techniques and systems described herein are applicable to other types of induction motors having various different designs that include a stator, rotor, and an internal or external control system.

In some examples, the machine in which the induction motor100operates receives motor control commands (e.g., speed or torque commands) from a driver or operator of the machine. The drivers and/or operators issuing motor control commands include both human drivers/operators and software-based operators in the case of autonomous or semi-autonomous machines. The motor control commands are received as data signals by the controller102, and the controller102processes the data signals and implements the desired motor speed and/or torque by applying voltages and currents to the corresponding components of the induction motor100. For example, in some cases the induction motor100includes a variable frequency AC drive and speed is controlled based on the applied line frequency minus an amount of slip proportional to the load. Additionally or alternatively, the controller102controls the torque output of the induction motor100using one or more control algorithms such as direct torque control (DTC), DTC-Space Vector Modulation (DTC-SVM), Model Predictive Control (MPC), and/or various other torque control strategies. In some cases, the controller102uses one or more of these algorithms to manipulates the electrical resistance of the rotor108to achieve the desired torque. For instance, the controller102adds rotor resistance during a start-up phase of the induction motor100to achieve a higher staring torque, and then reduces the rotor resistance so achieve greater efficiency of the induction motor100after the start-up phase.

In some examples, the controlling of both the speed and/or the torque by the controller102include receiving feedback data from the various components of the induction motor100during operation. In some instances, the controller102implements speed control techniques including a feedback loop that measures the rotating frequency of the drive shaft120and adjusts the drive frequency to maintain the desired motor speed. Additional or alternatively, the controller102implements torque control techniques based on feedforward and feedback voltage calculations. In these examples, the controller102controls the currents and/or voltages output to the motor components in response to feedback data received during the operation of the induction motor100, to achieve the desired speed and torque for the induction motor100.

Further, as noted above the techniques described herein include building and executing models with equations for calculating stator temperatures, rotor temperatures, stator resistances, and rotor resistances. In an example, model-based equations for estimating or predicting the temperature of the stator104during operation and the resistance of the rotor108during operation are shown below as Equation 1 and Equation 2.

In this example, Equation 1 represents a generalized equation for estimating the stator temperature (Ts), and Equation 2 represents a generalized equation for estimating the rotor resistance (Rr). In these equations, d/dt is the derivative operator, Tsrepresents the stator temperature, Rrrepresents the rotor resistance, Vdcrepresents DC link voltage, Vmrepresents the motor AC RMS line-to-line voltage, Imrepresents the RMS phase current, Wrrepresents the rotor speed, ws represents the electrical frequency of the induction motor100, swp represents the switching patterns map of the induction motor100, and af represents the air flow rate within the induction motor100. In this example, the AC RMS line-to-line voltage value refers to the square root of the mean (or average) value of the squared function of the instantaneous values. Because an AC voltage rises and falls with time, it takes more AC voltage to produce a given RMS voltage than it would for DC.

As shown in the above equations, in this example both the stator temperature and the rotor resistance are functions of the DC link voltage, the motor AC RMS line-to-line voltage, the RMS phase current, the rotor speed, the electrical frequency, the switching patterns map, and the air flow rate within the induction motor100. However, while the stator temperature and the rotor resistance are based on the same dependent variables in this example, they need not be equal or proportional values given that the stator104and rotor108have different thermal dynamics and thermal time constants which cause them to heat up and cool down at different rates during operation.

When executing the various equations for calculating stator temperature (e.g., Equation 1), rotor resistance (e.g., Equation 2), and/or any model equations described herein, the controller102receives sensor data and/or electrical feedback data from various components of the induction motor100. Although not explicitly shown inFIG. 1, controller102receives motor command control signals from a driver/operator that from the machine driver/operator that indicate the desired motor functions (e.g., motor speed, torque, cooling fan speed, etc.) and/or the desired general machine functions (e.g., machine speed for an engine, pump speed for a pump, etc.). In various examples, different machines in which the induction motor100operates includes driver/operator interface components such as a touch screen in a cab and/or signals sent via actuation of knobs, buttons, pedals, or other controls within the cab of the machine. The controller102also receives operational data from various components of the induction motor100, including the rotor speed, electrical frequency, the switching patterns map, and the air flow rate within the induction motor100. In some examples, the controller102receives signals from sensors disposed at various locations on the motor100(or machine in which the motor100operates) to detect rotor speed, pump flow rate, etc. The controller102also receives current and voltage feedback data from the different components or material masses of the stator104and/or rotor108. For instance, the controller102may receive current and voltage feedback data from one or more of the iron masses (e.g., frame) of the stator104, the copper masses (e.g., windings106) of the stator104, the iron masses (e.g., steel laminations) of the rotor108, or the copper masses (e.g., conductive bars) of the rotor108. From the current and voltage feedforward and/or feedback data, the controller102determines data such as the DC link voltage, the motor AC RMS line-to-line voltage, and the RMS phase current.

Additionally, although not explicitly shown inFIG. 1, the induction motor100includes one or more temperature sensors connected to various components, and configured to provide corresponding temperature data to the controller102. For instance, as discussed below at least one stator temperature sensor captures the actual temperature of the stator104during the operation of the induction motor100, and transmits temperature data indicative of the temperature of the stator104to the controller102for comparison with the estimated temperature predicted by the model equation(s) for the stator temperature. This comparison of the actual stator temperature to the predicted stator temperature is then used to modify the model by improving the accuracy of the equations for stator temperature and/or rotor resistance (e.g., Equations 1 and 2) based on the difference between predicted and actual stator temperature.

FIG. 2depicts a computing environment200including an induction motor100, and modeling system216configured to generate dynamic models to be used by the controller102of the induction motor100to estimate rotor resistance and control torque output. As discussed below, the models generated by the modeling system216include equations for determining the temperatures and/or resistances of the stator104and rotor108based on combinations of voltage and current data, electrical frequency, rotor speed, switching patterns, and air flow rates collected during the operation of the induction motor100. The models generated by the modeling system216are dynamic in some examples, allowing the equations of a reduced order model (ROM)210to be updated on-board by the controller102of the induction motor100based on feedback data comparing the stator temperature estimated by the ROM210with the actual observed stator temperature. Updating the ROM210to converge the estimated stator temperature to the observed stator temperature similarly improves the accuracy of the rotor resistance estimations made by the ROM210and allows for more accurate torque control by the controller102.

InFIG. 2, the induction motor100is similar or identical to the corresponding induction motor100described above inFIG. 1, but depicts additional systems and components, including hardware, memory, and network components, to describe in more detail the techniques performed by the induction motor100.FIG. 2also depicts various components of the modeling system216, and a data store226for induction motor test data used to calibrate (or configure) the models generated by the modeling system216, and the network(s)214over which the components in the computing environment200communicate.

As shown inFIG. 2, the modeling system216includes processor(s)218and memory220communicatively coupled with the processor(s)218. In the illustrated example, the memory220and processors218of the modeling system216store and execute a modeling component222and a ROM builder224, discussed in more detail below. In various implementations, the modeling system216is implemented on one or more servers or other computing devices, each of which includes the one or more processors218and memory220storing computer executable instructions capable of executing the modeling component222, ROM builder224and/or implementing the various additional functionality of the modeling system216described herein. The modeling system216also includes network interfaces and components (not shown), and is configured to communicate with one or more induction motors100, data store226, and/or various other external systems or data sources.

The induction motor100, as discussed above inFIG. 1, includes a controller102configured to receive motor control commands, operational data, and sensor data, and to control the speed, torque output, and other components of the induction motor100. In this example, the induction motor100includes sensors206and a communication system208, as well as the controller102. The controller102stores and executes a ROM210received from the modeling system216via the communication system208, including equations for estimating stator and rotor temperatures and/or resistances based on the data received from the sensors206during operation of the induction motor100. The controller102also stores and executes a motor control component212that controls the speed, torque, fan, and/or other components of the induction motor100based on the execution of the ROM210. To perform the techniques and functionality described herein, the controller102includes one or more processors202and memory204communicatively coupled with the processor(s)202. In the illustrated example, the memory204of the controller102stores and executes the ROM210(including the on-board software components for executing the ROM210) and the motor control component212.

Although the systems and components of the induction motor100and the modeling system216are illustrated and described as separate components, the functionality of the various systems may be attributed differently than discussed. In various implementations, more or less systems and components are utilized to perform the techniques described herein. Furthermore, although depicted inFIG. 2as separate systems, in other examples the various components and functionality of the modeling system216(e.g., the modeling component222and/or ROM builder224) is incorporated into the induction motor100.

The modeling system216in this example generates software-based models to predict the behaviors of the induction motor100, and in particular the temperatures and resistances of the stator104and rotor108under various different operating conditions. The modeling system216includes a modeling component222that generates, tests, and/or calibrates/configures the equations of the model to predict the stator104and rotor108temperatures and resistances in a most accurate manner possible, based on the input data received by the modeling component222. In some examples, the modeling component222includes a machine design tool (e.g., CAD-based) configured to perform simulations based on physical specifications (e.g., design, topology, and composition) of the induction motor100at various speed-torque combinations across the operating range of the induction motor100. The modeling component222also simulates various operation conditions, including operating times, speeds, and torques, as well as various combinations of ambient conditions (e.g., temperature, pressure, humidity, etc.) to determine the estimated/predicted temperatures and resistances of the induction motor100under the various conditions. The modeling component222includes analysis processes with electromagnetic, thermal, and mechanical components to determine the multiphysics effects and outputs of the induction motor100, including air flow and cooling effects, as well as demagnetization, loss energy, hysteresis and other electromagnetic effects.

Accordingly, in some examples, the modeling component222generates a model including equations for stator and rotor temperatures/resistances for one particular type of induction motor100. In such cases, the resulting model is applicable to other induction motors of the same type having the same physical characteristics, and the modeling component222generates different models for different types of induction motors. In other examples, the modeling component222generates a model specific to one particular induction motor100, which considers minor motor-to-motor differences or defects, wear, the installation and/or operating environment of the induction motor100, in which case the modeling component222generates different models even for different motors of the same type.

Although air flow is measured directly in some examples, in other examples the air flow within the induction motor100is not directly measured. Additionally or alternatively, the air flow is measured via correlating to a pressure drop across a plenum or using hot wire anemometer in various examples. In some cases, the modeling component222uses an estimate of air flow (cubic feet per minute) via a known blower motor speed that feeds the air flow to the system. Additionally, in some examples, the induction motor100is not an air-cooled motor. For instance, in other examples the induction motor100includes water jackets and/or direct oil spray applications. In such examples, the model generated by the modeling component222, including the equations described herein for stator temperature and/or rotor resistance may include one or both of the cooling media temperature and/or air temperature as a feedback channel.

In some cases, the model generated by the modeling component222is a complex first-order model that is configured to predict the stator104and rotor108temperatures and resistances with a high degree of accuracy, but also requiring a large amount of computational resources. Accordingly, in this example the modeling system216includes a ROM builder224configured to generate a reduced order model (ROM)210based on the complex model determined by the modeling component222. A ROM210is a simplified model configured to capture the behavior a source model using fewer computational resources. Thus, in contrast to a more complex model for predicting the stator104and rotor108temperatures and resistances, a ROM based on the more complex model is executable in real-time (or near real-time) by the controller102of the induction motor100. In some implementations, the ROM builder224uses parametric design tools and/or optimization tools to systematically adjust and evaluate the complex model, identify correlations, and optimize the ROM210to most closely captures the behavior of the more complex model generated by the modeling component222. Equation 1 and Equation 2, discussed above, are examples of simplified equations of a ROM210derived from a more complex first-order model configured to predict the stator/rotor temperatures and resistances.

During generation of the model, the modeling system216optionally calibrates and/or configures the ROM210based on induction motor test data from data store226. In contrast to the initial model generation process based on the physical specifications of the induction motor100, the calibration of the model uses actual/observed data from induction motors operating in a production environments. The actual/observed data includes any combination of sensor data readings, temperature readings, motor control commands, motor operational data, motor feedback data. The modeling component222and/or ROM builder224retrieves the actual/observed data from the data store226to evaluate and calibrate the ROM210prior to transmission to the induction motor100. In some examples, the ROM210is initially correlated using computational fluid dynamic modeling (CFD), and is further refined with testing data when and/or if such testing data is available. In some instances, the electromagnetic and CFD models are refined (or correlated) during a development process for multiple different types of induction motors. In such instances, a ROM210generated for a new design of induction motor100includes built-in design assumptions that are more accurate out of the box over time, and including accurate losses in the right location along with accurate heat transfer paths.

As noted above the modeling component222in this example is a CAD-based software tool configured to generate the model for predicting temperatures and resistances for the stator104and rotor108based on the physical specifications of the induction motor100. Additionally or alternatively, modeling component222may include machine-learning algorithms and models that use the actual/observed induction motor test data from data store226to build and train machine-learned models to predict stator104and rotor108temperatures and resistances. In such examples, the modeling component222retrieves test data from the data store226, corresponding to previous scenarios of induction motors100operating in production environments. The test data retrieved from data store226includes any combination of data used the model equations described herein (e.g., Equation 1 and Equation 2) for predicting stator/rotor temperatures and/or resistances. The test data further includes outcome data, corresponding to torque output produced by the induction motor100in each previous scenarios and/or any torque-related real-world effects on the induction motor100that were observed in the previous scenarios (e.g., engine stalls, higher/lower pump pressures, component breakage due to excess torque, etc.). During the machine-learning model training process, the modeling component222analysis the induction motor test data in view of the model outputs, and adjusts the nodes/weights of the model to more accurately predict the known rotor resistance from the test data based on the input data. In such examples, the ROM210is implemented using neural network data structure having one or more levels, various different node configurations, and randomly assigned initial node weights, and a training component within the modeling system216uses one or more regression algorithms, instance-based algorithms, Bayesian algorithms, decision tree algorithms, clustering algorithms artificial neural network algorithms, and/or deep learning algorithms, to train the ROM210. In some examples, the model training is performed by assuming some defined thermal network circuit. In such examples, the model parameters are modified to minimize the difference between estimated temperatures and actual feedback temperatures, and the optimal settings are converged using one or more techniques such as brute force, Monte Carlo, Kalman filters and/or machine learning techniques.

For calibrating and/or training the ROM210as described above, in some examples the modeling system uses induction motor test data specific to the particular induction motor100, and thus considers any particular motor differences or defects, wear, the installation and/or operating environment of the induction motor100. In other examples, the modeling system216calibrates and/or trains the ROM210using data that need not specific to the particular induction motor100that will receive the ROM210, but is specific to the one type of induction motor100(e.g., having the same design specifications).

After generating (and/or calibrating) the ROM210, the modeling system216provides the ROM210to the induction motor100, where it is stored in the on-board memory204and executed to determine the estimated temperatures and/or resistances of the stator104and rotor108in real-time during the operation of the induction motor100. As described in more detail below, the controller102executes the ROM210to determine an estimated rotor resistance based on data received from sensors206while the induction motor100is running in a production environment. The sensors206in this example include various motor control command sensors (e.g., sensors sensing speed and torque commands from a driver or operator), motor operation sensors (e.g., sensors sensing operating parameters such as rotor speed, electrical frequency, stator temperature, fan speed, etc.), motor electrical feedback sensors (e.g., voltage and current feedback sensors from various motor components), and/or ambient environment sensors (e.g., temperature, humidity, and air pressure sensors in and around the induction motor100). After calculating the estimated rotor resistance using the ROM210, the controller102uses the motor control component212to determine torque control output for the induction motor100that more accurately matches a desired torque output received via a torque command from the machine driver or operator.

Additionally, as described in more detail below, as the controller102executes the ROM210on-board the induction motor100, the ROM210is also evaluated and modified during operation in the production environment to improve the rotor resistance estimations output by the ROM210. In some examples, the ROM210includes equations that predict both the stator temperature and the rotor resistance During execution, the controller102receives the actual observed temperature of the stator104while the induction motor100is operating, and modifies the equations of the ROM210to converge the predicted stator temperature to the actual observed stator temperature. The ROM210performs corresponding changes to the equation the predicts the resistance to provide a more accurate rotor resistance estimation during the operation of the induction motor100.

The various components and systems within the computing environment200also include communication system(s) that enable communication between the various computing device(s) and systems (e.g., induction motor100and modeling system216) and/or other local or remote device(s) or servers. For instance, the communication system(s)208of the induction motor100facilitate communication with the modeling system216via one or more networks214. In various examples, the communication network(s)214enable Wi-Fi-based communication such as via frequencies defined by the IEEE 802.11 standards, short range wireless frequencies such as BLUETOOTH®, other radio transmission, or any suitable wired or wireless communications protocol that enables the respective computing device to interface with the other computing device(s).

The processor(s)202of the induction motor100, and the processor(s)218of the modeling system216include any suitable processor capable of executing instructions to process data and perform operations as described herein. By way of example and not limitation, the processor(s)202and218comprise one or more Central Processing Units (CPUs), Graphics Processing Units (GPUs), or any other device or portion of a device that processes electronic data to transform that electronic data into other electronic data that can be stored in registers and/or memory. In some examples, integrated circuits (e.g., ASICs, etc.), gate arrays (e.g., FPGAs, etc.), and other hardware devices are considered processors in so far as they are configured to implement encoded instructions.

Memory204and memory220are examples of non-transitory computer-readable media. Memory204and memory220each store an operating system and/or one or more software applications, instructions, programs, and/or data to implement the methods and techniques described herein, and perform the various functions attributed to those systems. Memory204and memory220are implemented using any suitable memory technology, such as static random-access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/flash-type memory, or any other type of memory capable of storing information. The architectures, systems, and individual elements described herein include many other logical, programmatic, and physical components, of which those shown in the accompanying figures are merely examples that are related to the discussion herein.

It should be noted that whileFIG. 2is illustrated as a distributed system, in alternative examples, any or all components of the modeling system216are implemented within the induction motor100, and/or vice versa. Moreover, although various systems and components are illustrated as being discrete systems, these examples are illustrative and more or fewer discrete systems may perform the various functions described herein.

FIG. 3depicts an example of a ROM210and a motor control component212that, when executed by a controller102, respectively estimate the rotor resistance during operation of the induction motor100, and control the torque output of the induction motor100based the estimated rotor resistance. In this example, the ROM210and motor control component212are similar or identical to the corresponding ROM210and motor control component212described above inFIG. 2, but depict additional components to describe in more detail the techniques performed by the controller102of the induction motor100.

As noted above, the ROM210includes one or more equations for predicting (or estimating) the temperatures and/or resistances of the stator104and rotor108during the operation of the induction motor100. The controller102executes the ROM210, which in this example includes a model execution component302and a model evaluation and modification component306, and the output from the ROM210is used by the motor control component212to control the torque output of the induction motor100. In this example, the ROM210outputs an estimated rotor resistance for the induction motor100, and the motor control component212uses the estimated rotor resistance within its torque control strategy to improve the torque accuracy with respect to a desired torque output of the motor.

The model execution component302of the ROM210, when executed by the controller102, receives various sensor/operational data during the operation of the induction motor100, and applies the equations of the ROM for predicting the stator and rotor temperatures and/or resistances. In some examples, the model execution component302executes Equation 1 and Equation 2, discussed above, to calculate the predicted stator temperature and/or the predicted rotor resistance based on the DC link voltage, the motor AC RMS line-to-line voltage, the RMS phase current, the rotor speed, the electrical frequency, the switching patterns map, and/or the air flow rate within the induction motor100. In such examples, the model execution component302retrieves the input variables for Equation 1 and Equation 2 from the sensors206of the induction motor100during operation. Sensors206of the induction motor100include electrical feedforward and feedback sensors that provide the DC link voltage, the motor AC RMS line-to-line voltage, the RMS phase current, the electrical frequency, and the switching patterns map. Sensors206also include operational sensors of the induction motor100including the rotor speed sensor and cooling fan speed. Additionally, sensors206include one or more temperature sensors within the induction motor100and/or within the environment of the induction motor100, including one or more stator temperature sensors and ambient sensors to measure the temperature, air pressure, and humidity at various locations internal and/or external to the induction motor100. Further, in some cases the model execution component302receives estimated temperature data for certain components within the induction motor100from a thermal network model304, discussed in more detail below.

Using the retrieved input data retrieved via sensors206of the induction motor100during operation at a production environment, the model execution component302calculates the estimated stator temperature (e.g., using Equation 1) and/or the estimated rotor resistance (e.g., using Equation 2). Although Equations 1 and 2 in this example respectively calculate the estimated stator temperature and rotor resistance, in other examples the model execution component302additionally or alternatively calculates stator resistance (which is directly proportional to stator temperature) and/or rotor temperature (which is directly proportional to rotor resistance). Further, although this example describes the model execution component302receiving data from sensors206and calculating the estimated stator temperature and rotor resistance once, in other examples the model execution component302performs these operations multiple times. In such examples, the model execution component302periodically or continuously receives or retrieves updated sensor/operational data from the sensors206, periodically or continuously re-calculates updated estimates for stator temperature and rotor resistance based on the updated sensor/operational data.

After the model execution component302is used to calculate the predicted stator temperature and/or predicted rotor resistance (e.g., using Equations 1 and 2), the controller102executes the model evaluation and modification component306to revise the equations of the ROM210. In some examples, the model evaluation and modification component306compares the predicted stator temperature determined from Equation 1 with the actual observed temperature reading(s) of the stator104received from the sensors206. As discussed above, in this example sensors206do not directly measure the temperature or resistance of the rotor108; however, the stator104is stationary during operation and stator temperature reading(s) are captured by the sensors206while the induction motor100is running. Accordingly, the model evaluation and modification component306compares the actual observed stator temperature reading(s) to the predicted stator temperature determined from Equation 1, and uses the difference between the actual and predicted stator temperatures to modify the equations of the ROM210. In this example, the ROM210equations for stator and rotor resistance are modified into the following Equations 3 and 4.

In this example, the term (Ts−Ts_measured) represents the difference between the predicted stator temperature (Ts) calculated using Equation 1 and the actual stator temperature (Ts_measured). Equation 3 represents the ROM210equation for calculating the stator resistance, modified by a coefficient factor (k1) of the difference between the predicted and actual stator temperature. Similarly, Equation 4 represents the ROM210equation for calculating the rotor resistance, modified by a different coefficient factor (k2) of the difference between the predicted and actual stator temperature. Equations 3 and 4, which are modified on-board and during the operation of the induction motor100by the model evaluation and modification component306, thus provide more accurate stator and rotor resistance predictions. Specifically, Equations 3 and 4 and any other equations within the ROM210are updated based on the factor (Ts−Ts_measured) causing the predicted stator temperature and actual stator temperature to converge, and therefore similarly cause the predicted stator and rotor resistance values to converge more closely on the actual stator and rotor resistances.

In some examples, a technique for modifying the ROM210equations for stator and rotor resistance shown above in Equations 3 and 4 applies a temperature gain to implement the modifications. In such examples, adjusting the estimated temperature of the rotor108is performed by scaling the error of the estimated versus the actual stator temperature. For the purposes of illustration, in one example an estimated stator temperature equals 100° C., the actual stator temperature equals 110° C., and the inlet temperature equals 50° C. In this example, the estimated stator temperature delta equals 50° C. (100° C.−50° C.), and the actual stator temperature delta equals 60° C. (110° C.−50° C.), and thus in this example, the temperature error gain=1.2 (60° C./50° C.).

Additionally or alternatively, a technique for modifying the ROM210equations for stator and rotor resistance shown above in Equations 3 and 4 scales the error of the estimated stator temperature versus the actual stator temperature to modify the thermal resistance terms of the equations. For instance, if the stator104is sufficiently hot this technique assumes that the normal cooling process is compromised be a blocking cooling source or contamination building, etc., that creates reduced cooling performance. The error is then used to modify the thermal network, described in more detail below. For instance, using the error gain in the above example of 1.2, in this example the resistances between the individual rotor components (e.g., rotor iron, rotor bars) and the air flow is adjusted within the thermal mode by multiplying these resistances by the error gain of 1.2.

Continuing with this example, the controller102executes the modified equations of the ROM210to calculate a predicted rotor resistance (and/or rotor temperature). The controller provides the predicted rotor resistance to the motor control component212(e.g., an inverter controller), which uses the predicted rotor resistance to control the torque output of the induction motor100. As shown in this example, the motor control component212receive a torque command from a driver/operator of the induction motor100. In some cases, the motor control component212also receives various motor operational data, such as the motor electrical feedforward and/or feedback data (e.g., currents and/or voltages to and from the motor components), and the current motor speed (e.g., RPMs). The vector controller308of the motor control component212uses the torque command, current motor operational data, and the rotor resistance predicted by the ROM210, to determine the current vector (Id, Iq) that will produce the desired torque output. In some examples, the vector controller308manipulates the rotor resistance, for instance by increasing or decreasing the rotor resistance to produce more or less torque output from the induction motor100.

Additionally, as depicted inFIG. 3, the ROM210and/or motor control component212access a thermal network model304of the induction motor100in some examples. In such examples, the thermal network model304is implemented as a separate model from ROM210, and is used to compute and track the temperatures of various major components within the induction motor100. The thermal network model304tracks the temperatures of different thermal masses within the induction motor100, based on the estimates of the temperatures of the masses, the loss energy put into the masses, and the temperature/air flow of the surrounding air. These factors, in combination with the characteristics of a component (e.g., material type, mass, shape, etc.) determine how different components in the induction motor100heat up, cool down, and/or dissipate heat back into the surrounding air.

In this example, the motor control component212provides energy loss data to the thermal network model304, including the specific currents and voltages applied to the different components of the induction motor100at different rates/times during operation. An example portion of the thermal network model304is shown depicting four components of the induction motor100: the stator iron mass310, the stator copper winding312, the rotor iron mass314, and the rotor bars316. The thermal network model304uses component material, design, and composition data, as well as energy loss data for each component and the air flow318to track the temperatures of the components310-316. The thermal network model304also calculates the resistances320-330between each of the components310-316and the other components and/or air flow318. In some examples, the thermal network model304includes one or more equations that receive the energy loss of the stator iron310, stator winding312, rotor iron314, and rotor bars316, along with the windage loss of the induction motor100, and the ambient temperature (e.g., in degrees C.) and air flow rate (e.g., in cubic feet/min) within the induction motor100, to calculate estimated temperatures for the stator104and rotor108. In some instances, the temperature estimates from the thermal network model304are provided back to ROM210to be used as input data in the calculations of predicted rotor and stator temperatures and resistances. In an example, the estimated stator temperature is compared with actual feedback temperatures when the feedback is available. In this example, if the measured stator feedback temperature is no longer available for some reason, the estimated temperature takes the place of the measured temperature for protections and deratings, and the estimated rotor temperature is used in order to accurately adjust the rotor resistance from a nominal temperature.

In some examples, the power loss of the stator104and rotor108are calculated using Equations 5 and 6 below:
Ps=3*(Is2)*RsEquation 5
Pr=3*(Ir2)*RrEquation 6
In this example, the term Psrepresents the power loss of the stator104, and Prrepresents the power loss of the rotor108. Isrepresents the stator current, Irrepresents the rotor current, Rsrepresents the stator resistance and Rrrepresents the rotor resistance.

Continuing with this example, using the power loss values calculated for the stator104and rotor108, the temperatures of the stator104and rotor108is estimated using Equations 7 and 8 below:
Ts=Ta+Ks*∫[(Ps−Pcs)]*dtEquation 7
Tr=Ta+Kr*∫[(Pr−Pcr)]*dtEquation 8
In this example, the term Tsrepresents the stator temperature and the Trrepresents the rotor temperature. Tarepresents the ambient temperature, Ksrepresents the thermal resistance for the stator104, and Krrepresents the thermal resistance for the rotor108. Pcsrepresents the power that the cooling system is able to extract from the stator104, and Pcrrepresents the power that the cooling system is able to extract from the rotor108.

FIG. 4is a flowchart depicting an example process400of generating a reduced order model (ROM)210with equations for predicting stator and rotor temperatures and/or resistances on an induction motor100. As discussed below, process400describes building a simplified ROM210based on a more complex source model for predicting the temperatures and/or resistances of the stator104and rotor108. The ROM210simplifies and captures the behavior of the more complex model, allowing the ROM210to be executed on-board the induction motor100, in real-time or near real-time during operation of the motor in a production environment. Thus, as described below, the ROM210generated in process400is stored and executed by the controller102of the induction motor100, and is updated dynamically by the controller102based on the operation of the induction motor100, to provide a more accurate rotor resistance for controlling torque output. In this example, the techniques and operations of process400are performed by a modeling system216operating within a computing environment200. However, in various other examples, some or all of process400is performed by the modeling system216and/or a controller102of an induction motor100, alone or in combination with any of the additional components described above inFIGS. 1-3.

At operation402, the modeling system216builds a complex model including equations for predicting stator and rotor temperatures and/or resistances for an induction motor100. In some examples, the modeling component222uses finite element analysis (FEA) software tools and/or CAD-based simulation tools to build and execute a model for predicting stator and rotor temperatures and/or resistances. In such examples, the modeling component222receives and analyzes the physical specifications (e.g., component sizes, shapes, material compositions, etc.) for each physical part/component in a particular induction motor100. Computational fluid dynamic software and/or lumped parameter modeling tools are used in some cases, to run a simplified thermal model that executes relatively fast while retaining sufficient accuracy with respect to complex thermal analysis software. In some instances, the modeling component222includes processes to analyze the electromagnetic, thermal, and mechanical components of the induction motor100, to determine the multi-physics effects and outputs of the motor under various different operating conditions and environments. As noted above, in some examples the modeling component222builds a model in operation402that is specific to particular induction motor100and/or a particular type/design of induction motor100.

At operation404, the modeling system216retrieves and uses test data associated with one or more induction motors100to calibrate the model generated in operation402. In this example, the modeling system216retrieves induction motor test data from a data store226. The test data includes historical data observed/capture by one or more of the induction motors100of the type for which the model was built. The test data includes sensor data, operational data, and the like captured for specific scenarios while the induction motors100were operating in real-world production environments. In contrast to performing software simulations based on the physical specifications of the induction motor100, to create the model in operation402, the calibration based on actual test data in operation404takes into account minor differences in induction motors100operating in production environments, including minor factory defects wear, differences in installation and/or environmental differences, etc.

At operation406, the modeling system216generates a ROM210based on the complex model generated and calibrated in operations402-404. As discussed above, modeling system216includes a ROM builder224configured to generate a reduced order model (ROM)210based on the complex model determined by the modeling component222. In some examples, the ROM builder224uses parametric design tools and/or optimization tools in operation405, to adjust and evaluate the source model, to identify correlations, and optimize the ROM210. In certain instances, the ROM builder224uses software to define the heat flow magnitudes give a thermal delta in the computational fluid dynamics tools as a standard output. The ROM210includes a number of equations for predicting temperatures and/or resistances of the stator104and/or rotor108of the induction motor, such as a stator temperature prediction equation and a rotor resistance prediction equation.

At operation408, the modeling system216provides the ROM210to the on-board controller102of the induction motor100. For instance, the modeling system216transmits the ROM210via the network(s)214, to the controller102of the induction motor100. The controller stores the ROM210within the memory204for on-board execution of the ROM210equations while the induction motor100is running. In some examples, the modeling system216builds, calibrates, and transmits different ROMs210to different induction motors100. In such examples, the differences between ROMs210are based on the different physical specifications of the induction motors100and/or the different test data or calibration processes used at operation404.

FIG. 5is a flowchart depicting an example process500of executing a ROM210by a controller102to predict an estimated rotor resistance during the operation of the induction motor100. In this example, the ROM210includes an equation for predicting rotor resistance, and the controller102executes the equation based on various types of input data captured while the induction motor100is running. The rotor resistance equation executed in this example uses multiple types of input data, including sensor data, operational data for the induction motor100, electrical feedforward/feedback data, and environmental data, to predict/estimate the rotor resistance. Thus, the rotor resistance equation in this example is more robust and more accurate than rotor resistance determinations based on less input data and/or rotor resistance determinations that use previous data and are performed by a separate system other than the induction motor100.

Although this example describes a single execution of an equation for predicting rotor resistance, in other examples the controller102executes the rotor resistance prediction multiple times, including on a periodic or continuous basis in response to changes to any of the input data. Additionally, in other examples similar or identical processes are used by the controller102to execute other equations within the ROM210, such as equations for predicting rotor temperature, stator temperature, and/or stator resistance of the induction motor100. For instance, for an operating induction motor100the rotor temperature is directly proportional to the rotor resistance. Thus, in another example a similar/identical process is performed to compute the predicted rotor temperature, which is converted to the predicted rotor resistance.

At operation502, the controller102(via execution of the ROM210) receives operational data for the induction motor100. The operational data includes, for instance, the current rotor speed, current torque, and/or current cooling fan speed. In some examples, the operational data is retrieved from the memory204of the controller102, and corresponds to the most recent control commands (e.g., rotor speed commands, torque commands, cooling fan commands) issued by the controller102to control the operation of the induction motor100.

At operation504, the controller102receives from sensors206electrical feedforward and/or feedback data associated with one or more electrical components of the induction motor100. In some examples, the feedforward data includes voltage and/or current values applied by the controller102to the various components of the induction motor100, and the feedback data includes voltage and/or current values received back at the controller102from the components of the induction motor100. Additionally or alternatively, the controller102calculates or derives data values in operation504based on the raw electrical feedforward/feedback data. In some examples, the feedforward/feedback data received at operation504includes one or more of the DC link voltage, the motor AC RMS line-to-line voltage, the RMS phase current, the electrical frequency of the induction motor100, and switching patterns map of the induction motor100. Some or all of the feedforward/feedback data received at operation504is derived in some cases based on the current/voltage sent to and received from the iron/steel and copper/aluminum masses within the stator104and rotor108.

At operation506, the controller102receives environment data via one or more sensors206associated with the induction motor100. In some examples, the environment data includes temperature data, humidity data, and/or pressure data based on readings from various environmental sensors in and around the induction motor100. For instance, temperature sensors on the stator104and elsewhere within (or external to) the induction motor100transmit temperature data to the controller102. As noted above, the controller102uses the environmental data to determine, among other things, the surrounding air temperature and/or air flow rate data within the induction motor100.

At operation508, the controller102receives one or more previous temperature data/readings for the stator104and/or for the rotor108. In various examples, the previous temperature data/readings include previous calculations performed by the controller102using the ROM210equations, direct temperature readings from temperature sensors (e.g., a stator temperature sensor), and/or stator and rotor temperature estimations received from a thermal network model304.

At operation510, the controller102executes an equation of the ROM210to determine an estimated rotor resistance, based on the data received in operations502-508during the operation of the induction motor100. As noted above, the estimated rotor resistance is calculated by the controller102while the induction motor100is running, and represents the rotor resistance estimate for the current time (e.g., in real-time or near real-time) based on the most recent data readings collected at the induction motor100in operations502-508. In some cases, the controller executes an equation similar or identical to Equation 2 discussed above, in which the estimated rotor resistance is calculated based on the DC link voltage, the AC RMS line-to-line voltage, the RMS phase current, the rotor speed, the electric frequency, the switching patterns map, and the air flow. In this example, the air flow is calculated based on the based on the current cooling fan speed and the current air pressure, temperature, humidity, and/or other environmental data potentially affecting the air flow rate through the induction motor100.

At operation512, the controller102generates one or more motor control commands to control the torque output of the induction motor100based on the estimated rotor resistance determined at operation510. In some cases, the motor control component212of the controller102determines and outputs a current vector to produce a desired torque based on the estimated rotor resistance. Additionally or alternatively, the motor control component212manipulates the resistance at the rotor108, by increasing or decreasing the resistance to produce more or less torque output. As described herein, process500thus provides a robust and accurate estimation of rotor resistance for an induction motor100, based on multiple input data factors, and which is performed quickly by the on-board controller102to reflect the current state and operating conditions of the induction motor100.

FIG. 6is a flowchart depicting an example process600of updating a ROM210dynamically during the operation of an induction motor100, including modifying and executing ROM210equation(s) to determine a more accurate prediction of rotor resistance. As discussed below, process600includes the on-board controller102of the induction motor100calculating a difference between a stator temperature predicted by the ROM210and an actual stator temperature observed by temperature sensor, and using the difference to update the equations of the ROM210and improve the accuracy of the predicted rotor resistance. Specifically, the ROM210is updated to converge the predicted stator temperature on the actual observed stator temperature, and a corresponding update is made to the rotor resistance equation within the ROM210, bring the predicted rotor resistance closer to the actual current rotor resistance of the induction motor100.

At operation602, the controller102executes an equation within the ROM210to determine an estimated current rotor resistance for the induction motor100. In some examples, operation602is similar or identical to the operations502-510described above. Specifically, the controller102receives/retrieves various input data during the operation of the induction motor100, and executes a rotor resistance equation (e.g., Equation 2) within the ROM210using the input data. As discussed below, operation602is optional in some implementations, such as when the controller102determines that an updated to ROM210is necessary and thus any rotor resistance prediction prior to the update/modification would be discarded.

At operation604, the controller102executes another example equation within the ROM210to determine an estimated current stator temperature for the induction motor100. As discussed above, in some examples the equation within the ROM210to predict the current stator temperature (e.g., Equation 1) at the induction motor100is similar to the equation to predict the rotor resistance (e.g., Equation 2). For instance, in the above example Equations 1 and 2 are based on the same input variables and use data retrieved at the same or similar times while the induction motor100is running. In some instances, however, one or more of the coefficients used for Equation 1 and Equation 2 are different based on the model building and calibrating processes described above.

At operation606, the controller102receives data from a stator temperature sensor206of the induction motor100. In some examples, the temperature data received at operation606includes actual temperature readings from temperature sensors206associated with the stator104, collected at one or more time(s) at or near (e.g., within a predetermined time threshold of) the times at which the equation input data was collected for executing the equations in operations602and604. In various examples, the temperature data received at operation606includes a single reading from a stator temperature sensor206, or multiple readings, such as an average of multiple readings from a stator temperature sensor206over a recent time window and/or an average of readings from multiple temperature sensors206positioned on or near the stator104. Additionally, although in this example the temperature data received at operation606includes readings from temperature sensors206, in other examples operation606includes receiving estimated stator temperature data from a thermal network model304or another non-sensor data source.

At operation608, the controller102calculates and/or otherwise determines a difference between the stator temperature predicted by the ROM210in operation604, and the actual observed stator temperature received in operation606. In this example, the controller102compares the difference to a threshold value (which may be zero in some cases) to determine whether at least a minimum difference is present between the predicted and actual stator temperature. If there is no difference between the observed and predicted stator temperatures, or if the difference is less than the threshold value (608:No), then process600proceeds to operation614at which the controller102issues one or more motor control commands to control the torque output of the induction motor100based on the estimated rotor resistance determined at operation602. In this example, operation614is similar or identical to operation512discussed above.

However, if the difference between the observed and predicted stator temperatures, is greater than the threshold value (608:Yes), then at operation610the controller updates the ROM210based on the difference between the stator temperatures predicted in operation604and the actual stator temperature observed in operation606. As discussed above in reference to the model evaluation and modification component306, in operation610the controller102revises one or more equations of the ROM210based on the difference between the predicted and observed stator temperatures. In this example, the controller102identifies a first update or modification to the equation for predicting the stator temperature (e.g., Equation 1) that results the stator temperature predicted by the modified equation matching the actual observed stator temperature. In the example Equations 3 and 4, the modification based on the difference between the predicted and actual stator temperatures is the term (Ts−Ts_measured), multiplied by a coefficient factor which may be the same or different for the different equations of the ROM121. For instance, in Equation 3 representing the updated equation for calculating the stator resistance the modification term (Ts−Ts_measured) is multiplied by the coefficient factor (k1), while in Equation 4 representing the modified equation for calculating the rotor resistance the modification term (Ts−Ts_measured) is multiplied by a different coefficient factor (k2). However, in these examples the modifications to the equations of the ROM210are based on the difference between the predicted and observed stator temperatures.

At operation612, the controller102executes the updated rotor resistance equation (e.g., Equation 4) to determine an updated prediction of the current rotor resistance value at the induction motor100. Operation612is similar or identical to operation602discussed above. In some examples, the controller102uses the same input data initially collected in operation602to execute the rotor resistance prediction, while in other examples the controller102retrieves updated input data in operation612and executes the modified rotor resistance equation using the updated input data.

At operation614, as noted above the controller102generates one or more motor control commands to control the torque output of the induction motor100based on the most recent estimated rotor resistance, corresponding to either the initial rotor resistance prediction performed in operation602or the updated rotor resistance prediction performed in operation612. As discussed above, operation614is similar or identical to operation512discussed in reference toFIG. 5. In some cases, controller102executes the motor control component212to determine and output a current vector to produce a desired torque based on the estimated rotor resistance. Additionally or alternatively, the controller102manipulates the resistance at the rotor108, by increasing or decreasing the resistance to produce more or less torque output.

INDUSTRIAL APPLICABILITY

As discussed above, the present disclosure relates to using dynamic models to estimate rotor resistances and control torque outputs within induction motors. The various techniques and systems described herein allow a control system within an induction motor to more accurately estimate the rotor temperature and/or rotor resistance during the operation of the motor. The control system achieves greater torque accuracy output for the motor, by using the improved techniques for estimating the rotor resistance and then manipulating the rotor resistance to output the desired torque output. The greater torque accuracy achieved by the various techniques and systems described herein results in various improvements to the overall operation of induction motors in many different environments and settings. As an example, for induction motors within mining and construction equipment, the techniques described herein reduce or eliminate engines stalls caused by torque inaccuracy. For induction motors used to drive industrial pumps, the techniques described herein improve the pump pressure accuracy and overall pump performance, and so on. Additionally, the techniques and systems described herein improve the reliability and durability of machines that use induction motor drive systems by reducing excess wear and broken components caused by torque inaccuracy. The techniques and systems described herein also improve the thermal stability of the stator and other components within the induction motor, thereby reducing or eliminating motor shutdowns or other damage caused by thermal deviations.

Additional improvements to induction motor systems result from the techniques described herein for more accurately estimating rotor resistance based on an on-board dynamic model that takes into account the differences in individual motors and production environments. In contrast to conventional systems that measure rotor temperatures and resistances during lab testing processes in controlled environments, the techniques described herein include building and executing an on-board model within the controller of the induction motor, and dynamically updating the model based on the specific temperature readings, sensor data, and operational data collected during the operation of the motor. Accordingly, the improvements in rotor resistance estimation and torque output accuracy described herein are applied differently to different induction motors, taking into account small motor-to-motor production differences and wear, and other installation and environmental differences that effect the thermal dynamics of individual motors.