stepper18 2.0.0.0
Main Page

Stepper 18 click

‍Stepper 18 Click is a compact add-on board that contains a microstepping stepper motor driver. This board features the DRV8426, a stepper motor driver for industrial and consumer applications from Texas Instruments.

click Product page


Click library

  • Author : Luka Filipovic
  • Date : May 2021.
  • Type : I2C type

Software Support

We provide a library for the Stepper18 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 Stepper18 Click driver.

Standard key functions :

Example key functions :

Example Description

‍This example showcases the device's ability to control the motor.

It initializes the device for control and moves the motor in two directions in a variety of speeds for 360 degrees.

The demo application is composed of two sections :

Application Init

‍Initializes UART and I2C communication modules, and additional

pins for motor control, and set's default configuration

void application_init ( void )
{
log_cfg_t log_cfg;
stepper18_cfg_t stepper18_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
stepper18_cfg_setup( &stepper18_cfg );
STEPPER18_MAP_MIKROBUS( stepper18_cfg, MIKROBUS_1 );
err_t init_flag = stepper18_init( &stepper18, &stepper18_cfg );
if ( init_flag == I2C_MASTER_ERROR )
{
log_error( &logger, " Application Init Error. " );
log_info( &logger, " Please, run program again... " );
for ( ; ; );
}
stepper18_default_cfg ( &stepper18 );
log_info( &logger, " Application Task " );
stepper18_set_dir( &stepper18, 0 );
}
#define STEPPER18_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition stepper18.h:110
void application_init(void)
Definition main.c:44

Application Task

‍First it move motor clockwise for 360 degrees in medium speed.

Then changes direction and moves motor for 180 degrees in slow speed, and additional 180 degrees in fast speed.

void application_task ( void )
{
static uint8_t direction = 0;
log_printf( &logger, "> Move 360deg in CW direction.\r\n" );
direction = !direction;
stepper18_set_dir( &stepper18, direction );
Delay_ms ( 500 );
log_printf( &logger, "> Move 180deg in CCW direction.\r\n" );
Delay_ms ( 1000 );
log_printf( &logger, "> Move 180deg in CCW direcion.\r\n" );
direction = !direction;
stepper18_set_dir( &stepper18, direction );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
}
#define STEPPER18_SPEED_MEDIUM
Definition stepper18.h:83
#define STEPPER18_SPEED_SLOW
Definition stepper18.h:82
#define STEPPER18_SPEED_FAST
Definition stepper18.h:84
#define STEPPER18_STEP_RES_FULL
Stepper 18 device step resolution.
Definition stepper18.h:67
void application_task(void)
Definition main.c:78

Note

‍Step resolution is changed by the switches[ M0, M1 ] on device.

Full step : M0=>0 , M1=>0; Half step : M0=>1 , M1=>0; Quarter step : M0=>0 , M1=>1; 1/8 step : M0=>1 , M1=>1; 1/16 step : M0=>Hi-Z , M1=>1; 1/32 step : M0=>0 , M1=>Hi-Z; 1/64 step : M0=>Hi-Z , M1=>0; 1/128 step : M0=>Hi-Z , M1=>Hi-Z; 1/256 step : M0=>1 , M1=>0;

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.Stepper18

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.