About accuracy and positioning resolution of stepper motors

According to many existent articles on adjustment of 3D printers and drivers, the myths of microstepping mode of stepper motors are strongly embedded into the thinking of people. Many of users suppose, that positioning resolution and some conception of positioning "accuracy" increase proportionally to microstepping division. Let's try to confirm or make a denial of the statement. To do it we used a gaged encoder 80000 pulses per revolution and display device.

About accuracy and positioning resolution of stepper motors

One of the most popular stepper motors SM4247 was used for this test.

The first driver for testing is SMD-1.8. It is a simple industrial driver, based on DRV8825. Microstepping mode is 1/16. Unfortunately, the controller of the encoder can't take off data on-the-fly. So all data will be taken in holding mode. The sequence is next: one step execution -> stop -> taking data -> step execution... All information is pieced together into a diagram. A difference between actual rotor position and nominal is shown in the diagram at the left side, step accumulated error is left out of consideration. Incremental error is shown in the diagram at the right side.

About accuracy and positioning resolution of stepper motors

We have got a maximum error 0.19 deg, so step division more than 1/8 doesn't provide improving accuracy, leastways in case of using ВКМ8825. Also we can see some number of points, which stand out of the general picture - this is either a defect on the rotor, or a system mistake. The next step is to test other models of stepper drivers for different microstepping modes, and in an ideal scenario - to create a special controller, which would let us to measure the rotor position in dynamics, not only in static mode.