TB67S128FTG Stepper Motor Driver Carrier

This is a merged information page for Item #2998.
View normal product page.

Pololu item #: 2998
Brand: Pololu
Status: Active and Preferred 
RoHS 3 compliant


This breakout board makes it easy to use Toshiba’s TB67S128FTG microstepping bipolar stepper motor driver, which features adjustable current limiting and microstepping down to 1/128-step. In addition, it has the ability to dynamically select an optimal decay mode by monitoring the actual motor current, and it can automatically reduce the driving current below the full amount when the motor is lightly loaded to minimize power consumption and heat generation. The driver has a wide operating voltage range of 6.5 V to 44 V and can deliver approximately 2.1 A per phase continuously without a heat sink or forced air flow (up to 5 A peak). It features built-in protection against under-voltage, over-current, and over-temperature conditions; our carrier board also adds reverse-voltage protection (up to 40 V).

Pictures

TB67S128FTG Stepper Motor Driver Carrier.

TB67S128FTG Stepper Motor Driver Carrier (top view).

TB67S128FTG Stepper Motor Driver Carrier, bottom view with dimensions.

TB67S128FTG Stepper Motor Driver Carrier with included headers and terminal blocks.

TB67S128FTG Stepper Motor Driver Carrier with included headers and terminal blocks soldered.

TB67S128FTG Stepper Motor Driver Carrier, top view with labeled pinout.

Minimal wiring diagram for connecting a microcontroller to a TB67S128FTG stepper motor driver carrier.

TB67S128FTG Stepper Motor Driver Carrier, Active Gain Control configurable logic input pin surface mount jumpers.

Schematic diagram of the TB67S128FTG Stepper Motor Driver Carrier.

Standard packaging for the TB67S128FTG Stepper Motor Driver Carrier.




Overview

TB67S128FTG Stepper Motor Driver Carrier, bottom view with dimensions.

This product is a carrier board or breakout board for Toshiba’s TB67S128FTG stepper motor driver; we therefore recommend careful reading of the TB67S128FTG datasheet (2MB pdf) before using this product. This stepper motor driver offers microstep resolutions down to 1/128 of a step, and it lets you control one bipolar stepper motor at up to approximately 2.1 A per phase continuously (5 A peak) without a heat sink or forced air flow (see the Power Dissipation Considerations section below for more information.) The board breaks out every control pin and output of the TB67S128FTG, making all of the driver’s features available to the user.

Here are some of the board’s key features:

Included hardware

This product ships with all surface-mount components installed as shown in the product picture. However, soldering is required for assembly of the included through-hole parts. The following through-hole parts are included:

The 0.1″ male headers can be broken or cut into smaller pieces as desired and soldered into the smaller through-holes. These headers are compatible with solderless breadboards, 0.1″ female connectors, and our premium and pre-crimped jumper wires. 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). You can also solder your motor leads and other connections directly to the board for the most compact installation.

Using the driver

Minimal wiring diagram for connecting a microcontroller to a TB67S128FTG stepper motor driver carrier.

Power connections

The driver requires a motor supply voltage of 6.5 V to 44 V to be connected across VIN and GND. This supply should be capable of delivering the expected stepper motor current.

A 5 V output from the TB67S128FTG’s internal regulator is made available on the VCC pin. This output can supply up to 5 mA to external loads, and it can optionally be used to supply the neighboring IOREF pin.

Motor connections

Four, six, and eight-wire stepper motors can be driven by the TB67S128FTG if they are properly connected; a FAQ answer explains the proper wirings in detail.

Warning: Connecting or disconnecting a stepper motor while the driver is powered can destroy the driver. (More generally, rewiring anything while it is powered is asking for trouble.)

Pinout

