Induction motor control method
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to induction motor control. 
     2. Description of the Related Art 
     One application for induction motors is in electric vehicles. In a typical electric vehicle, a plurality of batteries provide power for propulsion of the vehicle. An inverter converts the DC power provided by the batteries into AC voltages for the phases of the induction motor. 
     An induction motor can be controlled in &#34;current control&#34; mode or &#34;voltage control&#34; mode. In &#34;current control&#34;, the currents provided to the phases of the motor are controlled in a feedback fashion. In &#34;voltage control&#34;, the inverter acts as a voltage source without feedback control of the current supplied to the motor. 
     &#34;Current control&#34; and &#34;voltage control&#34; each have advantages and disadvantages. Current control provides fast response to transient conditions and is insensitive to motor and inverter parameter variations. However, current control typically must reserve a voltage margin to perform current regulation, thus not being capable of using the full DC bus voltage available. This represents a limitation on the average torque achievable from the motor at high speeds, if DC bus voltage is limited. 
     &#34;Voltage control&#34; is capable of using the full DC bus voltage, thus having high torque capability at high motor speeds, for a given DC bus voltage. However, voltage control can be sensitive to machine and inverter parameters and is typically an average torque control method. Thus, transient torque is somewhat difficult to control. 
     A system which provides the advantages of both &#34;current control&#34; and &#34;voltage control&#34; while minimizing the disadvantages of each will provide motor-control advantages over the prior art. 
     SUMMARY OF THE INVENTION 
     The present invention provides a control method for an induction motor. The control method comprises the step of calculating desired variables for control of the motor according to voltage control. Also, the control method includes the step of calculating desired variables for control of the motor according to current control. Further, the control method comprises the step of applying the desired variables calculated according to voltage control and the desired variables calculated according to current control in relative proportions to control the motor. 
     The present invention also provides another control method for an induction motor. This control method comprises the step of calculating a first desired quadrature-axis voltage and a first desired direct-axis voltage based on voltage control. The method additionally includes the step of calculating a second desired quadrature-axis voltage and a second desired direct-axis voltage based on current control. Also, the method includes the step of combining the first desired quadrature-axis voltage and the second desired quadrature-axis voltage in relative proportions to generate a commanded quadrature-axis voltage. In addition, the method includes the step of combining the first desired direct-axis voltage and the second desired direct-axis voltage in relative proportions to generate a commanded direct-axis voltage. Further, the method comprises the step of applying the commanded direct-axis voltage and the commanded quadrature-axis voltage to control the induction motor. 
     The present invention allows for a motor to be controlled with the best features of voltage control and current control. In doing so, the present invention provides advantages in the ability to control an induction motor. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a motor control system according to one embodiment of the present invention. 
     FIG. 2 is a block diagram of a motor control algorithm performed by motor controller 18 of FIG. 1. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, an induction motor control system according to one embodiment of the present invention is illustrated. The system includes a three-phase induction motor 12 having phases labeled &#34;a&#34;, &#34;b&#34; and &#34;c&#34;. An inverter 14 converts DC power from battery 16 into the phase voltages at phases &#34;a&#34;, &#34;b&#34; and &#34;c&#34;. Inverter 14 operates under the control of motor controller 18. Motor controller 18 sends pulse-width-modulated (PWM) switching signals via six circuits 20 to six solid-state switching devices in inverter 14. Motor controller 18 is a microprocessor-based component with sufficient microcomputer resources (throughput, memory, inputs, outputs and the like) to perform the functions ascribed to it herein. 
     Feedback signals to motor controller 18 include the phase current on phase &#34;a&#34; of the motor (i af ), the phase current on phase &#34;b&#34; of the motor (i bf ) and the speed of the rotor of motor 12 (ω r ). Any number of conventional sensors can be used to provide these variables as feedback to motor controller 18, the specific choice of sensors not germane to the present invention. 
     It is understood that the torque from an induction motor under rotor flux orientation control is described by the following equation: ##EQU1## where T e  is torque, P is the number of pole pairs of the motor, λ ds  is the direct-axis component of stator flux and i qs  is the quadrature-axis component of stator current. L m , L r  and L s  are mutual inductance, total rotor inductance and total stator inductance, respectively, for motor 12. Further, direct-axis stator flux of an induction motor is described by the equation: 
     
         λ.sub.ds =L.sub.s i.sub.ds,                         (2) 
    
     where λ ds  is the direct-axis component of stator flux and i ds  is the direct-axis component of stator current. 
     The algorithm performed by motor controller 18 includes the steps illustrated in FIG. 2. T e  * is an input to the algorithm. (Note: In this disclosure, a quantity with an asterisk is a desired quantity which is to be controlled to. Quantities with no asterisk are actual quantities.) This desired torque, in the case of an electric vehicle, is primarily a function of the driver&#39;s command via the accelerator pedal of the vehicle. Another input to the algorithm is desired stator flux λ ds  *. For a given desired torque, desired stator flux can be chosen based on a number of criteria. For example, for a given desired torque, desired stator flux can be chosen such that the balance between iron losses in the motor (a function of flux) and copper losses in the motor (a function of current) results in minimum total losses. 
     At block 100, T e  * is divided by λ ds  *. The result is multiplied by ##EQU2## (block 102) to get desired stator quadrature-axis current i qs  *, in accordance with Equation (1) above. At block 104, λ ds  is divided by L s , the stator inductance of motor 12, to get desired stator direct-axis current i ds  *, in accordance with Equation (2) above. 
     To perform &#34;current control&#34; of motor 12, i qs  * and i ds  * are compared at difference blocks 106 and 108, respectively, to the feedback values i qf  and i df . i qf  and i df  had been obtained from i af  and i bf  (the feedback phase &#34;a&#34; and phase &#34;b&#34; currents) at blocks 110 and 111. At block 110, i af  and i bf  are converted from a stationary three-phase domain to a stationary two-phase domain, thus resulting in phase currents i.sub.αf and i 62  f. These phase currents are transformed at block 111 into currents i qf  and i df , currents which reside in the plane defined by the rotating q- (quadrature) axis and d- (direct) axis. The transformations at blocks 110 and 111 are well-known to those skilled in the art of motor control and will not be discussed in further detail here. 
     After difference blocks 106 and 108, the resulting differences go to blocks 112 and 113, respectively. Blocks 112 and 113 perform proportional-integral (PI) feedback control. k I  and k p  are the integral and proportional constants, respectively, for the PI control. PI control is only one of numerous ways that the feedback control can be performed. Those skilled in the art can readily contemplate alternative feedback control strategies which are usable in place of PI control. 
     The outputs of blocks 112 and 113 are V q .sbsb.-- i  * and V d .sbsb.-- i . These are desired quadrature-axis and direct-axis stator voltages for motor 12 according to &#34;current control&#34;. These desired voltages are fed to gain block G I , as will be described below. 
     It should be emphasized here that blocks 106, 108, 112 and 113 perform a current control function. That is, those blocks take i qs  * and i ds  * as inputs and perform feedback control to try to assure that the actual currents in motor 12 track those desired currents. 
     i qs  * and i ds  * are also inputs to a &#34;voltage control&#34; function performed by controller 18. At block 114, i qs  * is multiplied by R s  +σL s  s, where R s  is stator resistance, L s  is stator inductance, s is the LaPlace operator and σ is the total leakage factor for motor 12, defined as: ##EQU3## At block 116, λds* is multiplied by ω e , the synchronous speed of motor 12. The outputs of blocks 114 and 116 are added at summing block 118 to result in V q .sbsb.-- v  *, the desired quadrature-axis stator voltage for motor 12 according to voltage control. In total, blocks 114, 116 and 118 execute the following equation to obtain V q .sbsb.-- v  *: 
     
         V.sub.q.sbsb.--.sub.v =(R.sub.s +σL.sub.s s)i.sub.qs *+ω.sub.e λ.sub.ds *. 
    
     At block 120, i ds  * is multiplied by R s  +σL s  s. Further, at blocks 122 and 124, i qs  * is multiplied by ω e , with the result multiplied by σL s . The results of blocks 120 and 124 are fed to difference block 126, the output of which is V d .sbsb.-- v  *, the desired direct-axis stator voltage for motor 12 according to voltage control. In sum, blocks 120, 122, 124 and 126 execute the following equation to obtain V d .sbsb.-- v  * : 
     
         V.sub.d.sbsb.--.sub.v *=(R.sub.s +σL.sub.s s)i.sub.ds *-ω.sub.e σL.sub.s i.sub.qs *. 
    
     The desired quadrature-axis voltage according to &#34;current control&#34; is then combined with the desired quadrature-axis voltage according to &#34;voltage control&#34;. At block 128, V q .sbsb.-- i  * is multiplied by a gain G I . G I  has the following values: 
     
         G.sub.I =1 for ω.sub.r &lt;ω.sub.1, 
    
     
         G.sub.I =1-k(ω.sub.r -ω.sub.1) for ω.sub.1 &lt;ω.sub.r &lt;ω.sub.2, 
    
     
         G.sub.I =0 for ω.sub.r &gt;ω.sub.2, 
    
     where ω 1  and ω 2  are predetermined thresholds of rotor speed. Thus, G I  decreases (preferably but not necessarily linearly) between rotor speed thresholds ω 1  and ω 2 . At block 130, V q .sbsb.-- v  * is multiplied by a gain G v . G v  has the following value: 
     
         G.sub.v =1-G.sub.I. 
    
     Thus, G v  increases from 0 for ω r  ≦1 to 1 at ω r  ≧ω 2 . The outputs from blocks 128 and 130 are added at summing node 132. It is therefore seen that V q .sbsb.-- i  * (the desired q-axis stator voltage due to current control) and V q .sbsb.-- v  (the desired q-axis stator voltage due to voltage control) are combined in relative proportions. 
     FIG. 2 also illustrates how gains G I  and G v  effect similar blending of V d .sbsb.-- i  * and V d .sbsb.-- v  * at summing node 134. 
     The outputs of blocks 132 and 134 are thus the following: 
     
         V.sub.qs *=V.sub.q.sbsb.--.sub.i **G.sub.I +V.sub.q.sbsb.--.sub.v **G.sub.v 
    
     
         V.sub.ds *=V.sub.d.sbsb.--.sub.i **G.sub.I +V.sub.d.sbsb.--.sub.v **G.sub.v, 
    
     where V qs  * is the commanded quadrature-axis stator voltage for motor 12 and V ds  * is the commanded direct-axis stator voltage for motor 12. 
     With gains G I  and G v  thus applied to V q .sbsb.-- i  * and V q .sbsb.-- v  * and to V d .sbsb. i  * and V d .sbsb.-- v  *, it is apparent that below rotor speed threshold ω 1 , motor 12 is controlled completely in accordance with current control. Above rotor speed threshold ω 1 , there is a proportional blending of current control and voltage control, with voltage control becoming increasingly dominant with increasing rotor speed. Finally, above rotor speed threshold ω 2 , motor 12 is controlled completely in accordance with voltage control. 
     The outputs of summing nodes 132 and 134 are then transformed at block 136 into commanded voltages V.sub.α * and V.sub.β * in the two-dimensional stationary reference frame. At block 138, these voltages are converted to PWM signals for the six circuits 20 which control the six switching devices in inverter 14. Such conversion to PWM is well-known in the art and can take the form of &#34;space vector&#34; PWM or other methods. 
     One further portion of the block diagram of FIG. 2 should be pointed out. At block 140, the slip speed ω sl  is calculated as: ##EQU4## where T r  is the rotor time constant of motor 12. At summing block 142, ω sl  is added to ω r , the rotor speed of motor 12, to get ω e , the synchronous speed of motor 12. This synchronous speed is used in the algorithm at block 116, as previously described. Also, θ e , the electrical angle of motor 12, is calculated through integration of ω e  at block 144. θ e  is used as a reference for the transformations which take place at blocks 111 and 136. 
     Various other modifications and variations will no doubt occur to those skilled in the arts to which this invention pertains. Such variations which generally rely on the teachings through which this disclosure has advanced the art are properly considered within the scope of this invention. This disclosure should thus be considered illustrative, not limiting; the scope of the invention is instead defined by the following claims.