Enhanced motor identification and control based on current characteristic response

JP2026169167APending Publication Date: 2026-10-16TESLA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2026057169
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-04-03
Filing Date
2026-03-31
Publication Date
2026-10-16

Smart Images

  • Figure 2026169167000001_ABST
    Figure 2026169167000001_ABST
Patent Text Reader

Abstract

This invention provides a system and method for enhanced motor identification and control based on current characteristic response. [Solution] An exemplary method involves injecting a voltage into a motor 104, wherein the motor includes a rotor, and the voltage is associated with a frequency selected to keep the rotor substantially stationary. The type of motor is identified based on current characteristics measured in response to the injected voltage. Parameter values ​​associated with the identified type of motor are accessed, where the controller 110 is configured to trigger motor operation according to these parameter values.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [Cross-reference of related applications] This application claims priority to U.S. Provisional Patent Application No. 63 / 783118, filed on 3 April 2025, entitled “ENHANCED MOTOR IDENTIFICATION AND CONTROL BASED ON CURRENT CHARACTERISTIC RESPONSE,” the disclosure of which is incorporated herein by reference in its entirety. [Background technology]

[0002] Modern vehicles include motors for, for example, heating, ventilation, and air conditioning (HVAC), radiator fans, etc. Exemplary motors may include brushless direct current electric motors (BLDCs), synchronous motors such as permanent magnet synchronous motors (PMSMs), etc. The motors may be powered via a power source such as batteries contained in a battery pack. [Overview of the Initiative]

[0003] In some embodiments, a method is described. The method is carried out by a controller. The method includes injecting a voltage into a motor, wherein the motor includes a rotor, and the voltage causes the rotor to be substantially stationary; identifying the type of motor based on current characteristics measured in response to the injected voltage; and accessing parameter values ​​associated with the identified type of motor, wherein the parameter values ​​are used in the operation of the motor.

[0004] In some embodiments, a controller is described. The controller comprises an inverter circuit configured to inject a voltage waveform into a motor at a frequency that keeps the motor rotor substantially stationary; a current sensing circuit configured to measure the current characteristics of the motor while the voltage waveform is being injected, wherein the current characteristics reflect the inductive characteristics of the motor; and one or more processors configured to inject a voltage waveform into the motor at a frequency via the inverter circuit; identify a motor type from among several types of motors based on the current characteristics measured in accordance with the injected voltage waveform; and access parameter values ​​associated with the identified type of motor, wherein the controller is configured to trigger the operation of the motor according to the parameter values. The controller may be included in a vehicle. The vehicle may include a power supply and a motor configured to receive AC power from the controller. [Brief explanation of the drawing]

[0005] This disclosure is described with reference to the accompanying drawings, in which similar reference numerals refer to similar elements.

[0006] [Figure 1A] This is a block diagram of a vehicle in which an internal controller identifies the motor type based on voltage injection.

[0007] [Figure 1B] This block shows the controller details for identifying the motor type.

[0008] [Figure 2] This figure shows exemplary current characteristics related to voltage injection.

[0009] [Figure 3] This is an illustrative process flowchart for identifying the motor type based on the voltage injection technique described herein. [Modes for carrying out the invention]

[0010] This application describes a technique for identifying motor types, such as specific motor variants and stock keeping units (SKUs), from a number of motor types based on their electrical excitation response characteristics (e.g., voltage response characteristics commonly referred to herein as current characteristics). Exemplary motors may include synchronous motors, such as brushless direct current electric motors (BLDCs). In some embodiments, the motors may be used as vehicle components for heating, ventilation, and air conditioning (HVAC), blowers, coolant pumps, radiator fans, oil pumps, etc. Type identification can be used to quickly identify or access operating parameters for use with the motor.

[0011] Exemplary electrical excitation response characteristics may include current characteristics such as peak currents associated with the injected voltage. Peak currents may include, for example, peak currents measured during voltage injection (e.g., voltage waveforms associated with frequencies above a threshold), or peak currents measured during individual cycles of the voltage-injected waveform. Based on the current characteristics, a controller, processor, etc. (hereinafter referred to as the controller) may determine, or otherwise identify, that the motor corresponds to a particular type, model, or configuration of motor.

[0012] As will be discussed later, with respect to BLDC motors, the voltage waveform described above can substantially stationary the rotor (e.g., substantially stationary or maintained as stationary) such that the current characteristics are governed by the motor's inductive characteristics. For example, the rotor may be stationary (e.g., not moving but not actively held stationary). Thus, the controller can identify a particular motor type based on the current characteristics resulting from measured characteristics that correlate with the motor's intrinsic inductive characteristics. For example, motors of the same motor type may have similar measured current characteristics (e.g., within threshold tolerances or multiple tolerances). The technology described herein can distinguish any number of motor types, but examples of measured current characteristics for two motor types are shown in Figure 2 and described below.

