Abstract:
A method for controlling a voltage mode controlled electric machine comprising: receiving a torque value representative of a desired torque; obtaining a speed value indicative of a rotational velocity of the electric machine; acquiring a phase advance value indicative of a desired phase advance angle; generating a voltage command responsive to the torque value, the position value; the generating is responsive to the torque value, the speed value, and the phase advance value.

Description:
BACKGROUND  
         [0001]    Most modem vehicles have power steering in which the force exerted by the operator on the steering wheel is assisted by hydraulic pressure from an electric or engine-driven pump. The force applied to the steering wheel is multiplied by the mechanical advantage of a steering gear. In many vehicles, the steering gear is a rack and pinion, while in others it is a recirculating ball type.  
           [0002]    Electric power steering is commonly used in vehicles to improve fuel economy and has started to replace hydraulic power steering in some vehicles. One way this is accomplished is through the reduction or elimination of losses inherent in traditional steering systems. Therefore, electric power steering typically requires power only on demand. Commonly, in such systems an electronic controller is configured to require significantly less power under a small or no steering input condition. This dramatic decrease from conventional steering assist is the basis of the power and fuel savings. Electric power steering has several additional advantages. The steering feel provided to the operator has greater flexibility and adaptability. Overall system mass savings may also be achieved. Electric power steering is powerplant independent, which means it can operate during an all electric mode on a vehicle.  
           [0003]    Furthermore, polyphase permanent magnet (PM) brushless motors excited with a sinusoidal field provide lower torque ripple, noise, and vibration when compared with those excited with a trapezoidal field. Theoretically, if a motor controller produces polyphase sinusoidal currents with the same frequency and phase as that of the sinusoidal back electromotive force (EMF), the torque output of the motor will be a constant, and zero torque ripple will be achieved. However, due to practical limitations of motor design and controller implementation, there are always deviations from pure sinusoidal back EMF and current waveforms. Such deviations usually result in parasitic torque ripple components at various frequencies and magnitudes. Various methods of torque control can influence the magnitude and characteristics of this torque ripple.  
           [0004]    One method of torque control for a permanent magnet motor with a sinusoidal, or trapezoidal back EMF is accomplished by controlling the motor phase currents so that the current vector is phase aligned with the back EMF. This control method is known as current mode control. In this a method, the motor torque is proportional to the magnitude of the current. However, current mode control requires a more complex controller for digital implementation and processing. The controller would also require multiple current sensors and A/D channels to digitize the feedback from current sensors, which would be placed on the motor phases for phase current measurements.  
           [0005]    Another method of torque control is termed voltage mode control. In voltage mode control, the motor phase voltages are controlled in such a manner as to maintain the motor flux sinusoidal and motor backemf rather than current feedback is employed. Voltage mode control also typically provides for increased precision in control of the motor, while minimizing torque ripple. One application for an electric machine using voltage mode control is the electric power steering system (EPS) because of its fuel economy and ease-of-control advantages compared with the traditional hydraulic power steering. However, commercialization of EPS systems has been limited due to cost and performance challenges. Among the most challenging technical issues are a pulsation at the steering wheel and the audible noise associated with voltage mode control.  
           [0006]    To satisfy the needs of certain applications for precise and accurate control, current mode control employing motor phase current feedback may be utilized, in lieu of the voltage mode control method wherein no current feedback occurs. That is, current mode control is a closed loop methodology in that a current feedback in addition to the motor position and speed feedback is used as controlling parameter by the current mode control, while voltage mode control is an open loop control methodology wherein only position and speed feedback is used. Voltage mode control systems may be more desirable in certain applications because the need for external sensors to provide feedback is minimized.  
           [0007]    Therefore, in a voltage control system, it is desirable to enhance motor control to improve controllability and reduce motor control errors.  
         BRIEF SUMMARY  
         [0008]    Disclosed herein is a method for controlling a voltage mode controlled electric machine comprising: receiving a torque value representative of a desired torque; obtaining a speed value indicative of a rotational velocity of the electric machine; acquiring a phase advance value indicative of a desired phase advance angle; generating a voltage command responsive to the torque value, the position value; the generating is responsive to the torque value, the speed value, and the phase advance value.  
           [0009]    Also disclosed herein is a system for controlling a voltage mode controlled electric machine comprising: a PM electric machine; a sensor operably connected to the electric machine and configured to measure at least one of a rotor velocity and a rotor position of the electric machine and transmit at least one of a velocity signal and a position signal; a controller, the controller operably connected to the electric machine and the sensor, the controller receives at least one of a velocity signal and a position signal and generates a voltage command for the electric machine. The voltage command is responsive to the at least one of a velocity signal and a position signal, a desired torque value and a phase advance value.  
           [0010]    Further disclosed herein is a storage medium encoded with a machine-readable computer program code, the computer program code including instructions for causing controller to implement the above mentioned method for controlling a voltage mode controlled electric machine.  
           [0011]    Also disclosed herein is a computer data signal, the data signal comprising code configured to cause a controller to implement the abovementioned method for controlling a voltage mode controlled electric machine. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    The present invention will now be described, by way of an example, with references to the accompanying drawings, wherein like elements are numbered alike in the several figures in which:  
         [0013]    [0013]FIG. 1 depicts a phasor diagram for a PM motor;  
         [0014]    [0014]FIG. 2 is a drawing depicting a voltage mode controlled PM motor drive system; and  
         [0015]    [0015]FIG. 3 is a simplified block diagram depicting an exemplary closed loop non-linear implementation of an implicit equation. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0016]    Referring now to the drawings in detail, FIG. 2 depicts a PM motor system  10  where numeral  10  generally indicates a system for controlling the torque of a sinusoidally excited PM electric machine  12  (e.g. a motor, hereinafter referred to as a motor). The system includes, but is not limited to, a motor rotor position encoder  14 , a speed measuring circuit  16 , a controller  18 , power circuit or inverter  20  and power source  22 . Controller  18  is configured to develop the necessary voltage(s) out of inverter  20  such that, when applied to the motor  12 , the desired torque is generated. Because these voltages are related to the position and speed of the motor  12 , the position and speed of the rotor are determined. A rotor position encoder  14  is connected to the motor  12  to detect the angular position of the rotor denoted θ. The encoder  14  may sense the rotary position based on optical detection, magnetic field variations, or other methodologies. Typical position sensors include potentiometers, resolvers, synchros, encoders, and the like, as well as combinations comprising at least one of the forgoing. The position encoder  14  outputs a position signal  24  indicating the angular position of the rotor.  
         [0017]    The motor speed denoted ω m  may be measured, calculated or a combination thereof. Typically, the motor speed ω m  is calculated as the change of the motor position θ as measured by a rotor position encoder  14  over a prescribed time interval. For example, motor speed ω m  may be determined as the derivative of the motor position θ from the equation ω m =Δθ/Δt where Δt is the sampling time and Δθ is the change in position during the sampling interval. Another method of determining speed depending upon the type of encoder employed for the motor position θ, may be to count the position signal pulses for a predetermined duration. The count value is proportional to the speed of the motor. In the figure, a speed measuring circuit  16  determines the speed of the rotor and outputs a speed signal  26 .  
         [0018]    The temperature of the motor  12  is optionally measured utilizing one or more temperature sensors  25  preferably located at the motor windings. The temperature sensor transmits a temperature signal  27  to the controller  18  to facilitate the processing prescribed herein. Typical temperature sensors include thermocouples, thermistors, thermostats, and the like, as well as combinations comprising at least one of the foregoing sensors, which when appropriately placed provide a calibratable signal proportional to the particular temperature. In an exemplary embodiment temperature signal  27  is employed to schedule selected signals and parameters of the motor  12 . For example, the motor resistance, inductance, and motor constant may be scheduled as a function of temperature to improve the accuracy of the model and algorithms disclosed herein.  
         [0019]    The position signal  24 , speed signal  26 , temperature signal  27 , and a torque command signal  28  are applied to the controller  18 . The torque command signal  28  is representative of the desired motor torque value. The controller  18  processes all input signals to generate values corresponding to each of the signals resulting in a rotor position value, a motor speed value, a temperature value and a torque command value being available for the processing in the algorithms as prescribed herein. Measurement signals, such as the abovementioned are also commonly linearized, compensated, and filtered as desired or necessary to enhance the characteristics or eliminate undesirable characteristics of the acquired signal. For example, the signals may be linearized to improve processing speed, or to address a large dynamic range of the signal. In addition, frequency or time based compensation and filtering may be employed to eliminate noise or avoid undesirable spectral characteristics.  
         [0020]    The controller  18  determines the voltage amplitude V ref  30 required to develop the desired torque by using the position signal  24 , speed signal  26 , and torque command signal  28 , and other fixed motor parameter values. For a three-phase motor, three sinusoidal reference signals that are synchronized with the motor back EMF {right arrow over (E)} are required to generate the required motor input voltages. The controller  18  transforms the voltage amplitude signal V ref  30 into three phases by determining phase voltage command signals V a , V b , and V c  from the voltage amplitude signal  30  and the position signal  24  according to the following equations: 
           V   a   =V   ref  sin(θ) 
           V   b   =V   ref  sin(θ−120°) 
           V   c   =V   ref  sin(θ−240°) 
         [0021]    In a motor drive system employing phase advancing, the phase advancing angle δ (FIG. 1) may also be calculated as a function of the input signal for torque or speed. The phase voltage signals V a , V b , V c  are then phase shifted by this phase advancing angle δ. Phase voltage command signals V a , V b  and V c  are used to generate the motor duty cycle signals D a , D b , and D c    32  using an appropriate pulse width modulation (PWM) technique. Motor duty cycle signals  32  of the controller  18  are applied to a power circuit or inverter  20 , which is coupled with a power source  22  to apply phase voltages  34  to the stator windings of the motor in response to the motor voltage command signals.  
         [0022]    In order to perform the prescribed functions and desired processing, as well as the computations therefore (e.g., the execution of voltage mode control algorithm(s), the inverse motor model prescribed herein, and the like), controller  18  may include, but not be limited to, a processor(s), computer(s), memory, storage, register(s), timing, interrupt(s), communication interfaces, and input/output signal interfaces, as well as combinations comprising at least one of the foregoing. For example, controller  18  may include signal input signal filtering to enable accurate sampling and conversion or acquisitions of such signals from communications interfaces. Additional features of controller  18  and certain processes therein are thoroughly discussed at a later point herein.  
         [0023]    In an exemplary embodiment, controller  18  computes the desired voltage amplitude  30  for the motor by evaluating selected system parameters and processing a closed loop non-linear filtering technique to implement a simplified model for the dynamics of the motor under selected operational conditions. Controller  18  receives the abovementioned input signals to facilitate the processes and as a result generates one or more output signals including voltage commands.  
         [0024]    In order to facilitate enhanced operation of a voltage control motor, the of the control algorithm implementing an inverse motor model facilitates computation of a desired command voltage amplitude  30  as a function of the desired torque command, motor speed and phase advance angle. In the exemplary embodiment, the required voltage amplitude  30  is computed as a function of the torque command  28 , motor speed signal  26 , and motor parameters. In addition, the motor parameters may also be compensated for variations due to temperature.  
         [0025]    To obtain an understanding of the processing performed by controller  18  for establishing an approximate inverse motor model, an understanding of the mathematical foundation of a voltage mode controlled PM motor is beneficial. Therefore, a development of the equations is provided herein.  
         [0026]    The voltage mode control method is based on electric machine operation phasor diagram as shown in FIG. 1. Under steady state operating condition, the voltage phasor {right arrow over (V)}, back EMF phasor {right arrow over (E)} and current phasor {right arrow over (I)} of a sinusoidally excited PM motor are governed by: 
           {right arrow over (V)}={right arrow over (E)}+{right arrow over (I)}R+j{right arrow over (I)}X   s    (1) 
         [0027]    where R is the winding resistance, X s  is the phase reactance which is equal to the product of motor inductance L s  and the excitation frequency ω e . Here, it is denoted that the angle between back EMF phasor {right arrow over (E)} and current phasor {right arrow over (I)} is α and the angle between the voltage phasor {right arrow over (V)} and the back EMF phasor {right arrow over (E)} is δ  
         [0028]    The equation for calculation of actual motor current vector {right arrow over (I)} (which is the peak of sine current wave) is derived from the motor torque and voltage equations in the following manner.  
         [0029]    The torque T of a PM machine under steady state is given by 
         T=K e I cos α  (2) 
         [0030]    where again {right arrow over (I)} is the phase current, αis the angle between back EMF and current and K e  is the motor torque constant.  
         [0031]    Now from the diagram, the voltage equations of the motor can be written as: 
           V  cos δ= E+IR  cos α+ IX   s  sin α  (3) 
         [0032]    or  
               V                   Cos        (   δ   )         =         (         L   R        s     +   1     )          RI   q       +       K   e          ω   m       +     L                   ω   e          I   d                 (     3      a     )                               
 V sin δ=−IRsin α+IX s  cos α  (4) 
         [0033]    or  
               -     VSin        (   δ   )         =         (         L   R        s     +   1     )          RI   d       -     L                   ω   e          I   q                 (     4      a     )                               
 
         [0034]    where:  
         [0035]    V—is the magnitude of the applied Voltage;  
         [0036]    δ—is the angle of the applied Voltage relative to the back emf;  
         [0037]    α—is the angle of the Current relative to the back emf;  
         [0038]    L—is the stator inductance;  
         [0039]    R—is the stator resistance;  
         [0040]    K e —is the motor constant;  
         [0041]    ω m —is the rotor mechanical velocity;  
         [0042]    ω e —is the rotor electrical velocity;  
         [0043]    I—is the total current;  
         [0044]    I d —is the direct axis current;  
         [0045]    I q —is the quadrature axis current; and  
         [0046]    s—is the Laplace operator.  
         [0047]    It will be appreciated that Equations (3) and (4) or (3a) and (4a) represent two common methods of denoting the motor voltages, the primary distinction between them is that Equations (3a) and (4a) use the direct and quadrature notation for the current. The distinction is merely notational and is provided here for clarity.  
         [0048]    One known way to control the torque of such a machine is to invert the steady state form of the above equations, solve for the voltage in terms of the other parameters and thereby compute a voltage command required to achieve a desired torque. This may be accomplished by first setting s=0 (effectively ignoring dynamics) and then solving for V as a function of delta, Torque, velocity, and motor parameters. This method results in the following equation:  
         [0049]    Solving equations (3) and (4) or (3a) and (4a) yields:  
                 I                 cos                 α     =           (       V                 cos                 δ     -   E     )        R     +       X   s        V                 sin                 δ         (       R   2     +     X   s   2       )              
        or           (   5   )                 I   q     =           (       V                   Cos        (   δ   )         -       K   e          ω   m         )        R     +     L                   ω   e        V                   Sin        (   δ   )               R   2     +       (       ω   e        L     )     2                 (     5      a     )                               
 
         [0050]    Therefore, the torque T from (2) can be written as:  
                     T   e     =       K   e          I   q             or         T   =       K   e                (       V                 cos                 α     -   E     )        R     +       X   s        V                 sin                 α         Z   2                       (   6   )                               
 
         [0051]    where  
         [0052]    Z={square root}{square root over (R 2 +(ω e L) 2  )} 
         [0053]    T e —is the electromagnetic torque  
         [0054]    Substituting for E=K e .ω m , the torque equations can be rewritten as  
             T   =         K   e       Z   2       [       VR                 Cos                 δ     -       K   e          ω   m        R     +       ω   e        LV                 Sin                 δ       ]             (   7   )                               
 
         [0055]    Finally, solving for the voltage V yields:  
             V   =               T   e        R       K   e            (     1   +       (         ω   e        L     R     )     2       )       +       K   e          ω   m             Cos        (   δ   )       +           ω   e        L     R          Sin        (   δ   )                     (   8   )                               
 
         [0056]    It is noteworthy to appreciate that Equation (8) is an expression in terms of known or measurable parameters of the motor  12 , torque, and the computed phase advance angle, δ (delta). If the motor parameters, motor velocity, and δ (delta) are known accurately, this method of control produces a good approximation of the desired torque under steady state conditions. However, under transient conditions, the approximation of setting the Laplace operator to zero may introduce substantial errors in the voltage command and thereby, in the torque control of the motor.  
         [0057]    An exemplary embodiment as disclosed herein corrects the potential torque error by creating a method of including dynamic effects in the “motor inverse model”. Observation of the two voltage equations (3) and (4) or (3a) and (4a) respectively, illustrates that the relationships are nonlinear and therefore Laplace operations do not apply. However, it will be further appreciated that the single term in each equation that contains dynamics (frequency dependent terms) is linear and therefore may be modeled using Laplace techniques. Therefore, it will be appreciated that if the equations can be expressed as a combination of linear and nonlinear equations with the dynamic information explicitly kept in the linear portions and the voltage V as an output, a dynamic “motor inverse model” equation may be obtained. In order to achieve this, Equation (4), (4a) is solved for I d  as follows:  
               I   d     =         L                   ω   e          I   q       -     V                   Sin        (   δ   )             R        (         L   R        s     +   1     )                 (   9   )                               
 
         [0058]    Then substitute into Equation (3) or (3a) as follows:  
               V                   Cos        (   δ   )         =         (         L   R        s     +   1     )          RI   q       +       K   e          ω   m       +     L                     ω   e     (         L                   ω   e          I   q       -     V                   Sin        (   δ   )             R        (         L   R        s     +   1     )         )                 (   10   )                               
 
         [0059]    Lastly, substituting in the torque, yields:  
               V                   Cos        (   δ   )         =         (         L   R        s     +   1     )        R                     T   e       K   e         +       K   e          ω   m       +     L                     ω   e     (         L                   ω   e            T   e     /     K   e         -     V                   Sin        (   δ   )             R        (         L   R        s     +   1     )         )                 (   11   )                               
 
         [0060]    It may now be recognized that Equation 11 is an implicit equation for the voltage V. However, the voltage V on the right hand side (as multiplied by Sin(δ)) is subject to the dynamics exhibited in the denominator. These dynamics essentially mean that the voltage V also experiences a delay in time. Therefore, it will be appreciated, that a closed loop nonlinear filter may be designed and implemented to solve Equation (11) real time as an implicit equation without the need for an explicit solution.  
         [0061]    [0061]FIG. 3 is a block diagram that illustrates an implementation of the inverse motor model process  200  including the abovementioned filter. Turning to the figure, the implementation may be by way of processes implemented in a controller or processor such as controller  18 . The process  200  initiates with receiving the torque command at block  210  followed by a multiplication by the quotient R/K e  as depicted at block  220  to formulate a scaled torque command  222 . At process block  230 , a first dynamic component is modeled as a filter and multiplied by the scaled torque command  222  to formulate a filtered torque command  232  and the first term of the right hand side of Equation (11).  
         [0062]    Also received by the process  200  is the electrical motor velocity ω e  (omega e) as depicted at process block  240 . The electrical motor velocity ω e  (omega e) is multiplied by a quotient of 2K e /N p  at process block  250  establishing the second term of Equation (11) denoted in the figure as  252 . The electrical motor velocity ω e  (omega e) is also multiplied by a quotient of L/R at process block  260  to formulate a scaled motor velocity  262 . The scaled motor velocity  262  is multiplied by the scaled torque command  222  at multiplier  270  and applied as a first input  272  to summer  280 .  
         [0063]    Also received by the process  200  is the phase advance angle δ (delta) as depicted at process block,  290 . The sine of the phase advance angle δ (delta) is determined at process block  300 , and thereafter, then multiplied by the fed back output voltage V at multiplier  310 . This product constitutes a second input to the summer  280  for subtraction from the first input  272 . It will be appreciated that this feed back portion is what facilitates an implementation in an exemplary embodiment of a solution for the implicit equation without an explicit solution. The resultant of the summer  280  constitutes the term in parentheses of the third term of Equation 11. The resultant of the summer is then transmitted to process block  320 , where the second dynamic component modeled in this instance as a low pass filter (or delay). The resultant of process block  320  is then multiplied by the scaled motor velocity  262  at multiplier to formulate the complete third term of the right hand side of Equation (11) denoted in the figure as  332 .  
         [0064]    Continuing with FIG. 3, at summer  340 , first term of the right hand side of Equation (11) denoted the filtered torque command  232  the second term of the right hand side of Equation (11), denoted as  252 , and the third term of the right hand side of Equation (11) denoted as  332  are combined. The resultant of this summation is divided at process block  350  by the cosine of the phase advance angle δ (delta) as computed at process block  360 . The resultant of the division yields the commanded voltage V.  
         [0065]    It will be appreciated that process  200  provides an implicit solution to a non-linear equation with no explicit solution. Advantageously, in an exemplary embodiment, it is realized that an implicit solution is achieved employing a closed loop filtering technique. For the special case of δ (delta)=0 or 180 degrees (e.g., no phase advance), the sine term goes to zero and the cosine term goes to ±1 eliminating the feedback path and the final divide operation. For the special case of δ (delta) near 90 or 270 degrees, the cosine term will approach zero and the sine term will approach ±1. If operation is desired at this very unusual condition, the equation may be rearranged to solve for Vsin(δ) and feed back Vcos(δ).  
         [0066]    In another embodiment, the nominal values for the resistance R, inductance L, and motor constant Ke may readily be scheduled or compensated for various environmental conditions including, but not limited to, temperature. The temperature signal  27  may be employed to schedule one or more of these parameters to enhance the accuracy of the model implementation. Referring once again to the figure, the temperature signal  27  may be received at process block  400  and applied to process block  410  where nominal values for one or more of the motor parameters may be scheduled as a function of the temperature. Scheduling may be accomplished in a variety of ways as disclosed elsewhere herein. In an exemplary embodiment, scheduling is achieved with a look-up table.  
         [0067]    It will further be appreciated that the filter implementations disclosed herein are illustrative only and numerous alternatives will readily be apparent. For example, the computation for the first dynamic component at process block  230  is substantially a proportional plus derivative. Numerical methods for implementing a derivative all include some approximation and filtering, as a pure derivative is well known to be not readily implemented. For example, in a recursive process, subtracting the last value of a parameter from the current value and then dividing by the difference in time between the two samples. However, a derivative may also be implemented as a changing measured time interval for a fixed change in a parameter to perform a computation. Further, in yet another embodiment, both the interval of time and interval of the parameter could be measured and compared with neither of the parameters occurring at a fixed interval. In a preferred configuration, evaluation of a changing measured parameter over a fixed interval of time to perform the computation is utilized for simplicity. In another preferred configuration, the process is implemented as a lead filter.  
         [0068]    It will be appreciated that while the disclosed embodiments may employ in several instances, look-up tables in implementation, such a reference is illustrative only and not limiting. Various alternatives will be apparent to those skilled in the art. For example, the processes and algorithms described above could employ, analog or digital implementations in addition to, or in lieu of, and software implementations including but not limited to look-up tables, direct algorithms, gain or parameter scheduling, linearized interpolation or extrapolation, and/or various other methodologies, which may facilitate execution of the desired functions and the like, as well as combinations thereof. It should further be noted that the particular configurations of algorithms are once again, illustrative only, a variety of other configurations or element allocations are feasible.  
         [0069]    The system and methodology described in the numerous embodiments hereinbefore provides a method for controlling a voltage mode controlled electric machine. In addition, the disclosed invention may be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media  40 , such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium  40 , loaded into and/or executed by a computer, or as data signal  42  transmitted, whether via modulated carrier wave or not, over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.  
         [0070]    While the invention has been described with reference to an exemplary embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.