Abstract:
In a motor controller, a modified interpolation technique uses an extrapolated torque command for the upper table to improve torque linearity under certain conditions. When the torque command input is greater than the max torque limit of a first look-up table, but less than the maximum torque limit of a second, adjacent look-up table, the desired current command is computed by interpolating between the maximum torque limit of the first table and a revised torque value for the second look-up table, wherein the revised torque value is determined by extrapolating from the maximum torque limit of the first look-up table through a torque value based on the torque command input.

Description:
TECHNICAL FIELD 
     The present invention generally relates to motor driver control systems, and more particularly relates to methods for optimizing peak torque in motors when operating above base speed. 
     BACKGROUND 
     A common architecture for motor control systems involves the storage of stator current command tables for multiple input DC voltages. For a given DC voltage, then, the current commands can be determined from the appropriate look-up table. In the event that the input voltage lies between two of the pre-stored tables, interpolation is used to determine the correct current command. However, in certain situations near peak torque, only valid operating commands are available in the upper table. This occurs when the torque command exceeds the peak torque limit of the lower Vdc table. In such a case, errors in interpolation can occur. 
     More particularly,  FIG. 1  shows a block diagram of a typical AC motor drive control system  100 . Control system  100  generally includes a set of look-up tables  104  taking inputs  102 , a synchronous frame current regulator block  106 , a synchronous-to-stationary transformation block  108 , a two-to-three-phase transformation block  110 , a 3-phase voltage source inverter  112 , a three-to-two-phase transformation block  116 , and a stationary-to-synchronous transformation block  114 , all configured as a closed loop as shown, wherein inverter  112  is coupled a PM motor  118 . A resolver  120  and associated resolver-to-digital converter  122  feed into blocks  108  and  114 . Such functional blocks are known in the art, and need not be described in detail. 
     In order to achieve optimal performance over the wide range of expected DC link voltage and motor speed, current command information is often calculated off-line and stored. In this case, current commands for the synchronous frame current regulators  106  are stored in 2-dimensional look-up tables  104 . The indexes into each table are torque and speed. Conventional motor control architectures have multiple tables for different DC voltages (e.g., 150, 200, 250, 300, 350, 400V, etc.). However, problems can occur when the actual voltage lies between two tables in the field weakening region. 
     For example,  FIG. 2  represents the motor torque limit at two different voltages, in this case, 300V and 350V. If the actual DC voltage is 325V, the torque command is 125 Nm, and the speed is n 1  as shown. Since the command exceeds the 300V torque limit, the system is forced to compute the 300V command at the restricted level of p 1  (100 Nm). From the 350V table, since the command is less than the limit (p 4 ) the system computes the data at the desired level p 2 . It then linearly interpolates between the two results based upon voltage. Since 325V is half-way between 300 and 350V, the system would essentially average the two results, and end up somewhere between p 1  and p 2 , at p 3 . However, the correct result, due to the non-linear nature of the curves, is actually at p 2 . 
     This is also illustrated in  FIG. 3 , which is a plot of the torque versus Vdc at a fixed speed Here, p 1  and p 4  represent the maximum torque values for the bounding DC voltages (300V and 350V). Conventional algorithms would return a result at point  304 , while the desired point is  302 . 
     Accordingly, it is desirable to provide improved motor drive control system algorithms that can better interpolate Vdc. Additional desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background. 
     BRIEF SUMMARY 
     In accordance with the present invention, a modified interpolation technique generally uses an extrapolated torque command for the upper table to improve torque linearity under certain conditions. 
     Systems and methods in accordance with various embodiments include: receiving a torque command input, a motor speed input, and a voltage input; accessing a plurality of look-up tables, each corresponding to adjacent values of the voltage input, each having an associated maximum torque limit, and each including a two-dimensional array of current commands indexed by values of the motor speed input and the torque command input; determining an applicable operating condition from a set of operating conditions, wherein the applicable operating condition corresponds to a first condition wherein the torque command input is greater than the max torque limit of a first look-up table, but less than the maximum torque limit of a second, adjacent look-up table; computing the desired current command by interpolating between the maximum torque limit of the first table and a revised torque value for the second look-up table, wherein the revised torque value is determined by extrapolating from the maximum torque limit of the first look-up table through a torque value based on the torque command input; and controlling the electric motor in accordance with the desired current command. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       A more complete understanding of the present invention may be derived by referring to the detailed description and claims when considered in conjunction with the following figures, wherein like reference numbers refer to similar elements throughout the figures. 
         FIG. 1  is a conceptual block diagram of a typical AC motor drive control system; 
         FIG. 2  shows motor torque limits in exemplary systems; 
         FIGS. 3 and 4  are torque vs. Vdc curves useful in describing the present invention; and 
         FIGS. 5 and 6  are torque error vs. torque command curves useful in describing the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     The following discussion generally relates to a motor control system that incorporates improved interpolation techniques. In that regard, the following detailed description is merely illustrative in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description. For the purposes of conciseness, conventional techniques and principles related to magnetism, permanent magnet machines, motors, and the like need not and are not described herein. 
     Referring now to the torque vs. Vdc plot shown in  FIG. 4 , a method in accordance with one embodiment will now be described. As illustrated, there are three cases (or operating conditions) to consider: Case 1 (region  401 ), where the torque command (Tcmd) is less than the torque limit at both end points; Case 2 (region  402 ), where the torque command is less than the max torque limit line (p 1 -p 4 ), but exceeds the torque limit on one left side (p 1 ); and Case 3 (region  403 ), where the torque command exceeds the torque limit line (p 1 -p 4 ). 
     In Case 1, no special handling is necessary: conventional voltage interpolation provides an accurate result, i.e.: 
                       x   ⁡     (     V   dc     )       =         (       V   dc     -     V   Low       )     ·     (         x   ⁡     (     V   High     )       -     x   ⁡     (     V   Low     )             V   High     -     V   Low         )       +     x   ⁡     (     V   Low     )           ⁢     
     ⁢   or   ⁢     
     ⁢       x   ⁡     (       V   dc     ,     T   cmd     ,     n   r       )       =         (       V   dc     -     V   Low       )     ·     (           x     V   High       ⁡     (       T   cmd     ,     n   r       )       -       x     V   Low       ⁡     (       T   cmd     ,     n   r       )             V   High     -     V   Low         )       +       x     V   Low       ⁡     (       T   cmd     ,     n   r       )                   (   1   )               
