# Patent

## Title
Method of and apparatus for controlling the operation of an induction motor using a model of the induction motor

## Abstract

A controller for a motor and a method for controlling the operation of the motor. The controller includes a model of the motor, where the model is utilized to determine modeled values of first and second motor variables. An estimated value of slip is adjusted based at least in part on a comparison of the modeled value of the second motor variable and an estimated value of the second motor variable which is based at least in part on a value of bus voltage and a value of bus current. As the estimated value of slip is adjusted, the modeled values are updated and the voltage utilized to energize the motor is thereby updated to provide control of the motor based on the control of the first motor variable.

## Background
BACKGROUND OF THE INVENTION
The invention relates to induction motors. More particularly, the invention relates to a method and apparatus for controlling the operation of an induction motor using a model of the induction motor.
Various control schemes have been used to control the operation of induction motors. Nevertheless, an improved control scheme that provides straightforward, reliable operation, and that is simple and less expensive to manufacture would be welcomed by those in the art.
SUMMARY OF THE INVENTION
The methods and apparatus of the invention provide motor control through the utilization of a model of the motor. In one embodiment, a control circuit or controller is connected to the motor to provide the motor control. The controller acts as an “observer” of the motor to determine values of the motor variables necessary to provide motor control without directly measuring from the motor the values of the motor variable or other values necessary to calculate the values of the motor variables. Instead, the controller utilizes commanded values of excitation speed and motor voltage and measured values of bus voltage and bus current to determine such values. In one embodiment, an inverter includes the bus voltage and the bus current and supplies a voltage to the motor based on a command signal provided by the controller. In some embodiments, the controller may also utilize other values measured from the inverter to determine the values necessary to calculate the values of the motor variables.
The controller thus eliminates the need for sensing devices coupled to the motor and circuitry necessary to convert such sensed signals. Additionally, values necessary to calculate the values of the motor variables may be obtained from the inverter using fewer and/or less expensive components. Therefore, the controller can be implemented using fewer and less expensive circuitry components than previous control schemes.
The model utilized to provide motor control is a simplified model, thus allowing for utilization of less powerful processors. A less powerful processor in combination with an overall fewer number of circuitry components allows for the production of a less expensive controller.
Other features of the invention will become apparent by consideration of the detailed description and accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram of an induction motor and a controller connected to the induction motor.
FIG. 2 is a schematic diagram of another embodiment of the controller shown in FIG. 1.
FIG. 3 is a schematic diagram of a lumped parameter induction motor model of the motor shown in FIG. 1.
FIG. 4 is a schematic diagram of an induction motor model that neglects the effects of core losses.



DETAILED DESCRIPTION
Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless specified or limited otherwise, the terms “mounted,” “connected,” and “coupled” are used broadly and encompass both direct and indirect mountings, connections, and couplings. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings.
Shown in FIGS. 1 and 2 of the drawings are schematic views of an induction motor 10 and a controller 15 connected to the motor 10. The details of the induction motor 10 are commonly known in the art. Accordingly, the induction motor is not described in detail. Aspects of the controller 15 may also be useful for the control of other types of motors (e.g., permanent magnet brushless DC motors, etc.).
In one embodiment, the controller 15 is implemented using a programmable device (e.g., a microprocessor, a microcontroller, a digital signal processor (DSP), etc.) that utilizes software stored in a memory and at least one discrete power component (e.g., an inverter, a measuring circuit, etc.). As will be apparent to those of ordinary skill in the art, some of the software may be implemented in hardware using mechanisms such as hardware descriptor language to create application specific or special purpose circuits. Accordingly, elements described herein should not necessarily or inevitably be limited to a software or hardware embodiment simply because examples given are set forth in hardware or software specific terms. Further, although the software is illustrated as a number of separate elements or modules, the functionality of such elements can be combined into fewer elements or separated into more elements.
As shown in FIG. 1, the controller 15 includes controllers 15A and 15B. The controller 15A provides individual control of any variable of the motor 10 (e.g., torque, speed, slip, efficiency, flux, etc.) that is described by a model of the motor 10. To perform such control, the controller 15A includes a first comparator 20, a first regulator 25, a frequency-to-voltage converter 30, a modulator 35, an inverter 40, a measuring circuit 45 having a current sensor 47 and an analog-to-digital (A/D) converter 50, a calculator 55, a second comparator 60, a second regulator 65, and a motor model module 70. The controller 15A controls the operation of the motor 10 by controlling a first motor variable MV1 of the motor 10 using a second motor variable MV2 of the motor 10.
The first comparator 20 compares a commanded value of the first motor variable MV1CMD and a modeled value of the first motor variable MV1MODEL. The first comparator 20 outputs an error EMV1 that represents the difference between the commanded value MV1CMD and the modeled value MV1MODEL. In one embodiment, the commanded value MV1CMD is provided based at least in part on a user input to the environment of the motor 10 and the controller 15 (e.g., adjustment of a thermostat of an heating, ventilation, and air conditioning (HVAC) system where the motor 10 is used to drive a blower of the HVAC system and the controller 15 controls such operation). The modeled value MV1 MODEL is determined by the motor model module 70 as discussed below. The error EMV1 is supplied to the first regulator 25. If the commanded and modeled values MV1CMD and MV1MODEL, respectively, are the same value, the value of the error EMV1 is equal to zero.
The first regulator 25 receives the error EMV1 as an input and generates an output of a commanded value of excitation speed ωE-CMD. The first regulator 25 increments or decrements the previous value of the commanded value of excitation speed ωE-CMD based on the value of the error EMV1, thereby generating a new value for the commanded value of excitation speed ωE-CMD. When the value of the error EMV1 is equal to zero, the first regulator 25 is in a steady-state condition and the value of the commanded value of excitation speed ωE-CMD does not change. When the value of the error EMV1 is positive or negative, the value of the commanded value of excitation speed ωE-CMD is ramped up or down, respectively. The new commanded value of the excitation speed ωE-CMD is supplied to the frequency-to-voltage converter 30 and to the modulator 35.
In one embodiment, the first regulator 25 uses proportional-integral (PI) control, where the relationship between the input and the output is explained by the following equation: 



  
    
      
        
          ω
          
            E
            -
            CMD
          
        
        =
        
          
            K
            1
          
          ⁢
          
            
              
                
                  
                    τ
                    1
                  
                  ⁢
                  s
                
                +
                1
              
              s
            
            ·
            
              E
              
                MV
                ⁢
                
                   
                
                ⁢
                1
              
            
          
        
      
    
    
      
        [
        
          e
          ⁢
          
             
          
          ⁢
          1
        
        ]
      
    
  




