System and method for determining position of hall sensors relative to stator winding of brushless DC or synchronous AC permanent magnet motor

A method is provided for monitoring a motor having a stator, a rotor and a detector. The stator can receive a driving signal to produce a first magnetic field. The rotor can rotate in a circle relative to the stator. The rotor has a magnetic portion that can emit a second magnetic field in a radial direction. The detector can output a detection signal based on the position of the rotor.

BACKGROUND

Multi-phase electric power is a common method for providing alternating current for power generation, transmission and distribution. For example, in three-phase systems, three circuit conductors transmit three alternating currents of the same frequency and differing phase. For a particular phase, the alternating currents of the other two phases are shifted in time by one-third and two-thirds of a cycle, respectively. The differing in the phases of the three alternating currents enables constant transfer of power to a load.

Multi-phase electric power provides efficient transfer of power to multi-phase motors. In general, a multi-phase motor includes a stator (i.e. stationary portion) and multiple rotors (i.e. rotating portion) or includes multiple stators and a rotor. Multi-phase electrical power applied to a multi-phase motor results in current flow traversing the multiple stators of the motor. The current flow traversing the multiple stators results in a magnetic field, which produces magnetic torque on the rotor. The magnetic torque applied to the rotor results in rotation of the rotor.

Some conventional multi-phase motor implementations use rotor location information received from sensors for generating necessary signals for controlling multi-phase motors. Other conventional multi-phase motor implementations use detection of zero voltage crossing points associated with Back Electro Motive Force (BEMF).

Motor100is a multi-phase motor and includes a stator102and a rotor104. Motor100operates as a three-phase motor for converting electrical power to mechanical power. For this example, rotor104is located interior to stator102. Rotor104rotates within stator102, with stator102being stationary. Rotor104includes a magnet106, a magnet107, a magnet108, a magnet109, a magnet110and a magnet111. Magnets106,107,108,109,110and111provide magnetic fields. Stator102includes a first leg112, a second leg114and a third leg116. Legs112,114and116provide magnetic fields. The interoperation of magnets106,107,108,109,110and111with legs112,114and116cause rotor104to rotate within stator102.

For discussion with respect toFIGS. 1A-F, consider rotor104rotating in a clockwise direction.

InFIG. 1A, magnet106is located with respect to first leg112by an angle120also denoted as θ. At this time of the revolution of rotor104, magnet106has not yet reached first leg112.

InFIG. 1C, magnet106is lagging with respect to second leg114by angle120. At this time of the revolution of rotor104, magnet106has not passed second leg114.

InFIG. 1E, rotor104has rotated such that magnet106is lagging with respect to third leg116by angle120. At this time of the revolution of rotor104, magnet106has not passed third leg116.

To efficiently drive motor100, the relative position of rotor104with respect to stator102should be known. This may be accomplished by monitoring the relative location of a single point on rotor104with respect to stator102. For purposes of discussion, consider a point118on rotor104. Knowing the location of point118, with respect to stator102, enables the determination of the location of all other points on rotor104with respect to stator102. Furthermore, determining the location of point118with respect to stator102may aid in controlling the operation of motor100. In particular, motor100may be driven differently for the configuration ofFIG. 1Athan for the configuration in any one ofFIGS. 1B-F.

FIGS. 2A-Fare cross-sectional illustrations for example conventional motor100at different times of operation.

For purposes of discussion, consider the configuration of motor100ofFIG. 2A, wherein rotor104is rotating with an angular velocity, as noted by arrow204, within stator102. At some time, the polarity of the magnetic field provided by stator102should be opposite to that of the magnetic field provided by rotor104so as to “pull” rotor104toward stator102. In this example, magnet106is arranged so as to provide a negative magnetic field radially outward toward stator102. At this time, first leg112is driven so as to provide a positive magnetic field radially inward toward rotor104. An attraction, as noted by an arrow202, results from the opposite magnetic fields presented by magnet106and first leg112. The attraction indicated by arrow202induces rotation of rotor104at the angular velocity, as noted by arrow204.

Rotor104will continue to rotate in a clockwise direction, as shown inFIG. 2B. Similar toFIG. 2A, inFIG. 2Bmagnet106is still arranged so as to provide a negative magnetic field radially outward toward stator102. At this time, first leg112is still driven so as to provide a positive magnetic field radially inward toward rotor104. An attraction, from the opposite magnetic fields presented by magnet106and first leg112, is maintained. The maintained attraction maintains rotation of rotor104at an angular velocity, as noted by an arrow206.

At some time, the polarity of the magnetic field provided by stator102should be reversed to “push” rotor104away from stator102. As shown inFIG. 2C, the polarity of the magnetic field provided by first leg112has switched from a positive magnetic field as described with reference toFIG. 2A-Bto a negative magnetic field. In other words inFIG. 2C, magnet106is still arranged so as to provide a negative magnetic field radially outward toward stator102. However, first leg112is driven so as to provide a negative magnetic field radially inward toward rotor104. The similar magnetic fields provided by first leg112and magnet106create a repulsion, as noted by an arrow208. Repulsion208maintains rotation of rotor104at an angular velocity, as noted by an arrow210.

Rotor104will continue to rotate in a clockwise direction, as shown inFIG. 2D. Similar toFIG. 2C, inFIG. 2Dmagnet106is still arranged so as to provide a negative magnetic field radially outward toward stator102. At this time, first leg112is still driven so as to provide a negative magnetic field radially inward toward rotor104. A repulsion, from the similar magnetic fields presented by magnet106and first leg112, is maintained. The maintained repulsion maintains rotation of rotor104at an angular velocity, as noted by an arrow212.

For proper operation of motor100, switching the polarity of the magnetic field provided by first leg112, for example as described above with respect toFIG. 2C, must be performed at an appropriate time, i.e., at the correct relative position of rotor104with respect to stator102. Accordingly, appropriate switching of magnetic field for first leg112requires an accurate determination of the location and velocity for rotor104with respect to stator102.

FIG. 2Eillustrates an example of improper timing of the switching of the polarity of the magnetic field provided by first leg112. InFIG. 2E, rotor is rotating in a clockwise direction at an angular velocity, as noted by an arrow216. First leg112is driven to provide a radially inward negative magnetic field. Because first leg112is driven in this manner at this time, the radially inward negative magnetic field provided by first leg112repels against the radially inward negative magnetic field provided by magnet106. The repelling similar magnetic fields results in a repulsion, illustrated by arrow214, between first leg112and magnet106. In this example, the relative location of rotor104with respect to stator102may have been incorrectly ascertained resulting in the configuration of the magnetic field for first leg112being switched at an incorrect point in time, resulting in an unpredictable operation of motor100