where V High  is the DC voltage of the upper bounding table (350V in the example), V Low  is the DC voltage of the lower bounding table (300V in the example), V dc  is the actual DC voltage, and x is the variable stored in the 2D look-up tables with torque and speed input (e.g. I sd   e * or I sq   e *, the D and Q axis synchronous frame current commands). In this equation, the x VHigh  is the 2D look-up table for higher DC voltage (e.g. 350V table) and the x VHigh  is the 2D look-up table for lower available DC voltage (e.g. 300V table).
 
     In case 2, it is desirable to extrapolate along the line connecting p 1  to the desired point to obtain, point px. Then the 2D table look-up algorithm described above can be performed using T(px) as torque command input for the upper bound voltage, while T(p 1 ) is used as the torque command input for the lower bound voltage. In this way, the desired point ( 410 ) can be achieved after voltage interpolation: 
                       T   ⁡     (   px   )       =           (       V   High     -     V   Low       )     ·     (         T   cmd     -     T   ⁡     (     p   ⁢           ⁢   1     )             V   dc     -     V   Low         )       +       T   ⁡     (     p   ⁢           ⁢   1     )       .     
     ⁢     x   ⁡     (     V   dc     )           =         (       V   dc     -     V   Low       )     ·     (         x   ⁡     (   px   )       -     x   ⁡     (     p   ⁢           ⁢   1     )             V   High     -     V   Low         )       +     x   ⁡     (     p   ⁢           ⁢   1     )             ⁢     
     ⁢       T   ⁡     (   px   )       =         (       V   High     -     V   Low       )     ·     (         T   cmd     -     T   ⁡     (     p   ⁢           ⁢   1     )             V   dc     -     V   Low         )       +     T   ⁡     (     p   ⁢           ⁢   1     )           ⁢     
     ⁢       x   ⁢     (       V   dc     ,     T   cmd     ,     n   r       )       =         (       V   dc     -     V   Low       )     ·     (           x     V   High       ⁡     (       T   ⁡     (   px   )       ,     n   r       )       -       x     V   Low       ⁡     (       T   ⁡     (     p   ⁢           ⁢   1     )       ,     n   r       )             V   High     -     V   Low         )       +       x     V   Low       ⁡     (       T   ⁡     (     p   ⁢           ⁢   1     )       ,     n   r       )                   (   2   )               