PIN Default Value Description
VIN 10 V to 47 V board power supply connection (reverse-protected up to 40 V).
GND Ground connection points for the motor power supply and control ground reference. The control source and the motor driver must share a common ground.
VM 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.
A+ Motor A output: “positive” end of phase A coil.
A− Motor output: “negative” end of phase A coil.
B+ Motor output: “positive” end of phase B coil.
B− Motor output: “negative” end of phase B coil.
VCC Regulated 5 V output: this pin gives access to the voltage from the internal regulator of the TB67S128FTG. The regulator can only provide a few milliamps, so the VCC output should only be used for logic inputs on the board (such as the neighboring IOREF pin), not for powering external devices.
IOREF All of the board signal outputs are open-drain outputs that are pulled up to IOREF, so this pin should be supplied with the logic voltage of the controlling system (e.g. 3.3 V for use in 3.3 V systems). For convenience, it can be connected to the neighboring V5 (OUT) pin when it is being used in a 5 V system.
VREF Voltage reference pin for setting the current limit. This pin is connected to the potentiometer. See the Current limiting section below for more information.
MODE0,
MODE1,
MODE2
LOW Step resolution selection pins.
CW/CCW (DIR) LOW Input that determines the direction of rotation.
CLK (STEP) LOW A rising edge on this input causes the driver to advance the motor by one step or microstep (moving the coil currents one step up or down in the translator table).
STANDBY LOW Standby mode input. By default, the driver pulls this pin low, disabling the motor outputs and internal oscillating circuit; it must be driven high to enable the driver.
ENABLE LOW Enable input. By default, the driver pulls this pin low, disabling the motor outputs; it must be driven high to enable the driver.
RESET LOW Reset input: driving this pin high resets the driver’s internal electrical angle (the state in the translator table that it is outputting).
MO This open-drain output is low when the driver’s internal electrical angle is at its initial value (the value after reset); otherwise, the board pulls it up to IOREF.
LO0,
LO1
HIGH Error outputs: these pins drive low to indicate that an error condition has occurred; otherwise, the board pulls them up to IOREF. The specific error can be determined by the state of both error pins.
IF_SEL LOW Interface select pin. By default, the driver pulls this pin low, setting the driver in CLK mode, where the CLK input steps the electrical angle of the stepper motor. When driven high, the driver is in serial input mode, where settings can be configured and the motor can be controlled through a serial interface.
RS_SEL LOW RS mode select pin. By default, the driver pulls this pin low, enabling internal current sensing. When driven high, current is sensed through external resistors added to the RS_x pins.
EDG_SEL LOW CLK edge setting pin. By default, the driver pulls this pin low, causing the driver to take a step (advance the motor’s electrical angle) on each rising edge of the CLK signal. When driven high, the driver takes a step on both the rising and falling edges of the CLK signal.
GAIN_SEL LOW VREF gain setting pin; see Current limiting below.
AGC HIGH This pin determines whether Active Gain Control (AGC) is enabled. See the datasheet and the Active Gain Control section below for details about the AGC feature.
CLIM0,
CLIM1
HIGH,
100 kΩ
pull-up
These inputs set the bottom (minimum) current limit when AGC is active. CLIM1 is a four-state input.
FLIM 100 kΩ
pull-up
This four-state input sets the bottom frequency limit (minimum step rate) for AGC to be active.
BOOST 100 kΩ
pull-up
This four-state input determines how quickly the motor current is boosted back to the normal limit after the driver detects increased load torque with AGC active.
LTH 100 kΩ
pull-down
This input controls the AGC detection threshold (torque detection sensitivity).
MDT0,
MDT1
LOW Decay mode selection pins; see Decay modes below.
TORQE0,
TORQE1,
TORQE2
LOW Digital current control pins; see Current limiting below.
RS_A,
RS_B
Current sense resistor connection pins. Optional external current-sensing resistors can be added to these pins; see Current limiting below.

Step (and microstep) size

Stepper motors typically have a step size specification (e.g. 1.8° or 200 steps per revolution), which applies to full steps. A microstepping driver such as the TB67S128FTG allows higher resolutions by allowing intermediate step locations, which are achieved by energizing the coils with intermediate current levels. For instance, driving a motor in quarter-step mode will give the 200-step-per-revolution motor 800 microsteps per revolution by using four different current levels.

The resolution (step size) selector inputs (MODE0, MODE1, and MODE2) enable selection from the seven step resolutions according to the table below. These three pins have internal 100 kΩ pull-down resistors, so leaving these three microstep selection pins disconnected results in full-step mode. For the microstep modes to function correctly, the current limit must be set low enough (see below) so that current limiting gets engaged. Otherwise, the intermediate current levels will not be correctly maintained, and the motor will skip microsteps.