As shown inFIG. 2Fthe repulsion, illustrated by arrow214, between first leg112and magnet106may result in the undesired termination of rotation for rotor104.

FIGS. 2A-Fillustrate the importance of accurately determining the position and velocity of rotor104(relative to stator102) associated with the operation for a three-phase motor. As the accuracy of the relative position and velocity increases, the more efficiently the three-phase motor may be operated.

FIG. 3illustrates an example cross-section timing selection diagram for determining the position of rotor104with respect to stator102.

Control of motor100may require determining the location of rotor104with respect to stator102, for example by determining the location of point118, at various points in time in order to efficiently and properly drive motor100. An incorrect determination for the location of point118may result in inefficient and improper operation of motor100. For example, if driven improperly, the magnetic fields associated with rotor104and stator102may repel one another as discussed above with reference toFIG. 2Eor rotor104may cease rotating as discussed above with reference toFIG. 2F.

There are many known systems and methods for determining the position and velocity of a rotor, with reference to a stator, in a multi-phase motor. Many deal with detecting the BEMF. However, to detect the BEMF, additional circuitry is required.

What is needed is a system and method for determining the position and velocity of a rotor, with reference to a stator, without relying on the BEMF.

BRIEF SUMMARY

The present invention provides a system and method for determining the position and velocity of a rotor, with reference to a stator, without relying on the BEMF.

In accordance with an aspect of the present invention, a method is provided for monitoring a motor having a stator, a rotor and a detector. The stator can receive a driving signal to produce a first magnetic field. The rotor can rotate in a circle relative to the stator. The rotor has a magnetic portion that can emit a second magnetic field in a radial direction. The detector can output a detection signal based on the position of the rotor. The method includes: driving the motor with the driving signal such that the driving signal has a first amplitude; monitoring the detection signal; determining a first rotor angle θ1of the rotor relative to the stator based on the driving signal having the first amplitude and the detection signal; driving the motor with the driving signal such that the driving signal has a second amplitude; monitoring the detection signal; determining a second rotor angle θ2of the rotor relative to the stator based on the driving signal having the second amplitude and the detection signal; and determining the alignment of the detector relative to the stator based on the first rotor angle θ1and the second rotor angle θ2.

DETAILED DESCRIPTION

In accordance with aspects of the present invention, with a motor having motor position sensors, a system is operable to determine the sensor alignment(s) by driving the motor and does not observe the back-EMF. It therefore has no need for the necessity of being able to disconnect the drive signal, nor have the inputs to measure the back-EMF.

Consider a motor having hall sensors thereon for detecting a relative position of the stator(s) and rotor. Further, consider this motor being driven open-loop, i.e., the voltage waveform causes the magnetic field in the stator to spin in a slow circle without regard to the stator position (this is just a steady-state 3-phase sine wave). It is trivial to do this because the motor controller normally spins the field synchronous to the rotor based on its position. To operate open-loop, it is simply spun in time. There is nothing new or unique about driving a motor open loop. During the open-loop drive, the torque on the rotor is the cross-product between the stator field and the magnetic moment of the permanent magnet. This torque is maximum when the two are at right angles. If the open-loop drive is considerably stronger than needed to overcome the mechanical load on the motor, the rotor will follow behind the rotating field at an angle smaller than 90°. As the rotor spins, it causes the hall sensors to change states. The angle between the rotating field and the rotor is unknown because the precise torque is unknown.

The invention is to solve for this unknown by driving the motor with two different field strengths, but at the same rotation rate. The mechanical torque should be the same between the two conditions because the mechanical rotation is the same. For the stronger field, the angle between rotor and stator will be smaller than for the weaker field. It is possible to analytically solve for the rotor angle from the two measurements.

Consider the instant of time when a particular hall sensor transitions from high to low. This occurs at an unknown rotor angle θm. The field leads it by an unknown angle, but the absolute angle of the field is known because the controller is generating it. The torque is simply the product of drive strength, and a motor constant times the sine of the angle between the two.

It is most convenient to simply use the angle of the drive voltage, which is just the phase of the sinusoidal drive voltage on one of the windings. When the hall edge occurs, a controller records the phase of the voltage that it is driving at that instant. It makes the field spin by ramping this phase up with time, so this information is being generated by the controller itself.

With the low drive strength (small voltage amplitude) applied, the drive phase is recorded at each of the hall sensor's rising and falling edges. Then the higher drive strength is applied at the same spinning rate (i.e. the same frequency) and a second set of phases is recorded. The unknown rotor angle for each hall edge can be solved for from the two phase measurements and the ratio of the drive strengths.

In accordance with a non-limiting example embodiment of the present invention, a motor may be driven at a very low speed such that the phase angle due to the motor inductance is insignificant. By detecting parameters of the motor driven at a very low speed, a parameter β associated with back EMF, may be determined. The parameter β may then be used to determine a location of the detector relative to the stator of the motor.

When driving a motor at a very low speed, the drive strengths and angles would be defined by the stator currents rather than voltages. However, at low speeds the back-EMF and inductive reactance are negligible so the voltages can be used directly.

Because of the slow speed, variations in the torque due to “bumpiness” of the motor bearings etc. produce some residual error in the measured position. In accordance with another aspect of the present invention, it is possible to further improve the measurement by driving the motor at high speed (now that the nominal hall positions are known) and measuring the time between consecutive hall edges. This time (relative to a full revolution time) should be proportional to the difference between the recorded angles of the two hall edges.

In accordance with another aspect of the present invention, the sensor angle that is most incorrect may be determined, and corrected. In particular, the sensor that is early is compared to the previous sensor, whereas the sensor that is late is compared to the next sensor. The sensor with the worst combined earliness and lateness is offset to reduce the combined error by half and the process repeats until each sensor has a very small error. Once this is performed, the rotor angle at each hall edge is known to great precision, without having made any assumptions about their positions to begin with.

In accordance with another non-limiting example embodiment of the present invention, a motor may be driven at high speeds. The parameter β associated with back EMF may alternately be determined by detecting many instances of parameters of the motor driven at high speeds. The parameter β may then be used to determine a location of the detector relative to the stator of the motor. This example embodiment does not have the residual error associated with the “slow driving speed” embodiment discussed above.

Example embodiments of the present invention will now be described with reference toFIGS. 4A-12.

FIGS. 4A-Dare cross-sectional illustrations for an example multi-phase conventional motor100using detectors for determining location information, in accordance with an aspect of the present invention.

