4.c. Using the driver

Motor control options

The board sets both the EN and ENB pins for each channel so they default to enabling the drivers. The DIR and PWM pins can be used to control the outputs of the drivers, as shown in the following simplified truth table:

Dual TB9051FTG motor driver shield simplified truth table
Inputs Outputs Operation
1 0 1 PWM PWM (H/L) L forward/brake at speed PWM %
0 PWM L PWM (H/L) reverse/brake at speed PWM %
X 0 L L brake low (outputs shorted to ground)
0 X X X Z Z coast (outputs floating/disconnected)
X 1 X X Z Z

If you want to set the drivers to coast, you should do so by setting the EN pin low. If you want to use the ENB pin instead, you must cut the trace between the ENB pin and ground before setting the pin high or you will short your microcontroller pin to GND; see the diagram below:

The motor driver supports PWM frequencies up to 20 kHz.

Fault conditions

The TB9051FTG drives its DIAG pin low whenever an under-voltage, VCC over-voltage (the 5 V input on the shield), over-temperature, or over-current condition occurs. DIAG will also be low whenever either of the enable pins is disabling the driver. Otherwise, during normal operation, the board pulls DIAG up to VCC.

Over-temperature errors are latched, so the motor outputs will stay off and the DIAG pin will stay asserted until the fault is cleared by toggling one of the enable pins or disconnecting power to the driver. After an over-current error, the driver’s behavior depends on the state of the OCC pin: if OCC is low (default), the outputs remain disabled until the fault is cleared, but if OCC is high, the driver will automatically try to resume operation after a fixed off-time (typically 500 ms). Regardless of the state of OCC, the DIAG pin remains asserted after an over-current error until the fault is cleared.

Under-voltage and VCC over-voltage errors are not latched (the driver will release the DIAG pin and resume operating as soon as the voltage is corrected). An exception is if the driver detects an abnormal voltage on start-up; in this case, it will continue asserting DIAG until the fault is cleared, although it will still allow normal operation in the meantime if there are no other active fault conditions.

Current sensing

The current monitor outputs, M1OCM and M2OCM, provide an analog current-sense feedback voltage of approximately 500 mV per A. 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.

Related Products

Dual TB9051FTG Motor Driver Shield for Arduino
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors