Monday, October 15, 2007


Stepper Motor Driver v1.0

Another milestone on my quest for an Arduino based RepRap machine. This weekend I breadboarded and successfully tested this new board I designed. Its the most complicated one so far, and I'm really happy I got it to work on the first try (well, technically it took me a couple tries once I had it breadboarded. but it was the first sitting!)

This board is a stepper motor controller. It is designed to be driven externally by a microprocessor, like an Arduino, or it might even work with a parallel port. Its based on the L297 + L298 combo which means that the interface is super easy. There is one pin that specifies the direction of rotation, and one pin that you send a pulse to everytime you want it to take a step. No dealing with funky things like energizing the proper coils, its all taken care of by the L297. Since it uses the L298 as the driver, it can power steppers at up to 2A per coil at 48v.

One of the other neat features is the 'current chopping' of the L297. This chip has sensor lines running from the L298, so it can sense the current through the coils, and will regulate the power to ensure that the desired current is flowing through them. This really comes into play when you drive it with high voltage power, although it does mean that you can basically throw any stepper motor at it knowing that you'll be able to adjust it so that it will run smoothly.

Did I mention smooth running? Holy cow it drove my stepper motors smoothly. A few of the stepper driver circuits I've tried made my stepper motor all jerky and not rotate smoothly at all. This guy made it rotate very smoothly. I gotta say I'm excited to get the manufactured PCB's back and start driving some stepper motors hardcore.

You may want to look at the Allegro A3977 chip. It seems it has potential to simplify the board and reduce it's cost by a few bucks.
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]