[0013] While peak current is described herein, other current characteristics may be used and may be included within the scope of the disclosure herein, as can be understood. For example, a controller may determine or otherwise extract metrics related to the measured current in response to a voltage injected into or otherwise applied to the motor. Exemplary metrics may be based on a time-series analysis of the current. Metrics may further include measures of central trend. Metrics may further be based on the current range, current distribution characteristics, etc. Metrics may further be based on the use of voltages injected into the motor at different frequencies.

[0014] Vehicle manufacturing involves complex supply chains where different types of motors, such as those from different motor manufacturers, may be used for the same function within a vehicle. For example, a blower may be included in a vehicle model. In this example, the vehicle manufacturer may source motors for the blower from different manufacturers. The vehicle manufacturer may also source different types of motors from the same manufacturer. As can be understood, these motors may be substantially equivalent in function. However, depending on the supply chain in which the vehicle manufacturing line is located, different vehicles of the same model may contain different types of motors.

[0015] The motors described above may have different operating characteristics. For example, different controller gains may be used. As another example, different operating points (e.g., optimal operating points such as a combination of torque and speed) may be used to enable the motor to operate under efficient conditions.

[0016] Therefore, motors may require different parameter values ​​(e.g., values ​​for operating characteristics) to enable efficient operation. Exemplary techniques may include programming or storing these different parameter values ​​within a controller that interfaces with the motor or is used to control the motor in a different way. For example, a first motor type may be used in a particular vehicle. In this example, the controller may receive parameter values ​​corresponding to the first motor type. Therefore, an assembly line may be required to identify a particular motor type and include the corresponding parameter values ​​in the controller for that particular motor type.

[0017] As supply chain complexity increases, exemplary technologies can slow down the production line. Furthermore, inaccurate parameter values ​​can cause motors to operate improperly. Additionally, vehicles may receive new motors (e.g., new or different types) during their service life, which may require updated parameter values. Therefore, the technologies described herein can reduce the burden of tracking motor types against vehicle serial numbers.

[0018] In contrast, the techniques described herein enable a controller to determine or otherwise identify the specific motor type of a motor controlled by the controller. As can be appreciated, the controller may store parameter values for many types of motors. During manufacturing, the same controller can be used with different types of motors, thus simplifying the production line and improving motor efficiency. During use of the vehicle, the controller may identify the motor type periodically or based on an action or event (e.g., a reboot of the controller). Further, these parameter values may be updated over the service life of the vehicle (e.g., via updates using a wireless network). In this way, even when the motor is replaced with a new motor, the controller can quickly identify the motor type and access the corresponding parameter values.

[0019] In this way, the techniques described herein may facilitate software management (e.g., reducing the need to prepare multiple types of versions). The techniques described herein may further reduce manufacturing and multi-sourcing complexity as described herein. Further, the techniques described herein may enable end-of-line (EOL) manufacturing, service, and runtime detection in vehicle operation.

[0020] Although the description herein focuses on identifying the motor type and obtaining the corresponding parameter values, in some embodiments, the controller or a different processor may determine or refine the parameter values. For example, the controller may adjust the parameter values associated with the motor type based on the obtained current characteristics. In this way, the motor of the vehicle may be further optimized for use in the vehicle.

[0021] FIG. 1A is a block diagram of a vehicle 100 in which an included controller 110 identifies the type of a motor 104 based on voltage injection 116. In some embodiments, the vehicle 100 may be an electric vehicle that includes a power source 102. The power source may be a battery pack, a power supply source, or the like in some embodiments. In some embodiments, the vehicle 100 may be an internal combustion engine (ICE) vehicle in which a battery or alternator is used for power generation. As noted above, the motor 104 may reflect a synchronous motor (e.g., a brushless DC electric motor) in some embodiments.

[0022] In the illustrated example, the controller 110 is powered by the power source 102. The controller 110 may, in some embodiments, convert the received DC power to AC, for example via an inverter of the controller. As described herein, the controller 110 may determine or otherwise identify the type of the motor 104. Exemplary types may refer to manufacturer-specific variations, stock keeping units, winding configurations, phase winding to connector pin ordering, number of pole pairs, stator shape, rotor shape, magnet material or grade, or other motor implementations associated with distinct sets of electromagnetic properties and sets of control parameters.

[0023] The controller 110 may include any suitable control hardware that generates the voltage injection 116, measures the current characteristic 114, and determines the type of the motor 104. For example, the controller 110 may include one or more microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, or combinations thereof. The controller 110 may further include an inverter circuit that applies commanded phase voltages to the motor 104, a current sensing circuit that obtains the current characteristic 114, and non-volatile memory that stores identification data, threshold data, and motor-specific parameter values. The controller 110 may execute the identification routine as firmware, software, hardware logic, or a combination thereof.

[0024] An exemplary inverter circuit of controller 110 can convert DC power received from power supply 102 into a multiphase AC drive signal applied to motor 104. In some embodiments, the inverter circuit may include a multiphase bridge circuit having semiconductor switching devices such as metal oxide semiconductor field-effect transistors, insulated gate bipolar transistors, silicon carbide transistors, gallium nitride transistors, or other solid-state switching elements, arranged in a half-bridge or full-bridge topology corresponding to the phase count of motor 104. Controller 110 can drive the switching devices via a gate driver circuit that receives pulse-width modulated control signals from one or more processors and converts the control signals into gate-level switching commands for the semiconductor switching devices. The inverter circuit may support space vector modulation, sinusoidal pulse-width modulation, or another modulation strategy selected by one or more processors. During voltage injection 116, the inverter circuit applies a command phase voltage according to the injection waveform instructed by one or more processors, and during normal motor operation, the inverter circuit applies a drive signal according to parameter values ​​associated with the identified motor type. In some embodiments, the inverter circuit includes one or more DC link capacitors coupled across the DC bus to filter voltage ripple, and one or more temperature sensors coupled to a switching device or a heat sink associated with the switching device.

[0025] With regard to determining or identifying the type of motor 104, for example, during the manufacture of the vehicle, the controller 110 may execute a routine or command to identify the type. The controller 110 may then load or otherwise retrieve parameter values ​​associated with the motor type. As another example, during the use of the vehicle 100 (e.g., by the owner), the controller 110 may determine or otherwise identify the type of motor 104. A service technician may further trigger the controller 110 to determine the motor type. For example, a new motor may be replaced with one in the vehicle 100. In this example, the controller 110 may identify the type of the new motor so that it can load or otherwise retrieve the corresponding parameter values.

[0026] To manage identification over the service life of vehicle 100, controller 110 can store the most recent identification result in memory and selectively re-execute the identification routine when a trigger event occurs. Exemplary trigger events include initial factory commissioning, controller reset, entry into service mode, detection of a motor-related fault, installation of a replacement motor 104, or a discrepancy between the stored identification result and a newly measured electrical response. When no trigger event exists, controller 110 can reuse the stored identification result instead of repeating the identification routine. Once controller 110 has identified the motor type, it can transition from identification mode to normal operation mode and load the corresponding parameter values ​​for the operation of motor 104. Controller 110 can further record the identified motor type along with a timestamp, ignition cycle count, service-event indicator, or other records for diagnostic, warranty, or ownership vehicle analysis purposes.

[0027] The controller 110 can inject a voltage 116 into the motor 104, for example, to query its inductance characteristics. As an example, the controller 110 can apply a rotational voltage vector having a known voltage and frequency. The frequency may be greater than the bandwidth of the mechanical system, such as a threshold greater than the bandwidth of the mechanical system. Thus, the rotor of the motor 104 may be kept stationary or substantially stationary. As is known to those skilled in the art, when the rotor is not rotating, there may be no or substantially no inverse electromagnetic field (EMF). Exemplary frequencies may be 400–800 Hz, 500–1000 Hz, etc. In some embodiments, the controller 110 may start at a first frequency and sweep upward until it determines that the rotor is stationary. For example, the controller 110 may monitor the inverse EMF. As another example, the controller 110 can access rotor position information. Additional techniques may be used and may be included within the scope of the disclosure herein.

[0028] Voltage injection 116 may include applying a rotational voltage vector having a specific frequency and magnitude to the motor 104. In some embodiments, the controller 110 can generate voltage injection 116 as a sinusoidal fundamental wave, a pulse-width modulated approximation of a sinusoidal waveform, a space vector modulated waveform, a stepped phase voltage waveform, or another directed waveform that generates known electrical excitations in the motor 104. Exemplary voltage magnitudes can be between approximately 1V and approximately 20V. In some embodiments, the controller 110 can select a magnitude between approximately 3V and approximately 10V to generate current characteristics 114 with sufficient isolation between motor types while limiting torque disturbances and overheating. The controller 110 can select the magnitude based on the voltage available from the power supply 102, the electrical rating of the motor 104, and the resolution or noise floor associated with measuring the current characteristics 114.

[0029] The controller 110 can select the frequency of voltage injection 116 such that the rotor of the motor 104 remains substantially stationary during the measurement interval. As an example of substantially stationary, the rotor may not experience angular displacement, velocity increase, or back electromotive force generation sufficient to significantly distort the current characteristics 114 on which the identification is based. The controller 110 can monitor this state by evaluating back electromotive force, rotor position information, rotor velocity information, sensorless estimator output, vibration response, or a combination thereof. If the controller 110 detects rotor motion exceeding a threshold, the controller 110 can increase the injection frequency, decrease the injection amplitude, shorten the injection interval, discard the affected measurements, or repeat the routine using different excitation settings.

[0030] In some embodiments, the controller 110 can determine an appropriate injection frequency by sweeping the voltage injection 116 over a candidate frequency range while monitoring the repeatability and isolation of the resulting current characteristics 114. For example, the controller 110 can start at a frequency of about 500 Hz and step up or down in increments of about 10 Hz to about 100 Hz until the measured response remains static and provides a good distinction between candidate motor types. In some embodiments, the controller 110 can run the identification routine in a non-saturated mode where the applied voltage remains low enough for the measured current characteristics 114 to reflect the substantially linear inductive response of the motor 104. In some embodiments, the controller 110 can run the identification routine in a saturation-sensing mode where the applied voltage is increased to drive at least a portion of the magnetic circuit toward saturation, thereby highlighting the differences between motor types. The controller 110 can select between the non-saturated mode and the saturation-sensing mode based on calibration data, expected motor family, available power, or confidence in previous identification results.

[0031] The controller 110 can measure the current characteristics 114. In this example, the controller 110 can measure the phase current during voltage injection 116. In some embodiments, the current characteristics 114 can include the peak phase current. For example, the peak phase current may reflect the peak current during voltage injection. As another example, the peak phase current may reflect the individual peak currents during individual cycles of voltage injection.

[0032] The controller 110 can measure the current characteristics 114 using a current sensing circuit coupled to the motor 104. An exemplary current sensing circuit may include one or more shunt resistors, Hall effect sensors, magnetoresistive sensors, current transformers, current mirror-based sensing circuits, or a combination thereof. In some embodiments, the current sensing circuit may be coupled to a DC link return path shared by one, two, all, or more of the three motor phases between the inverter circuit and the motor 104. The current sensing circuit can provide an analog signal indicating the instantaneous phase current to one or more analog-to-digital converters of the controller 110, and one or more amplifiers, offset correction circuits, anti-aliasing filters, or other adjustment circuits can adjust the analog signal before digitization.

[0033] The controller 110 can sample the measured current at a speed faster than the voltage injection frequency 116, for example, at least about twice the injection frequency, and in some embodiments, several times the injection frequency, so that the controller 110 can decipher inter-cycle variations and identify a typical current response. To reduce the influence of transient behavior at the start of voltage injection 116, the controller 110 can ignore one or more initial cycles and evaluate the later portion of the response after the injected waveform has reached a repeatable state. The controller 110 can further filter the measured current using a low-pass filter, a moving average filter, a band-pass filter centered on the injection frequency, or another filter to suppress switching noise, sensor offset, or irrelevant current components. If the current sensing circuit measures fewer phases than all phases, the controller 110 can reconstruct the unmeasured phase currents based on the current summation relationship between the motor phases.

[0034] In some embodiments, the controller 110 can derive the current characteristics 114 from multiple injection cycles rather than from a single instantaneous sample. For example, the controller 110 can determine the peak value for each of several cycles and calculate the mean, median, trimmed mean, mode, or other representative statistics over approximately 5 to approximately 500 cycles. The current characteristics 114 may additionally or alternatively include RMS current values, current rise time constants, current decay time constants, waveform envelopes, standard deviations, harmonic components, frequency domain features obtained from fast Fourier transforms, or responses measured at multiple injection frequencies. Before identifying the motor type, the controller 110 can normalize the current characteristics 114 with respect to bus voltage, temperature, sensor offset, or other operating conditions so that comparison with stored identification data remains consistent across different operating states of the vehicle 100.

[0035] The controller 110 can determine or otherwise identify the type of motor 104 based on the current characteristics 114. The controller 110 can compare the measured current characteristics 114 with stored identification data for multiple candidate motor types. In some embodiments, the controller 110 can access a lookup table that associates each lower and upper threshold of the current characteristics 114 with the corresponding motor type, and the lookup table can define margins or protection bands between adjacent ranges to reduce ambiguous classifications. The controller 110 can additionally or alternatively evaluate one or more decision boundaries, nearest neighbor relationships, or multidimensional feature comparisons when the current characteristics 114 include two or more measured metrics or two or more injection conditions. The controller 110 can derive stored thresholds or decision boundaries from calibration data collected across a motor production population so that the identification takes into account inter-unit variability within a given motor type, while maintaining separation between different motor types. In some embodiments, the controller 110 can calculate a confidence value based on the distance between the measured current characteristic 114 and an adjacent threshold, based on the variance across repeated measurements, or based on the agreement between multiple injected test conditions. The controller 110 can accept identification when the confidence value exceeds the threshold.

[0036] In some embodiments, if the measured current characteristics 114 are outside the expected range, overlap with adjacent ranges, or vary beyond a reproducibility threshold, the controller 110 may repeat the voltage injection 116 using different frequencies, different voltage amplitudes, or both. If the controller 110 has not yet obtained a sufficiently reliable classification, the controller 110 may assign an unknown type of state, store a diagnostic trouble code, select a fallback parameter set with reduced operational limitations, or prohibit the normal operation of the motor 104 that is being held in servicing. The controller 110 can scale the identification framework beyond two candidate motor types by storing threshold ranges, feature sets, or model entries for three, five, ten, or more supported motor types and evaluating the measured current characteristics 114 for each of the stored candidate sets.

