Patent Description:
In a motor driving system, a motor driver controller is typically used to control an electric motor to power a load. For example, an electric motor driving system may be employed to control components of a Heating, Ventilation, and Air Condition (HVAC) system. In this example, the motor driving system may be configured to control the operation of an electric motor for a furnace, a condenser, an air handler, or any other suitable type of HVAC equipment. In other examples, the motor driving system may be employed to control the operation of electric motors for any other suitable type of system or application. One of the technical challenges of a motor driving system is ensuring that the correct type of electric motor is connected to a motor driver controller. Operating the incorrect electric motor with the wrong settings may result in underpowering the electric motor or overpowering the electric motor which may cause damage to the electric motor and/or its load. For example, overpowering an electric motor may cause the electric motor to overheat which may trigger thermal protection and cause the electric motor to shut down. In this case, the motor driving system will experience downtime until the electric motor can be replaced. Existing motor driving systems lack the ability to detect whether the correct electric motor has been connected to a motor driver controller. Existing systems also lack the ability to resolve mismatches between incorrect combinations of electric motors and motor driver controllers.

<CIT> discloses a motor controller and electric power steering device equipped with same, in which the motor controller is capable of estimating the temperature of a motor while the motor is rotating based on a counter electromotive constant of the motor when a rotational speed of the motor is at a reference rotational speed or higher.

The system disclosed in the present application provides a technical solution to the problems discussed above by using a motor driver controller that is configured to determine whether the correct or expected electric motor has been connected to the motor driver controller. This process allows the motor driver controller to ensure that the appropriate electric motor is connected to the motor driver controller before fully utilizing the electric motor. This allows the motor driver controller to safely operate the electric motor without potentially underpower the electric motor or overpowering the electric motor. This process allows the motor driver controller to operate the electric motor while avoiding damaging an electric motor and/or its load.

The motor driver controller is also configured to detect when an incorrect electric motor has been connected to the motor driver controller. In this case, the motor driver controller will notify an operator about incorrect electric motor that is connected to the motor driver controller. The motor driver controller may be further configured to dynamically change settings that are used to control the electric motor based on the type of electric motor that is connected to the motor driver controller. This process allows the motor driver controller to safely operate the electric motor that is connected to the motor driver controller using the appropriate motor settings.

In one embodiment, a motor driving system includes motor driving circuitry configured to operate an electric motor. The system further includes a motor driver controller that is configured to send a signal to energize the electric motor and to measure a back electromotive force voltage of the electric motor. The motor driver controller is further configured to determine a temperature value based on the measured back electromotive force voltage using a back electromotive force (EMF) voltage mapping. The back EMF voltage mapping maps back EMF voltages to temperature values for a variety of electric motors. The motor driver controller is further configured to determine an expected winding resistance value based on the determined temperature value using a resistance mapping. The resistance mapping maps winding resistance values to temperature values for a variety of electric motors. The motor driver controller is further configured to measure a winding resistance of the electric motor, to compare the measured winding resistance of the electric motor to the expected winding resistance value, and to output a match result indication based on the comparison. The match result indicates whether or not the correct motor is connected to the motor driver controller.

When the measured winding resistance of the electric motor matches the expected winding resistance value, this means that the electric motor that is currently connected to the motor driver controller matches the expected electric motor. In this case, the motor driver controller can safely operate the electric motor using the current motor driver profile that is installed on the motor driver controller.

When the measured winding resistance of the electric motor does not match the expected winding resistance value, this means that the electric motor is not connected to an expected electric motor. In this case, the motor driver controller will need to be reconnected to the appropriate type of electric motor or an appropriate motor driver profile will need to be obtained for the electric motor that is currently coupled to the motor driver controller.

Certain embodiments of the present disclosure may include some, all, or none of these advantages. These advantages and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.

<FIG> is a schematic diagram of an embodiment of a motor driving system <NUM>. The motor driving system <NUM> is configured to control the operation of one or more electric motors <NUM>. In one embodiment, the motor driving system <NUM> may be employed to control components of a Heating, Ventilation, and Air Condition (HVAC) system. For example, the motor driving system <NUM> may be configured to control the operation of an electric motor for a furnace, a condenser, an air handler, or any other suitable type of HVAC equipment. In other embodiments, the motor driving system <NUM> may be employed to control the operation of electric motors for any other suitable type of system or application.