where the constant K1 represents the gain of the first regulator 25 and the time constant τ1 represents the time constant of the zero of the first regulator 25. The values of the constant K1 and time constant τ1 determine how quickly the first regulator 25 reaches a steady-state condition. The rate at which the first regulator 25 adapts toward the steady-state condition can be varied based on the requirements of the application in which the motor 10 is utilized. In one embodiment, the values of the constant K1 and time constant τ1 are determined empirically based on the rated conditions of the motor 10. Other embodiments of the first regulator 25 utilize other techniques for establishing the values of the constant K1 and time constant τ1. Other embodiments of the first regulator 25 use a proportional-integral-derivative (PID) control, or other type of control capable of generating an output based on an input of the error EMV1.

The frequency-to-voltage converter 30 receives the commanded value of excitation speed ωE-CMD as an input and generates an output of a commanded value of motor voltage V1-CMD. In one embodiment, the relationship between the commanded value of excitation speed ωE-CMD and the commanded value of motor voltage V1-CMD is based on the flux of the motor 10. Other embodiments of the frequency-to-voltage converter 30 utilize other relationships between the commanded value of excitation speed ωE-CMD and the commanded value of motor voltage V1-CMD. The commanded value of the motor voltage V1-CMD is supplied to the modulator 35.
The modulator 35 receives the commanded value of excitation speed ωE-CMD and the commanded value of motor voltage V1-CMD as inputs and generates a modulated output. In one embodiment, the modulated output includes at least one command signal CS. Each command signal CS may include a duty cycle that is determined based at least in part on a ratio of the commanded value of motor voltage V1-CMD to a DC bus voltage VDC of the inverter 40. The amplitude of each command signals CS may be a nominal value (e.g., 5 volts DC, 15 volts DC, etc.). The number of command signals CS generated depends on the number of switches in the inverter 40 that need to be controlled and the method of control utilized (e.g., a three-phase power inverter may include six switches, a top switch and a bottom switch for each phase, where each phase is controlled by a separate command signal CS (i.e., three command signals CS), or where each switch is controlled by a separate command signal CS (i.e., six command signals CS)). In one embodiment, the modulator 35 includes a sine-triangle modulation scheme having a carrier frequency of 20 KHz. Other embodiments include other modulation schemes.
The inverter 40 receives each command signal CS as an input and generates an output of a motor voltage V1 (e.g., a three-phase alternating current (AC) voltage) that is then fed to the motor 10. The motor voltage V1 continuously energizes the motor 10 until the value of the motor voltage V1 is updated. In one embodiment, the inverter 40 includes a power inverter having a bridge circuit for generating a three-phase voltage for use by a three-phase induction motor. Other embodiments of the inverter 40 include other types of inverters (e.g., a current sourced inverter, other voltage sourced inverters, etc.) that energize the motor 10 based on an input of at least one command signal CS.
The inverter 40 includes a top node or DC voltage bus and a bottom node or DC current bus. A DC voltage signal is delivered to the DC voltage bus for use in generating the motor voltage V1. In one embodiment, the DC voltage signal is 300 volts DC and is obtained by rectifying an AC line voltage. Other embodiments of the DC voltage bus may include other values of DC voltage signals.
The measuring circuit 45 measures a value of DC bus voltage VDC and a value of DC bus current IDC. The DC bus voltage VDC is measured “directly” (after stepping down the voltage), and the DC bus current IDC is measured using the current sensor 47 (e.g., a small resistor connected to the bottom node of the inverter 40) that allows for measurement of a voltage that corresponds to the DC bus current IDC. In one embodiment, the current sensor 47 is sized such that the power drop in the inverter 40 is minimized. In some embodiments, an amplifier may be utilized to amplify the measured value of the voltage that corresponds to the DC bus current IDC. An analog-to-digital (A/D) converter can be utilized to convert the measured analog signals to digital signals. The values of the DC bus voltage and current VDC and IDC, respectively, are supplied to the calculator 55.
The calculator 55 receives the values of the DC bus voltage VDC and the DC bus current IDC as inputs and calculates an estimated value of a second motor variable MV2EST based at least in part on the values of DC bus voltage and DC bus current. The estimated value MV2EST is supplied to the second comparator 60.
The second comparator 60 compares the estimated value of the second motor variable MV2EST and a modeled value of the second motor variable MV2MODEL. The second comparator 60 outputs an error EMV2 that represents the difference between the estimated value MV2EST and the modeled value MV2MODEL. The modeled value MV2MODEL is determined by the motor model module 70 as discussed below. The error EMV2 is supplied to the second regulator 65. If the estimated and modeled values MV2EST and MV2MODEL, respectively, are the same value, the value of the error EMV2 is equal to zero.
The second regulator 65 receives the error EMV2 as an input and generates an output of an estimated value of slip SEST. The second regulator 65 increments or decrements the previous value of the estimated value of slip SEST based on the value of the error EMV2, thereby generating a new value for the estimated value of slip SEST. When the value of the error EMV2 is equal to zero, the second regulator 65 is in a steady-state condition and the value of the estimated value of slip SEST does not change. When the value of the error EMV2 is positive or negative, the value of the estimated value of slip SEST is ramped up or down, respectively. The new estimated value of the slip SEST is supplied to the motor model module 70.
In one embodiment, the second regulator 65 uses PI control, where the relationship between the input and the output is explained by the following equation: 



  
    
      
        
          S
          EST
        
        =
        
          
            K
            2
          
          ⁢
          
            
              
                
                  
                    τ
                    2
                  
                  ⁢
                  s
                
                +
                1
              
              s
            
            ·
            
              E
              
                MV
                ⁢
                
                   
                
                ⁢
                2
              
            
          
        
      
    
    
      
        [
        
          e
          ⁢
          
             
          
          ⁢
          2
        
        ]
      
    
  




where the constant K2 represents the gain of the second regulator 65 and the time constant τ2 represents the time constant of the zero of the second regulator 65. The values of the constant K2 and time constant τ2 determine how quickly the second regulator 65 reaches a steady-state condition. The rate at which the second regulator 65 adapts toward the steady-state condition can be varied based on the requirements of the application in which the motor 10 is utilized. In one embodiment, the values of the constant K2 and time constant τ2 are determined empirically based on the rated conditions of the motor 10. Other embodiments of the second regulator 65 utilize other techniques for establishing the values of the constant K2 and time constant τ2. Other embodiments of the second regulator 65 use a proportional-integral-derivative (PID) control, or other type of control capable of generating an output based on an input of the error EMV2.

The motor model module 70 receives the estimated value of slip SEST and a number of motor parameter values as inputs, and generates the modeled values of the first and second motor variable MV1MODEL and MV2MODEL, respectively, based at least in part on the estimated value of slip SEST. In one embodiment, the values of the motor parameters are based on the rated conditions of the motor. The modeled values MV1MODEL and MV2MODEL are utilized as feedback inputs that adjust the commanded value MV1CMD and the estimated value MV2EST, respectively, to control the first motor variable MV1 of the motor 10. In one embodiment, initial condition of the second regulator 65 are utilized to provide an estimated value of slip SEST that is utilized to generate the modeled values MV1MODEL and MV2MODEL for the first iteration of the controller 15 loop. Other embodiments of the motor model module 70 utilize other techniques (e.g., an initial condition for the modeled values MV1MODEL and MV2MODEL, use of a zero value for the modeled values MV1MODEL and MV2MODEL, etc.).
The controller 15B provides control of a combination of the variables of the motor 10 discussed above. To perform such control, the controller 15B includes the components of the controller 15A and a second calculator 75, a third comparator 80, and a third regulator 85. The controller 15B controls the operation of the motor 10 by controlling the first motor variable MV1 of the motor 10 and a third motor variable MV3 of the motor 10 using the second motor variable MV2 of the motor 10.
The second calculator 75 receives the estimated value of slip SEST as an input and calculates an estimated value of the third motor variable MV3EST. The estimated value MV3EST is supplied to the third comparator 80. Similar to the modeled values MV1MODEL and MV2MODEL, the initial value of the estimated value MV3EST can be determined using a number of techniques.
The third comparator 80 compares a commanded value of the third motor variable MV3CMD and the estimated value of the third motor variable MV3EST. The third comparator 80 outputs an error EMV3 that represents the difference between the commanded value MV3CMD and the estimated value MV3EST. In one embodiment, the commanded value MV3CMD is provided based at least in part on a user input to the environment of the motor 10 and the controller 15. The error EMV3 is supplied to the third regulator 85. If the commanded and estimated values MV3CMD and MV3EST, respectively, are the same value, the value of the error EMV3 is equal to zero.
The third regulator 85 receives the error EMV3 as an input and generates an output of the commanded value of the first motor variable MV1CMD. The third regulator 85 increments or decrements the previous value of the commanded value of the first motor variable MV1CMD based on the value of the error EMV3, thereby generating a new value for the commanded value of the first motor variable MV1CMD. When the value of the error EMV3 is equal to zero, the third comparator 85 is in a steady-state condition and the value of the commanded value of the first motor variable MV1CMD does not change. When the value of the error EMV3 is positive or negative, the value of the commanded value of the first motor variable MV1CMD is ramped up or down, respectively. The new commanded value of the first motor variable MV1CMD is supplied to first comparator 20 as discussed above. In this embodiment, the commanded value MV1CMD is not directly based on a user input, but indirectly based on a user input.
In one embodiment, the third regulator 85 uses a PI control, where the relationship between the input and the output is explained by the following equation: 



  
    
      
        
          MV
          ⁢
          
             
          
          ⁢
          
            1
            CMD
          
        
        =
        
          
            K
            3
          
          ⁢
          
            
              
                
                  
                    τ
                    3
                  
                  ⁢
                  s
                
                +
                1
              
              s
            
            ·
            
              E
              
                MV
                ⁢
                
                   
                
                ⁢
                3
              
            
          
        
      
    
    
      
        [
        
          e
          ⁢
          
             
          
          ⁢
          3
        
        ]
      
    
  




