TI DRV8834 Low-Voltage Stepper Motor Driver

Before I go and possibly re-invent the wheel has anyone written a driver for the DRV8834 they wouldn’t mind sharing? I’m planning on using this board to drive some stepper motors ( https://www.pololu.com/product/1207 ) for next month’s class on stepper motors.

That chip doesn’t need a driver. For every pulse you send to the STEP pin, the motor will move one step accordingly. Technically you can do this with a simple switch.

If you upgrade to a L6470 however ([url]https://www.sparkfun.com/products/11611[/url]) then yes you would need a driver. If you want to go more hardcore ([url]https://www.sparkfun.com/products/9670[/url]). That Dual H Bridge can run a stepper motor if you bit bang it correctly :slight_smile:

@ Mr. John Smith - I’m just going to wrap it up in a nice little Gadgeteer module package.

@ Duke Nukem - Are you also going to teach them the principles of stepper motor operation?

@ Mr. John Smith - We will cover Unipolar, Bipolar, Wave Drive, Full Step Drive, Micro Stepping, Hybrid Stepper Motors, toss in a refresher on inductance and current I think that should be able all I can squeeze in as I’m also covering Servo Motors. If they were just grad students then I could make the class as long as I wanted, but alas its just an open to the public class and I’ve been told more then once that the store employees like to go home sometime reasonably after the store closes as Q & A section often goes very late.

Anything else I should cover?

@ Duke Nukem - definitely don’t leave out the differences between permanent magnet and variable reluctance motors. You’d be doing them a disservice to send them home without knowing that.

I have been playing with the DRV8825 modules. As mentioned you can just pulse for a single step. To go at any reasonable speed you need pretty accurate pulse timing though. And ideally need to accelerate and decellerate to avoid skipping steps (especially eith load). You can do some stuff with the PWM, or signal generator class, but its pretty limiting as you cant easily do repeatable movements with the former and the latter is blocking.

Im currently in two minds as to using RLP or going to mbed.

Winding their own motors?

1 Like

@ hagster - Not what I really wanted to hear. GHI had a nice Stepper Motor module base on a L6470 ( https://www.ghielectronics.com/catalog/product/418 ) and I wish I had bought a crate of them before they discontinued it, but for this class costs were on my radar screen so I got some DRV8834’s so I’m hopping I can make them work at least reasonably for this class as high speed isn’t on the requirements list (not getting sued is a biggie so speeds which could lead to loss of limbs, digits or even hair are out :slight_smile: so if I max out at even a 50 RPM I’m good with that ).

OK so Viable Inductance Steppers are now included, winding their own motors is out as I only have these guys from 6:30 PM till whenever the store kicks us out (usually after 9 PM closing time as they have been very good about letting folks have lots of time for Q and A) and I have a section on Servos to cover but I’m going to avoid industrial AC servos as that topic becomes dog puke real fast (and outside my budget for this class) so I’m keeping it simple and we’ll use Hitec HS-422’s to let them explore the servo concept.

@ Duke Nukem - if it wasn’t clear, that was outright sarcasm on my part. Stick to the basics. Also, DRV8825 boards are widely available very cheaply, as are A4988 boards, because they’re commonly used in RepRap printers.

You would have issues with step rates if you were trying to build a speedy cartesian kinematic platform, but for putting a tape flag on a motor and moving them back and forth, just bitbanging the GPIO will be plenty.

If you’re interested in the L6470, SparkFun sells a board (which is a bit pricey), or it’s also being produced cheaply in our second favorite country, and is available on eBay for about 1/3 SF’s price. Once you got it wired up, GHI’s driver would probably work just fine.

For teaching i would use the 28byj-48 with the uln2003 driver board.

They are so cheap you can buy enough for the whole class.

The driver board has LEDs so you can see what coil is active.

You have to do the work to properly drive the motor. Wave, full step or haf step.

All 5v so no PSU issues.


The only downside is that they are unipolar, but you can easily modify them to bipolar if you wish.

1 Like

I’m with @ hagster. Those things are incredibly cheap, easy to modify to be bipolar, and simple to drive with just about any driver out there, including the simple L293D.

There’s also an adorable RepRap 3D printer that uses them, which claims to be buildable for ~$100: ToyREP 3D Printer by thorgal - Thingiverse Good way to use the motors after your class :slight_smile:

1 Like

I have written a pretty full featured driver for the DRV8834 which allows for step size changes (small as 1/32 steps), speed control, direction, move x steps, rotate x degrees and included background tasks for the moment commands, as well as it raises interrupts on over current, under voltage and over temperature conditions. I also have it switchable to low power sleep mode which also turns off the power to the motor (which is handy given its a stepper motor). Now it is bit banging so we aren’t going to win the Indy 500 with this puppy but then again its a $5.00 Stepper Motor Driver board. Once I’m done testing and cleaning up the code I’ll post it on my GitHub site ZingPow · GitHub for other folks if they want it.