Here in TI’s motor team, we are constantly deluged by requests for motor drivers that can spin a motor faster and smoother. In the brushless-DC motor realm, this is pushed to the limit with stringent requirements of speed, torque ripple and jitter performance.
In sensored BLDC motors particularly, magnetic sensors are used in order to know the position of the rotor at all times so that the motor windings can be driven in the most efficient way without causing any mis-commutation errors. Traditionally, Hall effect sensors are employed to provide this critical feedback.
Read this other recent post from the engineer who developed the TI Hall sensor.
So as motors spin faster and faster, at what point do we need to consider the bandwidth and response time of the Hall effect sensor itself? Obviously, if there is too much delay caused by the Hall effect sensor, then the motor controller may not be able to respond adequately.
The intent of this post is simply to clear up a common confusion regarding Hall effect sensor bandwidth when used in a sensored three-phase BLDC motor application: how fast is fast enough for the Hall effect sensor?
To answer this question, we need to take a quick look at how a sensored BLDC motor is constructed.
The stator is constructed of motor windings that create the stator poles when energized. These windings are what are actually driven when current is applied to the motor. The rotor is composed of alternating poles of a permanent magnet. The number of poles on (north and south) is typically between 6 and 10. Motors with a higher rated speed tend to have a lower pole count. Generally there are not the same number of poles on the stator and rotor.
Three Hall effect sensors are positioned such that they sense the magnetic field generated by the permanent magnets on the rotor. As the motor spins, the magnetic field alternates between north and south. In one rotation, any Hall effect sensor will see every pole on the rotor.
With this information we can calculate the magnetic field is switching at the following rate:
Now this result may not surprise you as much as it does me. 250 Hz is slow. If we consider using the DRV5013 Hall effect sensor for the motor position feedback, we have an available bandwidth of over 20 kHz. I don’t know about you, but 80X seems like plenty of margin to me.
For mechanical systems (i.e. motors), it turns out that it is very difficult to get a magnet spinning fast enough to start to cause Hall effect sensor bandwidth concerns.
If we take the previous hypothetical motor as an example, the motor would have to spin at 120,000 RPM in order to result in a magnetic field switching frequency of just 10 kHz. At this speed, I can entertain the proposition that a 2X bandwidth margin may be insufficient.
Let’s take a look at output delay time instead of bandwidth as a figure of merit. In our imaginary motor system spinning at 3,000 RPM, the magnetic field is north for 2 ms and south for 2 ms. Again, using the DRV5013 as the sensor, the output delay time is typically 13 µs. We can calculate the angle delay caused by the hall sensor output delay as:
f(Hz): The result of the previous calculation above
tdelay: output delay time of the hall sensor
In this example, we have:
This is less than one-quarter of a degree of the motor rotation.
To conclude, I return to my original question: how fast is fast enough for the Hall effect sensor? For most motors, and other mechanical systems, a bandwidth of 20 kHz for the Hall effect sensor is more than fast enough. The angle delay induced by the hall sensor is very low in the example given.
What about your motors? Do you feel like your design pushes the limit for a 20 kHz bandwidth Hall effect sensor? Would your calculated angle delay cause problems for your system? We would love to hear from you in the comments section below.
You can get a sample of the DRV5013 Hall sensor, here.
You might also be interested in this video on the Hall sensors.