Rotor angle error compensation for electric machines

By using a neural network circuit device to train and generate rotor angle offset, the instability problem caused by rotor angle deviation in the motor control system is solved, achieving higher accuracy and stability, and adapting to changes in the motor during use.

CN113224989BActive Publication Date: 2026-01-09INFINEON TECHNOLOGIES AG
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110056289.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-17
Filing Date
2021-01-15
Publication Date
2026-01-09
Estimated Expiration
2041-01-15

AI Technical Summary

Technical Problem

In existing motor control systems, there is a deviation between the sensed or estimated rotor angle and the actual rotor angle value, which leads to motor control instability and performance degradation, especially at high speeds. Lookup tables and compensation methods using linear or nonlinear functions cannot adapt to the motor's changing curves.

Method used

A neural network circuit device is used to train and generate rotor angle offset, replacing lookup tables or linear/nonlinear functions. Adaptive compensation is performed based on instantaneous rotor speed. By training the neural network circuit device to generate rotor angle offset, the instantaneous voltage value of the d-axis is minimized, thereby improving the accuracy and stability of rotor angle estimation.

Benefits of technology

It improves the accuracy of rotor angle estimation and the stability of motor control, adapts to changes in motor operation, reduces instability caused by rotor angle deviation, and enhances the overall performance of the motor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113224989B_ABST
    Figure CN113224989B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to rotor angle error compensation for electric machines. An apparatus for driving an electric machine includes an electric machine circuit apparatus and a neural network circuit apparatus. The electric machine circuit apparatus is configured to generate a d-axis instantaneous current value based on an error-compensated rotor angle and currents at a plurality of phases of the electric machine, and to generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value. The electric machine circuit apparatus is further configured to generate voltages at the plurality of phases based on the d-axis instantaneous voltage value. The neural network circuit apparatus is configured to generate a rotor angle offset based on an instantaneous rotor speed at the electric machine. The neural network circuit apparatus has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric machine. The error-compensated rotor angle is based on the rotor angle offset.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to electric motors, and more specifically, to techniques and circuitry associated with field-oriented control (FOC) for electric motors. BACKGROUND

[0002] Operation of an electric motor can be performed by a motor circuitry device. The motor circuitry device controls rotation of a rotor of the electric motor based on a position of the rotor relative to stator windings of the electric motor. For example, the motor circuitry device can drive current at each phase of the electric motor based on the position of the rotor to maximize torque output by the electric motor. SUMMARY

[0003] The present disclosure describes techniques, devices, and systems for improving operation of a motor circuitry device for driving an electric motor. Rather than relying on a lookup table or a nonlinear function to estimate a rotor angle offset to compensate for a measured or estimated rotor position of the electric motor from a true rotor position, a neural network circuitry device can be trained to generate the rotor angle offset. In this way, the motor circuitry device can use a more accurate rotor angle offset compared to systems that rely on a lookup table, a linear function, or a nonlinear function.

[0004] In one example, the present disclosure relates to a device for driving an electric motor, the device comprising: a motor circuitry device configured to: generate a d-axis instantaneous current value based on an error-compensated rotor angle and current at a plurality of phases of the electric motor; generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value; and generate a voltage at the plurality of phases based on the d-axis instantaneous voltage value; and a neural network circuitry device configured to generate a rotor angle offset based on an instantaneous rotor speed at the electric motor, wherein the neural network circuitry device has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric motor, and wherein the error-compensated rotor angle is based on the rotor angle offset.

[0005] In another example, the present disclosure relates to a method, the method comprising: generating, by a processing circuitry device and based on an error-compensated rotor angle and current at a plurality of phases of an electric motor, a d-axis instantaneous current value; generating, by the processing circuitry device, a d-axis instantaneous voltage value based on the d-axis instantaneous current value; generating, by the processing circuitry device, a voltage at the plurality of phases based on the d-axis instantaneous voltage value; and generating, by a neural network circuitry device of the processing circuitry device, a rotor angle offset based on an instantaneous rotor speed at the electric motor, wherein the neural network circuitry device has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric motor, and wherein the error-compensated rotor angle is based on the rotor angle offset.

[0006] In one example, the disclosure relates to an apparatus for driving a motor, the apparatus comprising: a motor circuit apparatus configured to: generate a d-axis instantaneous current value based on an error-compensated rotor angle and currents at a plurality of phases of the motor; generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value; and generate voltages at the plurality of phases based on the d-axis instantaneous voltage value; and a neural network circuit apparatus configured to: impose training on a plurality of neurons of the neural network circuit apparatus to configure the plurality of neurons to generate, for each of a plurality of rotor speeds, a respective rotor angle offset that minimizes the d-axis instantaneous voltage value; and after imposing the training, generate the rotor angle offset based on an instantaneous rotor speed at the motor, wherein the error-compensated rotor angle is based on the rotor angle offset.

[0007] In another example, the disclosure relates to an apparatus comprising: means for generating a d-axis instantaneous current value based on an error-compensated rotor angle and currents at a plurality of phases of a motor; means for generating a d-axis instantaneous voltage value based on the d-axis instantaneous current value; means for generating voltages at the plurality of phases based on the d-axis instantaneous voltage value; and means for generating, by a neural network circuit apparatus, a rotor angle offset based on an instantaneous rotor speed at the motor, wherein the neural network circuit apparatus has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the motor, and wherein the error-compensated rotor angle is based on the rotor angle offset.

[0008] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS

[0009] Figure 1 is a block diagram illustrating an example first system configured to drive a motor using an error-compensated rotor angle in accordance with one or more techniques of the present disclosure.

[0010] Figure 2 is a block diagram illustrating an example second system configured to drive a motor using an error-compensated rotor angle in accordance with one or more techniques of the present disclosure.

[0011] Figure 3 is a block diagram illustrating an example system configured to perform a first step of training a neural network circuit apparatus to generate a rotor angle offset in accordance with one or more techniques of the present disclosure.

[0012] Figure 4 is a block diagram illustrating an example system configured to perform a second step of training a neural network circuit apparatus to generate a rotor angle offset in accordance with one or more techniques of the present disclosure. Figure 3a second step of the neural network circuit arrangement.

[0013] Figure 5 is a block diagram illustrating an example system configured for training a neural network circuit arrangement to generate a rotor angle offset, in accordance with one or more techniques of the present disclosure.

[0014] Figure 6 is a block diagram illustrating an example system configured for using a neural network circuit arrangement to generate a rotor angle offset based on an instantaneous rotor speed at an electric machine, in accordance with one or more techniques of the present disclosure.

[0015] Figure 7 is a block diagram illustrating an example system configured for training a neural network circuit arrangement and using the neural network circuit arrangement to generate a rotor angle offset, in accordance with one or more techniques of the present disclosure.

[0016] Figure 8 is a block diagram illustrating an example neural network circuit arrangement trained to generate a rotor angle offset, in accordance with one or more techniques of the present disclosure.

[0017] Figure 9 is a plot of a true rotor angle offset and a rotor angle offset output by a neural network circuit arrangement, in accordance with one or more techniques of the present disclosure.

[0018] Figure 10 is a flowchart for driving an electric machine using a rotor angle offset, in accordance with one or more techniques of the present disclosure.

[0019] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims. DETAILED DESCRIPTION

[0020] An example field-oriented motor control (FOC) system can control an electric machine, such as, but not limited to, for example, a permanent magnet synchronous motor (PMSM). In this example, the electric machine circuit arrangement can perform a Clarke transform, perform a Park transform, and perform space vector modulation to apply a voltage to a phase of the electric machine. In this example, the electric machine circuit arrangement can perform the Park transform based on a sensed rotor angle value ("Θ S ") measured with a rotor position sensor circuit arrangement. Although this example uses a sensed rotor angle value, some examples can additionally or alternatively include an estimated rotor angle value derived or calculated by a rotor position estimation circuit arrangement.

[0021] Hardware delays, software delays, and / or inaccuracies can cause the sensed rotor angle value (or the estimated rotor angle value) that is fed to the control algorithm to deviate from the true rotor angle value ("Θ T "). To help implement stable and performant control algorithms, the motor circuit device can be configured to minimize the difference between the true rotor angle value and the sensed rotor angle value. For example, the motor circuit device can be configured to generate a compensated rotor angle value based on the sensed rotor angle value such that the difference between the true rotor angle value and the compensated rotor angle value is zero. In some examples, the motor circuit device can be configured to minimize the difference between the true rotor angle value and the estimated rotor angle value. For example, the motor circuit device can be configured to drive the difference between the true rotor angle value and the estimated rotor angle value to zero.

[0022] The motor circuit device can benefit from high precision in the compensated rotor angle value determination to compute a desired d-axis instantaneous voltage, which can be derived by a proportional-integral controller from a d-axis instantaneous current, for example. In some examples, the d-axis instantaneous current can be represented in a first rotating reference frame that is fixed to a rotor of the motor. In some examples, the d-axis instantaneous current can be represented in a first rotating reference frame that is fixed to a stator of the motor. Similarly, the motor circuit device can benefit from high precision in the compensated rotor angle value determination to compute a desired q-axis instantaneous voltage, which can be derived by a proportional-integral controller from a q-axis instantaneous current, for example. In some examples, the q-axis instantaneous current can be represented in a second rotating reference frame that is perpendicular to the first rotating reference frame used for the d-axis instantaneous current.

[0023] Furthermore, for some control algorithms, the motor circuit device can be configured to align the compensated rotor angle value with a phase current measurement. In this example, misalignment between the phase current and the compensated rotor angle value can cause the motor circuit device to compute a d-axis instantaneous voltage and / or a q-axis instantaneous voltage that does not correspond to (e.g., match) the actual physical system, which can in turn cause instability. At least due to this misalignment, the motor controller can lose control of the overall motor system.

[0024] Some example reasons for causing the sensed rotor angle value and / or the estimated rotor angle value to deviate from the true rotor angle value can include, but are not limited to, position sensor delay, transmission delay, stale computation time, pulse width modulation (PWM) techniques (e.g., delay in averaging over time), temperature drift, or other reasons. Position sensor delay can include inherent signal delays from the time of position acquisition, to generating a captured value, to transmitting the captured value. Transmission delay can include delays from transmitting the captured value to a motor circuit device (e.g., microcontroller). For example, transmission delay can include delays from one or more low pass filters used for signal conditioning. Stale computation time for FOC can refer to delays in the calculations made by the motor circuit device. For example, stale computation time can include delays in the motor circuit device (e.g., microcontroller) in performing a Clarke transformation, performing a Park transformation, and / or performing a space vector modulation. All of the above-listed effects can be present at every motor speed, but FOC systems can be inherently more sensitive to those effects at higher speeds compared to other systems. Accordingly, especially in the field weakening mode of operation, the motor circuit device can compensate the sensed rotor angle value or the estimated rotor angle value to help ensure that the true rotor angle value is used to control the motor.

[0025] To help account for the deviation of the sensed rotor angle value from the true rotor angle value, the motor circuit device can be configured to calculate a rotor angle offset based on an instantaneous rotor speed at the motor. For example, some systems can use a lookup table (LUT) to generate the rotor angle offset. However, the non-linear behavior of the relationship between the rotor angle offset and the instantaneous rotor speed can cause the lookup table to take up a large amount of storage space. Additionally, the lookup table can be based on a function that does not accurately match the calculated rotor angle offset to the true rotor angle offset.

[0026] Some systems can use linear or non-linear functions to help account for the deviation of the sensed rotor angle value from the true rotor angle value. However, the functionality to fit the linear function and / or the non-linear function can require a large amount of computation. Additionally, techniques using the lookup table, the linear function, and / or the non-linear function can rely on manual input. For example, techniques using the lookup table, the linear function, and / or the non-linear function can rely on an initial compensation value input by a human user. As such, techniques using the lookup table and / or techniques using the linear or non-linear function can not be able to adapt to a transformation curve (e.g., sensed rotor angle values for different instantaneous rotor speeds) during the lifetime of the motor circuit device and / or the motor.

[0027] The neural network circuitry can be trained to generate a rotor angle offset instead of relying on a lookup table, a linear function, or a nonlinear function to estimate a rotor angle offset to compensate for a deviation between a sensed rotor angle value or an estimated rotor angle value and a true rotor angle value. In this way, the motor circuitry can use a more accurate rotor angle offset compared to systems that rely on a lookup table, a linear function, or a nonlinear function. Further, the motor circuitry can adapt to the rotor angle offset as the motor circuitry and / or the motor are online (e.g., in use), which can improve stability of the motor circuitry compared to systems that use a lookup table, a linear function, or a nonlinear function to estimate a rotor angle offset. In this way, the techniques described herein using neural network circuitry can enable a simplified and automatic use-in-life adaptive compensation of angle errors.

[0028] Figure 1 FIG. 1 is a block diagram illustrating an example first system 100 configured to drive a motor 104 using an error-compensated rotor angle, in accordance with one or more techniques of the present disclosure. The system 100 can include a motor circuitry 102, the motor 104, logic circuitry 106, and neural network circuitry 108. Although Figure 1 The system 100 is illustrated as having separate and distinct components, but some components can be combined or further separated. For example, the motor circuitry 102, the logic circuitry 106, and the neural network circuitry 108 can be combined. For example, the motor circuitry 102, the logic circuitry 106, and the neural network circuitry 108 can be formed as an integrated circuit (IC). However, in some examples, the motor circuitry 102 can be separate and distinct from the logic circuitry 106 and / or the neural network circuitry 108.

[0029] The motor 104 can include a permanent magnet synchronous motor (PMSM). For example, the PMSM can include a shaft, a rotor, a stator, and permanent magnets. The permanent magnets can be mounted on or in the rotor. In some examples, the permanent magnets can be surface mounted to the rotor, embedded in the rotor, or buried within the rotor. In some examples, the permanent magnets can be interior magnets. The permanent magnets can include rare earth elements, such as neodymium iron boron (NdFeB), samarium cobalt (SmCo), or ferrite elements (e.g., barium (Ba) or strontium (Sr)). In some examples, the permanent magnets can include a protective coating, such as a layer of gold (Au), nickel (Ni), zinc (Zn), or the like. In some examples, the motor 104 can be a DC-excited motor.

[0030] The motor circuitry 102 can be configured to generate voltages at phases of the motor 104 to drive the motor 104. For example, as illustrated, the motor circuitry 102 can be configured to output a first phase voltage (“V A"), second phase voltage ("V") B ") and the third phase voltage ("V C The motor circuit 102 can be driven by a control circuit 120, a conversion circuit 124, and an inverse conversion circuit 122, as shown in the figure. For example, the motor circuit 102 can include a microcontroller on a single integrated circuit containing a processor core, memory, inputs, and outputs. For example, the motor circuit 102 can include one or more processors, including one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuit devices, and any combination of these components. The terms "processor" or "processing circuit device" can generally refer to any of the aforementioned logic circuit devices, alone or in combination with other logic circuit devices or any other equivalent circuits. In some examples, the motor circuit 102 can be a combination of one or more analog components and one or more digital components.

[0031] The conversion circuit device 124 can be configured to be based on the error-compensated rotor angle ("Θ") output by the logic circuit device 106. C ") and the multiple currents in motor 104 to generate the instantaneous current value of the d-axis ("I") d For example, the conversion circuit device 124 can be based on the error-compensated rotor angle output and the first phase current (“I”). A "), second phase current ("I") B ") and the third phase current ("I C The instantaneous current value of the d-axis can be generated (e.g., using the Parker transform, Clarke transform, etc.). The instantaneous current of the d-axis can be represented in a first rotating reference frame fixed to the rotor or stator of the motor 104.

[0032] Similarly, the conversion circuit device 124 can be configured to generate the instantaneous q-axis current value (“I”) based on the error-compensated rotor angle output by the logic circuit device 106 and the currents in multiple locations of the motor 104. q For example, the conversion circuit device 124 can generate the instantaneous q-axis current value based on the error-compensated rotor angle output and the first phase current, second phase current, and third phase current (e.g., using the Parker transformation, Clark transformation, etc.). The instantaneous q-axis current can be represented in a second rotating reference frame perpendicular to the first rotating reference frame used for the instantaneous d-axis current.

[0033] The control circuit device 120 can be configured to generate the instantaneous voltage value ("V") of the d-axis based on the instantaneous current value of the d-axis. d”). For example, the control circuitry 120 can include a proportional-integral controller configured to generate the d-axis instantaneous voltage value based on the d-axis instantaneous current value. Similarly, the control circuitry 120 can be configured to generate the q-axis instantaneous voltage value based on the q-axis instantaneous current value (“V q ”). For example, the control circuitry 120 can include a proportional-integral controller configured to generate the q-axis instantaneous voltage value based on the q-axis instantaneous current value.

[0034] The inverse transform circuitry 122 can be configured to generate voltages at the phases of the motor 104. For example, the inverse transform circuitry 122 can generate the first phase voltage, the second phase voltage, and the third phase voltage based on the d-axis instantaneous voltage value (e.g., utilizing an inverse Park transform, an inverse Clarke transform, etc.). Similarly, the inverse transform circuitry 122 can generate the first phase voltage, the second phase voltage, and the third phase voltage based on the q-axis instantaneous voltage value (e.g., utilizing an inverse Park transform, an inverse Clarke transform, etc.). In some examples, the inverse transform circuitry 122 can be configured to generate the first phase voltage, the second phase voltage, and the third phase voltage based on the error-compensated rotor angle output by the logic circuitry 106.

[0035] The neural network circuitry 108 can be configured to generate a rotor angle offset (“Θ mech ”) based on an instantaneous rotor speed (“ω off ”) at the motor 104. The neural network circuitry 108 can be trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the motor 104. The logic circuitry 106 can be configured to add the rotor angle offset to a sensed rotor angle value to generate the error-compensated rotor angle. For example, the neural network circuitry 108 and / or the logic circuitry 106 can be included in a microcontroller on a single integrated circuit containing a processor core, memory, inputs, and outputs. For example, the neural network circuitry 108 and / or the logic circuitry 106 can comprise one or more processors including one or more microprocessors, DSPs, ASICs, FPGAs, or any other equivalent integrated or discrete logic circuitry as well as any combinations of such components. In some examples, the neural network circuitry 108 and / or the logic circuitry 106 can be a combination of one or more analog components and one or more digital components.

[0036] According to the techniques of this disclosure, the motor circuitry 102 can generate a d-axis instantaneous current value based on the error-compensated rotor angle and the currents at the plurality of phases of the motor. In this example, the motor circuitry 102 can generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value, and generate voltages at the plurality of phases based on the d-axis instantaneous voltage value. The neural network circuitry 108 can generate a rotor angle offset based on the instantaneous rotor speed at the motor 104. In this example, the neural network circuitry 108 has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the motor 104. In this example, the error-compensated rotor angle is based on the rotor angle offset. For example, the logic circuitry 106 can add the sensed rotor angle value to the rotor angle offset output by the neural network circuitry 108 to generate the error-compensated rotor angle. In some cases, the logic circuitry 106 can add the estimated rotor angle value to the rotor angle offset output by the neural network circuitry 108 to generate the error-compensated rotor angle.

[0037] Figure 2 is a block diagram illustrating an example second system 200 configured to drive a motor 204 using an error-compensated rotor angle according to one or more techniques of this disclosure. The motor circuitry 202, the motor 204, the logic circuitry 206, and the neural network circuitry (“NN CIRCUITRY”) 208 can be examples of the motor circuitry 102, the motor 104, the logic circuitry 106, and the neural network circuitry 108 of Figure 1 as shown, Figure 2 The example further includes speed computation circuitry 226.

[0038] In the example of Figure 2 In the example, the motor 204 is a PMSM motor. However, in other examples, the motor 204 can be different. The motor 204 can be configured for various speeds. The motor 204 can include sensed rotor angle values (“Θ Srotor position sensor circuitry 207. In some examples, the rotor position sensor circuitry 207 can include a hardware position sensor (e.g., an encoder type). However, the rotor position sensor circuitry 207 can include any type of sensor to obtain a rotor position at the motor 204. Additionally or alternatively, the motor 204 can include rotor position estimation circuitry 209 configured to generate an estimated rotor angle value of the rotor. For example, the rotor position estimation circuitry 209 can include one or more position observers implemented in logic. Such observers of the rotor position estimation circuitry 209 can use various signals other than a physical rotor angle to calculate a rotor position at the motor 204.

[0039] The speed calculation circuitry 226 can be configured to determine an instantaneous rotor speed (“ω”) using the sensed rotor angle value output by the rotor speed sensor circuitry 207. In some examples, the speed calculation circuitry 226 can be configured to determine the instantaneous rotor speed using the estimated rotor angle value output by the rotor speed estimation circuitry 209. The speed calculation circuitry 226 can be configured to determine the instantaneous rotor speed using both the sensed rotor angle value output by the rotor speed sensor circuitry 207 and the estimated rotor angle value output by the rotor speed estimation circuitry 209.

[0040] The logic circuitry 206 can be configured to determine an error-compensated rotor angle based on the rotor angle value offset. For example, the logic circuitry 206 can be configured to add the rotor angle offset generated by the neural network circuitry 208 to the sensed rotor angle value generated by the rotor speed sensor circuitry 207 to generate the error-compensated rotor angle. In some examples, the logic circuitry 206 can be configured to add the rotor angle offset generated by the neural network circuitry 208 to the estimated rotor angle value generated by the rotor position estimation circuitry 209 to generate the error-compensated rotor angle.

[0041] The motor circuitry 202 can include a transform circuitry 224, a control circuitry 220, and an inverse transform circuitry 222. The transform circuitry 224 can be configured to apply a Clarke transform to currents at the phases (e.g., I a , I b , and I c ) to generate alpha current values (“I α ”) and beta current values (“I β ”). The transform circuitry 224 can be configured to apply a Park transform to the alpha current values and the beta current values based on the error-compensated rotor angle (“Θ C ”) to generate d-axis instantaneous current values (“I d”) can be represented in a first rotating reference frame fixed to a rotor of the electric machine. In some examples, the d-axis instantaneous current can be represented in a first rotating reference frame fixed to a stator of the electric machine. Similarly, the transformation circuitry 224 can be configured to apply a Park transformation to the alpha current value and the beta current value based on the error-compensated rotor angle (“Θ C ”) to generate a q-axis instantaneous current value (“I q ”) and a q-axis instantaneous current value (“I q ”) In some examples, the q-axis instantaneous current can be represented in a second rotating reference frame perpendicular to the first rotating reference frame used for the d-axis instantaneous current.

[0042] The control circuitry 220 can be configured to generate a d-axis current error value (“ε d* ”) based on a difference between the d-axis instantaneous current value and a d-axis reference value (“I d ”). For example, the summer 252 can be configured to subtract the d-axis instantaneous current value from the d-axis reference value. In some examples, the d-axis reference value corresponds to (e.g., is equal to, is approximately equal to, etc.) zero. The control circuitry 220 can be configured to apply a proportional-integral controller 262 configured to generate a d-axis instantaneous voltage value (“V d ”) to minimize the d-axis instantaneous current value error value.

[0043] The control circuitry 220 can be configured to generate a q-axis current error value based on a difference between the q-axis instantaneous current value and a q-axis reference value (“I q* ”). For example, the summer 250 can be configured to subtract the q-axis instantaneous current value from the q-axis reference value. In some examples, the q-axis reference value corresponds to (e.g., is equal to, is approximately equal to, etc.) zero. The control circuitry 220 can be configured to apply a proportional-integral controller 260 configured to generate a q-axis instantaneous voltage value (“V q ”) to minimize the d-axis instantaneous current value error value.

[0044] The inverse transformation circuitry 222 can be configured to apply an inverse Park transformation to the d-axis instantaneous voltage value and the q-axis instantaneous voltage based on the error-compensated rotor angle to generate an alpha voltage value (“V α ”) and a beta voltage value (“V β ”). In this example, the inverse transformation circuitry 222 can apply an inverse Clark transformation to the alpha current value and the beta current value to generate voltages at the phases of the electric machine 204 (e.g., V a , V b , and V c). In some examples, the voltage at a phase of the motor 204 can be based on the d-axis instantaneous voltage value and / or the q-axis instantaneous voltage value. For example, the three-phase inverter 223 of the inverse transform circuitry 222 can be configured to generate the voltage at a phase of the motor 204 based on the computed current output from the inverse Clarke transform. Although Figure 2 Examples of the disclosure illustrate the three-phase inverter 223 as part of the inverse transform circuitry 222, in some examples, the three-phase inverter 223 can be a separate component from the inverse transform circuitry 222.

[0045] The neural network circuitry 208 can be configured to generate the rotor angle offset based on an instantaneous rotor speed at the motor 204. For example, the neural network circuitry 208 can be configured to generate the rotor angle offset based on the instantaneous rotor speed output by the speed computation circuitry 226. The neural network circuitry 208 can be formed using any type of network having more than one hidden layer and an unlimited number of neurons. In some examples, the neural network circuitry 208 can use an architecture such as, but not limited to, a convolutional network, a recurrent network, a reinforcement learning based network, or another architecture. The neural network circuitry 208 can be configured for a variety of rotor angle offset ranges.

[0046] The neural network circuitry 208 can have been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the motor. For example, the neural network circuitry 208 can be configured to train a plurality of neurons of the neural network circuitry to output, for each of a plurality of rotor speeds, a respective rotor angle offset that minimizes the d-axis instantaneous voltage value (see Figure 5 ).

[0047] The neural network circuitry 208 can be configured to apply training to a plurality of neurons of the neural network circuitry 208 to configure the plurality of neurons to generate, for each of a plurality of rotor speeds, a respective rotor angle offset that minimizes the d-axis instantaneous voltage value (see Figure 3 , Figure 4 ). In this example, after applying the training, the neural network circuitry 208 can generate the rotor angle offset based on an instantaneous rotor speed at the motor.

[0048] The neural network circuit device 208 can be configured to generate a rotor speed table. In this example, each entry in the rotor speed table includes a respective rotor speed value of a plurality of rotor speeds and a corresponding true rotor angle offset. In this example, the neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device 208 using the rotor speed table. For example, the neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device 208 for each respective rotor speed value of the plurality of rotor speeds to minimize a difference between the respective rotor angle offset output by the neural network circuit device 208 and the corresponding true rotor angle offset.

[0049] Not only can rotor speed be used as an input, but the neural network circuit device 208 can be configured to use any other signal that affects rotor angle offset. For example, the neural network circuit device 208 can be configured to use temperature deviation to generate rotor angle offset. In some examples, the neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device 208 to configure the plurality of neurons to generate rotor angle offset to minimize d-axis instantaneous voltage values for a plurality of temperature values.

[0050] Not only can the neural network circuit device 208 be trained during initial setup, but the neural network circuit device 208 can be configured to train after initial setup (e.g., when in use). For example, the neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device after initial setup and for each rotor speed of the plurality of rotor speeds to output rotor angle offset that minimizes d-axis instantaneous voltage values (see Figure 5 ).

[0051] The neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device 208 after initial setup to generate rotor angle offset to minimize d-axis instantaneous voltage values. In this example, the neural network circuit device 208 can be configured to generate a rotor speed table, each entry in the rotor speed table including a respective rotor speed value of a plurality of rotor speeds and a corresponding true rotor angle offset. The neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device using the rotor speed table. More specifically, for example, the neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device for each respective rotor speed value of the plurality of rotor speeds to minimize a difference between the rotor angle offset output by the neural network circuit device 208 and the corresponding true rotor angle offset (see Figure 3 、 Figure 4 ).

[0052] The neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device after initial setup to generate a rotor angle offset to minimize the d-axis instantaneous voltage value. The neural network circuit device 208 can be configured to generate a temperature table. In this example, each entry in the temperature table includes a respective temperature value of the plurality of temperature values and a corresponding true rotor angle offset. The neural network circuit device 208 can be configured to train the plurality of neurons of the neural network circuit device using the temperature table.

[0053] According to the techniques of this disclosure, the transformation circuit device 224 can generate a d-axis instantaneous current value based on the error-compensated rotor angle and the currents at the plurality of phases of the electric machine. In this example, the control circuit device 220 can generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value and generate voltages at the plurality of phases based on the d-axis instantaneous voltage value. The neural network circuit device 208 can generate a rotor angle offset based on the instantaneous rotor speed at the electric machine 204. In this example, the neural network circuit device 208 has been trained to generate a rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric machine 204. In this example, the neural network circuit device 208 has been trained to generate a rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric machine 204. In this example, the error-compensated rotor angle is based on the rotor angle offset. For example, the logic circuit device 206 can add the sensed rotor angle value to the rotor angle offset output by the neural network circuit device 208 to generate the error-compensated rotor angle. In some cases, the logic circuit device 206 can add the estimated rotor angle value to the rotor angle offset output by the neural network circuit device 208 to generate the error-compensated rotor angle.

[0054] In this way, the electric machine circuit device 202 can use a more accurate rotor angle offset compared to systems that rely on lookup tables, linear functions, or non-linear functions. Furthermore, the electric machine circuit device 202 can adapt the rotor angle offset as the electric machine circuit device and / or the electric machine are online (e.g., in use), which can improve the stability of the electric machine circuit device 202 to estimate the rotor angle offset compared to systems that use lookup tables, linear functions, or non-linear functions.

[0055] Figure 3 is an example system block diagram illustrating an example system configured for performing a first step for training a neural network circuit device 308 to generate a rotor angle offset according to one or more techniques of this disclosure. Although the system 100 of Figure 1 and the system 200 of Figure 2 are discussed, the system 300 of Figure 3 is discussed, but the system 300 of Figure 3The technology can be used in other systems. The neural network circuit device 308 can be... Figure 1 Neural network circuit device 108 and Figure 2 An example of a neural network circuit device 208. Device 332 may be an example of a motor circuit device 102 and a motor 104.

[0056] The neural network circuit device 308 can be configured for a transformation performed by the neural network circuit device 308, mapping function f(ω) mech )=Θ off To calculate Θ T =Θ off +Θ S For example, the neural network circuit device 308 can implement the learning process in two steps. In the first step, the neural network circuit device 308 can collect the corresponding rotor speed values ​​(“ω”) as described below. mech,x ") and the corresponding actual rotor angle offset ("Θ") off,x The transmission characteristics Θ are recorded in the form of a rotor speed table. off,x =f(ω) mech,x ).

