This motor driver shield and its corresponding Arduino library make it easy to control two bidirectional, brushed DC motors with an Arduino or compatible board, such as the A-Star 32U4 Prime. The board features a pair of Toshiba TB9051FTG motor drivers, which operate from 4.5 to 28 V and can deliver up to 2.6 A per channel continuously, and includes current sense circuitry, reverse battery protection, and logic gates to reduce the required number of I/O pins. The drivers automatically limit the peak current to around 5 A, which they can deliver for a few seconds in typical applications before the thermal protection activates.
This versatile motor driver is intended for a wide range of users, from beginners who just want a plug-and-play motor control solution for their Arduinos (and are okay with a little soldering) to more advanced users who want a general-purpose dual-channel version of our single-channel TB9051FTG carrier to use with other microcontroller boards, outside of the Arduino environment. The Arduino pin mappings can all be customized if the defaults are not convenient, and the simplified TB9051FTG control lines are broken out along the left side of the board, providing a convenient interface point for other microcontroller boards. This versatility, along with an option to power the Arduino from the shield, either directly or through an added regulator, sets this board apart from similar competing motor shields.
The board ships fully populated with its SMD components, including the two TB9051 ICs, as shown in the left picture above; stackable Arduino headers and terminal blocks for connecting motors and motor power are included but are not soldered in (see the Included hardware section below).
For a higher-power alternative to this shield, please consider the dual VNH5019 motor driver shield, which can deliver a continuous 12 A per channel, and for lower-power, lower-cost alternatives, consider the dual MAX14870 motor driver shield, DRV8835 dual motor driver shield, or A4990 dual motor driver shield. We also have a similar dual TB9051FTG motor driverintended specifically for use with the Raspberry Pi.
|Size:||1.90" × 2.02" × 0.3"1|
|Minimum operating voltage:||4.5 V2|
|Maximum operating voltage:||28 V3|
|Continuous output current per channel:||2.6 A2|
|Peak output current per channel:||5 A|
|Current sense:||0.5 V/A|
|Maximum PWM frequency:||20 kHz|
|Reverse voltage protection?:||Y4|
|PCB dev codes:||ash08a|
|Other PCB markings:||0J11291|
- 1 Without included hardware.
- 2 Operation from 4.5 V to 8 V reduces maximum current output.
- 3 The device is protected for transients up to 40 V.
- 4 On motor voltage only; logic voltage does not have reverse protection.
- 2 Operation from 4.5 V to 8 V reduces maximum current output.
- Dual-channel H-bridge motor driver in the form factor of an Arduino shield
- Wide operating voltage range: 4.5 V to 28 V
- Output current: up to 2.6 A continuous (5 A peak) per motor
- Automatic current chopping feature helps prevent overheating by gracefully reducing power rather than abruptly shutting down
- PWM operation up to 20 kHz, which is ultrasonic and allows for quieter motor operation
- Current sense voltage output proportional to motor current (approx. 500 mV/A; only active while H-bridge is driving)
- Motor indicator LEDs show what the outputs are doing even when no motor is connected
- Can be used with an Arduino or Arduino-compatible board (through the stackable shield headers) or with other microcontroller boards (through the 0.1" header along the left side)
- When used as a shield, the motor power supply can optionally be used to power the Arduino base as well, either directly or through an added regulator like the D24V5F9 or S10V3F9
- Arduino pin mappings can be customized if the default mappings are not convenient
- Arduino library makes it easy to get started using this board as a motor driver shield
- Secondary access points for most Arduino pins, all on the same 0.1"grid
- Exposed solderable ground pad below each driver IC on the bottom of the PCB
- Reverse-voltage protection on motor supply
- Robust drivers:
- Transient (
- Under-voltage lockout and protection against over-current/short-circuit and over-temperature
- Active-low error outputs indicate over-current, over-temperature, under-voltage, or VCC over-voltage conditions for each driver
- Arduino library and user?s guide are coming soon
The current monitor outputs, M1OCM and M2OCM, provide an analog current-sense feedback voltage of approximately 500 mV per A. By default, these outputs are connected to Arduino analog inputs A0 and A1, respectively. Note that each of these outputs is only active while the corresponding H-bridge is driving; it is inactive (low) when the driver is braking or the motor outputs are high impedance (floating). If the driver is braking, current will continue to circulate through the motor, but the voltage on the OCM pin will not accurately reflect the motor current.
Real-world power dissipation considerations
The TB9051FTG will start chopping its output current at a typical threshold of 6.5 A. However, the chip by itself will typically overheat at lower currents. In our tests, we found that the chip was able to deliver 5 A for only a few seconds before the chip?s thermal protection kicked in; a continuous current of about 2.6 A per channel was sustainable for many minutes without triggering thermal current limiting or an over-temperature shutdown. The actual current you can deliver will depend on how well you can keep the motor driver cool. The shield?s printed circuit board is designed to help with this by drawing heat out of the motor driver chip. PWMing the motor will introduce additional heating proportional to the frequency.
Unlike typical H-Bridges, the TB9051FTG has a feature that allows it to gracefully reduce the maximum current limit when the chip temperature approaches its limit. This means that if you push the chip close to its limit, you will see less power to the motor, but it might allow you to avoid a complete shutdown.
1x Pololu Dual TB9051FTG Motor Driver Shield for Arduino
1x 1×10 female header (for Arduino shields)
2x 1×8 female headers (for Arduino shields)
2x 1×6 female headers (for Arduino shields)
3x 2-pin, 5 mm terminal blocks (for board power and motor outputs)
1x 25-pin 0.1" straight breakaway male header
1x 0.1" shorting block (for optionally supplying shield power to Arduino)