Patent Description:
Two popular types of induction motor controllers, and the algorithms which these use, are direct torque control (DTC) and field oriented control (FOC). In DTC, torque and stator flux are controlled using coordinates in a stator alpha and beta reference frame, i.e. coordinates relative to the a phase of the stator, with calculations in a stationary coordinate system. In FOC, rotor flux, torque current quadrature component and rotor flux direct component are controlled using coordinates in a rotor flux d and q reference frame, i.e. coordinates relative to the direct and quadrature axes of the rotor flux, with calculations in a rotating coordinate system that rotates synchronously with the rotor flux. Each type of induction motor controller has advantages and disadvantages. Therefore, there is a need in the art for a solution which overcomes the drawbacks of the systems described above.

<CIT> describes a control system for an electric motor having a stator and rotor including an inverter for providing power to the electric motor, a controller for controlling the inverter, a low speed control block to estimate the rotor angular position using stator current components operating in the controller, a high speed control block to estimate the rotor angular position using stator current components and stator flux position operating in the controller, a transition switch in the controller to vary operation between the low speed control block and the high speed control block, and where the inverter is controlled by six step operation.

<CIT> describes a motor control system for use within an electric vehicle having an induction motor. The control system utilizes a torque control module, a vector control module and a space vector PWM module.

<CIT> describes a system for speed-sensorless control of an induction machine. The system includes a flux regulator and torque current calculator for operating the machine in a heavily saturated state to produce a saturation induced saliency.

<CIT> describes a control algorithm or method for use in controlling a voltage-fed induction machine. The control algorithm includes the following steps. The DC link voltage supplied to an inverter driving the induction machine is monitored. When the DC link voltage is high enough, the algorithm controls the amount of current supplied to the induction machine to provide current controlled operation of the induction machine. When the DC link voltage is not high enough to control the current under transient conditions, the induction machine is controlled by imposing the maximum possible phase voltage and optimal slip angle on the machine to provide maximal torque per ampere operation of the induction machine. The maximal torque per ampere operation is performed when either of the following conditions is met: a) the torque level required by the induction machine is such that efficiency optimization cannot be performed, or b) current regulators approach saturation. The current controlled operation is performed when a) the torque level required by the induction machine is at a level that allows efficiency optimization, and b) the current regulators are not near saturation. The efficiency optimization in the current controlled mode is performed by using a single constant over the whole operating range.

<NPL>, describes a vector control structure combining the advantages of two types of field-oriented procedure. It is proposed for the short-circuited induction motor supplied from a voltage-source inverter (VSI) with voltage-feedforward (carrier-wave or space-vector) PWM. The speed and flux controllers generate directly the rotor-field-oriented components of the stator-current. The computation of the stator-voltage control variables of the inverter is made in the stator-field oriented coordinate frame.

According to the invention, there is provided an induction motor controller and a controller-based method of controlling an induction motor in accordance with the appended claims.

Aspects and advantages of the embodiments will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments.

The described embodiments and the advantages thereof may best be understood by reference to the following description taken in conjunction with the accompanying drawings. These drawings in no way limit any changes in form and detail that may be made to the described embodiments by one skilled in the art.

An induction motor controller, embodiments of which are shown in <FIG> and described herein, has features and operation that differ from field oriented control (FOC) and direct torque control (DTC) induction motor controllers. The present induction motor controller performs rotor flux and torque control with a rotor flux regulator loop and a torque regulator loop, and operates in a stator flux reference frame and a phase voltage reference frame. The rotor flux and torque regulator loops are processed (at least partially) in the stator flux reference frame. This contrasts with DTC, which controls torque and stator flux, and performs calculations in a static (i.e., nonrotating) reference frame, and contrasts with FOC, which performs calculations in a reference frame aligned to the specific flux under control, among other differences. Controlling rotor flux as a regulated variable in a stator flux reference frame, in the present system, contrasts with other systems and methods which control rotor flux as a regulated variable in a rotor flux reference frame or which control stator flux as a regulated variable in a stator flux reference frame. Embodiments of the present induction motor controller can operate without current regulation loops, in contrast with FOC controllers many (or all) of which require current control.

A torque regulator and a flux regulator, in the present induction motor controller, generate a commanded stator voltage vector, which is expressed in the stator flux reference frame. This vector is rotated and transformed to a vector in the phase voltage reference frame, from which AC (alternating current) power to the induction motor is derived. Additional modules provide feedback for the torque regulator loop and the rotor flux regulator loop, as will be further described below.

Detailed illustrative embodiments are disclosed herein. However, specific functional details disclosed herein are merely representative for purposes of describing embodiments. Embodiments may, however, be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.

It should be understood that although the terms first, second, etc. may be used herein to describe steps or calculations, these steps or calculations should not be limited by these terms. These terms are only used to distinguish one step or calculation from another. For example, a first calculation could be termed a second calculation, and, similarly, a second step could be termed a first step, without departing from the scope of this disclosure. As used herein, the term "and/or" and the "/" symbol includes any and all combinations of one or more of the associated listed items.

It will be further understood that the terms "comprises", "comprising", "includes", and/or "including", when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Therefore, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting.

<FIG> shows an induction motor controller that operates in the stator flux reference frame and the phase voltage reference frame. The induction motor controller provides AC (alternating current) electrical power to an induction motor <NUM>, for example three-phase electrical power to a three-phase induction motor. A torque regulator <NUM> operates a torque regulator loop <NUM>, and uses this to generate a commanded stator voltage vector as projected onto the quadrature (q) axis in the stator flux reference frame, which vector projection or component is denoted Vqsc. A rotor flux regulator <NUM> operates a rotor flux regulator loop <NUM>, and uses this to generate the commanded stator voltage vector as projected onto the direct (d) axis in the stator flux reference frame, which vector projection or component is denoted Vdsc. The stator flux reference frame <NUM> will be further discussed regarding <FIG>. Quantities in the stator flux reference frame <NUM> are identified as "dq" if a vector, or "d" if a direct component of a vector and "q" if a quadrature component of a vector.

