We are using MA780 in one of our products, along with DC servo for position control. Mode of operation - 8bits for turns, 8 bits for angle. Position read interval - 2ms. Magnet is attached to the shaft.
It was found that MA780 sometimes returns incorrect angle portion of data, while turns are always correct. The outlier always has either 0x00 (when moving CW) or 0xFF (if moving CVW) value. And it is always only 1 bad sample. Sample(s) before and after it are correct.
The below graph shows encoder reading, while motor shaft is moving in one direction, without any control (open loop) or external forces:
Outlier is highlighted with green circle, at 60ms from motion start.
Here is the SPI bus trace events around that issue:
Good sample 0x4459, then outlier 0x4400, then again good sample 0x45A6.
And the next 3 graphs show bus waveform for those 3 samples:
The issue is intermittent, and happens after acquiring 2000-5000 samples.
For control algorithm, this step looks like an external force pushing shaft in opposite direction, ending up in applying an opposite current and unnecessary oscillations (wasting of power and extra position settle time).