[0037] Based on the identification, the controller 110 can obtain parameter values ​​related to the operation of the motor 104 (e.g., values ​​of operating parameters). Exemplary parameter values ​​may include control parameters such as the use of a feature set, starting sequence, controller gain, motor inductance, motor resistance, motor flux coupling, and motor pole pair number. Exemplary parameter values ​​may also include limiting parameters such as maximum speed, minimum speed, maximum phase current, minimum phase current, maximum phase voltage, minimum phase voltage, maximum temperature, and minimum temperature.

[0038] In addition to the parameters described above, motor type identification allows the controller 110 to determine differences in how the phase windings of the motor 104 are physically assigned to the connector pins. Different types of motors may present different assignments from phase windings to connector pins in a shared electrical connector interface. For example, a first motor type may map its W, V, and U phase windings to connector pins in a first order. In this example, a second motor type may map the same phase windings to the same connector pins in a different order, resulting in the phase order presented in the connector interface of the second motor type being either reversed or rearranged with respect to the phase order of the first motor type. The first and second motor types may share the same connector form factor, number of pins, and mechanical mounting configuration, but the internal routing between each phase winding terminal and the corresponding connector pin may differ. For example, since the controller 110 generates commutation signals according to the assumed phase-to-pin mapping, applying a drive signal intended for a first motor type to a second motor type without correcting the phase assignment may result in technical problems. Illustrative technical problems may include inaccurate commutation sequences, reversed or otherwise degraded torque generation, increased acoustic noise, increased vibration, thermal stress in the motor windings, or uncontrolled motor behavior.

[0039] Therefore, in some embodiments, the controller 110 can select a phase mapping configuration corresponding to an identified motor type. The phase mapping configuration can define the association between the drive signal output of the controller 110 and the corresponding phase winding of the motor 104 of that motor type. The controller 110 can access each phase mapping configuration for known motor types (for example, via memory). In some embodiments, the configurations may be stored as entries in a parameter table indexed by the motor type identifier. Once a phase mapping configuration is selected, the controller 110 routes its drive signal output to the phase winding of the motor 104 according to the selected mapping so that the commutation sequence proceeds correctly for the identified motor type. This phase remapping is performed in the signal domain within the controller 110, for example, by rearranging pulse width modulation channel assignments or by swapping phase voltage references before modulation, and may not require separate wiring harnesses, additional hardware switches, jumper connections, or manual intervention by a technician. In this way, the controller 110 can drive any supported motor type through the same physical connector and cable assembly by adjusting the logical assignment of the drive signals to the connector pins based on the identification result.

[0040] Figure 1B shows a block diagram in which the controller 110 identifies the motor type based on the current characteristics of the connected motor. The controller 110 includes a motor identification engine 120 and a voltage / current control engine 122 that cooperate to perform identification routines within the controller 110. The motor identification engine 120 exchanges commands and measurement data with the voltage / current control engine 122 so that the controller 110 can instruct test excitation, acquire the resulting current response, and determine the motor type from the measured response. In this configuration, the voltage / current control engine 122 handles voltage injection and current acquisition, while the motor identification engine 120 handles the interpretation of the measured current characteristics and selection of the identification result. The controller 110 can then use the identification result to select operating parameters and phase mapping information, for example, as described herein with respect to Figure 1A.

[0041] The voltage / current control engine 122 can inject a known voltage into a connected motor and measure the resulting current characteristics while the rotor remains stationary or substantially stationary. The voltage / current control engine 122 can generate a rotational voltage vector, linear and transverse excitation, pulse width modulation approximation of a specified waveform, or another controlled high-frequency excitation that produces a reproducible electrical response. To ensure that inductive behavior rather than rotor motion continues to dominate the measured current characteristics, the voltage / current control engine 122 can select an injection frequency that is larger than the mechanical bandwidth of the motor system, for example, around several hundred hertz.

[0042] The voltage / current control engine 122 can also adjust the injection magnitude, injection duration, or injection frequency in response to the identification mode or feedback from the motor identification engine 120. During the measurement interval, the voltage / current control engine 122 can sample the phase current at a rate of at least about twice the injection frequency, ignore one or more initial transient cycles, and filter the measured current using a low-pass filter, moving average filter, or band-pass filter centered on the injection frequency. The voltage / current control engine 122 can provide the motor identification engine 120 with peak current, RMS current, waveform shape data, or other current characteristics.

[0043] The motor identification engine 120 can utilize the current characteristics obtained while the rotor is stationary or substantially stationary so that the speed-dependent term does not significantly distort the identification metric. In one example, the controller 110 can represent the linear and transverse voltages according to the following relationship:

number

[0044] In these relationships, the controller 110 can use R to indicate winding resistance, and i to indicate linear current and transverse current. d and i q L can be used to indicate the linear inductance and the transverse inductance. d and L q You can use ω e This can reflect the rotation of the rotor (e.g., electric speed), λ pm This can demonstrate the magnetic flux coupling of permanent magnets.

