How does it work?
Brushless 27 Click is based on the TMC6300, a power driver for BLDC/PMSM motors from Analog Devices. It integrates a charge pump and ultra-low standby current, ensuring the best efficiency and longest battery life. The 3-phase driver offers three half-bridges with individual enable signals for low-side and high-side. It is optimized for BLDC motor control, as well as control of other magnetic actuators. Each MOSFET of each half-bridge can be individually switched on and off. Internal break-before-make (BBM) logic ensures that no cross-conduction occurs.
The driver operates a BLDC motor with a block or sine-commutation using 6-line control from the PCA9538, a low-voltage 8-bit I/O port from NXP. The foot-points of the motor driver are connected via a sense resistor to the LMV321, a low-voltage rail-to-rail output operational amplifier from Texas Instruments. This OP-AMP allows current measurement of the motor to control or limit motor torque. You can change this sense resistor (R9) to set other maximum motor current values according to the table at the bottom of the Brushless 27 Click. The external power supply in a range of 2 – 11V can be connected over the INPUT screw terminal.
Brushless 27 Click uses a standard 2-wire I2C interface of the PCA9538 to communicate with the host MCU, supporting clock frequency of up to 400kHz. The I2C address can be selected over the ADDR SEL jumpers. The I/O prot can be reset over the RST pin, while the host MCU can measure the current over the SEN pin. The diagnostic output signals any overcurrent or overtemperature condition over the INT pin.
This Click board™ can operate with either 3.3V or 5V logic voltage levels selected via the VCC SEL jumper. This way, both 3.3V and 5V capable MCUs can use the communication lines properly. Also, this 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 the development of IoT and handheld devices, battery-operated motors, printers, POS, toys, office and home automation devices, and more
On-board modules
TMC6300 – power driver for BLDC/PMSM motors from Analog Devices
Key Features
Wide input motor voltage range, battery operation, 3-phase motors up to 2A peak current, direct bridge control for BLDC or PMSM sine-commutation, low power consumption, full protection, diagnostic interrupt output, low RDSon, and more
Interface
I2C
Feature
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 27 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 | Power/Logic Voltage Level 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 27 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
External Power Supply | 2 | – | 11 | V |
Maximum Output Current | – | – | 2 | A |
Software Support
We provide a library for the Brushless 27 Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for Brushless 27 Click driver.
Key functions
-
brushless27_set_pins
Brushless 27 set pins function. -
brushless27_set_trap_com_state
Brushless 27 set trapezoidal com state function. -
brushless27_drive_motor
Brushless 27 drive motor function.
Example Description
This example demonstrates the use of the Brushless 27 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 = BRUSHLESS27_SPEED_MIN; speed <= BRUSHLESS27_SPEED_MAX; speed += 20 )
{
log_printf ( &logger, " Speed gain: %urn", ( uint16_t ) speed );
if ( BRUSHLESS27_OK != brushless27_drive_motor ( &brushless27, BRUSHLESS27_DIR_CW, speed, 2000 ) )
{
log_error ( &logger, " Drive motor " );
}
}
Delay_ms ( 1000 );
log_printf ( &logger, "rn Driving motor counter-clockwise rn" );
for ( uint8_t speed = BRUSHLESS27_SPEED_MIN; speed <= BRUSHLESS27_SPEED_MAX; speed += 20 )
{
log_printf ( &logger, " Speed gain: %urn", ( uint16_t ) speed );
if ( BRUSHLESS27_OK != brushless27_drive_motor ( &brushless27, BRUSHLESS27_DIR_CCW, speed, 2000 ) )
{
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), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Brushless27
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 MIKROE compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE 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.