Method and apparatus for fine resolution brushless motor control

Information

  • Patent Grant
  • 6744230
  • Patent Number
    6,744,230
  • Date Filed
    Tuesday, October 29, 2002
    21 years ago
  • Date Issued
    Tuesday, June 1, 2004
    20 years ago
Abstract
A motor controller (30) includes three analog Hall-effect sensors (42, 44, 46) for forming continuous-time signals proportional to the sine and cosine of the position of the rotor (24) of a motor (20). The sine and cosine signals are differentiated to obtain signals proportional to the rotor rate times the sine and cosine values. These integrated values are then multiplied by the cosine and inverse of the sine values, respectively, to obtain values equal to the rotor rate times the square of the cosine and the rotor rate times the square of the sine. These latter two values are summed to obtain an output signal proportional to the rotor rate based on the trigonometric identity sin2(x)+cos2(x)=1. Since the motor controller (30) derives a high-resolution value for the rotor rate, it may be used for fine resolution control of brushless motors and the like.
Description




FIELD OF THE INVENTION




This invention relates generally to electric motors, and more particularly to methods and apparatus for fine resolution control of electric motors.




BACKGROUND OF THE INVENTION




Electric motors are used in many different types of applications. Some of these applications allow low precision motor control and in these applications low-cost motors and motor controllers may be used. For example one well-known technique applicable to systems that require a constant motor speed performs rate control using low-cost digital Hall-effect sensors. The outputs of these sensors are used to determine motor position and velocity. When the rotor of the motor rotates to a certain position the digital Hall effect sensors change state and trigger the commutation logic to switch the drivers into the next state. The switching can also be used for rate control.




Other applications such as autopilot servo systems require much more precise control. The problem is compounded by the fact that these systems often use brushless motors to decrease the inertia in the rotor for quick speed adjustment. However because of their lower inertia brushless motors are subject to a jerky motion that may be caused by the control loop. This jerky motion can be felt by passengers and is highly undesirable.




There are several known techniques for improving the precision of the motor control loops. The whole control loop may be made as a servo system, but such a system is large and expensive. Additional sensors may be used, such as optical sensors, additional Hall-effect sensors, or tachometers. These additional sensors make the systems more expensive.




Another technique uses analog Hall-effect sensors. According to this technique the analog Hall-effect sensors are used to form the sine and cosine functions of the rotor position. The ratio of the sine to cosine then forms the tangent, and the arctangent of the sine/cosine ratio can be used to calculate motor position and derived rate. However this method exhibits periodic errors and can result in motor speed fluctuations when used in a motor control loop, and thus is not useful in systems that need precise control.











What is needed then is a low cost motor controller suitable for fine resolution motor control that is also relatively inexpensive. Such a motor controller is provided by the present invention, whose features and advantages will be more clearly understood from the following detailed description taken in conjunction with accompanying drawings.




BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

illustrates a block diagram of a motor system including a portion of a motor controller used for rate derivation according to the present invention.





FIG. 2

illustrates a block diagram of a complementary filter for use with the motor controller of FIG.


1


.





FIG. 3

illustrates a partial block diagram and partial schematic diagram of a circuit implementation of the hardware portion of the motor controller of FIG.


1


.





FIG. 4

illustrates a timing diagram of the commutation sequence of the motor controller of FIG.


1


.











DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS





FIG. 1

illustrates a block diagram of a motor system


10


including a portion of a motor controller


30


used for rate derivation according to the present invention. Motor system


10


includes generally a motor


20


and motor controller


30


. Motor


20


is a three-phase, four-pole brushless motor having a rotor that has an instantaneous position


24


with respect to a reference point


22


forming an angle labeled “Θ”.




Motor controller


30


is used to drive the commutation sequence for motor


20


and, according to the present invention, provides an output proportional to a high resolution motor rate estimate labeled “{dot over (Θ)}” for use by a servo control loop. Motor controller


30


includes generally a hardware processor


40


and a software processor


70


. Hardware processor


40


includes three analog Hall-effect sensors


42


,


44


, and


46