Thus, the torque regulator <NUM> and the rotor flux regulator <NUM> together generate the commanded stator voltage vector Vdsc, Vqsc, expressed in the stator flux reference frame <NUM>. Both the torque regulator <NUM> and the rotor flux regulator <NUM> operate in the stator flux reference frame <NUM>. In the embodiment shown, the torque regulator <NUM> and flux regulator <NUM> are separate modules, but could be combined into a larger module. The commanded stator voltage vector Vdsc, Vqsc represents the stator voltage that is commanded by the induction motor controller, as determined in order to regulate the torque and the rotor flux of the induction motor <NUM>. The DQ/XY coordinate transformation module <NUM> transforms the commanded stator voltage vector Vdsc, Vqsc from the stator flux reference frame <NUM> to the phase voltage reference frame <NUM>, where the transformed vector Vxsc, Vysc is used to generate the AC power for the induction motor <NUM>. In the embodiment shown, the induction motor <NUM> is a three-phase induction motor. The three phases are denoted a, b, c. Other numbers of phases and other denotations for the phases could be used.

<FIG> functions as a guide to understanding the reference frames, vectors, projections and embodiments of the induction motor controller as described herein. In <FIG>, the x and y axes are orthogonal. The x and y axes are in the phase voltage reference frame. The x axis is aligned with one of the phase voltages of the stator of the induction motor, for example the phase voltage of the "A" winding of the stator. As AC power is applied to the stator windings, the stator flux linkage (i.e., the total magnetic flux linked by the stator windings) rotates relative to the phase voltage reference frame. This is depicted in the vector diagram as the d or direct axis rotating at a rotational speed or rotational rate of Wfs, the rotational speed of the stator flux. As is a common practice in the art, the term stator flux linkage is abbreviated to stator flux. The q or quadrature axis is perpendicular to the d axis. The q and d axes rotate together, which is symbolic of the stator flux reference frame rotating relative to the phase voltage reference frame. At any instant in time, the d axis is aligned with the stator flux and is angularly displaced from the x axis by a stator flux angle, denoted Afs. Equivalently, the stator flux angle Afs is the angle between the stator flux d axis and the x axis. At any instant in time, any vector quantity in either the stator flux space or the phase voltage space can be projected onto any of the axes. In the example shown, the rotor current, denoted ir, is projected onto the d axis and onto the q axis.

In <FIG>, an embodiment of the induction motor controller of <FIG> is further developed. The induction motor controller of <FIG> is intended for use in an electric or hybrid vehicle, which is propelled by the induction motor <NUM>. Further embodiments of the induction motor controller could be used in other applications of induction motors besides vehicles, for example in industrial applications, electromechanical machines and robotics. An overview of the modules, operation and control loops of the induction motor controller is presented below, then followed by a more in-depth discussion of these. It should be appreciated that the various variables, coefficients, intermediate values, inputs and outputs can be adjusted for dimensional compatibility or normalized, depending upon implementation, and that in various embodiments, modules may be combined or split, or modules may contain additional modules.

A vehicle control unit <NUM>, a torque command generator <NUM>, and a flux command generator <NUM> cooperate to produce a commanded torque Tc and a commanded rotor flux Frc. Generally, in an electric or hybrid vehicle, the commanded torque is based on input from a user, e.g., a driver of the electric vehicle or operator of an electromechanical device. More specifically, the commanded torque would be based on position of an accelerator pedal and position of a brake pedal in the vehicle. These would be based on other inputs in other systems.

The commanded torque Tc and the commanded rotor flux Frc are input, along with loop variables, to the torque regulator <NUM> and the flux regulator <NUM>. The torque regulator <NUM> and the flux regulator <NUM> together derive a commanded stator voltage vector, expressed in the stator flux reference frame, via a rotor flux regulator loop <NUM> and a torque regulator loop <NUM>. The rotor flux regulator loop <NUM> and the torque regulator loop <NUM> process at least partially in the stator flux reference frame.

A DQ/XY vector rotation module <NUM>, a space vector modulation module <NUM>, and a DC/AC (direct current to alternating current) inverter <NUM> process the commanded stator voltage vector to produce AC (alternating current) power for the induction motor <NUM>. The DQ/XY vector rotation module <NUM>, which is one embodiment of the DQ/XY coordinate transformation module <NUM> of <FIG>, transforms the commanded stator voltage vector from the stator flux reference frame <NUM> (as Vdsc, Vqsc) to the phase voltage reference frame <NUM> (as Vxsc, Vysc), applying vector rotation according to the stator flux angle Afs. The stator flux angle Afs is estimated rather than sensed, and is generated in the flux and torque estimator <NUM>.

The space vector modulation module <NUM> module generates pulse width modulation (PWM) switching controls for the DC/AC inverter <NUM> from the commanded stator voltage vector Vxsc, Vysc as transformed to the phase voltage reference frame <NUM>. The DC/AC inverter <NUM> generates three-phase AC power for the induction motor <NUM> from the pulse width modulation switching controls received from the space vector modulation module <NUM>. In a further embodiment, the DC/AC inverter <NUM> generates other numbers of phases for the AC power for the induction motor <NUM>, depending upon the design for the inverter <NUM> and the induction motor <NUM>.

