OFF
MIKROE-3741
18 g
Status:
BATT-MON Click is a very versatile, high accuracy, multiple-chemistry battery gauge for applications single-cell batteries. It can be used for various applications, ranging from smartphones, notebook / laptops, power tools, vacuums, to energy storage systems (ESS), while providing the output voltage at the same time. The interesting feature of this device is that it can provide additional current to the connected load if the current provided from the mikroBUS™ socket is not enough. This is possible by utilizing the connected battery and by employing intelligent power routing algorithms of BATT-MON click.
The 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™.
This product is no longer in stock
Availability date:
Features like the OptimGaugeTM algorithm, 0.25% accuracy battery voltage monitoring, Coulomb counter, and voltage-mode gas gauge operations make the BATT-MON click specialized battery gauge IC, used to provide battery depletion data via the I2C interface, BATT-MON click can be used to charge and monitorLiPo/Li-Ion batteries for a wide range of applications that can benefit from reliable and efficient LiPo/Li-Ion battery charger, like the mobile phones, multimedia players, digital cameras, portable medical equipment, and many more.
The core component of BATT-MON click is the STC3115, a high-precision battery gas gauge IC with alarm output for handheld applications, from STMicroelectronics. It includes all necessary components for the STC3115 to ensure the proper functionality of the Click board™ and maintain the monitoring precision.
The monitoring functions include the measurement of battery voltage, current, and temperature. A Coulomb counter is available to track the SOC when the battery is charging or discharging at a high rate. A sigma-delta A/D converter is used to measure the voltage, current, and temperature. The STC3115 can operate in two different modes with different power consumption. Mode selection is made by the VMODE bit in register 0. For more information about registers and operating modes, refer to modes STC3115 datasheet.
Battery voltage is measured by using one conversion cycle of the A/D converter every 4 s. The conversion cycle takes 8192 clock cycles, which means that when the the internal 32768 Hz clock is used, the conversion cycle time is 250 ms. The voltage range is 0 to 4.5 V and resolution is 2.20 mV. Accuracy of the voltage measurement is ±0.5% over the temperature range. This allows accurate SOC information from the battery open-circuit voltage
For current sensing, the voltage drop across the sense resistor (R9) is measured with the internal 14-bit sigma-delta A/D converter. Using the 32768 Hz internal clock, the conversion cycle time is 500 ms for a 14-bit resolution. The LSB value is 5.88 μV. The A/D converter output is in two’s complement format. When a conversion cycle is completed, the result is added to the Coulomb counter accumulator and the number of conversions is incremented in a 16-bit counter. The current register is updated only after the conversion closest to the voltage conversion (that is: once per 4-s measurement cycle). The result is stored in the REG_CURRENT register (see Table 12).
The voltage range which can be used to power up the BATT-MON click, allows for it to work with both 3.3V and 5V capable MCUs. It can be selected by soldering a small SMD jumper, labeled as VCC SEL to the correct position.
Type
Battery charger
Applications
BATT-MON click can be used for smartphones development, notebook / laptops, power tools, vacuums, to energy storage systems (ESS).
On-board modules
STC3115, a high-precision battery gas gauge IC with alarm output for handheld applications, from STMicroelectronics
Key Features
BATT-MON features OptimGaugeTM algorithm, 0.25% accuracy battery voltage monitoring, Coulomb counter, and voltage-mode gas gauge operations
Interface
GPIO,I2C
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V or 5V
This table shows how the pinout on BATT-MON click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1 | VCC SEL | Left | Enables switching regulator output, left position 3V3, right position 5V |
TB1 | TB1 | - | Battery voltage In/Out |
TB2 | TB2 | - | Battery connection terminal |
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Operating current consumption | - | 45 | 60 | µA |
Current consumption in standby | - | - | 2 | µA |
Current sensing AD converter granularity | - | 5.88 | - | µA |
Battery Voltage measurement granularity | - | 2.20 | - | µA |
We provide a library for the BATT-MON 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.
Library Description
This library allows user to perform a battery monitoring. User can get battery voltage, battery current, temperature, SOC, OCV value from the device. This library offers a choice to set SOC and voltage alarm value and to check alarm interrupt status. For more details check documentation.
Key functions:
T_BATTMON_RETVAL battmon_readBytes( uint8_t regAddr, uint8_t *dataOut, uint8_t nBytes )
- This function reads the desired number of bytes starting from the selected register.T_BATTMON_RETVAL battmon_writeByte( uint8_t regAddr, uint8_t dataIn )
- This function writes one byte data to the selected register.float battmon_getData( uint8_t data_addr )
- This function allows user to get the desired data calculated to the properly unit.Examples description
The application is composed of three sections :
void applicationTask() { conv_cnt = battmon_getData( _BATTMON_REG_COUNTER ); if (((conv_cnt % 4) == 0) && (conv_cnt > 0)) { data_read = battmon_getData( _BATTMON_REG_SOC ); FloatToStr( data_read, text ); floatCut(); mikrobus_logWrite( "** Gas Gauge Relative SOC : ", _LOG_TEXT ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( " %", _LOG_LINE ); data_read = battmon_getData( _BATTMON_REG_CURRENT ); FloatToStr( data_read, text ); floatCut(); mikrobus_logWrite( "** Battery Current : ", _LOG_TEXT ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( " mA", _LOG_LINE ); data_read = battmon_getData( _BATTMON_REG_VOLTAGE ); FloatToStr( data_read, text ); floatCut(); mikrobus_logWrite( "** Battery Voltage : ", _LOG_TEXT ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( " mV", _LOG_LINE ); if ((conv_cnt % 16) == 0) { data_read = battmon_getData( _BATTMON_REG_TEMPERATURE ); battmon_reset_conv_cnt(); FloatToStr( data_read, text ); floatCut(); mikrobus_logWrite( "** Temperature : ", _LOG_TEXT ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( cels_symbol, _LOG_LINE ); } reg_read = battmon_check_clear_alarm(); if ((reg_read & _BATTMON_ALM_SOC_DET_MASK) != _BATTMON_LOG_LOW) { mikrobus_logWrite( "** Low-SOC Condition!", _LOG_LINE ); alarmPlay(); } if ((reg_read & _BATTMON_ALM_VOLT_DET_MASK) != _BATTMON_LOG_LOW) { mikrobus_logWrite( "** Low-Voltage Condition!", _LOG_LINE ); alarmPlay(); } mikrobus_logWrite( "*********************************", _LOG_LINE ); Delay_ms( 1000 ); } else { Delay_ms( 200 ); } }
Additional Functions :
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
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.
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.
NOTE: Please be advised that any peripheral devices or accessories shown connected to the Click board™ are not included in the package. Check their availability in our shop or in the YMAN section below.