DRV8833 motor driver
A small dual H-bridge breakout for two DC motors, from 2.7 V to 10.8 V, and the driver in many small robot kits.
It has two MOSFET H bridges on it, one per motor, running from a single supply. It is in a lot of small robot kits and on the Pico robot boards, because it runs straight off two AA cells or a one-cell LiPo and wastes almost nothing: about a third of an ohm in the motor's path, where an L298N keeps two volts.
Pins
| Pin | What it does |
|---|---|
VM |
The motor supply, 2.7 V to 10.8 V. The chip runs from it too. |
GND |
Ground, shared with the board that drives the inputs. |
AIN1, AIN2 |
Motor A's two inputs. |
BIN1, BIN2 |
Motor B's two inputs. |
AOUT1, AOUT2 |
Motor A. |
BOUT1, BOUT2 |
Motor B. |
SLP |
Sleep, active low. Pulled up on the breakout, so leave it unwired to run. |
FLT |
The fault output, open drain. Nothing in a Mokxi circuit trips it. |
Driving it
There is no enable pin. Each motor has two inputs, and TI's table is:
| xIN1 | xIN2 | Motor |
|---|---|---|
| low | low | coast: both outputs let go |
| high | low | forward |
| low | high | reverse |
| high | high | brake: both outputs low |
For speed, put a PWM on one input and hold the other low:
digitalWrite(AIN2, LOW);
analogWrite(AIN1, 150); // forward at about 60 percent
That is drive and coast in turn. Holding the other input high instead and writing the inverted duty is drive and brake in turn, which holds a speed better under load.
The inputs switch at 2 V and 0.7 V whatever the motor supply is, so a 3.3 V board drives it as well as a 5 V one. Each input has a 100k pull-down inside the chip, so an unwired input is a low.
Sleep
SLP low puts both bridges to sleep with their outputs open. When it goes high
again, the chip takes 1 ms to wake before the outputs follow the inputs.
Under 2.6 V on VM the chip locks itself out.
What the model gets right
- The logic table, including the coast the L9110S does not have.
- The input thresholds and pull-downs, the sleep pin and its 1 ms wake.
- 0.18 ohm a side in each bridge. With a battery on
VMthe bridges join the analog solve, so the motor current comes out of the pack.
What it does not model
- The current limit and overcurrent shutdown, so
FLTnever goes low. - Heat. The real chip shuts down when it gets too hot.
See it in a project
The Bumper car drives a 2WD chassis with one.