NearZero1
NearZero1 copied to clipboard
Never exiting the initial current calibration with some motors
With some motors, the controller never gets out of the initial current calibration. I think this is because the resistance of the motor is too large to reach the target current even with maximum duty. If I start up the controller with a different motor and switch back to the higher resistance motor after the calibration, I can use the motor without any problems. This is a little cumbersome though.
One possible solution would be to allow the user to skip the calibration and control the motor directly by duty instead of by current. This may be desirable for other reasons too.
A related issue is that when sending I2C commands with a high current, there is no check that the resulting duty is not too high. This leads to overflows and violent jumps in motor position. It's not easy for the user to know what the maximum current that can be used is, because it will be different for different motors. This would also be easier if controlling directly by duty.