Abstract:
Methods and devices for brushless DC motor operation. An example method may include using previously sensed Hall effect sensor transitions to predict a future Hall effect transition, and dividing a time between a most recent Hall effect sensor transition and the predicted Hall effect sensor transition into time increments. The time increments may be used to effect phase advance by selecting a number of time increments to create a time offset for phase advance purposes. The time increments may also be used as a virtual encoder. Devices incorporating controllers and control circuitry for performing like methods are also discussed.

Description:
FIELD 
   The present invention is related to the field of electric motors. More particularly, the present invention is related to brushless DC motors. 
   BACKGROUND 
   In a brushed DC motor, the brushes make mechanical contact with a set of electrical contacts provided on a commutator secured to an armature, forming an electrical circuit between the DC electrical source and coil windings on the armature. As the armature rotates on an axis, the stationary brushes come into contact with different sections of the rotating commutator. The commutator and brush system form a set of electrical switches that operate in sequence such that electrical power flows through the armature coil that is closest to the stator, which houses stationary magnets creating forces relative to the coil windings that cause rotation. 
   A brushless DC motor makes use of control circuitry to operate switches that replace the combination of brushes and electrical contacts on the commutator. While the control circuitry can add to the expense of the brushless DC motor, the elimination of the brushes and commutator reduces maintenance, as there is no wear on an associated brush, and prevents arcing in the motor that can occur as the commutator moves past the brushes. In some examples, a plurality of Hall effect sensors and magnets are disposed on the rotor and armature, with the outputs of the Hall effect sensors used to control current switching. 
   An example of a brushless DC motor appears in  FIGS. 1A–1B . The motor  10 , shown in cross section, includes an armature  12  and a rotor  14 , with magnets  16 ,  17  disposed on the rotor  14 . Hall effect sensing elements  18  are disposed on the armature  12  to sense the location of the magnets  16 ,  17 . Control circuitry  20  includes Hall interrupt detection block  22  that is coupled to the Hall effect sensors  18  and generates an interrupt or other signal whenever one of the Hall effect sensors  18  transitions, indicating the rotation of the magnets  16 ,  17 . When triggered, the detection block  22  interacts with commutator state circuitry  24  to control changing of the state of output switches  26 . Using the output switches  26 , the control circuitry  20  can couple energy from line power  28 , which typically (though not necessarily) passes through a step-down transformer  30  to the motor  10 . 
     FIG. 1B  shows a different cross section of the motor  10 , with magnets  16 ,  17  on the rotor  14 , and three coil windings  32 ,  34 ,  36  on the armature  12 . Usually, during operation, two of the coil windings  32 ,  34  will be activated while a third coil winding  36  will be grounded.  FIG. 2  illustrates the timing of operation. In  FIG. 2 , a trio of armature coil windings are indicated as A, B, and C, with the state indicated by a “+” (driven by a voltage V), “−” (grounded) or “0” (open circuit). Alternatively, a dual power supply approach would have “+” be a signal of a first polarity, “−” be a signal of a second polarity, and “0” indicate that the winding is grounded. At each Hall effect sensor interrupt  38 , the commutator state is changed, and the current flow through two of the coil windings changes. Operation is further illustrated in  FIG. 3 , which shows operation during a run state. As shown at  40 , the control circuitry waits for a Hall effect sensor interrupt or trigger, detects a transition of the output for one of the Hall effect sensors, as shown at  42 , and changes commutator state, as shown at  44 . The control circuitry then returns to  40 . Other tasks may also be performed, but the basic steps are shown. Refinement of this process to improve efficiency and output actuation is desirable. 
   SUMMARY 
   The present invention, in a first illustrative embodiment, includes a method of operating a brushless DC motor having a plurality of sensing elements for sensing rotor position with reference to an armature, the rotor position changing to cause sensing events, the DC motor operating by proceeding through a series of commutation states. The illustrative method may comprise extrapolating, using first and second most recent sensing events, a time for a third sensing event, and interpolating a plurality of time increments between the most recent sensing event and the time for the third sensing event. In some embodiments, the steps of extrapolating and interpolating provide data for a virtual encoder indicating rotor position. In some embodiments, the method further includes selecting a time offset, the time offset being a number of time increments. The time offset may be used for providing a phase advance in the brushless DC motor. 
   Another illustrative embodiment includes a brushless DC motor comprising an armature having electric coils disposed relative thereto, a rotor disposed relative the armature and adapted to rotate relative to the armature in response to a commutation sequence of electric signals delivered to the electric coils, a plurality of location sensors located relative the rotor and the armature for sensing when the rotor is at selected angular positions relative to the armature, and control circuitry adapted to capture signals from the plurality of location sensors and to selectively control the commutation sequence. The control circuitry may be adapted to determine a first time at which at least one location sensor indicates a change of rotor position and a second time at which at least one location sensor indicates a next change of rotor position, extrapolate a third time for a next change of rotor position, and interpolate a plurality of time increments between the third time and the second time. The control circuitry may use the extrapolated third time, and the plurality of time increments, to operate as a virtual encoder indicating rotor position. The control circuitry may be further adapted to select or define a time offset, the time offset comprising a number of the time increments. In some embodiments, the time offset may be used to provide a phase advance for use in the commutation sequence. 

   
     BRIEF DESCRIPTION OF THE FIGURES 
       FIG. 1A  illustrates various parts of a typical brushless DC motor; 
       FIG. 1B  shows, in cross section, a portion of a rotor/armature of a brushless DC motor including magnetic driving elements; 
       FIG. 2  is a timing chart for a brushless DC motor; 
       FIG. 3  shows, in block form, a method of operating a brushless DC motor; 
       FIG. 4  is a signal graph showing current lagging voltage when applied to a motor winding; 
       FIG. 5  is a block diagram for an illustrative method embodiment; 
       FIG. 6A  is a timing chart showing an illustrative method of extrapolation of a future position change in a DC brushless motor; 
       FIG. 6B  is a timing chart showing interpolation of time increments after extrapolation of a future position change in an illustrative method; and 
       FIG. 6C  is a timing chart showing the effects of phase advance and correction of extrapolation in an illustrative method. 
   

   DETAILED DESCRIPTION 
   The following detailed description should be read with reference to the drawings. The drawings, which are not necessarily to scale, depict illustrative embodiments and are not intended to limit the scope of the invention. 
   As explained above with reference to  FIGS. 1–3 , a typical brushless DC motor will make use of a plurality of windings disposed on an armature to generate magnetic force causing the rotor to rotate. As shown in  FIG. 4 , signal application to such windings is not ideal. Specifically,  FIG. 4  is a signal graph showing current lagging voltage when applied to a motor winding. Because the winding is inductive, current  52  will lag the voltage signal  50 , such that a voltage applied at a first time  54  will not cause a desired level of current flow until a later time  56 . The time at which magnetic forces reach their maximum is delayed, and is not achieved at an ideal physical juxtaposition of the rotor and armature. Particularly, at higher speeds, efficiency is reduced, causing a reduction in output power. 
   One solution to this dilemma is to introduce a phase advance in the applied voltage. By applying the voltage at an earlier time, the current may be introduced such that magnetic forces between the armature coils and the rotor magnets coincide with physical positions of each that are closer to ideal. Various systems for applying a phase advance range from simple to quite complex. 
   In some more complicated (and, often, expensive) motors, an encoder is coupled to the shaft along with an optical element for reading the encoder. By use of the encoder, the rotor position can be calculated at all times. The use of the encoder then allows for application of sinusoidal driving signals instead of the simple block signals described with reference to  FIGS. 2 and 4 . 
     FIG. 5  is a block diagram for an illustrative method of the present invention. The illustrative method beings with a change in commutator state, as shown at  70 . After the commutator state is changed at  70 , a timer is reset, as shown at  72 . A time for a next Hall effect sensor state change is then estimated. For example, given a first time that has elapsed between two (or more) most recent Hall effect sensor state changes, it may be estimated that a second time, sometimes equal to the first time, will elapse before a next Hall effect sensor state change. 
   Next, a plurality of time increments are created, as shown at  76 . The time increments divide the time between a most recent Hall effect sensor state change and an estimated time for a next Hall effect sensor change. In some embodiments, the time increments may be equally sized, but this is not required. In an illustrative example, eight time increments are created. In other examples, four-to-forty-eight time increments may be defined, though other numbers of time increments may be defined depending upon various factors such as system timer capacity and desired resolution. 
   Next, as shown at  78 , a phase advance is selected. In an illustrative embodiment, the phase advance is selected as an integer number of time increments, but this is not required. The phase advance may vary in amplitude depending upon the speed of the motor, and may vary in sign depending upon the direction the motor is spinning. For example, the following are illustrative for a system in which eight time increments are defined: 
   For Angular Velocity (AV)&lt;−1500 rpm, phase advance=−8 
   For −1500&lt;=AV&lt;−900 rpm, phase advance=−6 
   For −900&lt;=AV&lt;−600 rpm, phase advance=−5 
   For −600&lt;=AV&lt;−300 rpm, phase advance=−4 
   For −300&lt;=AV&lt;−150 rpm, phase advance=−2 
   For −150&lt;=AV&lt;150 rpm, phase advance=0 
   For 150&lt;=AV&lt;300 rpm, phase advance=2 
   For 300&lt;=AV&lt;600 rpm, phase advance=4 
   For 600&lt;=AV&lt;900 rpm, phase advance=5 
   For 900&lt;=AV&lt;1500 rpm, phase advance=6 
   For 1500&lt;=AV, phase advance=8 
   The scales may vary depending on particular device size, structure and performance. After the phase advance is selected, the method waits for the estimated time of change less a time offset calculated from the phase advance, as noted at  80 . When the time of change less the time offset is reached, the method recycles by changing commutator state, as shown at  70 . Alternatively, the method may include providing an interrupt if there is a Hall effect sensor change, as shown at  82 . This may occur, for example, if the motor is accelerating due to an increase in applied voltage. 
     FIG. 6A  is a timing chart showing an illustrative method of extrapolation of a future position change in a DC brushless motor. Outputs are shown for Hall effect sensors A, B, C, with the chart taking into account a current time, t 1 , and showing a past time, t 2 . Times t 1  and t 2  are defined because Hall effect sensors A and C, respectively, changed outputs at those times. An estimated time for a next Hall effect sensor transition, te, is also shown. The predicted or estimated time te is shown occurring after a duration of time, X, that is, in the illustrative example, equal to the duration of time between t 1  and t 2 . If the motor is accelerating or decelerating, this may be accounted for by adjusting the duration of time, X, by decreasing X (if accelerating) or increasing X (if decelerating). 
     FIG. 6B  is a timing chart showing interpolation of time increments after extrapolation of a future position change in an illustrative method. As can be seen, the duration of time, X, from  FIG. 6A  has been divided into a number of time increments  102 . The time increments  102  may be of equal duration, but this is not required. While twelve time increments  102  are shown in  FIG. 6B , any other suitable number of time increments may be defined. 
     FIG. 6C  is a timing chart showing the effects of phase advance and correction of extrapolation in an illustrative method. A number of time increments are shown at  104 , leading up to the estimated time, te, of the next Hall effect sensor transition. A number of time increments  106  have been selected as a time offset to provide phase advance. It can be seen from voltage signal  110  that the voltage applied to one or more of the coils used in the associated electric motor is changed at a time preceeding te by the selected time increments  106 . The result is shown by line  112 , which, schematically, represents the current flow that lags the voltage  110 . Because of the phase advance, the current  112  reaches its maximum level at approximately te. 
   While te was the estimated time of a next Hall effect sensor transition, the actual time of such a transition can be seen at  108 . The use of an estimated time of transition may introduce some error. However, as indicated above in the illustrative method of  FIG. 5 , the error may be reset to zero after each step in the commutation sequence by starting over with a new estimated time of a next Hall effect sensor transition based on previous sensed transitions. 
   The use of the extrapolation and interpolation operates to allow a virtual encoder. Specifically, the rotor position can be “known” or estimated at many positions, rather than just the six commutation cycle positions. This additional data may then be used to provide a sinusoidal driving signal without requiring the expense and mechanical difficulty of adding an encoder and optical or other encoder readers. 
   Those skilled in the art will recognize that the present invention may be manifested in a variety of forms other than the specific embodiments described and contemplated herein. Accordingly, departures in form and detail may be made without departing from the scope and spirit of the present invention as described in the appended claims.