Methods and systems for induction machine control

A method for controlling an induction machine having a rotor includes the steps of obtaining a torque command, calculating an estimated squared value of resistance of the rotor using the torque command, determining an offset for the resistance of the rotor, and generating an updated measure of rotor resistance using the estimated squared value and the offset.

TECHNICAL FIELD

The present invention generally relates to the field of induction machines, and, more specifically, to methods and systems for controlling induction machines.

BACKGROUND

Indirect field-oriented control (IFOC) is widely used for induction machines, such as motors of vehicles. For example, IFOC is utilized in some vehicles for three-phase induction machine control in traction application. IFOC can be a valuable tool, for example in using rotor resistance values in estimating torque values for an induction machine, for example of a vehicle. IFOC is commonly used control method for a three-phase induction machine. For example, if induction machine parameters of the IFOC are know, the IFOC reduces the complex dynamics of an induction machine to the dynamics of a separately excited direct current machine. Using this approach allows the flux and torque of the induction machine to be controlled independently.

However, if the parameters used in IFOC are not identical to the actual parameters in the induction machine, the desired machine flux level may not be properly maintained. In addition, because the desired torque is estimated based on the actual parameters, torque linearity may also be lost. For example, it may be difficult to properly maintain decoupling between the flux and torque if less than ideal rotor resistance values are used in the calculation. Thus, rotor resistance values, which are functions of rotor temperature, can have a significant impact on the performance of IFOC. Torque accuracy, response and efficiency can similarly be affected by the accuracy of the values of rotor resistance that are used in the calculations.

Accordingly, it is desirable to provide improved methods for controlling an induction machine, such as for a vehicle, for example that provide improved estimates of rotor resistance that may then be utilized in obtaining improved estimates for motor torque. It is also desirable to provide improved systems for controlling an induction machine, such as for a vehicle, for example that provide improved estimates of rotor resistance that may then be utilized in obtaining improved estimates for motor torque. Furthermore, other desirable features and characteristics of the present invention will be apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.

SUMMARY

In accordance with an exemplary embodiment, a method for controlling an induction machine having a rotor is provided. The method comprises the steps of obtaining a torque command, calculating an estimated squared value of flux determining an offset for the resistance of the rotor, and generating an updated measure of rotor resistance using the estimated squared value and the offset.

In accordance with another exemplary embodiment, a method for controlling an induction machine having a rotor is provided. The method comprises the steps of obtaining a torque command, determining a position of the rotor, determining a speed of the rotor, calculating an estimated squared value of flux of the rotor using the torque command, the position of the rotor, and the speed of the rotor, determining a flux square offset value for the rotor using the torque command, the speed of the rotor, and a look-up table, and generating an updated measure of rotor resistance using the estimated squared value and the flux square offset value.

In accordance with a further exemplary embodiment, a system for controlling an induction machine having a rotor is provided. The system comprises a first sensor, a second sensor, and a processor. The first sensor is configured to measure a position of the rotor. The second sensor is configured to measure a speed of the rotor. The processor is coupled to the first sensor and the second sensor. The processor is configured to at least facilitate obtaining a torque command, calculating an estimated squared value of flux of the rotor using the torque command, the position of the rotor, and the speed of the rotor, determining a flux square offset value for the rotor using the torque command, the speed of the rotor, and a look-up table, and generating an updated measure of rotor resistance using the estimated squared value and the flux square offset value.

DETAILED DESCRIPTION

FIG. 1is a functional block diagram of a system100for controlling an induction machine102having a rotor104and a stator106, in accordance with an exemplary embodiment. The system100includes a controller110and a computer system120.

The controller110includes one or more sensors112. In a preferred embodiment, one or more of the sensors112are configured to measure a position of the rotor104. Also in a preferred embodiment, one or more additional sensors112are configured to measure a speed of rotation of the rotor104. These measured values can be used in determining an estimated flux value of the rotor104. The measurements of the sensors112and/or information pertaining thereto are provided to the computer system120for processing, preferably by the processor122thereof.