In one embodiment, the motor driving system <NUM> includes one or more electric motors <NUM> and one or more motor driver controllers <NUM>. The motor driving system <NUM> may be configured as shown in <FIG> or in any other suitable configuration.

Examples of an electric motor <NUM> include, but are not limited to, a direct current (DC) motor, an alternating current (AC) motor, or any other suitable type of electrical motor. For example, an electric motor <NUM> may be a DC motor that comprises a stator magnet, an armature conductor, a commutator, brushes, a winding, and/or any other suitable combination of components as would be appreciated by one of ordinary skill in the art. The electric motor <NUM> is configured to provide a rotational force in response to receiving an electrical signal, for example, a current signal or a voltage signal. For example, an electric motor <NUM> may be configured to rotate an impeller, fan blades, a pump, or any other suitable type of component. The electric motor <NUM> may be a ½-horsepower motor, a ¾-horsepower motor, a <NUM>-horsepower motor, or any other suitable size electric motor.

In one embodiment, the motor driver controller <NUM> comprises a plurality of sensors <NUM>, motor driving circuitry <NUM>, a motor analysis engine <NUM>, and a memory <NUM>. The motor driver controller <NUM> is operably coupled to the electric motor <NUM> and configured to provide electrical signals for controlling the operation of the electric motor <NUM>. For example, the motor driver controller <NUM> may be connected to the electric motor <NUM> via the motor driving circuitry <NUM>. The motor driver controller <NUM> may be configured as shown in <FIG> or in any other suitable configuration. For example, the plurality of sensors <NUM> and/or the motor driving circuitry <NUM> may be components that are external from the motor driver controller <NUM>.

The plurality of sensors <NUM> may comprise a temperature sensor, a voltage sensor, a current sensor, a resistance sensor, a rotor saliency sensor, or any other suitable type of sensor. The plurality of sensors <NUM> are in signal communication with a processor (e.g. processor <NUM> in <FIG>) of the motor driver controller <NUM> and are configured to provide data measurements about the electric motor <NUM> to the processor of the motor driver controller <NUM>. In one embodiment, the plurality of sensors <NUM> comprises a voltage sensor that is configured to measure a back electromotive force (EMF) voltage of the electric motor <NUM>. The plurality of sensors <NUM> may also comprise a resistance sensor that is configured to measure a winding resistance of the electric motor <NUM>. The plurality of sensor <NUM> may also include one or more temperature sensors that are configured to measure the temperature of the electric motor <NUM> at various locations.

The motor driving circuitry <NUM> is configured to provide electrical signals for controlling the operation of the electric motor <NUM>. For example, the motor driving circuitry <NUM> may be configured to receive a first electrical signal or command from a processor (e.g. processor <NUM> in <FIG>) of the motor driver controller <NUM> and to output a second electrical signal to the electric motor <NUM> based on the first electrical signal. The motor driving circuitry <NUM> may comprise an H-bridge, relays, semiconductor switches, or any other suitable types of circuitry for providing electrical power to the electric motor <NUM> as would be appreciated by one of ordinary skill in the art.

The motor analysis engine <NUM> is configured to analyze the electric motor <NUM> that is connected to the motor driver controller <NUM> to determine whether or not the correct or expected electric motor <NUM> is attached to the motor driver controller <NUM>. The process allows the motor analysis engine <NUM> to confirm that the correct or expected electric motor <NUM> is attached to the motor driver controller <NUM> before fully utilizing the electric motor <NUM> which may potentially damage the electric motor <NUM> and result in downtime for the system <NUM>. In response to determining that the correct or expected electric motor <NUM> is attached to the motor driver controller <NUM>, the motor driver controller <NUM> can safely operate the electric motor <NUM>. In response to determining that an incorrect electric motor <NUM> is attached to the motor driver controller <NUM>, the motor analysis engine <NUM> may trigger a notification to alert an operator about the motor mismatch. In some embodiments, the motor analysis engine <NUM> is further configured to determine which electric motor <NUM> is actually connected to the motor driver controller <NUM> and may switch the motor driver profile <NUM> that is used to operate the electric motor <NUM>. In this configuration, the motor analysis engine <NUM> is able to modify how the motor driver controller <NUM> operates the electric motor <NUM> to avoid damaging the electric motor <NUM> and causing any downtime for the system <NUM>. An example of the motor analysis engine <NUM> in operation is described in <FIG>. Details about the hardware configuration of the motor analysis engine <NUM> are described below in <FIG>.

