# CANCoder Principle of Operation

I am trying to understand the principle of operation for CTRE’s CANCoder. All I can find in their manual is this: “1. Device description The CTR CANCoder is a rotary sensor that can be used to measure rotational position and velocity. The device senses the magnetic field of a diametrically polarized magnet to determine rotational position with 12 bit precision. The device is capable of providing a relative position measurement and an absolute position measurement simultaneously over the CAN bus.”
I understand the pill magnet is diametrically polarized:

But then how does this work as an absolute encoder? It has to know where it is upon powering up. How does it know (determine) this?
I’m a mechanical guy so be nice.

It measures the orientation of the magnetic field created by the pill magnet. That is a constant assuming the pill is well connected to the rotating piece.

Quoting from the AS5048 datasheet functional description:

The AS5048 is a magnetic Hall sensor system manufactured in a CMOS process. A lateral Hall sensor array is used to measure the magnetic field components perpendicular to the surface of the chip. The AS5048 is uses self-calibration methods to eliminate signal offset and sensitivity drifts.

The integrated Hall sensors are placed around the center of the device and deliver a voltage representation of the magnetic flux Bz.

Through Sigma-Delta Analog-to-Digital Converter (ADC) and Digital Signal-Processing (DSP) algorithms, the AS5048 provides accurate high-resolution absolute angular position information. This is executed by a Coordinate Rotation Digital Computer (CORDIC) which calculates the angle and the magnitude of the Hall array signals.

The DSP is also used to provide digital information at the outputs that indicate movements of the magnet towards or away from the device’s surface, in the z-axis.

A small diametrically magnetized (two-pole) standard magnet provides the angular position information. Depending on the system requirements different magnet diameters are possible.
Additional flexibility is given by the wide range of the magnetic input range. The AS5048 can be combined with NeFeB, SmCo and alternative magnet materials e.g. hard ferrites.

1 Like
2 Likes

This is perfect. The two orthogonal Hall sensors makes it clear. Thank you very much!

2 Likes

That’s a very cool video find for a host of other reasons too. Modern mice are really electromechanical marvels and incredibly low cost for how complex they are–the miracle of mass production!

1 Like

similar to other quadrature encoders that you might have on your robot. Channels A and B provide the direction of travel that one channel cannot.

More like sin()/cos() in this case.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.