Other Parts Discussed in Thread: GPCCHEM, BQSTUDIO,
I have attempted to run a learning cycle for my battery fuel gauge several times. I am following the process outlined in SLUA903 from July 2018 but the fuel gauge never changes the update status state from 0x4 and State of Health never changes from 81%. I have a single cell LiPo battery and have already run gpcchem to determine a matchingHere is the process I followed:
Performed a characterization cycle to determine the correct battery chemistry ID as indicated by the GPCChem tool (I attached the output here). Chemistry ID 2079 was the closest match that bqstudio displayed so that is the chemistry ID I programmed into the gauge using bqstudio.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Summary of all IDs with max. DOD deviation below 3% Chem ID max DOD error, % Max R deviation, ratio 2394 1.37 0.61 2642 1.62 0.28 2079 1.93 0.47 257 2.19 0.16 231 2.29 1.08 1653 2.3 0.62 1976 2.32 0.21 2636 2.33 0.27 2309 2.33 0.53 230 2.36 1 2302 2.41 0.23 2053 2.42 0.42 252 2.45 0.72 1340 2.45 0.52 221 2.46 0.24 1352 2.47 0.54 1314 2.5 0.3 253 2.5 0.56 1647 2.59 1.33 1741 2.6 0.55 297 2.61 0.79 1982 2.64 0.21 1991 2.68 0.61 2188 2.69 0.75 260 2.69 0.41 245 2.74 0.24 2082 2.74 0.73 2405 2.82 0.64 2568 2.83 0.36 2135 2.83 0.6 206 2.84 0.23 2089 2.84 0.51 1996 2.84 0.94 2520 2.92 0.52 295 2.95 0.56 1300 2.97 0.7 275 2.99 2.62 2051 2.99 1.81 269 2.99 0.37 Max. deviations for best ID is within recommended range. Chosen best chemical ID is suitable for programming the gauge. Selection of best generic ID for ROM based devices like bq274xx Device / Family #1 Generic Chem ID Device/ Voltage/ Chemistry max DOD error, % 3142 bq27421-G1D: 4.4V LiCoO2 13.11 354 bq27411-G1C: 4.35V LiCoO2 16.19 128 bq27421-G1A: 4.2V LiCoO2 31.01 312 bq27421-G1B: 4.3V LiCoO2 43.68 Best generic ID 3142 Warning: Deviation for best generic ID is above recommended level for this device / family. Consider using another device, flash based gauge or RAM programming of custom ID. Device / Family #2 Generic Chem ID Device/ Voltage/ Chemistry max DOD error, % 1210 bq27621: (ALT_CHEM1) 4.3V LiCoO2 15.11 1202 bq27621: (default) 4.2V LiCoO2 15.73 354 bq27621: (ALT_CHEM2) 4.35V LiCoO2 16.19 Best generic ID 1210 Warning: Generic ID Deviation is so high that it is most likely due to anomaly in the data. Please check that data files have recomended format, units and test schedule Device / Family #3 Generic Chem ID Device/ Voltage/ Chemistry max DOD error, % 3142 bq27426: (ALT-CHEM2) 4.4V LiCoO2 13.11 3230 bq27426: (default) 4.35V LiCoO2 15.65 1202 bq27426: (ALT_CHEM1) 4.2V LiCoO2 15.73 Best generic ID 3142 Warning: Deviation for best generic ID is above recommended level for this device / family. Consider using another device, flash based gauge or RAM programming of custom ID.
Calibrated the voltage and current for the gauge. However, I saw that even with almost zero current draw on the battery (25-100uA as measured by an external DMM) the gauge still showed a discharge current of ~14-17mA in bqstudio. I calibrated several times at different current levels but this value would not show zero current. Eventually I increased the deadband current (but not the Coulomb Counter Deadband) to 15mA.
Performed a Learning cycle. Log files and screen snapshots are attached below. I divided the log files into their various steps to prevent them from getting too large.
1. Set the following flash parameters:
Advanced Charge Algo -> Low Temp -> Voltage = 4200
Advanced Charge Algo -> Standard Temp -> Voltage = 4200
Advanced Charge Algo -> High Temp -> Voltage = 4200
Advanced Charge Algo -> Rec Temp -> Voltage = 4200
Gas Gauging -> FC -> Set Voltage = 4200
Gas Gauging -> FC -> Clear Voltage = 4100
Gas Gauging -> TC -> Set Voltage = 4200
Gas Gauging -> TC -> Clear Voltage = 4100
Gas Gauging -> State -> Cell 1 Chg Voltage @EOC = 4190
Gas Gauging -> IT Cfg -> Term Voltage = 3000
Gas Gauging -> Design -> Design Voltage = 3700
Advanced Charge Algorithm -> Termination Config -> Charge Term Taper Current mA = 120
Gas Gauging -> Design -> Design Capacity mAh = 4800
Gas Gauging -> Design -> Design Capacity cWh = 1776
Gas Gauging -> State -> QMax Cell 1 mAh = 4800
Gas Gauging -> State -> Current at EOC = 120
Gas Gauging -> Current Thresholds -> Quit Current = 40
Gas Gauging -> Current Thresholds -> CHG Current Threshold = 75
Gas Gauging -> Current Thresholds -> Dsg Current Threshold = 60
2. Toggled gauge enable off then on again using the Gauge_EN button in bqstudio.
3. Send Reset command using the Reset button in bqstudio.
4. Discharged the battery to empty.
This process completed at 4:33PM on 3/19 (see line 99 in 1BatteryLearningDischargePlusRest.log).
5. Let it rest until "REST" bit was high and confirmed the RDIS bit was low.
This process completed at 8:43AM on 3/20 (line 4 in 2BatteryLearningChargePlusRest.log).
6. Charged the battery to full and verified the FC bit was high.
The system reached full charge as indicated by remaining capacity/full charge capacity equalling 100% at 12:53PM on 3/20 (line 3751 in 2BatteryLearningChargePlusRest.log). I took a snapshot of the bqstudio GUI ChargingReached100percentCapacity.PNG.
The system reached full charge as indicated by zero charge current and FC bit being high at 3:25 PM on 3/20 (line 6036 in 2BatteryLearningChargePlusRest.log). I took a snapshot of the bqstudio GUI ChargingReachedZeroChargeCurrent.PNG
7. Let it rest until "REST" bit was high.
This process completed sometime before 5:23PM on 3/20.
I confirmed that the REST bit was high but VOK was low and the update status still showed 0x4.
I let it sit over the weekend with at most 25-100uA of current draw. This process completed at 9:26AM on 3/23 (line 75 in 4BatteryLearningStartDischarge.log). I took a snapshot of the bqstudio GUI ExtendedRestAfterChargeComplete.PNG
Update status still did not indicate 0x5.
The battery voltage showed 4162mV.
The available capacity indicated 92%.
The state of Health still showed 81%.
8. Started discharge to empty using between C/5 and C10 rate.
When discharge is started the REST bit went low and VOK went high but update status still showed 0x4. This process started at 9:26AM on 3/23 (line 75 in 4BatteryLearningStartDischarge.log).
Why did the gauge never change update status from 0x4?
Why did the state of health never change from 81%?
Why did the available capacity never increase past 3972 even though significantly more energy was charged into the battery?
Thanks.
-Camren