I am going to do one project in labview my requirement is to control the stepper motor in following way

while pressing one button in front panel the stepper motor should run in one direction in less than 30 RPM continuously. I have seen in USB 6008 specification we can only send digital I/O at 20mA. But, my application require minimum one kg -cm torque, for that the stepper motor that I am having will draw more than 20mA...(probably 0.5 to 1 A)

and I don't know what exactly the stepper motor driver will do... Can anyone elaborate the function of stepper motor driver ...? Can stepper motor driver amplify the current pulses (digital output) to produce required torque?

  • 5
    \$\begingroup\$ Reading the L297 & L298 data sheets would provide a good introduction, even if you don't choose to use those chips. \$\endgroup\$ Dec 21, 2011 at 6:07
  • \$\begingroup\$ What kind of stepper motor do you want to drive? \$\endgroup\$ Dec 21, 2011 at 8:46

2 Answers 2


Is your project the stepper motor driver, or is this for another, larger project?

Unless you specifically want to learn about the intricacies of driving stepper motors, I would recommend just buying an off-the-shell stepper driver, either in IC form, or completely assembled.

I'm a big fan of the Allegro Micro stepper drivers.

If you want a simple, off-the-shelf solution, spark run offers a couple really inexpensive stepper-driver boards (seriously, they pretty much cost as much as the equivalent parts).

enter image description here enter image description here
(Images are links)

They would be quite simple to interface with your USB DAQ system too. It would just take two DIO lines. One would set the direction, and the other would cause the motor to step - one step per cycle.

  • \$\begingroup\$ what about the cost of these kind of drivers \$\endgroup\$
    – vijay
    Dec 21, 2011 at 14:16
  • \$\begingroup\$ what is the maximum current rating of this driver . i need 2A ouput \$\endgroup\$
    – vijay
    Dec 21, 2011 at 15:52
  • \$\begingroup\$ The current capability of each driver is listed on it's product page. (The images are links). \$\endgroup\$ Dec 21, 2011 at 23:12
  • \$\begingroup\$ @Vijay - The question ultimately becomes 2A at what winding inductance and step rate? At higher rate * inductance, it's necessary to use a driver voltage many times the rated motor voltage and use a PWM current-regulating "chopper" architecture in order to force rated current through the winding inductance quickly. Otherwise the inductance means that current, and thus torque falls off rapidly with step speed and the motor may start skipping steps under load. \$\endgroup\$ Dec 22, 2011 at 7:44
  • \$\begingroup\$ @Chris Stratton - both linked stepper drivers are "chopper" drivers. \$\endgroup\$ Dec 22, 2011 at 10:01

Controlling higher currents and voltages with the digital output is done using switches. Stepper motor driving is basically the same. It may change depending on your drive technique and stepper motor type, however it will be just your digital output to electronic switches that controls the windings.

Go to here and scroll down to "Using a transistor as a switch" to learn more about this. Also, this video is a great tutorial. Don't forget the flyback (kickback, freewheeling) diode. Here is a video about that.

Also it is important to know your stepper motor type. Driving techniques differ by stepper motor and winding type, however the electronic switch theory remains the same.Here is a simple approach for a 5 or 6 wire, uni-polar stepper motor, when the transistors are powerful enough:

Simple transistor stepper motor driver

Using ICs like ULN2003A is an easy solution. However, watch out for the current and voltage ratings. ULN2003A is a 500-mA-Rated Collector Current (Single Output). That means when only one channel (like 1B or 2B or 3B... in this case) is ON, it can supply a current of maximum 500mA. If you are not going to do half-stepping, that may suit your work. I once drove a stepper motor with this IC. Also, check out L297 & L298 as Chris Stratton suggested. Don't forget to check out L293D.

  • \$\begingroup\$ It's worth noting that the schematic shown requires a unipolar stepper motor. If you have a bipolar-only stepper (recognizable as it only has 4 lead-wires), you will need a different driver setup. \$\endgroup\$ Dec 21, 2011 at 8:22
  • \$\begingroup\$ Yes. I should add that there are different stepper motor types. Thanks. \$\endgroup\$ Dec 21, 2011 at 8:25
  • \$\begingroup\$ it helps me to learn how to use transistor as switch \$\endgroup\$
    – vijay
    Dec 21, 2011 at 14:15
  • \$\begingroup\$ @vijay, Is this a good comment or bad? I mean, positively or negatively? \$\endgroup\$ Dec 21, 2011 at 14:21
  • \$\begingroup\$ good only abdullah thanks yaar.... now i know how to amplify the current using transistor using ur source...my problem now is why we are using ic in stepper motor driver ...can u explain the function of some ic used in stepper motor driver....but thanks a lot for let me to see the valuable source about transistor... thats let me to learn more things \$\endgroup\$
    – vijay
    Dec 21, 2011 at 14:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.