Stepper 3 click is designed to drive unipolar stepper motors, with a supply voltage applied to the common wire. The current flows through the common wire and the motor coil, via the activated current sink driver, to the ground. This Click board™ uses the ULN2003A, a high voltage and current Darlington transistors array IC, as the sink driver. This IC is an ideal solution for this purpose, as it has seven high power Darlington output stages, activated by TTL/CMOS logic level signals, applied to the control pins. This allows driving unipolar stepper motors with up to 30V and 500mA per coil.
This product is no longer in stock
Stepper 3 click is designed to drive unipolar stepper motors, with a supply voltage applied to the common wire. The current flows through the common wire and the motor coil, via the activated current sink driver, to the ground. This Click board™ uses the ULN2003A, a high voltage and current Darlington transistors array IC, as the sink driver. This IC is an ideal solution for this purpose, as it has seven high power Darlington output stages, activated by TTL/CMOS logic levels applied to the control pins. This allows driving unipolar stepper motors with up to 30V and 500mA per coil.
The ULN2003A itself is an ideal option for driving inductive loads such as the motor coils, as every channel is equipped with the common cathode clamp diode, which protects the IC from back EMF, typically observed at inductors and coils. Each of its inputs has a 2.7kΩ resistor, making it suitable to be driven by the TTL signal levels. Besides driving unipolar stepper motor as the primary function, this Click board™ can also be used for driving relays, brushed DC motors, or to be used as the logic buffer for a wide range of applications. By combining more than one driver, it is possible to sink more than 500mA.
Stepper 3 click uses the ULN2003A, a high voltage and current Darlington transistors array IC, from Texas Instruments. This IC is an integrated high power current sink driver with 7 channels, driven by the TTL/CMOS signal levels, typically found on MCUs. This allows implementation of the unipolar stepper motor driver, with up to 30V and 500mA per coil. Motor step progression is performed by alternating the active driver, which sinks the current through the coil connected to the respective driver. The alteration cycle is performed by the MCU, which controls the driver inputs: a HIGH logic level on the input pin will set the corresponding driver to a LOW logic level - it will allow it to sink current.
Switching the power through the coil results in the appearance of the back EMF. This is a generated voltage that opposes the change of the current direction through the inductive load and without proper measures, it can affect the electrical components on the output. For this reason, every driver stage is equipped with the clamping diode, which allows the current generated by the back EMF, to be returned back to the power supply. This effectively protects the Darlingtons on the output stages from inverse voltage polarity.
There are only four output stages connected on this Click board™, since the primary function of this Click board™ is driving a unipolar stepper motor. These outputs are equipped with the LEDs, which are used to indicate the state of every driver. These LEDs use their own power supply from the 5V mikroBUS™ power rail, so they will be lit whenever the corresponding driver is active, regardless of the connected load. The output stages are routed to the optional disconnectable crimp style XH connector with 2.5mm pitch, which can be used for connecting the 28BYJ-48, a small stepper motor suitable for a large range of applications. The fifth pin of this connector is the common wire of the motor coils, which is routed to the motor power source. For more information about how the stepper motor works, please follow the learn article link in the download section, below.
The motor coils can be supplied by either 5V from the mikroBUS™ or by an external power supply, connected to the input terminal. Selection between the external power supply and 5V rail from the mikroBUS™ is done by moving the jumper labeled as MOTOR PWR, to either 5V position or EXT position. This jumper is a 3x1 male header with the standard 2.54mm pitch, providing a simple and effortless operation.
It can be used for precise and reliable unipolar stepper motor control applications. Besides driving unipolar stepper motor as the primary function, this Click board™ can also be used for driving relays, brushed DC motors, etc.
ULN2003A, a high voltage and current Darlington transistors array IC, from Texas Instruments.
High power Darlington sink drivers with up to 500mA per channel, clamping diode for the kickback voltage protection, can be used for other applications such as driving relay coils or brushed DC motors, etc.
Click board size
M (42.9 x 25.4 mm)
This table shows how the pinout on Stepper 3 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
|Channel A ctrl IN||INA||1||AN||PWM||16||IND||
Channel D ctrl IN
|Channel B ctrl IN||INB||2||RST||INT||15||NC|
|Channel C ctrl IN||INC||3||CS||RX||14||NC|
|External power supply voltage||5||-||30||V|
|Current limit (per channel)||-||-||500||mA|
|LD1||PWR||-||Power LED indicator|
|LD2-LD5||OUTA-OUTD||-||Driver activity LED indicators|
|CN1||-||-||Unipolar stepper motor connector|
|CN2||5-30V||-||External power supply connector|
We provide a library for Stepper 3 click on our Libstock page, as well as a demo application (example), developed using MikroElektronika compilers and mikroSDK. The provided click library is mikroSDK standard compliant. The demo application can run on all the main MikroElektronika development boards.
The library carries everything needed for stepper motor control including speed
and acceleration setup. The library is also adjustable to working on different amounts of ticks per second, also speed and acceleration can be provided in float format. The buffer used for movement calculation is defined by the user so this library can be adjusted for MCUs with very limited RAM resources. Check the documentation for more details on how to use it.
uint8_t stepper3_setSpeed( float minSpeed, float maxSpeed, float accelRatio, T_STEPPER3_OBJ obj )- Function for setting the motor speed.
uint8_t stepper3_setRoute( const uint8_t direction, uint32_t steps, T_STEPPER3_OBJ obj )- Setup new route.
void stepper3_start( T_STEPPER3_OBJ obj )- Start motor movement.
The application is composed of three sections:
stepper3_start( (T_STEPPER3_OBJ)&myStepper );
while ( myStepper.status.running )
stepper3_process( (T_STEPPER3_OBJ)&myStepper );
Delay_ms( 2000 );
In addition to the library function calls example carries the necessary Timer ISR and Timer initialization. Check the Timer initialization settings 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 information
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.
This click board is supported by 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.