A detector402, a detector404and a detector406may be used for determining the location of rotor104with respect to stator102. As a non-limiting example, detector402may be configured as a Hall-effect sensor (Hall sensor).

A plurality of detectors have been illustrated for motor100, however location information may be sufficiently determined using one detector.

A Hall sensor makes use of the Hall effect, whereby a transducer varies its output voltage differential in response to changed in a magnetic field. Applications for Hall sensors include proximity switch, positioning, speed detection and current sensing. A Hall sensor may be configured for digital operation. For example, a digital Hall sensor may present a logic 1 when experiencing a first magnetic field with one directional component and may present a logic 0 when experiencing a second magnetic field with an opposite directional component from the first.

For example, as illustrated inFIG. 4A, detector402presents a logic 1, when experiencing a magnetic field as noted by an arrow408generated by magnet107with a magnet component directed toward detector402.

InFIG. 4B, rotor104has traveled clockwise from the location as illustrated inFIG. 4A. Magnet106is now located opposite detector402and is experiencing a magnetic field noted by an arrow410with a directional component directed away from detector402. Furthermore, as a result of experiencing magnetic field as depicted by arrow410, detector402presents a logic 0.

InFIG. 4C, rotor104is rotating with an angular velocity, as noted by an arrow412. At the moment in time illustrated, detector402has switched from being influenced by the magnet field generated by magnet107and is now experiencing a magnetic field as noted by an arrow414generated by magnet106. Just prior to the time frame as illustrated, detector402experienced a magnetic field generated by magnet107and detector402was presenting a logic 1. At the moment in time as illustrated inFIG. 4C, detector402is now presented with the magnetic field as depicted by arrow414and as a result detector402is presenting a logic 0.

InFIG. 4D, rotor104is rotating with an angular velocity, as noted by arrow412. At the moment in time illustrated, detector402has switched from being influenced by the magnet field generated by magnet108and is now experiencing a magnetic field as noted by an arrow416generated by magnet107. Just prior to the time frame as illustrated, detector402experienced a magnetic field generated by magnet108and detector402was presenting a logic 0. At the moment in time as illustrated inFIG. 4C, detector402is now presented with the magnetic field as depicted by arrow416and as a result detector402is presenting a logic 1.

As illustrated inFIGS. 4C-D, a detector may be used to determine the location of a rotator with respect to stator using a detector, as a detector can be configured to communicate information associated with a transition from receiving a first magnetic field to receiving a second magnetic field with the second having an opposite directional component from the first.

In the manufacture of a motor, the location of a detector may vary from one motor to the next. As a result, the information obtained from a detector may vary from one motor to the next.

For example, inFIG. 4A, detector406is not located midway between first leg112and third leg116, as an angle418, noted as θ418, is smaller than an angle420, noted as θ420. If a user of motor presumes that the detector is located at angle θ418, the actual location of detector406results in inaccurate information associated with the location of rotor104. Furthermore, the inaccurate information may result in improper or inefficient operation of motor100. Furthermore, motor100may experience issues with operation as discussed with respect toFIGS. 2E-F.

Aspects in accordance with the present invention account for an unknown position of a detector, as will now be discussed with reference toFIG. 5.

FIG. 5illustrates an example motor system500, in accordance with an aspect of the present invention.

Motor system500includes motor100, a driver502, a driver504, a driver506, an amplifier508, an amplifier510, an amplifier512and a motor controller513. Each of the elements of motor system500are illustrated as individual devices, however, in some embodiments of the present invention at least two of motor100, driver502, driver504, driver506, amplifier508, amplifier510, amplifier512and motor controller513may be combined as a unitary device.

Motor controller513includes a multiplexer514, a multiplexer516, a phase differential518, an ωt synthesizer519and a processor520. Each of the elements of motor controller513are illustrated as individual devices, however, in some embodiments of the present invention at least two of multiplexer514, multiplexer516, phase differential518, ωt synthesizer519and processor520may be combined as a unitary device.

First leg112is arranged to receive a signal528from amplifier508. Second leg114is arranged to receive a signal532from amplifier512. Third leg116is arranged to receive a signal530from amplifier510.

Multiplexer514is arranged to receive signal528from amplifier508, signal530from amplifier510, and signal532from amplifier512. Multiplexer516is arranged to receive a signal536from detector402, a signal538from detector404and a signal540from detector406. Multiplexer is additionally arranged to receive a signal542from processor520.

Phase differential518is arranged to receive a signal544from multiplexer514and to receive a signal546from multiplexer516. Processor520is arranged to receive a signal548from phase differential518. Driver502is arranged to receive a signal550from processor520. Driver504is arranged to receive a signal552from processor520. Driver506is arranged to receive a signal554from processor520.

The ωt synthesizer519is arranged to receive a signal556from processor520. Processor520is arranged to receive a signal558from ωt synthesizer519.

Amplifier508is arranged to receive a signal522from driver502and a signal521from processor520. Amplifier510is arranged to receive a signal524from driver504and to receive signal521from processor520. Amplifier512is arranged to receive a signal526from driver506and signal521from processor520.

Motor100operates as described with reference toFIGS. 1-4.

Drivers502,504and506generate signals for driving motor100. Furthermore, the phase of each signal generated by drivers502,504and506, respectively, is configurable. A non-limiting example of the type of signals generated by drivers502,504and506includes sinusoidal signals.

An amplifier receives an input signal and amplifies the received signal. In this case, amplifier508receives signal522, amplifies signal522and outputs signal amplified signal522as signal528; amplifier510receives signal524, amplifies signal524and outputs signal amplified signal524as signal530; amplifier512receives signal526, amplifies signal526and outputs signal amplified signal526as signal530. Furthermore, the amplification applied by amplifiers508,510and512may be configurable. In an example embodiment, the amplification applied by amplifiers508,510and512is controlled by processor520via signal521.

A motor controller receives information associated with driving signals and detector signals, and then processes the received information to control amplification for amplifiers and to control the phase offsets for drivers. In this case, motor controller513receives: information associated with driving signals, i.e., signals528,530and532; and receives information associated with detector signals, i.e., signals536,538and540. Motor controller513then processes the received information to: control amplification for amplifiers, i.e.,508,510and512via signal521; and control the phase offsets for drivers, i.e., drivers502,504and506via signals550,552and554, respectively.

A more detailed operation of motor controller513will now be provided with respect to the individual devices therein.

