Hall-effect-based ICs such as the A1337 can help your device to perform a variety of sensor tasks related to angular motion.

The Hall effect has turned out to be a rather useful physical phenomenon. It can be employed for a variety of measurement applications involving current and magnetic fields. In a recently published article, I discussed a Hall-effect-based brushless DC motor driver. In this article, we’ll look at an IC that employs the Hall effect for monitoring angular position.



The most important thing to understand here is that the IC cannot perform angular measurements all by itself. This is clear if we consider the nature of the Hall effect, which expresses a fundamental physical relationship between electric current, magnetic field strength, and voltage. If the magnetic field is constant, current can be measured via the resulting Hall voltage. If the current is constant, then the Hall element can be used to measure the intensity of an externally applied magnetic field.

So in the context of measuring angular position, the Hall element is simply a magnetic-field sensor. A magnetic-field sensor all by itself can’t tell us anything about rotational movements. Rather, we have to create a situation in which magnetic field strength is dependent on rotation, and then we can interpret the Hall measurements as rotational position.


Magnet + IC

The A1337 from Allegro MicroSystems is described as a highly integrated, 0° to 360° Hall-effect-based angle sensor. It includes an assortment of integrated signal processing combined with convenient digital communication.


Diagram taken from the A1337 datasheet.


One thing that I really appreciate is the clear information regarding the physical configuration of the magnet.

As you can see in the following diagram, the A1337 has two Hall elements. As far as I can tell, the purpose of having two elements is simply to provide redundancy.


Diagram taken from the A1337 datasheet.


Each Hall-element-based sensor can measure the direction of the magnetic field vector associated with a magnet that is parallel to the surface of the IC. Another way of saying this is that the IC can monitor the rotation of a magnet that is placed adjacent to the surface of the chip. (I suppose it would be possible to rotate the IC instead of the magnet, but that would be the more awkward approach. . . .)


Diagram taken from the A1337 datasheet.


Thus, the A1337 measures rotation indirectly: the magnet is coupled to whatever you’re trying to monitor, and the A1337 measures the angular behavior of the magnet.


The Right Magnet

The A1337 takes care of various details involved in angular measurements, but it does not buy a magnet for itself. Nor does it install the magnet and ensure that it is properly aligned. I have to admit that this is a major impediment for me, because I don’t feel qualified to deal with the magnet issues.

Nevertheless, if you’re a bit bolder than I am, you should be able to come up with a workable solution if you pay close attention to the datasheet. The following diagram indicates the proper magnet arrangement based on the A1337’s default configuration.


Diagram taken from the A1337 datasheet.


As far as the magnet itself, Allegro recommends that you contact them for details regarding magnet selection. That’s undoubtedly a good idea, though the datasheet does include some information to get you started:


Table taken from the A1337 datasheet.


Angle vs. RPM

The A1337 is an angle sensor. However, if you know angle, you also know angular velocity; all you need to do is monitor changes in angle with respect to time. So an angle sensor is a perfectly reasonable approach for monitoring the speed at which something is rotating.

As it turns out, the A1337 is compatible with rather high angular velocities (up to 30,000 RPM “with reduced accuracy”). However, it’s important to realize that there is an inverse relationship between angular precision and RPM. It’s a question of latency.

Unsurprisingly, the state of the rotating magnet is not immediately reflected in the A1337’s output data. It takes some time to do all that measurement work. If the magnet is rotating slowly, the current output data is still a reasonably accurate representation of the current position of the magnet. But as angular velocity increases, latency leads to increasingly greater discrepancy between the data and the actual position.

The A1337 datasheet indicates that it can provide full (i.e., 12-bit) resolution up to about 500 RPM. For angular velocities above 500 RPM, you want to switch to “high-RPM” mode, which exchanges resolution for speed: the refresh rate is significantly higher, but the resolution is reduced to 10 bits.

It appears that Allegro has chosen 7600 RPM as the threshold at which the A1337’s performance is no longer very impressive. You can still get angle data, but up in this RPM range, you’re probably better off using the device for measuring angular velocity.



Do you have any experience with Hall-effect-based angular sensors? Feel free to leave us a comment and let us know what you’ve learned.