Arduino to control 16A motor.

I want to control a 16A (stall current) motor using my arduino and by not spending a whole lot of money on something like speed controller. What I had in mind is go from the output of the arduino to a BC338 transistor so I have more current to turn on and off two RTD14005F relays. I would use two because i need one for forward and one for backwards. Does anyone see a problem with this?


Does anyone see a problem with this?

Suitable rated relays is certainly one valid method. If you do indeed use two for bidirection control, be sure to pay attention to design details and make it impossible to have both relays engaged at the same time (high current short circuit time) under any condition including software error or bug.


Correct me if I'm wrong, but if both relays are on the motor will act as a brake, just like if it was grounded on both positive and negative.

@retrolefty: Those relays the OP posted are SPDT relays - wired properly, there should be no danger of shoot-thru; if four SPST relays were being used, then there could be an issue...

@magruder13: The relays you posted look like they may be undersized; try finding ones with 20A rated contacts, to give you some leeway in the design. Other than that, it should work ok (remember your flyback diodes).

Crosh: Please explain exactly what a flyback diod is and where I would use it?

KE7GKP: I would really like to use a higher current rated relay except I cannot find one that has a higher rating and still runs off of 5v. I was looking at using automotive relays but I don't know what I would use to get the voltage up to 12V and the current to turn them on and off.

Also, I would need to use a separate battery pack to work with these at 5V, what would be recommended for controlling 10 of these relays on and off? Could I get away with 8AA batteries? I cant say how many times I'm going to be turning these on and off but its for a robotic arm that is going to be used in competition and each round only lasts 7-10 minutes.

Please explain exactly what a flyback diod is and where I would use it?

I'm new to the whole electronics field and since there is million of different transistors out there I have no idea how to figure out what ones can do what I want so I don't know if what I want is even possible. I would like to control the relays using the 5V from the arduino to a transistor that controls 12V but I thought u needed 12V to turn on and off a 12v current. Basically what I am asking is can I use an transistor that turns on with 5v and will turn on and off 12v?

The motors are running off of 12v batteries.

Yes that is easy see:-

I read pretty much all of that and none of it explains if and how I can control a higher voltage with a lower voltage. Am I missing something?

Am I missing something?

Yes, that very first diagram shows you that.

Mike, for some reason that page doesn't render well in IE (well, not for me it doesn't - diagrams overlaid on text) - Firefox is fine, and so, I guess, is Safari. Don't have Chrome.

Yes I believe it is a bug in IE, some one told me it was fixed in the latest edition but as the Web Site was made using an Apple product I am not too sure how keen Micro$oft are at fixing it.
However, the point is that all the diagrams show a lower voltage switching a higher voltage so I am not sure what the OP is not getting.

Mike: I get it now, I drew up that diagram in LT Spice and it wasn't allowing the full voltage to go through and then I realized that I had the transistor backwards. Thanks for the help, i got it all figured out now.