I am looking for a way to control both the DIRECTION and SPEED (variable speed) of a permanent magnet DC motor, similar to the ones found on mobility scooters. The motor has the following ratings:

  • 24VDC
  • 18A full load current draw.
  • 0.43kW rating.

Initially my idea was to build a basic H-bridge driver using high power MOSFETS and then use PWM to control the switching. However through research I found out that it is actually quite difficult to build as there is a lot to take into account.

What other methods are there for controlling the direction and speed of a DC motor?. Most circuits online seem to be a repeat of one another or are only designed for low power applications.

  • \$\begingroup\$ Your initial idea is the best for operating from a DC source. A controlled rectifier approach would probably be a little simpler, but that is for AC input. There are much simpler methods using series resistors, but they waste a lot of power. \$\endgroup\$
    – user80875
    Sep 6, 2016 at 2:05
  • \$\begingroup\$ It depends what you want to do. If you want to learn how to build an H bridge, then jump right in. A motor load is very forgiving. If you have a scope and patience, you will learn a lot. If however, you want to drive a motor, then buy a motor controller, I used 4QD's for my robot, and I can build H bridges! \$\endgroup\$
    – Neil_UK
    Sep 6, 2016 at 6:10
  • \$\begingroup\$ I would love to build an H-bridge from scratch but unfortunately I am short on time at the moment and my knowledge in electronics isnt the best. It would still make a great learning curve though \$\endgroup\$
    – GrapeApe
    Sep 6, 2016 at 6:27
  • 1
    \$\begingroup\$ If you want to simplify a little bit, you can build a unidirectional speed controller with one MOSFET instead of 4, and use a DPDT switch (or relay or contactor) for reversing. Only flip the switch with the speed set to zero - with a relay you could interlock to make sure of that. \$\endgroup\$
    – user16324
    Sep 6, 2016 at 10:20

2 Answers 2


If you just want to get you motor running rather than spend months learning how to design a motor controller, there are many off-the-shelf units that have the capabilities you need. Look into hobby radio-control brushless ESCs from manufacturers like Castle Creations, Turnigy and JETI. Some of them (intended for r/c cars) have reversing capabilities. If you want something higher-end than the hobby stuff, there are industrial motion controllers from firms such as Elmo.

If you do want to build one "from scratch", the TI InstaSpin dev kits are a great place to start. Even the cheap Launchpad + BoostXL-DRV8305 kit will be able to run your motor at a good fraction of its rated power.


The requirement in motor control besides commutation timing, and controls for torque and direction is to decide the cost tradeoff for power losses during stall current.

  • This is often 8x the rated current at full load.
  • This is peak current when starting/stopping motor at full torque
  • Consider that 8x 18A x= 144 A implies the motor DCR = 24C/144 A = 167 mΩ
  • Motor losses then start at Pd=I²*DCR = 144²*167mΩ =3.5kW assuming 0 Ω bridge
  • Switching Bridge losses then rise with RdsOn and torque reduces.

I prefer to start with a budget of RdsOn =1% of DCR of motor then decide if that suits requirements and budget.

Thus RdsOn= <=1.67mΩ and Ip=144A for x duration.


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.