SparkFun ProDriver and Mini Stepper Motor Driver Hookup Guide
Hardware Overview - ProDriver
Board Dimensions
Below, is a basic drawing of the board dimensions and component layout for the SparkFun ProDriver. For more detailed measurements, users should download and open the Eagle files from the GitHub repository or from the Documents tab on the product page.
- The ProDriver includes four mounting holes that are compatible with 4-40 screws, standoffs, and other related hardware.
- There are four 5mm latch pin terminals; a 2-pin terminal for power and three 4-pin terminals for the control pins and motor connections.
- There is a 5.5 x 2.1 mm DC barrel jack as another power connection.
- All the PTH breakout pins have a .10" spacing for headers or to solder more permanent connections.
For more details on the DC barrel jack, 2-pin latch terminal, and 4-pin latch terminal's dimensions, check out the documentation on their respective product pages.
Power
To power the ProDriver, users will need a power supply that has an output of 3.3 - 16V and can source at least 2A. We have provided three different methods for users to connect their power supply to the ProDriver:
- A 5.5 x 2.1 mm DC barrel jack, which is simple and the easiest to use.
- A latch pin terminal that is similar to a screw terminal, except toolless.
- A set of PTH points (
VM
andGND
) for users who wish to, more permanently, solder their power connections.
Users opting to use the DC barrel jack may find some of these accessories useful:
⚡ Note: Do not connect or disconnect the motor while the ProDriver is powered; as it may damage the motor driver IC.
Power Status LED
A power LED status indicator is also provided on the ProDriver. The LED turns on once the motor power supply is connected and the attached voltage regulator outputs 3.3V. The LED can be disabled by cutting the LED
jumper.
LED
jumper on the ProDriver. (Click to enlarge) 3.3V PTH Pin
A 3.3V PTH connection is broken out amongst the other pin connections. It is connected to the 3.3V output of the LM117 voltage regulator, which is powered by the motor power supply input.
3V3
PTH pin on the ProDriver. (Click to enlarge) Power Protection
The ProDriver includes a safety features to protect the board and power supply. There is a protection diode to prevent reverse current and a thermal fuse to prevent current from being overdrawn.
⚡ Note: We have provided bypass jumpers for more advance users to circumvent these safety features; however, we recommend NOT modifying them, unless you absolutely know what you are doing. Users can easily damage or destroy their ProDriver and/or power supply by modifying the jumpers.
The
D1 BP
and PTC BP
jumpers on the ProDriver. (Click to enlarge)
Pin Connections
The ProDriver was designed with latch pins to provide a completely solderless connection to get users up and running faster. We have also broken out those same connections with PTH points, for a more permanent installation. (*These latch pins are great! Just as secure as a screw pin terminal, but without the hassel.)
More details on these pins are laid out in the following sections below, excluding the power pins. Details for the 3V3
and VM
pins are described in the power section above.
Latch Terminals
When working with the latch terminals, there are two things to keep in mind. These should be fairly obvious, once you take a closer look at the jaws or clamping mechanism:
- If you look closely at the closed jaws or clamping mechanism, you will notice a small gap. Just like screw terminals, there is a minimum and maximum wire thickness for the jaws to physically clamp onto wires.
- On some stepper motors, you may need to tin (i.e. add a little solder) the wire leads and thicken the wires just enough to be clamped.
- Make sure you are inserting the wire between the jaws.
- Looking to the right end of the picture, below, on the latch partially closed, it should be noted that is possible to accidentally insert a wire above the jaws.
Input Control Pins
The input control pins are used to interface directly with the TC78H670FTG motor driver. The ProDriver was designed with latch pins to provide a completely solderless connection to get users up and running faster. We have also broken out those same connections with PTH, for a more permanent installation. (*These latch pins are great! Just as secure as a screw pin terminal, but without the hassel.)
For more details on the functions of the pins listed below, check out the datasheet for the TC78H670FTG.
Pin Name | Label | Description | Operating Something |
---|---|---|---|
Ground Reference | GND |
Ground (i.e. the 0V reference) | 0V |
Standby | STBY |
This pin is used to either place the motor driver in standby or initiate one of the control methods.
|
0 to 3.3V (Default: Low or 0V) |
Enable | EN |
When the motor driver is configured for clock-in stepping, this pin is used to enable the motor output ON or OFF.
|
0 to 3.3V (Default: Low or 0V) |
Error Detection Flag Output | ERR |
If a thermal shutdown (TSD), over current (ISD), or motor load
open (OPD) error, is triggerd, the pin output is pulled low. Under a normal operating status, the level of ERR pin is equal to the EN control voltage from outside. The error flag can be released by reconnecting the VM power or by setting the device to standby.
|
0 to 3.3V |
MODE0 UP-DW (Clock-in) S_DATA (Serial) |
MODE0 |
MODE0: Utilized to configure the conrol method of the motor driver, when the standby pin is released. Based upon that control method, the pin will then function as one of the following inputs:
|
0 to 3.3V (Default: High or 3.3V) |
MODE1 SET_EN (Clock-in) LATCH (Serial) |
MODE1 |
MODE1: Utilized to configure the conrol method of the motor driver, when the standby pin is released. Based upon that control method, the pin will then function as one of the following inputs:
|
0 to 3.3V (Default: High or 3.3V) |
MODE2 CLK (Clock-in) S_CLK (Serial) |
MODE2 |
MODE2: Utilized to configure the conrol method of the motor driver, when the standby pin is released. Based upon that control method, the pin will then function as one of the following inputs:
|
0 to 3.3V (Default: High or 3.3V) |
MODE3 CW-CCW (Clock-in) |
MODE3 |
MODE3: Utilized to configure the conrol method of the motor driver, when the standby pin is released. The pin will then, only function as an input for clock-in stepping:
|
0 to 3.3V (Default: High or 3.3V) |
Current Threshold Reference | VREF |
Connected to the 10 kΩ potentiometer that controls the maximum drive current to the stepper motor coils. Iout (max) = 1.1 × Vref (V) | 0 to 1.8 V |
3V3
pin is connected to the 3.3V output of the LM117 voltage regulator, which is powered by the motor power supply input. The 3.3V ouptut is utilized as a supply voltage for the voltage divider that controls the maximum drive current through the VREF
pin. The supply voltage is also utilized as an I/O reference voltage through the pull-up resistors connected to the MODE0
, MODE1
, MODE2
, and MODE3
pins.Output Channel Pins
The output channel pins are used to drive the coils of the stepper motor. The paired outputs are connected to the two H-Bridges of the motor driver.
Pin Name | Label | Description |
---|---|---|
Positive "A" Channel Output | A+ |
The "A" channel motor output (+) pin |
Negative "A" Channel Output | A- |
The "A" channel motor output (-) pin |
Positive "B" Channel Output | B+ |
The "B" channel motor output (+) pin |
Negative "B" Channel Output | B- |
The "B" channel motor output (-) pin |
For basic information on stepper motors, users should check out our Motors and Selecting the Right One tutorial. Additionally, we have included a few YouTube videos, below, that help explain the theory of the stepping functionality behind stepper motors. Users who have stepper motors with more than four wires, may also find this article enlightening.
Motors and Selecting the Right One
December 12, 2013
TC78H670FTG Motor Driver
The ProDriver is driven by the Toshiba TC78H670FTG stepper motor driver IC. The TC78H670FTG is a 2-phase stepping motor driver, intended for bipolar stepper motors. The chip features two H-Bridge motor drivers that provide users with step size resolutions ranging from full steps, half steps, and micro-stepping down to a 1/128 of a step. The TC78H670FTG can be controlled with the standard clock-in stepping, but it also has an additional option for serial communication.
Some of the advantages to the TC78H670FTG over a simple H-Bridge, include a standby function, selectable mixed decay, error detect flag output, clock- in stepping or serial communication control, software control of the current output, and a minimal parts bill of matierals (BOM). The serial command method is especially unique because it allows users to precisely control the phase, torque, current limit and mixed decay ratio of each coil during the motor operation. Additionally, while in most stepper motor driver ICs, an external trimpot is required to set the current limit; however, with the ProDriver, a simple serial command can be utilized to precisely adjust the current limit.
Characteristic | Description |
---|---|
Motor Power Supply Voltage: | 2.5 to 16.0V |
Output Current: | 2.0A (max) |
Control Methods: |
|
Clock Frequency: |
|
Step Size Resolution: |
Discrete Steps
Micro-Steps
|
Error Detection Functions: |
|
Enable/Error Pin Functionality
On the ProDriver the EN
and ERR
pins are broken out separately; however, these connections are tied to the same pin on the TC78H670FTG, which operates as a control input and output for error flags. A typical application of the EN/ERR
pin with a microcontroller is displayed below.
EN/ERR
pin application from the datasheet. (Click to enlarge) This duality allows the TC78H670FTG to give users control of the power to the motor drive channels; while also providing autonomous functionality to disable its own power, when an error flag is triggered and simultaneously, provide an output indicator on the same pin.
EN
and ERR
pins. (Click to enlarge) H-Bridge Power Control
The EN
pin controls the ON/OFF operation of the H-Bridges to the motor outputs. When the EN
pin is low, all of the H-Bridge MOSFETs turn off and become high impedance (Hi-Z). Likewise, when the EN
pin is set high, the motor channel outputs will be driven normally, based on the stepping controls.
EN
pin functionality from the datasheet. (Click to enlarge) VM
power-on and power-off cycles by setting the EN
pin low to disable the motor channel outputs. The EN
pin can be set high after the power supply reaches the target voltage and becomes stable.Motor Enable Switch
We have broken out EN
pin control to a DPST switch. The switch allows users to easily disable power to the motor channels without connecting additional hardware.
EN
pin. (Click to enlarge) Error Detection
The TC78H670FTG has a built-in functionality to detect thermal shutdown (TSD), over current (ISD), or motor load
open (OPD) connection issues. When these errors are triggered, the ERR
pin is pulled low. In a normal operating status, the level of ERR
pin is equal to the EN
control voltage from outside. After the error is triggered, the error flag can be released by reconnecting the VM
power or by setting the device to standby.
Standby Function
The standby pin for the TC78H670FTG, is used to set up the control method for the motor driver. When the standby pin is low, the motor is released from any control methods and is in standby. On the up edge, of when the standby pin is set high, the motor driver is configured for clock-in stepping or serial communication control based on the input state of the MODE0
, MODE1
, MODE2
, and MODE3
pins.
HIGH
. Pulled from the datasheet. (Click to enlarge) Control Methods
There are two different communication or control methods for users to interface with the ProDriver. The control method is configured by the input state of the MODE0
- MODE3
pins, when the TC78H670FTG is released from standby mode. The TC78H670FTG features the common clock-in stepping method and a more unique serial communication control.
Serial Communication Control
This method is unique to the TC78H670FTG Toshiba motor driver. The control logic allows users to manipulate registers through serial communication, which provide control over:
- The motor rotation direction (or polarity)
- Maximum current output, torque
- OPD error detection
- Selectable mixed decay (used to finely tune drive current to the motor)
- Driving the motor rotation (full steps only).
(*For more details on the configuration options for the available registers, refer to Section 9 of the datasheet.)
Clock-In Stepping Control
This is a standard method for controlling most stepper motor drivers. By default, the ProDriver is configured for clock-in stepping in the fixed mode with a step resolution of 1/128 of a step.
- Step Resolution Modes
With the clock-in control method, users can set up how the step resolution is configured. TC78H670FTG has the two modes for the step resolution settings, a variable mode and a fixed mode. These modes are also initiated by the input states of theMODE0
-MODE3
pins after releasing the standby pin, when the clock-in control method is configured. Below, is a table from the datasheet of the step resolution settings.- Variable Mode: The motor can be started with full step resolution and the step resolution can be changed while the motor is operating.
- Fixed Mode: Once initiated, the step resolution is configured and maintained during the motor operation.
Once clock-in stepping and the step resolution are configured together. The TC78H670FTG awaits for the up-edge of the clock (CLK
) signal, for the MODE2
pin, to before it shifts the motor’s electrical angle per step. The MODE3
pin, controls the clockwise/counter-clockwise (CW-CCW
) rotation direction of the motor for clock-in stepping.
- When the
MODE3
pin is low, the motor is driven with a counter-clockwise (CCW) operation. - Like wise, when the
MODE3
pin is high, the motor is driven with a clockwise (CW) operation.
MODE3
(CLK) and MODE2
(CW-CCW) pin functionality for clock-in stepping, from the datasheet. (Click to enlarge) Step Resolution Transition
In variable mode, users can transition between different ranges of step size resolutions with the MODE0
and MODE1
pins. To enable the transition between step size resolutions, the MODE1
(SET_EN
) pin must be high, when the TC78H670FTG is in variable mode for clock-in stepping. The MODE0
(UP-DW
) pin is used to control the direction of the step size transition.
- When the
MODE0
pin is low, the step size resolution is increased to a smaller step size (i.e. from 1/4 to 1/8 of a step). - Like wise, when the
MODE0
pin is high, the step size resolution is decreased to a larger step size (i.e. from 1/8 to 1/4 of a step).
MODE1
(SET_EN) and MODE0
(UP-DW) pin functionality for transitioning the step size resolution during clock-in stepping, from the datasheet. (Click to enlarge) The transition between step size resolutions occurs, synchronously with the up-edge of the next clock signal. It should also be noted, that the transition can only change the step size resolution one increment at a time (i.e. it takes three clock cycles to transition from a 1/4 step size, down three sizes, to a 1/32 step size resolution).
Maximum Drive Current
The maximum drive current for the ProDriver is limited to 2A (max). However, the peak output current can be controlled with two different methods.
Hardware: The first method controls the drive current through the reference voltage (Vref). The reference voltage, can be configured utilizing the external potentiometer or VREF
breakout pin.
VREF
pin that can be utilized to control the maximum drive current. For the hardware control, the maximum drive current can be calculated with the following equation:
Software: The second method controls the drive current through software. Utilizing serial communication to the TC78H670FTG, the registers can be configured to limit the maximum drive current. The maximum drive current can be calculated with the following equation, based on the configured registers:
Chopping Current Drive
Chopping is a technique that is used to control the average current per phase, by rapidly switching a relatively high output voltage to the motor coils, on and off. This technique improves the current rise time in the motor and improves the torque at high speeds, while maintaining a high efficiency in the constant current drive.
On the TC78H670FTG, the OSCM oscillation frequency (fOSCM) and chopping frequency (fchop) are adjusted with an external resistor (ROSC), connected to the OSCM pin. By default, a 47 kΩ resistor is utilized. However, users can modify the ROSC resistor value by cuttin the OSCM BP
jumper and soldering a resistor to the provided OSCM
PTH connections.
OSCM BP
jumoer and OSCM
PTH points on the ProDriver. (Click to enlarge) Heat Sink
There is a thermal ground plane on the bottom of the board available for users to attach a heat sink(s) with some thermal tape, if necessary. However, after several tests by the engineer for this product, we have determined that for most use cases, a heat sink probably won't be necessary.