MODE2 MODE1 MODE0 Microstep resolution
Low Low Low Full step
Low Low High Half step
Low High Low 1/4 step
Low High High 1/8 step
High Low Low 1/16 step
High Low High 1/32 step
High High Low 1/64 step
High High High 1/128 step

Decay modes

The TB67S128FTG supports four different decay modes that can be selected using the MDT0 and MDT1 pins according to the table below. Both of these pins have internal 100 kΩ pull-down resistors, so the default decay mode is 37.5% mixed decay.

MDT1 MDT0 Decay mode Description
Low Low 37.5% mixed decay Starts as slow decay; switches to fast decay for the last 37.5% of each PWM cycle
Low High 50% mixed decay Starts as slow decay; switches to fast decay for the last 50% of each PWM cycle
High Low Fast decay
High High Advanced Dynamic Mixed Decay (ADMD) Dynamically switches between slow and fast decay modes by monitoring the state of current decay (not according to fixed timing)

See the datasheet for more details about these decay modes. We recommend tying both MDT pins high to enable Advanced Dynamic Mixed Decay for most applications.

Control inputs and status outputs

The rising edge of each pulse to the CLK (STEP) input corresponds to one microstep of the stepper motor in the direction selected by the CW/CCW (DIR) pin. These inputs are both pulled low by default through internal 100 kΩ pull-down resistors. If you just want rotation in a single direction, you can leave CW/CCW disconnected.

The chip has two different inputs for controlling its power states: STANDBY and ENABLE. (The chip’s datasheet uses the name STANDBY, but we call the pin STANDBY on our board based on the logic of how it works.) For details about these power states, see the datasheet. Please note that the driver pulls both of these pins low through internal 100 kΩ pull-down resistors. The default states of these pins prevent the driver from operating; both must be high to enable the driver (they can be connected directly to a logic high voltage between 2 V and 5.5 V, such as the driver’s own VCC output, or they can be dynamically controlled via connections to digital outputs of an MCU).

When the RESET pin is driven high, the driver resets its internal electrical angle (the state in the translator table that it is outputting) to an initial value of 45°. This corresponds to +100% of the current limit on both coils in full step mode and +71% on both coils in other microstep modes. Note that, unlike the reset pin on many other stepper drivers, the RESET pin on the TB67S128FTG does not disable the motor outputs when it is asserted: when RESET is high, the driver will continue supplying current to the motor, but it will not respond to step inputs on the CLK pin.

The MO pin drives low to indicates when the driver’s electrical angle is equal to the initial value of 45° (immediately after reset and whenever the driver has stepped a full cycle through the translator table after that); it is pulled up to IOREF otherwise.

The TB67S128FTG can detect several fault (error) states that it reports by driving one or both of the LO pins low (the datasheet describes what each combination of LO0 and LO1 means). Otherwise, these pins are pulled up to IOREF by the board. Errors are latched, so the outputs will stay off and the error flag(s) will stay asserted until the error is cleared by toggling standby mode with the STANDBY pin or disconnecting power to the driver.

Current limiting

To achieve high step rates, the motor supply is typically higher than would be permissible without active current limiting. For instance, a typical stepper motor might have a maximum current rating of 1 A with a 5 Ω coil resistance, which would indicate a maximum motor supply of 5 V. Using such a motor with 10 V would allow higher step rates, but the current must actively be limited to under 1 A to prevent damage to the motor.

The TB67S128FTG supports such active current limiting, and the trimmer potentiometer on the board can be used to set the current limit:

You will typically want to set the driver’s current limit to be at or below the current rating of your stepper motor. One way to set the current limit is to put the driver into full-step mode and to measure the current running through a single motor coil without clocking the STEP input. The measured current will be equal to the current limit (since both coils are always on and limited to 100% of the current limit setting in full-step mode).

Another way to set the current limit is to measure the VREF voltage and calculate the resulting current limit. The VREF voltage is accessible on the VREF pin. The driver’s RS_SEL and GAIN_SEL pins are pulled low by default, selecting internal current sensing. If the GAIN_SEL pin is high, the VREF gain (multiplier) is reduced by half. The current limit in Amps relate to VREF in Volts as follows:

