Go Down

Topic: DRV8801 or MAX4427 for simple DC control (Read 3416 times) previous topic - next topic


I have a small DC motor which draws ~50mA @ 9 volts unloaded. I won't be putting a large load on it either, and I don't think that matters anyway, since either of these solutions appears to me to have plenty of headroom.

All I need to do is periodically turn it one way or the other.

In looking at H-bridge solutions, I've come up with 2 possibilities which seem to be good for what I need. 1 is overkill, and doesn't come in a DIP package, but has all the bits, including protection diodes. The other will need diodes, but otherwise appears complete. (Both need pull-ups and decoupling caps.)

1) is the TI DRV8801 (PDF) motor controller.
2) is a MOSFET driver using the MAX4427 (PDF), which AFAICT will supply enough current without adding external switching transistors.

Any reason to select 1 or the other? Or am I missing something which would make neither a good solution?
... it is poor civic hygiene to install technologies that could someday
facilitate a police state. -- Bruce Schneier


The DRV8801 is a better choice (it's the one we use on our Rugged Motor Driver. The MAX4427 is a MOSFET driver, not a motor driver, which means it's not intended for sustained "high current" loads, just the instantaneous peak loads of driving MOSFET gates. Furthermore, the MAX4427 output resistance can be as high as 12 ohms at only 10mA, while the DRV8801 is less than 1 ohm, meaning you will lose a lot less power.

50mA unloaded means it could go quite a bit higher with load -- I don't think the MAX4427 is giving you all that much headroom. But, since it's a DIP package and is relatively inexpensive, it might just be worth trying out. If it smokes, time to move up!

Note that the TC4427 is essentially equivalent and quite a bit cheaper.

The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons


Thanks, RC.

I think I'm willing to risk the smoke. :) Or maybe even do the right thing and try to approximate a light load on this motor.

I did spend some time looking for a DIP version of something resembling the ZXMHC3F381N8TC. No joy. Maybe such a thing doesn't exist.
... it is poor civic hygiene to install technologies that could someday
facilitate a police state. -- Bruce Schneier


You could try using a DPDT relay wired up as an H bridge. Clicks a bit so it depends on how much movement you plan.
Arduino Libraries https://github.com/MajicDesigns?tab=Repositories
Parola for Arduino https://github.com/MajicDesigns/Parola
Arduino++ blog https://arduinoplusplus.wordpress.com


Yeah, I could use relays. But I wouldn't learn as much. And they're more expensive than ICs.
... it is poor civic hygiene to install technologies that could someday
facilitate a police state. -- Bruce Schneier


Apr 25, 2012, 04:10 am Last Edit: Apr 25, 2012, 06:07 am by justjed Reason: 1
Followup question. Since I can't find a simple quad N/P h-bridge in a DIP that doesn't either have too low a current rating, or isn't way more complex than I need, any reason not to build my own h-bridge using:

http://media.digikey.com/pdf/Data%20Sheets/Zetex%20PDFs/BS170P.PDF and

Oh, I just picked those rather quickly, I think maybe I need Vgs max a bit higher, for switching them using an Arduino pin, with 9V running the motor.
ETA: Upon further reading, I'm pretty sure I'm misunderstanding the max Vgs(th) spec.

(Yes, I know there's at least 1 thread here talking about the pitfalls of building your own, and I've looked for it. Can't find it.)
... it is poor civic hygiene to install technologies that could someday
facilitate a police state. -- Bruce Schneier


Major pitfall: Preventing shoot-through. MOSFETs don't immediately switch off, so providing enough current to turn one device off before you turn the next device on is important. This requires two pins per half, rather than just one, to get the timing right, so you need four pins on your Arduino per controlled motor. For a 50 mA motor, you can use two N-channel MOSFETS like the BS170, and two P-channel MOSFETs like the BS250. To turn on/off the P-channel ones, you can use another N-channel to ground out the gate (turn on,) and use a pull-up resistor of about 200 Ohms to turn it off. This may not work as well for high-current devices, but that's not what you're dealing with here.

I would highly recommend a pre-built motor shield if you just want something running. The Rugged motor shield looks like a fine, domestic (assuming you're in the US :-) mail choice. http:// http://ruggedcircuits.com/html/rugged_motor_driver.html
If you can wait for snail mail from China, you can get away under $20 including shipping: http://iteadstudio.com/store/index.php?main_page=product_info&cPath=23_25&products_id=38 -- this driver is similar to the original Arduino Motor Shield, which sells for $40 at Radio Shack, based on the LM298, except it's not a shield; it's wire hook-up.

If you're rolling your own, LM298 is available in through-hole, which is usually simpler to solder than surface mount, unless you're set up for reflow/paste soldering already.


Apr 26, 2012, 12:40 am Last Edit: Apr 26, 2012, 03:53 am by justjed Reason: 1
I've read about the shoot-through problem. I assume the dedicated h-bridge driver chips take care of that. I still need to do some reading, but yeah, I'm in something of a hurry to at least get all the parts together, and this is the last bit. I won't have a problem dedicating pins, since even a Uno is more than I need for this. I'd see if I could get it on a Tiny, if I had one of those around. I'm hoping to build the whole thing on a proto shield, or maybe even try my hand at making a PCB.

Thanks for the suggestions.

ETA: Just so I don't have to re-order, I'm going to pick up a couple FAN7382N driver ICs.
... it is poor civic hygiene to install technologies that could someday
facilitate a police state. -- Bruce Schneier

Go Up