Repository navigation
Threading encoder information
For threading, an encoder with an index pulse is needed. A single index pulse encoder (1 PPR) can be enough if the lathe motor has enough torque to keep the RPM constant during threading. A 1 PPR encoder is only supported by GRBL-L and GRBL-L-Mega firmware.
Every controller firmware has a minimum, maximum and optimal encoder resolution. Using an encoder that has a higher PPR than the optimal value will decrease threading accuracy. The minimum, maximum and optimal PPR values are measured (bench tested) while simulating a lathe threading pass. I found that the optimal PPR depends on the used firmware used, not the processing power of the board.
Encoder resolution (PPR):
| Firmware | Min | Max | Optimal |
|---|---|---|---|
| uCNC | 4 | 16 | 8 |
| GRBL-L | 1 | 16 | 4 |
| GRBL-L-Mega | 1 | 16 | 4 |
A special notice about the ESP32 processor. In my lathe I use 12V encoder/index pulses that are converted to the required logic level (3V3 or 5V) using optocouplers. This works well for all my processor boards except the ESP32. The ESP32 needs very steep encoder pulses. These steep pulses can be generated by using a FET type level converter after the optocoupler level converter. I added this cheap FET type bidirectional logic level converter to my ESP32 board.