The flux and torque estimator <NUM> produces an estimated torque T, the estimated stator flux angle Afs, an estimated rotor flux magnitude Fr, an estimated stator current vector Idqs expressed in the stator flux reference frame <NUM>, and an estimated rotor current vector Idqr expressed in the stator flux reference frame <NUM>. It produces these from a stator voltage vector Vxys expressed in the phase voltage reference frame <NUM>, a stator current Iabs of at least two phases, and a rotational speed Wr of the rotor of the induction motor. In the embodiment shown, the rotational speed Wr of the rotor is provided by a sensor such as a sensor associated with the induction motor <NUM>. For example, the sensor could include or be part of a shaft encoder, a tachometer, a speedometer or other sensing device or assembly. The stator current could be provided as showing current in all three phases of the induction motor <NUM>. However, as is well-known, providing values of the current of two phases allows deduction of the current in the third phase in a three-phase induction motor, since the vectors for these three currents add up to zero (with no net electrical charge buildup in, or loss from, the motor). In one embodiment, the stator current Iabs is provided by sensors, i.e. is a measured value.

The estimated rotor flux magnitude Fr is coupled from the flux and torque estimator <NUM> to the flux regulator <NUM>. The estimated torque T is coupled from the flux and torque estimator <NUM> to the torque regulator <NUM>. The estimated stator flux angle Afs is coupled from the flux and torque estimator <NUM> to the DQ/XY vector rotation module <NUM>. The stator voltage vector Vxys expressed in the phase voltage reference frame <NUM> is produced by the space vector modulation module <NUM> from the commanded stator voltage vector Vdsc, Vqsc expressed in the stator flux reference frame <NUM>. The stator current Iabs of at least two phases is provided by the DC/AC inverter <NUM> and is coupled as an input to the flux and torque estimator <NUM>.

In one embodiment, which will be further discussed regarding <FIG>, the flux and torque estimator <NUM> applies a rotor flux current model and a rotor flux voltage model to generate the estimated rotor flux magnitude Fr and the estimated torque T. Referring back to <FIG>, the rotor flux regulator loop <NUM> includes the estimated rotor flux magnitude Fr as an input to the flux regulator <NUM>, and the torque regulator loop <NUM> includes the estimated torque T as an input to the torque regulator <NUM>.

Continuing with <FIG>, the flux and torque limiter <NUM> works with the flux command generator <NUM>, the torque command generator <NUM> and the vehicle control unit <NUM>. These modules cooperate to generate the commanded torque Tc and the commanded rotor flux Frc, limiting the commanded torque Tc to less than or equal to a variable maximum commanded torque Tcmax and limiting the commanded rotor flux to greater than or equal to a variable minimum commanded rotor flux Frcmin and less than or equal to a variable maximum commanded rotor flux Frcmax. The commanded torque Tc is coupled from the torque command generator <NUM> as an input to the torque regulator <NUM>. The commanded rotor flux Frc is coupled from the flux command generator <NUM> as an input to both the torque regulator <NUM> and the flux regulator <NUM>. An embodiment of the flux and torque limiter <NUM> will be further discussed regarding <FIG>.

The discussion of the induction motor controller of <FIG> begins with the vehicle control unit <NUM> and proceeds clockwise (in the diagram) around the rotor flux regulator loop and the torque regulator loop. Conceptually, at high level, a command for torque of the induction motor <NUM> is given by a user through the vehicle control unit <NUM>. The command for torque is interpreted in terms of the state of the induction motor <NUM>, more specifically in terms of the estimated rotor flux Fr and the estimated torque T of the induction motor <NUM>. From the commanded torque Tc, the commanded rotor flux Frc is derived, and these are used for calculations or processing in the stator flux reference frame <NUM>. After transformation from the stator flux reference frame <NUM> to the phase voltage reference frame <NUM>, AC power for the induction motor <NUM> is generated. Variables are fed back through the rotor flux regulator loop and the torque regulator loop and used in the calculations or processing in the stator flux reference frame <NUM>, completing the loops. The various modules could be produced as hardware, software, firmware, or combinations thereof in various embodiments. For example, in one embodiment, one or more of the modules is implemented using software in a digital signal processor (DSP). Embodiments can include one or more processors, or combinations of one or more processors and hardware.

The vehicle control unit <NUM> produces an initial commanded torque Tc0, based upon user input. In one embodiment, the commanded torque Tc0 is mapped from sensors coupled to the throttle and brake pedals of a vehicle. In further embodiments, the commanded torque Tc0 is calculated, derived, or mapped from other sensors or modules. For example, an increased commanded torque Tc0 is a result of a user requesting increased speed or acceleration of a vehicle, and a decreased commanded torque Tc0 is a result of a user requesting decreased speed or acceleration of the vehicle. In some embodiments, the vehicle control unit applies hysteresis in mapping to the commanded torque Tc0.

The torque command generator <NUM> generates the commanded torque Tc from a variable maximum commanded torque Tcmax and the initial commanded torque Tc0. The variable maximum commanded torque Tcmax is applied to the initial commanded torque Tc0 as a torque limit. This operation could be performed by a comparison and a mapping, which sends the initial commanded torque Tc0 through as the commanded torque Tc, unless the initial commanded torque Tc0 exceeds the variable maximum commanded torque Tcmax, in which case the variable maximum commanded torque Tcmax is sent through as the commanded torque Tc. In various embodiments, the torque command generator <NUM> runs at the same sampling rate as the main loop sampling rate, or a slower sampling rate as compared to the main loop sampling rate.

