Overview
DRV8835 dual motor driver carrier, bottom view with dimensions. |
---|
TI SN754410 (16-pin DIP) next to the #2135 DRV8835 carrier (14-pin DIP) and #2990 DRV8838 carrier (10-pin DIP) for size reference. |
---|
Texas Instruments’ DRV8835 is a tiny dual H-bridge motor driver IC that can be used for bidirectional control of two brushed DC motors at 0 V to 11 V. It can supply up to about 1.2 A per channel continuously and can tolerate peak currents up to 1.5 A per channel for a few seconds, making it an ideal driver for small motors that run on relatively low voltages. The DRV8835 is a great IC, but its small, leadless package makes it difficult for the typical student or hobbyist to use; our breakout board gives this driver the form factor of a 14-pin DIP package, which makes it easy to use with standard solderless breadboards and 0.1″ perfboards. Since this board is a carrier for the DRV8835, we recommend careful reading of the DRV8835 datasheet (1MB pdf). The board ships populated with SMD components, including the DRV8835, and adds a FET for reverse battery protection.
Alternative driver options
This board is very similar to our DRV8833 dual motor driver carrier in operating voltage range and continuous current rating, but the DRV8835 has a lower minimum operating voltage, offers an extra control interface mode, and is 0.1″ smaller in each dimension. The DRV8833 has a higher peak current rating (2 A per channel vs 1.5 A), optional built-in current-limiting, and no need for externally supplied logic voltage.
For a smaller, lower-cost, single-channel alternative to this driver, please consider our DRV8838 carrier. The DRV8838 has the same operating voltage range as the DRV8835 and very similar current capabilities, and it uses the same PHASE/ENABLE control interface.
For higher-voltage alternatives to this driver, consider our A4990 and DRV8801 motor driver carriers.
We also carry a DRV8835 dual motor driver Arduino shield that makes it easy to incorporate this great driver into an Arduino project, as well as a DRV8835 motor driver kit for the Raspberry Pi.
Features
- Dual-H-bridge motor driver: can drive two DC motors or one bipolar stepper motor
- Motor supply voltage: 0 V to 11 V
- Logic supply voltage: 2 V to 7 V
- Output current: 1.2 A continuous (1.5 A peak) per motor
- Motor outputs can be paralleled to deliver 2.4 A continuous (3 A peak) to a single motor
- Two possible interface modes: IN/IN (outputs mostly mirror inputs) or PHASE/ENABLE (one pin for direction and another for speed)
- Inputs are 3V- and 5V-compatible
- Under-voltage lockout on the logic supply and protection against over-current and over-temperature
- Reverse-voltage protection on the motor supply
- Compact size (0.7″×0.4″) with the form factor of a 14-pin DIP package
Included hardware
Two 1×7-pin breakaway 0.1″ male headers are included with the DRV8835 dual motor driver carrier, which can be soldered in to use the driver with breadboards, perfboards, or 0.1″ female connectors. (The headers might ship as a single 1×14 piece that can be broken in half.) The right picture above shows the two possible board orientations when used with these header pins (parts visible or silkscreen visible). You can also solder your motor leads and other connections directly to the board.
Using the motor driver
Minimal wiring diagram for connecting a microcontroller to a DRV8835 dual motor driver carrier in phase-enable mode. |
---|
Motor and motor power connections are made on one side of the board and logic power and control connections are made on the other. The driver requires a motor voltage between 0 V and 11 V to be supplied to the VIN or VMM pin and a logic voltage between 1.8 V and 7 V to be supplied to the VCC pin; the logic voltage can typically be supplied by or shared with the controlling device. The VIN pin is the reverse-protected motor supply input and is the recommended point for connecting motor power. However, driver performance will start getting worse when the input voltage to the reverse-protection circuit is below a few volts, and 1.5 V is the lower limit of where the VIN pin can be used. For very low voltage applications, the motor supply should be connected directly to VMM, which bypasses the reverse-protection circuit.
The DRV8835 features two possible control modes: IN/IN and PHASE/ENABLE. The MODE pin determines the control interface. Each control input is pulled low through a weak pull-down resistor (approximately 100 kΩ), so the driver will be in the IN/IN mode if the MODE pin is left disconnected, and the driver outputs will be disabled by default. Setting the MODE pin high, either with a pull-up resistor or a driving-high I/O line, sets the driver to PHASE/ENABLE mode, where the PHASE pin determines the motor direction and the ENABLE pin can be supplied with a PWM signal to control the motor speed. This mode is generally easier to use as it only requires one PWM per channel, but it only allows for drive/brake operation. (Drive/brake operation usually provides a more linear relationship between PWM duty cycle and motor speed than drive/coast operation, and we generally recommend using drive/brake operation when possible.)
Simplified drive/brake operation with MODE=1 (PHASE/ENABLE) | ||||
---|---|---|---|---|
xPHASE | xENABLE | xOUT1 | xOUT2 | operating mode |
0 | PWM | PWM | L | forward/brake at speed PWM % |
1 | PWM | L | PWM | reverse/brake at speed PWM % |
X | 0 | L | L | brake low (outputs shorted to ground) |
Advanced usage with IN/IN mode
Minimal wiring diagram for connecting a microcontroller to a DRV8835 dual motor driver carrier in in-in mode. |
---|
When the MODE pin is disconnected or low, the control interface is IN/IN, which allows for slightly more advanced control options. The following truth table show how to achieve drive/coast and drive/brake operation using the IN/IN control interface:
Drive/coast or drive/brake operation with MODE=0 (IN/IN) | ||||
---|---|---|---|---|
xIN1 | xIN2 | xOUT1 | xOUT2 | operating mode |
0 | 0 | OPEN | OPEN | coast (outputs off) |
PWM | 0 | PWM | L | forward/coast at speed PWM % |
0 | PWM | L | PWM | reverse/coast at speed PWM % |
1 | PWM | PWM | L | forward/brake at speed 100% − PWM % |
PWM | 1 | L | PWM | reverse/brake at speed 100% − PWM % |
1 | 1 | L | L | brake low (outputs shorted to ground) |
Pinout
PIN | Default State | Description |
---|---|---|
VIN | Reverse-protected motor power supply input. While the driver can operate from a motor supply of 0 V to 11 V, the reverse-protection circuit will start negatively affecting performance below a few volts, and 1.5 V is the lower limit of where it can be used. Power can be supplied directly to VMM to bypass the reverse-protection circuit. | |
VCC | 1.8 V to 7 V logic power supply connection. Logic supply current draw is typically only a few milliamps at most, so in many applications this pin can optionally be dynamically powered by a microcontroller digital output. | |
VMM | This pin gives access to the motor power supply after the reverse-voltage protection MOSFET (see the board schematic below). It can be used to supply reverse-protected power to other components in the system. It is generally intended as an output, but it can also be used to supply board power (such as in cases where the motor supply voltage is too low for the reverse-protection circuit). | |
GND | Ground connection points for the motor and logic power supplies. The control source and the motor driver must share a common ground. | |
AOUT1 | The motor A half-bridge 1 output. | |
AOUT2 | The motor A half-bridge 2 output. | |
BOUT1 | The motor B half-bridge 1 output. | |
BOUT2 | The motor B half-bridge 2 output. | |
AIN1/APHASE | LOW | A logic input control for motor channel A. |
AIN2/AENABLE | LOW | A logic input control for motor channel A. |
BIN1/BPHASE | LOW | A logic input control for motor channel B. |
BIN2/BENABLE | LOW | A logic input control for motor channel B. |
MODE | LOW | Logic input that determines the control interface. Logic low on this pin results in IN/IN mode while logic high results in PHASE/ENABLE mode. |
Real-world power dissipation considerations
The DRV8835 datasheet recommends a maximum continuous current of 1.5 A per motor channel. However, the chip by itself will overheat at lower currents. For example, in our tests at room temperature with no forced air flow, the chip was able to deliver 1.5 A per channel for approximately 15 seconds before the chip’s thermal protection kicked in and disabled the motor outputs, while a continuous current of 1.2 A per channel was sustainable for many minutes without triggering a thermal shutdown.
Note that when both the logic and motor supply voltages are low (on order of a few volts), the driver will start overheating sooner and the maximum achievable output current will be lower than what we observed in the tests mentioned above.
The actual current you can deliver will depend on how well you can keep the motor driver cool. The carrier’s printed circuit board is designed to draw heat out of the motor driver chip, but performance can be improved by adding a heat sink. Our tests were conducted at 100% duty cycle; PWMing the motor will introduce additional heating proportional to the frequency.
This product can get hot enough to burn you long before the chip overheats. Take care when handling this product and other components connected to it.
Schematic
Schematic of the DRV8835 dual motor driver carrier. |
---|