[0045] When the voltage / current controlled engine 122 applies high-frequency injection, the rotor remains stationary or substantially stationary. Therefore, in high-frequency voltage injection, this term can be set to 0. The voltage frequency is determined by the resistance [R*i q Or R*i dThe voltage drop across the inductance [Math.] or [Math.] is selected to be sufficiently small compared to the voltage drop across. Thus, as can be appreciated, the above equation can be simplified as follows. [Math.] Under this condition, the motor identification engine 120 can identify the motor type from the measured current response without commanding rotor rotation.

[0046] In some embodiments, the motor identification engine 120 can estimate one or more inductance characteristics from the measured current waveform generated in response to a known excitation commanded by the voltage / current control engine 122. For a previously uncharacterized motor, the motor identification engine 120 can derive L from the measured current waveform d , L q , or an effective inductance value. For a previously characterized population of motors, the motor identification engine 120 can compare the estimated inductance characteristics, or another extracted current characteristic such as peak current, to stored identification data, and select the motor type corresponding to the measured response. As described herein, the controller 110 can store the identification data as a look-up table or other mapping that associates ranges of measured response values with corresponding motor types. For example, the motor identification engine 120 can map the measured peak current values to threshold ranges associated with a specific motor type. L d and L qIn embodiments where the motors are similar (e.g., nearly equal within a threshold, equal), the motor identification engine 120 can identify the motor type based on the valid induction response, L d and L q In different embodiments, the motor identification engine 120 can use linear response information and transverse response information as separate identification features.

[0047] Using the current characteristics returned by the voltage / current control engine 122, the motor identification engine 120 can compare the measured response with stored identification data associated with multiple motor types. For example, the motor identification engine 120 can evaluate threshold ranges, reference values, lookup entries, or decision boundaries based on two or more measured features. In response to the match between the measured response and the stored identification data, the motor identification engine 120 can determine the motor type and calculate a confidence value based on the distance to adjacent thresholds, repeatability across cycles, match across multiple injections, or another consistency measure. If the confidence value falls below a threshold, the motor identification engine 120 can instruct the voltage / current control engine 122 to repeat the injection at different frequencies, different magnitudes, or both. If repeated measurements remain outside the expected range, the controller 110 can classify the connected motor as unknown or apply a fallback set of actions until a valid identification is obtained. The motor identification engine 120 can support two or more candidate motor types by evaluating the measured current characteristics against the corresponding stored data for each supported type.

[0048] After the motor identification engine 120 identifies the motor type, the controller 110 can use the identification result to select the operating parameters of the connected motor. The controller 110 can access a parameter table, phase mapping configuration, or other calibration data related to the identified motor type and load the selected data into the active motor control routine. During operation, the voltage / current control engine 122 can then drive the connected motor according to the selected calibration, including the selected phase ordering or commutation mapping, if appropriate. In some embodiments, the controller 110 can store the identification result in non-volatile memory and re-execute the interaction between the motor identification engine 120 and the voltage / current control engine 122 after reset, during servicing, or in response to the detection of a motor-related fault.

[0049] Figure 2 shows exemplary current characteristics related to voltage injection. The illustrated example includes current characteristics related to motor type A and motor type B. These current characteristics can reflect measurements across a large number of motors of each type. The y-axis shows occurrences, reflecting the number of times a particular peak current occurs. The x-axis shows the peak current. As shown in the illustration, the peak current related to motor type A is different from the peak current related to motor type B. Therefore, ranges (e.g., lower and upper threshold limits) can be established for each motor type. In this way, the controller described above can measure the peak current and determine whether it is between the thresholds related to the motor type. In some embodiments, a motor may be discarded if it falls outside one of these ranges.

[0050] Figure 3 is a flowchart of an exemplary process for identifying the motor type based on the voltage injection technique described herein. For convenience, process 300 is described as being performed by a controller (e.g., controller 110).

[0051] In block 302, the controller injects a voltage, such as a high-frequency voltage, into the motor. For example, this may cause inductance saturation. In some embodiments, this may not cause inductance saturation. As described above, the motor rotor may be stationary or substantially stationary. In block 304, the controller records the current characteristics. In block 306, the controller identifies the type of motor. With respect to the current characteristics being peak current, the controller can identify whether the peak current is within the range of currents known to be associated with a particular type of motor. In block 308, the controller accesses parameter values ​​to be used when operating the motor.

[0052] In block 302, the system injects a high-frequency voltage into the motor. The system can apply the high-frequency voltage as a rotational voltage vector having a known voltage amplitude and a known frequency. The system can select a frequency such that the frequency remains much larger than the bandwidth of the mechanical system, thereby keeping the rotor stationary or substantially stationary during the injection interval. Under that condition, the resulting current is governed by the inductive characteristics of the motor. In some embodiments, the high-frequency voltage causes inductance saturation, while in other embodiments, the high-frequency voltage does not cause inductance saturation.

[0053] In block 304, the system records the current characteristics during the high-frequency voltage injected in block 302. The current characteristics may include peak currents, such as the peak phase current, recorded during voltage injection. The system may record the current characteristics while the rotor remains stationary or substantially stationary so that the recorded response corresponds to known injection conditions rather than the motor's driving rotation. If the system appropriately selects the injection frequency, the recorded current characteristics will directly correlate with the motor's inductive characteristics.

[0054] In block 306, the system identifies the motor type based on the current characteristics recorded in block 304. With respect to the current characteristics, which are peak currents, the system can determine whether the measured peak current falls within the range of currents known to be associated with a particular type of motor. Thus, the system can distinguish between different motor types by comparing the measured current response generated under the known high-frequency voltage in block 302 with a previously established current range. In this way, the system identifies the motor type from the electrical response that reflects the inductive behavior of the motor.

[0055] In block 308, the system accesses parameter values ​​for the identified motor type. These parameter values ​​may include values ​​used to operate the motor after identification in block 306. The system can access parameter values ​​from stored data that associates the motor type with corresponding operating data, and then use the accessed parameter values ​​to control the motor according to the identified motor type.

[0056] The system can then implement the accessed parameter values ​​in an active motor control routine. For example, the system can load controller gain, phase mapping information, commutation sequencing data, start sequence data, pulse width modulation settings, field weakening threshold, and operating limits associated with the identified motor type into the working memory used by the drive routine. Based on the loading or access of parameter values, the system can transition from identification mode to normal operation mode and drive the motor according to the selected calibration.

[0057] During subsequent operation, the system can apply the accessed parameter values ​​to start control, steady-state speed control, torque generation, fault monitoring, and enforcement of limits for the identified motor type. For example, the system can use a selected phase mapping to align the controller output with the phase windings of the identified motor, apply gains associated with that motor type, and enforce current, voltage, temperature, or speed limits associated with that motor type. If the resulting motor response indicates that the selected parameter values ​​are no longer appropriate, such as after a controller reset, service event, motor replacement, or detection of a discrepancy between the expected and measured response, the system can re-execute process 300 and update the active parameter values ​​based on the new identification results. The system can further store a display of the identification results and active parameter set in memory for later start-up, diagnostic, service, warranty, or ownership vehicle analysis applications.

[0058] In some embodiments, the system performs process 300 for motors used in vehicle subsystems such as heating, ventilation, and air conditioning blowers, coolant pumps, radiator fans, or oil pumps. The same process 300 can also be used for other electric-driven blower, fan, or pump applications where different motor types share a common controller interface but use different operating parameters. By identifying the motor type and then applying corresponding parameter values ​​during operation, the system can control different supported motor variants through a common controller architecture during factory commissioning, vehicle use, and servicing.

[0059] [Additional Implementations] It should be understood that not all objectives or benefits can necessarily be achieved by following any particular embodiment described herein. Therefore, for example, a person skilled in the art will recognize that a particular embodiment may be configured to operate in a manner that achieves or optimizes one benefit or set of benefits taught herein, without necessarily achieving other objectives or benefits that can be taught or suggested herein.

[0060] All processes described herein can be fully automated via software code modules containing one or more specific computer-executable instructions executed by a computing system. The computing system may include one or more computers or processors. The code modules may be stored in any type of non-temporary computer-readable medium or other computer storage device. Some or all of the methods may be implemented in dedicated computer hardware.

[0061] Many other variations not described herein will be apparent from this disclosure. For example, depending on the embodiment, any particular operation, event, or function of any of the processes described herein may be performed in a different order, added, combined, or completely excluded (for example, not all described operations or events are necessary for the execution of the process). Furthermore, in certain embodiments, operations or events may be performed not sequentially, but simultaneously, for example, through multithreading, interrupt handling, or through multiple processors or processor cores, or on other parallel architectures. Furthermore, different tasks or processes may be performed by different machines and / or computing systems that can work together.

[0062] The various exemplary logic blocks and modules described in relation to the embodiments disclosed herein can be implemented or executed by machines such as processing units or processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. The processor may be a microprocessor, but in alternative examples, the processor may be a controller, microcontroller, or state machine, or a combination thereof. The processor may include electrical circuits configured to process computer-executable instructions. In another embodiment, the processor includes an FPGA or other programmable device that performs logical operations without processing computer-executable instructions. The processor may also be implemented as a combination of external computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. Although this specification primarily describes digital technologies, the processor may also primarily include analog components. A computing environment may include, but is not limited to, any type of computer system based on a microprocessor, mainframe computer, digital signal processor, external portable computing device, device controller, or in-device computing engine.

[0063] In particular, conditional language such as “can,” “could,” “might,” or “may,” unless otherwise specified, is understood differently in the context of its general use to indicate that a particular embodiment includes certain features, elements, and / or steps, but other embodiments do not. Therefore, such conditional language is not generally intended to imply that features, elements, and / or steps are required in one or more embodiments, or that one or more embodiments necessarily include logic for determining whether these features, elements, and / or steps are included in or performed within any particular embodiment, with or without user input or prompting.

[0064] Disjunctive language, such as the phrase "at least one of X, Y, or Z," is generally understood in its context to indicate that an item, term, etc., may be X, Y, Z, or any combination thereof (e.g., X, Y, and / or Z), unless otherwise specified. Therefore, such disjunctive language is not generally intended, nor should it be, to imply that a particular embodiment requires the presence of at least one X, at least one Y, or at least one Z, respectively.

[0065] Any process description, element, or block in the flowcharts described herein and / or shown in the accompanying drawings should be understood as potentially representing a module, segment, or portion of code containing one or more executable instructions for performing a particular logical function or element in the process. Alternative implementations are included within the scope of the embodiments described herein, in which elements or functions are removed or executed in a different order from that shown or discussed, including substantially simultaneous or reversed order, depending on the function included, as understood by those skilled in the art.

[0066] Unless otherwise specified, articles such as "a" or "an" should generally be interpreted as including one or more of the listed items. Therefore, phrases such as "devices configured to perform" are intended to include one or more of the enumerated devices. Such one or more enumerated devices can also be collectively configured to perform the stated enumeration. For example, "processors configured to perform enumerations A, B, and C" may include a first processor configured to perform enumeration A, which operates in conjunction with a second processor configured to perform enumerations B and C.

Claims

1. A method implemented by the controller, A step of injecting voltage into a motor, wherein the motor includes a rotor, and the voltage is associated with a frequency selected to keep the rotor substantially stationary; A step of identifying the type of motor from among a plurality of types of motors based on the current characteristics measured in response to the injected voltage, A step of accessing parameter values ​​related to the identified type of the motor, wherein the controller is configured to trigger the operation of the motor according to the parameter values; Methods that include...

2. The method according to claim 1, wherein the controller is included in the vehicle and the motor is related to heating, ventilation and air conditioning (HVAC).

3. The method according to claim 1, wherein the frequency is greater than the mechanical bandwidth of the mechanical system including the motor, such that the rotor remains substantially stationary during the injection.

4. The method according to claim 1, wherein the injected voltage causes inductance saturation, thereby the current response of the motor is governed by the inductive characteristics of the motor.

5. The method according to claim 1, wherein the current characteristics reflect the peak current.

6. The method according to claim 5, wherein the step of identifying the type of motor is based on the fact that the peak current is within a range associated with the type of motor.

7. The method according to claim 5, wherein the current characteristics are measured over a plurality of cycles related to the voltage.

8. The method according to claim 1, wherein the parameter values ​​include control parameters and / or limiting parameters.

9. The method according to claim 8, wherein the control parameters include at least one of the following: use of a feature set related to the identified type of motor, starting sequence, controller gain, motor inductance, motor resistance, motor flux coupling, or number of motor pole pairs.

10. The method according to claim 8, wherein the limiting parameter includes at least one of the following: maximum speed, minimum speed, maximum phase current, minimum phase current, maximum phase voltage, minimum phase voltage, maximum temperature, or minimum temperature, relating to the identified type of motor.

11. The method according to claim 1, wherein the parameter values ​​reflect the gain and / or operating point.

12. The method according to claim 1, further comprising determining a confidence value associated with the identified type based on the measured current characteristics, and repeating the injection at different frequencies or voltage magnitudes in response to the confidence value falling below a confidence threshold.

13. It is a controller, An inverter circuit configured to inject a voltage waveform into the motor at a frequency that keeps the motor rotor in a substantially stationary state, A current sensing circuit configured to measure the current characteristics of the motor while the voltage waveform is injected, wherein the current characteristics reflect the inductive characteristics of the motor. One or more processors, The voltage waveform is injected into the motor at the aforementioned frequency via the inverter circuit, Based on the current characteristics measured in accordance with the injected voltage waveform, the type of motor is identified from among multiple types of motors. One or more processors configured to access parameter values ​​related to the identified type of the motor, wherein the controller is configured to trigger the operation of the motor according to the parameter values, A controller equipped with the following features.

14. The controller according to claim 13, wherein the type of the motor is identified based on a peak current that is shown to be within a range related to the type of motor via the current characteristics.

15. The controller according to claim 13, wherein, in order to access the parameter values, one or more processors are configured to access lookup tables that associate individual types of motors with lower and upper threshold values ​​that define a range of expected peak currents.

16. The controller according to claim 13, wherein the parameter value includes phase mapping information, and the one or more processors select the phase winding mapping of the motor based on the identified type.

17. It is a vehicle, Power supply and A controller according to claim 13, wherein the controller is configured to receive DC power from the power supply, A motor configured to receive AC power from the aforementioned controller, A vehicle equipped with the following features.

18. The vehicle according to claim 17, wherein the motor is a DC brushless electric motor.

19. The vehicle according to claim 17, wherein the motor is configured to be used in one or more of the following: heating, ventilation and air conditioning (HVAC), blower, coolant pump, or radiator fan.

20. The vehicle according to claim 17, wherein the controller stores the identified type in a non-volatile memory and re-executes the identification in response to a trigger event.