Hi, we have observed some unexpected results when using the inner encoder of motor to control the turning angle: the motor is connected to a gear which is connected to a long heavy arm. We setPosition(0) in the beginning and then spinToPosition(100). The motor does turn to the angle (which is roughly correct based on my calculation). However, position() returns 0. It appears the encoder loses the reading. However we don’t reset it.
We can’t figured out why. One possibility is the heavy load. When we use a much lighter arm, the code seems to return the right value. But this is quite scary. I wonder (1) whether load affects the encoder reading (2) if so, what the max safe load it is - can’t find any specs (3) any idea on how to solve this problem?