This is usually done by picking up the index (Z) pulse once per rev from the encoder.
All the industrial turning controls I worked with (mainly Fanuc, but also Siemens, Bosch, Heidenhain, Osai & Fagor) used the Index pulse as well as both counting channels for spindle encoders, Nealeb. All specified 1024 line encoders driven 1:1 with the spindle. But the electronicleadscrew.eu controller appears to just use the A and B counting channels here. The documentation does say ” any ratio can be used, but better closer to 1″.
I think SpeedyBuilder5 is labouring under a bit of a misundestanding WRT the “accuracy” of a closed loop stepper. In this application I don’t believe it will improve the situation for a motor that cannot keep up with the commanded rate due to the loads imposed upon it.
A closed loop stepper drive will notice that the motor is not keeping up, and by how many pulses, due to the encoder – if the motor loading reduces, these missed steps will be returned so the motor end position ends up correct (no missed steps overall). If the motor cannot keep up and the error continues to increase, when it reaches a value set in the drive parameters the drive will enter an error state and signal this to the controller to halt proceedings. But dynamically during operation in this case, the leadscrew would be getting increasingly out of sync with the spindle, cutting a thread with a pitch error. Stopping the drive during a thread because the error has become greater than the fault threshold will probably not end well for either workpiece or tool !
Nigel B.