The flux command generator <NUM> generates the commanded rotor flux Frc from the variable minimum commanded rotor flux Frcmin, the variable maximum commanded rotor flux Frcmax, the commanded torque Tc and the rotational speed Wr of the rotor. The variable minimum commanded rotor flux Frcmin and the variable maximum commanded rotor flux Frcmax are applied to the commanded rotor flux Frc as flux limits. In one embodiment, the flux command generator <NUM> generates an initial commanded rotor flux from the commanded torque Tc, using the relationship that the product of the rotational speed Wr of the rotor times the rotor flux is the back EMF (electromotive force), which is directly related to torque. It is possible for an induction motor to produce a same given torque by operating with a range of different rotor flux, where different rotor flux results in different operating performance of the motor such as different operating efficiency or different rotor electrical power loss. Through real-time calculation or table lookup operation, from the commanded torque Tc the initial commanded rotor flux Frc can be obtained which optimizes a certain aspect of system operation (such as optimal motor efficiency). A comparison of the initial commanded rotor flux to the flux limits is then performed. The initial commanded rotor flux is sent through as the commanded rotor flux Frc, unless the initial commanded rotor flux is less than the variable minimum commanded rotor flux Frcmin, in which case the variable minimum commanded rotor flux Frcmin is sent through as the commanded rotor flux Frc. If the initial commanded rotor flux is greater than the variable maximum commanded rotor flux Frcmax, the variable maximum commanded rotor flux Frcmax, is sent through as the commanded rotor flux Frc. In various embodiments, the flux command generator <NUM> runs at the same sampling rate as the main loop sampling rate, or a slower sampling rate as compared to the main loop sampling rate.

The torque regulator <NUM> processes a portion of the torque regulator loop and produces the projection of the commanded stator voltage vector Vqsc onto the quadrature axis in the stator flux reference frame <NUM>. The torque regulator <NUM> processes in the stator flux reference frame <NUM>. Specifically, the torque regulator <NUM> processes the commanded torque Tc, the estimated torque T, the commanded rotor flux Frc, and the rotational speed Wr of the rotor of the induction motor <NUM>, to produce the commanded stator voltage Vqsc as projected onto the quadrature axis in the stator flux reference frame <NUM>. In one embodiment, the torque regulator <NUM> includes a PI (proportional-integral) controller. An embodiment of the torque regulator <NUM> will be further discussed with reference to <FIG>.

The rotor flux regulator <NUM> processes a portion of the rotor flux regulator loop and produces a projection of the commanded stator voltage vector Vdsc onto the direct axis in the stator flux reference frame <NUM>. The rotor flux regulator <NUM> processes in the stator flux reference frame <NUM>. Specifically, the rotor flux regulator <NUM> processes the commanded rotor flux Frc and an estimated rotor flux magnitude Fr, to produce the commanded stator voltage Vdsc as projected onto the direct axis in the stator flux reference frame <NUM>.

The DQ/XY vector rotation module <NUM> acts as a stator flux reference frame <NUM> to phase voltage reference frame <NUM> vector rotation module that applies the estimated stator flux angle Afs to the commanded stator voltage vector Vdsc, Vqsc as expressed in the stator flux reference frame <NUM>. This application of the estimated stator flux angle Afs transforms the commanded stator voltage, as projected onto the direct axis and the quadrature axis, from a first vector Vdsc, Vqsc (i.e., the commanded stator voltage vector) in the stator flux reference frame <NUM> to a second vector Vxsc, Vysc (i.e., the commanded stator voltage vector) in the phase voltage reference frame <NUM>. In one embodiment, this coordinate transformation applies an inverse Park transformation. In various embodiments, the coordinate transformation is performed using real-time calculation or a lookup table.

The space vector modulation module <NUM> generates pulse width modulation (PWM) switching controls. Further, the space vector modulation module <NUM> generates the stator voltage vector Vxys expressed in the phase voltage reference frame, as used by the flux and torque estimator <NUM>. It generates these from the commanded stator voltage received as the second vector Vxsc, Vysc from the DQ/XY vector rotation module <NUM>. In one embodiment, the PWM switching controls are normalized. In various embodiments, the stator voltage vector Vxys expressed in the phase voltage reference frame <NUM> is generated by multiplying a power supply voltage measurement Vdc and the commanded stator voltage vector Vxsc, Vysc expressed in the phase voltage reference frame <NUM>, or the stator voltage vector Vxys expressed in the phase voltage reference frame <NUM> is measured (e.g., with a sensor) or estimated.

The DC bus <NUM> provides the power supply voltage measurement Vdc from a sensor. The DC bus in one embodiment is coupled to batteries or cells of the electric vehicle, which provide the DC power to the DC/AC inverter <NUM>. In one embodiment, a sensor measures the voltage measurement Vdc of the DC bus <NUM>.

The DC/AC inverter <NUM> generates three-phase AC power for the induction motor <NUM> from the PWM switching controls received from the space vector modulation module <NUM>. In one embodiment, a sensor measures the inverter temperature Ti, which is sent to the flux and torque limiter <NUM>. In one embodiment, sensors measure stator current Iabs of at least two of the phases of the stator, and send this to the flux and torque estimator <NUM>.

In the embodiment shown, the induction motor <NUM> is equipped with sensors. One sensor measures the motor temperature Tm, and sends this to the flux and torque limiter <NUM>. One sensor measures the rotational speed Wr of the rotor, and sends this to the flux and torque estimator <NUM>, the flux and torque limiter <NUM>, and the flux command generator <NUM>.

The flux and torque estimator <NUM> generates the estimated stator flux angle Afs for the DQ/XY vector rotation module <NUM>, the estimated rotor flux Fr for the flux regulator <NUM>, the estimated torque for the torque regulator <NUM>, and the stator current vector Idqs expressed in the stator flux reference frame <NUM> and the rotor current vector Idqr expressed in the stator flux reference frame <NUM> for the flux and torque limiter <NUM>. One embodiment of the flux and torque estimator <NUM> employs two distinct rotor flux models, as will be discussed regarding <FIG>.

