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.
Tool/software:
Hello,
I have been using a Battery ( Make: Saft, 13Ah, Chemical ID: 0659). To test the EOS Alert, I have used the following steps:
1. I am using the latest BQ Studio (Version: 1.3.127) and EV2400 (Version: 0.32) to connect with BQ35100 over I2C bus. BQ35100 is mounted on my Custom board which has other circuitry also.
2. Connected a fresh battery to the my Custom PCB and a Resistive load in parallel with Battery. (My Custom board draws 200mA current and Load draws a current of 400mA. So in total Battery is providing 600mA current).
3. I programmed the Chem_ID 0x659 to BQ35100.
4. Issued a New Battery Command.
5. Set the EOS mode in "Operation Config" Register from BQ studio.
6. Set the EOS bit of "Battery Alert Config" Register High.
7. Sent the Gauge_Start Command and thereafter turned the Resistive load on.
8. Now after these I left battery under test and started monitoring EOS bit of Battery Alert register assuming it will be set well-in advance before complete discharge of battery. This advance alert will let me know to change the Battery in my final product timely.
9. Upon complete discharge of battery, this EOS bit was not SET and only "Battery Low" bit of this register was set. If I get dependent only on "Battery Low" bit and Since Lithium thionyl chloride battery voltage drops suddenly, I get no time to replace Battery in my final product. Therefore, my purpose of using BQ35100 is not served as I was expecting "EOS" indication and that too when I am left with some %age of Battery charge.
My doubts are:
1. Please suggest me on what to be corrected if my steps have some mistake.
2. Should Gauge_Stop command be issued immediately after few seconds of issuing Gauge_Start command ?
3. Should I program Chem_ID or not ? I assume BQ35100 monitors Measured / Scaled resistance against programmed Chem_ID and Alerts when it sees a sharp increase in Resistance is nearby.
4. How to get an Alert signal well-in advance before fully discharge of Battery?
5. Is there any other Parameter(s) related to BQ35100 in BQ studio which I am missing ?
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
Are you able to send a log file from your testing. When you send the "Gauge_Start" command, there must be a major discharge that happens. The discharge must cause at least a 100mV drop in open circuit battery voltage. You should complete this testing procedure first outlined in Section 5 of this document (https://www.ti.com/lit/an/sluaal7/sluaal7.pdf) before analyzing the EOS bit/Alert. Getting this data is important for setting parameters on the gauge so that the Alert bit can be set properly.
Regards,
Adrian
Hello,
Thank you for your reply.
1. What do you mean by "send a log file from your testing" ? I can issue desired commands from BQ studio.
2. Should GAUGE_STOP command be immediately sent after GAUGE_START command or after the complete discharge of battery which may take several hours ?
3. When will EOS bit be set high ? Will it be set high when some charge is left in battery or when Battery is fully drained ?
4. I am not getting that what is the importance of CHEM_ID ? Is it to be programmed for EOS mode ?
5. Suppose We start learning cycle for EOS mode by giving major discharge at regular interval of time (Rest period 5 hrs), what are the desired values to be received for EOS and how will we program it on other IC for production purpose ?
5. Please reply to all points I asked in previous post.
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
1. You can use BQStudio to create a log file.
2. You should send the Gauge_STOP command after a major discharge. So in the document I sent earlier, a major discharge is a pulsed load that is at least 100ms long and causes at least a 100mV drop in battery voltage. You don't send the GAUGE_STOP command after an entire discharge. You use this command for these pulsed loads.
3. Please read section 7 of the document I sent before to know when the EOS bit will be set and the parameters that will affect it.
4. The ChemID is not important for EOS mode.
5. So for the learning cycle, I would recommend discharging 1% of the battery then letting it rest for 5 hours, then send a pulsed load that will cause a 100mV drop in open circuit voltage. Then repeat the whole process. Making sure the GAUGE_START and GAUGE_STOP get sent in-between the pulsed load. For the logging you should log Voltage, Measured Z, and Scaled R. I am not sure if logging and sending on BQStudio is possible. When I did testing for this, I used a MCU to do all of this.
Regards,
Adrian
Hello Adrian,
Thank you very much for your illustrative reply.
1. Can I discharge 5% of battery and then rest it for 5 hours to speed up the complete discharge of Battery ?
2. Am I supposed to change any parameter value in BQ studio like EOS data, Ra table etc ? They are showing me some default data right now.
NOTE: Another IC failed as I clicked on "Create Image files" for getting SREC file. I had to replace the new IC second time.
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
1. I wouldn't recommend doing a discharge of 5% as you need to see a good correlation between depth of discharge and impedance. I would say a discharge of 2% then rest of 5 hours would be good to speed up the testing.
2. You can change the terminate voltage and make sure the gauge is configured for EOS mode. Also sending the NEW_BATTERY command before testing start is important. Other parameters at this moment is not important to configure since this test is mainly to collect data to then optimize the parameters later.
Regards,
Adrian
Hello Adrian,
Thanks for your recommendation. We will discharge 2% battery as suggested by you and commence the testing soon.
1. Can this rest period between Pulsed load be different (sometimes 5 hrs and sometime 10 hrs etc.). Because testing at night will be a constraint for us. Otherwise, we have to make a rest period of 23 hrs between each Pulsed load and this will take almost 40-50 days for complete learning cycle.
2. Once this learning cycle is complete, how to proceed for second Battery of same type because IC fails on getting SREC file ?
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
Yes, the rest periods can be different timing, as long as it is at least 5 hours.
Can you show me what the bug is when you try to export the SREC file?
Regards,
Adrian
Hello Adrian,
Great, with different rest periods >= 5 hrs will help us to speed up testing.
1. As I exported SREC file, the process terminates in between and device address changes to 0x16. Also, it starts showing wrong Battery voltage (our battery voltage is 3.6V and device shows 23V) and Temperature. The error can also be seen in the attached picture.
2. Assuming that device has entered ROM mode, I tried to recover it as per the TI Forum thread referred by you but it never recovered. https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1288151/bq34z100-g1-how-to-exit-rom-mode
3. If everything goes smooth with new IC then by the end of learning cycle, we will be having 50 SREC files (one file for each 2% discharge) then which SREC file to program in BQ35100 for a fresh Battery ?
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
Ideally, this test should be done using just one srec file. You should not have to upload a new srec file for each discharge. Did the issue you see occur after trying to export the srec file? You should not be exporting the srec file for this testing.
Regards,
Adrian
Hello Adrian,
We have commenced the testing from yesterday.
1. During this testing, We are not uploading any SREC file to BQ35100. We just clicked "Create Image Files" after 2% discharge i.e. after GAUGE_STOP command and reading Scaled Resistance. We are thinking that we need to create SREC file for each pulsed load (one SREC for each 2% discharge). IS THIS CORRECT ?
2. The previous 2 ICs have gone faulty when I was trying to "Program" SREC file to them i.e. Uploading an SREC file to BQ35100.
3. Yes, I will not upload/export any SREC file to BQ35100 during this testing.
4. Our Battery Under Test has capacity of 13000 mAh, whereas in BQ studio it shows "Cell Design Capacity" 2200 mAh which is less than our Battery's capacity. Will this affect testing ?
Please correct if we are missing something.
With regard,
Sudarshan Chaudhary
Hello Sudatshan,
No, you do not need to create a new srec file for each 2% discharge.
You can update Cell Design Capacity, however this should not affect testing.
Regards,
Adrian
Hello Adrian,
So after completing this test in few days, how to detect EOS with another BQ35100 for a fresh Battery. We were assuming that we would program one of the SREC files, created for each 2% discharge, to another BQ35100 for mass production. Please clarify.
Need I update all EOS data parameters, for another BQ35100 IC for bulk production purpose in my project, mentioned in Table 7-1 and Table 7-2 of document (https://www.ti.com/lit/an/sluaal7/sluaal7.pdf) as per the values obtained in last 2% discharge i.e. last Pulsed load where Battery gets fully discharged ?
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
No, you should not create a SREC file for each 2% discharge. Use the same SREC file for the entirety of the test.
I can help you change the parameters for EOS once you get all the data. Ideally, the main parameters to change would be "New batt R scale delay" and "EOS trend detection"
Regards,
Adrian
Hello Adrian,
Thank you so much for the information. The test is going on and will take another 20 days. We are discharging the battery twice a day, each time by 2% with rest period of >= 05:30 hours.
I will let you know once this test completes.
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
Sounds good, I will be awaiting for when the data comes in.
Regards,
Adrian
Hello Adrian,
The test in going on smoothly. We have discharged 26% of Battery in total. Upon sending GAUGE_STOP command after each 2% discharge, the following parameters change:
1. Short Trend Average
2. Long Trend Average
3. EOS Trend detection pulse counts
Rest all parameters (like Ra Table, Gas Gauging etc.) remain unchanged. Measured Z and Scaled R are also coming same everytime. I am sending the screenshots from BQ studio for your reference. Are there any comments from your side on these observations ?
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
Did you make sure to send the "NEW_BATTERY" command before starting the testing. What's strange is that MeasuredZ register is maxed out which shouldn't be happening. Do you recall if that register has already read that value?
Regards,
Adrian
Hello Adrian,
Yes "NEW_BATTERY command was issued at the beginning of test. At the end of the first 2% discharge on first day of test, both Measured Z and Scaled R were at the same value of 32767 mOhm. This Scaled resistance reduced to 262 mOhm on 3rd day of test. I am attaching the screenshot of very first day after first 2% discharge. You can see SOH was reduced from 100% to 98% after test, however it is not reducing below 94% now a days.
Also, in the 2nd attached image, why this "Primary min" value of voltage is also same as of Measured Z ? It is same till now from 1st day.
With regard,
Sudarshan Chaudhary
Hello Adrian,
For your reference, I am sending all the screenshots of today's 2% discharge. This can be useful for your analysis. No other parameters, except Long and Short trend averages, are changing. Also, please look into my previous comment which I posted today only.
Hello Sudarshan,
After sending the GAUGE_START command, are you applying a learning pulse to the battery that is causing at least a 100mV drop in the open circuit voltage of the battery?
Regards,
Adrian
Hello Adrian,
Yes, I am following exactly the same procedure mentioned in that document of EOS. The load is causing more than 100mV voltage drop. I can notice that in BQ studio.
With regard,
Sudarshan Chaudhary
Hello Adrian,
In order to verify the Measured Z value, we performed all the Desired Steps and did 2% discharge on a Fresh Battery on a New BQ35100 on our PCB. After the 2% discharge, the Measured Z value was "-32768 mOhm" and Scaled R value was "-32767 mOhm". Attached herewith are the screenshots for your reference. You can see New Battery discharged from 100% to 98% but Measured Z and Scaled R are NEGATIVE values. Also, Long trend and Short trend averages are very huge value. Also, we got BATTERY LOW Alert which is strange and contradicting as Battery health is 98% and it was a Fresh New Battery.
With regard
Sudarshan Chaudhary
Hello Sudarshan,
Can you detail every step that happens? After the 2% discharge, you should let the battery rest for 5 hours. Then after the 5 hours you send the Gauge_Start command, then apply a pulsed load, and then send the Gauge_Stop command.
Regards,
Adrian
Hello Adrian,
Yes, my all steps are as per the document.
1. Set GE pin high.
2. Check the Operation config is in EOS mode. It reads 0x02 which means EOS mode is enabled.
3. Send the GAUGE_START command and then apply the pulsed load which causes around 150mV drop in our case which is visible in BQ Studio.
4. After 2% discharge, turn off the pulsed load and then send the GAUGE_STOP command.
5. Waiting for G_DONE bit to go high after 15-20 seconds and then Read all parameter values.
6. Set GE pin low.
7. Giving a rest period of 05:30 hours before next pulsed load.
Here, 2% discharge means drawing a current of 260mA for 1 hour from my Battery whose capacity is 13000mAh.
This behaviour of BQ studio is really not understood. What does Negative Measured Z and Scaled R mean ?
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
We need to change the procedure. The GAUGE_START and GAUGE_STOP should not be sent between the 2% discharge. This command should not be sent between a long period of time. There needs to be implemented a "learning pulse". The learning pulse can be a 260mA discharge that only happens for 1 second. This should happen after the 2% discharge. So you discharge 2%, rest for 5 hours, then you will send the GAUGE_START command, followed by a 260mA discharge for only 1 second. Then send the GAUGE_STOP command.
Regards,
Adrian
Hello Adrian,
We did what you suggested in last comment. This we performed on another (BQ35100 and Battery) set-up mentioned in my second last comment.
1. Discharged the Battery by 2% and then rest period for 5 hours.
2. Send the GAUGE_START command followed by 260mA discharge for 1 second.
3. Sent the GAUGE_STOP command.
4. Read all parameters after G_DONE bit is set.
You can find the attached screenshot for your observations. We didn't see any change in Measured Z value, it is still negative ( -32768 ohm) and Scaled R is changed from last value of -32767ohm to 262 ohm. You may have a look at Short and Long Trend values also. Rest all parameters are same as in above screenshots.
Please suggest on proceeding further.
With regard,
Sudarshan Chaudhary
Hello Adrian,
We repeated the changed procedure again but today also results are same as in yesterday's attached screenshots. Seeing this on current test set-up, we have put our Main test (where Battery is almost discharged by 40% by now) on halt. How to proceed further, please suggest.
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
Was this test performed on a new board with the NEW_BATTERY command sent before hand and with a fresh battery placed in the system? Also, can you send me the schematic of the board you are using for the testing?
Regards,
Adrian
Hello Adrian,
Yes, this test was performed on a Fresh Battery and another board. Currently, we have two identical test set-ups (one for Main test and one for this changed procedure). The board and Battery for main test are different. Main test is where we have discharged battery by 40% till today and put the test on halt as you asked us to change the procedure. The changed procedure is tried on second test set-up with Fresh Battery and another board with BQ35100.
I have attached the schematic herewith. Connector J27 is where Battery under test is connected to BQ35100. BB_3V3 is 3.3V power supply to BQ35100 from another source.
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
I see your design is using a 2 milliohm sense resistor which is a different value from what we recommend. Did you calibrate the gauge for current reading to ensure that the current reported from the gauge is accurate. I see in some of the screenshots that current was reported as 1 mA. Ideally under rest the gauge should be reporting 0mA. This reporting could be affecting the measured z reporting. Ensure the calibration was done, and then try 4 iterations of the test procedure on the new board.
Regards,
Adrian
Hello Adrian,
1. I will discuss among my team that on what basis this 2 mOhm sense Resistor is selected. I see the default value for that is 100 mOhm in Datasheet. Should we go with 100 mOhm ?
2. When I start BQ studio, Gauge do not report any current at rest. But after GAUGE_START command, even without Pulsed load, it reports some current values: 1mA, 2mA, 0mA etc ( these values keep on changing). When I turn off the Pulsed load and issue GAUGE_STOP command, then current value stuck at 1mA. This stuck value after GAUGE_STOP command is what you see in screenshots.
3. So, based on my 2nd point, should I go with calibrating BQ35100 ? My pulsed load current is 260 mA but I am not sure what current flows through BQ35100 through that sense Resistor path or any desired path. So, what value I should calibrate it with ?
With regard,
Sudarshan Chaudhary
Hello Sudarshan,
Yes, I think it will be best to go with 100 mOhm resistor for this gauge.
Yes, you will need to calibrate the BQ35100. Ideally, you will calibrate the gauge with a 1 amp discharge current. You will need to use an accurate power supply that can force a 1 amp discharge so that the gauge can accurately calibrate.
Regards,
Adrian