STEPPER 13 CLICK
PID: MIKROE‐3736
Weight: 19 g
Stepper 13 Click is a bipolar step motor driver. It features an H‐bridge bipolar step motor driver, which
supports full‐, half‐, quarter‐, or eighth‐step modes. Stepper 13 click also carries a port expander so that
the communication can be done with a minimal number of pins, through the mikroBUS™ I2C bus. This
click board™ offers thermal protection, integrated kickback voltage protection, it has a wide range of
input voltage, protection against current shoot‐through the H‐Bridge and high current capability. These
features make Stepper 13 click an ideal solution for driving motors in any application that demands a
precise and safe step motor driver.
Stepper 13 click is supported by a mikroSDK compliant library, which includes functions that simplify
software development. This Click board™ comes as a fully tested product, ready to be used on a system
equipped with the mikroBUS™ socket.
Stepper 13 click operates from a supply voltage of up to 35V and can deliver motor currents up to 2.5A
(depending on use case and thermal conditions). It also can operate a bipolar stepper motor in full‐,
half‐, quarter‐, or eighth‐step modes. Thanks to internal safety features, such as over‐current protection
(OCP), input over‐voltage protection (OVP), under‐voltage lockout (UVLO), and thermal shutdown, this
click board™ is perfectly suited for rapid development of various stepper motor applications, including
ATM‐related applications, toys, 3D printers, mechatronics, robotics‐related applications, etc.
HOW DOES IT WORK?
This click board™ is equipped with two integrated circuits. The step motor driver IC is
the MP6500, a dual full‐bridge motor driver from MPS. This IC internal structure is somewhat
symmetrical. It features two MOSFET H‐bridges used to drive two coils of a bipolar step motor
in both directions. The MP6500 uses a wide input voltage range ‐ from 4.5V to 35V. This is the
voltage used to energize the motor coils. A jumper (JP3) is used to select whether to use
external power supply or to obtain the power supply from the mikroBUS™ +5V rail. The
MP6500 has two PHASE inputs which are used to control the direction of current flow through
H‐bridges and thus, the motor coils. It also allows controlling step motor in both full step and
half step modes, by toggling states on MS1 and MS1 pins.
The bipolar step motor coils can be connected to the onboard screw terminals. There are two
terminals, used to connect each of the step motor coils. The third connector is used to connect
an external voltage, ranging from 4.5V to 35V, depending on the used motor voltage
requirements. It should be noted that without a valid external voltage connected to this
terminal, the motor will not work. Also, it should be noted that 40V is an absolute maximum
voltage allowed as per datasheet, thus the overtemperature protection might be activated
when driving heavier loads. The recommended maximum voltage should not exceed 35V, as
stated on the silkscreen layer of the PCB.
All of the MP6500 control lines are routed to the second IC on Stepper 13 board, which is
the PCA9538A, a well‐known 8bit I/O expander with a serial interface, used on many of the
MikroElektronika’s designs for its simplicity and reliability. It allows the control lines of the
MP6500 IC to be driven via the I2C and few pins it uses ‐ reducing the required pin count of the
Stepper 13 click. This also allows for sending compact I2C messages, instead of toggling several
pins at once ‐ which can introduce problems with timing sometimes, especially when those pins
belong to different MCU ports. By changing states of the six control pins, it is possible to drive
the step motor in full step mode as well as the half step mode. However, provided
MikroElektronika libraries contain simple and intuitive functions to fully control the bipolar step
motor, connected to Stepper 13 click. Their usage is demonstrated in the included example
application, which can be used as a reference for a custom design.
The motor power supply can be connected to the input terminal labeled as VIN and should be
within the range of 4.5V to 35V. Stepper motor coils can be connected to the terminals labeled
as A1, B2, B1, and A2. The Click board™ supports an optional external power supply for the
motor in order to work. However, it also requires 3.3V from the mikroBUS™ rail.
SPECIFICATIONS
Type
Stepper
Applications
Various stepper motor applications, including ATM‐related applications, toys, 3D
printers, mechatronics, robotics‐related applications, etc.
On‐board
modules
MP6500 Dual Full‐Bridge 35V, 2.5A, Stepper Motor Driver, from MPS; PCA9538A
8bit I/O Expander with Serial Interface, from NXP
Key Features
Thermal protection, integrated kickback voltage protection, it has a wide range of
input voltage, protection against current shoot‐through the H‐Bridge and high
current capability
Interface
GPIO,I2C
Click board
size
M (42.9 x 25.4 mm)
Input Voltage
5V
PINOUT DIAGRAM
This table shows how the pinout on Stepper 13 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
NC
1
AN
PWM
16
STP
Step Control
NC
2
RST
INT
15
INT
Interrupt Out
RST
3
CS
RX
14
NC
NC
4
SCK
TX
13
NC
NC
5
MISO
SCL
12
SCL
I2C Clock
NC
6
MOSI
SDA
11
SDA
I2C Data
NC
7
3.3V
5V
10
5V
GND
8
GND
GND
9
GND
Reset In
Ground
Power Supply
Ground
ONBOARD SETTINGS AND INDICATORS
Label
Name
Default
LD1
PWR
‐
JP1
VM
Left
Power select jumper for port expander: left position
5V, right EXT
TB1
Screw terminal
‐
Terminal used for connecting the first coil of the step
motor
TB2
Screw terminal
‐
Terminal used for connecting the external input
voltage
Description
Power LED Indicator
TB3
Screw terminal
‐
Terminal used for connecting the second coil of the
step motor
STEPPER 13 CLICK ELECTRICAL SPECIFICATIONS
Description
Min
Typ
Max
Unit
Receiver inputs voltage range
4.5
‐
+35
V
Receiver inputs voltage range
‐
‐
2.5
A
SOFTWARE SUPPORT
We provide a library for the Stepper 13 Click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers. The demo can run on all
the main MikroElektronika development boards.
Library Description
Library carries everything needed for stepper motor control including speed and acceleration
setup. Library is also adjustable to working on different amount of ticks per second, also speed
and acceleration can be provided in float format. Buffer used for movement calculation is
defined by user so this library can be adjusted for MCUs with very limited RAM resources.
Check documentation for more details how to use it.
Key functions:
uint8_t stepper13_setSpeed( float minSpeed, float maxSpeed, float accelRatio,
T_STEPPER13_OBJ obj ) ‐ Setup motor speed
uint8_t stepper13_setRoute( const uint8_t direction, uint32_t steps, T_STEPPER13_OBJ obj
) ‐ Setup new route
void stepper13_start( T_STEPPER13_OBJ obj ) ‐ Start motor movement
Examples description
The application is composed of three sections :
System Initialization ‐ Initializes all GPIO pins found on Stepper_13 Click and timer to 1ms interrupt.
Application Initialization ‐ First segment initializes driver and stepper control. Second segment setup
movement limits, maximum and minimum speed, and acceleration ratio. Third segment enables motor and
setup new route which will be called from application task.
Application Task ‐ (code snippet) ‐ Sequentialy moves motor. First part of sequence executes movement until
the end. Second part stop motor movement after one second and continues sequence after two seconds.
void applicationTask()
{
stepper13_start( (T_STEPPER13_OBJ)&myStepper );
while ( myStepper.status.running )
{
stepper13_process( (T_STEPPER13_OBJ)&myStepper );
}
Delay_ms( 2000 );
stepper13_start( (T_STEPPER13_OBJ)&myStepper );
Delay_ms( 1000 );
stepper13_stop( (T_STEPPER13_OBJ)&myStepper );
Delay_ms( 2000 );
}
In addition to library function calls example carries necessay Timer ISR and Timer initialization.
Check Timer initialization setings and update it according to your MCU ‐ Timer Calculator.
The full application code, and ready to use projects can be found on our LibStock page.
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. The terminal available in all MikroElektronika compilers,
or any other terminal application of your choice, can be used to read the message.
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.
https://www.mikroe.com/stepper‐13‐click/9‐25‐19