The flux and torque limiter <NUM> generates the variable minimum commanded rotor flux Frcmin, the variable maximum commanded rotor flux Frcmax, and the variable maximum commanded torque Frcmax. It generates these from the stator current vector Idqs expressed in the stator flux reference frame <NUM>, the estimated rotor current vector Idqr expressed in the stator flux reference frame <NUM>, the inverter temperature Ti, the motor temperature Tm, the rotational speed Wr of the rotor, and the measured DC voltage Vdc of the DC bus <NUM>. The torque limit, namely the variable maximum commanded torque Tcmax, is sent from the flux and torque limiter <NUM> to the torque command generator <NUM>. The lower and upper rotor flux limits, namely the variable minimum commanded rotor flux Frcmin and the variable maximum commanded rotor flux Frcmax, are sent from the flux and torque limiter <NUM> to the flux command generator <NUM>.

Thus, the rotor flux regulator loop <NUM> and the torque regulator loop <NUM> are closed via the flux and torque estimator <NUM>, the flux regulator <NUM> and the torque regulator <NUM>, with limits imposed via the flux and torque limiter <NUM>, the flux command generator <NUM> and the torque command generator <NUM>. In order to close the loops, allowing feedbacks to cross from the phase voltage reference frame <NUM> back to the stator flux reference frame <NUM>, one embodiment of the flux and torque estimator <NUM> includes a phase voltage reference frame to stator flux reference frame vector rotation module that transforms current vectors from the phase voltage reference frame <NUM> to the stator flux reference frame <NUM>. An embodiment of the flux and torque limiter <NUM> will be further discussed regarding <FIG>.

<FIG> shows an embodiment of the flux and torque estimator <NUM>. Modules in the flux and torque estimator <NUM> are implemented in software, hardware, firmware, and various combinations thereof in various embodiments. For example, a module could be implemented as a software module executing in a DSP or other processor. In various embodiments, the rotor flux current model <NUM>, the rotor flux voltage model <NUM>, the rotor flux magnitude calculator <NUM>, the rotor current calculator <NUM>, the stator flux calculator <NUM>, the torque calculator <NUM> and the stator flux angle calculator <NUM> are each lookup-table-based or real-time-calculation-based.

The ABC/XY vector rotation module <NUM> acts as a stator phase current reference frame to phase voltage reference frame <NUM> vector rotation module that transforms a stator current Iabs of at least two phases to a stator current vector Ixys expressed in the phase voltage reference frame <NUM>. In one embodiment, this is performed using a Clarke transformation or variation thereof.

In the embodiment of the flux and torque estimator <NUM> shown in <FIG>, two rotor flux models cooperate with a regulator to form estimates of rotor flux vectors. The rotor flux current model <NUM> converges more quickly than does the rotor flux voltage model <NUM>. Combining the two rotor flux models improves accuracy of the system in a wide range of operating condition, i.e., over a wide range of motor speed and over a wide range of motor toque. Also, combining the two rotor flux models allows the various estimated result to be based on voltage, current and speed rather than just two out of three of these variables.

The rotor flux current model <NUM> generates a fast-convergence estimated rotor flux vector Fxyr expressed in the phase voltage reference frame <NUM>. It generates this from the stator current vector Ixys, expressed in the phase voltage reference frame <NUM>, and the rotational speed of the rotor Wr.

The rotor flux voltage model <NUM> generates a slow-convergence estimated rotor flux vector FxyrO expressed in the phase voltage reference frame <NUM>. It generates this from the stator voltage vector Vxys expressed in the phase voltage reference frame <NUM>, the stator current vector Ixys expressed in the phase voltage reference frame <NUM>, and an estimation correction factor.

The estimator regulator <NUM> generates the estimation correction factor from the fast-convergence estimated rotor flux vector Fxyr expressed in the phase voltage reference frame <NUM> and the slow-convergence estimated rotor flux vector FxyrO expressed in the phase voltage reference frame <NUM>. In one embodiment, the estimator regulator <NUM> includes a PI (proportional-integral) controller. The PI controller could form an error term from the difference between the fast-convergence estimated rotor flux vector Fxyr expressed in the phase voltage reference frame <NUM> and the slow-convergence estimated rotor flux vector FxyrO expressed in the phase voltage reference frame <NUM>. This error term could then be sent to a proportional module and an integral module, the outputs of which are summed to form the estimation correction factor. A PI controller is described with reference to <FIG> and an embodiment of the torque regulator <NUM>.

Continuing with <FIG>, four calculators in the flux and torque estimator <NUM> could be implemented using the calculating facilities of a DSP or other processor, or a hardware multiplier, or one or more lookup tables. The calculators could share a facility or each have a respective calculating facility. The rotor flux magnitude calculator <NUM> generates the estimated rotor flux magnitude Fr from the fast-convergence estimated rotor flux vector FxyrO expressed in the phase voltage reference frame <NUM>. The stator flux calculator <NUM> generates an estimated stator flux vector Fxys expressed in the phase voltage reference frame <NUM> from the slow-convergence estimated rotor flux vector FxyrO expressed in the phase voltage reference frame <NUM> and the stator current vector Ixys expressed in the phase voltage reference frame <NUM>. In one embodiment, the stator flux calculator <NUM> includes a model of inductances for windings of the stator of the induction motor. The rotor current calculator <NUM> generates an estimated rotor current vector Ixyr expressed in the phase voltage reference frame <NUM> from the fast-convergence estimated rotor flux vector Fxyr expressed in the phase voltage reference frame <NUM> and the estimated stator flux vector Fxys expressed in the phase voltage reference frame <NUM>. The torque calculator <NUM> generates the estimated torque T from the stator current vector Ixys expressed in the phase voltage reference frame <NUM> and the estimated stator flux vector Fxys expressed in the phase voltage reference frame <NUM>. The stator flux angle calculator <NUM> generates the estimated stator flux angle Afs from the estimated stator flux vector Fxys expressed in the phase voltage reference frame <NUM>.