The memory <NUM> is operable to store back EMF voltage mappings <NUM>, resistance mappings <NUM>, motor driver profiles <NUM>, and any other suitable type of data for the motor driver controller <NUM>.

The back EMF voltage mappings <NUM> and the resistance mappings <NUM> are tables, mapping functions, or datasets that are generated and compiled based on previous test data for multiple electric motors <NUM>. The electric motors <NUM> may include different types of electric motors <NUM> from the same manufacturer and/or different electric motors <NUM> from different manufacturers. The back EMF voltage mappings <NUM> and the resistance mappings <NUM> are generally configured to provide combinations of information that can be used to uniquely identify a particular type of electric motor <NUM>.

In one embodiment, a back EMF voltage mapping <NUM> is configured to provide a mapping between back electromotive force voltages and temperature values for multiple types of electric motors <NUM>. An example of a back EMF voltage mapping <NUM> is shown in <FIG>. In this example, the back EMF voltage mapping <NUM> provides a mapping between back EMF voltage values <NUM> and temperature values <NUM> for multiple types of electric motors <NUM>. The temperature values <NUM> range from minus twenty degrees Celsius to two hundred degrees Celsius. In other examples, the back EMF voltage mapping <NUM> may include any other suitable range of temperature values <NUM>. The back EMF voltage mapping <NUM> may also use any suitable increment values between the temperature values <NUM>. The temperature values <NUM> are mapped to corresponding back EMF voltages <NUM>. The back EMF voltages <NUM> are values that may be based previously determined testing results and/or datasheets for the electric motors <NUM>.

In one embodiment, a resistance mapping <NUM> is configured to provide a mapping between winding resistance values and temperature values for multiple types of electric motors <NUM>. An example of a resistance mapping <NUM> is shown in <FIG>. In this example, the resistance mapping <NUM> provides a mapping between temperature values <NUM> and winding resistance values <NUM> for multiple types of electric motors <NUM>. The temperature values <NUM> range from minus twenty degrees Celsius to two hundred degrees Celsius. In other examples, the resistance mapping <NUM> may include any other suitable range of temperature values <NUM>. The resistance mapping <NUM> may also use any suitable increment values between the temperature values <NUM>. The temperature values <NUM> are mapped to corresponding winding resistances <NUM>. The winding resistances <NUM> are values that may be based previously determined testing results and/or datasheets for the electric motors <NUM>.

A motor driver profile <NUM> generally comprises settings, commands, and/or instructions for operating an electric motor <NUM>. For example, a motor driver profile <NUM> may comprise voltage settings, current settings, proportional-integral-derivative (PID) controller settings, or any other suitable type of settings for operating an electric motor <NUM>. Each motor driver profile <NUM> may be uniquely associated with a particular type of electric motor <NUM>. For example, the motor driver controller <NUM> may comprise a first motor driver profile <NUM> for a ½-horsepower motor <NUM>, a second motor driver profile <NUM> for a ¾-horsepower motor <NUM>, a third motor driver profile <NUM> for a <NUM>-horsepower motor <NUM>, and so on. Each motor driver profile <NUM> may be associated with an identifier that uniquely identifies a type of electric motor <NUM>. The identifier may be an alphanumeric identifier or any other suitable type of identifier.

<FIG> is a flowchart of an embodiment of a motor analysis process <NUM>. The motor driver controller <NUM> may employ process <NUM> to ensure that the correct or expected electric motor <NUM> is coupled to the motor driver controller <NUM> before fully utilizing the electric motor <NUM>. Process <NUM> allows the motor driver controller <NUM> to notify an operator when the incorrect electric motor <NUM> is coupled to the motor driver controller <NUM>. In some embodiments, the motor driver controller <NUM> may be configured to dynamically change the motor driver profile <NUM> that is used based on the type of electric motor <NUM> that is connected to the motor driver controller <NUM>. This process allows the motor driver controller <NUM> to safely operate the electric motor <NUM> that is connected to the motor driver controller <NUM> using the appropriate motor driver profile <NUM>. Operating the incorrect electric motor <NUM> with the wrong motor driver profile <NUM> may result in underpowering the electric motor <NUM> or overpowering the electric motor <NUM> which may cause damage to the electric motor <NUM> and/or its load.

