Brushless 6 click is designed to drive a three-phase sensorless, brushless motor, also known as the BLDC motor. The motor rotation is controlled by receiving driving commands via the incoming PWM signal. This click board fully controls the rotation of the BLDC motor by utilizing the onboard MCU ATmega8A, an 8-bit MCU from Microchip. The MCU outputs are not adequate to power on the coils of the BLDC motor, so the MCU is used to control the power circuitry, instead. This circuit consists of 6 MOSFET transistors, used to switch the power from an external power source to the appropriate stator coils.
The advantages of the BLDC motors over the other types of DC motors are many. Thanks to their contactless design, BLDC motors last longer and because of the superior rotational speed and torque properties, BLDC motors are widely used for high-speed, lightweight applications such as the drive motors for drones, electronic cooling equipment, small house appliances, robotics and similar applications. The Brushless 6 click provides an easy and elegant solution for driving BLDC motors.
DC brushless motors, also known as BLDC motors, are becoming very popular recently, due to the fact that they have many advantages over some other types of DC motors. The term "brushless" actually means that the rotor of the BLDC motor doesn’t have any surfaces which make the electrical contact with the stator because the rotor uses only permanent magnetic materials.
The main control logic component of the Brushless 6 click is the ATmega8A MCU from Microchip. It uses a 50Hz PWM signal at one of the input pins, routed to the PWM pin of the mikroBUS™ socket. The duty cycle of the incoming PWM signal is decoded by the onboard ATmega8A MCU so that a certain pulse width range is used to set speed and direction of the rotation. The information about how to properly decode the controller PWM signal can be found in the PWM signal control table, below. MikroElektronika demo application provided with the Brushless 6 click board, uses simplified functions to calibrate and set the speed and the direction of the BLDC motor, so it can be used as the reference for the future design.
Since the MCU output can't be used to drive heavier loads directly, the stator coils are driven through the MOSFET transistors network, controlled by the MCU. The electrical circuit that powers the coils is also known as the "invertor" circuit because it provides both positive and negative voltages from the connected external power supply. The motor can be connected via the onboard connector, which provides an easy and secure connection. There is also a power connector, used to connect the external power supply, up to 12V.
Type | DC |
Applications | The Brushless 6 click can be used to drive BLDC motors for a wide range of applications, such as the BLDC motors for drones, electronic cooling equipment, small home appliances, toys... |
On-board modules | ATmega8A, an 8-bit MCU from Microchip. |
Key Features | Complete driving and control of the BLDC sensorless motors in both directions. Easy to use PWM signal control through one wire. |
Interface | PWM |
Input Voltage | 5V |
Click board size | M (42.9 x 25.4 mm) |
This table shows how the pinout on Brushless 6 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
External input voltage range | 8 | 12 | 12 | V |
Output current | 1 | A |
Label | Name | Default | Description |
---|---|---|---|
PWR | Power LED | - | Power LED indicator |
CON1 | Connector | - | External power supply connector |
CON2 | Connector | - | BLDC motor connector |
PWM duty cycle (f = 50Hz) | Command |
---|---|
1ms - 1.5ms | CCW speed (max speed to 0, counterclockwise) |
1.5ms | No rotation |
1.5ms - 2ms | CW speed (0 to max speed, clockwise) |
We provide a demo application for Brushless 6 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Example description
The example demonstrates how to initialize and control a brushless motor using Brushless 6 click. The demo application is composed of two sections :
void applicationTask() { brushless6_setMotor( _BRUSHLESS6_SPEED1 ); UART_Write_Text( " Speed 1 "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 ); brushless6_setMotor( _BRUSHLESS6_SPEED2 ); UART_Write_Text( " Speed 2 "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 ); brushless6_setMotor( _BRUSHLESS6_SPEED3 ); UART_Write_Text( " Speed 3 "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 ); brushless6_setMotor( _BRUSHLESS6_CCW ); UART_Write_Text( " Direction Change "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 ); brushless6_setMotor( _BRUSHLESS6_INIT ); UART_Write_Text( " Stoped "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other MikroElektronika libraries used in the example:
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB UART 2 clickor 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.