labeled “HES 1”, “HES 2”, and “HES 3”, respectively. Hall-effect sensors


42


,


44


, and


46


are illustrated as being adjacent to one another but are actually placed at 120° intervals around the circumference of motor


20


. Note that since motor


20


is a four-pole motor, any of Hall-effect sensors


42


,


44


, and


46


may be placed at positions 180° from these uniformly spaced positions to obtain the desired signal. Furthermore any of the sensors may be placed at positions 90° from these uniformly spaced positions to obtain an inverse of the same signal, which can then be inverted to obtain the desired signal. Sensors


42


,


44


, and


46


provide three corresponding output signals labeled “X”, “Y”, and “Z”, respectively. A summing device


52


has a positive input terminal coupled to the output of HES


1


for receiving signal X, a negative input terminal coupled to the output of HES


2


for receiving signal Y, and an output terminal. A multiplication block


54


has an input terminal coupled to the output terminal of summing device


52


, and an output terminal, and multiplies the input thereof by the value






1

3











to provide an output on an output signal line


56


. A rate block


58


transforms this value by a filter transfer function








0.0004

s



0.00004

s

+
1


.










System


20


also includes a summing device


62


having a first positive input terminal coupled to the output terminal of HES


2


for receiving signal Y, a second positive input terminal coupled to the output terminal of HES


1


for receiving signal X, a negative input terminal coupled to the output terminal of HES


3


for receiving signal Z, and an output terminal. A multiplication element


64


has an input terminal coupled to the output terminal of summing device


62


, and an output terminal, and multiplies the input thereof by the value






1
2










to provide an output on an output signal line


66


. A rate block


68


transforms this value by a filter transfer function








0.0004

s



0.00004

s

+
1


.










In software processor


70


an inverter


72


has an input coupled to signal line


56


, and an output, and provides a value at the output thereof equal to the negative of the value at the input. A multiplication element


74


has a first input coupled to the output terminal of filter


58


, a second input coupled to signal line


66


, and an output. Multiplier


76


has a first input coupled to the output of filter


68


, a second input coupled to the output of inverter


72


, and an output. Summing device


78


has a first positive input coupled to the output of multiplier


74


, a second positive input coupled to the output of multiplier


76


, and an output for providing a signal proportional to {dot over (Θ)}, namely 0.0004 {dot over (Θ)}.




Analog Hall-effect sensors


42


,


44


, and


46


form three sinusoidal waveforms (X, Y, and Z, respectively) that can be converted into sine (sin( )) and cosine (cos( )) functions of the instantaneous rotor position Θ. Note that the rotor position is a function of time, Θ (t), but will be referred to below as Θ to ease discussion. Summoning device


52


provides an output equal to X−Y={square root over (3)} a sin(Θ), and multiplication block


54


normalizes this value by multiplying it by






1

3











to form a value equal to sin(Θ) on signal line


56


. Similarly summing device


62


provides an output equal to X+Y−Z=2cos(Θ), and multiplication block


64


normalizes this value by multiplying it by






1
2










to form a value equal to cos(Θ) on signal line


66


. The mathematical derivation of these functions are contained in APPENDIX I below.




Rate blocks


58


and


68


have identical transfer functions and are used to form the rotor rate modulated by sine and cosine functions, respectively. The factor 0.0004 in the numerator is used to scale the value to prevent the output from saturating the analog input circuits in the hardware circuit (since the rotor rate can be very high). The (0.00004s+1) term in the denominator is used to filter high-frequency noise. At low frequencies, the output of rate block


58


is equal to






0.0004




Θ
.



[




(

sin


(
Θ
)


)




t


]


.











However since Θ is actually a function of time,










(

sin


(
Θ
)


)




t


=





(

sin


(

Θ


(
t
)


)


)




t


=



cos


(

Θ


(
t
)


)







(

Θ


(
t
)


)




t



=


Θ
.




cos


(
Θ
)


.














Thus the output of rate block


58


is equal to 0.0004 {dot over (Θ)} cos(Θ). Likewise the output of rate block


68