At step <NUM>, the motor driver controller <NUM> energizes an electric motor <NUM> that is coupled to the motor driver controller <NUM>. Here, the motor driver controller <NUM> outputs an electrical signal that provides electrical power to the electric motor <NUM>. For example, the motor driver controller <NUM> may send a first electrical signal to the motor driving circuitry <NUM> that triggers the motor driving circuitry <NUM> to provide electrical power to the electric motor <NUM>. In response to receiving the electrical power, the electric motor <NUM> is energized and ready to provide a rotational force to a load. The motor controller circuitry <NUM> may provide any suitable type of voltage or current signal to energize the electric motor <NUM>. After energizing the electric motor <NUM>, the motor driver controller <NUM> may also send one or more electrical signals to the motor controller circuitry <NUM> to begin operating the electric motor <NUM>. For example, the motor driver controller <NUM> may provide an electrical signal that triggers the electric motor <NUM> to provide a rotational force to a load.

At step <NUM>, the motor driver controller <NUM> measures the back EMF voltage of the motor <NUM>. Here, the motor driver controller <NUM> receives measured back EMF voltage data from one or more voltage sensors that are operably coupled to the electric motor <NUM> after the electric motor <NUM> is energized and/or operating.

At step <NUM>, the motor driver controller <NUM> determines a temperature value based on the measured back EMF voltage of the electric motor <NUM>. After obtaining a measured back EMF voltage, the motor driver controller <NUM> uses the measured back EMF voltage with the back EMF voltage mapping <NUM> to determine a corresponding temperature value <NUM>. As an example, the motor driver controller <NUM> is expecting to be connected to a ½-horsepower motor <NUM>. In this example, the motor driver controller <NUM> may measure a back EMF voltage of one hundred and four volts. Referring to the example of the back EMF voltage mapping <NUM> in <FIG>, the motor driver controller <NUM> uses the measured back EMF voltage to identify a back EMF voltage <NUM> that closest matches the measured back EMF voltage. The motor driver controller <NUM> then determines a temperature value <NUM> that corresponds with the identified back EMF voltage <NUM>. In this example, the motor driver controller <NUM> may determine that the temperature value <NUM> of twenty degrees best corresponds with the measured back EMF voltage.

Returning to <FIG> at step <NUM>, the motor driver controller <NUM> determines an expected winding resistance value based on the determined temperature value <NUM>. After determining a temperature value <NUM> using the back EMF voltage mapping <NUM>, the motor driver controller <NUM> uses the determined temperature value <NUM> with the resistance mapping <NUM> to confirm whether the expected electric motor <NUM> is actually connected to the motor driver controller <NUM>. Referring to the example of the resistance mapping <NUM> in <FIG>, the motor driver controller <NUM> uses the determined temperature value <NUM> which has a value of twenty degrees to determine a corresponding expected winding resistance value <NUM> from the resistance mapping <NUM>. In this example, the motor driver controller <NUM> determines that the expected winding resistance value <NUM> for a ½-horsepower motor is <NUM> Ohms.

Returning to <FIG> at step <NUM>, the motor driver controller <NUM> measures the winding resistance of the electric motor <NUM>. Here, the motor driver controller <NUM> receives measured winding resistance data from one or more resistance sensors that are operably coupled to the electric motor <NUM>.

At step <NUM>, the motor driver controller <NUM> compares the expected winding resistance value <NUM> to the measured winding resistance of the electric motor <NUM>. By comparing the expected resistance value <NUM> to the measured resistance of the electric motor <NUM>, the motor driver controller <NUM> can determine whether the correct electric motor <NUM> is coupled to the motor driver controller <NUM>.

At step <NUM>, the motor driver controller <NUM> determines whether the expected winding resistance value <NUM> matches the measured winding resistance of the electric motor <NUM>. The motor driver controller <NUM> may terminate process <NUM> in response to determining that the expected winding resistance value <NUM> matches the measured winding resistance of the electric motor <NUM>. In this case, the motor driver controller <NUM> determines that the correct or expected electric motor <NUM> is coupled to the motor driver controller <NUM> because the expected winding resistance value <NUM> matches the measured winding resistance of the electric motor <NUM>. This means that the motor driver controller <NUM> can safely operate the electric motor <NUM> using the current motor driver profile <NUM>. For example, the motor driver controller <NUM> may begin sending signals to the motor driver circuitry <NUM> to operate the electric motor <NUM> in accordance with the current motor driver profile <NUM>.