The XY/DQ vector rotation module <NUM> acts as a phase voltage reference frame <NUM> to stator flux reference frame <NUM> vector rotation module that generates the estimated rotor current vector Idqr expressed in the stator flux reference frame <NUM> and the stator current vector Idqs expressed in the stator flux reference frame <NUM>. It generates these from the estimated rotor current vector Ixyr expressed in the phase voltage reference frame <NUM>, the stator current vector Ixys expressed in the phase voltage reference frame <NUM>, and the estimated stator flux angle Afs. In one embodiment, the XY/DQ vector rotation module <NUM> employs a Park transformation.

<FIG> shows one embodiment of the flux and torque limiter <NUM>. Some of the modules and the flux and torque limiter <NUM> have a calculator, which could be implemented similarly to the calculators in the flux and torque estimator <NUM>. Modules in the flux and torque limiter <NUM> are implemented in software, hardware, firmware, and various combinations thereof in various embodiments. In various embodiments, each of the rotor current limiter, the field weakener, the stator current limiter, the low rotor flux limiter, the high rotor flux limiter, the stator-based torque limiter, and the rotor-based torque limiter is lookup-table-based or real-time-calculation-based. In various embodiments, the flux and torque limiter <NUM> runs at the same sampling rate as the main loop sampling rate, or a slower sampling rate as compared to the main loop sampling rate.

The rotor current limiter <NUM> generates a variable maximum rotor current Irmax from the rotational speed Wr of the rotor, the estimated rotor current vector Idqr expressed in the stator flux reference frame <NUM>, and the motor temperature Tm. The motor temperature Tm is affected by the rotor current and the rotational speed Wr of the rotor. In one embodiment, the rotor current limiter <NUM> decreases the variable maximum rotor current Irmax in response to an increased motor temperature Tm. This protects the rotor, and the induction motor <NUM>, from overheating as a result of too much rotor current. In one embodiment, the rotor current limiter <NUM> includes a calculator.

The field weakener <NUM> generates a variable maximum stator flux Fsmax from the rotational speed Wr of the rotor and the DC voltage Vdc of the DC bus <NUM> or other power source for the induction motor <NUM>. In one embodiment, the field weakener <NUM> decreases the variable maximum stator flux Fsmax in response to the rotational speed of the rotor Wr exceeding a base speed. The field weakener <NUM> further decreases the variable maximum stator flux Fsmax in response to a decreasing DC voltage of the power source for the induction motor <NUM>. Some motors become unstable for too high values of stator flux. For example, the induction motor could readily withstand a maximum stator flux up to a base speed of the motor, but become unstable at lesser values of stator flux for higher rotational speeds. In one embodiment, a lower DC voltage decreases the maximum available flux at higher RPMs of the rotor. As a further example, in some induction motors the maximum stator flux should be lowered for lower values of power supply voltage, past some base value of rotational speed of the rotor. Various maps are readily devised for the field weakener <NUM>, depending upon characteristics of a specified induction motor <NUM>. In one embodiment, the field weakener <NUM> includes a calculator.

The stator current limiter <NUM> generates a variable maximum stator current Ismax from the rotational speed of the rotor Wr, the stator current vector Idqs expressed in the stator flux reference frame <NUM>, and an inverter temperature Ti. The inverter temperature Ti is affected by the stator current and by the rotational speed of the rotor Wr. In one embodiment, the stator current limiter <NUM> decreases the variable maximum stator current Ismax in response to an increased inverter temperature Ti. This protects the stator and the induction motor <NUM> from overheating as a result of too high a stator current.

The low rotor flux limiter <NUM> generates a variable minimum commanded rotor flux Frcmin from the variable maximum rotor current Irmax and the rotational speed of the rotor Wr. In one embodiment, the low rotor flux limiter <NUM> sets the variable minimum commanded rotor flux Frcmin consistent with readiness to accelerate the rotor. For example, because rotor current is induced in an induction motor, having too low a rotor flux results in a low rotor current, which will give slow responsiveness to commands to increase the torque of the induction motor. Another reason to set the variable minimum commanded rotor flux Frcmin is to maintain stability or robustness of the motor against sudden changes in shaft load as well as other disturbances. Setting a minimum commanded rotor flux prepares the induction motor to respond more quickly to a command to increase the torque and to maintain torque and speed despite disturbances. This minimum is dependent on motor design and also on operating situation, in some embodiments.

The high rotor flux limiter <NUM> generates the variable maximum commanded rotor flux Frcmax from the variable maximum stator flux Fsmax and the variable maximum stator current Ismax. In one embodiment, the high rotor flux limiter <NUM> sets the variable maximum commanded rotor flux Frcmax based upon the variable maximum stator flux Fsmax and the variable maximum stator current Ismax, so as to decrease the variable maximum commanded rotor flux Frcmax in response to either the variable maximum stator flux Fsmax or the variable maximum stator current Ismax being decreased.

The stator-based torque limiter <NUM> generates a variable maximum stator-based commanded torque Tcmaxs from the variable maximum stator flux Fsmax and the variable maximum stator current Ismax. In one embodiment, the stator-based torque limiter <NUM> sets the variable maximum stator-based commanded torque Tcmaxs based upon a product of the variable maximum stator flux Fsmax and the variable maximum stator current Ismax. In one embodiment, the stator-based torque limiter <NUM> includes a calculator.

The rotor-based torque limiter <NUM> generates a variable maximum rotor-based commanded torque Tcmaxr from the variable maximum rotor current Irmax and the variable maximum commanded rotor flux Frcmax. In one embodiment, the rotor-based torque limiter that sets the variable maximum rotor-based commanded torque Tcmaxr based upon a product of the variable maximum rotor current Irmax and the variable maximum commanded rotor flux Frcmax. In one embodiment, the rotor-based torque limiter <NUM> includes a calculator.

The final torque limiter <NUM> generates the variable maximum commanded torque Tcmax from the variable maximum rotor-based commanded torque Tcmaxr and the variable maximum stator-based commanded torque Tcmaxs. In one embodiment, the final torque limiter <NUM> sets the variable maximum commanded torque Tcmax by selecting the lesser of the variable maximum rotor-based commanded torque Tcmaxr and the variable maximum stator-based commanded torque Tcmaxs. For example, torque can be calculated by stator flux and stator current, or by rotor flux and rotor current. Comparing the two calculation results for torque and picking the lower one for a torque limit is a more conservative choice for stability purposes. In further embodiments, the greater of the two, an average of the two, or a weighted average of the two could be selected.

<FIG> shows an embodiment of the torque regulator <NUM> from <FIG> and <FIG>. In this embodiment, the torque regulator <NUM> includes a proportional-integral (PI) controller <NUM>. The PI controller <NUM> has a difference between the commanded torque Tc and the estimated torque T as an input. This difference, an error term in PI controller terminology, is shown as a summation <NUM> of the commanded torque Tc, as a positive input, and the estimated torque T as a negative input. The output of the summation <NUM> produces the torque error. The torque error is routed to a proportional module <NUM>, which produces a factor that is proportional to the summation <NUM> output (i.e., proportional to the torque error), and an integral module <NUM>, which produces a factor that is proportional to the integral of the summation <NUM> output (i.e., proportional to the integral of the torque error). The output of the proportional module <NUM> and the output of the integral module <NUM> are added by a summation <NUM> to produce the output of the PI controller <NUM>.

In the embodiment shown in <FIG>, the torque regulator <NUM> includes a feedforward module <NUM>. The feedforward module <NUM> includes a summation <NUM> having as inputs the output of the PI controller <NUM> and a product of the commanded rotor flux Frc and the rotational speed of the rotor Wr. The feedforward summation <NUM> has as an output the commanded stator voltage Vqsc as projected onto the quadrature axis in the stator flux reference frame <NUM>. In a further embodiment, the output summation <NUM> of the PI controller is combined with the feedforward summation <NUM> of the feedforward module <NUM>, as a single summation with three inputs.

<FIG> shows an embodiment of the rotor flux regulator <NUM> from <FIG> and <FIG>. In this embodiment, the rotor flux regulator <NUM> includes a proportional-integral-derivative (PID) controller <NUM> having as inputs the commanded rotor flux Frc and the estimated rotor flux Fr, and having as an output the commanded stator voltage Vdsc projected onto the direct axis in the stator flux reference frame <NUM>. The input summation <NUM> has the commanded rotor flux Frc as a positive input and the estimated rotor flux Fr as a negative input. The output of the input summation <NUM> produces an error term, in PID controller terminology, in this case a flux error. The flux error is routed to a proportional module <NUM>, which produces a term that is proportional to the summation <NUM> output (i.e., proportional to the flux error), an integral module <NUM>, which produces a term that is proportional to the integral of the summation <NUM> output (i.e., proportional to the integral of the flux error), and a derivative module <NUM>, which produces a term that is proportional to the derivative of the summation <NUM> output (i.e., proportional to the derivative of the flux error). The output of the proportional module <NUM>, the output of the integral module <NUM>, and the output of the derivative module <NUM>, are added by an output summation <NUM> to produce the output of the PID controller <NUM>, which is the commanded stator voltage Vdsc projected onto the direct axis in the stator flux reference frame <NUM>.

<FIG> shows an embodiment of a method of controlling an induction motor. The method can be practiced on embodiments of the induction motor controller, including those described with reference to <FIG>. A processor could perform one or more steps of the method, in various embodiments.

In an action <NUM>, a torque regulator loop is processed to produce a quadrature axis projection of a commanded stator voltage vector in a stator flux reference frame. For example, the torque regulator produces such a voltage vector projection. As shown in <FIG>, the torque regulator processes in the stator flux reference frame the commanded torque, the estimated torque, the commanded rotor flux, and the rotational speed of the rotor of the induction motor, as part of the torque regulator loop, to produce the quadrature axis projection of the commanded stator voltage vector in the stator flux reference frame.

In an action <NUM>, a rotor flux regulator loop is processed to produce a direct axis projection of a commanded stator voltage vector in the stator flux reference frame. For example, the rotor flux regulator produces such a voltage vector projection. As shown in <FIG>, the rotor flux regulator processes in the stator flux reference frame the commanded rotor flux and the estimated rotor flux, as part of the rotor flux regulator loop, to produce the direct axis projection of the commanded stator voltage vector in the stator flux reference frame.

In an action <NUM>, the commanded stator voltage vector is transformed from the stator flux reference frame to a phase voltage reference frame. For example, the DQ/XY coordinate transformation module or the DQ/XY vector rotation module performs such a transformation. As shown in <FIG>, the DQ/XY vector rotation module transforms the commanded stator voltage vector from the stator flux reference frame to a phase voltage reference frame.

