# Patent

## Title
Hall sensor alignment for BLDC motor

## Abstract

A technique for determining an alignment error of a Hall sensor location in a brushless DC motor drive, by measuring the back EMF waveform, preferably while the motor is coasting. According to the technique, an angular offset is calculated between a selected BEMF waveform and a selected Hall signal. Such offsets are preferably calculated for each phase individually. The offsets may be advantageously stored in the motor control unit and used to adjust the output motor control signals for maximum torque.

## Background
CROSS REFERENCE TO RELATED APPLICATION
The present application is based upon and claims priority of U.S. Provisional Application Ser. No. 60/579,037 filed Jun. 11, 2004, incorporated by reference in its entirety.


BACKGROUND OF THE INVENTION
The present invention relates to a brushless DC motor drive, and more particularly to a method and system for determining an alignment error of a Hall sensor in such a drive, advantageously for optimizing the location of the Hall sensor.
Brushless DC motor drives commonly use Hall-effect sensors to determine rotor position. The Hall sensors sense the magnetic field of a magnet on the rotor, and produce a digital pattern indicating the rotor position in one of 6 possible sectors. Errors are introduced due to the relative mechanical locations of the Hall sensor and the magnet, the resolution and accuracy of the sensor, the pole width of the sense magnet, and the physical relationship between the sense magnet and the rotor. Because of these potential sources of error, the position measured by the Hall sensors may not exactly match the real rotor position. This position error can cause generation of lower torque at a given current.
SUMMARY OF THE INVENTION
To address and avoid these potential sources of error, a technique has been developed to determine an alignment error of a Hall sensor location in a brushless DC motor drive, by measuring the back EMF waveform preferably while the motor is coasting.
The technique is characterized in that an angular offset is calculated between a selected BEMF waveform and a selected Hall signal. Such offsets are preferably calculated for each phase individually. The offsets may be advantageously stored in the motor control unit and used to adjust the output motor control signals for maximum torque.
The disclosed techniques have been tested and found to give good results substantially independent of changes in speed.
Other features and advantages of the present invention will become apparent from the following description of embodiments of the invention which refers to the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram of a circuit arrangement for practicing the invention,
FIG. 2 is a graph illustrating generically a phase offset of the type to be measured,
FIG. 3 is a graph illustrating an analysis of Phase U Hall signals and Phase U back EMF (BEMF) signals according to an embodiment of the invention,
FIG. 4 is a graph showing a Phase W Hall signal and a Phase U BEMF signal,
FIG. 5 illustrates a calculating method usable thereon,
FIG. 6 is a graph showing a Phase W Hall signal and a Phase W BEMF signal, and
FIG. 7 illustrates a calculating method usable thereon.



DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
A technique has been developed whereby an external unit which can control the BLDC motor under test, and which has electrical access to the motor phase voltages, can measure and indicate how to correct the Hall alignment.
An example of such an arrangement is shown in FIG. 1, comprising a PC 10, a communication converter 12, a motor with an electronic control unit (ECU) 14 and a power supply 16. In an example of a test procedure, the PC controls the communication converter to start Hall alignment. The communication converter controls the ECU to run the motor at a selected speed and to enter Hall alignment mode. Then the ECU stops the motor drive, allowing the motor to coast, and the communication converter begins sensing the Hall and BEMF signals over the lines 18 and the lines CANH/CANL. The communication converter calculates a phase advance if needed to correct a Hall alignment error and controls the ECU to store such phase advance in an EEPROM, for example, for use in correcting the rotor position signals for controlling the motor drive to produce maximum torque.
See FIG. 2 for a generic illustration of the methodology. A Hall sensor misalignment is detected as a phase error D between an edge of a Hall signal (here a falling edge) H and a local minimum M of a back-EMF signal B. Once measured, the phase error D may be stored in the electronic motor control unit for use in compensating the motor control signals and increasing the generated torque.
In an example of the technique, the Phase U Hall signal will be aligned with the Phase U BEMF. All measured times are referenced back to the Hall signal. See FIG. 3.
Assuming the motor is rotating at a constant speed w(RPM) then the Hall signal will have a frequency f(Hz) given by:

f=3*w/60  (1)

In general, a periodic signal can be expressed as a Fourier series:

G(t)=a0/2+a1 cos(2Πf*t)+b1 sin(2Πf*t)+a2 cos(4Πf*t)+b2 sin(4Πf*t)+  (2)

Given that we have defined time=0 to be at the rising edge of the Hall signal, then the Fourier series of the Hall signal can be expressed as:

G(t)=a0/2+b1 sin(2Πf*t)+b2 sin(4Πf*t)+b3 sin(6Πf*t)+  (3)

If we ignore or assume the DC component is 0 i.e. a0=0, then:

G(t)=b1 sin(2Πf*t)+b2 sin(4Πf*t)+b3 sin(6Πf*t)+  (4)

