the shut down/start up repeatibility is not provided by the closed-loop steppers, but by
- a good homing repeatability, and also by
- a Controller that is able to let you continue a program that was paused even after a shut down and new start up.
To have an acceptable position repeatability, you need reliable homing repeatability.
The Buildbotics-derived Onefinity controller (as found on the Classical Series) uses “stall homing” to detect that the carriages on the axes have reached their home position, which is made possible by the stall detection capability of the TI DRV8711 stepper drivers that are inside the Onefinity and the Buildbotics Controllers. This means that the Onefinity CNC machine does not have sensors to detect that the motors have brought the carriages to their end position, but instead uses stall homing, which works this way: The Controller allows the motors to continue running even though they have already reached the end and they cannot move any further at all. The stall detection now works in such a way that when a stepper motor turns, it also acts as a current generator. This is called electromotive force. In the tiny pause where the stepper motor is not getting current from the controller’s step commands, the TI stepper driver measures the current generated by the motor through electromotive force. So as long as the motor is turning, such a current is coming, and when the motor hit the end of the travel and stalls, then this current generated by the motor stops, and the TI stepper driver this way detects that the motor is obviously no longer turning. This is stall detection, and this is the way stall homing works.
This corresponds to the philosophy of the Onefinity CNC to allow customers a low-threshold entry into the CNC, which among other things happens through a low price that is achieved by saving on some things.
The problem is, the process of stall homing is inaccurate, and that is why the so called homing repeatability is bad. First, it is inaccurate by principle, because it is a very indirect detection of the position of the axis carriage, and therefore the homing position is never exactly the same, and second, wood dust accumulates on the tubes, which is compressed with each homing operation, and so also changes the homing position over time (note that a simple coupling nut as suggested by Bill can circumvent the latter effect).
The good thing is, the Onefinity and Buildbotics allow limit sensors to be retrofitted like found on more professional CNC machines. There are connectors for them in the 25-pin I/O port and they are enabled on the Motors page. The best technology to use for this are inductive proximity sensors. It would look like this:
Here a user reports how excellent the homing repeatability is improved by retrofitting limit sensors.