 # Controlling brushed dc motors with Power MOSFET and PWM from arduino

I am trying to find a way to control the speed of multiple high-amperage brushed dc motors. Could I use the arduino to output a PWM signal to open and close the gate of a Power MOSFET? The power MOSFET's Source would be connected to the high amperage battery, the Gate would be connected to an arduino pin(or something to step up the voltage from an arduino pin if needed), and the Drain would be connected to the motor. Would this work? And if it would work, how hot would the Power MOSFET get? Thanks! Power MOSFET - IRF3205

Would this work?

In principle yes.

how hot would the Power MOSFET get?

The heat would be proportional to the square of how high the "high-amperage brushed dc motors" is, multiplied by the number that "multiple" referrers to. That is the heat generated in the junction. Then that heat has to get out of the FET, so you need to consider the thermal resistance of the junction to case and then the case to ambient. This resistance is in the units of degrees C per watt. So work back to how hot the silicon can stand.

(or something to step up the voltage from an arduino pin if needed),

For that FET yes it is needed, you need to boost the signal from the Arduino to 10V

Depending on exactly what voltage and current (in Volts and Amps) you need there are almost certainly better logic level MOSFETs available. And it's often easier to use low-side switching (battery+ > motor > MOSFET> battery-/ground).

But in principle an Arduino PWM pin and a MOSFET can certainly control the speed of a brushed DC motor.

Steve

Cool! Thank you for the quick replies. Grumpy_Mike, once I have the heat generated in the junction what do I do with all of the other numbers? I am having a hard time understanding that.

Slipstick, if the voltage is 11.1 volts, the stall current of the motors is around 24 amps and the idling amperage of the motors is 7.4 amps what would be a better MOSFET and why? Thank you for your patience, I am a bit new to this!

Hi, Welcome to the forum.

Do you need to reverse or brake/stop the motor?

Tom.. :)

NWRousell: once I have the heat generated in the junction what do I do with all of the other numbers? I am having a hard time understanding

http://www.thebox.myzen.co.uk/Tutorial/Power.html

And

http://www.thebox.myzen.co.uk/Tutorial/Power_Examples.html

Something like the IRLZ44N or FQP30N06L might be a good choice as a switching device.

Allan

For this MOSFET at least make sure the source goes to the negative side of the battery (you didn't specify that part), and the other end of the motor to the positive side.

Then you'll have to add the circuitry to switch the MOSFET at the higher voltage - battery voltage if that is not to high for the gate.

The easiest way would be an NPN transistor + pull-up resistor but then the MOSFET will be ON as the Arduino is starting up (the signal is reversed). To prevent that, you'll need two transistors, or an optocoupler.