is equal to −0.0004 {dot over (Θ)} sin(Θ). These four signals (sine, cosine, and rotor rate modulated by sine and cosine) are multiplied together in multipliers


74


and


76


to form rotor rate modulated by cosine


2


and sine


2


functions, respectively. Adder


78


sums these two signals to form an output signal equal to 0.0004 {dot over (Θ)}(sin


2


(Θ)+cos


2


(Θ)). This expression can be simplified to 0.0004 {dot over (Θ)} based on the trigonometric identity:




 sin


2


(


x


)+cos


2−


(


x


)=1




and the output signal can then be normalized. The normalized signal {dot over (Θ)} provides a high-resolution estimate of rotor rate, which maintains constant amplitude for all angles even when individual Hall-effect sensors exhibit amplitude or phase errors. The instantaneous position can be obtained by taking the aretangent of the ratio of the sin(Θ) and cos(Θ) terms provided at the outputs of gain blocks


54


and


64


, respectively, based on the trigonometric identity







tan


(
x
)


=



sin


(
x
)



cos


(
x
)



.











APPENDIX I, below, provides a rigorous mathematical analysis to show the derivation of rotor rate signal {dot over (Θ)} and the effects of amplitude and phase errors.




Note that in an actual embodiment, it is preferable to scale the output of the Hall-effect sensors to provide signals that vary within a range close to the fall voltage range of the components. Thus for example a scaling factor of 2.1 may be used for a five-volt system. The scaling factor is somewhat less than the full range of ±2.5 volts to prevent the analog-to-digital converter from saturating. Thus for example with a 2.1 volt input from the Hall-effect sensors, and a 0.0004 scaling factor by rate blocks


58


and


68


, the analog-to-digital converters at the hardware-software interface will see a 1.93-volt input at the maximum motor speed of 2300 radians per second.




A complementary filter of the rotor position Θ so obtained and the rotor rate {dot over (Θ)} can be used to provide broadband motor position and rate and can eliminate the periodic errors and speed fluctuations due to HES errors.

FIG. 2

illustrates a block diagram of such a complementary filter


80


for use with motor controller


30


of FIG.


1


. Filter


80


includes a summing device


82


, a gain adjustment block


84


, a summing device


86


, and an integrator


88


. Summing device


82


has a positive input for receiving the motor rateΘ, a negative input, and an output for providing the difference between the positive and negative inputs thereof. Gain adjustment block


84


has an input coupled to the output of summing device


82


, and an output, and provides the output as a product of the input and the value







1
τ

,










where τ is the smoothing coefficient of the filter. Summing device


86


has a first input coupled to the output of gain adjustment block


84


, a second input for receiving the value {dot over (Θ)} calculated as described with respect to

FIG. 1

, and an output for providing a smoothed estimate of the rotor rate labeled “{dot over (Θ)}”. Integrator


88


has an input coupled to the output of summing device


86


, and an output for providing a smoothed estimate of the position labeled “{circumflex over (Θ)}”.





FIG. 3

illustrates a partial block and partial schematic diagram of a circuit implementation


100


of the hardware portion of motor controller


30


of FIG.


1


. Elements in common with the system of

FIG. 1

are assigned the same reference numbers. Note that circuit


100


is only one of many possible circuits that may be used to implement the system of FIG.


1


. Also shown in

FIG. 3

are motor


20


and Hall-effect sensors


42


,


44


, and


46


as in FIG.


1


.




Circuit


100


includes generally several operational amplifier (op amp) circuits


110


,


120


,


130


,


140


,


150


,


160


, and


170


. Op amp circuit


110


implements summing device


52


and gain block


54


. Op amp circuit


110


implements the summing function associated with summing device


52


by receiving signal X on the negative input terminal of an operational amplifier


111


through a resistor


112


, and by receiving signal Y on the positive input terminal of operational amplifier


111


through a resistor


113


. Op amp circuit


110


includes a feedback resistor


114


and a feedback capacitor


115


each connected between the output and negative input terminals of op amp


111


. Op amp circuit


110


also includes a resistor


116


connected between the negative input terminal of op amp


111


and a voltage reference terminal labeled “V


REF


”. V


