I would like to drive a 180W, 24VDC motor with a PWM signal using mosfets such as follows:


simulate this circuit – Schematic created using CircuitLab

The motor is inside a control loop with negative feedback which regulates the speed of rotation by acting on the PWM output. Given a mechanical load, the speed of the motor can be regulated by varying the applied voltage. The variation in the voltage supplied to the motor is achieved by varying the duty cycle of the pwm output. So far all my efforts have been focused on designing the control system with the analogue PID controller.

Suppose the motor is rotating at a speed w which requires a 10V voltage and a current of around 2A. In this case I can see at least two problems with this approach:

  • The mosfet is dissipating 14 * 2 = 28 W. Not acceptable unless using a heat sink
  • The diode is dissipating 1.8 * 2 = 3.6 W.

As for the first problem, my solution would be use more mosfets in parallel in order to share the motor current. The number of parallel mosfets would be designed to handle the worst case scenario. However, I have never used mosfets in parallel and since I know that no two transistors are the same, I am afraid the current will not be shared equally (as in a resistor current divider) resulting in a possible overload of one/two mosfets. What are the critical points to consider while paralleling mosfets for this particular application? Furthermore, in case the "current sharing dilemma" is solved, should I put a resistor in series to each gate when sending the PWM signal to each mosfet?

As far as the diode is concerned, I would look for a diode that can withstand more current within the worst case scenario current for the motor which should be around 10 A. Is there a better way to do this?

If you think there is a better way to achieve the same goal, please do provide your solution. This is a hobby project and I need some constructive feedback/critics.

PS: when I talk about worst case scenario current I mean the nominal current under (a heavy) load. In case of high currents due to blocked rotor or short circuit, I plan to add a fuse for protection.

  • \$\begingroup\$ DCDC 24V --> 12V possible? \$\endgroup\$
    – ACD
    Feb 21, 2017 at 20:35
  • \$\begingroup\$ Yes but that would depend on the mechanical load and the speed of rotation, I would like to design a system that can push the motor up to its nominal voltage (24V) in case it needs to. \$\endgroup\$
    – mickkk
    Feb 21, 2017 at 20:42
  • \$\begingroup\$ The use a PWM half/full bridge setup. \$\endgroup\$
    – ACD
    Feb 21, 2017 at 21:05
  • \$\begingroup\$ Where do you get 28W from... IRF530 at 2A will be way under a watt. It can handle 56A in pwm. \$\endgroup\$
    – Trevor_G
    Mar 1, 2017 at 21:02
  • \$\begingroup\$ And you need a MUCH larger diode to handle that kind of current or you won't have a diode pretty quick. I would also add another diode from the ground rail up to the motor too. \$\endgroup\$
    – Trevor_G
    Mar 1, 2017 at 21:11

2 Answers 2


Yes, you can parallel MOSFETs, they are good at current sharing due to the positive temperature coefficient of their on-resistance, but...

You've made an error in the power dissipation estimate.

In PWM operation, the MOSFET is either fully on or fully off. The motor acts as a low-pass filter, and "sees" the average applied voltage, the supply voltage times the PWM duty cycle. So at 24V supply and 40% duty cycle, the motor would behave as if 9.6V dc were applied. I should mention that the PWM frequency should be high enough to keep the current ripple to a reasonable level.

When the MOSFET is on, the voltage across it is due to its on-resistance, 0.16 ohm at 25 deg C according to the data sheet. This is called conduction loss, and it varies with the current and the duty cycle. For example, at 2A 40% duty cycle the power would be 2A squared times 0.16 ohms times 40%, around 250mW. (This could more than double at higher temperatures; in any case, the power will be far less than 28W.) During this time, diode current is zero. If conduction losses are too high, you could select a MOSFET with lower on-resistance.

When the MOSFET is off, the current is flowing through the diode, and the MOSFET is dissipating no power (but the diode is).

There will be some switching loss as well, in both the MOSFET and the diode. Switching loss is a function of switching speed, which in turn is a function of the gate driver. Driving the gate harder reduces switching losses in the MOSFET, but can give rise to ringing due to parasitic elements. For best operation, parasitics must be minimized, so a tight layout is critical.

You will definitely need a diode with a higher current rating than the 1N4148. At 24V, I'd suggest a Schottky type for lower forward voltage drop.

  • \$\begingroup\$ @user287001, I'm not sure what point you're trying to make. I was assuming that the OP wanted to drive a dc motor as represented by L1 and R1 in the circuit diagram provided. (The back emf generator is not shown.) In this case, when the MOSFET turns off, because of winding inductance, current is still flowing (through the diode) in the motor, and the motor is producing torque, not braking, until the current decays to zero. Even when current does reach zero, braking is not possible: The diode is blocking the back emf, so the motor terminal voltage is not zero; the motor is coasting. \$\endgroup\$
    – user28910
    Mar 1, 2017 at 20:22

Your motor draws 7.5 amps. Therefore, a suitable FET (say, RdsON 10mOhms) will dissipate RI^2=0.5W when running the motor at full power, and less when throttling down.

Of course, the motor will draw a much larger current at startup, so you will need a MOSFET able to dissipate more than this. Any TO220 MOSFET will do, provided it has low enough RdsON.

Obviously, the IRF530 shown here, with its 0.16 ohms RdsON, is not suitable. Pick a FET with RdsON below 10 mOhms, these days you'll have tons of options.

This application does not need paralleled FETs or current sharing.

As for the diode choice, it should dissipate a few watts, so a TO220 diode will work fine.

If you want to protect against a stuck motor... since you don't seem to use a microcontroller (??????) then you could measure the current using a shunt resistor and an opamp, or a hall effect sensor, then filter it, and use a comparator to stop the PWM if the current is too high for too long.

  • \$\begingroup\$ Current sensing is almost certainly a requirement either way. As you say, in-rush and stall current will quickly destroy the MOSFET if not controlled. \$\endgroup\$
    – Trevor_G
    Mar 1, 2017 at 21:23
  • \$\begingroup\$ Well, even with 10x the current, the FET would dissipate 50W, which a TO220 will survive if a temperature sensor on the heatsink prevents it from reaching uncomfortable temperatures... Such a sensor is always good to have in case your heat sink gets clogged in dust, but this is NOT a substitute for a proper current limit. Especially if the FET should survive a dead short, which is the hard part. \$\endgroup\$
    – bobflux
    Mar 1, 2017 at 21:32
  • \$\begingroup\$ Motor inrush currents can be in the hundreds or amps though. That can burn out a lot more than just the mosfet. \$\endgroup\$
    – Trevor_G
    Mar 1, 2017 at 21:36
  • \$\begingroup\$ Yup. Last time I used a shunt for current sense, with a fast amplifier. The micro had an on-chip comparator with the ability to shut down the PWM on overcurrent (short circuit). ADC and software was used to decide whether average current was within bounds or not. \$\endgroup\$
    – bobflux
    Mar 1, 2017 at 22:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.