Brushless 20 Click Board
Brushless 20 Click Board
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
- Based on the DRV8313 - three-phase BLDC motor driver from Texas Instruments
- Can be used for driving three-phase brushless DC motors up to 2A output current rating
- mikroBUS: I2C Interface
Overview
The Brushless 20 Click Board™ is a compact add-on board that controls brushless DC (BLDC) motors with any MCU. This board features the DRV8313, a fully integrated three-phase BLDC motor driver from Texas Instruments. It provides three individually controllable half-H-bridge drivers intended to drive a three-phase BLDC motor, solenoids, or other loads. Each output driver channel consists of N-channel power MOSFETs configured in a 1/2-H-bridge configuration. Besides, it has a wide operating voltage range from 8V to 60V, alongside several built-in protection circuits such as under-voltage, charge pump faults, overcurrent, and over-temperature. This Click board™ makes the perfect solution for driving three-phase brushless DC motors up to 2A output current rating.
The Brushless 20 Click Board™ is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a thoroughly tested product, ready to be used on a system equipped with the mikroBUS™ socket.
How Does The Brushless 20 Click Board™ Work?
The Brushless 20 Click Board™ 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 labelled 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 labelled as VM and should be within the range of 8V to 60V, while the BLDC motor coils can be connected to the terminals labelled as 1, 2, and 3.
The Brushless 20 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 |
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 of the Brushless 20 Click Board™ 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 | NC | ||
Reset | RST | 2 | RST | INT | 15 | INT | Interrupt |
Sleep Mode | SLP | 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 | |
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | 5V | Power Supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
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 Board™ as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on MikroE Github account.
Library Description
This library contains API for the Brushless 20 Click Board™ 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 The package Manager (recommended), downloaded from our LibStock™ or found on the MikroE Github account.
Other MikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Brushless20
Additional Notes and Information
Depending on the development board you are using, you may need USB UART Click Board™, 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
The Brushless 20 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.
Software Support
We provide a library for the Brushless 20 Click Board™ as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on MikroE Github account.
Library Description
This library contains API for the Brushless 20 Click Board™ 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 The package Manager (recommended), downloaded from our LibStock™ or found on the MikroE Github account.
Other MikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Brushless20
Additional Notes and Information
Depending on the development board you are using, you may need USB UART Click Board™, 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
The Brushless 20 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.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.