REF


is an analog ground voltage reference having a value of half the power supply voltage, or in the case of a 5 volt system, about 2.5 volts. Op amp circuit


110


performs the function of gain block


54


by the ratio of the resistance of resistor


114


to that of resistor


112


, and the ratio of the resistance of resistor


116


to that of resistor


113


. Resistors


114


and


116


have a value of 11.55 kilohms (kΩ), whereas resistors


112


and


113


have a value of 20 kΩ. Thus the gain is equal to 11.55 kΩ/20 kΩ, which is approximately equal to







1

3


.










The output terminal of op amp


111


provides the value sin(Θ).




Circuit


100


includes a second op amp circuit


120


to implement summing device


62


and gain block


64


of FIG.


1


. Op amp circuit


120


implements the summing function associated with summing device


62


by receiving signals X and Y on the negative input terminal of an op amp


121


through resistors


122


and


123


, respectively, and by receiving signal Z on the positive input terminal of op amp


121


through resistor


124


. Circuit


120


includes a feedback resistor


125


and a feedback capacitor


126


each connected between an output terminal and the negative input terminal of op amp


121


. Circuit


120


also includes a resistor


127


connected between the negative input terminal of operational amplifier


121


and V


REF


. Op amp circuit


120


performs the function of gain block


64


by the ratio of the resistance of resistor


125


to that of resistors


122


and


123


, and the ratio of the resistance of resistor


127


to that of resistor


124


. Resistors


125


and


127


each have a value of 10 kΩ, whereas resistors


122


-


124


each have a value of 20 kΩ. Thus the gain is equal to 10 kΩ/20 kΩ, which equals







1
2

.










The output terminal of op amp


121


provides the value cos(Θ).




Op amp circuit


130


includes an op amp


131


, a capacitor


132


, and resistors


133


and


134


. Op amp


131


has a negative input terminal coupled to the output terminal of op amp


111


through the series combination of capacitor


132


and resistor


133


, a positive input terminal connected to V


REF


, and an output terminal for providing the value −{dot over (Θ)} cos(Θ). Resistor


134


is connected between the output terminal and the negative input terminal of op amp


131


. Resistor


133


has a value of 4 kΩ and resistor


134


has a value of 40 kΩ. Capacitor


132


has a value of 0.01 micro Farads (μF). The transfer function of op amp circuit


130


is equal to








τ





s



τ





s

+
1


=




R
134



C
132


s




R
133



C
132


s

+
1


=


0.0004

s



0.00004

s

+
1













which is the desired transfer function.




Op amp circuit


140


is structurally identical to op amp circuit


130


and has an op amp


141


, a capacitor


142


, and resistors


143


and


144


each connected the same as and having the same values as corresponding elements


131


-


134


in op amp circuit


130


. Op amp circuit


140


provides the value {dot over (Θ)} sin(Θ) at the output terminal thereof.




Op amp circuit


150


includes an op amp


151


having a positive input terminal receiving signal Y through a resistor


152


having a value of 1 kΩ, a negative input terminal connected to V


REF


, and an output terminal for providing sign HES A. A resistor


153


having a value of 100 kΩ is connected between the output and positive input terminals of op amp


151


. Op amp circuit


150


provides a high gain on signal Y and essentially “squares it up” to provide signal HES A. Op amp circuit


160


is structurally identical to op amp circuit


150


and includes an op amp


161


and resistors


162


and


163


having the same connections and values as corresponding elements


151


-


153


in op amp circuit


150


. Op amp circuit


160


however receives signal X to provide output signal HES B. Op amp circuit


170


is also structurally identical to op amp circuit


150


and includes an op amp


171


and resistors


172


and


173


having the same connections and values as corresponding elements


151


-


153


in op amp circuit


150


. Op amp circuit


170


however receives signal Z to provide output signal HES C.




Signals HES A, HES B, and HES C are useful in controlling the commutation sequence of motor


30


as further illustrated in

FIG. 4

, which illustrates a timing diagram of the commutation sequence of motor controller


30


of FIG.


1


. In

FIG. 4

