I have an Odrive 3.4 with a AMT encoder and a T-motor MN5208 motor. I am having some problems getting the motor to work and I wanted to document my debugging steps and see if you have any suggestions.
Current setup below
Problem description— I am able to flash the processor and communicate with it over python. I can send setpoint commands but the motor does not respond. I can read the current encoder value, and then move the motor and verify that the encoder value changes. The Odrive startup routine moves the motor CW then CCW slowly, but at the point of starting the high speed rotation it does not move. However, I tried various polepair numbers and for differing values the high-speed movement moves differently but never fully rotates.
My thoughts— I think the firmware side of things is fine, I can communicate over USB straight out of the box and have no problem flashing the MP. It is the commutation side of things that I am having trouble with. The three main uncertainties I have are:
I have the wrong number of pole pairs in the code. I didn’t know exactly how to find this number and spent a while searching around. While trying to figure out how to determine the number of pole pairs I tried different values to see if one would work. In the end I found a resource that said the pole pairs is half the number of permanent magnets. This motor has 22 magnets so 11 pole pairs and this is the number I am using.
Wiring up the ABC phases incorrectly? This motor doesn’t have labeled or color coded motor leads so I have tried different combinations. My gut says wiring ABC, ACB, BCA, shouldn’t matter (just affect rotation direction?). Flawed logic here?
Cheapo power supply, I am using a 12V 1.4A wall wart because I was too lazy to go downstairs and get a proper one. Could this be a problem? I don’t see any error codes on the Odrive through explore_odrive.py so I don’t think this is the issue.
I think suggestions to help debug first time setups would be great and so any comments will help, and maybe some of these questions can be rolled into the readme (maybe just points 1 & 2).