In an action <NUM>, the commanded stator voltage vector from the phase voltage reference frame is processed to produce AC power for the induction motor. For example, the space vector modulation unit and the DC/AC inverter perform such processing. As shown in <FIG>, the space vector modulation unit processes the commanded stator voltage vector, after transformation to the phase voltage frame, to produce pulse width modulation switching controls. The DC/AC inverter then processes the pulse width modulation switching controls to produce alternating current (AC) power for the induction motor.

In one embodiment, processing as part of the torque regulator loop, for the action <NUM>, includes further actions that can be performed, for example, on or by the torque regulator of <FIG>. In this embodiment, processing as part of the torque regulator loop includes generating the quadrature axis projection of the commanded stator voltage vector, expressed in the stator flux reference frame. This can be performed by subtracting the estimated torque from the commanded torque to form a torque error. Adding a first term proportional to the torque error and a second term proportional to an integral of the torque error forms a PI (proportional-integral) controller output. Multiplying the rotational speed of the rotor by the commanded rotor flux forms a feedforward quantity. Adding the feedforward quantity to the PI controller output forms the quadrature axis projection of the commanded stator voltage vector in the stator flux reference frame.

In one embodiment, processing as part of the rotor flux regulator loop, for the action <NUM>, includes further actions that can be performed, for example, on or by the rotor flux regulator of <FIG>. In this embodiment, processing as part of the rotor flux regulator loop includes generating the direct axis projection of the commanded stator voltage vector, expressed in the stator flux reference frame. This can be performed by subtracting the estimated rotor flux from the commanded rotor flux to form a flux error. Adding a first term proportional to the flux error, a second term proportional to an integral of the flux error, and a third term proportional to a derivative of the flux error forms the direct axis projection of the commanded stator voltage vector in the stator flux reference frame.

Various embodiments of the present induction motor controller, as described above with reference to <FIG>, have some or all of the following characteristics and features. Rotor flux and torque control are performed with a rotor flux regulator loop and a torque regulator loop, without current regulation loops. The rotor flux and the torque regulator loops are processed in a stator flux reference frame. Quantities in the stator flux reference frame are identified as "dq". Quantities in the stator stationary reference frame are identified as "xy".

A flux and torque estimator is followed by a flux and torque limiter. The flux and torque estimator inputs are sensed motor phase currents, sensed or computed phase voltages, and sensed motor speed. The outputs are estimated rotor flux magnitude, torque magnitude, stator flux angle, and stator and rotor circuit currents in the "dq" reference frame. The stator flux angle, relative to the stator stationary frame, is used to perform vector rotation between "dq" and "xy".

The flux and torque limiter runs in real-time at the same sampling rate (or slower sampling rate) compared to the main loop sampling rate. The flux and torque limiter determines a maximum torque command and a maximum and a minimum rotor flux magnitude. The basis of the design of this limiter block is a comprehensive motor physical model that defines the operating limits of the motor system as functions of battery bus voltage, sensed motor speed, and sensed inverter and motor operating temperatures.

One benefit of the flux and torque limiter is that the stator current and rotor current are individually limited. With the direct torque (in DTC), neither the stator nor the rotor current is directly regulated or limited. With the field orientation control (FOC), only the stator current is directly regulated and the rotor current is neither regulated nor limited in some embodiments.

Flux and torque command generators adaptively generate flux and torque commands in real-time, at the same or slower sampling rate as the main loop sampling rate.

One benefit of rotor flux regulation is that the rotor flux generally contains less harmonics than the stator flux and the airgap flux, resulting in improved control accuracy and reduced system jittering. In addition, the rotor flux slightly lags in phase the stator flux and the airgap flux, which may result in improved system stability and improved peak torque envelope limits.

One benefit of processing the main control loop in a reference frame aligned to the stator flux is that the stator flux angle computation can be more accurate and can converge faster, than computing a rotor flux angle.

With the above embodiments in mind, it should be understood that the embodiments might employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Further, the manipulations performed are often referred to in terms, such as producing, identifying, determining, or comparing. Any of the operations described herein that form part of the embodiments are useful machine operations. The embodiments also relate to a device or an apparatus for performing these operations. The apparatus can be specially constructed for the required purpose, or the apparatus can be a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general-purpose machines can be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.

The embodiments can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data, which can be thereafter read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes, and other optical and non-optical data storage devices. The computer readable medium can also be distributed over a network coupled computer system so that the computer readable code is stored and executed in a distributed fashion. Embodiments described herein may be practiced with various computer system configurations including hand-held devices, tablets, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers and the like. The embodiments can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.

Although the method operations were described in a specific order, it should be understood that other operations may be performed in between described operations, described operations may be adjusted so that they occur at slightly different times or the described operations may be distributed in a system which allows the occurrence of the processing operations at various intervals associated with the processing.

Claim 1:
An induction motor controller, comprising:
a controller, configured to couple to one or more sensors and an induction motor (<NUM>) having a stator and a rotor, the controller having a first module and a second module;
the first module configured to derive a commanded stator voltage vector (Vdsc, Vqsc), in a stator flux reference frame (<NUM>), via a rotor flux regulator loop (<NUM>) operated by a rotor flux regulator (<NUM>) and a torque regulator loop (<NUM>) operated by a torque regulator (<NUM>), which process at least partially in the stator flux reference frame (<NUM>);
the second module configured to process the commanded stator voltage vector (Vdsc, Vqsc) to produce alternating current (AC) power for the induction motor (<NUM>); and
a third module configured to apply a rotor flux current model and a rotor flux voltage model to generate an estimated rotor flux magnitude and an estimated torque (T), wherein the rotor flux regulator loop (<NUM>) includes the estimated rotor flux magnitude as an input to the rotor flux regulator, and the torque regulator loop (<NUM>) includes the estimated torque (T) as an input to the torque regulator.