Get your motor running: Brushed DC motor driver selection

Other Parts Discussed in Post: DRV8840

In my last blog I discussed how to select a stepper motor driver and in today’s post, I want to continue the series by discussing how to select a brushed DC motor driver.  Integrated brushed DC  drivers are much simpler than stepper or brushless DC drivers but nonetheless offer several compelling advantages over discrete implementations, including reduced board space, improved protection and simplicity of design.

Step #1:  Select the Voltage Range

Select a device with a specified max operating voltage to handle supply pumping and the inductive voltage spikes on the phase pins. For brushed DC, the general rule of thumb is to select a maximum operating voltage of 1.5 to 2x that of the motor voltage. 

So for example, if you are running off a +24V supply, select a driver that can operate up to +36V or +48V. Base your selection on the recommend operating voltage, not the absolute max voltage. Unfortunately, like many things in life the actual margin required “depends” on several variables including motion profile, size, speed and mass of the load and component placement. 

One common exception to the rule involves “small” loads such as those driven by low voltage fan drivers or low voltage battery powered motors.  If the mass and speed of the motor load is small, the rotational kinetic energy is minimal and therefore the supply pumping energy is minimal.  To be on the safe side, I always recommend hooking up a scope to the supply and phase pins of the driver and running the motor though its various motion profiles to ensure safe operation.

DRV8840: 5A Peak Brushed DC Driver

Motor supply and phase pinsFor additional information on supply pumping and voltage range selection, please see The art of stopping a motor and The art of stopping a motor – VM supply pumping

Step #2: Select the Current Rating 

With brushed DC motors, there are two current ratings to consider: continuous and peak current.

Peak, also known as inrush current, is the maximum current the device sees at start up or during stall when there is no back-EMF present. You can select or size a driver whose FETs can handle the peak current, or you can select a driver that supports current limiting. Current limiting is accomplished by reducing the applied PWM duty cycle once the current exceeds a pre-set threshold, thus limiting the motor current.

One drawback to this approach is you need to add a current sense resistor to the design. Limiting the peak current allows you to select a lower cost motor driver and reduce the power supply design requirements, lowering overall system cost.  Keep in mind though, a motor requires a given amount of current to start-up, and if you limit the current too much the motor may spin-up too slowly or not spin-up at all.

Motor Start Up without Current Limiting:

Motor Start Up with Current Limiting:

Continuous current is the current a driver must supply for the majority of its operation or for a short amount of time under heavy load. It is a function of thermal performance, i.e. how much current can the driver handle before shutting down due to the over-temperature protection kicking in.  Typically, the higher the current, the lower the FET RDSON required. Other variables affecting thermal performance include how efficient/fast the FETs switch, does the driver support synchronous or asynchronous rectification, and how thermally efficient the package is at getting the heat out.

Step #3: Determine Board Space and Thermal requirements

Integrated motor drivers are your smallest option, but can’t handle as much current as a pre-driver with external FETs.  Integrated drivers also typically dump the majority of the heat into the Cu planes of the board, so if you have a small board, make sure it can reliably handle the heat. Pre-drivers have excellent thermal performance, but take up substantially more space than an integrated driver. Look for lower RDSON ratings if you’re concerned about thermal performance, and for high current applications, consider a predriver with externalFETs.

Step #4: Select the Control Interface

There are several common control I/F options, including PWM, Phase/Enable and Serial.

  • The PWM I/F provides the most  flexibility with  independent ½ bridge control or independent high side / low side FET control options.
  • The phase enable I/F controls motor speed by PWMing the enable pin and direction by pulling the phase pin either high or low.
  • The serial I/F is typically used in systems with multiple motors, where you want to limit the number of MCU GPIO’s  needed. 

For any interface, always check the bridge logic tables found in the datasheet to make sure it meets your needs (look at how brake, coast, forward and reverse are supported).  In my next blog, I will go into more detail on each of these control interfaces.

Example Devices:

For product details, see the DRV8837, DRV8801, DRV8842, DRV8412 and DRV8301 product folders.

* May require TVS diodes on the supply & phase pins to protect the device when running at +48V

Hopefully the above outlined selection process will help you easily select the right brushed DC motor driver. For your given application, you can search for solutions, get help, share knowledge and solve problems with fellow engineers and TI experts on the Motor Drivers forum. Or, check out my Engineer It video on how to or when to use a pre-driver vs. an integrated motor driver.

  • Hi Raphael,

    I am glad you are finding these articles helpful!

    Hmm.. I would think the external MOSFETs could handle that level of current.  Did you check to make sure they were properly heat-sinked? How big is that initial inrush current / stall current?  I wonder if that is what is causing problems.

    The DRV8412 should be able to handle 6A continuous (at room temperature) in parallel mode. It also has the ability to cycle by cycle limit the inrush / stall current which should help with the thermals.  If for whatever reason the DRV8412 can't handle the current, you could also try out the DRV8432 in parallel mode (DRV8412’s big brother).  You will need to get a heat sink for the DRV8432 (otherwise, it's performance will actually be worse than the DRV8412)

    As Nick mentioned you could also look at a pre-driver like the DRV8711 or DRV8301 (just use 2x of the 3x half-bridge gate drivers) and pair it up with some low RDSON NextFETs (say the dual CSD88537ND or CSD18532KCS).

    Good luck and let me know how things turn out.

    Best regards,


  • Raphael,

    May want to check out the DRV8711. It is a pre-driver (basically has all the control logic, pre-drivers, and protection built into the IC) that drives external FETs. It can driver a bipolar stepper motor or two DC motors (2 H-bridges) It is always nice to have integrated FETs but at those currents external FETs make life a lot easier and cooler. Check out the SPIN IT series on the blog. It's all the basics of designing a system with the DRV8711.

    You may also need to look at how you are dissipating heat. It's gotta go somewhere. The motor drive E2E forums are a good place to get assistance.

  • Thanks so much for all the posts on motor driving! I'm a Biomed. Engineering student working on a pump controller and i've fried more FETs and Darlingtons already than i'd want to admit. These articles are really helpful!!

    I'm thinking of using the DRV8412 in parallel mode ( it's a 24V motor running at around 6 amps during full load (it peaks higher on startup or at low duty cycles)-> it's a roller pump so there's quite a bit of friction on the load :)). I'm a little scared though since the RDSON of the DRV specifies >100mOhms.. During tests with a dedicated TO220 Mosfet( RDSON= 18mOhms ) the darn thing almost caught on fire. any hints?