where the constant K3 represents the gain of the third regulator 85 and the time constant τ3 represents the time constant of the zero of the third regulator 85. The values of the constant K3 and time constant τ3 determine how quickly the third regulator 85 reaches a steady-state condition. The rate at which the third regulator 85 adapts toward the steady-state condition can be varied based on the requirements of the application in which the motor 10 is utilized. In one embodiment, the values of the constant K3 and time constant τ3 are determined empirically based on the rated conditions of the motor 10. Other embodiments of the third regulator 85 utilize other techniques for establishing the values of the constant K3 and time constant τ3. Other embodiments of the third regulator 85 use a proportional-integral-derivative (PID) control, or other type of control capable of generating an output based on an input of the error EMV3.

FIG. 2 schematically illustrates the motor 10 connected to the controller 15 where the controller includes controllers 15AT and 15BST. The controller 15AT effects torque control of the motor 10, and the controller 15BST effects speed and torque control of the motor 10. Control of the speed and/or torque variables of the motor 10 may be useful in a number of applications (e.g., CFM control on the blower of an HVAC system). As discussed above, the controller 15 provides control of an individual variable or a combination of variables of the motor 10. The controllers 15AT and 15BST are two such examples.
The controller 15AT includes the same components as discussed above with respect to the controller 15A. The controller 15AT controls the torque T of the motor 10 using the real part of the current or the torque producing current IT of the motor 10.
The first comparator 20 compares a commanded value of torque TCMD and a modeled value of torque TMODEL. The commanded value of torque TCMD can be provided directly, or indirectly via the third regulator 85. The first comparator 20 outputs an error ET that represents the difference between the commanded value TCMD and the modeled value TMODEL. The first regulator 25 receives the error ET as an input and generates an output of a commanded value of excitation speed ωE-CMD. The commanded value of excitation speed ωE-CMD is utilized along with the commanded value of motor voltage V1-CMD to generate the motor voltage V1 that energizes the motor 10.
In addition to the values of DC bus voltage VDC and DC bus current IDC, the first calculator 55 also receives the commanded value of motor voltage V1-CMD as an input. The first calculator 55 calculates an estimated value of the torque producing current IT-EST using the following equation: 



  
    
      
        
          I
          
            T
            -
            EST
          
        
        =
        
          
            K
            4
          
          ⁢
          
            
              
                Eff
                INVERTER
              
              ⁢
              
                V
                
                  D
                  ⁢
                  
                     
                  
                  ⁢
                  C
                
              
              ⁢
              
                I
                
                  D
                  ⁢
                  
                     
                  
                  ⁢
                  C
                
              
            
            
              V
              
                1
                -
                CMD
              
            
          
        
      
    
    
      
        [
        e4
        ]
      
    
  




where the constant K4 represents a scaling factor (e.g., a scaling factor based on the type of motor voltage V1 utilized (e.g., a single phase motor voltage, a three phase motor voltage, etc.)), and the efficiency of the inverter EFFINVERTER represents the power loss in the inverter 40.

The estimated value of torque producing current IT-EST equation (e4) is obtained using the interrelationships of power entering and exiting the inverter 40 and the motor 10. The power input PMOTOR-IN of the motor 10 is described by the following equation:

PMOTOR—IN=V1I1 cos(θ)=V1IT  [e5]

where V1 represents the motor voltage, I1 represents the motor current (i.e., the current through the stator of the motor) (see motor model 100 below), cos(θ) represents the power factor of the motor, and I1 cos(θ) represents the torque producing current IT (i.e., the real part of the current). The power input PMOTOR-IN of the motor 10 is equal to the power output PINVERTER-OUT of the inverter 40 as shown in the following equation:

PMOTOR-IN=PINVERTER-OUT  [e6]

Based on the conversation of energy, the power output PINVERTER-OUT of the inverter 40, and therefore the power input PMOTOR-IN of the motor 10, is equal to the power input PINVERTER-IN of the inverter 40 times the efficiency of the inverter EFFINVERTER as shown in the following equation:

PINVERTER-OUT=PINVERTER-INEFFINVERTER=PMOTOR-IN  [e7]

The power input PINVERTER-IN of the inverter 40 is equal to the DC bus voltage VDC times the DC bus current IDC as shown in the following equation:

PINVERTER-IN=VDCIDC  [e8]

By substituting the power input PINVERTER-IN of the inverter 40 equation (e8) and the power output PINVERTER-OUT of the inverter 40 equation (e7) into the power input PMOTOR-IN of the motor 10 equation (e5), solving for the real part of the current or the torque producing current IT, and substituting the variables of the controller 15 for the corresponding variables of the model 200 (e.g., IT-EST=IT, V1-CMD=V1) the estimated value of torque producing current IT-EST equation (e4) is obtained.

