How does it work?
Multi Stepper Click as its foundation uses the TB67S101AFG, a two-phase bipolar stepping motor driver using a PWM chopper (customized by external resistance R2 and capacitor C1) from Toshiba Semiconductor. The TB67S101AFG incorporates a low on-resistance MOSFET output stage, which can deliver a 2.8A current with a motor output voltage rating of 47V, in addition to integrated protection mechanisms such as over-current and over-temperature detection. In addition, it supports full-, half-, and quarter-step resolution, with the help of which motor noise can be significantly reduced with smoother operation and more precise control.
As mentioned in the product description, this stepping motor driver is PHASE-in controlled. These control signals are provided through the PCA9555A port expander, which establishes communication with the MCU via the I2C serial interface. This Click board™ also allows a connection of external control signals on the onboard header J1 on pins labeled as P1 and P2 for the device’s PHASE-in control. The PCA9555A also allows choosing the least significant bit (LSB) of its I2C slave address by positioning SMD jumpers labeled as ADDR SEL to an appropriate position marked as 0 and 1.
In addition to PHASE signals, four A/B channel logic signals, INA1, INB1, INB2, and INA2, are used to control the motor, adjusting the desired step resolution. The first three signals are controlled by AN, CLK, and EN pins of the mikroBUS™ socket. The INA2 signal provides the possibility of dual control selected by positioning SMD jumper labeled as JP5 to an appropriate position marked as P6 or INT, which choose control via expander or INT pin of the mikroBUS™ socket. In the case of the selected INT position of the JP5 jumper, the JP10 jumper needs to be unpopulated.
Also, this Click board™ has a Standby function routed to the RST pin of the mikroBUS™ socket used to switch to Standby mode by setting all motor control pins to a low logic state. When the Standby mode is active, the TB67S101AFG stops supplying the power to the internal oscillating circuit and motor output part (the motor drive cannot be performed). This Click board™ also has an additional LED for anomaly indication, but since this version of the stepper driver does not support this feature, this indicator cannot be used.
The motor A/B channel current output value can be set manually using an onboard trimmer labeled as VR1, which sets the reference voltage from 0V to 3.3V. The default configuration of the JP4 jumper is the VREF position that sets both channels’ output current via the VR1 trimmer. In this case, avoid position P4 on a jumper JP4 since the VREFA pin requires an analog signal for setting.
Multi Stepper Click supports an external power supply for the TB67S101AFG, which can be connected to the input terminal labeled as VM and should be within the range of 10V to 47V, while the stepper motor coils can be connected to the terminals labeled as B+, B-, A-, and A+.
This Click board™ can operate with both 3.3V and 5V logic voltage levels selected via the VCC SEL jumper. This way, it is allowed for both 3.3V and 5V capable MCUs to use communication lines properly. However, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Stepper
Applications
Can be used for stepping motors in various applications such as office automation, commercial, and industrial equipment
On-board modules
TB67S101AFG – PHASE-in controlled bipolar stepping motor driver from Toshiba Semiconductor
Key Features
Low power consumption, capable of controlling 1 bipolar stepping motor, full/half/quarter-step resolution, integrated error detection circuits, and more
Interface
GPIO,I2C
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V or 5V,External
Driving Signal
Phase
Voltage Max
50V
Current Max
4A
Micro Step
4
RDSOn
0.49
ADMD
Yes
MO
No
Error Signal (LO)
No
ULVO
No
Pinout diagram
This table shows how the pinout on Multi Stepper Click – TB67S101 corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
LD2 | DIAG | – | LED for anomaly indication is not supported on this MCD version |
JP1-JP2 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
JP3 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP4 | JP4 | Left | A-Channel Current Reference Selection VREF/P4: Left position VREF, Right position P4 |
JP5 | JP5 | Right | A-Channel Logic Control Selection P6/INT: Left position P6, Right position INT |
JP10 | JP10 | Unpopulated | Not supported in this MCD version |
J1 | J1 | Unpopulated | External PHASE Signals Connection Header |
VR1 | VR1 | – | Current Threshold Trimmer |
TP1 | VREF | – | Voltage Reference Testpoint |
TP2 | OSCM | – | Oscillating Circuit Crequency Testpoint |
TP3 | GND | – | Ground Testpoint |
Multi Stepper Click – TB67S101 electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage VCC | 3.3 | – | 5 | V |
External Supply Voltage VM | 10 | 24 | 47 | V |
Motor Output Current | – | 2.8 | – | A |
Motor Output Voltage | 10 | – | 47 | V |
Operating Temperature Range | -20 | +25 | +85 | °C |
Software Support
We provide a library for the Multi Stepper TB67S101 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for Multi Stepper TB67S101 Click driver.
Key functions
-
multisteppertb67s101_set_step_mode
This function sets the step mode resolution settings in ctx->step_mode. -
multisteppertb67s101_drive_motor
This function drives the motor for the specific number of steps at the selected speed. -
multisteppertb67s101_set_direction
This function sets the motor direction to clockwise or counter-clockwise in ctx->direction.
Example Description
This example demonstrates the use of the Multi Stepper TB67S101 Click board™ by driving the motor in both directions for a desired number of steps.
void application_task ( void )
{
multisteppertb67s101_set_direction ( &multisteppertb67s101, MULTISTEPPERTB67S101_DIR_CW );
if ( MULTISTEPPERTB67S101_OK == multisteppertb67s101_drive_motor ( &multisteppertb67s101, 200,
MULTISTEPPERTB67S101_SPEED_FAST ) )
{
log_printf ( &logger, " Move 200 steps clockwise rnn" );
Delay_ms ( 2000 );
}
multisteppertb67s101_set_direction ( &multisteppertb67s101, MULTISTEPPERTB67S101_DIR_CCW );
if ( MULTISTEPPERTB67S101_OK == multisteppertb67s101_drive_motor ( &multisteppertb67s101, 100,
MULTISTEPPERTB67S101_SPEED_FAST ) )
{
log_printf ( &logger, " Move 100 steps counter-clockwise rnn" );
Delay_ms ( 2000 );
}
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.MultiStepperTB67S101
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.