One of the most common problems when trying to complete the learning cycle is having the Update Status (Learned Status) not transition from 0x04 to 0x05. For this to happen, there must be at least a 90% change in DOD of the battery’s rated capacity.
One easy way to check if you meeting the 90% change in DOD criteria is by looking at the “DOD0_x” register in the BQStudio log file, the “x” represents the cell DOD0, for multicell gauges there will be multiple DOD0_x values in the log. The DOD0 register reports the DOD corresponding to the last OCV measurement, which is taken in relax mode.
Convert the BQStudio log file into a .csv file. Then open the file and look at the data during the 2 relaxation points between when the Qmax should have updated in your learning cycle process. DOD0 is stored as an integer between 0 and 2^14, the 2 DOD0 points should be at least 16384*0.9=14746 away from each other. In order to qualify the first Qmax update there must be at least a 90% change in the 2 DOD0 points.
The most common reason seen for these criteria not being met is that the Learning Cycle is being completed with a battery pack that has integrated protections. These protections often do not allow the user to discharge the battery pack past a set voltage threshold. A solution to this would be to disable or bypass the protections on the battery pack.
If your battery pack does not have integrated protections, then make sure you are charging and discharge to the voltages stated on the datasheet for the battery pack, you may have to rely on the equipment used for cycling to protect the cell. Also verify that the proper ChemID is programmed onto the gauge, this can either be a direct match using the battery identifier, or using the GPCCHEM tool. See the FAQ “How do I Find a Chemistry ID for my Battery?” for more information.