Controlling a DC 36V 1kW motor

Hi everyone!

I'm just getting into electronics, and I'd like to control the speed of my DC 36V 1kW motor (in a scooter). I've measured the peak current, and it's about 10-15 Amps.

I've read lots of articles about controlling a DC motor with Arduino, but every tutorial I've found was designed for 5V-24V motors. Transistors, H-Bridge, FETs, relays, etc..

My problem is I don't know which way to go.. I found that H-bridges are expensive, and I don't really need the motor to go both directions. Transistors are hard to find that can drive a 15A load without heatsink (am I right??).

I'd be very grateful if someone could help me find a relatively easy and cheap solution . :)

Thanks in advance.

If you are looking at the simplest method, I would be looking at logic level mosfets. If you get a mosfet that has an RdsOn about 0.010 or 10mOhms ( or lower) then it should be able to handle about 15 amps with only air cooling ( depends on switching frequency too). Maybe one like this http://www.irf.com/product-info/datasheets/data/irfb3207zgpbf.pdf

Even though the arduino can output the 5v needed it may not supply enough current for fast switching (PWM). Someone more knowledgeable can hopefully chime in.

The 1 kW rating for a 36V motor means that the maximum rated running current is around 30 amperes. The stall current, which the motor draws briefly every time it starts up, will be hundreds of amperes. That will fry just about anything a hobbyist can put together, so do your research!

See this design info on a 36V 1kW controller from TI http://www.ti.com/tool/TIDA-00436?keyMatch=null&tisearch=tidesigns

I have measured a max of 15 Amps flowing to the motor. I think the battery is not able to provide more amps. I also have a 25A fuse, so in theory no more than 25A current can flow in the circuit.

Does that make sense? :)

If the current is limited by the battery that will make it much easier for the motor driver, but it may shorten the battery life a lot!

I also have a 25A fuse, so in theory no more than 25A current can flow in the circuit.

No, a 25A fuse will carry 25A quite happily. It might blow at 50A within minutes or seconds, it likely will blow at 100A within a few milliseconds. A fuse will not protect a MOSFET from exploding on severe overload as the fuse wire has more thermal mass than a slice of silicon and some gold bond wires. You need a fast over-current detection circuit that removes drive from motor driver in a few microseconds. You have a fuse to protect the wiring.

Single direction of drive will simplify things a lot - a single MOSFET driven by a MOSFET driver and a beefy schottky diode (TO247 package or bigger with heatsink) as free-wheel diode might be relatively straightforward - but do consider a current sensing circuit with comparator/latch to remove gate drive on overcurrent.

With big motors you always want to ramp up the drive, not switch full power instantly, which means using PWM into the driver.