.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"}

If you’re learning electronics, understanding filters is essential. From audio systems to sensors, and from power supplies to communications, filters help us clean up noise, isolate useful signals, and shape the behaviour of circuits. But

Read More
Upcoming course: Learn first-order filters with Python, simulation, and live experimentation

Greetings! This one is an unusual post: Education Excellence Magazine, a reputable publication known for showcasing advancements in education, has dedicated its latest cover story to Tech Explorations. This edition focuses on Australia’s Most Dynamic

Read More
Tech Explorations Featured in Education Excellence Magazine