I am creating a servo for a robotics project using a 360KV 7-pole 5010 brushless motor with a diametrically-magnetized ring magnet screwed onto the shaft. I’m controlling it with an Odrive Micro with the latest firmware, using the onboard encoder for feedback. Max current is set to 7 amps, and 14V is my input voltage.
Everything seems to be configured correctly, and the motor performs well in velocity and position mode, and continues to work even when adding resistance. When I switch it into torque mode, however, if left long enough running with resistance, the motor seems to lose commutation. Current measurement spikes to max, yet no motion. Then, when I return to velocity and position modes, they fail to drive the motor. All of this seems to indicate loss of commutation. However, this should be impossible, as the magnet is fixed to the motor shaft, which itself is rigidly affixed to the rotor of the brushless motor. There are no errors either - I’ve checked.
Rebooting the motor controller (i.e. removing power entirely) does not fix it. I can however fix the issue by recalibrating the motor rotation, but it comes back if I do that torque experiment again. Any help appreciated. Thank you!