How does it work?
Brushless 20 Click as its foundation uses the DRV8313, a fully integrated three-phase BLDC motor driver from Texas Instruments. The highly integrated DRV8313 comes with PWM/enable control interface, wide voltage operating range, an integrated 10mA LDO, and robust on-chip protection features. Low RDSON and efficient switching algorithms ensure excellent thermal performance and high drive capability. This Click board™ offers an energy-saving solution and quiet motor operation for brushless DC (BLDC) motors used in various applications.
Each output driver channel consists of N-channel power MOSFETs configured in a 1/2-H-bridge configuration. Control pins can be accessed through the I2C interface and the PCA9538A port expander, with which the states of those pins, alongside the state of the output terminals, can be directly controlled. The PCA9538A 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, alongside its interrupt and Reset features routed to the INT and RST pins of the mikroBUS™ socket.
The DRV8313 is active unless the SLP pin, routed to the CS pin of the mikroBUS™ socket, is brought to a low logic state. The charge pump and output FETs are disabled in sleep mode, alongside the internal LDO regulator. The DRV313 is automatically brought out of sleep mode if SLP is brought to a logic high state. This board also supports an external power supply for the motor, which can be connected to the input terminal labeled as VM and should be within the range of 8V to 60V, while the BLDC motor coils can be connected to the terminals labeled as 1, 2, and 3.
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 the 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
Brushless
Applications
Can be used for driving three-phase brushless DC motors up to 2A output current rating
On-board modules
DRV8313 – three-phase BLDC motor driver from Texas Instruments
Key Features
Triple 1/2 H-bridge driver, high current drive capability, low MOSFET ON resistance, integrated protection features, sleep mode for standby operation, and more
Interface
I2C
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on Brushless 20 Click 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 |
JP1 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2-JP3 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
Brushless 20 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
External Supply Voltage Range | 8 | – | 60 | V |
Maximum Output Current | – | – | 2 | A |
Operating Temperature Range | -40 | +25 | +120 | °C |
Software Support
We provide a library for the Brushless 20 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 Brushless 20 Click driver.
Key functions
-
brushless20_perform_com_sequence
This function performs a single commutation sequence for the selected rotation direction at a desired speed. -
brushless20_drive_motor
This function drives the motor for a desired time by performing multiple commutation sequences for the selected rotation direction at a desired speed. -
brushless20_get_fault_pin
This function returns the fault pin logic state.
Example Description
This example demonstrates the use of the Brushless 20 Click board™ by driving the motor in both directions at different speeds.
void application_task ( void )
{
log_printf ( &logger, "rn Driving motor clockwise rn" );
for ( uint8_t speed = BRUSHLESS20_SPEED_MIN; speed <= BRUSHLESS20_SPEED_MAX; speed += 20 )
{
log_printf ( &logger, " Speed: %urn", ( uint16_t ) speed );
if ( BRUSHLESS20_OK != brushless20_drive_motor ( &brushless20, BRUSHLESS20_DIR_CW, speed, 3000 ) )
{
log_error ( &logger, " Drive motor " );
}
}
Delay_ms ( 1000 );
log_printf ( &logger, "rn Driving motor counter-clockwise rn" );
for ( uint8_t speed = BRUSHLESS20_SPEED_MIN; speed <= BRUSHLESS20_SPEED_MAX; speed += 20 )
{
log_printf ( &logger, " Speed: %urn", ( uint16_t ) speed );
if ( BRUSHLESS20_OK != brushless20_drive_motor ( &brushless20, BRUSHLESS20_DIR_CCW, speed, 3000 ) )
{
log_error ( &logger, " Drive motor " );
}
}
Delay_ms ( 1000 );
}
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.Brushless20
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.