In some embodiments, the motor driver controller <NUM> sends a notification that indicates a match result to an operator. The notification informs the operator that the correct electric motor <NUM> is coupled to the motor driver controller <NUM>. For example, the match result may indicate that the expected winding resistance value <NUM> matches the measured winding resistance of the electric motor <NUM>. The motor driver controller <NUM> may send a notification using a graphical user interface (e.g. a liquid crystal display (LCD) screen), using a combination of light-emitting diodes (LEDs), or using any other suitable interface for notifying the operator.

The motor driver controller <NUM> proceeds to step <NUM> in response to determining that the expected winding resistance value does not match the measured winding resistance of the electric motor <NUM>. In this case, the motor driver controller <NUM> determines that the incorrect electric motor <NUM> is coupled to the motor driver controller <NUM> because the expected winding resistance value <NUM> does not match the measured winding resistance of the electric motor <NUM>. This means that the motor driver controller <NUM> cannot safely operate the electric motor <NUM> using the current motor driver profile <NUM>. Operating the incorrect electric motor <NUM> with the wrong motor driver profile <NUM> may result in underpowering the electric motor <NUM> or overpowering the electric motor <NUM> which may cause damage to the electric motor <NUM> and its load.

At step <NUM>, the motor driver controller <NUM> determines which type of electric motor <NUM> is connected to the motor driver controller <NUM> based on its measured winding resistance. As an example, the measured winding resistance may have a value of <NUM> Ohms. Returning to the example of the resistance mapping <NUM> in <FIG>, the motor driver controller <NUM> may determine that the measured winding resistance closest matches a winding resistance <NUM> value of <NUM> Ohms which correspond with a <NUM>-horsepower motor. In this example, the motor driver controller <NUM> determines that a <NUM>-horsepower motor is likely connected to the motor driver controller <NUM>.

At step <NUM>, the motor driver controller <NUM> sends a notification that indicates a match result to an operator about the determined type of electric motor <NUM> that is connected to the motor driver controller <NUM>. For example, the match result may inform the operator that the incorrect electric motor <NUM> is coupled to the motor driver controller <NUM>. The match result may also provide information about the type of electric motor <NUM> that is actually coupled to the motor driver controller <NUM>. The motor driver controller <NUM> may send a notification using a graphical user interface (e.g. an LCD screen), using a combination of LEDs, or using any other suitable interface for notifying the operator. For example, the motor driver controller <NUM> may indicate a mismatch and identify the electric motor <NUM> that is currently connected to the motor driver controller <NUM> using a coded message and LEDs. For instance, the LEDs may blink in a predetermined pattern that indicates there is a mismatch and indicates which type of electric motor <NUM> is connected to the motor driver controller <NUM>. As another example, the motor driver controller <NUM> may indicate a mismatch and identify the electric motor <NUM> that is currently connected to the motor driver controller <NUM> using text on an LCD screen. In other examples, the motor driver controller <NUM> may use any other suitable technique for informing an operator about the mismatch and the electric motor <NUM> that is coupled to the motor driver controller <NUM>.

At step <NUM>, the motor driver controller <NUM> determines whether there are other motor driver profiles <NUM> available. In some embodiments, the motor driver controller <NUM> may only be configured with a motor driver profile <NUM> for the electric motor <NUM> that is expected to be coupled to the motor driver controller <NUM>. In this case, the motor driver controller <NUM> determines that there are no other motor driver profiles <NUM> available. The motor driver controller <NUM> terminates process <NUM> in response to determining that other motor driver profiles <NUM> not available. In other words, the motor driver controller <NUM> is unable to use another motor driver profile <NUM> to safely operate the electric motor <NUM> which means that the motor driver controller <NUM> will need to be reconnected to the appropriate type of electric motor <NUM> or an appropriate motor driver profile <NUM> will need to be obtained for the electric motor <NUM> that is currently coupled to the motor driver controller <NUM>.

The motor driver controller <NUM> proceeds to step <NUM> in response to determining that other motor driver profiles <NUM> are available. In this case, the motor driver controller <NUM> is configured with multiple motor driver profiles <NUM> that can be used for different types of electric motors <NUM> that may be coupled to the motor driver controller <NUM>. At step <NUM>, the motor driver controller <NUM> identifies a motor driver profile <NUM> for the electric motor <NUM> that is connected to the motor driver controller <NUM>. Continuing with the previous example, the motor driver controller <NUM> determined that a <NUM>-horsepower motor is coupled to the motor driver controller <NUM>. The motor driver controller <NUM> will identify a motor driver profile <NUM> that corresponds with the identified electric motor <NUM>. This process allows the motor driver controller <NUM> to dynamically adjust which motor driver profile <NUM> is used so that the electric motor <NUM> can be safely operated.