The computer system120is coupled to the controller110and to the sensors112thereof. In a preferred embodiment, the computer system120comprises a computation circuit of the system100.

In the depicted embodiment, the computer system120includes a processor122, a memory124, an interface126, a storage device128, and a computer bus130. The processor122performs the computation and control functions of the computer system120and the system100, and may comprise any type of processor or multiple processors, single integrated circuits such as a microprocessor, or any suitable number of integrated circuit devices and/or circuit boards working in cooperation to accomplish the functions of a processing unit. During operation, the processor122executes one or more programs132contained within the memory124and, as such, controls the general operation of the computer system120.

The memory124can be any type of suitable memory. This could include the various types of dynamic random access memory (DRAM) such as SDRAM, the various types of static RAM (SRAM), and the various types of non-volatile memory (PROM, EPROM, and flash). Also as depicted inFIG. 1, the memory124preferably stores the program132for use in executing the steps of various processes such as the process200ofFIG. 2discussed further below. Also in a preferred embodiment, the memory124stores a look-up table134for use in determining adjusted values of rotor flux squared for the rotor104of the induction machine102, also preferably in accordance with the process200ofFIG. 2discussed further below. The computer bus130serves to transmit programs, data, status and other information or signals between the various components of the computer system120.

The interface126allows communication to the computer system120, for example from the controller110, the sensors112thereof, a system driver, and/or another computer system, and can be implemented using any suitable method and apparatus. It can include one or more network interfaces to communicate with other systems or components. The interface126may also include one or more network interfaces to communicate with technicians, and/or one or more storage interfaces to connect to storage apparatuses, such as the storage device128.

The storage device128can be any suitable type of storage apparatus, including direct access storage devices such as hard disk drives, flash systems, floppy disk drives and optical disk drives. In one embodiment, the storage device128comprises a program product from which memory124can receive a program132that executes one or more embodiments of one or more processes, such as the process200set forth further below or portions thereof. In another embodiment, the program product may be directly stored in and/or otherwise accessed by the memory124and/or a disk (e.g., disk136) such as that referenced below.

The computer bus130can be any suitable physical or logical means of connecting computer systems and components. This includes, but is not limited to, direct hard-wired connections, fiber optics, infrared and wireless bus technologies. During operation, the program132is stored in the memory124and executed by the processor122. It will be appreciated that the system100may differ from the embodiment depicted inFIG. 1, for example in that the system100may be coupled to or may otherwise utilize one or more remote computer systems and/or other control systems.

It will be appreciated that while this exemplary embodiment is described in the context of a fully functioning computer system, those skilled in the art will recognize that certain of these mechanisms are capable of being distributed as a program product in a variety of forms with various types of computer-readable signal bearing media used to carry out the distribution. Examples of signal bearing media include: recordable media such as floppy disks, hard drives, memory cards and optical disks, and transmission media such as digital and analog communication links. It will similarly be appreciated that the computer system120may also otherwise differ from the embodiment depicted inFIG. 1, for example in that the computer system120may be coupled to or may otherwise utilize one or more remote computer systems and/or other control systems.

FIG. 2is a functional block diagram of a rotor resistance calculation and correction algorithm process200with model reference adaptive control (MRAC) tuning that employs a square of the rotor flux magnitude to estimate rotor resistance, in accordance with an exemplary embodiment. The process200can be used in connection with the system100ofFIG. 2, also in accordance with an exemplary embodiment.

As depicted inFIG. 2, a rotor position is determined (step201). In one embodiment, the rotor position is measured by one of the sensors112of the controller110ofFIG. 1with respect to the rotor104ofFIG. 1. In another embodiment, the rotor position is calculated by the processor122of the computer system120ofFIG. 1using information obtained by one of the sensors112of the controller110ofFIG. 1with respect to the rotor104ofFIG. 1.