[0057] The neural network circuitry 308 can be configured to generate a rotor speed table, where each entry includes a corresponding rotor speed value from a plurality of rotor speeds and the corresponding true rotor angular offset. For example, the proportional-integral controller 330 (“PI controller”) can be configured to generate the true rotor angular offset (“Θ”). off,x For example, neural network circuitry 308 can be configured to drive device 332 to maintain a specific rotor speed value. In this case, proportional-integral controller 330 can be configured to generate a true rotor angular offset, which will be determined by the instantaneous d-axis voltage value ("V") output by device 332 when device 332 maintains a specific rotor speed value on the rotor speedometer. d The drive is zero. In this way, the neural network 308 can generate the true rotor angle offset for each rotor speed value in the rotor speed table.

[0058] although Figure 3 The example uses a PI controller 330 to generate a realistic rotor angle offset, but in other examples, other controllers can be used to generate a realistic rotor angle offset. For example, an integral controller without a proportional component can be used to generate a realistic rotor angle offset. In some examples, manual adaptation via a "trial and error" approach can be used to generate a realistic rotor angle offset.

[0059] Figure 4is a block diagram illustrating an example system 400 configured for performing a second step of training a neural network circuit arrangement for Figure 3 . Although the discussion of Figure 1 is discussed with reference to Figure 2 and Figure 4 , the techniques of Figure 4 may be used with other systems. The neural network circuit arrangement 408 can be an example of the neural network circuit arrangement 108 of Figure 1 and the neural network circuit arrangement 208 of Figure 2 . As shown, the summer 440 can be separate from the neural network circuit arrangement 408. In some examples, the summer 440 can be included in the neural network circuit arrangement 408. The summer 440 can subtract the rotor angle offset (“θ off,x ”) output by the neural network circuit arrangement 408 from the corresponding true rotor angle offset (“θ off,x ”) of the rotor speed table generated in the example of Figure 3 to generate a difference (“ε”).

[0060] In the second step of the learning process of Figure 3 , the neural network circuit arrangement 408 can be configured to train the plurality of neurons of the neural network circuit arrangement 408 to generate a rotor angle offset to minimize the d-axis instantaneous voltage value. For example, the neural network circuit arrangement 408 can be configured to train the plurality of neurons of the neural network circuit arrangement 408 using the rotor speed table generated in the example of Figure 3 . More specifically, for example, the neural network circuit arrangement 408 can be configured to train the plurality of neurons of the neural network circuit arrangement for each respective rotor speed value (“ω mech,x ”) of the plurality of rotor speeds of the rotor speed table to minimize the difference between the rotor angle offset output by the neural network circuit arrangement 408 and the corresponding true rotor angle offset of the rotor speed table.

[0061] Figure 5 is a block diagram illustrating an example system 500 configured for training a neural network circuit arrangement 508 to generate a rotor angle offset in accordance with one or more techniques of the present disclosure. Although the discussion of Figure 1 is discussed with reference to Figure 2 and Figure 5 , the techniques of Figure 5 may be used with other systems. The neural network circuit arrangement 508 can be an example of the neural network circuit arrangement 108 of Figure 1 and the neural network circuit arrangement 208 of Figure 2of the neural network circuit device 208. The device 532 can be an example of the motor circuit device 102 and the motor 104. As shown, the summer 540 can be separate from the neural network circuit device 508. In some examples, the summer 540 can be included in the neural network circuit device 508. The summer 540 can subtract the d-axis instantaneous voltage value ("V d ") output by the device 532 from a reference (e.g., 0) to generate an error value ("e").

[0062] In Figure 5 examples, the processes described in Figure 3 and Figure 4 are combined together. For example, the system 500 can generate a transfer curve for the transfer characteristic Θ off,x = f(ω mech,x ). In this example, the system 500 can train the plurality of neurons of the neural network circuit device 508 to generate a rotor angle offset to minimize the d-axis instantaneous voltage value output by the device 532. In this way, the system 500 can combine the generation of the transfer curve and the training in one closed loop (e.g., instead of having two closed loops). As such, the process of Figure 3 and Figure 4 may have a smaller code size and / or a smaller memory usage compared to the processes of Figure 5 . For example, the neural network circuit device 508 can be configured to train the plurality of neurons of the neural network circuit device to output, for each of a plurality of rotor speeds, a rotor angle offset that minimizes the d-axis instantaneous voltage value.

