Options for controlling high current DC motors

Hello forum, I would like to bidirectionally control a large DC motor (to the tune of 10-20A at 12-24V, will most likely only need the 12V / 10A).

The only shield I have seen that handles any serious current is MegaMoto which is hideously expensive.

Typically, shields or raw ICs on breadboards use the L298 (which needs a bucketload of peripheral components and the max current is a joke) or the L293 (which doesn't need as many peripherals but the max current is also a joke).

So, is there anything obvious I 'm missing?

If not, is there anything wrong with piggy backing a bunch of L293s (which are dirt cheap)? In the past, I have piggybacked 3 L293Ds (.6A per channel) to control DC motors with current drain around 4A. If I remember correctly, the L293B (which I think is obsolete and is replaced by the N?) go up to 1 or 2A per channel so I should be able to get quite a bit of current with a moderately sized stack.

Any comments or ideas are very welcome.

I don't think 'piggy backing' multiple devices is a good idea, no way to guarantee equal sharing of the current?

The Pololu company is well known for their many motor drivers at many different power ratings. Perhaps you could look over their spec sheets to get an idea of possible devices to use if DIY, or just select one of their offerings.


Yes, I had a look at the Pololu options but they are also quite pricey.

Now, regarding not being able to guarantee equal current, how much of a problem is it going to be? The question really is, does a chip getting hotter increase or decrease its impedance? If it increases it (as in the case of resistors), the system self regulates. If it decreases it, we will have runaway temperature increase and the chip will blow, then the next one in a cascade etc until the while piggybacking unit is gone. However, L293s also have thermal shutdown, which probably means that the moment the hottest one shuts down, we will get a cascade of shutdowns. Annoying but far from catastrophic.

So, my question I guess is, what's the worst case scenario? A few blown chips are hardly a problem, L293s are dime a dozen. The motor can't be damaged by anything the chips do. In the unlikely case a chip blows (if the thermal shutdown fails for some reason), could it dump the input voltage (12V) somewhere where it could do something awful (like the Arduino PWM or GND pins)? Is it reasonable to protect against this by branching some 5V Zeners from each of these lines to ground as a safety valve?

Unfortunately the darlington outputs used in L293 and L298 devices increase current at higher temperatures - however you are using them as switches, so the current ought to be determined by the load. In this case its the saturation voltage's response to temperature that matters - might be a graph on some of the datasheets, offhand I'm not sure how the saturation voltage behaves (actually its one Vbe drop plus one Vsat - however both are resistance-dominated at high current so its not simple). If the saturation voltage increases with temperature they can be paralleled without worry (current is steered away from hottest devices), if V decreases with T then there could be issues (mounting all devices on a common heat sink can help if the effect isn't too large)

Offhand I'd say you're always going to be better off with a MOSFET H-bridge anyway since the power losses can be much lower at 12V than any darlington output device. For 12V operation you have the possibility of using 2 n-chan and 2 p-chan devices, each driven from a 12V MOSFET driver chip.

But be careful, this sort of design gets hairy quickly as the power levels go up - any mistake can fry (usually explode) a MOSFET or two...
Common mistakes are not driving MOSFETs hard enough to switch fast (necessary for PWM operation) and allowing shoot-through (lower and upper devices on the same arm of the bridge conducting simultaneously - this will definitely cause device failure in a very rapid and expensive manner).

I see. I have to admit I 've been stunned by how expensive driving a simple DC motor can be. An R/C ESC for a brushed 30A motor can be bought for $7.83 at hobbyking. With some creative soldering can't I make the equivalent of an H bridge using simple relays to route the current and have a cheap bidirectional DC motor controller? I must be missing something otherwise why would anyone spend so much money on the other circuits? Also, why are R/C ESCs so cheap compared to, for example, the Pololu motor controllers? I really feel like I 'm missing something blindingly obvious otherwise why would anyone buy them.

With some creative soldering can't I make the equivalent of an H bridge using simple relays to route the current and have a cheap bidirectional DC motor controller?

Certainly you can if your directional reversing rate requirement is not too demanding, one can make an equivelent to an H-drive using A DC voltage source, a single DPDT relay, and a single MOSFET rated well above the voltage and current requirements of the motor to handle the PWM speed control. The relay will control the direction of rotation and the mosfet will control the variable speed from stop to full speed. Of course a relay driver transistor would be required to control the higher current relay from an arduino output pin, but that's simple and cheap. A logic level N-channel mosfet would be the best choice when using an arduino also.

Also, why are R/C ESCs so cheap compared to, for example, the Pololu motor controllers?

Mostly a matter of scale of volume I would think. If Pololu sold as many motor driver modules as the Asians sell to the R/C planes, helicopters, and car market I would suspect they would be more price competitive.

I also have a 10amp motor driver board. It has a 5v pin. I have to connect it with 5v pin of uno 3 or not ? If i give power to my driver board, i have to power up uno 3 with another source ? Please help.

Which board do you have? What does the manual say? Does it not come with a library you can use?

Can we replace SUF2001 motor driver MOSFET with a high current 5Amp IC ? I checked the datasheet, it has drain and other pins. How I can get PWM; DIR and BRake from those 8 pins. SUF2001 is from AUK corp.I attached the Datasheet.

SUF2001.pdf (621 KB)

You can replace anything with anything but as long as you don’t say what it is you are referring to, the results might not be what you might expect.

Can you just tell me how i can connect Suf2001 with uno 3 ? Which pins go where ? I will replace it then.

No, because I have no idea about the SUF2001, perhaps someone else might. But originally, you said you were connecting it through a board, which would indicate that you connect to a bunch of other components as well.