GAIN_SEL Formula
L (Default) ``text(Current Limit) = text(VREF) * 1.56``
H ``text(Current Limit) = text(VREF) * 0.78``

or, rearranged to solve for VREF:

GAIN_SEL Formula
L (Default) ``text(VREF) = text(Current Limit) / 1.56``
H ``text(VREF) = text(Current Limit) / 0.78``

So, for example, if you have a stepper motor rated for 1 A and leave the GAIN_SEL pin low, you can set the current limit to 1 A by setting the reference voltage to about 0.64 V.

Alternatively, the driver can measure motor current with external sense resistors instead of using internal current sensing. To use external sensing, cut the connections between the RS_A and RS_B pins and the adjacent GND pins, connect appropriate resistors between each RS pin and GND, and drive the RS_SEL pin high. See the TB67S128FTG datasheet for information about setting the current limit in this mode.

Note: The coil current can be very different from the power supply current, so you should not use the current measured at the power supply to set the current limit. The appropriate place to put your current meter is in series with one of your stepper motor coils. If the driver is in full-step mode, both coils will always be on and limited to 100% of the current limit setting (unlike some other drivers that limit it to about 70% in full-step mode). If your driver is in one of the microstepping modes, the current through the coils will change with each step, ranging from 0% to 100% of the set limit. If Active Gain Control is active, it will also further reduce the actual motor current. See the driver’s datasheet for more information.

The TB67S128FTG also features three inputs (TORQE0, TORQE1, and TORQE2) that can be used for digital control of the current limit, applying a multiplier between 10% and 100% (the default) to the current limit set by the VREF voltage. See the driver’s datasheet for details about these pins and their available settings.

Active Gain Control

The TB67S128FTG has a feature called Active Gain Control, or AGC, that automatically optimizes the motor current by sensing the load torque applied to the motor and dynamically reducing the current below the full amount. This allows it to minimize power consumption and heat generation when the motor is lightly loaded, but if the driver senses an increased load, it will quickly ramp the current back up to the full amount to try to prevent a stall.

AGC is configured with six pins (AGC, CLIM0, CLIM1, FLIM, BOOST, and LTH) that are brought out along the bottom edge of the board, and all of the pins except LTH are also connected to surface-mount jumpers on the back side of the board that let you reconfigure them without external components or connections. See the driver’s datasheet for details about what each pin does and what input states it accepts.

By default, AGC and CLIM0 are pulled up to IOREF through 10 kΩ pull-up resistors. Cutting the trace that goes between the pads of each jumper allows the chip’s internal 100 kΩ pull-down to pull that pin low. Alternatively, you can simply drive or tie the pin low with the corresponding through-hole.

CLIM1, FLIM, and BOOST (BST) are four-state logic inputs that can be tied high to VCC, pulled high through a 100 kΩ resistor, pulled low through a 100 kΩ resistor, or tied low to GND. Our carrier board connects each of these pins to VCC through a 100 kΩ pull-up resistor by default. As shown in the picture below, the trace between the VCC pad and the pad labeled “R” (connected to the pin through the 100 kΩ resistor) should be cut before selecting a different state by shorting across the desired two pads (although it is also possible to override the 100 kΩ pull-up by tying the pin to VCC or GND without cutting the trace).

The table below lists the AGC configuration pins’ default states on the carrier board and the resulting settings:

Pin Default State Effect
AGC HIGH AGC enabled
CLIM0 HIGH Bottom current limit: 75%
(AGC will not reduce the motor current to less than 75% of the full amount)
CLIM1 100 kΩ
pull-up
FLIM 100 kΩ
pull-up
Frequency limit: 450 Hz
(stepping frequency on CLK pin must be at least 450 Hz for AGC to activate)
BOOST 100 kΩ
pull-up
Max steps to reach full current: 7 steps
(after increased load torque is detected)

Finally, the board pulls the LTH pin low through a 100 kΩ resistor to set a normal AGC detection threshold.

Power dissipation considerations

The TB67S128FTG driver IC has a maximum current rating of 5 A per coil, but the actual current you can deliver depends on how well you can keep the IC cool. The carrier’s printed circuit board is designed to draw heat out of the IC, but to supply more than the specified continuous current per coil, a heat sink or other cooling method is required.

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.