the horizontal axis represents motor angle in degrees, whereas the vertical axis shows the voltage of signals HES A, HES B, and HES C, which can be used to drive the commutation sequence for both clockwise and counter-clockwise rotation. The commutation sequence is a conventional commutation sequence for a four-pole, brushless stator-driven motor that drives an active phase at a voltage of 28 volts.




The hardware/software interface is formed when the values sin(Θ), cos(Θ), −{dot over (Θ)} cos(Θ), and {dot over (Θ)} sin(Θ) are provided to respective analog-to-digital converter inputs of a microcontroller (not shown in FIG.


3


). The microcontroller performs the further cross multiplications of the terms to arrive at the value for {dot over (Θ)} as described with reference to

FIG. 1

above. It should be apparent that the split between hardware and software is somewhat arbitrary and may be varied from application to application. For example in another embodiment the outputs of the Hall-effect sensors may be provided directly into analog-to-digital converter inputs and the remainder of the processing would be performed in software. However circuit


100


is an efficient implementation of the functions associated with elements


52


,


54


,


58


,


62


,


64


, and


68


and may also be conveniently combined into a single integrated circuit.




While the invention has been described in the context of a preferred embodiment, various modifications will be apparent to those skilled in the art. For example while the rotor rate estimation apparatus is useful in autopilot servo systems, other applications are also readily apparent such as automatic power steering control. Furthermore the system can be implemented in hardware, software, or various combinations of the two. Accordingly, it is intended by the appended claims to cover all modifications of the invention that fall within the true scope of the invention.




APPENDIX I




Assuming the sensor inputs X, Y, & Z have unity amplitude and equally spaced phase signals the derived Sine and Cosine amplitudes are as follows.




Sine Amplitude:








X−Y


=sin(Θ+30)−sin(Θ+150)










X−Y


=[sin Θ cos(30)+cos Θ sin(30)]−[sin Θ cos(150)+cos Θ sin(150)]










X
-
Y

=


[




3

2


sin





Θ

+


1
2


cos





Θ


]

-

[



-


3

2



sin





Θ

+


1
2


cos





Θ


]











X−Y




={square root over (3)}


sin Θ  {Equation


1}






Cosine Amplitude:








X+Y−Z


=sin(Θ+30)+sin(Θ+150)−sin(Θ+270)










X+Y−Z


=[sin Θ cos(30)+cos Θ sin(30)]+[sin Θ cos(150)+cos Θ sin(150)]−[sin Θ cos(270)+cos Θ sin(270)]










X
+
Y
-
Z

=


[




3

2


sin





Θ

+


1
2


cos





Θ


]

+

[



-


3

2



sin





Θ

+


1
2


cos





Θ


]

+

cos





Θ











X+Y−Z=




2


cos Θ  {Equation


2}






Equations 1 and 2 provide the relative amplitudes for nominal sensor inputs. System


20


of

FIG. 1

normalizes the sine and cosine signals by dividing them by {square root over (3)} and 2, respectively.




Manufacturing tolerances in positioning the Hall-effect sensors result in angular errors and proximity errors. To examine the effects of angular position error (phase) and proximity errors (amplitude) the derivation can be expanded to include error terms. The angular position errors of sensor


42


and


44


are represented as Δ


X


and Δ


Y


, respectively. The amplitudes of sensors


42


and


44


are represented as A


X


and A


Y


, respectively. Thus the sin Θ derivation including sensor amplitude and phase errors is as follows:







X−Y=A




X


sin(Θ+30+Δ


X


)−


A




Y


sin(Θ+150+Δ


Y


)








X−Y=A




X


[sin Θ cos(30+Δ


X


)+cos Θ sin(30+Δ


X


)]−


A




Y


[sin Θ cos(150+Δ


Y


)+cos Θ sin(150+Δ


Y


)]










X−Y=[A




X


cos(30+Δ


X


)−


A




Y


cos(150+Δ


Y


)]sin Θ+[


A




X


sin(30+Δ


X


)−


A




Y


sin(150+Δ


Y


)]cos Θ






Represent constants by M, N:








X−Y=M


sin Θ+


