How does it work?
Brushless 9 Click is based on the TC78B027FTG, a 1-Hall sine-wave PWM controller for three-phase brushless DC motors from Toshiba Semiconductor. The TC78B027FTG simplifies the motor selection by using only one Hall sensor input that can be used with either a single Hall sensor motor or the more conventional 3 Hall sensor motors. It can be operated by 1-Hall sine-wave commutation and 1-Hall 150° commutation, which can be switched by register configuration. Also, a closed-loop speed control function is implemented without using an external MCU. The closed-loop control function regulates motor rotational speed fluctuations caused by changes in power supply voltage and load. The TC78B027FTG also has some protection features such as thermal shutdown, overvoltage and overcurrent protection, lock detection, and many more.
For Normal operation, it is necessary to apply the voltage in the range from 9V to 16V to the external connector labeled as VM and to connect Hall signals from the BLDC motor through the J1 header on the left side of the board. The operation moves to the Standby mode when a zero cross of the Hall signal is not detected for a lock detection period after the voltage of 1V or less is applied to the SPD pin. In the Standby mode, the power consumption is reduced by powering off its internal 5V regulator. The TC78B027FTG also drives six external N-CH MOSFETs, the SSM6K513NU from Toshiba Semiconductor, that run the connected Brushless DC Motor. For this type of application, more precisely for Brushless Click boards that require BLDC Motor with Hall Sensor for their work, Mikroe offers its users just one such motor, whose offer you can find here.
Brushless 9 Click communicates with MCU using several GPIO pins. The DIR pin, routed on the RST pin of the mikroBUS™ socket, is used to select the direction of motor rotation, while the motor braking function is available on the CS pin of the mikroBUS™ socket labeled as BRK. The TC78B027FTG has several braking functions: Motor OFF, Short Brake, Reverse Brake, Mild Brake. On the other hand, functions such as Motor START, Motor STOP, and Rotation Speed can be set using the SPD pin routed on the PWM pin of the mikroBUS™ socket, where the PWM duty signal and the polarity of this signal can be configured by the register.
If any of the previously mentioned critical conditions (such as over current, over temperature, motor lock) occur, the TC78B027FTG will signal such a phenomenon using an LED diode labeled as ALERT connected to the interrupt pin marked as INT on the mikroBUS™ socket. Besides, it is possible to detect the occurrence of motor lock events where the indication of such a condition is performed using the LED indicator labeled as FG routed on the AN pin of the mikroBUS™ socket.
NOTE: Pins such as FG, SPD, and INT can also be used as serial interface pins, where FG can be used for SDI or SIO signal, SPD for SCK signal, while INT can be used as SDO signal in case of 3-wire SPI communication. In case the SDO line is not used, INT retains its ALERT function.
This Click board™ is designed to be operated with both 3.3V and 5V logic voltage levels that can be selected via VCC SEL jumper. This allows for both 3.3V and 5V capable MCUs to use communication lines properly.
Specifications
Type
Brushless
Applications
Can be used in applications such as high-velocity server fans, blowers, and pumps.
On-board modules
Brushless 9 Click is based on the TC78B027FTG, a 1-Hall sine-wave PWM controller for three-phase brushless DC motors from Toshiba Semiconductor.
Key Features
1-Hall sine-wave PWM drive, closed loop speed control, output RPM information, protection features, and more.
Interface
GPIO
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 9 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 |
LD2 | VREG | – | VREG LED Indicator |
LD3 | ALERT | – | ALERT LED Indicator |
LD4 | FG | – | FG LED Indicator |
JP1 | VCC SEL | Left | Power Supply Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
J1 | HALL | Populated | Hall Sensor Input Pins |
Brushless 9 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 9 | – | 16 | V |
Maximum Output Voltage | – | – | 30 | V |
Maximum Output Current | – | – | 15 | A |
Power Dissipation | – | – | 2.5 | W |
Operating Temperature Range | -40 | – | +105 | °C |
Software Support
We provide a library for the Brushless 9 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 9 Click driver.
Key functions:
void brushless9_cfg_setup ( brushless9_cfg_t *cfg );
– Config Object Initialization function.BRUSHLESS9_RETVAL brushless9_init ( brushless9_t *ctx, brushless9_cfg_t *cfg );
– Initialization function.void brushless9_default_cfg ( brushless9_t *ctx );
– Click Default Configuration function.
Examples description
This application is a schowcase of controlling speed and direction of brushless motor with hall sesnor.
void application_task ( void ) { log_info( &logger, " Starting... " ); brushless9_set_brk( &brushless9, 0 ); for ( float duty = 0.1; duty < 1; duty += 0.1 ) { Delay_ms( DUTY_CHANGE_DELAY ); brushless9_set_duty_cycle ( &brushless9, duty ); log_printf( &logger, "Duty: %u%%rn", ( uint16_t )ceil( duty * 100 ) ); } for ( float duty = 0.9; duty >= 0; duty -= 0.1 ) { Delay_ms( DUTY_CHANGE_DELAY ); brushless9_set_duty_cycle ( &brushless9, duty ); log_printf( &logger, "Duty: %u%%rn", ( uint16_t )ceil( duty * 100 ) ); } Delay_ms( DUTY_CHANGE_DELAY ); log_info( &logger, " Stopping... " ); brushless9_set_duty_cycle ( &brushless9, 0 ); brushless9_set_brk( &brushless9, 1 ); Delay_ms( BREAK_DELAY ); log_info( &logger, " Changing direction... " ); direction = !direction; brushless9_set_dir( &brushless9, direction ); }
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.Brushless9
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. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
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.