And, when t=n/f (where n=0, 1, 2, 3 . . . ) then: G(t)=0  (5)

Alternatively, by looking at the fundamental frequency only we can write:

G(t)=0 when sin(2Πf*t)=0  (6)

2Πf*t=n*2Π  (7)

f*t−n=0  (8)

Equation (8) is the primary equation of interest. We cannot assume that f is constant i.e. Δf=df/dt≠0. However, we will assume that d2f/dt2=0, i.e. acceleration is constant.
Frequency is actually a function of time, that is:

F(t)=f−Δf*t  (9)

The motor will have a declining frequency when the motor is coasting and therefore, substituting F(t) for f into equation (4), we obtain:

G(t)=b1 sin(2Π(f−Δf*t)*t)+b2 sin(4Π(f−Δf*t)*t)+  (10)

Equations (6)-(8) can be re-written as follows:

G(t)=0 when sin(2Π(f−Δf*t)*t)=0  (11)

2Π(f−Δf*t)*t=n*2Π  (12)

(f−Δf*t)*t−n=0  (13)

Δf*t2−f*t+n=0  (14)

In FIG. 1, it can be seen that time=T1 represents the first zero i.e. when n=1 and that time=T1+T2 represents the second zero i.e. when n=2.
Hence, these substitutions can be made into equation (14):

Δf*T12−f*T1+1=0  (15)

Δf*(T1+T2)2−f*(T1+T2)+2=0  (16)

In practice, with DSP we can accurately measure times T1 and T2. We can substitute these times into equations (15) and (16) and solve the two equations for the two unknowns f and Δf. In general, the solutions for f and Δf can be expressed as follows:

f=(T22+2*T1*T2−T12)/(T1*T2*(T1+T2))  (17)

Δf=(f*T1−1)/T12  (18)

The next step in determining the phase alignment error is finding the time/angle at which the local minimum of the BEMF occurs, in relationship to the Hall signal. Ideally this will occur at Π/6 radians or 60 degrees.
Although DSP can be used to track the BEMF and determine the time of the local minimum directly, in practice measurement of this time would be subject to error due to noise. An alternative approach, which is more immune to error, is to set an arbitrary threshold voltage for the BEMF waveform. The time/angle when the signal rises above this threshold is identified as time=B1 and the time it falls below it is time=B2 Noise errors can be further reduced by setting this threshold based on the output of a moving average. In this case the time=B1 is set at the time of the last sample that forms the moving average that first equals or exceeds the threshold. The time=B2 is set at the time of the first sample that forms the moving average that first equals or is less than the threshold.
Time B1 represents the time since the first Hall signal edge and this time can be converted to an angle within the Hall signal:

2Π(f−Δf*t)*t=θ(radians)  (19)

360(f−Δf*t)*t=θ(deg)  (20)

360(f−Δf*TB1)*TB1=θB1(deg)  (21)

For Time B2:

360(f−Δf*TB2)*TB2=θB2(deg)  (22)

An accurate estimate of the angle at which the local minimum occurred is simply the average of these two angles, i.e.

θB=θB2+θB1/2  (23)

The final Alignment error can now be calculated as

Align error=(θB2+θB1)/2−420 deg

Variations on the foregoing technique have been investigated and found to be useful. For example, the Phase U BEMF can be measured against the Phase W Hall signal as shown in FIG. 4. Ideally the falling edge of the Hall W signal should coincide with the local minimum in the Phase U BEMF. See FIG. 5. To calculate the Hall alignment factor, first, the time T1, B1, B2 and H (see FIGS. 2 and 5) are found. Next (B2−B1)/2 is calculated to determine B (FIG. 2). Finally, the Hall alignment factor in degrees is determined as (B−H)*360/T1.
In a third example, the Phase W BEMF is related to the Phase W Hall signal.
Ideally the rising edge of the Hall W signal is exactly 60 degrees ahead of the local minimum in the BEMF waveform. See FIG. 6.
To calculate the Hall alignment the following steps may be applied:
Step 1: Find times T1, B1, B2, H (See FIG. 7)
Step 2: Calculate B=(B2−B1)/2
Step 3: Calculate the Hall alignment (deg)=(B−(H−T1/6))*360/T1 
Although the present invention has been described in relation to particular embodiments thereof, many other variations and modifications and other uses will become apparent to those skilled in the art. Therefore, the present invention is not limited by the specific disclosure herein.
The method and system are advantageous in that the Hall alignment procedure can be carried out with the power supply inverter still connected to the motor. Such an arrangement is especially advantageous in that it gives the back-EMF waveform the shape shown in the Figures, including the local minimum portion.
The motor control unit is usually built into the motor enclosure as seen at 14 in FIG. 1. The CANH and CANL (controller area network high/low) lines are connectable to the motor control unit and other components inside the motor and, in particular, may carry the Hall signals from the motor to the communication controller. The back-EMF signals are carried over the lines 18.
Although methods and systems are disclosed in which a phase difference is calculated between a Phase U Hall signal and a Phase U back-EMF signal, or between a Phase W Hall signal and a Phase W back-EMF signal, the scope of the invention extends broadly to any method or system wherein the calculating circuit calculates a phase difference between the Hall signal and the back-EMF signal of any given phase of the multiphase motor.
Although methods and systems are disclosed in which a phase difference is calculated between a Phase W Hall signal and a Phase U back-EMF signal, the scope of the invention extends broadly to any method or system wherein the calculating circuit calculates a phase difference between the Hall signal of any one phase and the back-EMF signal of any different phase of the multiphase motor.

