From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.


Showing results for 
Search instead for 
Did you mean: 

Microstepping in Stepper Motor

iam using push pull driver ic as an amplifier for my stepper motor, I need to know if Iam looking for a very precise position, what are some ways to apply microstepping. I mean will i need some kind of algorithm, any special IC for microstepping, I just know what would be procedure to apply microstepping.

0 Kudos
Message 1 of 12

Microstepping requires special drivers and may need to be adjusted to the specific motor.  Start by searching several of the motor and motor controller manufacturer web sites.  Some of them have information on microstepping.


Microstepping essentially trades off the stepper motor advantage of knowing how far the motor will move in one step for smaller "steps" with more complex controls.  Stepper motors in microstepping mode are synchronous motors with electronic divers which force the motor to operate in positions between the magnetically stable step positions.


Unless this is an educational project, you will almost certainly find it less expensive to buy a suitable motor and controller than to try to design and build your own.



0 Kudos
Message 2 of 12

ok but is there a way where I can build some algorithm in labview to drive the stepper motor in microstepping mode.



Message 3 of 12

LabVIEW is very versatile.  You can certainly do the calculations and generate the waveforms you need in LV.  What those need to be will depend on your choice of motor and driver.  A standard stepper motor driver may not be capable of microstepping, no matter what signal you send it from LV.



0 Kudos
Message 4 of 12

what kind of driver would you reccomment that you can use my labview and daq with and perform microstepping..



0 Kudos
Message 5 of 12

I do not have nay specific experience to suggest any particular drivers.  Start with your requirements for speed, torque, positioning accuracy, and acceleration to search for suitable motors and drivers.  Once you have that, then you can look at DAQ and software requirements.



Message 6 of 12

I am using L293D as my stepper motor driver, but i am encountering some problems..either the way which i am using is not correct or the driver is incapable..


Kindly help me out with the driver and let me know the outline of the method used to implement Microstepping with labview

0 Kudos
Message 7 of 12

You have not indicated what motor you are using, what kinds of velocity and acceleration profiles you want to follow, and the torque and inertia characteristics of your load.


You also are not specific about the nature of the problems you are encountering.


As far as I know, no one who participates regularly on these Forums claims to be able to read minds.  You need to tell us in detail, with quantitative values what you want to do, what you have tried, and what did not work as you expected to get meaningful help.


First. Read the Wikipedia article on stepper motors, paying particular attention to the microstepping section.  Then read MircoStepping Myths...


After reading these articles, if you think you still want to try to do microstepping yourself, then continue below.


Second. Provide the motor and load charactersitics.

Third. Tell us what kind of device you are using between LabVIEW and the L293D.

Fourth. Post the VIs you have tried and tell us what does not work.



0 Kudos
Message 8 of 12

I am using a Bipolar stepper motor , model no.- M42SP-6NPS, 4 wired(A1,B1,A2,B2)


Working voltage: 10.8 to 13.2 volts

Rated current per phase : 400mA(peak)

Step angle: 7.5 degree

Holding Torque 420g·cm 
Pull-out Torque 220g·cm/800pps 
Pull-in Torque 260g·cm/200pps 
Max. Pull-out Pulse Rate 1200pps 
Max. Pull-in Pulse Rate 640pps


The DAQ card i am using between Labview and driver is NI usb 6221


Microstepping requires to regulate the current so I am actually giving a sine wave to coil A and Cos wave to coil B, trying to increase the current in one coil and decrease in another 

I am attaching the VI for further reference...

In the VI :

ao0 is connected to coil A1

ao1 is connected to coil B1

A2,B2 are grounded

0 Kudos
Message 9 of 12

How are you planning to regulate the current with drivers (L293D) which switch between fully off and fully on?


I do not have the DAQ Assistant so I cannot tell which outputs you are using, analog or digital?



0 Kudos
Message 10 of 12