I currently have the following settings:
#define dg_configBATTERY_TYPE (BATTERY_TYPE_CUSTOM) // Lithium Ion Polymer
#define dg_configBATTERY_TYPE_CUSTOM_ADC_VOLTAGE (3400) // 4.15V - used to compare current Vbat level when charging
My understanding is that with these settings the battery will stop charging when it reaches 4.15V however I'm noticing that the battery is still charging after reaching 4.235V and I haven't received a usb_charger_battery_full callback. What am I doing incorrectly?
For reference here are is the full list of charging configurations I have set:
/*
*充电参数定义ns
*/
#define dg_configUSE_USB_CHARGER (1)
#define dg_configUSE_USB_ENUMERATION (0)
#define dg_configALLOW_CHARGING_NOT_ENUM (1)
#define dg_configUSE_NOT_ENUM_CHARGING_TIMEOUT (0)
#define dg_configCHARGING_CC_TIMEOUT (360 * 60 * 100)
#define dg_configCHARGING_CV_TIMEOUT (720 * 60 * 100)
#define dg_configPRECHARGING_THRESHOLD (2462) // 3.006V - starts precharge if less than this value
#define dg_configCHARGING_THRESHOLD (2498) // 3.05V - transitions from precharge to charge once above this value
#define dg_configPRECHARGING_TIMEOUT (60 * 60 * 100) // 1 hr (Unit: 0.01s)
#define dg_configUSB_CHARGER_POLLING_INTERVAL (60 * 100) // 1 min (Unit: 0.01s)
#define dg_configBATTERY_TYPE (BATTERY_TYPE_CUSTOM) // Lithium Ion Polymer
#define dg_configBATTERY_TYPE_CUSTOM_ADC_VOLTAGE (3400) // 4.15V - used to compare current Vbat level when charging
#define dg_configBATTERY_CHARGE_VOLTAGE (0xA) // 4.2V - voltage at which to apply toward batter when charging
#define dg_configBATTERY_CHARGE_CURRENT (8) // 180mA (see lib/sdk/bsp/system/sys_man/sys_charger.c:115)
#define dg_configBATTERY_PRECHARGE_CURRENT (3) // 45mA
#define dg_configBATTERY_LOW_LEVEL (2496) // 3.05V - used to know when battery is low
#define dg_configBATTERY_CHARGE_NTC (1) // NTC Protection is Disabled
嗨Alarner,
One issue might be due to the fact that your charging voltage is set to a value greater than the charged voltage:
#define dg_configBATTERY_TYPE_CUSTOM_ADC_VOLTAGE (3400) // 4.15V - used to compare current Vbat level when charging
#define dg_configBATTERY_CHARGE_VOLTAGE (0xA) // 4.2V - voltage at which to apply toward batter when charging
The charging voltage (dg_configBATTERY_CHARGE_VOLTAGE) should be less than or equal to the charged voltage (dg_configBATTERY_TYPE_CUSTOM_ADC_VOLTAGE).
Best regards
IM_Dialog