## Claims

1. A control system for a multiphase DC motor, comprising:
a multiphase motor drive circuit;
a circuit for outputting back-EMF signals from said motor drive circuit;
a Hall effect sensors and a circuit for outputting Hall signals from said sensors, said Hall signals being indicative of rotor position; and
a calculating circuit for calculating a phase difference between a Hall signal and a back-EMF signal and determining from said phase difference an amount of an alignment error of said Hall effect sensor in said DC motor.

2. The control system of claim 1, further comprising a memory circuit in said motor drive circuit which stores said phase difference and corrects said rotor position by correcting said output Hall signals according to said phase difference.

3. The control system of claim 1, comprising respective Hall signals and back-EMF signals for each phase of said motor; and
wherein said calculating circuit calculates corresponding phase differences for each of said phases.

4. The control system of claim 3, further comprising a memory circuit in said motor drive circuit which stores said phase differences and corrects said rotor position by correcting said output Hall signals according to said phase differences.

5. The control system of claim 1, wherein said calculating circuit calculates a phase difference between a Phase U Hall signal and a Phase U back-EMF signal.

6. The control system of claim 1, wherein said calculating circuit calculates a phase difference between a Phase W Hall signal and a Phase U back-EMF signal.

7. The control system of claim 1, wherein said calculating circuit calculates a phase difference between a Phase W Hall signal and a Phase W back-EMF signal.

8. The control system of claim 1, wherein said calculating circuit calculates said phase difference between a rising or falling edge of said Hall signal and a local minimum of said back-EMF signal.

9. The control system of claim 8, wherein said calculating circuit calculates said local minimum of said back-EMF signal by interpolating between rising and falling edges of said back-EMF signal.

10. The control system of claim 9, wherein said calculating circuit interpolates between points at which said rising and falling edges of said back-EMF signal cross a predetermined threshold.

11. The control system of claim 1, wherein said calculating circuit calculates a phase difference between the Hall signal and the back-EMF signal of a single phase of said multiphase motor.

12. The control system of claim 1, wherein said calculating circuit calculates a phase difference between the Hall signal of one phase and the back-EMF signal of a different phase of said multiphase motor.

13. A control method for a multiphase DC motor, said motor having a multiphase motor drive circuit, a circuit for outputting back-EMF signals from said motor drive circuit, a Hall effect sensors and a circuit for outputting Hall signals from said sensor, said Hall signals being indicative of rotor position; said method comprising the step of calculating a phase difference between a Hall signal and a back-EMF signal and determining from said phase difference an amount of an alignment error of said Hall effect sensor in said DC motor.

14. The control method of claim 13, further comprising the step of storing said phase difference, and correcting said rotor position by correcting said output Hall signals according to said phase difference.

15. The control method of claim 13, wherein there are respective Hall signals and back-EMF signals for each phase of said motor; and
wherein said calculating circuit calculates corresponding phase differences for each of said phases.

16. The control method of claim 15, further comprising the steps of storing said phase differences, and correcting said rotor position by correcting said output Hall signals according to said phase differences.

17. The control method of claim 13, wherein said calculating circuit calculates a phase difference between a Phase U Hall signal and a Phase U back-EMF signal.

18. The control method of claim 13, wherein said calculating circuit calculates a phase difference between a Phase W Hall signal and a Phase U back-EMF signal.

19. The control method of claim 13, wherein said calculating circuit calculates a phase difference between a Phase W Hall signal and a Phase W back-EMF signal.

20. The control method of claim 13, wherein said calculating circuit calculates said phase difference between a rising or falling edge of said Hall signal and a local minimum of said back-EMF signal.

21. The control method of claim 20, wherein said calculating circuit calculates said local minimum of said back-EMF signal by interpolating between rising and falling edges of said back-EMF signal.

22. The control method of claim 21, wherein said calculating circuit interpolates between points at which said rising and falling edges of said back-EMF signal cross a predetermined threshold.

23. The control method of claim 13, wherein said calculating circuit calculates a phase difference between the Hall signal and the back-EMF signal of a single phase of said multiphase motor.

24. The control method of claim 13, wherein said calculating circuit calculates a phase difference between the Hall signal of one phase and the back-EMF signal of a different phase of said multiphase motor.