Balancer 3 Click Board
Balancer 3 Click Board
The Balancer 3 Click Board™ is an overvoltage protection device for 2-series cell lithium-ion battery packs that incorporates a high-accuracy precision overvoltage detection circuit and automatic cell imbalance correction. It can be used for various applications, ranging from smartphones, notebooks/laptops, power tools, portable equipment and instrumentation, to energy storage systems (ESS), while providing the output voltage at the same time.
The Balancer 3 Click Board™ is supported by the mikroSDK compliant library, which includes functions that simplify software development. The Click Board™ comes as a fully tested product, ready to be used on a system equipped with mikroBUS™.
Software Support
We provide a library for the Balancer 3 Click Board™ 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.
Library Description
This library allows user to perform a control of the Balancer 3 Click Board™ and to check the Overvoltage condition status. This click also can be used for power supply with the voltage range from 6V to 8.4V. For more details check documentation.
Key Functions
void balancer3_gpioDriverInit( T_BALANCER3_P gpioObj )
- This function initializes GPIO driver.void balancer3_enable_cell_balance( uint8_t state )
- This function allows user to enable or disable Cell Balance (cell mismatch correction circuitry).uint8_t balancer3_check_overvoltage_cond( void )
- This function checks the Overvoltage condition.
Example Description
The application is composed of three sections :
- System Initialization - Initializes peripherals and pins.
- Application Initialization - Initializes GPIO driver and sets the time interval variable (time_inter) to the 0, which is used for OV condition message logging.
- Application Task - (code snippet) - Allows user to enter a commands that can enable or disable cell balance and check the overvoltage condition. When OV condition is not detected, the status message will be sent after every 8 seconds. When OV condition is detected, the status message will be sent after every 2 seconds. Press '0' when you want to disable cell balance. Press '1' when you want to enable cell balance. Press '2' when you want to check the OV condition status immediately. Note : The voltage of each cell in a 2-series cell battery pack is compared to an internal reference voltage. If either cell reaches an overvoltage condition, the Balancer 3 click starts a timer that provides a delay proportional to the capacitance on the CD pin, in our example it's about 2 seconds. Upon expiration of the internal timer, the OV condition will be detected. If enabled, the Balancer 3 Click Board™ performs automatic cell imbalance correction where the two cells are automatically corrected for voltage imbalance by loading the cell with the higher charge voltage with a small balancing current. When the cells are measured to be equal within nominally 0 mV, the load current is removed. It will be re-applied if the imbalance exceeds nominally 30 mV. The cell mismatch correction circuitry is controlled by the user.
void applicationTask() { rx_dat = UART_Rdy_Ptr(); if (rx_dat != _RX_NOT_READY) { rx_dat = UART_Rd_Ptr(); switch (rx_dat) { case '0' : { balancer3_enable_cell_balance( _BALANCER3_CELL_BALANCE_DIS ); mikrobus_logWrite( "* Cell balance is disabled *", _LOG_LINE ); break; } case '1' : { balancer3_enable_cell_balance( _BALANCER3_CELL_BALANCE_EN ); mikrobus_logWrite( "* Cell balance is enabled *", _LOG_LINE ); break; } case '2' : { time_inter = 8000; break; } default : { break; } } } ov_cond = balancer3_check_overvoltage_cond(); if ((time_inter == 8000) || (ov_cond == _BALANCER3_OV_COND_DETECTED)) { if (ov_cond == _BALANCER3_OV_COND_NOT_DETECTED) { mikrobus_logWrite( "* Overvoltage condition is not detected *", _LOG_LINE ); time_inter = 0; } else if (time_inter > 2000) { mikrobus_logWrite( "* Overvoltage condition is detected *", _LOG_LINE ); time_inter = 0; } else { time_inter++; } } else { time_inter++; } Delay_ms( 1 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- UART
Additional Notes and Information
Depending on the development board you are using, you may need a 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
The Balancer 3 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.
Balancer 3 Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.