A rotor speed ωris determined (step202). In one embodiment, the rotor speed is measured by one of the sensors112of the controller110ofFIG. 1with respect to the rotor104ofFIG. 1. In another embodiment, the rotor speed is calculated by the processor122of the computer system120ofFIG. 1using information obtained by one of the sensors112of the controller110ofFIG. 1with respect to the rotor104ofFIG. 1.

In addition, a torque command is received (step203). In a preferred embodiment, the torque command is received by the processor122of the computer system120ofFIG. 1from the induction machine102ofFIG. 1.

A current command is then generated (step204). In a preferred embodiment, the current command is generated using the torque command. In a preferred embodiment, the current command is generated by the processor122of the computer system120ofFIG. 1as a function of the torque command of step203.

The torque command produces stator current command components i*dsand i*qs, respectively, which are provided to the processor122ofFIG. 1for processing in accordance with IFOC206(also referred to herein as step206or algorithm206). The IFOC206outputs reference voltages va, vb, and vc, and a slip angle ωslip, which are fed to a power inverter208of an induction machine210. In a preferred embodiment, the induction machine210corresponds with the induction machine102ofFIG. 1.

With reference toFIG. 7, an exemplary IFOC206for the rotor resistance calculation and correction process200ofFIG. 2is depicted, in accordance with an exemplary embodiment. In the embodiment ofFIG. 7, the IFOC206utilizes a current regulator718. Also as depicted inFIG. 7, the IFOC206utilizes the commanded value for stator current components i*dsand i*qs, along with estimated rotor resistance Rrand mutual inductance Lmvalues to calculate a slip angle ωslip(also referenced inFIG. 7as ω*s) and a flux angle θ*e(steps702-714). The flux angle θ*e, along with current component values ia, ib, and ic, are transformed from a stationary reference frame to a synchronous reference frame in order to generate updated stator current components idsand iqs(step716). The updated stator current components idsand iqsare provided to the current regulator718to generate updated voltage commands and transformed from the synchronous reference frame back to the stationary reference frame to generate the IFOC206outputs reference voltages va, vb, and vc(step720). The reference voltages va, vb, and vccan then be supplied to the inverter208ofFIG. 2for use in controlling the induction machine210ofFIG. 2. In a preferred embodiment, these calculations and processing are performed by the processor122ofFIG. 1.

Returning now toFIG. 2, a determination is made as to whether a rotor resistance correction algorithm220should be implemented (step212). For example, in one preferred embodiment, if a speed of the rotor is in a very high range (for example, above 10,000 revolutions per minute, by way of example only), or if a torque of the induction machine is lower than a predetermined amount (such as five percent of a maximum torque of the induction machine, by way of example only), then the rotor resistance correction algorithm is not implemented, and the rotor resistance is calculated instead in accordance with step214ofFIG. 2as a function of the stator temperature. In one preferred embodiment, the rotor resistance is calculated in step214using the following equation:
Rr=Rr25*(+0.00399(Ttemp—stator−25))  (Equation 1),
in which Rrrepresents the rotor resistance, Rr25represents the rotor resistance at room temperature. Ttemp—statorrepresents the temperature of the stator, and Rris a function of Ttemp—stator. In other embodiments, different equations may be used.

Conversely, if it is determined in step212that the rotor resistance correction algorithm220should be implemented, then the process proceeds to step224, as described below. As depicted inFIG. 2, in a preferred embodiment rotor resistance correction algorithm comprises steps224-240ofFIG. 2and as described below, in accordance with one exemplary embodiment. After the rotor resistance correction algorithm220is complete, an updated rotor resistance value is provided (preferably to the processor122ofFIG. 1) for use in the IFOC206ofFIG. 2. These steps preferably repeat until there is a determination in the above-described step212that the rotor resistance correction algorithm220should not be implemented.