N


cos Θ










X
-
Y

=

M


[


sin





Θ

+


N
M


cos





Θ


]












Assign







tan





t

=

N
M















X−Y=M


[sin Θ+tan


t


cos Θ]













X
-
Y

=


M

cos





t




[


sin





Θ





cos





t

+

sin





t





cos





Θ


]














X
-
Y

=


M

cos





t




sin


(

Θ
+
t

)















X
-
Y

=



[



A
X



sin


(

30
+

Δ
X


)



-


A
Y



sin


(

150
+

Δ
Y


)




]


cos





t




sin


(

Θ
+
t

)







{Equation  3}













Where






t
=

arc






tan


[


[



A
X



sin


(

30
+

Δ
X


)



-


A
Y



sin


(

150
+

Δ
Y


)




]


[



A
X



cos


(

30
+

Δ
X


)



-


A
Y



cos


(

150
+

Δ
Y


)




]


]













The CosineΘ derivation including sensor amplitude and phase errors:








X+Y−Z=A




X


sin(Θ−30+Δ


X


)+


A




Y


sin(Θ+150+Δ


Y


)−


A




Z


sin(Θ+270+Δ


z


)










X+Y−Z=A




X


[sin Θ cos(30+Δ


X


)+cos Θ sin(30+Δ


X


)]+


A




Y


[sin Θ cos(150+Δ


Y


)+cos Θ sin(150+Δ


Y


)]−


A




z


[sin Θ cos(270+Δ


z


)+cos Θ sin(270+Δ


z


)]









X+Y−Z=[A




X


cos(30+Δ


X


)+


A




Y


cos(150+Δ


Y


)−


A




z


cos(270+Δ


z


)]sin Θ+[


A




X


sin(30+Δ


X


)+


A




Y


sin(150+Δ


Y


)−


A




z


sin(270+Δ


z


)]cos Θ




Represent constants by M, N








X+Y−Z=M


sin Θ+


N


cos Θ










X
+
Y
-
Z

=

N


[



M
N


sin





Θ

+

cos





Θ


]












Assign







tan





t

=

M
N















X+Y−Z=N


[tan t sin Θ+cos Θ]














{

Equation





4

}






X
+
Y
-
Z

=






N

cos





t




[


sin





Θsin





t

+

cos





Θcos





t


]







X
+
Y
-
Z

=






N

cos





t



cos






(

Θ
-
t

)







X
+
Y
-
Z

=







[



A
X



sin


(

30
+

Δ
X


)



+


A
Y



sin


(

150
+

Δ
Y


)



-


A
Z



sin


(

270
+

Δ
Z


)




]


cos





t




cos


(

Θ
-
t

)













Where






t
=

arctan


[


[



A
X



cos


(

30
+

Δ
X


)



-


A
Y



cos


(

150
+

Δ
Y


)



-


A
Z



cos


(

270
+

Δ
Z


)




]


[



A
X



cos


(

30
+

Δ
X


)



-


A
Y



cos


(

150
+

Δ
Y


)



-


A
Z



cos


(

270
+

Δ
Z


)




]


]












The effects of sensor errors on the angle rate can be analyzed from the sine and cosine functions including error effects. Equations 3 & 4 can be represented in the form:








A




S


sin(Θ+Δ


S


)










A




C


cos(Θ+Δ


C


)






Applying derivative function, cross-multiplying and summing the results provides the sin


2


+cos


2


form.











&AutoLeftMatch;







A
S



A
C



Θ
.







sin


(

Θ
+

Δ
S


)








sin


(

Θ
+

Δ
C


)



+


A
S



A
C



Θ
.







cos


(

Θ
+

Δ
S


)








cos


(

Θ
+

Δ
C


)












A
S



A
C





Θ
.





[


sin





Θ





cos






Δ
S


+

cos





Θ





sin






Δ
S



]



[


sin





Θ





cos






Δ
C


+

cos





Θ





sin






Δ
C



]



+


A
S



A
C





Θ
.





[


cos





Θ





cos






Δ
S


-

sin





Θ





sin






Δ
S



]



