How to control High power motor with arduino uno

I am trying to control a 24V motor with my Arduino uno with a bluetooth shield so I can communicate wirelessly.

You can see the exact motor I am using here:

I have seen online that you can use a tip120 transistor and some diodes for the schamatic with an H-drive but idk if that is too simple? All I need is to be able to control its speed while going forwards and backwards without blowing anything up. What would be a good circuit to create from scratch without buying a $20+ high power motor driver all in one part?

motor specs.pdf (38 KB)

I see the specs call for a 24 volt power supply that can deliver at least 125 amperes. Do you have such a supply?


Truck batteries? Boosted battery?

No load current 2.1A. Stall current 125A - 60 times the no load current! There may be a period missing in the second number... though it does match the 0.19 Ohm terminal resistance number. No matter, that's a huge current. What makes you even think a TIP120 (BJT type transistor - rated 5A, pulse up to 8A) is even up to such a job? 125A is a huge current even for a big MOSFET. You need a serious power MOSFET that can handle this peak current, plus a way to shut it off when you actually have a stall. Probably have to use PWM to reduce start up current as well. Add a hefty MOSFET driver to your H-bridge to get them to switch fast enough, and the appropriate logic to prevent shoot-through (which at this kind of currents would quickly mean smoke, fire, and other serious issues).

Not as of yet but I can get one to power it.

The link suggests that these motors indeed are normally battery powered. Batteries can indeed provide such huge currents, while regular power supplies can not.

I’m glad I asked because it could have been a serious problem if I just went ahead and tested it out. Are there any specific parts I should look for? I have only worked with smaller DC motors before and not really with any high power motors like this one so I don’t really know what specific type of mosfets and parts to make it work correctly.

More info on the manufacturer's page.

The manufacturer also sells a rather beefy speed controller with their motors.

Important to note, from the manufacturer's page:

Please note that the above torque figures are the theoretical peak torques when stalled. Operating any high-performance motor while stalled will damage it.

The manufacturer wrote “Operating any high-performance motor while stalled will damage it.”

Maybe they meant something like hard-starting can/will damage the motor? Or hitting it with stall current levels (or some significant amount) while stalled will damage it.

The controller that I linked to has some start-up limit settings, quite normal for high powered electric motors to need some form of current limiting at start-up, then when running at speed these limits can be lifted. Manufacturer's page even mentions using PWM and limiting duty cycle to allow the motor time to cool down...

Also you will need a stall detection, i.e. some current monitoring, so in case the motor does stall the current is cut, or it will burn very quickly.

Long story short: it's a beast, handle with care!

Stick a temperature sensor on it? Limit duty cycle with read value?