Overview
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 driver intended specifically for use with the Raspberry Pi.
Features
Dual TB9051FTG Motor Driver Shield on an Arduino Uno (with a regulator added to power the Arduino from the shield’s VIN). |
---|
Dual TB9051FTG Motor Driver Shield for Arduino being controlled by an A-Star 32U4 Prime SV. |
---|
- 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 operation (< 500 ms) up to 40 V
- 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
Included hardware
This motor driver board ships with all of the surface-mount parts populated. However, soldering is required for assembly of the included through-hole parts. The following through-hole parts are included:
- one extended/stackable 1×10 female header (for Arduino shields)
- two extended/stackable 1×8 female headers (for Arduino shields)
- two extended/stackable 1×6 female headers (for Arduino shields)
- three 2-pin, 5 mm terminal blocks (for board power and motor outputs)
- 25-pin 0.1″ straight breakaway male header
A 0.1″ shorting block (for optionally supplying shield power to Arduino) is also included.
Dual TB9051FTG Motor Driver Shield for Arduino with included hardware. |
---|
The terminal blocks can be soldered into the larger holes to allow for convenient temporary connections of unterminated power and motor wires (see our short video on terminal block installation), or you can break off a 12×1 section of the 0.1″ header strip and solder it into the smaller through-holes that border these larger holes. You can also solder wires directly to the board.
When not using this board as an Arduino shield, you can solder the pieces of the 0.1″ header to the logic connections along the left side of the board to enable use with custom cables or solderless breadboards, or you can solder wires directly to the board for more compact installations. Note that motor and motor power connections should not be made through a breadboard.
Schematic diagram
This diagram is also available as a downloadable pdf: Dual TB9051FTG Motor Driver Shield for Arduino schematic (248k pdf).
Current sensing
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.
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.