Every LongMill MK2 is powered by our LongBoard CNC controller which has four integrated TB6600 stepper motor drivers (pictured). By default, we set each driver to 1/8 microstepping via the onboard DIP switches. We chose 1/8 microstepping because we found that it’s a good balance between motor resolution and torque output. The theoretical resolution with this setup is 0.005mm.
What is Microstepping
Stepper motors have a fixed number of steps in their internal rotor which determine the steps required to make a full, 360-degree rotation. With these steps in mind, the controller drivers can “step” forward or backward however many times to rotate each axis motor. The NEMA 23s used on the LongMill MK2 are split up to 200 individual steps. This might seem like a lot, but in many cases more accurate control is still needed.
Microstepping is a technique that allows for steps to be broken down into ‘sub-steps’ so that the stepping resolution can be increased. This allows us to:
- Have a smoother movement in the motors themselves
- Improve positional accuracy (read more here: https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ )
Currently, the steps/mm EEPROM settings in the LongMill MK2 ($100, $101, and $102) are set to 200. This value helps the controller turn g-code into linear movements, then into rotational step signals for the motors. This number comes from taking the values below and running them through the formula:
- LongMill stepper motors are 200 steps/rotation
- Drivers set to 1/8 microstepping by default
- MK1 Longmills: X-axis and Y-axis are direct drive, the Z-axis has 1-to-1 pulley ratio
- MK2 Longmills: all axis are direct drive
- Our lead screws have a 2mm pitch and are 4-start, 2mm x 4 = 8mm lead
Steps/mm = Steps/revolution / (microstepping value x gearing ratio from motor to lead screw x lead screw pitch x # of starts)
This gives us: 200 / (1/8 x 1 x 2 x 4) = 200 steps/mm
If you’d like to change your machines microstepping values, you’ll have to:
- Change the positions of the desired drivers onboard DIP switches and
- Set the EEPROM setting to match.
For example, changing the Z-axis driver to have 1/16 microstepping would require following the table below and then in your g-code sender console sending the command “$102 = 400” to set the appropriate steps/mm of the Z-axis.
Each driver can be adjusted to use either single-step or 1/2 step, 1/4 step, 1/8 step, and 1/16 step microstepping. Bare in mind that changes to the DIP switches should only be made when your LongMill MK2 is powered off. Also, understand that if you play with microstepping you’ll find that positional resolution and torque tend to be inversely proportional.