[


cos





Θ





cos






Δ
C


-

sin





Θ





sin






Δ
C



]











A
S



A
C








Θ
.



[






sin
2






Θ





cos






Δ
S


cos






Δ
C


+

sin





Θ





cos





Θ





cos






Δ
S






sin






Δ
C


+

sin





Θ





cos





Θ





cos






Δ
C


sin






Δ
S


+


cos
2






Θ





sin






Δ
S






sin






Δ
C


+








cos
2






Θ





cos






Δ
S


cos






Δ
C


-

sin





Θ





cos





Θ





cos






Δ
S






sin






Δ
C


-

sin





Θ





cos





Θ





cos






Δ
C


sin






Δ
S


+


sin
2






Θ





sin






Δ
S






sin






Δ
C






]










A
S



A
C








Θ
.



[



sin
2






Θ





cos






Δ
S


cos






Δ
C


+


cos
2






Θ





sin






Δ
S






sin






Δ
C


+


cos
2






Θ





cos






Δ
S


cos






Δ
C


+


sin
2






Θ





sin






Δ
S






sin






Δ
C



]










A
S



A
C








Θ
.



[



sin
2







Θ




[


cos






Δ
S


cos






Δ
C


+

sin






Δ
S






sin






Δ
C



]


+


cos
2







Θ




[


sin






Δ
S






sin






Δ
C


+

cos






Δ
S


cos






Δ
C



]



]










A
S



A
C









Θ
.



[



sin
2






Θ

+


cos
2






Θ


]




[


cos






Δ
S


cos






Δ
C


+

sin






Δ
S






sin






Δ
C



]










A
S



A
C








Θ
.



[


cos






Δ
S


cos






Δ
C


+

sin






Δ
S






sin






Δ
C



]







{Equation   5}