A multiplexer receives multiple input signals and selects one signal for output based on a selection/control signal. In this case, multiplexer514receives signals528,530and532and selects one signal for output as signal544. Signal selection for multiplexer514is configured via a signal534. Multiplexer514receives signal534from processor520for controlling selection of signals528,530and532. Multiplexer516receives signals536,538and540and selects one signal for output as signal546. Signal selection for multiplexer516is configured via signal542. Multiplexer516receives signal542from processor520for controlling selection of signals536,538and540.

A phase differential performs a phase differential calculation between two received signals. In this case, phase differential518performs a phase differential calculation between signal544and signal546and outputs the results as signal548.

The ωt synthesizer519synthetically generates an ωt signal. The synthetically generated ωt signal is an approximate value for the actual ωt for motor system500.

Processor520receives and processes signals for generation of signals to control the operation of motor system500. In particular, processor520receives and processes signal548to control: driver502via signal550; driver504via signal552; driver506via signal554; amplifiers508,510and512via signal521.

Signal550controls the phase of signal522as generated by driver502. Signal550controls the amount and direction for shifting a sinusoidal signal as generated by driver502. For example, signal550may shift the phase of signal522by 1 degree or by −1 degree. Signal552controls the phase of signal524as generated by driver. For example, signal552may shift the phase of signal524by 1 degree or by −1 degree. Signal554controls the phase of signal526as generated by driver. For example, signal554may shift the phase of signal524by 1 degree or by −1 degree. Signal521controls the amplification for amplifier508,510and512. For example, signal521may configure the peak voltages as produced by amplifiers,508,510and512to 2 Volts.

Signals522,524and526generated by drivers502,504and506, respectively, are nominally generated at a phase differential of 120°.

Amplifiers508,510and512initiate amplification of received signals for supplying amplified signals to first leg112, second leg114and third leg116, respectively. Motor100receives driving signals and converts electrical power into a magnet fields associated with first leg112, second leg114and third leg116. Magnetic fields generated by first leg112, second leg114and third leg116function to magnetically attract or repel the magnets associated with rotor104.

As a result of the magnetic attraction and repulsion, rotor104rotates thereby converting electrical power into mechanical power. Motor100rotates as an angular velocity governed by the frequency of the signals as generated by drivers502,504and506. As rotor104rotates, detectors402,404and406detect the transitions of magnetic fields generated by the magnets associated with rotor104. As detectors402,404and406detect a transition for a received magnetic field, the signals supplied by detectors402,404and406transition from logic 0 to logic 1 and vice-versa.

Phase differential518determines a phase differential between signal544and signal546. Phase differential518then provides the determined phase differential to the phase differential to processor520as signal548.

The ωt synthesizer519receives configuration information from processor520via signal556for generating a synthetic wt. The synthetic ωt is then provided to processor520via signal558.

Processor520receives and stores phase differential information in order to perform calculations at a later time. Processor520is additionally operable to modify the selection for multiplexers514and516for other legs and sensors of motor100. Still further, processor520is operable to modify the amplification of amplifiers508,510and512via signal521. Still further, processor520is operable to configure ωt synthesizer519and receive a synthetic ωt via signal558.

Processor520repeats the process as described before for selection of multiplexers514and516and receives and stores phase differential information for the modified amplification of amplifiers508,510and512. Processor520is additionally operable to perform calculations for the received differential information and determines the physical location of detectors402,404and406.

Based upon the location of detectors402,404and406, processor520determines the amount of phase offset, if any, to be supplied to drivers502,504and506via signals550,552and554, respectively.

As discussed for detector406with respect toFIG. 4, the physical location for a detector may vary from fabrication of one motor to the next and as a result experience negative consequences associated with the operation of a motor. Motor system500enables the determination for the location of the detectors associated with a motor. Furthermore, motor system500provides for modification of the operation of the system to accommodate for the location of the detectors. Further detailed discussion for the operation of motor system500will be presented in the following paragraphs.

FIG. 6A-Bis a graph600of waveforms illustrating operation of a motor, in accordance with an aspect of the present invention.

Graph600includes a y-axis602in Volts, and an x-axis604, in milliseconds.

Graph600includes a waveform606, a waveform608, a waveform610and a waveform612.

As shown inFIG. 6A, waveform606illustrates a sinusoidal signal as driven by one of amplifier508(described above with reference toFIG. 5), amplifier510or amplifier512. For example, when amplifier508provides waveform606, amplifier510would provide a sinusoidal signal 120° out of phase from waveform606, whereas amplifier512would provide a sinusoidal signal 240° out of phase from waveform606.

Waveform606initiates a sinusoidal cycle at a time614with a magnitude denoted as a voltage609or as V1. At a time616, waveform606transitions to the second half of the sinusoidal cycle. At a time618, waveform606completes a sinusoidal cycle.

Waveform608illustrates a digital signal as generated by a detector associated with motor100, e.g. one of detector402(discussed above with reference toFIG. 4), detector404or detector406.

Waveform608initiates as a logic 0 at time614. At a time620, waveform608transitions to a logic 1. At a time622, waveform608transitions to a logic 0. At a time624, waveform608transitions to a logic 1.

For waveform608, the timeframe from just after time620to just prior to time622was discussed with reference toFIG. 4A. Furthermore, the timeframe from just after time622to just prior to time624was discussed with reference toFIG. 4B; the timeframe from time620to just past time620was discussed with reference toFIG. 4C; and the timeframe from time622to just past time622was discussed with reference toFIG. 4D.

The time, as denoted by a phase differential625, from waveform606transitioning to the second half of the sinusoidal cycle, or time616, and the time at which waveform608transitions from logic 1 to logic 0, or time622, may be represented as the phase difference between waveform606and waveform608. Returning toFIG. 5, the phase differential625, is the calculation performed by phase differential518and provided to processor520as signal548.

As presented inFIG. 6B, waveform610initiates a sinusoidal cycle at time614with a magnitude denoted as a voltage613or as V2. At time616, waveform606transitions to the second half of the sinusoidal cycle. At time618, waveform606completes a sinusoidal cycle.

Waveform610has the same timing signature as waveform606, however, waveform610has a larger magnitude, as the peak voltage for waveform610, V2, is larger than the peak voltage, V1, for waveform606. The larger difference in voltage between waveform606and610is controlled by processor520via signal521.

Waveform612initiates as a logic 0 at time614. At a time626, waveform612transitions to a logic 1. At a time628, waveform612transitions to a logic 0. At a time630, waveform612transitions to a logic 1.

