Abstract:
The system discloses structure for synchronizing sequential phase switching in driving a set of stator windings of a multi-phase sensorless brushless permanent magnet DC motor. A drive voltage drives a plurality of the stator windings thereby producing a magnetic field. On an undriven stator winding among the stator windings, a voltage induced by the magnetic field is sampled. The induced voltage changes as a function of a magnetic rotor transitioning across a plurality of angular positions. A first value corresponding to the sampled voltage induced on the currentless winding is compared with a commutation threshold to determine a proper commutation point. The system is switched to a next drive configuration of the sequence when the first value surpasses the threshold.

Description:
CROSS-REFERENCE 
       [0001]    This application claims the benefit of U.S. Provisional Application entitled, “Circuit and Method for Sensorless Control of a Brushless Motor During Start-up,” having U.S. Ser. No. 61/651,736, filed May 25, 2012, which is entirely incorporated herein by reference. 
     
    
     FIELD 
       [0002]    The present disclosure is generally related to motor controllers, and more particularly is related to a system and method for sensorless control of a permanent magnet brushless motor during start-up. 
       BACKGROUND 
       [0003]    Sensored brushless motor technology is well-known and is useful for minimal flaw control at low speeds and reliable rotation. A sensored system has one or more sensors that continuously communicate with a motor controller, indicated to it what position the rotor is in, how fast it is turning, and whether it is going forward or reverse. Sensors in a sensored system increase cost and provide additional pieces that can break or wear down, adding durability and reliability issues. Sensorless systems can read pulses of current in the power connections to determine rotation and speed. Sensorless systems tend to be capable of controlling motors at higher speeds (e.g., revolutions per minute (“RPM”)), but may suffer “jitters” under a load at very low starting speeds, resulting in a performance inferior to sensored brushless motors. 
         [0004]    Jitter is a phenomenon that occurs with sensorless brushless motor systems at initial starting speed and generally no longer exists after the motor has gained sufficient speed. Jitter comes about because at low or zero speed, the sensorless algorithm does not have enough information to decide which windings to energize and in what sequence. One common solution for starting a sensorless system is to energize one winding pair to lock the rotor at a known position. The motor windings are then commutated at a pre-defined rate and PWM duty cycle until the rotor reaches a speed sufficiently high for the sensorless control to engage. However, even this solution will cause jitter during startup, particularly if there are time varying loads. Jitter can be decreased or made imperceptible for loads with minimal initial torque or predictable initial torque. However, some motor application/use situations (such as starting an electric motor bike moving uphill) demand significant torque for initiation, and the initial torque is highly unpredictable. Use of sensorless brushless motor systems is sometimes discouraged for low-speed high-torque maneuvers, like rock-crawling or intricate and detailed track racing of an electric motor vehicle/bike, because in such difficult situations, significant jittering may occur and can lead to premature motor burnout. 
         [0005]      FIG. 1  is a block diagram of a motor control system  10  in a three-phase power stage, as is known in the prior art. Many three-phase motor control systems  10  include a controller having a control signal generator  12 , a gate driver  14 , and a power stage  16 . In case of sensorless control, feedback circuits are also included, specifically a detection network  18  and a current sensing circuit  20 , which utilizes sense resistor R SENSE . In general, a goal of sensorless control is to detect a motor response to an applied pulse width modulated (PWM) source voltage to identify rotor position and movement. 
         [0006]    Similarly, a current sense circuit  20  may be used to detect the magnitude and direction of motor current across driven windings. Low side shunt monitoring is used regularly. An often used configuration for low side monitoring is shown in  FIG. 1 . One skilled in the art can easily adopt alternative current sensing techniques such as monitoring phase current in each inverter branch including high-side monitoring and this alternative technique is known to those having ordinary skill in the art. 
         [0007]    The control signal generator  12  is often powered from a low voltage source. As a result, a function of the gate driver  14  includes shifting the low voltage control signals to levels that match input requirements of the power stage  16 . The power stage  16  includes semiconductor switching devices. MOSFETs are shown in  FIG. 1 , but other devices such as IGBTs may be used. The control signal can be made to generate trapezoidal (a.k.a. block or 6 step commutation) or sinusoidal drive from the power source V pwr . Pulse width modulation is typically used with trapezoidal drive in brushless DC (BLDG) motor control. Systems requiring lower audible noise or lower torque ripple benefit from sinusoidal drive. 
         [0008]    Those skilled in the art with respect to PWM drive techniques understand a variety of modes to generate trapezoidal, sinusoidal, or other control. The motor response to a PWM drive can be detected via voltage on the motor phases and/or phase current(s). 
         [0009]    As shown in  FIG. 1  for a brushless DC motor control, the power stage  16  is driven such that current flows into a first motor phase (for example, phase U) and exits a second motor phase (for example, phase V). The rotor (not shown) position within the motor  30  dictates which phase pair to drive to attempt to achieve full torque and smooth (jitter-free) rotation of the rotor. The feedback controls are used to deduce rotor position. 
         [0010]      FIG. 2  is an illustration of a wye-connected motor  30 , as is known in the prior art. The wye-connected motor  30  in this illustration has a single-pole pair permanent magnet rotor  32  positioned such that its south pole  34  is proximate to the winding of the U-phase  36 . Under these conditions, it is obvious to one skilled in the art that the W-phase  38  and the V-phase  40  are the appropriate phase pair to drive in order to initiate rotation of the rotor  32 . The polarity of the permanent magnet rotor  32  determines the direction of current flow through the phase. Hence, the power stage  16  connects the W-phase  38  to V pwr  and the V-phase  40  to ground  24  resulting in current flow into the W-phase  38  and exiting the V-phase  40 , as represented with the current arrows. A net effect of current flowing through coils W-phase  38  and V-phase  40  as shown in  FIG. 2  is the formation of an electromagnet having a north pole at the W-phase  38  and a south pole at V-phase  40 . This electromagnet produces a repulsive force between permanent magnet N-pole  42  and the electromagnet N-pole formed at the W-phase  38  and an attractive force between permanent magnet N-pole  42  and the electromagnet S-pole formed at the V-phase  38 . 
         [0011]    As N- and S-poles are attracted to each other, if the electromagnet persisted long enough in this current flow configuration, the resulting torque will move the permanent magnet N-pole  42  to a position shortly after the V-phase  40  and the permanent magnet S-pole  34  to a position shortly before the W-phase and rotation of the permanent magnet rotor  32  would stop. To perpetuate rotation of the permanent magnet rotor  32 , the power stage  16  must commutate to a new phase pair. The optimum commutation point is a function of the rotor position relative to the coil of the undriven phase (the phase not driven by V pwr ). In  FIG. 2 , the U-phase  36  is the undriven phase. Ideally, the rotor angle would span −30° to +30° with respect to alignment with the coil of the undriven phase. As this 60° span is one sixth of one electrical revolution, it is commonly referred to as one sextant. 
         [0012]      FIG. 3  is a 6-step commutation process further defined by Table 1, as is known in the prior art. Given the conditions illustrated in  FIG. 2 , a high level description of the sequence of steps commonly referred to as 6-step commutation process is outlined in Table 1 and further illustrated in  FIG. 3 . 
         [0000]    
       
         
               
             
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Six-step commutation sequence for a 
               
               
                 wye-connected motor shown in FIG. 2 
               
             
          
           
               
                 Se- 
                 Driven 
                   
                   
                   
               
               
                 quence 
                 Phase 
                 N-pole position 
                 S-pole position 
                 Rotor 
               
               
                 Step 
                 Pair 
                 relative to phases 
                 relative to phases 
                 Angle 
               
               
                   
               
               
                 0 
                 WV 
                 W + 30° to V − 30° 
                 U − 30° to U + 30° 
                 1.25-1.75 
               
               
                 1 
                 WU 
                 V − 30° to V + 30° 
                 U + 30° to W − 30° 
                 1.75-2.25 
               
               
                 2 
                 VU 
                 V + 30° to U − 30° 
                 W − 30° to W + 30° 
                 2.25-2.75 
               
               
                 3 
                 VW 
                 U − 30° to U + 30° 
                 W + 30° to V − 30° 
                 2.75-0.25 
               
               
                 4 
                 UW 
                 U + 30° to W − 30° 
                 V − 30° to V + 30° 
                 0.25-0.75 
               
               
                 5 
                 UV 
                 W − 30° to W + 30° 
                 V + 30° to U − 30° 
                 0.75-1.25 
               
               
                   
               
             
          
         
       
     
         [0013]    The 6-step commutation sequence results in one electrical revolution. Given this simplified example, it is understood that a properly driven permanent magnet rotor will be driven one mechanical revolution when this six-step process is complete. An increase in number of pole pair results in an equivalent increase in the number of electrical revolutions per mechanical revolution. Comparing Table 1 and  FIG. 2 , it is understood that  FIG. 2  illustrates Sequence Step 0 with the permanent magnet N-pole  42  pushed from the W-phase  38  and pulled by the attraction to the V-phase  40 . When the permanent magnet S-pole  34  reaches the U+30° position, the power stage  16  commutates to Sequence Step 1 driving current from the W-phase  38  to the U-phase  36  causing the U-phase to become the electromagnetic S-pole. Thus, the U-phase  36  repels or pushes the permanent magnet S-pole  34  and the W-phase  38  attracts the S-pole, continuing the clockwise motion of the permanent magnet rotor  32 . 
         [0014]    Others have developed solutions to sensorless control of a brushless motor during start-up as they relate to spindle motors for disk drives, compact disk (“CD”) drives, and digital video disk/digital versatile disk (“DVD”) drives. However, CDs and DVDs do not offer significant or varying resistance to rotor rotation during start-up. Because the initial torque is predictable, performance parameters can be pre-programmed significantly. Other motors, such as those for electric scooters, can have varying resistance applied to the motor. For instance, the torque placed on a motor for an electric scooter may be dependent on the amount of weight on the electric scooter and whether the scooter is facing an incline, a decline, or on a level surface. The motor characteristics are further influenced by the magnitude of start-up current needed to overcome the external torque on the motor. Start-up for these motors has an additional set of logistical impediments not encountered by spindle motors for DVDs and the like because a user of a scooter that jitters at start-up will be more inconvenienced than a DVD user whose DVD player jitters at start-up. 
         [0015]    Thus, a heretofore unaddressed need exists in the industry to address the aforementioned deficiencies and inadequacies. 
       SUMMARY 
       [0016]    Embodiments of the present disclosure provide a system and method for synchronizing sequential phase switching in driving a set of stator windings of a multi-phase sensorless brushless motor. Briefly described, in architecture, one embodiment of the system, among others, can be implemented as follows. The system contains a controller unit comprising a control signal generator, a memory device, a processing unit, and a signal acquisition device. A gate driver having a plurality of inputs is fed by the control signal generator. A power stage having a plurality of switches is controlled by the gate driver and connected to a voltage source that supplies a DC voltage, which the power stage manipulates to create a pulse width modulation signal. A stator having the stator windings is driven by the pulse width modulation signal of the power stage based on the state of the plurality of switches. A voltage sense circuit connects the stator windings and the controller unit. A current sense circuit connects an output of the power stage and the controller unit. The processor compares information from the voltage sense circuit and the current sense circuit to control the gate driver. 
         [0017]    The present disclosure can also be viewed as providing a method of controlling motor switching. The method includes the steps of: driving a pulse width modulated signal on two windings of a set of three windings; measuring a voltage of an undriven winding of the set of three windings; demodulating the measured voltage; and changing which two windings of the set of three windings are driven when the demodulated measured voltage exceeds a threshold. 
         [0018]    Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]    Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale. Instead emphasis is being placed upon illustrating clearly the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. 
           [0020]      FIG. 1  is a block diagram of a motor control system in a three-phase power stage, as is known in the prior art. 
           [0021]      FIG. 2  is an illustration of a wye-connected motor, as is known in the prior art. 
           [0022]      FIG. 3  is a 6-step commutation process further defined by Table 1, as is known in the prior art. 
           [0023]      FIG. 4  is a block diagram of a motor control system in a three-phase power stage, in accordance with a first exemplary embodiment of the present disclosure. 
           [0024]      FIG. 5  is an illustration of demodulated signals representing motor phases illustrated in  FIG. 2 . 
           [0025]      FIG. 6  is an illustration of demodulated signals representing motor phases illustrated in  FIG. 2  under the influence of high torque and current. 
           [0026]      FIG. 7  is an illustration of a portion of the demodulated undriven voltage on the U-phase shown in  FIG. 6 , in accordance with an exemplary embodiment of the present disclosure. 
           [0027]      FIG. 8  is an exemplary voltage sense circuit that may be used in conjunction with the motor control system in  FIG. 4 , in accordance with the exemplary embodiment of the present disclosure. 
           [0028]      FIG. 9  is an exemplary current sense circuit that may be used in conjunction with the motor control system in  FIG. 4 , in accordance with the exemplary embodiment of the present disclosure. 
           [0029]      FIG. 10  is an illustration of the demodulated undriven phase signal associated with the motor control system of  FIG. 4 , in accordance with the exemplary embodiment of the present disclosure. 
           [0030]      FIG. 11  is an illustration of a flowchart illustrating a method of using the motor control system  110  of  FIG. 4 , in accordance with the exemplary embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0031]      FIG. 4  is a block diagram of a motor control system  110  for a three-phase power stage  116  for a sensorless, brushless permanent magnet DC motor  30 , in accordance with a first exemplary embodiment of the present disclosure. The motor control system  110  includes a controller unit  160  having a control signal generator  112 , a memory device  162 , a processing unit  164 , a signal acquisition device  166 , and an analog-to-digital convertor  170 . The control signal generator  112  feeds six inputs into a gate driver  114 . The gate driver  114 , which may be powered by an independent power source (not illustrated), controls six MOSFET switches  168  in the power stage  116 . Manipulation of the switches determines current flow from the power source V pwr  through the stator windings  36 ,  38 ,  40  in the motor  30 . 
         [0032]    The voltage sense circuit  118  and current sense circuit  120  are used for closed loop control of the motor. The power stage  116  has 6 switches grouped in pairs. Each switch pair is configured as a half bridge. Each switch has a control input. The outputs of power stage  116  are fed into the 3-phase BLDC motor windings U  36 , V  40 , W  38 . The power stage  116  is supplied by a voltage source V pwr  having a DC voltage, which the power stage uses to supply a pulse width modulation signal to the windings U  36 , V  40 , W  38 . The current return path for the voltage source V pwr  is through ground via current sense resistor R SENSE . The power stage  116  for a trapezoidally controlled pulse width modulated brushless DC motor  30  typically energizes two motor windings of the set of three windings  36 ,  38 ,  40  at a time. 
         [0033]    A voltage signal is available at the undriven phase. This voltage signal can be used to generate a commutation signal by demodulating the undriven phase voltage synchronously with the PWM switching rate. The commutation signal, when a near-zero drive current is present, has a periodicity of ½ electrical revolutions. The shape of this commutation signal is related to the action of the permanent magnet rotor  32  on the stator windings  36 ,  38 ,  40 . Demodulation can be performed by simply taking the difference in voltage between the undriven phase and the switching in two different driven states of the PWM. When a materially-greater-than-zero current is driven into the active pair of terminals, the signal has an added component with a periodicity of a full electrical cycle. 
         [0034]      FIG. 5  is an illustration of demodulated undriven phase signals representing motor phases illustrated in  FIG. 2  and  FIG. 3 . The subscript D indicates the signal is from a demodulated undriven winding. Here, the undriven phase signals are illustrated for a ½ electrical cycle superimposed upon each other relative to rotor angle. The proper commutation time can be determined by monitoring the undriven phase signal, derived from the demodulated undriven phase signal, and commutating at a value that is a function of the motor current. As the current increases, a comparison value will change, but  FIG. 5  is representative of a near-zero current through the driven windings. 
         [0035]    As illustrated in  FIG. 5 , the dotted line U D  represents the demodulated signal produced when the U-phase  36  is disconnected during commutation sequence step 0, and the WV phases  38 ,  40  are driven with a PWM wave. This drive combination is the connection that generates the most torque from the rotation position 1.25 to the 1.75 point on the x-axis, which is the sextant position 
         [0036]    If the motor is being driven with torque pushing to the right, when 1.75 point is reached, the motor is rotating in the proper direction, and commutation from WV phases to WU phases should occur at the 1.75 point. Likewise, if the rotor is rotating counterclockwise while being electrically driven clockwise, such as starting an electric scooter on a hill, U D  has negative slope between 1.25 and 1.75. If the 1.25 point is reached, the prior commutation phase UV or commutation sequence step 5 should be switched in. These points are associated with the demodulated signal U D , reaching approximately 1.5 or −1.5 volts for forward or reverse commutation respectively, illustrated as THRESHOLD in  FIG. 5 . When 1.75 on the x-axis is reached, upon commutating to WU phases, the demodulated signal associated with the V-phase  40 , i.e. V D , will then be generated. If 1.25 is reached (forced in reverse), the demodulated signal associated with the W phase, i.e. W D , will then be generated. 
         [0037]    If the commutation signal component from the permanent magnets is dominant, determining the time for commutation is straightforward. The commutation signal from the undriven phase is derived, and when pre-determined values are reached, the motor is advanced to the next or prior phase. The prior phase advance is important, as the load may be rotating in the direction opposite to the desired rotation upon start. For maximum torque, it is important that the commutation levels be relatively accurate. 
         [0038]    When the required starting torque is high, a materially-greater-than-zero current is needed through the driven windings to generate the high torque. The commutation breakpoint is harder to determine from the undriven phase signal when the driven winding current is high. The commutation signal transforms substantively with respect to rotational position when the current has surpassed a near-zero level. 
         [0039]      FIG. 6  is an illustration of demodulated signals representing motor phases illustrated in  FIG. 2  under the influence of high torque and current. The proper values for the demodulated undriven winding (U D ) signal at the previously identified commutation breakpoints (when the rotor angle is 1.25 and 1.75) are 0V and 3V. Thus, if the motor controller operated with a threshold of −1.5V and 1.5V for commutation, as was shown in  FIG. 5 , the motor would not be able to obtain the maximum available torque that is acquired with proper motor commutation. In the forward motion case, the commutation will be too early, causing a transfer to a commutation sequence step that will provide less torque. In the case the motor is rolling backward, the commutation may be too late to achieve high torque from the previous commutation step. Further, at slightly higher currents, the result may be failure to commutate altogether leading the controller to errantly attempt to drive the motor in the wrong direction. The effect of current on the demodulated signal may be different for even and odd sextants (commutation sequence steps 0, 2, and 4 as opposed to 1, 3, and 5). Motor characteristics indicate the portion of the demodulated signal associated with even sextants varies proportionally with current and the portion of demodulated signal associated with odd sextants varies inversely with current. 
         [0040]      FIG. 7  is an illustration of a portion of the demodulated undriven voltage on the U-phase shown in  FIG. 6 , in accordance with an exemplary embodiment of the present disclosure. The ideal commutation points for U D  for the motor configuration described herein are when the rotor angle is at 1.25 and 1.75. As shown in  FIG. 2 , this rotor position, relative to the driven windings, generates the most torque in the clockwise direction. However, without a sensor to define the rotor position, the demodulated undriven voltage and the threshold are used to identify when the rotor is at 1.25 and 1.75. At near zero amperes over the driven windings, the thresholds of −1.5V and 1.5V were effective. In  FIG. 7 , with a materially greater than zero ampere current over the driven windings, the thresholds need to be 0V and 3V.  FIG. 7  is just one exemplary illustration of current greater than zero. As the current varies, the U D  wave changes shape, although it does not change periodicity. 
         [0041]    As such, the motor controller  112  may be programmed to modify the threshold as a function of current through the driven windings or it may modify the representation of the demodulated voltage in the undriven winding (e.g., U D ) as a function of current. As illustrated in  FIG. 6  relative to  FIG. 5 , it can be seen that a modifier of approximately +1.5V could be added to the upper and lower thresholds to commutate U D  in the proper location or the U D  signal could be modified by subtracting approximately 1.5V to better calibrate the demodulated voltage to the thresholds. As can be seen, the modified thresholds are intersected by the original U D  at rotational angle 1.25 and 1.75. Similarly, the modified U D  intersect the original thresholds at rotational angle 1.25 and 1.75. Another variation on this concept may involve modifying both the U D  and the thresholds concurrently. 
         [0042]    The modifications to the thresholds and/or the demodulated voltage signals may be more complex than this simple example to identify proper commutation points. The upper and lower thresholds may be modified by different values and may be shifted in opposite (positive/negative) directions. Modifications to the U D  wave may include scaling and/or modifying the slope of the wave. Modifications to the U D  waveform and/or the thresholds may be made as a function of current through the driven phases, as retrieved by the current sense circuit or model, or as a function of pulse width modulation signal. 
         [0043]      FIG. 8  is an exemplary voltage sense circuit  118  that may be used in conjunction with the motor control system  110  in  FIG. 4 , in accordance with the exemplary embodiment of the present disclosure. The voltage sense circuit  118  is placed in the feedback path of a first control loop, between the power stage outputs  116  and the controller unit signal acquisition device  166 . The voltage sense circuit  118  includes a resistor network comprising resistors R 1 , R 2 , R 3 , R 4 , and R 5  coupled together as shown in  FIG. 8 . Voltage sense circuit  118  has three inputs connected to three motor terminals, U  36 , V  40 , W  38 . The voltage sense circuit  118  superposes motor voltage response from each phase  36 ,  38 ,  40  and divides the result to level in accordance with input requirements from signal acquisition  166 . The result includes the voltage on the undriven phase. While similar motor control configurations include voltage sense circuits  118 , these circuits are directed to retrieving a back EMF signal and regularly filtering out the undriven phase voltage to get a cleaner back EMF signal. 
         [0044]      FIG. 9  is an exemplary current sense circuit  120  that may be used in conjunction with the motor control system  110  in  FIG. 4 , in accordance with the exemplary embodiment of the present disclosure. The current sense circuit  120  is placed in the feedback path of a second control loop, between a current sense resistor R SENSE  and the controller unit signal acquisition device  166 . The power supply voltage levels of current sense circuit  120  and controller unit  160  are approximately the same. Current sense circuit  120  includes an amplifier  174  configured for differential measurement of voltage across R SENSE , as shown in  FIG. 4 . The amplifier  174  input common-mode voltage and gain are set such that amplifier output is at approximately mid-supply to facilitate monitoring of R SENSE  current flowing in positive and negative direction. 
         [0045]    The motor control system  110  may be used to control a motor  30 , such as the motor  30  illustrated in  FIG. 2 .  FIG. 10  is an illustration of the demodulated undriven phase signal associated with the motor control system  110 , in accordance with the exemplary embodiment of the present disclosure. Signals V and W are driven signals on two terminals of the motor  30 .  FIG. 10  illustrates a 50% duty cycle PWM with complementary drive. The drive phase voltage will normally be a value between ground and the power supply voltage. Typical switching frequencies are in the range of 1 kHz to 25 Khz, depending on motor size and construction as well as other factors. The signal at the undriven phase is shown in  FIG. 10  as signal U. Signal U changes as a function of rotor position which varies the magnetic fields in the stator. The demodulated undriven phase signal U D , which is used for position sensing, is derived by measuring the voltage difference on signal U between the high b n  and low a n  level. This voltage difference can be viewed as demodulation of the position signal from the PWM signal. The demodulated signal is compared with an established threshold, such as the threshold shown in  FIG. 5 , and used to determine the commutation breakpoint where the power stage output will switch to a next winding pair to drive. The illustration of U D  in  FIG. 10  is analogous to the 1.25-1.75 rotor angle portion of the U D  curve in  FIG. 5  operating with steady rotor movement. 
         [0046]      FIG. 11  is an illustration of a flowchart illustrating a method of using the motor control system  110  of  FIG. 4 , in accordance with the exemplary embodiment of the present disclosure. It should be noted that any process descriptions or blocks in flow charts should be understood as representing modules, segments, portions of code, or steps that include one or more instructions for implementing specific logical functions in the process, and alternate implementations are included within the scope of the present disclosure in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present disclosure. 
         [0047]    As is shown by block  202 , a pulse width modulated signal is driven on two windings of a set of three windings. A voltage of an undriven winding of the set of three windings is measured (block  204 ). The measured voltage is demodulated (block  206 ). A different pair of windings of the set of three windings are driven when the demodulated measured voltage exceeds a threshold (block  208 ). 
         [0048]    The step of changing which two windings are driven may involve changing which phases are driven after the demodulated measured voltage has exceeded the threshold for a set period of time. The undriven voltage signal may experience noise, and that noise may cause the threshold to be surpassed prematurely and temporarily. Verifying that the demodulated measured voltage continues to exceed the threshold for a period of time diminishes the possibility that the threshold is surpassed as a result of noise instead of properly identified rotor position. 
         [0049]    The threshold may be set as a function of the pulse width modulated signal. For instance, as an amplitude of the pulse width modulation signal increases, the absolute value of the thresholds should increase to properly compensate for the undriven winding voltage also increasing in value. The threshold may be predetermined and modified as a function of a characteristic of the pulse width modulated signal. Similarly, the demodulated measured voltage value may be modified within the motor controller as a function of the pulse width modulated signal to allow the demodulated measured voltage value to intersect the threshold at the proper rotor rotation angles. The demodulated measured voltage may be modified by scaling the demodulated measured voltage. 
         [0050]    While the pulse width modulation signal can be useful to project ways to modify the thresholds or the demodulated measured voltage, another value that can be useful is the current over the driven windings. The motor controller can use the current sense circuit to identify the current value over the driven windings. The demodulated measured voltage can be modified as a function of the current through the driven windings. The threshold can be modified as a function of the current through the driven windings. 
         [0051]    The demodulated measured voltage or the threshold can be modified using a compensation model based on at least one of a characteristic of the motor and an operating condition of the motor. The compensation model can be, for example, a polynomial, a spline, a logarithmic curve or trigonometric model. The characteristic of the motor may include resistance, inductance, back EMF constant, saliency, inertia, is frictional losses, eddy current and hysteresis losses, and magnet material properties. The operating condition of the motor may include current in the driven phases (which can be measured or modeled), voltage applied to the stator, temperature, torque, and speed. Each sextant may be associated with a different compensation model. 
         [0052]    First Exemplary Commutation Breakpoint Calculation 
         [0053]    A pulse width modulation signal is provided to two windings at a level that provides a near zero average current (I min ) over the two windings. A first set of voltage data representing the motor voltage response signal on the undriven phase  36 , spanning at least an entire sextant, is obtained. A first set of current data representing the driven phase current is collected corresponding to each data point in the first set of undriven voltage data. The process is repeated with a pulse width modulation signal that provides a mid-level drive phase current (a.k.a. I mid ) and again with a pulse width modulation signal that provides an approximately maximum drive phase current (a.k.a. I max ). 
         [0054]    A first set of coefficients representing the influence of mid-level values of current is calculated based on first and second current data sets. 
         [0000]      Coeff midCurrent =( V   MTR ( I   mid )− V   MTR ( I   min ))/( I   mid   −I   min )
 
         [0055]    Where V MTR  is the demodulated motor voltage response signal based on the undriven phase  36 . 
         [0056]    A second set of coefficients representing the influence of max-level values of current is calculated based on first and third current data sets 
         [0000]      Coeff maxCurrent =( V   MTR ( I   max )− V   MTR ( I   min ))/( I   max   −I   min )
 
         [0057]    The effect of current on the commutation signal is different in odd sextants compared to even sextants. Therefore, said first and second sets of coefficients are created for both even and odd sextants. 
         [0058]    Coeff midCurrent  (odd) 
         [0059]    Coeff midCurrent  (even) 
         [0060]    Coeff maxCurrent  (odd) 
         [0061]    Coeff maxCurrent  (even) 
         [0062]    The resultant coefficient values can be used as-is under specific conditions. For example, if an application runs at specific currents because the motor drives known loads, then the coefficients can be stored in a lookup table. At each operating current level, the coefficients can then be read from the table and used to compensate the undriven phase signal for that current. 
         [0063]    Another method of modifying the threshold and/or demodulated voltage includes transforming the resultant coefficient values into Slope and Intercept values for even and odd sextants, which can then be generally applied for a wide set of current values. The Slope and Intercept values are stored in memory. 
         [0064]    The coefficient as a function of current is calculated as: 
         [0000]      Coefficient( I )=Slope* I   avg +Intercept 
         [0065]    In this equation, I avg  is the average driven phase current, obtained in this example via amplifier  174  in difference configuration monitoring low side shunt resistor and generally described as current sense block in  FIG. 4  and  FIG. 9 . The amplifier output is sampled and digitized in both the on and off portions of the PWM cycle. The values are digitally processed to produce the average motor phase current in the PWM cycle. The Slope and Intercept values may be obtained from memory device  162 . Sextant parity determines whether Slope and Intercept data for odd or even sextants is used. 
         [0066]    Slope is effectively calculated as ΔV/ΔI, hence, Coefficient(I) has units of resistance. 
         [0067]    A correction factor as a function of current is then calculated as: 
         [0000]        V   CF ( I )= I   avg *Coefficient( I ) 
         [0068]    Controller unit memory device  162  contains constant values representing motor characteristics. Constant value(s) for commutation breakpoint is stored in memory device  162 . Slope and intercept values are stored in memory device  162 . 
         [0069]    Processing unit  164  performs arithmetic calculations based on stored and measured data. Specifically, the correction factor, V CF (I), is calculated and the motor voltage response on the undriven phase is demodulated. The processing unit  164  inverts the polarity of the demodulated signal in every other sextant such that the slope of the demodulated signal with respect to the direction of the applied torque is positively independent of the sextant. The processing unit  164  modifies the demodulated signal with the correction factor in accordance with the winding current. The processing unit  164  calculates direction of the demodulated signal based on its slope between commutation breakpoints, thereby confirming direction of rotation. A difference between first and second demodulated signal data points taken between consecutive commutation breakpoints is compared to a threshold value. A difference value greater than the threshold value indicates positive slope, while a difference value less than the threshold value indicates negative slope. The definition of slope by way of comparison to a threshold value is arbitrary. For example, a difference value less than a threshold value could just as well define a positive slope. 
         [0070]    The processing unit  164  compares a modified/corrected demodulated signal to a stored forward commutation breakpoint. At least one occurrence of the combination of a modified demodulated signal having value greater than the forward commutation breakpoint value and confirmed forward direction of rotation results in processing unit  164  controlling the control signal  112  to commutate the power stage  116  to a next phase pair. Requiring multiple occurrences of the satisfying condition prior to commutating may increase system robustness. The processing unit  164  compares a modified/corrected demodulated signal to a stored reverse commutation breakpoint. At least one occurrence of the combination of a modified demodulated signal having value less than the reverse commutation breakpoint value and confirmed reverse direction of rotation results in processing unit  164  controlling PWM  112  to commutate the power stage  116  to a previous phase pair. Requiring multiple occurrences of the satisfying condition prior to commutating may increase system robustness. 
         [0071]    An average current across the driven windings can be acquired a number of ways, including measurement and modeling, some of which are known to those skilled in the art. One useful method for obtaining the current across the driven windings is averaging a current measured by an analog to digital convertor and a current sense mechanism. As is discussed above, the average current is used to modify at least one of the thresholds and the demodulated measured voltage. 
         [0072]    When the rotor rotates fast enough, relative to other motor characteristics and operating conditions, a reliable back EMF signal becomes available. Use of a reliable back EMF signal to control commutation from driven pair to driven pair is well known in the art. Thus, the techniques disclosed herein are designed for controlling commutation when the rotor is not moving or is rotating at speeds below which a reliable back EMF signal is available. The motor control switches to the back EMF commutation technique when a rotational speed of the rotor surpasses a speed threshold such that the reliable back EMF signal is available. 
         [0073]    It should be emphasized that the above-described embodiments of the present disclosure, particularly, any “preferred” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the disclosed system and method. Many variations and modifications may be made to the above-described embodiments of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.