DRV8833 Current Regulation

Hello,

I'm working with the DRV8833 motor driver. After reading the TI data sheet it refers to use of an installed resistor to determine current chopping value.

Where might I find what resistor the driver has before I order it? Or how might I tell if none are used at all and the xISEN pins are grounded ?

I'm using two DC motors with a 2A stall current and would like to ensure that the current chop will keep the system safe if the motors runs into something and stalls.

Below is the excerpt from the data sheet. I'm looking forward to learning some new stuff from the community!

8.3.3 Current Control
Figure 6. Drive and Decay Modes
The current through the motor windings may be limited, or controlled, by a fixed-frequency PWM current regulation, or current chopping. For DC motors, current control is used to limit the start-up and stall current of the motor. For stepper motors, current control is often used at all times.
When an H-bridge is enabled, current rises through the winding at a rate dependent on the DC voltage and inductance of the winding. If the current reaches the current chopping threshold, the bridge disables the current until the beginning of the next PWM cycle. Immediately after the current is enabled, the voltage on the xISEN pin is ignored for a fixed period of time before enabling the current sense circuitry. This blanking time is fixed at 3.75 μs. This blanking time also sets the minimum on time of the PWM when operating in current chopping mode.
The PWM chopping current is set by a comparator which compares the voltage across a current sense resistor connected to the xISEN pins with a reference voltage. The reference voltage is fixed at 200 mV.
The chopping current is calculated in Equation 1.
I = CHOP RISENSE 200 mV ¾
(1)
Example: If a 1-Ω sense resistor is used, the chopping current will be 200 mV/1 Ω = 200 mA.
Once the chopping current threshold is reached, the H-bridge switches to slow decay mode. Winding current is recirculated by enabling both of the low-side FETs in the bridge. This state is held until the beginning of the next fixed-frequency PWM cycle.
If current control is not needed, the xISEN pins should be connected directly to ground.

The Pololu DRV8833 driver boards that I use have pins to which current sense resistors can be attached. Their website explains how to do it.

I'm using two DC motors with a 2A stall current and would like to ensure that the current chop will keep the system safe if the motors runs into something and stalls.

I reckon the normal protection built into the driver will be sufficient. Without any external protection the driver can deal with short circuits and over-temperature.

...R

Thanks Robin2 for the reply.
So it sounds like by default; current sensing is not enabled. Therefore a current chop/regulation will not be active either.

According to the TI datasheet info below, it sounds like if I want to add the current limiting I need to solder in resistors.

So if I understand this correctly , all I need to do is add a 0.2ohm resistor to the AISEN and BISEN spots to limit my motor draws to 1A max output. (Based on the TI data sheet)

My normal load current is around 300ma I believe, so if it's going past that I would like to stop it before ever reaching the max stall current draw as a safety precaution.

The driver states it can handle 1.5A RMS per channel but if like to have a hard limit below that to prevent ever over working the chip which is why I've selected 1A.

9.2.2.2 Motor Current Trip Point
When the voltage on pin xISEN exceeds VTRIP (0.2 V), current regulation is activated. The RISENSE resistor should be sized to set the desired ICHOP level.
RISENSE = 0.2 V / ICHOP (2) To set ICHOP to 1 A, RSENSE = 0.2 V / 1 A = 0.2 Ω

I have never considered adding current sensing so I am not going to offer any advice. I presume you have carefully studied the Pololu link that I gave you,

If this was my project, rather than "like to have a hard limit below that to prevent ever over working the chip" I would choose a driver with greater capacity. I think current limiting is usually applied to protect the the driven device rather than the driver.

...R

1 Like

In very high power DC motor drivers the current limiting is essential to protect both the motor and the driver,
as stall currents are massive (measured in kA) and would destroy both instantly. For a tiny motor its not a big deal to spec the driver to handle a few amps and be robust - its simpler than current sensing usually (if
your driver chip supports current sensing and limiting, it might be simpler to use current sensing however).

Hey Robin2,

Thank you. Yes I've studied the provided link. I also studied Adafruits version which comes with 1A current limiting per channel.

While the DRV8833 seems to be able to handle my needs just fine, instead of limiting the current with resistors is there a higher rated driver you might suggest?

Motors are 6V, with 7.4V battery set up.

MarkT - yes the driver does support the functions which is why I am opting to you them. Although, per both of your suggestions I am open to considering a higher amp rated driver so long as it has the same features.

Alternatively, two can be ran with parallel outputs although I'd like to see if I can make one drv8833 work.

The DRV8833 will supply 2A on a single channel for only 2-3 seconds, then start to shut itself down.

The "2 A" stall current that you quote would depend on the motor supply voltage. If 6 V was assumed, then the stall current for a 7.4 V power supply would be 7.4/3 = 2.46 A.

Don't forget that DC motors draw the stall current every time they start up.

A simple solution might be to use two DRV8833s, one for each motor and parallel the two channels on each board.

...R

From adafruit support regarding their drv8833 board with 0.2 ohm resistors:

"The DRV8833 operates a little differently from most 'chopper' type drivers. Instead of a fixed sense resistor and a variable reference resistor, it has a fixed reference resistor and a variable sense resistor.

The reference voltage for the DRV8833 is fixed at 200mV, So the maximum current through the sense resistor will be 0.2/Risense. And the maximum power dissipated will be 0.04/Risense. (see page 10: http://www.ti.com/lit/ds/symlink/drv8833.pdf )

As shipped, the boards are populated with 0.2 ohm sense resistors. So the current is limited to 1A and the power dissipated is limited to 0.2W."

My understanding of this is that regardless of what the motor is trying to draw at stall or start, the board won't let it draw more than 1A per motor

This would create a slower (soft) start and just less effort to overcome a stall.

These I am okay with. So long as my working current is less than 1A (about 300ma) then the stall/start draw is essentially irrelevant due to the arrangement of the driver