I have a 14 pole-pair motor with a AS5047P encoder (ABI interface, 4096 CPR) and seem to have configured the index and able to do some position control after loose tuning, but the move_to_pos() function only works across a small range of counts, about 5900.
It may be an encoder issue, but I am not sure. Any ideas on what could be a cause of this?
I have verified that the actual number of magnet poles matches what was in the datasheet of the motor; as for the encoder, I am assuming it is on the default mode of 4096 counts.
I managed to set up the encoder with index signal, and it searches for the index at startup.
The only issue I had so far with this encoder is that I had to relax the accuracy of encoder counts during calibration (encoder.config.calib_range = 0.05), to overcome error ERROR_CPR_OUT_OF_RANGE.
Another issue, probably related, is that the velocity and current control modes do not work.
Position plots (blue=pos_estimate, orange=pos_setpoint):