I have been curious about how this works. Based on this comment, each incremental change in the motor position is detected by a pulse coming from the encoder. A missed pulse results in an inaccuracy that carries forever forward, until the machine is re-calibrated.
I had assumed the encoders were absolute, such that the location was read based on more than pulses, such that this accumulation of error wouldn’t happen. Could someone clarify?
(edit)
I was able to find the answer to my question here (How does the Motor's encoder work?)
The answer is the sled position is determined by counting pulses. If one pulse is missed, the sled position is off from that point forward.
I actually think this bit me a while back. I could hear the motor hesitating, periodically. After a while, it started failing the “Sled not keeping up” check. After that, I wiggled the wire connection, and I had no problem after that. Of course, this was happening during the calibration process, so I don’t understand its long-term impact.