The second comparator 60 compares the estimated value of the torque producing current IT-EST and a modeled value of the torque producing current IT-MODEL. The second comparator 60 outputs an error ET that represents the difference between the estimated and modeled values IT-EST and IT-MODEL, respectively. The second regulator 65 receives the error ET as an input and generates an output of an estimated value of slip SEST.
In addition to the estimated value of slip SEST, the motor model module 70 receives the commanded values of excitation speed and motor voltage ωE-CMD and V1-CMD, respectively, and based on a model of the motor 10, generates the modeled values of torque and torque producing current TMODEL and IT-MODEL.
FIG. 3 illustrates a lumped parameter induction motor model 100 of the motor 10 where, for each phase of the motor 10, R1 represents the resistance of the stator, X1 represents the reactance of the stator, R2 represents the resistance of the rotor that corresponds to the resistance R1, X2 represents the reactance of the rotor that corresponds to the reactance X1, RM represents the resistance associated with core losses, XM represents the magnetizing reactance, V1 represents the motor voltage that energizes the stator of the motor 10, and S is the slip of the motor. Values of the resistances R1 and R2P and the reactances X1P and XMP are based on the rated motor parameter values. A rated value of slip S is also available, although slip S varies during the operation of the motor 10 based on the load and speed of the motor 10.
The lumped parameter model 100 is simplified to the induction motor model 200 shown in FIG. 4 by neglecting the affects of core loss and using the following equations:

XS=X1+XM  [e9]



XR=X2+XM  [e10]



  
    
      
        
          X
          MP
        
        =
        
          
            X
            M
            2
          
          
            X
            R
          
        
      
    
    
      
        [
        e11
        ]
      
    
  
  
    
      
        
          X
          
            1
            ⁢
            P
          
        
        =
        
          (
          
            
              X
              s
            
            -
            
              
                X
                M
                2
              
              
                X
                R
              
            
          
          )
        
      
    
    
      
        [
        
          e
          ⁢
          
             
          
          ⁢
          12
        
        ]
      
    
  
  
    
      
        
          R
          
            2
            ⁢
            P
          
        
        =
        
          
            (
            
              
                X
                M
              
              
                X
                R
              
            
            )
          
          2
        
      
    
    
      
        [
        
          e
          ⁢
          
             
          
          ⁢
          13
        
        ]
      
    
  




The input impedance ZIN of the model 200 is represented by the following equation: 



  
    
      
        
          Z
          IN
        
        =
        
          
            R
            1
          
          +
          
            j
            ⁢
            
               
            
            ⁢
            
              ω
              E
            
            ⁢
            
              X
              
                1
                ⁢
                P
              
            
          
          +
          
            
              
                jω
                E
              
              ⁢
              
                
                  X
                  MP
                
                ⁡
                
                  (
                  
                    
                      R
                      
                        2
                        ⁢
                        P
                      
                    
                    S
                  
                  )
                
              
            
            
              
                j
                ⁢
                
                   
                
                ⁢
                
                  ω
                  E
                
                ⁢
                
                  X
                  MP
                
              
              +
              
                (
                
                  
                    R
                    
                      2
                      ⁢
                      P
                    
                  
                  S
                
                )
              
            
          
        
      
    
    
      
        [
        e14
        ]
      
    
  




Further, the motor current I1 of the model 200 is represented by the following equation: 



  
    
      
        
          I
          1
        
        =
        
          
            V
            1
          
          
            Z
            IN
          
        
      
    
    
      
        [
        e15
        ]
      
    
  




By substituting the input impedance ZIN equation (e14) the motor current I1 equation (e15), solving for the real part of the current or the torque producing current IT, and substituting the variables of the controller 15 for the corresponding variables of the model 200 (e g., IT-MODEL=IT, ωE-CMD=ωE, SEST=S, V1-CMD=V1), the following equation is obtained: 



  
    
      
        
          I
          
            T
            -
            MODEL
          
        
        =
        
          A
          
            B
            +
            C
          
        
      
    
    
      
        [
        e16
        ]
      
    
  




where

A=V1-CMD(R1R2P2+R1ωE-CMD2XMP2SCALC2+ωE-CMD2XMP2R2PSCALC)  [e17]

 B=SCALC2XMP2X1P2ωE-CMD4+SCALC2XMP2R12ωE-CMD2+2R1R2PωE-CMD2XMP2SCALC  [e18]

C=(R2P2XMP2+2X1P2R2P2XMP+X1P2R2P2)ωE-CMD2+R12R2P2  [e19]

In one embodiment of the motor model module 70, the modeled value of torque producing current IT-MODEL is generated based on the model 200 of the motor 10 that includes the above modeled value of torque producing current IT-MODEL equation (e16).

Based on the model 200, the power developed PDEV by the motor 10 is represented by the following equation: 



  
    
      
        
          P
          DEV
        
        =
        
          
            I
            
              2
              ⁢
              P
            
            2
          
          ⁢
          
            
              R
              
                2
                ⁢
                P
              
            
            S
          
        
      
    
    
      
        [
        e20
        ]
      
    
  




Further, the torque T of the motor 10 is represented by the following equation: 



  
    
      
        T
        =
        
          
            P
            DEV
          
          
            
              (
              
                1
                -
                S
              
              )
            
            ⁢
            
              ω
              E
            
          
        
      
    
    
      
        [
        e21
        ]
      
    
  




By substituting the power developed PDEV equation (e20) into the torque T equation (e21), utilizing only the portion of the resulting equation that represents the real part of the current based on the interrelationship between the motor current I1 and the current I2P, and substituting the variables of the controller 15 for the corresponding variable of the model 200 (e.g., TMODEL=T, ωE-CMD=ωE, SCALC=S, V1-CMD=V1), the following equation is obtained: 



  
    
      
        
          T
          MODEL
        
        =
        
          E
          
            B
            +
            C
          
        
      
    
    
      
        [
        e22
        ]
      
    
  




where