As demonstrated, increasing the voltage for the sinusoidal signal applied to the motor, shifted the timing of waveform612as compared to waveform608. Furthermore, the phase difference between the driven sinusoid and the detector signal has decreased and is denoted as a phase differential632.

FIG. 6A-Billustrate how the timing for a detector associated with a motor may be modified by changing the magnitude of the sinusoidal signals driving the motor. As will be described in the discussion below, the ability to modify the voltage of the driving sinusoidal signals for a motor and subsequently measuring the resulting change in the timing for a detector enables the determination for the physical location of the detector.

FIG. 7is a graph700of waveforms illustrating operation of a motor, in accordance with an aspect of the present invention.

Graph700includes a waveform708, a waveform710, a waveform712, a detector waveform714, a detector waveform716, a detector waveform718and an accumulator waveform720.

With additional reference toFIG. 1, Waveform708, waveform710and waveform712represent the winding voltages for first leg112, second leg114and third leg116, respectively. The voltages for waveforms708,710and712correspond to y-axis702.

With additional reference toFIG. 4, detector waveform714, detector waveform716and detector waveform718represent the voltages of detector signals for detector402, detector404and detector406, respectively. The voltages for detector waveforms714,716and718correspond to y-axis702.

Accumulator waveform720represents the angle of the phase accumulator associated with the motor control used for generating the sinusoidal signals of waveforms708,710and712. The angles for accumulator waveform720correspond to y-axis702

For the conditions of graph700with a peak driving voltage of 1 Volt applied to the motor windings, the rising edge of detector waveform714occurs when accumulator waveform720is at 8°.

As the peak driving voltage of the winding voltages is increased, the timing of detector waveforms714,716and718, would shift slightly to the left for graph700. Furthermore, the rising edges for detector waveforms714,716and718would also have different accumulator angles.

For a typical implementation of three detectors, with each having a rising edge and falling edge, six discrete rotor positions may be identified.

FIG. 7illustrates how the timing and phase information for detectors associated with a motor may be modified by changing the magnitude of the sinusoidal signals driving the motor. As will be further described in the discussion below, the ability to modify the voltage of the driving sinusoidal signals for a motor and subsequently measuring the resulting change in the timing for a detector enables the determination for the physical location of the detector. Further background information associated with the operation of a motor will be discussed with reference toFIGS. 8-10.

FIG. 8A-Bis an example phasor diagram800illustrating operation for a motor, in accordance with an aspect of the present invention.

Phasor diagram800includes a y-axis802in units of magnitude, an x-axis804in units of magnitude.

As illustrated inFIG. 8A, phasor diagram800includes a back EMF vector806also denoted as VB, a winding voltage vector808also denoted as VA, a rotor magnetic moment vector810also denoted as M, a winding current vector812also denoted as I, a winding resistance voltage vector814also denoted as IR, a winding inductance voltage vector816also denoted as IjωL, and a voltage vector818also denoted as IZ.

Voltage vector818is a voltage vector representing the portion of the voltage across the motor winding that is not back-EMF. Furthermore, voltage vector818is the sum of the voltage across the winding resistance and the voltage across the winding inductance.

Vectors in phasor diagram800rotate in a counter-clockwise circle at a frequency of ω.

FIG. 8Arepresents a snapshot for when the phase associated with winding voltage vector808is zero.

Back EMF vector806represents the back EMF for the motor. When applying a voltage to create a current, a motor's armature may begin to rotate and as a result a certain amount of electro motive force generated by the rotating magnetic field. Furthermore, this amount of electro motive force may be denoted as the back EMF. For a motor using a rotating armature in the presence of a magnetic flux, the coil conductors of the motor transition through the magnet field lines as the motor rotates. The changing field strength produces voltages in the coils, which may be considered as the motor operating in a similar manner as a generator, or also may be considered as the voltage produced from the back EMF opposing the originally applied voltage.

Winding voltage vector808represents the voltage applied to a winding for a leg of the motor (e.g. first leg112(FIGS. 1-5)). Rotor magnetic moment vector810represents the magnet moment for a motor. Winding current vector812represents the current traversing a winding for a leg of the motor (e.g. first leg112). Winding resistance voltage vector814represents the voltage associated with the resistive portion of the winding for a leg of the motor (e.g. first leg112). Winding inductance voltage vector816represents the voltage associated with the inductive portion of the winding for a leg of the motor (e.g. first leg112). Voltage vector818is a voltage vector representing the portion of the voltage across the motor winding that is not back-EMF. Furthermore, voltage vector818is the sum of the voltage across the winding resistance and the voltage across the winding inductance.

As may be observed, winding voltage vector808equals the sum of winding resistance voltage vector814, winding inductance voltage vector816and back EMF vector806.

Furthermore, as may be observed, voltage vector818equals the sum of winding inductance voltage vector816and winding resistance voltage vector814.

An angle820, also denoted as βn, represents the phase angle associated with back EMF vector806. An angle822, also denoted as n, represents the phase angle associated with winding current vector812. An angle824, also denoted as δ, represents the phase angle associated with the inductive voltage of the winding. An angle825, also denoted as γn, represents the angle (lag) the rotor magnetic moment vector810behind the winding current vector812.

Angle820and angle822are measured with respect to an arbitrary reference. For this example, angle820and angle822are measured when winding voltage vector808crosses x-axis804.

It is possible to calculate δ and (the magnitude of) VB, however it is not possible to calculate βnand n, intermediary variables used for determining the location of the back-EMF voltage vector, as there are too many unknowns for the number of available equations. β, indicates where the sensor is physically located with respect to the stator windings. βn, is an intermediary used to find β

FIG. 8Billustrates operation for a motor wherein the voltage applied is less than sourced as discussed with reference toFIG. 8A.

A winding voltage vector826, also denoted as V2, represents a reduced voltage applied to a winding for a leg of the motor (e.g. first leg112) as compared toFIG. 8A. The voltage associated with winding voltage vector826is greater than the voltage required to drive the load at the same speed as per the conditions as described with reference toFIG. 8A.

FIG. 8Brepresents a snapshot for when the phase associated with winding voltage vector826is zero.

A winding current vector828, also denoted I2, represents a reduced current traversing a winding for a leg of the motor (e.g. first leg112), as compared toFIG. 8A. A winding resistance voltage vector830, also denoted as Ir2, represents a reduced voltage associated with the resistive portion of the winding for a leg of the motor (e.g. first leg112), as compared toFIG. 8A. A winding inductance voltage vector832, also denoted as IjωL2, represents a reduced voltage associated with the inductive portion of the winding for a leg of the motor (e.g. first leg112), as compared toFIG. 8A. A voltage vector834, also denoted as IZ2, represents reduced power applied to the winding for a leg of the motor (e.g. first leg112), as compared toFIG. 8A.