Please note that measuring the current draw at the power supply will generally not provide an accurate measure of the coil current. Since the input voltage to the driver can be significantly higher than the coil voltage, the measured current on the power supply can be quite a bit lower than the coil current (the driver and coil basically act like a switching step-down power supply). Also, if the supply voltage is very high compared to what the motor needs to achieve the set current, the duty cycle will be very low, which also leads to significant differences between average and RMS currents. Additionally, please note that the coil current is a function of the set current limit, but it does not necessarily equal the current limit setting as the actual current through each coil changes with each microstep and can be further reduced if Active Gain Control is active.

Schematic diagram

Schematic diagram of the TB67S128FTG Stepper Motor Driver Carrier.

This diagram is also available as a downloadable pdf: TB67S128FTG stepper motor driver carrier schematic (183k pdf)

Dimensions

Size: 1.2″ × 1.6″
Weight: 5.7 g1

General specifications

Motor driver: TB67S128FTG
Minimum operating voltage: 6.5 V
Maximum operating voltage: 44 V
Continuous current per phase: 2.1 A
Maximum current per phase: 5.0 A
Minimum logic voltage: 2 V2
Maximum logic voltage: 5.5 V
Microstep resolutions: full, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128
Current limit control: potentiometer, digital, SPI-programmable
Reverse voltage protection?: Y3
Header pins soldered?: N

Identifying markings

PCB dev codes: md40a
Other PCB markings: 0J12364

Notes:

1
Without included hardware.
2
This is the input logic high threshold.
3
Note: Reverse voltage protection only works up to 40 V.

File downloads

Recommended links

Frequently-asked questions

I want to control a 3.9 V, 600 mA bipolar stepper motor, but this driver has a minimum operating voltage above 3.9 V. Can I use this driver without damaging the stepper motor?

Yes. To avoid damaging your stepper motor, you want to avoid exceeding the rated current, which is 600 mA in this instance. All of our stepper motor drivers let you limit the maximum current, so as long as you set the limit below the rated current, you will be within spec for your motor, even if the voltage exceeds the rated voltage. The voltage rating is just the voltage at which each coil draws the rated current, so the coils of your stepper motor will draw 600 mA at 3.9 V. By using a higher voltage along with active current limiting, the current is able to ramp up faster, which lets you achieve higher step rates than you could using the rated voltage.

If you do want to use a lower motor supply voltage for other reasons, consider using our DRV8834 or STSPIN-220 low-voltage stepper motor drivers.

Do I really need to set the current limit on my stepper motor driver before using it, and if so, how do I do it?

Yes, you do! Setting the current limit on your stepper motor driver carrier before connecting your motor is essential to making sure that it runs properly. An appropriate current limit also ensures that your motor is not allowed to draw more current than it or your driver can handle, since that is likely to damage one or both of them.

Setting the current limit on our A4988, DRV8825, DRV8824, DRV8834, DRV8880, STSPINx20, and TB67SxFTG stepper motor driver carriers is done by adjusting the on-board potentiometer. We strongly recommend using a multimeter to measure the VREF voltage while setting the current limit so you can be sure you set it to an appropriate value (just turning the pot randomly until things seem to work is not a good approach). The following video has more details on setting the current limit:

My stepper motor driver is overheating, but my power supply shows it’s drawing significantly less than the continuous current rating listed on the product page. What gives?
Measuring the current draw at the power supply does not necessarily provide an accurate measure of the coil current. Since the input voltage to the driver can be significantly higher than the coil voltage, the measured current on the power supply can be quite a bit lower than the coil current (the driver and coil basically act like a switching step-down power supply). Also, if the supply voltage is very high compared to what the motor needs to achieve the set current, the duty cycle will be very low, which also leads to significant differences between average and RMS currents: RMS current is what is relevant for power dissipation in the chip but many power supplies won’t show that. You should base your assessment of the coil current on the set current limit or by measuring the actual coil currents.
How do I connect my stepper motor to a bipolar stepper motor driver?
The answer to this question depends on the type of your stepper motor and how many wires it has. We have an application note that details possible methods for connecting stepper motors to bipolar drivers and controllers and the advantages and disadvantages of each option.

On the blog