This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Learn Cycle "Error: [RUP_DIS: Not Clear]" after discharge relax

Other Parts Discussed in Thread: BQEVSW, BQSTUDIO

I get an error from a learn cycle using Battery Management Studio with BQ27421 fuel gauge that states "Error: [RUP_DIS: Not Clear]" after discharge relax.

RUP_DIS and VOK are always set during the entire learn cycle.  The status register is 0x00h after the failure.

How and when should the RUP_DIS be cleared?

Here are the extracted Control Status and Flag register changes from the log file during the learn cycle with comments.  I found no instances of RUP_DIS or VOK being cleared during the learn cycle.  The Control Status and Flag register remain the same shortly after discharge and up and through the 360 minute rest time of the learn cycle.

Comments on Control Status / Flag changes TimeStamp Control Control Status Temperature Voltage Flags Nominal Avail. Capacity Full Available Capacity Remaining Capacity Full Charge Capacity
(Start of logHere) 7/21/2015 3:08 0x0128 0x008E 33.85 4056 0x01A8 675 1254 632 1210
7/21/2015 3:09 0x0128 0x008E 34.15 4060 0x01A8 696 1254 653 1210
INITCOMP cleared/ITPOR cleared 7/21/2015 3:09 0x000E 0x000E 34.25 4061 0x0188 3306 4731 3269 4694
INITCOMP set 7/21/2015 3:09 0x008E 0x008E 34.25 4061 0x0188 3305 4731 3268 4694
7/21/2015 4:23 0x008E 0x008E 34.45 4174 0x0188 4276 4872 4137 4733
INITCOMP cleared/CFGUPMODE set 7/21/2015 4:24 0x0000 0x000E 34.45 4175 0x0198 4277 4872 4138 4732
7/21/2015 5:44 0x0000 0x000E 27.15 4196 0x0198 4720 4866 4570 4716
(Finish Charging) / CHG cleared 7/21/2015 5:44 0x0000 0x000E 27.15 4196 0x0098 4780 4867 4631 4718
7/21/2015 7:07 0x0000 0x000E 29.25 4203 0x0098 4870 4870 4724 4724
(Charger stops charging) 7/21/2015 7:07 0x0000 0x000E 29.25 4186 0x0098 4870 4870 4724 4724
7/21/2015 7:08 0x0000 0x000E 29.25 4184 0x0098 4870 4870 4724 4724
CCA set 7/21/2015 7:08 0x0000 0x080E 29.25 4184 0x0098 4870 4870 4724 4724
7/21/2015 7:08 0x0000 0x080E 29.25 4184 0x0098 4870 4870 4724 4724
CCA cleared / CFGUPMODE cleared 7/21/2015 7:08 0x0000 0x000E 29.25 4184 0x0018 4870 4870 4724 4724
7/21/2015 7:10 0x0000 0x000E 28.85 4183 0x0018 4870 4870 4724 4724
(Started test) INITCOMP set 7/21/2015 7:10 0x0000 0x008E 29.65 3993 0x0018 4870 4870 4723 4723
7/21/2015 7:14 0x0000 0x008E 30.75 3953 0x0018 4870 4870 4723 4723
INITCOMP set low 7/21/2015 7:14 0x0000 0x000E 30.75 3953 0x0018 4870 4870 4723 4723
7/21/2015 11:44 0x0000 0x000E 30.05 2998 0x0018 4870 4870 4723 4723
(Finished discharging) 7/21/2015 11:44 0x0000 0x000E 29.65 3163 0x0018 4870 4870 4723 4723
7/21/2015 11:45 0x0000 0x000E 29.15 3192 0x0018 4870 4870 4723 4723
CCA set / CHG set, SOC1 set, SOCF set 7/21/2015 11:45 0x0000 0x080E 29.15 3193 0x011E 67 4769 22 4724
 /OCVTAKEN set 7/21/2015 11:45 0x0000 0x080E 29.15 3193 0x019E 67 4769 22 4724