[0063] Figure 6 is a block diagram of an example system 600 configured to use a neural network circuit device 608 to generate a rotor angle offset ("Θ off ") based on an instantaneous rotor speed ("ω mech ") at a motor in accordance with one or more techniques of the present disclosure. Figure 6 A feedforward implementation is shown. After training of the neural network circuit device 608 has been completed, the instantaneous rotor speed can be used as an input to the neural network circuit device 608. In this example, the device 632 can use the rotor angle offset for control circuitry (e.g., the control circuitry 120) and for transformation (e.g., by the transformation circuitry 124 and / or the inverse transformation circuitry 122). Once training has been completed, there is no need to further train the neural network circuit device 608 if the transfer characteristic does not change. However, in some examples, the neural network circuit device 608 can be trained to account for changes in the transfer characteristic. For example, the neural network circuit device 608 can be trained to account for changes in acceleration, temperature, aging of the device 632, or other factors.

[0064] Figure 7 This is a block diagram illustrating an example system 700 configured to train a neural network circuit device 708 according to one or more techniques of this disclosure, and used to generate rotor angular offset using the neural network circuit device 708. Although referenced... Figure 1 System 100 and Figure 2 System 200 discussed Figure 7 ,but Figure 7 The technology can be used in other systems. The neural network circuit device 708 can be... Figure 1 Neural network circuit device 108 and Figure 2 An example of a neural network circuit device 208. The summer 706 can be... Figure 1 Example of logic circuit device 106 or Figure 1 An example component of the logic circuit device 106. As shown, the summer 706 can be separate from the neural network circuit device 708. In some examples, the summer 706 can be included in the neural network circuit device 708. The summer 706 can be configured to shift the rotor angle ("θ") off ") and the sensed rotor angle value ("θ") s The values ​​are added together to generate the error-compensated rotor angle (θ). c In some examples, the summer 706 can be configured to add the rotor angle offset to the estimated rotor angle value to generate an error-compensated rotor angle.

[0065] exist Figure 7 In the example, the neural network circuit device 708 can be configured to receive the instantaneous voltage value of the d-axis ("V"). d In some examples, the neural network circuit device 708 can be configured to use the instantaneous voltage value of the d-axis for training or retraining. For example, the neural network circuit device 708 can be configured to use... Figure 5 The process is used for training. In some examples, the neural network circuit device 708 can be configured to use... Figure 3 and Figure 4 The training process is carried out.

[0066] Figure 8 This is a block diagram illustrating an example neural network circuit device 808 trained to generate rotor angular offset according to one or more techniques of this disclosure. The techniques described herein can be implemented in various neural network configurations. The neural network circuit device 808 can be configured to operate at high frequency on an embedded system and can be executed in real time. For example, the neural network circuit device 808 can be configured with 100 kHz pulse width modulation and use a control algorithm that calculates rotor angular offset every 10 μs.

[0067] existFigure 8 In examples of the neural network circuitry 808, the neural network circuitry 808 includes a multilayer perceptron (MLP) with a supervised learning strategy. For example, the neural network circuitry 808 can include a number of neurons in a range of approximately 4-20, depending on a desired accuracy. Figure 8 A network structure is shown that includes an input 870 at an input layer that receives an instantaneous rotor speed (“ω mech ”) at the motor; neurons 871-874 at a hidden layer; and an output 876 at an output layer that outputs a rotor angle offset (“θ off ”) at the motor. In some examples, the neural network circuitry can use more than one input. The neural network circuitry can use more than one output. In some examples, the neural network circuitry can use fewer than 4 neurons (e.g., 1 neuron, 2 neurons, or 3 neurons) or more than 4 neurons (e.g., more than 10, more than 20, etc.). For example, the neural network circuitry 808 can include 10 neurons with an ellipsoid activation function in the hidden layer.

