Other Parts Discussed in Thread: BQ25606, BQSTUDIO
I'm trying to finalise the firmware and configuration of a design using BQ27421-G1 with LP953450 Polymer Li-ion Battery and BQ25606 Charger.
The battery appears to be charging and working just fine and I2C communications to the host processor are working reliably.
The charger is configured for a peak charging rate of ~ 0.4A
The battery is rated at 1800mAh at a nominal 3.7V, charge 4.2V
At power on, if ITPOR is set I configure the following specs:
design_capacity = 1800
design_energy = 6660
terminate_voltage = 3300
taper_rate = 500
where taper_rate is from 1800 / (0.1 × 36 mA) = 500
I've been trying to then follow the learning details from the quick start guide ( www.ti.com/.../sluuah7b.pdf ) to get some optimum settings for the part.
However, QMAX_UP is never set, nor is RES_UP. I was trying to follow recommended routines of charging from ~ 30 % to full then discharging back down to termination.
After trying this a few times I realised FC flag was never getting set when the battery was charged, I've been focusing on this now for a couple of days with no progress.
I've left if fully charged/charging overnight, where the current drops well below the taper current, the voltage is over the threshold and the capacity values are generally stable. Still no FC
Both capacity and remaining do change slightly over time, I'm logging all the regs below ever 5 seconds to look for changes.
I've tried setting bits 1 and 2 of State:Update_Status as the Technical Reference says these should be set when running a learning cycle, though the quick start never mentions this. The behavior above didn't change with these set however.
I've also tried running a hard reset and then not setting my battery specs, ie, not changing any settings on the part at all. Leaving it on the charger like this still never results in FC set, nor are QMAX_UP or RES_UP.
Eventually if the current is low long enough the chip does enter sleep state, but FC is still never set.
Snapshot of registers while full, changing essentially finished:
voltage: 4.179
current (mA): 19
SOC(%): 100
SOH(%): 90
capacity: 1676
remaining: 1662
'FLAGS':
OT: Over-Temperature: False
UT: Under-Temperature: False
FC: Full charge: False
CHG: Fast charging allowed: False
OCVTAKEN: OCV in relax mode: False
ITPOR: Has Reset: False
CFGUPMODE: Config Update: False
BAT_DET: Battery insert: True
SOC1: SOC1 Set Threshold: False
SOCF: SOCF Set Threshold: False
DSG: Discharging: False
'STATUS':
SHUTDOWNEN: Shutdown Enable: False
WDRESET: Watchdog Reset: False
SS: Sealed: False
CALMODE: Calibration: False
CCA: CC Auto Cal: False
BCA: Calibration Active: False
QMAX_UP: Qmax Updated: False
RES_UP: Resistance Updated: False
INITCOMP: Initialised: True
HIBERNATE: Hibernate Requested: False
SLEEP: Sleep Mode: False
LDMD: Constant-power model: True
RUP_DIS: Ra Update Disabled: True
VOK: V ok for Qmax Update: True
'STATE':
Qmax_Cell_O: 16384
Update_Status: 0
Reserve_Cap-Ah: 0
Load_Select/Mode: 129
Q_Invalid_MaxV: 3803
Q_Invalid_MinV: 3752
Design_Capacity: 1800
Design_Energy: 6660
Default_Design_Cap: 1340
Terminate_Voltage: 3300
Temp_Rise: 20
Temp_Time_Constant: 1000
SOCI_Delta: 1
Taper_Rate: 500
Taper_Voltage: 4100
Sleep_Current: 62
V_at_Chg_Term: 255
Avg_I_Last_Run: -1
Avg_P_Last_Run: -1
Delta_Voltage: -1
'R_a':
R_a0_0: 16486
R_a0_1: 102
R_a0_2: 99
R_a0_3: 107
R_a0_4: 72
R_a0_5: 59
R_a0_6: 62
R_a0_7: 63
R_a0_8: 53
R_a0_9: 47
R_a0_10: 60
R_a0_11: 70
R_a0_12: 140
R_a0_13: 369
R_a0_14: 588
Can you suggest what might be wrong, what's missing from my efforts to run a learning cycle?
Thanks,
Andrew