How does it work?
Charger Click is based on the MCP73831, a miniature single-cell, fully integrated Li-Ion, Li-Polymer charge management controller from Microchip. The MCP73831 is a highly advanced linear charge management controller that employs a constant-current/constant-voltage charge algorithm with selectable preconditioning and charge termination. The constant voltage is fixed to 4.20V, while the constant current value is set with an external R5 resistor to 250mA with a 3K9 resistor. The MCP73831 limits the charge current based on die temperature during high power or high ambient conditions, where this thermal regulation optimizes the charge cycle time while maintaining device reliability.
The MCP73831 charges the battery cell over a battery connector, with a STAT LED indicator for visual presentation of charging status. Please remember that battery connectors are not standardized, and the wrong polarity connection can damage the battery, this Click board™, host MCU, or all mentioned.
As a smart battery monitor, this Click board™ features the DS2438 from Analog Devices. It comes with 40 bytes of EEPROM that is available for storing important parameters about the battery, such as chemistry, capacity, and such. It eliminates the need for thermistors by sensing battery temperature on-chip. An onboard ADC converter allows battery voltage monitoring for end-of-charge and end-of-discharge determination, while an onboard integrated current accumulator facilitates fuel gauging with elapsed time meter in binary format. The Charger Click communicates with the host MCU over the 1-Wire interface with either OW2 or OW1 pins selected via OW SEL jumper with OW1 set by default. As each DS2438 has its unique ID, several units of these Charger Clicks can work on the same 1-Wire bus.
This Click board™ can only be operated with a 5V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used as a reference for further development.
Specifications
Type
Battery charger
Applications
Can be used for battery charging interface with precise monitoring for Ly-Ion and Ly-Polymer batteries, applicable for all sorts of devices, with precise monitoring
On-board modules
MCP73831 – miniature single-cell, fully integrated Li-Ion, Li-Polymer charge management controller from Microchip
DS2438 – a smart battery monitor from Analog Devices
Key Features
Communication via 1-Wire interface, selectable constant-current charging via external resistor, smart charging monitoring, high accuracy, low power consumption, and more
Interface
1-Wire
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
5V
Pinout diagram
This table shows how the pinout on Charger 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 |
---|---|---|---|
– | PWR | – | Power LED Indicator |
– | STAT | – | Charging Status LED Indicator |
– | OW SEL | Right | Communication Pin Selection OW2/OW1: Left position OW2, Right position OW1 |
R5 | – | Populated | Constant-Current Programming Resistor |
Charger Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 5 | – | V |
Charge Current | – | 250 | – | mA |
Constant Voltage | – | 4.20 | – | V |
Software Support
We provide a library for the Charger 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 Charger Click driver.
Key functions
-
charger_read_temperature
This function reads the chip internal temperature measurement in degrees Celsius. -
charger_read_batt_vdd
This function reads the battery input voltage. -
charger_read_current
This function reads the battery charging current.
Example Description
This example demonstrates the use of Charger Click by monitoring the battery charging status.
void application_task ( void )
{
float temperature = 0;
float batt_vdd = 0;
float system_vdd = 0;
float current = 0;
uint32_t elapsed_time = 0;
if ( CHARGER_OK == charger_read_temperature ( &charger, &temperature ) )
{
log_printf( &logger, " Temperature: %.2f degCrn", temperature );
}
if ( CHARGER_OK == charger_read_batt_vdd ( &charger, &batt_vdd ) )
{
log_printf( &logger, " Battery VDD: %.3f Vrn", batt_vdd );
}
if ( CHARGER_OK == charger_read_system_vdd ( &charger, &system_vdd ) )
{
log_printf( &logger, " System VDD: %.3f Vrn", system_vdd );
}
if ( CHARGER_OK == charger_read_current ( &charger, ¤t ) )
{
log_printf( &logger, " Charging current: %.3f Arn", current );
}
if ( CHARGER_OK == charger_read_elapsed_time ( &charger, &elapsed_time ) )
{
log_printf( &logger, " Elapsed time: %lu srnn", elapsed_time );
}
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.Charger
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.