E=V1-CMD2XMP2ωE-CMDR2P  [e23]

and B and C are defined in eqs. 18 and 19. Utilization of the equations (e16 and e22) having the same denominator reduces the amount of processing power necessary to control the operation of the motor 10.

In one embodiment of the motor model module 70, the modeled value of torque TMODEL is generated based on the model 200 of the motor 10 that includes the above modeled value of torque TMODEL equation (e22).
Other embodiments of the motor model module 70 include other equations based on the model 200, equations based on other models of the motor 10, look-up tables having values based on the model 200 or other models, etc.
The controller 15BST includes the same components as discussed above with respect to the controller 15B. The controller 15BST controls the torque T and the output speed ωR of the motor 10 using the torque producing current IT of the motor 10.
The second calculator 75 receives the estimated value of slip SEST and the commanded value of excitation speed ωE-CMD as inputs and calculates an estimated value of output speed ωR-EST based on the following equation:

ωR-MODEL=(1−SEST)ωE-CMD  [e24]

The third comparator 80 compares a commanded value of the output speed ωR-CMD and the estimated value of the output speed ωR-EST. The third comparator 80 outputs an error EωR that represents the difference between the commanded value ωR-CMD and the estimated value ωR-EST. The third regulator 85 receives the error EωR as an input and generates an output of the commanded value of torque TCMD which is utilized as discussed above.

In an alternative embodiment, the controller 15AT controls the torque T and the controller 15BST controls the torque T and the output speed ωR of the motor 10 using the motor current I1 instead of the torque producing current IT of the motor 10. The control is similar to that discussed above with respect to the use of torque producing current IT except that motor current I1 is the second motor variable MV2 instead of torque producing current IT. The first calculator 55 calculates an estimated value of motor current I1-EST using the following equation: 



  
    
      
        
          I
          
            1
            -
            EST
          
        
        =
        
          
            K
            4
          
          ⁢
          
            
              
                Eff
                INVERTER
              
              ⁢
              
                V
                DC
              
              ⁢
              
                I
                DC
              
            
            
              
                V
                
                  1
                  -
                  CMD
                
              
              ⁢
              cos
              ⁢
              
                 
              
              ⁢
              θ
            
          
        
      
    
    
      
        [
        e25
        ]
      
    
  




The estimated value of motor current I1 equation (e25) is obtained by substituting the power input PINVERTER-IN of the inverter 40 equation (e8) and the power output PINVERTER-OUT of the inverter 40 equation (e7) into the power input PMOTOR-IN of the motor 10 equation (e5), solving for the motor current I1, and substituting the variables of the controller 15 for the corresponding variables of the model 200 (e.g., I1-EST=I1, V1-CMD=V1). A modeled value of motor current I1-MODEL is generated based on the model 200 of the motor 10 that includes a modeled value of motor current equation developed in a fashion similar to the above modeled value of torque producing current IT-MODEL equation (e16). A value of the power factor cos θ for use in calculating the estimated and modeled values of motor current I1-EST and I1-MODEL can be obtained in a number of ways. In one embodiment, a value of the power factor cos θ is obtained by determining the zero crossing of the motor current I1 waveform at the output of the inverter 40, and comparing that zero crossing to the waveform of the commanded voltage V1-CMD.

In another alternative embodiment, the controller 15AT controls the torque T and the controller 15BST controls the torque T and the output speed ωR of the motor 10 using the power factor cos θ instead of the torque producing current IT of the motor 10. The control is similar to that discussed above with respect to the use of torque producing current IT except that power factor cos θ is the second motor variable MV2. The first calculator 55 calculates an estimated value of power factor cos θEST using the following equation: 



  
    
      
        
          cos
          ⁢
          
             
          
          ⁢
          
            θ
            EST
          
        
        =
        
          
            K
            4
          
          ⁢
          
            
              
                Eff
                INVERTER
              
              ⁢
              
                V
                DC
              
              ⁢
              
                I
                DC
              
            
            
              
                
                  V
                  
                    1
                    -
                    CMD
                  
                
                ⁢
                
                  I
                  1
                
              
              ⁢
              
                 
              
            
          
        
      
    
    
      
        [
        e26
        ]
      
    
  




The estimated value of power factor cos θEST equation (e26) is obtained by substituting the power input PINVERTER-IN of the inverter 40 equation (e8) and the power output PINVERTER-OUT of the inverter 40 equation (e7) into the power input PMOTOR-IN of the motor 10 equation (e5), solving for the power factor cos θ, and substituting the variables of the controller 15 for the corresponding variables of the model 200 (e.g., V1-CMD=V1). A modeled value of power factor cos θMODEL is generated based on the model 200 of the motor 10 that includes a modeled value of power factor equation developed in a fashion similar to the above modeled value of torque producing current IT-MODEL equation (e16). A value of the motor current I1 for use in calculating the estimated and modeled values of power factor cos θEST and cos θMODEL can be obtained in a number of ways. In one embodiment, a value of the motor current I1 is obtained by rectifying the motor current I1 at the output of the inverter 40 to obtain an RMS value of the motor current I1.

Thus, the invention provides, among other things, a new and useful method of and apparatus for controlling the operation of an induction motor using a model of the induction motor. Various features of the invention are set forth in the following claims.

## Claims