During step224, an estimated rotor flux magnitude {circumflex over (ψ)}r2is calculated in the IFOC206using internal variables (step224). In a preferred embodiment, a calculating circuit (preferably the processor122ofFIG. 1) calculates an estimated rotor flux magnitude from measured quantities, including voltages va, vb, and vc, the rotor slip angle ωslipfrom the IFOC calculations of step206, the phase currents ia, ib, and ic, and the rotor speed ωr. This information is preferably provided to a processor (most preferably the processor122ofFIG. 1) as part of a rotor resistance correction algorithm220. In addition, in a preferred embodiment, the induction machine210ofFIG. 2comprises the induction machine102ofFIG. 1.

In a preferred embodiment, the calculations and processing of step224are made by the processor122ofFIG. 1using information provided to the processor122by one or more of the sensors112ofFIG. 1, and pertains to the rotor104of the induction machine102ofFIG. 1. In a preferred embodiment, the information as to the estimated squared rotor flux magnitude calculation is obtained and actual rotor flux magnitude is calculated by, the processor122ofFIG. 1.

Also in a preferred embodiment, during step224these calculations are performed in synchronous frame in which the currents appear to be dc in steady state. In order to reduce or eliminate noise content in the actual current signals commanded currents are used in equation (2) instead of the measured currents. This helps to reduce or avoid amplification of the noise in the actual implementation in this embodiment.

Specifically, in this exemplary embodiment, the estimated motor flux square {circumflex over (ψ)}r2is obtained by the following equation:

ψ^r2={(Vq⁢id-Vd⁢iq)-Ls⁢σ⁡(id⁢ⅆⅆt⁢iq-iq⁢ⅆⅆt⁢id+ωe⁢id2+ωe⁢iq2)}⁢Lrωe,(Equation⁢⁢2)
in which Vdand Vqare stator commanded voltages in a synchronous reference frame, idand iqare stator currents in a synchronous frame (e.g., in which commanded currents are preferably used), Lsσ is an equivalent stator leakage inductance, Lris rotor leakage inductance, and ωeis stator electrical frequency.

In a preferred embodiment, this estimated rotor flux squared tracks the actual flux squared. This flux is preferably calculated inside the IFOC206by using a flux observer, for example using one or more of the sensors112ofFIG. 2. Also in a preferred embodiment, the motor flux from flux observer is calculated as follows:

In a preferred embodiment, if Rris the actual rotor resistance and estimated fluxes from Equations (2) and (3) reflect the motor flux perfectly, then the {circumflex over (ψ)}r2value in Equation (2) should be equal to the ψdr2value in Equation (3). However, mutual inductance Lmchanges significantly with the machine saturation level. Accordingly, the {circumflex over (ψ)}r2value in Equation (2) is parameter sensitive. In addition, leakage inductance variation with machine operation may also affect the accuracy of the value for {circumflex over (ψ)}r2. Accordingly, even though the correct is used, there is still an offset between {circumflex over (ψ)}r2and ψdr2. This offset will cause an error in Rrestimation, and therefore will be accounted for in steps226-240below with reference to the look-up table.

In addition, a rotor flux square offset value |ψr|2is calculated (step226). In a preferred embodiment, the rotor flux square offset value |ψr|2is calculated using the rotor speed ωrfrom step202and a flux-squared look-up table. Also in a preferred embodiment, the flux squared look-up table is calculated off-line using actual rotor resistance values. Also in a preferred embodiment, the values in the look-up table are a function of torque and speed of the rotor. The flux square offset preferably helps to account for any expected differences between the estimated rotor flux squared and the actual rotor flux squared in light of the actual rotor resistance. In a preferred embodiment, these calculations and processing are conducted by the processor122ofFIG. 1. Also in a preferred embodiment, the look-up table comprises the look-up table134ofFIG. 1, and is stored in the memory124ofFIG. 1.