where p 1  is the operating point at V Low  and maximum torque for that voltage, px is the operating point to be used for indexing into the table at V High , T(p 1 ) is the torque value at p 1 , and T(px) is the torque value at px.
 
     Finally, in Case 3, the system limits the result to the torque limit line (p 1 -p 4 ). This is shown in Equation 3: 
                       x   ⁢     (     V   dc     )       =         (       V   dc     -     V   Low       )     ·     (         x   ⁡     (     p   ⁢           ⁢   4     )       -     x   ⁡     (     p   ⁢           ⁢   1     )             V   High     -     V   Low         )       +     x   ⁡     (     p   ⁢           ⁢   1     )           ⁢     
     ⁢       x   ⁢     (       V   dc     ,     T   cmd     ,     n   r       )       =         (       V   dc     -     V   Low       )     ·     (           x     V   High       ⁡     (       T   ⁡     (     p   ⁢           ⁢   4     )       ,     n   r       )       -       x     V   Low       ⁡     (       T   ⁡     (     p   ⁢           ⁢   1     )       ,     n   r       )             V   High     -     V   Low         )       +       x     V   Low       ⁡     (       T   ⁡     (     p   ⁢           ⁢   1     )       ,     n   r       )                   (   3   )               
where p 4  is the operating point at V High  and maximum torque for that voltage.
 
     Using the equations 1 through 3 above, the current commands can be computed with minimal impact of voltage interpolation errors. 
     The method described above can be implemented in any combination of hardware, software, and firmware. For example, a general purpose computer may employ machine-readable media and program instructions included thereon. Alternatively, any combination of digital and analog components may be used and incorporated into a control system as shown in  FIG. 1 . Look-up tables such as those described may be stored in flash memory or any other suitable storage medium. 
     Systems in accordance with the present invention have been found to exhibit numerous advantages. For example,  FIG. 5  illustrates the torque error vs. torque command of a baseline motor and control system that does not implement the present invention. Data was taken when the actual operating voltage (325V) lay halfway between the bounding tables (300V and 350V). Each curve represents a different motor speed. Moving to the right on any curve represents increased torque request. The error is plotted as percentage of commanded torque. At low torque commands, the error generally increases due to fixed offsets, etc. The right hand end of each curve represents the peak torque points. The right-most points on each curve drop off significantly, as indicated by data points in region  502 . Under these conditions, the peak torque is being restricted. 
     In contrast,  FIG. 6  depicts the same test results when methods in accordance with the present invention have been utilized. Notably, the peak torque points no longer fall off as before, indicating that the peak torque has increased. In general, peak torque increased up to 5% when operating above base speed. Furthermore, the present method also provides improved torque linearity when operating near peak torque above base speed. The illustrated experiment was performed with a 80 kW (peak) interior permanent magnet motor suitable for EV/HEV traction applications. A three phase, current regulated, voltage source inverter was used to drive the motor, and the exemplary algorithm was encoded into a microprocessor controlling the inverter. Testing was performed on a dynamometer, which included an absorber motor to accurately control the speed, a regulated DC power supply to provide the DC link voltage, and a torque transducer to measure the actual motor torque. 
     While at least one example embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the example embodiment or embodiments described herein are not intended to limit the scope, applicability, or configuration of the invention in any way. The foregoing detailed description provides those skilled in the art with a convenient and edifying road map for implementing the described embodiment or embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the invention and the legal equivalents thereof.