1. A method of controlling an induction motor, the method comprising:
providing a model of the motor, wherein the model is utilized to provide a modeled value of torque and a modeled value of torque producing current; 
supplying a voltage to the motor to energize the motor; 
providing a commanded value of torque; 
measuring a bus voltage and a bus current; 
determining an estimated value of torque producing current based at least in part on the bus voltage and the bus current; 
comparing the estimated and modeled values of torque producing current to determine a torque producing current error; 
using the model to determine an updated modeled value of torque based at least in part on the torque producing current error; 
adjusting the voltage supplied to the motor based at least in part on the updated modeled value of torque.

2. The method of claim 1, wherein the model includes an equation representing the motor.

3. The method of claim 1, wherein the model includes an induction motor model that neglects the effects of core losses on the motor.

4. The method of claim 1, wherein the model includes a look-up table representing the motor.

5. The method of claim 1, wherein the voltage includes a three-phase, alternating current (AC) voltage.

6. The method of claim 1, wherein the act of supplying a voltage includes supplying the voltage with an inverter, the inverter including the bus voltage and the bus current.

7. The method of claim 6, wherein the bus voltage is a direct current (DC) bus voltage and the bus current is a DC bus current, and wherein the act of measuring a bus voltage and a bus current includes measuring the DC bus voltage and measuring the DC bus current.

8. The method of claim 1, further comprising
providing a commanded value of output speed; 
determining an estimated value of output speed based at least in part on the torque producing current error; 
comparing the commanded and estimated values of output speed to determine an output speed error; and 
determining the commanded value of torque based at least in part on the output speed error.

9. The method of claim 1, further comprising comparing the commanded and updated modeled values of torque to determine a torque error, wherein the voltage supplied to the motor is adjusted based at least in part on the torque error.

10. The method of claim 9, further comprising
determining a commanded value of excitation speed based at least in part on the torque error; and 
determining a commanded value of motor voltage based at least in part on the commanded value of excitation speed.

11. The method of claim 10, further comprising
determining a command signal based at least in part on the commanded values of excitation speed and motor voltage; and 
adjusting the voltage based at least in part on the command signal.

12. The method of claim 1, further comprising
determining an estimated value of slip based at least in part on the torque producing current error; and 
using the model to determine an updated modeled value of torque based at least in part on the estimated value of slip.

13. A method of controlling an induction motor, the method comprising:
providing a model of the motor, wherein the model is utilized to provide a modeled value of torque and a modeled value of power factor; 
supplying a voltage to the motor to energize the motor; 
providing a commanded value of torque; 
measuring a bus voltage and a bus current; 
determining an estimated value of power factor based at least in part on the bus voltage and the bus current; 
comparing the estimated and modeled values of power factor to determine a power factor error; 
using the model to determine an updated modeled value of torque based at least in part on the power factor error; 
adjusting the voltage supplied to the motor based at least in part on the updated modeled value of torque.

14. A method of controlling an induction motor, the method comprising:
providing a model of the motor, wherein the model is utilized to provide a modeled value of torque and a modeled value of motor current; 
supplying a voltage to the motor to energize the motor; 
providing a commanded value of torque; 
measuring a bus voltage and a bus current; 
determining an estimated value of motor current based at least in part on the bus voltage and the bus current; 
comparing the estimated and modeled values of motor current to determine a motor current error; 
using the model to determine an updated modeled value of torque based at least in part on the motor current error; 
adjusting the voltage supplied to the motor based at least in part on the updated modeled value of torque.

15. A method of controlling a motor, the method comprising the acts of:
providing a model of the motor, wherein the model is utilized to provide a modeled value of a first motor variable and a modeled value of a second motor variable; 
supplying a voltage to the motor with an inverter, the inverter including a bus voltage and a bus current; 
providing a commanded value of the first motor variable; 
measuring the bus voltage and the bus current; 
determining an estimated value of the second motor variable based at least in part on the bus voltage and the bus current; 
comparing the estimated and modeled values of the second motor variable to determine a second motor variable error; 
using the model to determine an updated modeled value of the first motor variable based at least in part on the second motor variable error; 
adjusting the voltage supplied to the motor based at least in part on the modeled value of the first motor variable.

16. The method of claim 15, wherein the motor is an induction motor.

17. The method of claim 15, wherein the voltage includes an alternating current (AC) voltage.

18. The method of claim 17, wherein the AC voltage includes a three-phase AC voltage.

19. The method of claim 15, wherein the first motor variable is torque.

20. The method of claim 19, wherein the second motor variable is torque producing current.

21. The method of claim 19, wherein the second motor variable is power factor.

22. The method of claim 19, wherein the second motor variable is motor current.

23. The method of claim 15, wherein the first motor variable is one of speed, slip, efficiency, and flux.

24. The method of claim 15, wherein the second motor variable is one of speed, slip, efficiency, and flux.

25. The method of claim 15, wherein the model includes an equation representing the motor.

26. The method of claim 15, wherein the model includes an induction motor model that neglects the effects of core losses on the motor.

27. The method of claim 15, wherein the model includes a look-up table representing the motor.

28. The method of claim 15, wherein the bus voltage is a direct current (DC) bus voltage and the bus current is a DC bus current, and wherein the act of measuring the bus voltage and the bus current includes measuring the DC bus voltage and measuring the DC bus current.

29. The method of claim 15, further comprising determining an estimated value of slip based at least in part on the second motor variable error.

30. The method of claim 29, further comprising
providing a commanded value of a third motor variable; 
determining an estimated value of the third motor variable based at least in part on the estimated value of slip; 
comparing the commanded and estimated values of the third motor variable to determine a third motor variable error; and 
determining the commanded value of the first motor variable based at least in part on the third motor variable error.

31. The method of claim 30, wherein the third motor variable is output speed.