7/21/2015 11:45 0x0000 0x080E 29.15 3194 0x019E 67 4769 22 4724
7/21/2015 11:45 0x0000 0x080E 29.15 3194 0x019E 67 4769 22 4724
7/21/2015 11:45 0x0000 0x080E 29.15 3194 0x019E 67 4769 22 4724
7/21/2015 11:45 0x0000 0x080E 29.05 3195 0x019E 67 4769 22 4724
7/21/2015 11:45 0x0000 0x080E 29.05 3195 0x019E 67 4769 22 4724
7/21/2015 11:45 0x0000 0x080E 29.05 3196 0x019E 67 4769 22 4724
7/21/2015 11:45 0x0000 0x080E 29.05 3196 0x019E 67 4769 22 4724
CCA cleared /OCVTAKEN cleared 7/21/2015 11:45 0x0000 0x000E 29.05 3196 0x011E 67 4769 22 4724
7/21/2015 11:55 0x0000 0x000E 28.75 3226 0x011E 67 4769 22 4724
INITCOMP,SLEEP/OCVTAKEN set 7/21/2015 11:55 0x0000 0x009E 28.75 3226 0x019E 78 4776 26 4724
7/21/2015 11:59 0x0000 0x009E 28.65 3232 0x019E 78 4776 26 4724
INITCOMP off 7/21/2015 11:59 0x0000 0x001E 28.65 3232 0x019E 78 4776 26 4724
Sleep off 7/21/2015 11:59 0x0000 0x000E 28.65 3232 0x019E 78 4776 26 4724

* Texas Instruments Data Flash File
* File created Fri Jul 17 11:40:52 2015
*
* Device Number 421
* Firmware Version 1.09.00
* Build Number not available
* Order Number not available
*
* bqz Device Number 0x0421
* bqz Firmware Version 0x0109
* bqz Build Number 1.09
*
* Field Order: Class name  Subclass name  Parameter name  Parameter Value  Units
Configuration Safety Over Temp 55 °C
Configuration Safety Under Temp 0 °C
Configuration Safety Temp Hys 5 °C
Configuration Charge Termination TCA Set % 99 %
Configuration Charge Termination TCA Clear % 95 %
Configuration Charge Termination FC Set % -1 %
Configuration Charge Termination FC Clear % 98 %
Configuration Charge Termination DODatEOC Delta T 5 °C
Configuration Data Design Voltage 4200 mV
Configuration Data Initial Standby -3 mA
Configuration Data Initial MaxLoad -200 mA
Configuration Discharge SOC1 Set Threshold 10 %
Configuration Discharge SOC1 Clear Threshold 15 %
Configuration Discharge SOCF Set Threshold 2 %
Configuration Discharge SOCF Clear Threshold 5 %
Configuration Registers OpConfig 25f8 Flag
Configuration Registers OpConfigB 0f Flag
Configuration Power Hibernate I 3 mA
Configuration Power Hibernate V 2200 mV
Gas Gauging IT Cfg FH Setting 0 60 s
Gas Gauging IT Cfg Ra Filter 800 Num
Gas Gauging IT Cfg FH Setting 1 100 s
Gas Gauging IT Cfg FH Setting 2 18000 s
Gas Gauging IT Cfg FH Setting 3 25 s
Gas Gauging IT Cfg Fast Qmax Start DOD % 92 %
Gas Gauging IT Cfg Fast Qmax End DOD % 96 %
Gas Gauging IT Cfg Fast Qmax Start Volt Delta 125 mV
Gas Gauging IT Cfg Fast Qmax Current Threshold 4 Hr rate
Gas Gauging IT Cfg Fast Qmax Min Points 3 Num
Gas Gauging IT Cfg Max Qmax Change 20 %
Gas Gauging IT Cfg Qmax Max Delta % 10 %DCap
Gas Gauging IT Cfg Max % Default Qmax 120 %DCap
Gas Gauging IT Cfg Qmax Filter 96 Num
Gas Gauging IT Cfg ResRelax Time 500 s
Gas Gauging IT Cfg User Rate-mA 0 mA
Gas Gauging IT Cfg User Rate-mW 0 mW
Gas Gauging IT Cfg Max Sim Rate 1 Hr rate
Gas Gauging IT Cfg Min Sim Rate 20 Hr rate
Gas Gauging IT Cfg Ra Max Delta 11 4mOhm
Gas Gauging IT Cfg Min Delta Voltage 0 mV
Gas Gauging IT Cfg Max Delta Voltage 200 mV
Gas Gauging IT Cfg DeltaV Max dV 100 mV
Gas Gauging IT Cfg TermV Valid t 2 s
Gas Gauging Current Thresholds Dsg Current Threshold 167 .1 Hr rate
Gas Gauging Current Thresholds Chg Current Threshold 100 .1 Hr rate
Gas Gauging Current Thresholds Quit Current 250 .1 Hr rate
Gas Gauging Current Thresholds Dsg Relax Time 60 s
Gas Gauging Current Thresholds Chg Relax Time 60 s
Gas Gauging Current Thresholds Quit Relax Time 1 s
Gas Gauging Current Thresholds Max IR Correct 400 mV
Gas Gauging State Qmax Cell 0 16384 Num
Gas Gauging State Update Status 0 Hex
Gas Gauging State Reserve Cap-mAh 0 mAh
Gas Gauging State Load Select/Mode 81 Hex
Gas Gauging State Q Invalid MaxV 3803 mV
Gas Gauging State Q Invalid MinV 3752 mV
Gas Gauging State Design Capacity 5000 mAh
Gas Gauging State Design Energy 4960 mWh
Gas Gauging State Terminate Voltage 3000 mV
Gas Gauging State T Rise 20 Num
Gas Gauging State T Time Constant 1000 s
Gas Gauging State SOCI Delta 1 %
Gas Gauging State Taper Rate 100 .1 Hr rate
Gas Gauging State Taper Voltage 4100 mV
Gas Gauging State Sleep Current 10 mA
Gas Gauging State V at Chg Term 4190 mV
Gas Gauging State Avg I Last Run -50 .1 Hr rate
Gas Gauging State Avg P Last Run -50 .1 Hr rate
Gas Gauging State Delta Voltage 1 mV
Ra Tables R_a RAM R_a0 0 102 Num
Ra Tables R_a RAM R_a0 1 102 Num
Ra Tables R_a RAM R_a0 2 99 Num
Ra Tables R_a RAM R_a0 3 107 Num
Ra Tables R_a RAM R_a0 4 72 Num
Ra Tables R_a RAM R_a0 5 59 Num
Ra Tables R_a RAM R_a0 6 62 Num
Ra Tables R_a RAM R_a0 7 63 Num
Ra Tables R_a RAM R_a0 8 53 Num
Ra Tables R_a RAM R_a0 9 47 Num
Ra Tables R_a RAM R_a0 10 60 Num
Ra Tables R_a RAM R_a0 11 70 Num
Ra Tables R_a RAM R_a0 12 140 Num
Ra Tables R_a RAM R_a0 13 369 Num
Ra Tables R_a RAM R_a0 14 588 Num
Calibration Data Board Offset 0 Counts
Calibration Data Int Temp Offset 0 °C
Calibration Data Pack V Offset 0 mV
Calibration CC Cal CC Offset -16 Counts
Calibration CC Cal CC Cal Temp 301.2 °K
Calibration CC Cal CC Gain 0.3531 Num
Calibration CC Cal CC Delta 421245.8438 Num
Calibration Current Deadband 5 mA
Security Codes Sealed to Unsealed 80008000 Hex

