Using Current Regulation in DC Motor Drivers


Get valuable resources straight to your inbox - sent out once per month


We value your privacy


When starting a DC motor, large currents can be required that place a burden on the motor driver and power supply.

This article will discuss using the current regulation function integrated into many motor driver ICs, while using examples from Monolithic Power Systems (MPS) to address high-current conditions. In many cases, using current regulation can allow designers to use a smaller motor driver IC.

For simplification, a brushed DC motor is used in all the examples, but the processes described in this article can also be applied to brushless DC (BLDC) motor systems.

DC Motor Basics

Before discussing current limiting and regulation, it’s important to consider how a DC motor operates.

At its simplest, a DC motor can be modeled as a voltage — called the back electromotive force (EMF) — in series with a resistor (see Figure 1). The back EMF is a voltage generated by the motor, and it is proportional to the motor speed. The series resistance is simply the DC resistance of the winding.

Figure 1: DC Motor Electrical Model

Torque, the rotational force generated by the motor, is created when current flows through the motor.

If there is no mechanical load applied to the motor and a voltage (VSRC) is applied to the motor, then the motor spins and accelerates until the back EMF (VBEMF) rises to the same level as VSRC. At this point, there is no current flow. When a torque is applied to the shaft, the motor slows down, which causes VBEMF to decrease while creating a voltage difference between VSRC and VBEMF. This voltage difference generates a current ((VSRC - VBEMF) / RS) that flows from the source.

Note that this is a simplified, ideal approximation; in reality, there are losses, and there is always some current flowing from the source.

Starting the Motor

When the motor is stopped, VBEMF is 0V. Figure 1 shows that when you first apply voltage to the motor, the current is limited only by the motor’s series resistance. This resistance is typically quite small, which results in a large current flow until the motor starts spinning. The current is typically much larger that the motor’s rated continuous current. Figure 2 shows a small DC motor.

Figure 2: Small DC Motor

Table 1 shows the motor’s specifications.

Table 1: Small DC Motor Specifications

Parameter Value Units
Output power 15 W
Nominal voltage (VSRC) 12 V
No load speed 4000 rpm
No load current 0.11 A
Full load speed 2920 rpm
Full load continuous torque 50 mNm
Full load continuous current 1.25 A
Stall torque 190 mNm
Stall current 3.3 A
Resistance (RS) 3.6

Table 1 lists the nominal rated continuous current at 1.25A, which corresponds to the maximum allowable continuous torque load. With this value, one might think that the motor driver only needs to support a maximum current of 1.25A. However, the stall current (the current through the motor at the nominal voltage when the motor is stopped) is 3.3A. That means the motor driver must either be capable of driving the stall current to get the motor spinning, or it must provide current limitation to soft start the motor. Otherwise, the motor driver may activate an over-current protection (OCP) function. Devices that do not provide OCP could be damaged.

In addition, the large current required to start the motor must have a power supply that can support this high current. In battery-powered systems, battery life is reduced by drawing high-current pulses, even if they are for a limited duration, so it is beneficial to limit the current when the motor starts up.

Motor Driver Current Regulation

Many motor driver ICs include some form of current limiting or current regulation.

An example of a motor driver IC is MPS’s MP6522, an H-bridge motor driver (see Figure 3). The motor current is measured inside the IC by sensing the current in the two low-side MOSFETs (LS-FETs). This measurement is used by a current regulation circuit.

Figure 3: MP6522 Functional Block Diagram

The measured current is scaled to a voltage by a small external resistor on the RISET pin. This voltage is proportional to the motor current. If the current reaches 1.5V, the MP6522 turns off the motor current for a fixed period of time before being re-enabled.

A motor has a large amount of inductance. When using current regulation to drive a motor, the current rises when the H-bridge is on, then falls when the current trip point is reached, and the driver turns the current off. The results in a triangular current waveform. Figure 4 shows the triangular current waveform as a green trace. This waveform shows that the current is regulated by the MP6522 at a peak of about 1.5A.

Figure 4: Current Regulation

Motor Start-Up (Stall) Current

The MP6522 can be used to drive the small DC motor described above. If there is no current regulation (RISET resistor = 0Ω) and there is a 12V power supply, then a peak current of about 3.6A is required to start the motor (see Figure 5).

Figure 5: Motor Start-Up Current

The motor reaches full speed when the current levels off. In this scenario, it takes the motor about 50ms to reach full speed.

Note that the current ripple in the waveform when the motor is spinning is due to motor commutation. As the motor spins, the commutator moves from one segment to the next, and transfers the current to the next winding. During these transitions, the current constantly rises and falls by a small amount. This is not related to the motor driver.

Using Current Regulation to Limit the Stall Current

By setting the RISET resistor to 10kΩ, the MP6522 can be set up to provide a current limit of 1.5A. Figure 6 shows that the output turns on and off to limit the current through the DC motor.

Figure 6: Current Regulated at 1.5A

Compared to how the motor reaches full speed in 50ms without a current limit, it takes the motor 80ms to reach full speed in this scenario.

Mechanical Considerations

Since the current is proportional to the torque applied to the motor, limiting the motor current at start-up also limits the torque. Because the torque accelerates the motor from a stop to its final speed, limiting torque also limits this acceleration, meaning the motor takes longer to reach its full speed. The mechanical system’s inertia requires torque to accelerate, so if there is a large mass coupled to the motor (e.g. a flywheel), then the time is extended even further.

Mechanical systems have friction, which is a static force, as well as stiction. Stiction functions similarly to friction but drops once the system is moving. In order to move, motors must have enough torque to overcome friction and stiction. This means that designers cannot set the motor’s start-up current too low. If the current is limited too much, then the motor may not start moving at all, or it may take too much time to reach the desired speed.


This article provides exploration of how to use the current regulation feature available with motor drivers, such as MPS’s MP6522, to regulate and control the large currents that flow when starting a DC motor. By understanding how to properly limit a motor’s start-up current, designers are able to not only use smaller motor drivers, but also optimize their system’s current delivery.


Did you find this interesting? Get valuable resources straight to your inbox - sent out once per month!

Get technical support