As may be observed, winding voltage vector826equals the sum of winding resistance voltage vector830, winding inductance voltage vector832and back EMF vector806.

An angle836, also denoted as β2, represents a modified phase angle associated with back EMF vector806, as compared toFIG. 8A. An angle838, also denoted as 2, represents a modified phase angle associated with winding current, as compared toFIG. 8A. An angle840, also denoted as γ2, represents a modified angle associated with the rotor magnetic moment vector810lagging behind the winding current, as compared toFIG. 8A.

The applied voltage associated with winding voltage vector826, V2, is less than winding voltage vector808(FIG. 8A). The reduced applied voltage results in a smaller current associated with winding current vector828, I2.

In order for rotor104to maintain a constant torque, rotor magnetic moment vector810lags further behind winding current vector828resulting in a larger angle associated with angle840than that of angle825as described with reference toFIG. 8A.

FIG. 9is an example phasor diagram900illustrating operation of a motor with application of two different winding voltages, in accordance with an aspect of the present invention.

FIG. 9combines the elements ofFIG. 8AandFIG. 8Binto a single illustration. The capture reference forFIG. 9is different than forFIGS. 8A-B.FIGS. 8A-Bare captured when the applied voltage (e.g. winding voltage vector808as described with reference toFIG. 8Aand winding voltage vector826as described with reference toFIG. 8B.) is in phase or parallel with x-axis804.FIG. 9is captured when the detector (e.g. detector402as described with reference toFIG. 4) detects and signals an example event.

Phasor diagram900includes a y-axis902in units of magnitude, an x-axis904in units of magnitude.

Phasor diagram900includes a back EMF vector906also denoted as VB, a first winding voltage vector908also denoted as V1, a rotor magnetic moment vector910also denoted as M, a first winding current vector912also denoted as I1, a first winding resistance voltage vector914, a first winding inductance voltage vector916, a first voltage vector918, a second winding voltage vector926also denoted as V2, a second winding current vector928, also denoted as I2, a second winding resistance voltage vector930, a second winding inductance voltage vector932and a second voltage vector934.

Vectors in phasor diagram900rotate in a counter-clockwise circle at a frequency of ω.

Back EMF vector906represents the back EMF for the motor. First winding voltage vector908represents the voltage applied to a winding for a leg of the motor (e.g. first leg112). Rotor magnetic moment vector910represents the magnet moment for a motor. First winding current vector912represents the current traversing a winding for a leg of the motor (e.g. first leg112). First winding resistance voltage vector914represents the voltage associated with the resistive portion of the winding for a leg of the motor (e.g. first leg112). First winding inductance voltage vector916represents the voltage associated with the inductive portion of the winding for a leg of the motor (e.g. first leg112). First voltage vector918represents the power applied to the winding for a leg of the motor (e.g. first leg112).

As may be observed, first winding voltage vector908equals the sum of first winding resistance voltage vector914, first winding inductance voltage vector916and back EMF vector906.

Furthermore, as may be observed, second winding voltage vector926equals the sum of second winding resistance voltage vector930, second winding inductance voltage vector932and back EMF vector906.

An angle920, also denoted as β1, represents the phase angle associated with back EMF vector906. An angle921, also denoted as θ1, represents the instantaneous phase for V1when a detector switches from driving logic 1 to logic 0. An angle922, also denoted as 1, represents the phase angle associated with first winding current vector912. An angle925, also denoted as γ1, represents the angle the rotor magnetic moment vector910lags behind the first winding current vector912.

Second winding current vector928, also denoted I2, represents an increased current traversing a winding for a leg of the motor (e.g. first leg112), as compared to first winding current vector912. Second winding resistance voltage vector930, represents an increased voltage associated with the resistive portion of the winding for a leg of the motor (e.g. first leg112), as compared to first winding resistance voltage vector914. Second winding inductance voltage vector932, represents an increased voltage associated with the inductive portion of the winding for a leg of the motor (e.g. first leg112), first winding inductance voltage vector916. Second voltage vector934, represents increased power applied to the winding for a leg of the motor (e.g. first leg112), first voltage vector918.

An angle936, also denoted as β2, represents a modified phase angle associated with back EMF vector806, as compared to angle920. An angle937, also denoted as θ2, represents the instantaneous phase for V2when a detector switches from driving logic 1 to logic 0. An angle938, also denoted as 2, represents a modified phase angle associated with winding current, as compared to angle922. An angle940, also denoted as γ2, represents a modified angle associated with the rotor magnetic moment vector810lagging behind the winding current, as compared to angle925.

Phasor diagram900represents a snapshot for the operation of a motor at the occurrence of a detector switching from logic 1 to logic 0. Furthermore, phasor diagram900represents a snapshot of two differing conditions for the motor. For the first condition, a voltage, V1, is applied to the winding of the motor and for the second condition a larger voltage, V2, is applied to the winding of the motor.

A point942, associated with rotor magnetic moment vector910, represents a condition for the switching of the detector from logic 1 to logic 0 as discussed previously with respect toFIGS. 4C-D.

As illustrated, back EMF vector906, VB, is in the same position regardless of the voltage applied to the motor windings.

An angle944, also denoted as β, represents the phase angle associated with back EMF vector906or VB. Angle944may also be characterized as θ1+β1and also θ2+β2. Angle944or β will be discussed in more detail in the following paragraphs.

FIG. 10is a schematic diagram for an example three-phase motor system1000, in accordance with an aspect of the present invention.

Driver1004provides a sinusoidal signal with a frequency of w, a phase of zero degrees, a peak voltage of V1and a current of I1. Driver1004may further be characterized by Equation (1) shown below:
V1cos(ωt+0)  (1)

Driver1006provides a sinusoidal signal with a frequency of ω, a phase of −120 degrees, a peak voltage of V1and a current of I2. Driver1006may further be characterized by Equation (2) shown below:
V1cos(ωt−120°)  (2)

Driver1008provides a sinusoidal signal with a frequency of ω, a phase of +120 degrees, a peak voltage of V1and a current of I3. Driver1008may further be characterized by Equation (3) shown below:
V1cos(ωt+120°)  (3)

Motor100includes a first leg1010, a second leg1012and a third leg1014.

First leg1010, second leg1012and third leg1014schematically represent the windings for motor100. First leg1010includes an inductive portion1016, a back EMF portion1018and a resistive portion1020. Second leg1012includes an inductive portion1022, a back EMF portion1024and a resistive portion1026. Third leg1014includes an inductive portion1028, a back EMF portion1030and a resistive portion1032.