At step <NUM>, the motor driver controller <NUM> applies the determined motor driver profile <NUM> to operate the electric motor <NUM> that is connected to the motor driver controller <NUM>. Once the correct motor driver profile <NUM> has been identified for the electric motor <NUM> that is coupled to the motor driver controller <NUM>, the motor driver controller <NUM> can safely operate the electric motor <NUM> using the identified motor driver profile <NUM>. For example, the motor driver controller <NUM> may begin sending signals to the motor driver circuitry <NUM> to operate the electric motor <NUM> in accordance with the identified motor driver profile <NUM>.

<FIG> is a schematic diagram of an embodiment of a motor driver controller <NUM>. The motor driver controller <NUM> comprises a processor <NUM>, a memory <NUM>, sensors <NUM>, and motor driving circuitry <NUM>. The motor driver controller <NUM> may be configured as shown or in any other suitable configuration.

The processor <NUM> comprises one or more processors operably coupled to the memory <NUM>. The processor <NUM> is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g. a multi-core processor), field-programmable gate array (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). The processor <NUM> may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. The processor <NUM> is communicatively coupled to and in signal communication with the memory <NUM>. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor <NUM> may be <NUM>-bit, <NUM>-bit, <NUM>-bit, <NUM>-bit, or of any other suitable architecture. The processor <NUM> may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.

The one or more processors are configured to implement various instructions. For example, the one or more processors are configured to execute motor analysis instructions <NUM> to implement a motor analysis engine <NUM>. In this way, processor <NUM> may be a special-purpose computer designed to implement the functions disclosed herein. In an embodiment, the motor analysis engine <NUM> is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. The motor analysis engine <NUM> is configured to operate as described in <FIG>. For example, the motor analysis engine <NUM> may be configured to perform the steps of process <NUM> as described in <FIG>.

The memory <NUM> is operable to store any of the information described above with respect to <FIG> along with any other data, instructions, logic, rules, or code operable to implement the function(s) described herein when executed by the processor <NUM>. The memory <NUM> comprises one or more disks, tape drives, or solid-state drives, and may be used as an overflow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. The memory <NUM> may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).

The memory <NUM> is operable to store motor analysis instructions <NUM>, back EMF voltage mappings <NUM>, resistance mappings <NUM>, motor driver profiles <NUM>, and/or any other data or instructions. The motor analysis instructions <NUM> may comprise any suitable set of instructions, logic, rules, or code operable to execute the motor analysis engine <NUM>. The back EMF voltage mappings <NUM>, the resistance mappings <NUM>, and the motor driver profiles <NUM> are configured similar to the back EMF voltage mappings <NUM>, the resistance mappings <NUM>, and the motor driver profiles <NUM> described in <FIG>, respectively.

The processor <NUM> is in signal communication with the sensors <NUM>. The sensors <NUM> may be configured similar to the sensors <NUM> described in <FIG>. The processor <NUM> is configured to receive data from the sensors <NUM>. For example, the processor <NUM> may be configured to receive temperature measurements, resistance measurements, voltage measurements, current measurements, or any other suitable type of data from the sensors <NUM>.

Claim 1:
A motor driving system (<NUM>), comprising:
motor driving circuitry (<NUM>) configured to operate an electric motor (<NUM>); and
a motor driver controller (<NUM>) operably coupled to the motor driving circuitry (<NUM>), comprising:
a memory (<NUM>) operable to store:
a back electromotive force voltage mapping (<NUM>) configured to map back electromotive force voltages to temperature values for a plurality of electric motors;
a resistance mapping (<NUM>) configured to map winding resistance values to temperature values for the plurality of electric motors; and
a processor (<NUM>) operably coupled to the memory (<NUM>), operable to:
send a signal to the motor driving circuitry to energize the electric motor (<NUM>); characterised in that the processor (<NUM>) is further operable to:
measure a back electromotive force voltage of the electric motor (<NUM>);
determine a temperature value based on the measured back electromotive force voltage using the back electromotive force voltage mapping (<NUM>);
determine an expected winding resistance value based on the determined temperature value using the resistance mapping (<NUM>);
measure a winding resistance of the electric motor (<NUM>);
compare the measured winding resistance of the electric motor (<NUM>) to the expected winding resistance value; and
output a match result indication based on the comparison.