32. The method of claim 30, wherein the third motor variable is one of torque, slip, efficiency, and flux.

33. The method of claim 15, further comprising comparing the commanded and updated modeled values of the first motor variable to determine a first motor variable error, wherein the voltage is adjusted based at least in part on the first motor variable error.

34. The method of claim 33, further comprising
determining a commanded value of excitation speed based at least in part on the first motor variable error; and 
determining a commanded value of motor voltage based at least in part on the commanded value of excitation speed.

35. The method of claim 34, further comprising
determining a command signal based at least in part on the commanded values of excitation speed and motor voltage; and 
adjusting the voltage based at least in part on the command signal.

36. The method of claim 15, further comprising
determining an estimated value of slip based at least in part on the second motor variable error; and 
using the model to determine an updated modeled value of the first motor variable based at least in part on the estimated value of slip.

37. A controller for an induction motor having a first motor variable and a second motor variable, the controller comprising:
a motor model module configured to represent a motor, the motor model module having an input that receives an estimated value of slip and an output that outputs a modeled value of the first motor variable and a modeled value of the second motor variable; 
an inverter having a bus voltage and a bus current, the inverter supplying a voltage to the induction motor to energize the induction motor; 
a measuring circuit configured to measure the bus voltage and the bus current; 
a calculator configured to calculate an estimated value of the second motor variable based at least in part on the measured bus voltage and the measured bus current; 
a first comparator having an input that receives the estimated and modeled values of the second motor variable, and an output that outputs a second motor variable error; 
a regulator having an input that receives the second motor variable error, and an output that outputs the estimated value of slip; and 
a second comparator having an input that receives a commanded value of the first motor variable and the modeled value of a first motor variable, and an output that outputs a first motor variable error; 
wherein the voltage is determined based at least in part on the first motor variable error.

38. The controller of claim 37, wherein the measuring circuit includes a current sensor.

39. The controller of claim 37, wherein the measuring circuit includes an analog-to-digital (A/D) converter.

40. The controller of claim 37, wherein the second motor variable error represents the difference between the estimated and modeled values of the second motor variable.

41. The controller of claim 37, wherein the first motor variable error represents the difference between the commanded and modeled values of the first motor variable.

42. The controller of claim 37, wherein the first motor variable is torque.

43. The controller of claim 37, wherein the second motor variable is torque producing current.

44. The controller of claim 37, wherein the second motor variable is power factor.

45. The controller of claim 37, wherein the second motor variable is motor current.

46. The controller of claim 37, wherein the first motor variable is one of speed, slip, efficiency, and flux.

47. The controller of claim 37, wherein the second motor variable is one of speed, slip, efficiency, and flux.

48. The controller of claim 37, wherein the motor includes a third motor variable, and further comprising a second calculator having an input that receives the estimated value of slip and an output that outputs an estimated value of the third motor variable.

49. The controller of claim 48, further comprising a third comparator having an input that receives the estimated value of the third motor variable and a commanded value of the third motor variable, and an output that outputs a third motor variable error.

50. The controller of claim 49, wherein the commanded value of the first motor variable is based at least in part on the third motor variable error.

51. The controller of claim 48, wherein the third motor variable is output speed.

52. A controller for an induction motor having a first motor variable, the controller comprising:
an inverter having a bus voltage and a bus current, the inverter being operable to receive a command signal, and to supply a voltage to the induction motor based at least in part on the command signal; 
a measuring circuit operable to measure a value of the bus voltage and a value of the bus current; 
a programmable device operable to generate an estimated value of slip based at least in part on the measured values of the bus voltage and the bus current, to maintain a model of the induction motor, and to adjust the command signal based at least in part on a modeled value of the first motor variable generated using the model, the modeled value of the first motor variable being based at least in part on the estimated value of slip.

53. The controller of claim 52, wherein the induction motor has a second motor variable, and wherein the programmable device is further operable to generate a modeled value of the second motor variable using the model.

54. The controller of claim 53, wherein the programmable device is further operable to calculate an estimated value of the second motor variable based at least in part on the measured values of the bus voltage and the bus current.

55. The controller of claim 54, wherein the programmable device is further operable to generate a second motor variable error based at least in part on a comparison of the estimated and modeled values of the second motor variable, and wherein the estimated value of slip is generated based at least in part on the second motor variable error.

56. The controller of claim 53, wherein the second motor variable is torque producing current.

57. The controller of claim 53, wherein the second motor variable is power factor.

58. The controller of claim 53, wherein the second motor variable is motor current.

59. The controller of claim 52, wherein the programmable device is further operable to receive a commanded value of the first motor variable.

60. The controller of claim 59, wherein the programmable device is further operable to generate a first motor variable error based at least in part on a comparison of the commanded and modeled values of the first motor variable.

61. The controller of claim 60, wherein the command signal is adjusted based at least in part on the first motor variable error.

62. The controller of claim 52, wherein the induction motor has a second motor variable, and wherein the programmable device is further operable to receive a commanded value of the second motor variable and to generate a modeled value of the second motor variable using the model, the modeled value of the second motor variable being based at least in part on the estimated value of slip.

63. The controller of claim 62, wherein the programmable device is further operable to generate a second motor variable error based at least in part on a comparison of the commanded and modeled values of the second motor variable.

64. The controller of claim 63, wherein the command signal is adjusted based at least in part on the second motor variable error.

65. The controller of claim 64, wherein the second motor variable is output speed.

66. The controller of claim 52, wherein the first motor variable is torque.