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:
- Two interface modes to select from:
- clock mode for simple step and direction control
- serial mode for controlling the driver’s many features through a serial interface (this mode also allows for serial control of the current limit)
- Eight different step modes: full-step, half-step, 1/4-step, 1/8-step, 1/16-step, 1/32-step, 1/64-step, and 1/128-step
- Adjustable current control lets you set the maximum current output with a potentiometer, which lets you use voltages above your stepper motor’s rated voltage to achieve higher step rates
- Four different decay modes: mixed decay (two timing ratios), fast decay, or Advanced Dynamic Mixed Decay (ADMD), which dynamically switches between slow and fast decay modes by monitoring the state of current decay (not according to fixed timing)
- Configurable Active Gain Control (AGC) automatically reduces drive current to minimize power consumption and heat generation when maximum torque is not needed
- Motor supply voltage: 6.5 V to 44 V
- Can deliver up to approximately 2.1 A per phase continuously (5 A peak) without additional cooling
- Can interface directly with 3.3 V and 5 V systems
- Protection against over-current/short-circuit and over-temperature
- Open-load detectionActive-low error outputs indicate over-current, over-temperature, or open-load condition
- Carrier board adds reverse-voltage protection up to 40 V
- Carrier board breaks out all of the TB67S128FTG pins in a compact size (1.2″ × 1.6″)
- Exposed solderable ground pad below the driver IC on the bottom of the PCB
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:
- Two 1×16-pin breakaway 0.1″ male header strips
- Three 2-pin, 3.5 mm terminal blocks (for board power and motor outputs)
- One 0.1″ shorting block (for optionally connecting IOREF to the neighboring VCC pin when using this driver in 5 V systems)
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
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.
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.
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 and making the current limit relate to VREF as follows:
current limit=VREF×1.56 x A/V (GAIN_SEL = L)
So, for example, if you have a stepper motor rated for 1 A you can set the current limit to 1 A by setting the reference voltage to about 0.64 V.
If the GAIN_SEL pin is high, the VREF gain (multiplier) is reduced by half, and the relationship between the current limit and VREF instead becomes:
current limit=VREF×0.78 x A/V (GAIN_SEL = H)
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).
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)