In addition, a value of actual rotor flux ψdris obtained from the IFOC206using equation (3) and multiplied by itself (step228). In a preferred embodiment, this calculation and processing is conducted by the processor122ofFIG. 1. The squared value ψ2d, of step228is then added to the flux square offset value |ψr|2of step226, to thereby generate a summed value (step232). In a preferred embodiment, this calculation is also conducted by the processor122ofFIG. 1.

Next, in step234, a difference is calculated between the summed value of step232is then subtracted form the estimated flux square value ψdr2from step224. This difference is preferably calculated by a computation circuit, and most preferably by the processor122ofFIG. 1. The output of this difference is used (preferably by the processor122ofFIG. 1) in determining the rotor resistance value Rrthat is used in the IFOC206. Because the function (|ψr|2) is sensitive to the rotor resistance Rr, any difference between the actual Rrvalue and the estimated Rrvalue produces a non-zero error. The non-zero error forces the Rrvalue used in the IFOC206to change.

The difference calculated in step234is then processed via a filter (preferably a low-pass filter) (step236), an integrator (preferably initialized with an initial rotor resistance value as a function of the stator temperature) (step238), and a limit function or algorithm (preferably, incorporating known temperature limits for the induction machine210(step240) in order to determine a new value for rotor resistance magnitude for use in the IFOC206ofFIG. 2. In a preferred embodiment, these steps are also conducted by the processor122ofFIG. 1.

Turning now toFIGS. 3-6, plots are provided of graphical results pertaining to experiments conducted using some of the exemplary embodiments for estimating rotor resistance and controlling induction machines under various conditions. First,FIG. 3represents an experiment in which the experiment result of the actual motor rotor resistance302(calculated by measured rotor temperature), estimated rotor resistance304, and rotor resistance estimated from stator temperature at steady state306(2000 rpm and 10 nm) without using compensated flux squared offset in motoring operation. The relative error between actual rotor resistance and estimated rotor resistance is

FIG. 4shows the experiment result of the actual motor rotor resistance402, estimated rotor resistance404, and rotor resistance estimated from stator temperature at steady state406(2000 rpm and 10 nm) with compensated flux square offset in motoring operation. The relative error between actual rotor resistance and estimated rotor resistance is within 0.5% at this operation point. This is a significant improvement over the results that are presented inFIG. 3.

FIG. 5andFIG. 6show the experiment results of the actual motor rotor resistance (502and602, respectively), estimated rotor resistance (504and604, respectively), and rotor resistance estimated from stator temperature (506and606, respectively) at 2000 rpm with varying torque command (508and608, respectively) with compensated flux square offset in motoring and regeneration operation respectively. Observation on these results shows that the estimated rotor resistance follow the actual rotor resistance very closely not only in steady state but also in transient.

The disclosed methods and systems provide for improved estimation of rotor resistance in induction motors and for improved control of induction motors. For example, the disclosed methods and systems provide for potentially more accurate estimation and control of rotor resistance of induction motors. The disclosed methods and system also allow such estimation and control of rotor resistance of induction motors using potentially less expensive sensors and/or other equipment, and/or allows for such estimation and control of rotor resistance of induction motors to be conducted more quickly and/or more cost effectively. In addition, the disclosed methods and system potentially provide such estimation and control of rotor resistance of induction motors that are reliable in both steady state and transient conditions.

It will be appreciated that the disclosed method and systems may vary from those depicted in the Figures and described herein. For example, as mentioned above, certain elements of the system100ofFIG. 1, such as the controller110and/or the computer system120and/or portions or components thereof, may vary, and/or may be part of and/or coupled to one or more other systems and/or devices. In addition, it will be appreciated that certain steps of the process200and/or various steps, components, algorithms, and/or sub-algorithms thereof may vary from those depicted inFIG. 2and/or described herein in connection therewith. It will similarly be appreciated that the disclosed methods and systems may be implemented and/or utilized in connection with various different types of automobiles, sedans, sport utility vehicles, trucks, and/or any of a number of other different types of vehicles and/or other types of devices.