.st0{fill:#FFFFFF;}

Arduino

What is microstepping? 

 August 6, 2018

By  Peter

Join Our Mailing List

We publish fresh content each week. Read how-to's on Arduino, ESP32, KiCad, Node-RED, drones and more. Listen to interviews. Learn about new tech with our comprehensive reviews. Get discount offers for our courses and books. Interact with our community.

One email per week, no spam, unsubscribe at any time.

A stepper motor is designed to move at one step at a time by energizing its coils at the exact right times. When the motor moves like this (1 step at a time) it also moves within its torque specs.

Drivers like the EasyDriver can do microstepping. This is a way to get the motor to make each step smaller, at the expense of torque. In other words, you get more accuracy and smoother turning with less turning force.

This is a very cool trick. It is a bit of a juggling act. The EasyDriver is energizing the two coils so finely that it manages to keep the motor in-between its resting positions. That is why when you do microstepping, both the motor and the EasyDriver get so hot, they are working very hard.

You can read about the EadyDriver microstepping modes in the documentation. Look for Q12. I am copying the relevant part here for convenience:

The Easy Driver is able to operate in 1/8th, 1/4, half, and full step (2 phase) modes. These four modes are selected by the logic levels on the MS1 and MS2 input pins. Normally, the pull-up resistors on the Easy Driver hold MS1 and MS2 high, which results in a default setting of 1/8th microstep mode. You can pull either or both to the ground to select the other 3 modes if you want.

See the table below (taken from the Easy Driver web site):

For a motor like the common 28BYJ-48, one step is 5.625° (specs). With the easy driver, depending on the state of the MS1 and MS2 pins, you can get it to move at 5.625°/2 (half step), 5.625°/4 (quarter step) and 5.625°/8 (eight step). You can control MS1 and MS2 with wires connected to GND or 5V, dip switches, or just connected to the Arduino and control them in your sketch.

To find which wires correspond to a coil, look at the diagram in the datasheet. It will be a bit tedious because of the middle connection but think about this. When you connect pink and blue with your multimeter, you will get the largest resistance. Only one pair can do this. If you connect pink-red or orange-red, or red-yellow or red-blue, you will get the smallest resistance. Now you can know the red (common wire). And when you connect pink-orange and yellow-blue, you will get the middle resistance. So with a bit of patience and a notebook, you can work out the coils.


Tags

Driver, Easydriver, Electronics, Microstepping, Motor, popular, What, What Is


You may also like

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Understanding the power requirements is crucial for any enthusiast using the Arduino Uno in their projects. How you manage voltage, amperage, and power sources impacts the success or failure of your endeavours. In this guide,

Read More
The Ultimate Guide to Powering Your Arduino Uno Board

If you are curious about how electronic devices work, understanding the fundamentals of the operation of their basic components is essential. Every electronic device—from the smartphones in our pockets to the satellites orbiting our planet—contains

Read More
A Guide to Essential Electronic Components in Circuits