Thanks for any assistance or direction to help me correct this issue to be able to run a learn cycle.

  • LearningCycleOverview_bq274xx.pdfRup dis gets cleared when the dv/dt condition is reached and an OCV measurement is taken. See the attachement below on how to carry out learning on our ROM based gauge. Did you check to make sure you cells can work with the default chem ids on this chip.Data sheet contains the max charge voltage for the different types of Li-ion cells that this chip supports. Also pls read the quick start guide of the device. It is on the product folder on ti.com. this will enable you avoiding mistakes when using the gauge.

  • Onyx,  I appreciate the learning cycle overview as that has given me a better understanding of the learn cycle.  I am still failing in the same way, but I "may" understand some of the issue.

    I had been using the automated learn cycle using the EV2300 GPIO controling N and P channel discrete MOSFET pairs.  I was under the assumption based on the learn cycle information, that the learn cycle started with a full battery to start the learn cycle test and depleting the battery during the learn cycle.  I now understand that the learn cycle test first depletes the battery to be able to "start" the actual learn cycle.  After the set battery discharge threshold of 3000 mV is attained, it waits for (up to) 360 minutes for the dV/dT to be 1uV/s and fails and cancels the learn cycle if after 360 minutes the RUP_DIS is not cleared (which is my issue).

    My first issue is trying to measure to verify the 1uV/s stability rate.  The best I currently have to measure is a 5 1/2 digit benchtop DMM (HP 3478A).  Is the sampling rate really per second, or is it averaged over some other number like 10 seconds or other (could coupled "noise" cause an issue?).  The fuel gauge itself only has a resolution of 1 mV.  It does appear that over time, the resting battery is still gaining small voltage.  The battery has been at rest for over 13 hours now.  The Control Status remains at 0x009E and the Flag is set at 0x010E.  The update status remains at 0x00.  The battery is made up of two LiCoO2 batteries in parallel with a PCM which cuts off at 2.5V.  The battery capacity is 5000 mAh.  Would it be reasonable for the battery resting voltage to be within 1uV/s after 12 hours?  Should I give the battery an extensively long time to settle (more like a week to become < 1uV/s)?  If the battery does eventually settle after many days, will the automated test continue, or am I not able to run the automated test?  Do I have to perform the learn cycle in a way other than the automated test due to this issue?

    In the meantime, I will continue the rest state until and if the RUP_DIS and VOK clear.

    Any information that you can give me on expectations for this specific battery in the attempt to release the RUP_DIS and VOK by attaining < 1uV/s resting battery voltage so that I can continue the learn cycle would be greatly appreciated.

    Note: I have verified that there is no leakage current from the implemented charge source P channel MOSFET significant to have a voltage that could leak into the battery.

    Thank you.

  • David,

    Are you running these tests on an EVM. If yes, do you have a 10k resistor from BIN pin to ground? Do you have the BIE flag set in operation configuration register?

    You do not need to make the 1uv/s measurements. The gauge takes care of that. You will have to make sure that your cells are relaxed. if the voltage continues to rise after a discharge then it means the cells are not well relaxed; 13 hours is a long time though, the cell ought to have relaxed after 5 hours. Even if it isn't after 5 hours the gauge will automatically take an OCV measurement relaxed or not. So i suggest  after waiting for 5 hrs and 30 minutes, start the charge to full and then rest 2 hours and check to see if qmax value in the dataflash will get updated. pls log your data using bestudio or bqevsw and extract a gg.csv file from your devcie file before and after learning so we can see if and why learning fails.

    thanks

    Onyx

  • Onyx,

    I had been working off a modified version of our product.  The interest at that time was to be able to use multiple master I2C interface with the processor on the board to be able to monitor status.  There apparently was an issue with multiple mastering the I2C, so I held the processor in reset.  The modifications that I made were to bypass the battery charger and fuel gauge with direct mains input power to the processor.  I needed the power supplies to be up for the 1.8V pullups for the I2C bus.  The other modifications are the load connection through MOSFET pairs and the MOSFET pairs to allow charging to the battery for learn cycle automation.

    I have pulled the battery from the circuit completely to rule out any possible charging leaks (from potential processor IO currents through the unpowered battery charger).  The unconnected battery is still increasing in voltage > 1uV/s some 16 hours after discharge.

    The direction I am going now, is to run a lighter load for the depletion process.  I had been charging at C/3 and also discharging at C/3 which probably accounts for a more powerful (and longer lasting) rest cycle.  The battery probably would eventually get to V < 1uV/s, but it would probably take quite a while.  The learn cycle application probably can not handle the longer relax time and times out after 6 hours.  I will run a 5 Ohm load which between 4.2V and 3V remains between C/5 and C/10 for the discharge over the weekend and see if I have better results on Monday.

    To follow up on your questions, there is a 10K pulldown to ground from the BIN pin.  Yes, the BIE flag is set as you can see in the register dump I originated this thread with.  Probably more importantly is the Flag battery detect BAT_DET is set as noted by 0x010E (bit location 0x0008).  My understanding is that the relaxed state is determined by the change of voltage being less than 1uV/s.  So in able to determine if that parameter is satisfied, I figured I would have to qualify that by measuring it.  It does appear that by measuring that, I was able to determine that that is probably at least one of the issues.  I did not see an OCV_TAKEN during my search from the log file earlier, but I will look again from the log last night.  QMAX had not been updated, but then I was under the impression the QMAX could not update if RUP_DIS was never set low (I might be misunderstanding that, and it may just be the Ra tables).  I am hesitant to charge the battery now that I know the learn cycle starts with a fully depleted battery.  Charging and discharging again will add another day (or more) of run time, and I would like to get past the relax threshold and see the RUP_DIS and VOK bits clear.  I am using Battery Management Studio (bqstudio) 1.3.42 which is the latest that is promoted for this fuel gauge.  I am hesitant to switch software interfaces to beststudio or bqevsw since that will likely confuse me with interface differences without known benefits (unless it is determined there is an issue with the promoted software I am using).  I extracted the register file originally, and they have not changed much (I did change the design energy to the ratio for this battery construction based on the information you sent before).

    Monday I will have more information, and after I digest the information and log files, I will give an update.  I will determine after that if I should run another charge cycle before running the learn cycle again.

    I apologize for the delays in responding as it is quite time intensive to run test iterations and log file decomposition.  Thank you for your patience and your assistance.

    Dave

  • Hi Dave,
    Thanks for the details. I understand the challenges faced when just starting out with our gauges, but don't worry, subsequent designs wouldn't be as challenging since you would have gotten the hang of things then.

    I however have to point out though that the bq27421 was designed to be a quick and easy to use gauge. A learning cycle might not be really necessary if your cells is a close match to the default chem ids preprogrammed in the chip. However, if you do not have a qmax update, resistances will not be learned. There is a setting which will allow resistance to be learned even if there is no qmax update. set bit 6 of the opconfig B register i.e change opconfig B to 4f. Now run a charge rest discharge cycle and evaluate the gauge for accuracy.

    if the accuracy of the gauge after evaluation is ok for your needs you are good to go. The whole purpose of learning is to improve the accuracy by learning qmax and resistance.

    Our gauges are designed to force an OCV reading after 5 hours. I am surprised that after 5hours in relaxation at empty the OCV taken bit doens't get set. Can you check to see that during relaxation you are below the quit current setting in the data flash?

    thanks
    Onyx
  • Hi Onyx,

    I understand and appreciate the complexity of the device to be able to accurately monitor SOC for many chem IDs, capacities etc.  It is a learning curve for me since there are so many different fuel gauges and software interfaces, and application notes that refer to similar, but different devices.  There are subtle differences between parts and software packages that make it a bit confusing as well.  We have been running this device for a while, but I need to be able to run battery cycles to evaluate the RSOC and be able to log and track the trend consistently.  I need to understand the accuracy of a long running device as well as a device who's battery PCM has cut out losing the fuel gauge memory.  I have been plagued with configuration issues from automation setup such as designing an interface for the GPIO which isn't well documented in my opinion (active state high/low) as well as logging that fails due to PC power saving shutting down the USB interface over night.  The state of charge by default has not been very accurate originally, but may be getting better as I understand the parameters better and define the setup better.  I hope to be able to create repeatable charge discharge cycles monitoring RSOC both with steady loads and true usage loads.

    Hopefully I will be able to eventually understand the nuances of the configuration and learn cycle, so that I can create a golden image that the software group can use to get the most accurate RSOC from a newly powered unit.

    I will check the logs again (hadn't had time since last reply) to see if OCV_TAKEN was read in the last log file.  The current is definitely well below the quit current since the battery charger is turned off (zero volts input to the battery charger and zero current in the average current reading from fuel gauge).

    Thanks again for the tips for running the device in alternate modes.

  • Hello Onyx,

    After digesting the learn cycle log over the weekend, I do have some interesting information.  Here is some of the extracted data from the weekend log with associated comments.

    Run Time (hr) Average Current Change in Control Status Change in Flags Delta Comments
    0:00:02 659 0x008E 0x018D Initial Condition of log start
    0:01:32 657 0x018F /SOCF set
    0:12:10 0 0x009E Sleep set/
    0:12:34 0 0x088E 0x010E CCA set,Sleep clear /OCV_TAKEN clear,DSG set
    0:12:40 0 0x009E CCA clear,Sleep set/
    19:28:36 0 0x018E /OCV_TAKEN set
    19:28:46 0 0x0098 RUP_DIS clear,VOK clear /

    Notice that RUP_DIS and VOK did actually clear.  Also notice that the run time when it cleared was over 19 hours after starting the learn cycle.  The learn cycle failed when it did not see the the RUP_DIS clear within 360 minutes.  I did not see QMAX or Update Status change from default settings.  I would love to be able to log the Update Settings with the register log, but I find that quite often it fails to log within the 5 second interval.

    This brings up a slew of questions to go forward.

    1) Can the learn cycle RUP_DIS be extended without failing within the current time limit settings (as well as any other timeouts on the charge portion)?

    2) Does the learn cycle ONLY control the GPIO for source charging control and load control, or does it actually set parameters in the device through I2C?

    3) Can the 1uV/s parameter be changed to something more manageable for a slightly less relaxed battery state?

    4) Could the I2C pullups to 1.8V and the associated I2C traffic cause a slight charge current into the system that would potentially be an issue with the ultra low 1uV/s readings?

    5) Could the fact that we are using 2 cells in parallel have anything to do with the extensively long relax time as the cells balance each other?

    At this point, I believe the direction I should go is to now do a charge cycle manually (since the learn cycle won't continue) to be able to charge to get the FC and QMAX updated.  Then start the learn cycle application again to discharge the battery disconnecting the load at the proper cut off voltage (so as not to drain the battery below the PCM cutoff which would shut down the fuel gauge), then wait a couple days for the 1uV/s threshold and verify the Ra tables are updated.

    I would really love to automate this process if at all possible and be able to log the data to follow the RSOC over multiple cycles without user intervention.

    Note: The discharge on Friday when I started a log was on a depleted battery and not on a fully charged battery.  With a discharge from a depleted batttery it took over 19 hours to be below 1uV/s.  Discharging from a full charge to the 1uV/s threshold I assume would take quite a bit longer.

    Thanks for any information that you can give me on being able to automate this extensively long learn cycle.

    Dave

  • Hi Onyx,

    After identifying that a learn cycle for our battery would take about a week, I would like to further understand the opconfigb setting that you mentioned above.  I see that bit is a reserved bit, so I want to understand it's function in updating the resistance tables.  Is there a way to understand what the QMAX and Ra table values would be?  QMAX appears to be a scale instead of direct capacity in mAh.  Would it be possible to enter a 5000 mAh equivalent value?  Can the Ra tables be entered manually based on known impedances?  Are there other registers that can be loaded directly based on the battery specifications used?

    If this reserved bit is set, do I only set it temporarily, or for a sequence such as a depleted battery resting for only 5 hours (instead of 48 hours).  Should this bit be set back after the golden image is created?

    I am now trying to understand if QMAX can be updated with FAST QMAX.  Are there several ways that QMAX can be updated?

    I do want to correct an error that I sent in the last reply as I said it took over 19 hours for the depleted battery to relax.  That was an error because the log does not differentiate AM versus PM in the timestamp, so I created an elapsed time in the excel spreadsheet based on 2 second (which is the software default) for logging.  The actual log rate was set to every 5 seconds, so the relax time for RUP_DIS was not 19 hours, but over 48 hours.

    Thanks for any detailed information that you can provide to generate the QMAX, Ra Tables, and any other registers that I should set for the best chance at an accurate RSOC until I can successfully complete a learn cycle.

    Dave

  • hi Dave,
    See responses to your questions:
    This brings up a slew of questions to go forward.

    1) Can the learn cycle RUP_DIS be extended without failing within the current time limit settings (as well as any other timeouts on the charge portion)?
    No.

    2) Does the learn cycle ONLY control the GPIO for source charging control and load control, or does it actually set parameters in the device through I2C?
    the learn cycle updates qmax, and resisntance tables in the chip. it doens't do that through i2c. the purpose of having the comm line active is just to log details of the test. even if the you do not have communication with the chip, learning can still be successful.

    3) Can the 1uV/s parameter be changed to something more manageable for a slightly less relaxed battery state?
    no it can't

    4) Could the I2C pullups to 1.8V and the associated I2C traffic cause a slight charge current into the system that would potentially be an issue with the ultra low 1uV/s readings?

    it depends on the nature and size of your battery. They i2c pull-ups usually shouldn't be an issue.

    5) Could the fact that we are using 2 cells in parallel have anything to do with the extensively long relax time as the cells balance each other?

    no, your batteries are in parallel so that wouldn't be a problem since the cell voltages will be equal

    are you using gdk for your test or are you using your test equipment. What is the size of you battery? can you share the log files which you got from the learning cycle?
    thanks
    Onyx
  • Hi Dave,
    Qmax has to be updated before resistance tables get updated. If for some reason such as not being able to achieve the dv/dt conditions for qmax to get updated, then the resistance table updates will fail . Setting that bit will allow resistance to get updated even without a qmax update occurring. You shouldn't edit qmax or resistance tables by hand. The gauge does that when learning occurs.

    thanks
    Onyx
  • Hi Onyx,

    Thank you for following up on my questions, your replies have shed a bit of light on the process of the battery learn cycle.

    For an update on my progress: On July 29th, 2015, I was finally able to successfully run a battery learn cycle and was able to generate a golden file with updated QMAX and Ra table information. We are in the process of incorporating that information into the product to run charge and discharge cycles monitoring remaining capacity. QMAX was slightly higher, and the Ra tables were also a bit higher than the default values.

    The summary of issues are the following. The battery relax determination appears to be inconsistent. There has been no resolution as to why the battery learn cycle would not reach a relaxed state previously (within the 6 hour time limit of software) and then be successful in reaching a relax state in order to complete the full battery learn cycle. One of the biggest issues for this part is that the software failed to complete the battery learn cycle due to a 6 hour timeout. It could not be determined if the learn cycle could or could not eventually be completed when the battery was determined to eventually be relaxed. This greatly complicated getting the "golden file image". Another issue with logging is that the time stamp is incomplete since it does not specify AM or PM or military (24 hour) time. This causes errors in data analysis.

    Note: I would like to re-run the battery learn cycle at some point for two reasons. The first is to determine how consistent the battery learn cycle passes and how many times it times out. The second is to determine when it does pass the battery learn cycle, is how the QMAX and Ra tables compare between different batteries (same battery type), different fuel gauges (same type), and different start charge levels. Since this is time consuming, I don't expect to have this information any time soon.

    To follow up on your questions:
    "are you using gdk for your test or are you using your test equipment. What is the size of you battery? can you share the log files which you got from the learning cycle?"
    As stated earlier in the thread (Jul 24, 2015 10:13 PM), we are using a modified version of our product to be able to use our battery charger, fuel gauge, battery charge enable, and battery loading. Please see thread above for more details of implementation.
    I stated the battery composition earlier in the thread (Jul 24, 2015 4:29 PM), our parallel batteries are specified as 5000 mAh (also noted in the design capacity at the start of this thread). I assume by size, you mean capacity and not physical size.
    I can share the log files, but the log files a HUGE when it times out. I have stated the important information in the thread above (Jul 27, 2015 5:43 PM) where I said it took 19 hours for the battery to relax. I did find out I was in error in stating it took only 19 hours to relax. The issue was I thought my logging times were every 2 seconds when in reality it was actually every 5 seconds. So it really took over 48 hours for the battery to relax.

    Successful Battery learn cycle pertinent configuration export data
    Gas Gauging State Qmax Cell 0 17541 Num

    Ra Tables R_a RAM R_a0 0 195 Num
    Ra Tables R_a RAM R_a0 1 195 Num
    Ra Tables R_a RAM R_a0 2 197 Num
    Ra Tables R_a RAM R_a0 3 219 Num
    Ra Tables R_a RAM R_a0 4 152 Num
    Ra Tables R_a RAM R_a0 5 135 Num
    Ra Tables R_a RAM R_a0 6 148 Num
    Ra Tables R_a RAM R_a0 7 156 Num
    Ra Tables R_a RAM R_a0 8 140 Num
    Ra Tables R_a RAM R_a0 9 128 Num
    Ra Tables R_a RAM R_a0 10 171 Num
    Ra Tables R_a RAM R_a0 11 206 Num
    Ra Tables R_a RAM R_a0 12 418 Num
    Ra Tables R_a RAM R_a0 13 1099 Num
    Ra Tables R_a RAM R_a0 14 1750 Num

    Again, thanks for following up on answers to my questions.
  • Hi David,

    if your learning cycle was successful, there really isn't a need to rerun the learning cycle again. You now have you learned resistance tables and qmax, essentially your golden file with those parameters in there. You should simply evaluate the gauge for accuracy to make sure the error in reported soc is an acceptable value for you. That really is the whole point in learning, i.e to ensure the qmax and resistance are learnt inorder to have the gauge accurately track SOC. see attached ppt on how to calculate the accuracy of a gauge.

    When the gauge is in the field, it will dynamically learn the resistance of the battery it is attached to  during discharge. When you have rest periods and atleast 37% of design capacity passed charge between two rest periods you will have the qmax update as well

    Analyzing Accuracy of a Battery Fuel Gauge System - Onyx Ahiakwo Jared Casey.pdf

    thanks

    Onyx