Used with a dual bridge driver such as the L298N forms a complete microprocessor-to-bipolar stepper motor interface. For example The L297, takes the signals from your microprocessor and translates them into stepping signals to send to the L298 which actually drives your stepper motor. The L298 is capable of driving up to 2A per coil.
A very basic and simple stepper motor controller is based on the two ICs (IC=integrated circuit) named L297 and L298. I created the following schematics for you. Of course you will need to create the PCB and have a soldering station in order to make this.
What are the pros and cons of driving a bipolar stepper motor with a motor driver IC, like the TI DRV8824 (perhaps packaged on a carrier board like Pololu's Pololu - DRV8824 Stepper Motor Driver Carrier, Low Current), vs. using the Arduino Motor Shield based on the L298, or perhaps just an H-bridge as documented in the links in the documentation for the Stepper Library?
If I used a 8824 or similar driver chip, would I be able to use the the Stepper library, or the AccelStepper library? It looks like these libraries are designed to handle controlling the 2 stepper coils directly, while the 8824 would do this itself, providing higher-level direction and step inputs.
pincorrect:What are the pros and cons of driving a bipolar stepper motor with a motor driver IC, like the TI DRV8824 (perhaps packaged on a carrier board like Pololu's Pololu - DRV8824 Stepper Motor Driver Carrier, Low Current), vs. using the Arduino Motor Shield based on the L298, or perhaps just an H-bridge as documented in the links in the documentation for the Stepper Library?
On the other hand - in theory using the L298 (or better, your own custom driver system using discrete components or some other mosfet-based h-bridge or half-bridge chip) - driving it directly with the Arduino would potentially allow you to experiment with your own software-based chopper driving system (via code and such - you would need to implement a current feedback monitoring system, too) - different stepper drive modes, etc. Again, in theory, all of this could be done going that route.
The thing you are likely missing about the L298 is that in the case of stepper motors, it wasn't meant to be used alone except in really low-cost applications (such as a DC h-bridge controller or for stepper motor uses where cost was a main factor) - there is a companion chip called the L297 which is meant to be interfaced to the L298, and it provides a lot of additional functionality to the L298 when used for stepper motor applications (take a look at the L297 datasheet, and reference the L298 datasheet side-by-side to see what I mean).
I looked at a little more at the blurb at the top of the AccelStepper docs, and it did say that it supports motor drivers like the Sparkfun EasyDriver based on the Allegro 3967. So maybe it would work with (or could be easily modified to support) the TI 8824. (And I'm not really wedded to that one, or any particular driver chip right. I should look at the 3967 also.)
May I ask a follow on question? If I used a motor driver IC, would its active current limiting capability also detect (and maybe even report) if the motor stalls, and prevent damage to the motor in that case? I.e., can I monitor for motor stall if I use a motor driver chip?
Stepper motors work best if they are driven from a high voltage supply. The 8824 can operate with up to 45 volts. The proper stepper motor driver boards can do this because they can be set to limit the current to the maximum required by the motor. Note that the voltage specified in stepper motor specs is largely irrelevant - the maximum current is the key figure. For obvious reasons you must choose a stepper driver that can comfortably supply the max current required by your motor.
Note that the Easydriver (3967) has a much lower current rating than the BigEasydriver or the Pololu A4988 both of which use the A4988 chip. The 8824 can supply a little more current. If your motor needs more than about 1.5 to 1.7 amps you probably need a more powerful driver (and unfortunately more expensive). The general principle of operation will be the same.
Remember that the speed of a motor always depends on the supply voltage, allelse being equal. So driving a stepper slowly can usually be done eitherunipolar or bipolar from an H-bridge, but you need to find a motor with high-resistancewindings (10 to 100 ohms sort of range). The current is resistance limited,the max RPM might be as low as 150.
I think that circuit is a general purpose driver for low power steppers - if the stepper were bipolar you would drive it directly from the L297 (but would need to add free-wheeling diodes, or perhaps substitute the L298D). This circuit adds a ULN2003 to conveniently drive a unipolar 6/8 wire motor. The L297 provides the step/direction functionality and only needs 2 pins to drive it (the ULN could be driven from the Arduino from 4 pins, but maybe you don't have 4 pins available).
The L297/L298 combo has the advantage that the pair supports current limiting (that's what the SENSE pins are for), when they are connected at per the example in the L298 datasheet. This allows you to use a higher voltage to drive the stepper motor, which means you can get faster step speeds.
i'm wondering.. alhtough the uln2003 would protect the l297 for such mechanical failures too i think, the driver electronics wont backfire.which would happen if the l297 had no driver unit at all... perhaps the l298 needs a bit of protection too ?? perhaps as it might be designed for even much larger currents ? (it got a huge cooling fan)
Also while i'm new into this stepper thing, i've seen some samples of complete solutions inside IC's (driver and stearing scheme, all in one IC).But some of those where no longer fabricated, perhaps do you know of what is new and good in this small stepper motor IC scene ?I bett that fabricators create once in a while new chips for this that perform better.
I've knocked together a L297/L298 stepper motor controller and have a problem with what seems to be half the output. On the final 4 output lines after the L298 and diodes, I have 2 bipolar LEDs to help visualise what is going on without requiring a motor be attached at all times while debugging.
This is a follow up to the Easy to Build Desk Top 3 Axis CNC Milling Machine Once you get the machine all put together its time to make it go.So it's time to drive the motors. And here I've put together a circuit that I think is the absolute cheapest and easiest way to control stepper motors with step and direction signals. It works with many of the free or low cost softwares that produce step and direction signals through the parallel printer port. I'll explain how it works but for those of you who just want to get on with it... The_Next_StepBut I would suggest for those of you who are unfamiliar with circuits to do it on a bread board (see pictures). This way you can easly correct any mistakes and try different things.This schematic is just to control one motor so for the milling machine you need 3 of these circuits and 3 motors.From Left to right and top to bottom. I try to draw schematics so that positive voltages are toward the top and ground or negative volge is toward the bottom. Inputs are to the left and outputs to the right. Fist off the voltage that you are going to use to run the motor needs to be stepped down and regulated for the logic chips. I used a 6.2 volt Zener to do this because it's low enought for the logic chips to receive the signals from your printer port and high enough for the outputs to drive many of the standard power FETs, so you may not have to use logic FETs like the schematic shows. So the resistor R1 drops the voltage, the Zener diode regulates it to 6.2 volts and the capacitor C1 filters out any noise from the motor, and this voltage powers the two IC's.The first IC (CD4516) is called an up/down counter. One signal from the printer port will tell the counter if it will count up or down and the other signal, called step, will increment or decrement the counter by one count. Now were only going to use two outputs from the counter Q1 and Q2. With this binary counting method there are only 4 combinations of output from the counter: 00, 01, 10, and 11. These lines are fed to the A and B inputs of the other IC (CD4028) which decodes these combinations to 4 seprate outputs.I did a trick here using the C input to work as an Enable input. If the Enable(optional) is connected to the parallel port and the computor tells it to shut off all of the outputs to the FETs will go low(Off). So the four outputs of the decoder drive the FET transistors and the FETs drive the four poles of the motor.Now everybody wants to know what the light bulb is for. Its not so much whether you use a bulb or a resistor, its that a bulb comes with a socket. You can get these wedge base light bulbs from 1 watt to 20 watts. Start with may be a 4 watt bulb and if you find you need a little more beef you just pull it out and put in a 10 watt bulb. It's really handy. And I found it's good to have some voltage drop there as kind of a ballast for the motor windings. The diodes catch some of the current that comes out of the motor each time the FET transistors turn off. The diode feeds this current back to the supply.When you get the circuit up and running find a power supply that puts out more voltage than you really need and then change out light bulbs till you get it running smoothly. Some of my stepper motors are 5 or 6 volt and some are 12 volt but it all works out. 2b1af7f3a8