Inductive portion1016, inductive portion1022and inductive portion1028are a result of the inductance associated with the windings of motor100. Resistive portion1020, resistive portion1026and resistive portion1032are a result of the resistance associated with the windings of motor100. Back EMF portion1018, back EMF portion1024and back EMF portion1030are a result of the back EMF induced from the operation of motor100.

A first terminal of driver1004connects to ground potential. A second terminal of driver1004connects to a first terminal of inductive portion1016. A second terminal of inductive portion1016connects to a first terminal back EMF portion1018. A second terminal of back EMF portion1018connects to a first terminal of resistive portion1020. A second terminal of resistive portion1020connects to a point1034.

A first terminal of driver1006connects to ground potential. A second terminal of driver1006connects to a first terminal of inductive portion1022. A second terminal of inductive portion1022connects to a first terminal back EMF portion1024. A second terminal of back EMF portion1024connects to a first terminal of resistive portion1026. A second terminal of resistive portion1026connects to point1034.

A first terminal of driver1008connects to ground potential. A second terminal of driver1008connects to a first terminal of inductive portion1028. A second terminal of inductive portion1028connects to a first terminal back EMF portion1030. A second terminal of back EMF portion1030connects to a first terminal of resistive portion1032. A second terminal of resistive portion1032connects to point1034.

Back EMF portion1018is characterized by a sinusoidal signal with a frequency of ω, a peak voltage of VBand a phase of β also noted as angle944described with reference toFIG. 9. Back EMF portion1018may further be characterized by Equation (4) shown below:
VBcos(ωt+β)  (4)

Back EMF portion1024is characterized by a sinusoidal signal with a frequency of ω, a peak voltage of VBand a phase of β−120°. Back EMF portion1024may further be characterized by Equation (5) shown below:
VBcos(ωt+β−120°)  (5)

Back EMF portion1030is characterized by a sinusoidal signal with a frequency of ω, a peak voltage of VBand a phase of β+120°. Back EMF portion1030may further be characterized by Equation (6) shown below:
VBcos(ωt+β+120°)  (6)

As discussed previously with respect toFIG. 9, angle921or θ1represents the value of ωt when a detector edge occurs.

As an example, the instant a detector edge occurs, the voltage for driver1004would be given by V1cos(θ1). Furthermore, processor520(FIG. 5) is able to digitally synthesize a value for ωt, so processor520is able to determine the voltage for driver1004when ωt is equal to θ1.

An Equation (7) may be derived for γ1also noted as angle925(FIG. 9) as shown below:

The maximum efficiency (i.e. least electrical power provided for realizing maximum mechanical power) is achieved when the current is in phase with the back EMF at the occurrence of a detector edge which is when the driven current has a phase as given by Equation (8) shown below:
Best=π/2−1−γ1(8)

The variable Best may be visualized inFIG. 9as occurring when the winding current vector (e.g. first winding current vector912) is in phase or parallel with back EMF vector906.

However, performance of Equation (8) requires either a current measurement circuit or an atypical drive circuit. The present invention does not require measurement of current, but rather operates based on voltage.

For a voltage driven system, the maximum efficiency occurs when the winding current is in phase with the back EMF at the occurrence of a detector edge and may be achieved when the phase for VA(FIG. 9) conforms to Equation (9) as shown below:

The variable β represents the angular location when a detector event occurs as represented by angle944as described with reference toFIG. 9. The variable VBrepresents the magnitude back EMF vector906, which corresponds to angle944.

The variable best may be visualized inFIG. 9as when the winding current vector (e.g. first winding current vector912or second winding current vector928) is in phase or parallel with back EMF vector906.

An Equation (10) for β+δ may be derived as shown below:

Equation (10) may be rearranged to form Equation (11) as shown below:

The variable β represents the angular location of the detector when a detector event occurs as represented by angle944as described with reference toFIG. 9. The variable L represents the inductance of the motor winding. The variable V1represents a first applied voltage. The variable V2represents a second applied voltage. The variable 1 represents a first measured angle. The variable 2 represents a second measured angle. The value of δ may be determined if the equation is plotted vs. ω. Further, it is true that δ=tan−1(ωL/r) and if L and r are known for the motor, then δ can be determined from equation (11). However δ is independent of the sensor position. In accordance with aspects of the present invention, δ may additionally be determined by rotating the motor without knowing L, r or ever measuring the motor current. The variable r represents the resistance of the motor winding. Plotting Equation (10) or Equation (11) versus ω enables determination of δ without knowing motor resistance, r, and/or motor inductance, L. The value for VB(e.g. back EMF vector906as described with reference toFIG. 9) is found from the motor constant and is illustrated by Equation (12) shown below:
VB=ωkM(12)

The variable ω in Equation (12) represents the angular frequency of the drive signal which controls the speed of the motor. The parameter kMrepresents the motor constant. The motor constant, kM, is a figure of merit used to compare the relative efficiencies of different motors. It may be referred to as the “back-emf constant” and is the ratio of back-emf to motor angular-velocity, which is also equal to the ratio of motor torque to winding current. A higher value of kMmeans the motor can produce more force for a given amount of power lost. The parameter kMis provided by the motor manufacturer or may be derived if all the mechanical characteristics of the motor are known.

By measuring β+δ at different speeds. As a non-limiting example, β+δ is measured at a minimum of two speeds in order to determine the location of a detector.

The ratio of L/r can be found for sin(δ) for an optimal phase for a plurality of speeds and drive strengths.

FIG. 10is a schematic diagram for an example three-phase motor system wherein a motor may be driven at varying voltages and speeds for determining an amount of phase shift to apply to the driving signals such that the motor operates efficiently.

FIG. 11is a graph1100of waveforms illustrating operation of a motor, in accordance with an aspect of the present invention.

Graph1100includes a y-axis1102in degrees and an x-axis1104in Revolutions Per Minute (RPM).

Phase-A waveform1106initiates at an x-axis and a y-axis of zero and increases linearly. Phase-B waveform1106follows a slightly curved inverse tangent function, as will be described in more detail below with reference to equation (13). Furthermore, phase-A terminates at an x-axis value of 15000 RPM and a y-axis value of approximately 30 degrees.

Phase-B waveform1108initiates at an x-axis value of zero and a y-axis value of approximately −55 degrees, and increases nearly linearly. Phase-B waveform1108follows a slightly curved inverse tangent function, as will be described in more detail below with reference to equation (13). Furthermore, phase-B terminates at an x-axis value of 15000 RPM and a y-axis value of approximately −25 degrees.

