I need to find a safe and reliable way to power a DC hobby motor off mains supply. The motor is large (i.e. 500W) 14.4V. Therefore, the current requirements are large i.e. 35A for a 14.4V supply.

I can't find such a power supply to purchase and my budget is small. Therefore, I thought I could use an ATX power supply from a computer. They typically have a high current 12V line that can deliver the required current, 42A in this case.

I will be using a power MOSFET to regulate the power going to the motor by switching it on and off using pulse width modulation PWM. There should be some huge inductive spikes created. I need a way to protect the power supply from these.

I was thinking of using several layers of protection just to be safe as long as they are compatible with each other. There location in the order that I mention them is arranged starting closest to the motor and moving towards the supply. The first line of defense is a freewheeling diode put in parallel with the motor forward biased from 0 to the positive supply direction. In addition, perhaps an RC snubber also in parallel. Then a 12V standoff TVS also in parallel in case the other two fail. However, this will short the power supply if it is triggered. If the supply doesn't have over current protection it will kill the supply. I need some sort of fast acting fuse or polyswtich to at as a current limiter in series with the supply. I've noticed that a the polyswitches are very slow. like 9 seconds to "disconnect" the line and I don't want to use a fuse that I have to replace when this happens. Is there a good solution to this problem, or is this all too much? That is, should I just leave the TVS and polyswitch out of the design?

  • 1
    \$\begingroup\$ I'm not sure that these 'huge inductive spikes' are a given. Your freewheel diode (in anti-parallel across the motor) will prevent the voltage at the FET's drain rising more than one diode drop above the supply rail. Provided it's sized to carry the rated current of the motor, where does the higher voltage come from? \$\endgroup\$
    – user1844
    Nov 11, 2010 at 11:02
  • 1
    \$\begingroup\$ Startup current is a large concern. I'd doing something somewhat similar, except the motor wants around 12A at 12V. The 500W ATX PSU is not able to start the motor, it seems like it trips the over current protection circuitry. You shouldn't have to worry about shorting the PSU, computer power supplies are required to have over current protection. The supply will just shut off. Check out this document for more info on ATX supplies: formfactors.org/developer/specs/ATX12V_PSDG_2_2_public_br2.pdf \$\endgroup\$
    – Andrey
    Nov 12, 2010 at 14:19
  • \$\begingroup\$ Sounds like a cool project. \$\endgroup\$
    – davidcary
    Nov 13, 2010 at 21:16

3 Answers 3


I have bad experience of similar attempt. The cause is that contemporary switching supplies are too smart for dynamic inductive load with regenerative an other switching spikes. The only workaround is to use raw power supply (transformer, bridge, zero active components).

What you will possibly see if you try direct connection:

  • Motor will accelerate OK on low torgue
  • Motor will trip supply when acceleration is high on start from zero velocity
  • Motor will accelerate OK with high acceleration but will trip supply protection when decelerated
  • Motor will never burn, but supply very likely will
  • Nothing will will break and will work ok, but you will trip mains 20A breaker once in a while.
  • Trying to put ferrite chokes on positive wire will make no difference, supply will keep tripping
  • Overall currents will never be near 50% of rated by supply, but peak values will keep protection tripping even if the motion is smooth
  • The protection diode (overvoltage 50V surge diode in parallel to 48V supply) can help for 90% of motions, but supply will be ever tripping unpredictably over long run
  • etc.

So answer is probably the thing we did not try, but which can help:

  • Calculate the energy budget for motions and double it and put super large capacitor at the output. With surge diode with voltage rating 1-2V greater than nominal voltage and a bit lower than overvoltage protection of supply.

Other aspects involved:

  • The breakdown of high power semiconductors is caused not by voltage, but by speed of voltage increase (about 5000V/microsecond typically). Rule of thumb "Everything is thyristor"
  • The TVS is a must. They survive at 49..50V 400W loads with no sweat.
  • The regenerative energy absorbtion (large capacitor and/or power resistor with few diodes) is a must if voltage is over 100V. Can be skipped for low voltage setup unless you need 24/7 run in hard conditions.
  • Custom FET switching is cause of trouble, simply because you cause mechanical shock with infinite torgue on start, unless you use PWM with clever S-curve acceleration.
  • Safety is also not last aspect if you deal with near horsepower motion.

A PC supply may well have a problem with the startup current surge of a large motor.

  • 1
    \$\begingroup\$ Thanks! I hadn't considered that. Is there a work around you know of? I can do obvious things like limit the angular acceleration of the motor. i.e. ramp up the speed slowly to keep average current draw down. But, to stop large current transients, what about some sort of low pass filter connected directly to the power supply, with everything else I talked about connected to its output, i.e, all the circuit protection and motor? \$\endgroup\$ Nov 9, 2010 at 18:28
  • 1
    \$\begingroup\$ The inductance of the motor winding will act as a low pass filter for the switching currents. It is just the voltage when the fet turns off that you need to worry about. \$\endgroup\$ Nov 10, 2010 at 10:42

You've considered protecting the supply, but not the FET. The FET will also be hit by spikes when switched off. In fact, as it is gating the supply, it should be the only device subject to the spikes. If you have it on the low side then that might not be true.

Also, have you considered using the PS_ON pin to do duty cycle modulation instead of an external FET? I'm not sure how fast the supply will work with this though - it might take 100ms to switch on and this might limit your modulation rate.

You'd also have to be aware of the supplies' spikes as well as the motor. The supply could get very large spikes on it if lots of load is dumped suddenly.

The TVS will cook itself long before the supply overheats from the overcurrent situation. 500W into a TVS will toast it if continued for more than a few seconds.

  • 1
    \$\begingroup\$ Thanks very much for your reply. I didn't specify the location of the MOSFET because I didn't think this part through. I guess I put it between the freewheeling diode and the RC snubber. I believe The diode should then protect the MOSFET. \$\endgroup\$ Nov 9, 2010 at 16:37
  • 2
    \$\begingroup\$ I wouldn't want to use the PS_ON control on the supply since I don't want to depend on the supply to do anything but supply the right voltage and current. If I ask it to do more, then I might have a hard time choosing a supply. \$\endgroup\$ Nov 9, 2010 at 16:37
  • \$\begingroup\$ When the TVS fails though, it fails in a short circuit mode, i.e. clamping the supply. I would still need to cut the current coming through the supply. This TVS is sounding like too much trouble. I think I need the polyswitch anyway just in case the motor gets mechanically jammed and draws to much current. \$\endgroup\$ Nov 9, 2010 at 16:38
  • \$\begingroup\$ Well, in the shorted condition the TVS still has some resistance, it will probably glow red hot then melt. \$\endgroup\$
    – Thomas O
    Nov 9, 2010 at 16:56
  • \$\begingroup\$ TVS actually is inevitable to use. With motors there is a need to absorb regenerative energy no matter what. Just use good 1000A/ms TVS diode. It will work. \$\endgroup\$
    – user924
    Nov 11, 2010 at 2:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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