[0068] Figure 9 is a plot of the true rotor angle offset and the rotor angle offset output by the neural network circuitry in accordance with one or more techniques of the present disclosure. Although the true rotor angle offset is discussed with reference to the system 100 of Figure 1 and the system 200 of Figure 2 , the techniques of Figure 9 may be used with other systems. Figure 9 The horizontal axis of Figure 9 is the instantaneous rotor speed in radians per second (rad / s) at the motor 104, and the vertical axis of Figure 9 is the true rotor angle offset 902 and the rotor angle offset 904 generated by the neural network circuitry 108. In examples of Figure 9 , the rotor angle offset 904 can be generated using the techniques of Figure 5 . However, the rotor angle offset 904 can be generated using other techniques described herein (e.g., the techniques of the examples shown in Figure 3 and Figure 4 .

[0069] Figure 10 is a flowchart for driving a motor using a rotor angle offset in accordance with one or more techniques of the present disclosure. For illustrative purposes only, the example operations are described below in the context of Figures 1-9 .

[0070] According to the techniques of this disclosure, the motor circuit device 102 can be configured to generate a d-axis instantaneous current value based on the error-compensated rotor angle and the currents at the plurality of phases of the motor 104 (1002). The motor circuit device 102 can be configured to generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value (1004). The motor circuit device 102 can be configured to generate the voltages at the plurality of phases based on the d-axis instantaneous voltage value (1008). The neural network circuit device 108 can be configured to generate a rotor angle offset based on the instantaneous rotor speed at the motor 104 (1008). In some examples, the neural network circuit device 108 has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the motor 104. In some examples, the error-compensated rotor angle is based on the rotor angle offset. For example, the logic circuit device 106 can be configured to add the rotor angle offset to a sensed rotor angle value to generate the error-compensated rotor angle. In some examples, the logic circuit device 106 can be configured to add the rotor angle offset to an estimated rotor angle value to generate the error-compensated rotor angle.

[0071] The following examples can illustrate one or more aspects of the present disclosure.

[0072] Example 1. A device for driving a motor, the device comprising: a motor circuit device configured to: generate a d-axis instantaneous current value based on an error-compensated rotor angle and currents at a plurality of phases of the motor; generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value; and generate voltages at the plurality of phases based on the d-axis instantaneous voltage value; and a neural network circuit device configured to generate a rotor angle offset based on an instantaneous rotor speed at the motor, wherein the neural network circuit device has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the motor, and wherein the error-compensated rotor angle is based on the rotor angle offset.

[0073] Example 2. The device of example 1, wherein to generate the d-axis instantaneous voltage value, the motor circuit device is configured to: generate a d-axis current error value based on a difference between the d-axis instantaneous current value and a d-axis reference value, wherein the d-axis reference value corresponds to zero; and apply a proportional-integral controller configured to generate the d-axis instantaneous voltage value to minimize the d-axis instantaneous current value error value.

[0074] Example 3. The apparatus of any combination of examples 1-2, wherein the d-axis instantaneous current value is represented in a first rotating reference frame, and wherein the motor circuit apparatus is configured to: generate a q-axis instantaneous current value based on the error- compensated rotor angle and the currents at the plurality of phases, the q-axis instantaneous current value being represented in a second rotating reference frame that is perpendicular to the first rotating reference frame; and generate a q-axis instantaneous voltage based on the q-axis instantaneous current value, wherein the generating the voltages at the plurality of phases is further based on the q-axis instantaneous voltage value.

[0075] Example 4. The apparatus of any combination of examples 1-3, wherein, to generate the d-axis instantaneous current value and to generate the q-axis instantaneous current value, the motor circuit apparatus is configured to apply a Clarke transform to the currents at the plurality of phases to generate alpha and beta current values, and to apply a Park transform to the alpha and beta current values based on the error-compensated rotor angle to generate the d-axis instantaneous current value and the q-axis instantaneous current value; and wherein, to generate the voltages at the plurality of phases, the motor circuit apparatus is configured to apply an inverse Park transform to the d-axis instantaneous voltage value and the q-axis instantaneous voltage based on the error-compensated rotor angle to generate alpha and beta voltage values, and to apply an inverse Clarke transform to the alpha and beta voltage values to generate the voltages at the plurality of phases.

[0076] Example 5. The apparatus of any combination of examples 1-4, comprising: a rotor position sensor circuit apparatus configured to detect a sensed rotor angle value of a rotor of the motor; a logic circuit apparatus configured to add a rotor angle offset to the sensed rotor angle value to generate an error-compensated rotor angle; and a speed calculation circuit apparatus configured to determine an instantaneous rotor speed using the sensed rotor angle value.

[0077] Example 6. The apparatus of any combination of examples 1-5, comprising: a rotor position estimation circuit apparatus configured to generate an estimated rotor angle value of the rotor; a logic circuit apparatus configured to add a rotor angle offset to the estimated rotor angle value to generate an error-compensated rotor angle; and a speed calculation circuit apparatus configured to determine an instantaneous rotor speed using the estimated rotor angle.

[0078] Example 7. The apparatus of any combination of examples 1-6, wherein the neural network circuit apparatus has been further trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for a plurality of temperature values.

[0079] Example 8. The apparatus of any combination of examples 1-7, wherein the neural network circuitry apparatus is configured to train the plurality of neurons of the neural network circuitry apparatus to generate the rotor angle offset to minimize the d-axis instantaneous voltage value, wherein to train the plurality of neurons of the neural network, the neural network circuitry apparatus is configured to: generate a rotor speed table, each entry in the rotor speed table comprising a respective rotor speed of the plurality of rotor speeds and a corresponding true rotor angle offset; and train the plurality of neurons of the neural network circuitry apparatus using the rotor speed table.

[0080] Example 9. The apparatus of any combination of examples 1-8, wherein to train the plurality of neurons of the neural network circuitry apparatus using the rotor speed table, the neural network circuitry apparatus is configured to: train the plurality of neurons of the neural network circuitry apparatus to minimize a difference between the rotor angle offset output by the neural network circuitry apparatus and the corresponding true rotor angle offset for each respective rotor speed value of the plurality of rotor speeds.

[0081] Example 10. The apparatus of any combination of examples 1-9, wherein the neural network circuitry apparatus is configured to train the plurality of neurons of the neural network circuitry apparatus to generate the rotor angle offset to minimize the d-axis instantaneous voltage value, wherein to train the plurality of neurons of the neural network, the neural network circuitry apparatus is configured to: generate a temperature table, each entry in the temperature table comprising a respective temperature value of the plurality of temperature values and a corresponding true rotor angle offset; and train the plurality of neurons of the neural network circuitry apparatus using the temperature table.

[0082] Example 11. The apparatus of any combination of examples 1-10, wherein the neural network circuitry apparatus is configured to train the plurality of neurons of the neural network circuitry apparatus to output the rotor angle offset that minimizes the d-axis instantaneous voltage value for each rotor speed of the plurality of rotor speeds.

[0083] Example 12. The apparatus of any combination of examples 1-11, wherein the d-axis instantaneous current value is represented in a rotating reference frame fixed to a rotor of the electric machine.

[0084] Example 13. The apparatus of any combination of examples 1-12, wherein the electric machine comprises a permanent magnet synchronous machine (PMSM) or a DC excited electric machine.

[0085] Example 14. A method for driving an electric machine, the method comprising: generating, by a processing circuitry and based on an error-compensated rotor angle and currents at a plurality of phases of the electric machine, a d-axis instantaneous current value; generating, by the processing circuitry, a d-axis instantaneous voltage value based on the d-axis instantaneous current value; generating, by the processing circuitry, voltages at the plurality of phases based on the d-axis instantaneous voltage value; and generating, by a neural network circuitry of the processing circuitry, a rotor angle offset based on an instantaneous rotor speed at the electric machine, wherein the neural network circuitry has been trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric machine, and wherein the error-compensated rotor angle is based on the rotor angle offset.

[0086] Example 15. The method of example 14, wherein generating the d-axis voltage value comprises: generating a d-axis current error value based on a difference between the d-axis instantaneous current value and a d-axis reference value, wherein the d-axis reference value corresponds to zero; and applying a proportional-integral controller configured to generate the d-axis instantaneous voltage value to minimize the d-axis instantaneous current value error value.

[0087] Example 16. An apparatus for driving an electric machine, the apparatus comprising: an electric machine circuitry configured to: generate a d-axis instantaneous current value based on an error-compensated rotor angle and currents at a plurality of phases of the electric machine; generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value; and generate voltages at the plurality of phases based on the d-axis instantaneous voltage value; and a neural network circuitry configured to: apply training to a plurality of neurons of the neural network circuitry to configure the plurality of neurons to generate a respective rotor angle offset for each of a plurality of rotor speeds that minimizes the d-axis instantaneous voltage value; and after applying the training, generate a rotor angle offset based on an instantaneous rotor speed at the electric machine, wherein the error-compensated rotor angle is based on the rotor angle offset.

[0088] Example 17. The apparatus of example 16, wherein to apply the training, the neural network circuitry is configured to train the plurality of neurons to configure the plurality of neurons to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for a plurality of temperature values.

[0089] Example 18. The apparatus of any combination of examples 16-17, wherein to apply the training, the neural network circuitry is configured to: generate a rotor speed table, each entry in the rotor speed table comprising a respective rotor speed value of the plurality of rotor speeds and a corresponding true rotor angle offset; and train the plurality of neurons of the neural network circuitry using the rotor speed table.

[0090] Example 19. The apparatus of any combination of examples 16-18, wherein to train the plurality of neurons of the neural network circuit apparatus using the tachometer, the neural network circuit apparatus is configured to: for each respective rotor speed value of the plurality of rotor speeds, train the plurality of neurons of the neural network circuit apparatus to minimize a difference between a respective rotor angle offset output by the neural network circuit apparatus and a corresponding true rotor angle offset.

[0091] Example 20. The apparatus of any combination of examples 16-19, wherein to apply the training, the neural network circuit apparatus is configured to: for each rotor speed of the plurality of rotor speeds, train the plurality of neurons of the neural network circuit apparatus to output a respective rotor angle offset that minimizes a d-axis instantaneous voltage value.

[0092] Various aspects have been described in this disclosure. These and other aspects are within the scope of the following claims.

Claims

1. An apparatus for driving an electric machine, the apparatus comprising: an electric machine circuit apparatus configured to: generate a d-axis instantaneous current value based on an error-compensated rotor angle and currents at a plurality of phases of the electric machine; generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value; and generate voltages at the plurality of phases based on the d-axis instantaneous voltage value; and a neural network circuit apparatus configured to generate a rotor angle offset based on an instantaneous rotor speed at the electric machine, wherein the neural network circuit apparatus is configured to train a plurality of neurons of the neural network circuit apparatus to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric machine, and wherein the error-compensated rotor angle is based on the rotor angle offset.

2. The apparatus of claim 1, wherein to generate the d-axis instantaneous voltage value, the electric machine circuit apparatus is configured to: generate a d-axis current error value based on a difference between the d-axis instantaneous current value and a d-axis reference value, wherein the d-axis reference value corresponds to zero; and apply a proportional-integral controller configured to generate the d-axis instantaneous voltage value to minimize the d-axis instantaneous current value error value.

3. The apparatus of claim 1, wherein the d-axis instantaneous current value is represented in a first rotating reference frame, and wherein the electric machine circuit apparatus is configured to: generate a q-axis instantaneous current value based on the error-compensated rotor angle and the currents at the plurality of phases, the q-axis instantaneous current value represented in a second rotating reference frame perpendicular to the first rotating reference frame; and generate a q-axis instantaneous voltage value based on the q-axis instantaneous current value, wherein the voltages at the plurality of phases are generated further based on the q-axis instantaneous voltage value.

4. The apparatus of claim 3, wherein: to generate the d-axis instantaneous current value, and to generate the q-axis instantaneous current value, the electric machine circuit apparatus is configured to apply a Clarke transform to the currents at the plurality of phases to generate alpha and beta current values, and to apply a Park transform to the alpha and beta current values based on the error-compensated rotor angle to generate the d-axis instantaneous current value and the q-axis instantaneous current value; and to generate the voltages at the plurality of phases, the electric machine circuit apparatus is configured to apply an inverse Park transform to the d-axis instantaneous voltage value and the q-axis instantaneous voltage value based on the error-compensated rotor angle to generate alpha and beta voltage values, and to apply an inverse Clarke transform to the alpha and beta voltage values to generate the voltages at the plurality of phases.

5. The apparatus of claim 1, comprising: a rotor position sensor circuit apparatus configured to detect a sensed rotor angle value of a rotor of the electric machine; a logic circuitry configured to add the rotor angle offset to the sensed rotor angle value to generate the error-compensated rotor angle; and a speed calculation circuitry configured to determine the instantaneous rotor speed using the sensed rotor angle value.

6. The apparatus of claim 1, comprising: a rotor position estimation circuitry configured to generate an estimated rotor angle value of the rotor; a logic circuitry configured to add the rotor angle offset to the estimated rotor angle value to generate the error-compensated rotor angle; and a speed calculation circuitry configured to determine the instantaneous rotor speed using the estimated rotor angle value.

7. The apparatus of claim 1, wherein the neural network circuitry has been further trained to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for a plurality of temperature values.

8. The apparatus of claim 1, wherein, To train the plurality of neurons of the neural network, the neural network circuitry is configured to: generate a rotor speed table, each entry in the rotor speed table comprising a respective rotor speed value of the plurality of rotor speeds and a corresponding true rotor angle offset; and train the plurality of neurons of the neural network circuitry using the rotor speed table.

9. The apparatus of claim 8, wherein to train the plurality of neurons of the neural network circuitry using the rotor speed table, the neural network circuitry is configured to: train the plurality of neurons of the neural network circuitry to minimize a difference between the rotor angle offset output by the neural network circuitry and the corresponding true rotor angle offset for each respective rotor speed value of the plurality of rotor speeds.

10. The apparatus of claim 1, wherein to train the plurality of neurons of the neural network, the neural network circuitry is configured to: generate a temperature table, each entry in the temperature table comprising a respective temperature value of a plurality of temperature values and a corresponding true rotor angle offset; and train the plurality of neurons of the neural network circuitry using the temperature table.

11. The apparatus of claim 1, wherein the d-axis instantaneous current value is represented in a rotating reference frame fixed to a rotor of the electric machine.

12. The apparatus of claim 1, wherein the electric machine comprises a permanent magnet synchronous machine (PMSM) or a DC excited machine.

13. A method for driving an electric machine, the method comprising: generating, by processing circuitry and based on an error-compensated rotor angle and currents at a plurality of phases of the electric machine, a d-axis instantaneous current value; generating, by the processing circuitry and based on the d-axis instantaneous current value, a d-axis instantaneous voltage value; generating, by the processing circuitry and based on the d-axis instantaneous voltage value, voltages at the plurality of phases; and generating, by a neural network circuitry of the processing circuitry, a rotor angle offset based on an instantaneous rotor speed at the electric machine, wherein the neural network circuitry is configured to train a plurality of neurons of the neural network circuitry to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for each of a plurality of rotor speeds at the electric machine, and wherein the error-compensated rotor angle is based on the rotor angle offset.

14. The method of claim 13, wherein generating the d-axis voltage value comprises: generating a d-axis current error value based on a difference between the d-axis instantaneous current value and a d-axis reference value, wherein the d-axis reference value corresponds to zero; and applying a proportional-integral controller configured to generate the d-axis instantaneous voltage value to minimize the d-axis instantaneous current value error value.

15. An apparatus for driving an electric machine, the apparatus comprising: an electric machine circuitry configured to: generate a d-axis instantaneous current value based on an error-compensated rotor angle and currents at a plurality of phases of the electric machine; generate a d-axis instantaneous voltage value based on the d-axis instantaneous current value; and generate voltages at the plurality of phases based on the d-axis instantaneous voltage value; and a neural network circuitry configured to: apply training to a plurality of neurons of the neural network circuitry to configure the plurality of neurons to generate a respective rotor angle offset that minimizes the d-axis instantaneous voltage value for each of a plurality of rotor speeds; and generate a rotor angle offset based on an instantaneous rotor speed at the electric machine after applying the training, wherein the error-compensated rotor angle is based on the rotor angle offset.

16. The apparatus of claim 15, wherein to apply the training, the neural network circuitry is configured to train the plurality of neurons to configure the plurality of neurons to generate the rotor angle offset to minimize the d-axis instantaneous voltage value for a plurality of temperature values.

17. The apparatus of claim 15, wherein to apply training, the neural network circuitry is configured to: generate a rotor speed table, each entry in the rotor speed table comprising a respective rotor speed value of the plurality of rotor speeds and a corresponding true rotor angle offset; and train the plurality of neurons of the neural network circuitry using the rotor speed table.

18. The apparatus of claim 17, wherein to train the plurality of neurons of the neural network circuitry using the rotor speed table, the neural network circuitry is configured to: train the plurality of neurons of the neural network circuitry to minimize a difference between the respective rotor angle offset output by the neural network circuitry and the corresponding true rotor angle offset for each respective rotor speed value of the plurality of rotor speeds.

19. The apparatus of claim 15, wherein to apply the training, the neural network circuitry is configured to: For each of the plurality of rotor speeds, the plurality of neurons of the neural network circuit device are trained to output the respective rotor angle offset that minimizes the d-axis instantaneous voltage value.

Citation Information

Patent Citations

  • Rotor angle automatic alignment device and rotor angle automatic alignment method for permanent magnet synchronous motor

    CN108111080A

  • Permanent magnet synchronous motor system for magnetic encoder-based neural network error compensation

    CN108448979A