MA302 encoder, angle reading via SPI

Hi,
In my project, I’m using the MA302 encoder IC with a BLDC motor that has 8 pole pairs. I have positioned the encoder IC off-axis, and I am reading the angle via SPI. However, when reading the angle, it resets after every 45°.
Is there any command to set the reset angle to occur after 360° instead?

Hello,

You are measuring the rotor magnetic field, is that it? Since it has 8 pole pairs, the MA302 detects a full magnetic period for each 45° rotation of the shaft.

The only way to make the MA302 match the shaft angular position is to mount a single pole pair magnet on the shaft and use the MA302 to measure its field, instead of the rotor one.

If you can’t, the alternative is to keep track of the number of full turns detected by the MA302, for example by reading the Z output, and use that information to obtain the mechanical angle. For example, given:

  • the sensor output a_e
  • the number of turns N
  • the shaft position a_m

you would get: a_m = mod(N,8)*45 + a_e/8

mod() is the modulo operation, e.g. mod(9,8) = 1 , mod(13,8) =5.

Hope this helps.

Best,

Carmine