Abstract:
A method and circuit for detecting the position of the movable element of an electrically commutated machine. The method and apparatus allow detection of the back electromagnetic force (BEMF) waveform with all legs of the machine energized by mathematically removing the applied voltage from the measured voltage across the phases.

Description:
RELATED APPLICATION  
       [0001]     Provisional application No. 60/508,412, titled “Sensorless Sinewave Drive” filed Oct. 2, 2003, inventors Haroon I. Yunus, Russel H. Marvin, Bumsuk Won, incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     Various techniques employed in detecting the position of a movable element in an electrically commutated machine have been satisfactory in general but not completely without problems. More specifically, while the invention finds applicability in linear motors and other types of motors, for example where the movable element may follow a reciprocal parti-circular path, it is particularly well suited to brushless direct current (BLDC) motors. In the past, rotor position in BLDC motors has been detected using devices such as Hall sensors or encoders. If the rotor position is calculated using various motor quantities such as voltage and current, the detection scheme is called “sensorless.” Since the use of sensors adds to the cost of the device, the sensorless method is typically a more desirable implementation. Current sensorless methods utilize a six-step drive which activates two of the three legs of an inverter at any given time while the non-active leg is utilized in calculation of the rotor position. When using drive schemes such as sine wave drive, all legs of the inverter are active during the time the motor is driven. Information relevant to attempts to address these problems can be found in U.S. Pat. No. 6,252,362 B1 . However, this reference suffers from the disadvantage of having discontinuities introduced into the drive waveform timed to coincide with back electromagnetic force(BEMF) zero crossings.  
         [0003]     It is the general object of the present invention to provide an improved method of detecting the position of the movable element of an electrically commutated machine where the position can be detected with an arbitrary waveform applied to drive the machine without the introduction of discontinuities into the drive waveform.  
       SUMMARY OF THE INVENTION  
       [0004]     In fulfillment of the aforementioned objects and in accordance with the present invention, the method of the invention comprises the steps of determining the applied voltage, current, resistance, and inductance of at least one phase and then calculating the position of the movable element from the applied voltage, current, resistance and inductance.  
         [0005]     The values of the applied voltage, current, resistance, and inductance of each phase can be determined using several different methods. The applied voltage of a phase can be measured directly or inferred with the knowledge of the supplied bus voltage and the percentage of the duty cycle of the pulse width modulation (PWM) waveform applied to the phase. Similarly, the current in a phase can be determined by direct measurement or inferred by measuring the voltage across the phase and calculating the current in the phase with knowledge of the resistance of the phase. The inductance and resistance are quantities that are determined during the development and manufacture of the machine. The resistances of the phases of the machine remain substantially constant. The inductances of the phases of the machine are assumed to remain substantially constant. For brushless direct current (BLDC) motors and similar machines this is a valid assumption since the air gap between the rotor and the stator is fairly constant. In BLDC motors, the star point voltage can be measured directly or calculated using the applied voltage, the phase resistance, and phase inductance.  
     
    
     DESCRIPTION OF THE DRAWINGS  
       [0006]      FIG. 1  of the drawings is the electrical equivalent of a three phase brushless direct current (BLDC) motor and the connections to a typical inverter used to energize the phases of the motor,  
         [0007]      FIG. 2  is a sample block diagram to compute the back electromagnetic force (BEMF),  
         [0008]      FIG. 3  is the preferred implementation of the phase voltage and phase current sense circuit for phase A of the motor,  
         [0009]      FIG. 4  is the preferred implementation of the BEMF zero cross computation circuit for phase A of the motor.  
         [0010]      FIG. 5  is a sample block diagram of a digital implementation.  
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0011]     The motor model,  11 , as shown in  FIG. 1  is used extensively in detecting the position of the movable element of a machine driven with waveforms that require all legs to be active simultaneously. A conventional inverter comprised of identical circuits  10 ,  12 , and  14  is used to drive the three phase BLDC motor. Since circuits  10 ,  12 , and  14  are identical, only circuit  10  will be described in complete detail as follows. Drive A  16  receives a signal which urges it to turn on either the high side drive  18  or the low side drive  20 . An analog or digital control unit will determine what high and low side drives of circuits  10 ,  12  and  14  need to be energized in order to drive the motor. Current will flow into one of the motor phases from a high side drive and out another phase into a low side drive depending on the position of the motor. The electrical quantities in a three-phase brushless direct current (BLDC) motor can easily be modeled using the following equations:  
           v   a     -       r   a     ⁢     i   a       -       L   a     ⁢       ⅆ     i   a         ⅆ   t         -     vemf   a       =     v   n         
           v   b     -       r   b     ⁢     i   b       -       L   b     ⁢       ⅆ     i   b         ⅆ   t         -     vemf   b       =     v   n         
           v   c     -       r   c     ⁢     i   c       -       L   c     ⁢       ⅆ     i   c         ⅆ   t         -     vemf   c       =     v   n         
 
 Where v a , is the voltage applied on the terminal of the motor r a  is the resistance, L a  is the inductance, vemf a  is the back electromagnetic force (BEMF), i a  is the current. All these quantities refer to phase A of the motor. Quantities with b and c subscript refer to phases B and C of the motor respectively. v n  is the star point voltage of the motor. Note that in the above equations, it is assumed that the inductance is substantially constant as a function of the rotor position. For BLDC, this is a valid assumption since the air gap between the rotor and the stator is fairly constant. In BLDC based drives, the applied voltage, the phase resistance and inductance are known, and the star point voltage v n  can be calculated via these known quantities or measured directly. The above equations can be solved to compute the BEMF. The zero crossing of the BEMF will provide Hall like signals estimating the rotor position in 60 Degree resolutions. In contrast, if the complete BEMF waveform is utilized, the rotor position can be estimated similar to an encoder or a resolver sensor. 
 
         [0012]     The equations can be implemented in analog or digital circuitry. Whether to implement in analog or digital, is a system level decision based upon cost and performance optimization. The preferred embodiment of the present invention is implemented using the following steps. Note these steps have to be repeated for all phases. 
        1. Measure the applied voltage and filter it to remove switching harmonics.     2. Measure the phase current and filter it to remove switching harmonics.     3. Scale and delay the measured phase current in proportion to the resistance and inductance of the phase.     4. Measure and filter or compute the star voltage v n .     5. Subtract the star voltage and the scaled and delayed phase current from the applied voltage to obtain the BEMF.     6. Correct for the BEMF phase lag introduced by the filtering.     7. Obtain the zero crossing of the BEMF by passing it through a comparator to obtain Hall like signals or estimate the rotor position based on complete waveforms        
 
         [0020]     The preferred embodiment is an analog implementation to provide sensor-less sine wave drive. In this implementation, special consideration is given to the filtering process. Filters not only eliminate switching noise, but must also have a constant group delay. This ensures that the wave shape of the measured quantities are preserved as they are filtered. These filters are easily implemented via conventional operational amplifiers. In  FIG. 2 , G(s) represents a conventional operational amplifier based low pass analog filter with a constant group delay. The voltage sensor  22  uses va  80  and vn  82  to produce the signal va−vn*G(s)  84 . The current sensor  26  uses va  86  and −va  88  to produce the signal −(Ia Ra+La d Ia/dt)*G(s)  90 . The Compute DiffA block  24  sums the signals  84  and  90  to produce G(s)[va−vn−Ia Ra−La d Ia/dt]  92 . In  FIG. 3 , Block  1  implements the difference between the phase voltage  28  and the star point  30  and passes it through a conventional operational amplifier based filter  32  with the transfer function G(s). In Block 2 , phase current  34  is measured through a sense resistor  19 . This current is passed through a conventional filter  55  with the transfer function G(s). The DC bias is calculated  57  and removed  59 . Next, the filtered phase current is scaled and delayed according to motor&#39;s known characteristic resistance and inductance. This process is also implemented via conventional operational amplifier circuitry. The output of Block 1   62 , which is VA  40 , is scaled in Block 3   66 . The outputs of Block 1   62  and Block 3   66  are filtered and subtracted in Block 4   68  to provide the BEMF  46 . This calculated BEMF waveform is time delayed from the motor BEMF. The time delay is a function of the filter G(s). The zero crossing of the BEMF is obtained by passing it through a conventional comparator circuit Block 5   70 . The output of the comparator  72  is fed into a microprocessor. The microprocessor can then correct for the time delay introduced by the filter G(s), and drive the motor by applying a sine wave. Note, in addition to filter corrections, the microprocessor can also introduce further time advance or delay to improve the efficiency of the motor. Hence, we have implemented a sine wave drive in a “sensor-less” fashion, as if we had Hall Sensors on the motor. Since the Hall Sensor are accurate within 60 Degrees, the Sine Wave produced by the microprocessor needs to be adjusted each time the comparator provides a zero crossing to it. If better resolution is desired, then the complete computed BEMF needs to be fed into the microprocessor.  
         [0021]      FIG. 3  and  FIG. 4  show the preferred embodiment of the concept for computing the BEMF of phase A. Operational amplifiers, OPAMP, U 5 D  50  in Block 1   62  of  FIG. 3  takes the applied voltage on Phase A, PHASE_A_DRV  28 , and the motor star point voltage, M_Star  30 , subtracts it and filters it using a multiple feed back, MFB, Bessel Filter. OPAMP U 5 C  52  and U 6 B  54  remove any DC-Bias in the above calculation to provide the signal VA  40 .  
         [0022]     In Block 2  of  FIG. 3 , the phase current is obtained by measuring the voltage, PHASE_A  34  and PHASE_A_DRV  36  across a sense resistor  19  in Phase A. This measured voltage is then filtered via OPAMP U 5 A  56  which implements the same Bessel Filter transfer function as U 5 D  50 . OPAMPS U 5 B  58  and U 6 A  60  remove any DC-BIAS is this calculation to provide the signal IA  42 .  
         [0023]     The measured phase current IA  42  is then fed to Block 3   66  of  FIG. 4 . OPAMP U 6 C  74  then scales and delays IA  42  in proportion to the motor resistance and inductance. This scaled and delayed IA  42  along with VA  40  is fed to OPAMP U 6 D  76  of BLOCK 4   68  in  FIG. 4 . OPAMP U 6 D  76  then computes the BEMF  46  waveform of phase A. The BEMF  46  waveform is then fed to the comparator U 7 A  78  that computes the zero crossing of BEMF waveform PA_Zerox  72 .  
         [0024]     PA_Zerox  72  along with PB_Zerox and PC_Zerox are fed to the microprocessor where they are used to generate Sine Wave Drive. Note the microprocessor compensates for the time lag introduced by the Bessel Filter in the calculation of the BEMF waveforms. Additionally, it can advance or retard the sine wave based on these zero crossing to improve the efficiency of the motor drive.  
         [0025]     The method of the invention can be implemented using digital components as shown in  FIG. 5 . The phase voltages  94 , phase currents  96 , and star point voltage  98  are input to an analog to digital converter  100  to digitize the signals. The analog to digital converter can be a separate component or part of the digital signal processing unit  104 . The digital signal processing unit  104  performs the operation of generating the BEMF  106  signals using the digitized signals  102 . The BEMF signals  106  are used by the motor controller  108  to drive the motor  110 . The selection of the digital components for digital implementation is a system level decision based upon cost and performance optimization.