Claims
  • 1. A method for performing fine resolution motor control comprising the steps of:forming a first signal proportional to sin(Θ) and a second signal proportional to cos(Θ) using a plurality of analog Hall-effect sensors, wherein Θ is an angular position of a rotor of the motor with respect to a predetermined reference point as a function of time; differentiating said first and second signals to obtain third and fourth signals, respectively; multiplying said second and third signals to provide a fifth signal; forming an inverse of a product of said first signal and said fourth signal to provide a sixth signal; and summing said fifth and sixth signals to provide an output signal proportional to a rotor rate in response.
  • 2. The method of claim 1 wherein said step of forming said inverse of said product of said first signal and said fourth signal to provide said sixth signal comprises the steps of:inverting said first signal to form an inverted first signal; and multiplying said inverted first signal by said fourth signal to obtain said sixth signal.
  • 3. The method of claim 1 wherein said step of forming said first signal proportional to sin(Θ) and said second signal proportional to cos(Θ) using said plurality of analog Hall-effect sensors comprises the step of placing first, second, and third analog Hall-effect sensors at substantially uniform intervals around the circumference of said motor.
  • 4. The method of claim 3 wherein said step of forming said first signal proportional to sin(Θ) further comprises the step of subtracting an output of said second Hall-effect sensor from an output of said first Hall-effect sensor to obtain said first signal.
  • 5. The method of claim 3 wherein said step of forming said second signal proportional to cos(Θ) further comprises the step of summing an output of said first Hall-effect sensor, an output of said second Hall-effect sensor, and the negative of an output of said third Hall-effect sensor to obtain said second signal.
  • 6. The method of claim 1 further comprising the step of normalizing said first and second signals prior to said step of differentiating.
  • 7. The method of claim 1 further comprising the step of obtaining an instantaneous position of said rotor by taking the arctangent of the ratio of said first signal to said second signal.
  • 8. A method for performing fine resolution motor control comprising the steps of:placing first, second, and third analog Hall-effect sensors at substantially uniform intervals around the circumference of a motor, said first, second, and third analog Hall-effect sensors producing respective signals X, Y, and Z; forming a first signal proportional to sin(Θ) and a second signal proportional to cos(Θ) in response to said signals X, Y, and Z wherein Θ is an angular position of a rotor of the motor with respect to a predetermined reference point as a function of time; differentiating said first signal to obtain a third signal having a value proportional to {dot over (Θ)} times cos(Θ) wherein {dot over (Θ)} is an estimate of a rate of said rotor; differentiating said second signal to obtain a fourth signal having a value proportional to −{dot over (Θ)} times cos(Θ); multiplying said second and third signals to obtain a fifth signal proportional to {dot over (Θ)} times cos2(Θ); multiplying an inverse of said first signal and said fourth signal to obtain a sixth signal proportional to {dot over (Θ)} times sin2(Θ); and summing said fifth and sixth signals to obtain an output signal proportional to {dot over (Θ)}.
  • 9. The method of claim 8 wherein said step of forming said first and second signals comprises the steps of:subtracting Y from X to form a first difference signal and multiplying said first difference signal by a first predetermined number to form said first signal; and adding X to Y and subtracting Z to form a second difference signal and multiplying said second difference signal by a second predetermined number to form said second signal.
  • 10. The method of claim 9 wherein said first predetermined number is equal to 13and said second predetermined number is equal to 12.
  • 11. The method of claim 8 further comprising performing the steps of placing, deriving, integrating said first signal, and integrating said second signal in hardware circuitry, and performing said steps of multiplying and summing in software.
  • 12. The method of claim 8 further comprising the step of obtaining an instantaneous position of said rotor by taking the aretangent of the ratio of said first signal to said second signal.
  • 13. A motor controller comprising:first, second, and third Hall-effect sensors positioned at substantially uniform intervals around the circumference of a motor, each of said first, second, and third Hall-effect sensors providing corresponding first, second, and third analog output signals; a first adder having inputs for receiving said first and second analog output signals, and an output for providing a difference between said first and second analog output signals; a second adder having inputs for receiving said first, said second, and said third analog output signals and having an output for providing a value equal to the first analog output signal plus the second analog output signal minus said third analog output signal; a first gain element having an input coupled to said output of said first adder, and an output for providing a first signal proportional to a sine of a position of said rotor; a second gain element having an input coupled to said output of said second adder, and an output for providing a second signal proportional to a cosine of a position of said rotor; a first rate block having an input coupled to said output of said first gain element, and an output; a second rate block having an input coupled to said output of said second gain element, and an output; a first multiplier having a first input coupled to said output of said first integrator, a second input coupled to said output of said second gain element, and an output; a second multiplier having a first input coupled to said output of said first gain element through an inverter, a second input coupled to said output of said second integrator, and an output; and a summing device having a first input coupled to said output of said first multiplier, a second input coupled to said output of said second multiplier, and an output for providing an output signal proportional to a rotor rate signal estimate.
  • 14. The motor controller of claim 13 further comprising a smoothing filter having a first input for receiving said rotor rate estimate, a second input for receiving a rotor position signal, and first and second outputs for providing a smoothed rotor position and a smoothed rotor rate estimate, respectively.
  • 15. The motor controller of claim 14 wherein said smoothing filter comprises:a first summing device having a first input for receiving said rotor position signal, a second input for coupled to said second output of said smoothing filter, and an output for providing a difference between said first and second inputs thereof; a multiplication clement having a first input coupled to the output of the first summing device, and an output for providing a product of said first input and a predetermined multiplication factor; a second summing device having a first input for receiving said rotor rate estimate, a second input coupled to said output of said multiplication element, and an output for providing said first output of said smoothing filter as a sum of said first and second inputs thereof; and an integrator having an input coupled to said output of second summing device, and an output for providing said second output of said smoothing filter.
US Referenced Citations (8)
Number Name Date Kind
3696277 Liska et al. Oct 1972 A
3775649 Bayer et al. Nov 1973 A
3796935 Blaschke Mar 1974 A
5155696 Shibata et al. Oct 1992 A
5241268 Lee Aug 1993 A
5646496 Woodland et al. Jul 1997 A
5912638 Vlahu Jun 1999 A
6084376 Piedl et al. Jul 2000 A
Foreign Referenced Citations (1)
Number Date Country
04021390 Jan 1992 JP