The points associated with phase-A waveform1106are the β+δ found from Equation (10) for the rising edge of a first detector (e.g. detector402ofFIG. 4) with two different driving speeds. The points associated with phase-B waveform1108are the β+δ found from Equation (10) for the rising edge of a second detector (e.g. detector404ofFIG. 4) with two different driving speeds.

As an example, at 2,628 RPM the motor was first driven with a 2 Volt amplitude and the driving phase at the falling edge of first detector was observed at −122.14 degrees. The amplitude of the signal was subsequently modified to 2.5 Volt and the observed driving phase at the falling edge of a third detector changed to −125.86 degrees. From these measurements, β+δ was calculated as −50.29 degrees denoted as a point1110on graph1100.

The various data points sampled at various speeds were then fit to the Equation (13) shown below:
β+δ=β+tan−1(ωL/r)  (13)

Sampling the data points as described in the previous paragraph enables determination of β as the value of β+δ project for ω equal to zero. Furthermore, the ratio of the motor winding inductance to winding resistance (L/r) can also be determined. Furthermore, this may be performed for a multiplicity of phases.

Once the calibration has been performed, the motor is no longer driven open loop, but instead driven using the optimal phase angle information determined from the calibration data.

FIG. 11is a graph of waveforms illustrating operation of a motor for an example three-phase motor system wherein a motor may be driven at varying voltages and speeds for determining an amount of phase shift to apply to the driving signals such that the motor operates efficiently.

FIG. 12illustrates an example method1200for determining the location of detectors for improving the operation of a motor, in accordance with an aspect of the present invention.

Method1200starts (S1201) and power is applied to the motor (S1202). In an example embodiment, with additional reference toFIG. 5, drivers502,504and506are enabled for operation. Motor100is allowed to operate open loop, i.e. the signals550,552and554do not adjust the phase offset for drivers502,504and506.

Then the motor is allowed to reach a steady state condition (S1204). For example, for steady state conditions, the revolution speed for motor100has reached a constant and there are no dynamic changes associated with the operation of motor100.

The phases of the voltages (and/or the currents) are then recorded for detector trip points (S1206). For example, with reference toFIG. 5, for detector402, processor520configures multiplexer516for selecting signal536. Furthermore, processor520configures multiplexer514to select signal528associated with driving first leg112. When processor520detects a trip point via signal542, processor520determines phase information via signal548. Processor520stores received information for later retrieval.

The amplitudes of the driving signals are then modified (S1208). For example, typically, the amplitude of the driving signals is increased in order to prevent the driving voltage from dropping below the back EMF voltage. The amplification of amplifiers508,510and512are modified via signal521originating from processor520. As a result, the amplitude of signals528,530and532are modified.

The motor is then allowed to reach a steady state condition (S1210). For example, for steady state conditions, the revolution speed for motor100has reached a constant and there are no dynamic changes associated with the operation of motor100.

The phases of the voltages (or the currents) then are recorded for detector trip points (S1212). For example, similar to that described above, for detector402, processor520configures multiplexer516for selecting signal536. Furthermore, processor520configures multiplexer514to select signal528associated with driving first leg112. When processor520detects a trip point via signal542, processor determines phase information via signal548. Processor520stores received information for later retrieval.

Calculations are then performed for optimal drive signal phases with the results being stored for later retrieval (S1214). For example, calculations are performed as described with reference toFIGS. 8-11.

It is then determined whether the calibration process is to be repeated (S1216).

If the calibration process is to be repeated, then power is applied to the motor (S1202) and the process repeats.

If the calibration process is not to be repeated, then the final calculated phase information is used to adjust the phases of the driving signals (S1218). For example, processor520adjusts the phases of drivers502,504and506based on the phase information determined from the calculations performed and stored previously. As a result of the phase adjustments, the signals applied to first leg112, second leg114and third leg116enable efficient operation of motor100. Method1200then stops (S1220).

FIG. 12illustrates an example method for determining the location of detectors for improving the operation of a motor by driving the motor at varying voltages and speeds for determining an amount of phase shift to apply to the driving signals such that the motor operates efficiently.

In accordance with another aspect of the present invention, phase measurements of a sensor may be averaged over many revolutions. In particular, a motor may have hundreds of revolutions per minute. As such, a detector system in accordance with an aspect of the present invention may determine hundreds of slightly different sensor locations, corresponding to the hundreds of revolutions. Accordingly, the plurality of determined locations may be used to calculate and average location of a sensor, wherein the single averaged location is likely a better approximation of the actual location of the sensor.

In accordance with another aspect of the present invention, a phase may be measured for a sensor at a plurality of speeds. A curve may then be fit to the measured phase-vs-speed. Once determined, an optimal phase may be determined from the fitted curve. Furthermore, a motor may behave differently for the different rotations. Accordingly, this optimization measured phase-vs-speed curve may be performed for each sensor in each direction of rotation.

In accordance with another aspect of the present invention, motor may be driven at many speeds and corresponding sensor signals may be detected. The detected sensor signals may be used to derive a look-up table. The look-up table may then be used to interpolate sensor signals, and thereby corresponding sensor positions, based on additional driving speeds.

In accordance with another aspect of the present invention, a motor may be driven at many speeds and corresponding sensor signals may be detected. A least-squares fit of the speed-dependent data may then be used to estimate motor electrical parameters.

The positioning of sensors in a motor is not exact and their angle with respect to the stator is subject to some misalignment. There is also variation in how far apart the separate sensors are spaced, which may not be exactly 120° (in a three-phase motor). These inaccuracies contribute to non-ideal drive conditions which reduce efficiency, speed and power available from the motor. It is possible to adjust the drive signal to match the actual phase of the rotor if it is known precisely. Sometimes a high-resolution shaft encoder is used for this purpose.

The present invention determines sensor positions by driving the motor at two different speeds and does not observe the back-EMF. It therefore has no need for the necessity of being able to disconnect the drive signal, nor have the inputs to measure the back-EMF.

Contrary to the present invention, in a conventional system, the hall sensor alignment is normally performed by spinning the motor with an external mechanical force and observing the phase of the back-EMF on the stator windings with respect to the hall sensors. When operated as a motor, the back-EMF is not usually directly observable because a voltage is being applied to the stator windings that would interfere with the measurement. With the conventional system however, the precise location of the hall sensors could be determined by observing the back-EMF of a spinning, but un-powered motor.