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.

bq3060 cell voltage discrepancy

Other Parts Discussed in Thread: BQ3060, BQEVSW, EV2400

Hi,

I'm having a problem with BQ3060 where the cell voltages are really off.

I measured 2900mV and the bq Eval sw reports 3600mV.

That's a lot of discrepancy. I have not performed any voltage calibration, but I was under the impression that this was factory calibrated to 10% error.

I can live with 10% error, but this is quite a lot of difference.

It's causing my cells to be extremely depleted and the chip performs very erratically. The charging FET doesn't turn on anymore and I had to force a cmd 0x46 data 0x0006 to turn it on and charge the cells again.

But then, the reported values for all cells also wrong when charging and went well above the 4200mV. I knew there was no danger to the cells, because the actual values were around 3900mV.

What could cause such a discrepancy?

 

 

 

  • Roberto,

    Can you export a senc file from the pack and send it? I can check the calibration coefficients to make sure that they are correct.

    Tom

  • How do I export senc file?
    I know how to do gg file.
  • I had this before:

    VC1 K-factor = 20500
    VC2 K-factor = 20500
    VC3 K-factor = 20500
    VC4 K-factor = 20500
    K-factor override flag = 0000

    Then I changed to this:

    VC1 K-factor = 16500
    VC2 K-factor = 16500
    VC3 K-factor = 16500
    VC4 K-factor = 20500
    K-factor override flag = 9669

    This corrected the reported voltage, but now I can't charge it anymore.

    My charge FET gets disable the minute I plug in the power supply for the charger.

    If I force the charge FET on (command 0x46 data 0x0006), it does charge to full charge and everything looks fine, until I discharge and I can't charge again.

    What am I doing wrong?

  • Ok, so this is very strange.
    I was trying to automate something to make the kfactor changes automated and somehow the unit got save with a value of above 25000. When I noticed that, I went ahead and forced 16500 manually again.
    When I did that, my voltage was being reported very low.
    I found that strange, so I restored the gg file I saved when I initially started and was having the issue. k-factor was default 20500 on that gg file.
    Somehow, the unit is reporting the correct voltage now with the default 20500 with override flag 0.
    What could cause the chip to be acting up in such a weird manner?
  • Roberto

    The VCx K-factor parameters should be in the 20500mV range.  Why do you think that these parameters should be set to 16500? You should try using the bqEVSW to calibrate the gauge.

    Tom

  • That's what I did and how it came up with that number.

    The report value from the software was really high. Like 3400mV when the battery was really only 2900mV.

  • Roberto,
    If you would like to send a senc file and schematic, then maybe I can reproduce problem and help to correct it. You and export a senc file from the Pro screen.

    Write SMB Command 00, Word 0f00; places the device in ROM mode.
    Go to Flash Memory >> Read to file and export the senc file.
    Send SMB Command 08; returns the device to normal mode.

    Tom
  • Sorry it took so long.

    We had to do an RMA though our distribution channel, since this was a customer unit.

    Attached is the senc file.

    I measured the battery and it says 9.64 and yet the SBS was showing 12.1 and the charging FET was disabled when I had the power supply plugged in.

    Something is definitely wrong.

    Also, how to I write senc from file?

    If you could enlighten me on how to fix this, I would appreciate.

    Thank you,

    RI

    bq3060 Senc Problem.zip

  • Robert,

    The voltage calibration was off. I calibrated the voltage an exported a new senc file.

    Tom

    bq3060 Senc Problem calibrated.zip

  • How can I import the senc file?
    How did the voltage calibration get screwed up if it was sealed?
    We never used the calibration feature on the bqEVSW.
    Also, my units are already on the field.
    How can I do this through the SMB bus?
    Is it possible to just update a dataflash memory or better yet, import the entire senc file though the SMB bus?
    If possible to import senc through the bus, how can I ensure that it was sent successfully without corrupt data. Is there a CRC generation method?
  • Roberto
    The parameters would not have changed if the pack is sealed. They were set to the default values shipped with the device and it does not look like the pack was ever calibrate for voltage. You can unseal the pack and calibrate it using the bqEVSW program, if you have access to the SMBus. You can also load the senc file into the device from the Pro screen. You will need to place the gauge in ROM mode by writing 0f00 to SMB Command 00 and then use the Srec Programming field to program the device. You can return the gauge to normal mode by using the Send SMB Command, SMB Command 08.
    Tom
  • I only have access to SMB bus through my mcu and not using bqESVW.
    We never calibrated the voltage since the default was pretty good for us.
    So, it should have never been changed. It is very strange how it got it to be that way.
    So, without having access to bqEVSW, how can I change the calibration to match exactly what you changed in the senc file you sent me?
    Again, I can only change values through my mcu on units that are already in the field.
  • Roberto
    I looked at the data flash parameters more closely and I see several issues. You are correct that the default voltage calibration parameters should trim the voltage parameter close enough to be accurate, but there is a bit set in a hidden AFE register that is causing the calibration issue. Several other hidden AFE registers also have erroneous data in them. Do you have this problem on all packs or just this one? If it just this one, then this pack got corrupted at some point. Do you have the golden file that you program into production packs? I can check it to see whether it is corrupted. Do not use the senc file that i sent to you. It has your corrupted AFE register settings in the data flash.
    Tom
  • I have had this problem on at least 4 units so far.
    They all present the same behavior.
  • Roberto

    The gg file will not contain the hidden AFE parameters and it will not change them in DF. Is the gg file the only file used to update packs in production? If you can export a senc file from a good pack, then I can check to see if any of AFE parameters are set to non-default values.

    Tom

  • bq3060 Senc Good.zipYes, the gg file is the only thing we use to update the pack.

    Attached is the senc file from a good unit.

  • The AFE registers are not corrupted in that senc file.
  • What do you think is causing the AFE registers from getting corrupt and how I can avoid it? All packs are sealed before we ship them.
    For those with corrupt AFE registers, how can I identify that it is indeed corrupt and how do I fix it?
    Remember that I do not have access to bqEVSW in the field. Our units are closed finished products and we can only update my mcu firmware, which could send SMB bus commands and data though.
  • I will discuss it with the design team and let you know what I find. What type of application are these packs used in? What type of load profiles do they see? How long have they been in the field?
  • These packs are used in a medical laser product geared towards the dental market.
    It powers our mcu, a capacitive touch panel and a electroluminescence display panel.
    We just launched the product and have been getting this problems in a few of them.
  • Forgot to mention that my load is usually between 700mA to 1000mA.
  • How can I send you a Private message.
    I was going to send you more info on our product if you need them.
  • Any update for me?
    I got a different problem on another unit I got back.
    The unit wasn't charging when I plugged in the power supply to the charger and the unit would not keep the unit on when we unplugged the power supply.
    I think the FETs were not turning on/off accordingly.
    I was going to try to enter bootrom and download the senc file, but after I sent 0x0f00, the unit did enter boot rom, but I was unable to download the senc file. It was giving me errors.
    These were the errors:

    Error in reading flash! Unknown error: VB_UNKNOWN
    Flash contents may be incomplete!

    Error in reading flash! Error code(decimal)= 100

    I went ahead and sent 0x08 to go back to normal and the charging FET kicked in and the battery started charging again.
    So, at this point, I can't make it present the behavior again and I cannot download the senc file no matter what I do.
    What do you think went wrong on this unit?
    I have 3 of them like this so far.
  • Nevermind on not being able to download senc file.

    I was using a different EV2400 and it needed a firmware update before I could download senc files.

    I updated the firmware of this EV2400 and downloaded the senc file on a unit that was not charging and had FET status 0x0004.

    Attached is the senc file.

    Do you see anything wrong on this file?

    How can I see these hidden AFE registers to know if they are corrupt or not?

    Is there a way to read them?

    If they are corrupt, how do I update them?

    On another note, we ended up recalling 50 units and we had to rush through the troubleshooting.

    Here are things we found:

    Due to a flaw in the design, the system was being discharged at about 5mA even when the unit was off. This caused the battery to be discharging all the time until it was depleted.

    Due to a failure to follow procedure by our contract manufacturer, they failed to program the .gg file to the chip. So, all units just had the default settings. Because of this, the batteries just ended up being discharged to the max. Some units had even below 7500mV, which is the minimum voltage for the battery pack we are using. Do you think this could cause the corruption on the AFE registers?

    We ended up opening every single unit, unsealed and save the gg file with the correct settings that I posted earlier. These units seem to be running fine now, with the exception of these 3 units I mentioned on the previous post where it doesn't turn the FETs on correctly.

    I did reset the chip when trying to download the senc file, which caused the FETs to turn on, but I am not confident that it will hold and work without hickups. So, please do take a look at the senc file attached that I took from one of these 3 units to see if anything is wrong with it and what could be the cause for the FETs to be misbehaving.

    We are almost due to ship these units back. 

    bq3060 Senc not charging.zip

  • Roberto,
    Using the gauge with the default setup should not cause the hidden AFE registers to be corrupted. I will be out of the office for a couple of days, but I will review the senc file after I return mid week.
    Tom
  • bq3060 Senc not charging 2.zipHere is another one I got that was working fine and after a discharge and charge cycle, the FETs started acting up too.

    It had FET status 0x0004 and the unit was just shutting off when the power supply was unplugged.

  • Any update on this?
    I really need help to solve this problem as it is affecting products on the field.
    Is there anyone that I can call to get a faster response? Even if it is a fee based support.
  • Roberto
    I have not been able to get to this yet, but I will program your senc file in the morning and check it.
    Tom
  • Roberto
    I loaded your senc file and I do not see any operational problems. Charging and discharging work okay. Place provide the steps to get it into the bad state. If you have a log file showing this, then that would be good.

    Tom
  • The step is very simple.
    Plug the power supply to the unit and it won't charge. It will show FET status 0x0004.
    How do I collect and export such log file?
    Is it possible to do this through SMB Bus commands?
  • I have not seen a problem with the FETs turning on and off when removing and applying the charging voltage. What voltage are you using? You can run a log file by pressing the Start Logging button and select a location to store the file.
  • My power supply is a 13.5V 3.5A and the charger is a MAX1909 chip.
    These units that had this issue (4 of them) went through a complete cycle of charge, discharge and charge again.
    We left for the night and the next morning, they would not work on battery when we removed the power supply. It just died the second we pulled the plug. Plugging the power supply back in would allow it the unit to be powered on again.
    FET status 0x0004 was showing.
    If I reset with command 0x00 data 0x0041, it would start charging again.
    That's probably why you can't see the issue. When I loaded the same senc file on a test unit, I couldn't replicate either. All these 4 units started charging the minute I came out of BOOT ROM with command 0x08 after I downloaded the senc file. It would not present the problem again. So, I don't know at this point what caused it to get stuck like this. We plugged in and unplugged the power supply numerous times and we never came across the problem again.
    Is it possible to generate such log file using SMB bus? Again, these units are production and are already on the field.
    We had about 83 units we recalled and reprogrammed the gg file and these 4 were part of these 83 units.
    I wish I knew you needed this log file when the problem was presenting itself and we had the units right in front of us.
    All units have been shipped back already.
    Why do you think we are experiencing so many issues with this chip?
    Did you find out how my hidden registers can get to the state they were in??
  • We had this problem happen on another unit that was shipped back to us.

    I was able to pull the log file.

    Attached is the log.

    I had the power supply plugged in and you can see that it wasn't charging.

    The second I unplug the power supply, the unit just dies.

    Can you please let me know if you see anything that could cause the problem.

    We need this fixed.

    bq EVSW Version: 0.9.59 for bq3060 v0.14	
    Device:3060,Ver:0.14, R0, Build:00030
    03/24/2016 4:08:20 PM	
               
    Design Capacity: 1500 mAH
    Design Voltage: 12600 mV
    Specification Info: 0031 hex
    Manufacture Date: 01-Jan-1980 
    Serial number: 0001 
    Manufacturer Name: Texas Inst. 
    Device Name: bq3060 
    Device Chemistry: LION 
    
    Sample	Stamp	~Elapsed(s)	ManufAccess	RemCapAlarm	RemTimeAlarm	BattMode	@Rate(@)	@TimeFull	@TimeEmpty	@RateOK	Temperature	Voltage	Current	AvgCurr	MaxErr	RSOC	ASOC	RemCap	FullChgCap	RunTimeEmpty	AvgTimeEmpty	AvgTimeFull	ChgCurr	ChgVolt	BattStat	CycleCnt	CellV4	CellV3	CellV2	CellV1	FETStatus	SafetyAlert	SafetyStat	PFAlert	PFStat	OpStat	ChgStat	TempRng	PendEDV
    1	4:08:24 PM	0	2A92	300	10	6081	0	65535	65535	0	19.15	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    2	4:08:28 PM	4	2A92	300	10	6081	0	65535	65535	0	19.25	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    3	4:08:32 PM	8	2A92	300	10	6081	0	65535	65535	0	19.25	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    4	4:08:36 PM	12	2A92	300	10	6081	0	65535	65535	0	19.25	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    5	4:08:40 PM	16	2A92	300	10	6081	0	65535	65535	0	19.25	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    6	4:08:44 PM	20	2A92	300	10	6081	0	65535	65535	0	19.25	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    7	4:08:48 PM	24	2A92	300	10	6081	0	65535	65535	0	19.25	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    8	4:08:52 PM	28	2A92	300	10	6081	0	65535	65535	0	19.25	12196	-13	-13	100	0	0	0	1643	0	0	65535	1500	12600	0BD0	6	0	4051	4088	4057	0004	0000	0000	0000	0000	E040	0400	0004	10898
    9	4:08:56 PM	32																																						Possible Error-See error log
    10	4:09:00 PM	36																																						Possible Error-See error log
    11	4:09:04 PM	40																																						Possible Error-See error log
    12	4:09:08 PM	44																																						Possible Error-See error log
    

  • The log file does not show any faults ans it shows that the CHG FET should be enabled. The pack should be able to change. The only odd thing in the file is that there is a 13mA discharge current, but the DSG FET is off. What voltage did you have applied with the power supply?

  • It's 13V 4.6A power supply. I can charge other units just fine with the same power supply.
    The FET status was showing 0x0004 and it is usually 0x006 ( what it is showing on other units) when it is charging correctly.
    The 13ma discharge is what it shows when something is wrong and the unit is not charging. This is what we saw on the previous 4 or 5 units with this problem.
    I know for a fact that if I reset the chip with command 0x0041, it will start charging. Also, if we go into boot rom mode and go back, it will start charging. We did this on the other 4 units and the senc file was posted a few posts back when you asked for the log file.
    Unfortunately, we didn't log the serial numbers, so this may be very well one of those 4 that came back again.
    When I sent reset command and it started charging, we just assumed that the unit was fine. Mistake on our end. We need to find out what is really wrong with this unit.
  • The DSG FET is off, but the pack should charge through the body diode of the DSG FET. Maybe the DSG FET is damaged. I would try sending 04 to the FET Control register (46) to turn the CHG FET on and the DSG FET off. Try charging to see if it charges. If is does not charge, then send 06 to turn both FETs on to see whether is charges.
  • 04 does nothing. 06 starts charging.

    When it started charging, it also keeps the unit on when power supply is unplugged.

    bq EVSW Version: 0.9.59 for bq3060 v0.14	
    Device:3060,Ver:0.14, R0, Build:00030
    3/24/2016 7:01:22 PM	
               
    Design Capacity: 1500 mAH
    Design Voltage: 12600 mV
    Specification Info: 0031 hex
    Manufacture Date: 01-Jan-1980 
    Serial number: 0001 
    Manufacturer Name: Texas Inst. 
    Device Name: bq3060 
    Device Chemistry: LION 
    
    Sample	Stamp	~Elapsed(s)	ManufAccess	RemCapAlarm	RemTimeAlarm	BattMode	@Rate(@)	@TimeFull	@TimeEmpty	@RateOK	Temperature	Voltage	Current	AvgCurr	MaxErr	RSOC	ASOC	RemCap	FullChgCap	RunTimeEmpty	AvgTimeEmpty	AvgTimeFull	ChgCurr	ChgVolt	BattStat	CycleCnt	CellV4	CellV3	CellV2	CellV1	FETStatus	SafetyAlert	SafetyStat	PFAlert	PFStat	OpStat	ChgStat	TempRng	PendEDV
    1	7:01:26 PM	0	0000	300	10	6081	0	65535	65535	1	18.85	12501	1349	1294	100	0	0	0	1643	65535	65535	178	1500	12600	0090	6	0	4150	4184	4169	0006	0000	0000	0000	0000	C000	0440	0004	10899
    2	7:01:30 PM	4	0000	300	10	6081	0	65535	65535	1	18.85	12508	1349	1313	100	0	0	0	1643	65535	65535	177	1500	12600	0090	6	0	4152	4185	4171	0006	0000	0000	0000	0000	C000	0440	0004	10899
    3	7:01:34 PM	8	0000	300	10	6081	0	65535	65535	1	18.95	12510	1347	1319	100	0	0	0	1643	65535	65535	176	1500	12600	0090	6	0	4153	4186	4171	0006	0000	0000	0000	0000	C000	0440	0004	10899
    4	7:01:38 PM	12	0000	300	10	6081	0	65535	65535	1	19.05	12512	1322	1324	100	0	0	0	1643	65535	65535	176	1500	12600	0090	6	0	4153	4187	4173	0006	0000	0000	0000	0000	C000	0440	0004	10899
    5	7:01:42 PM	16	0000	300	10	6081	0	65535	65535	1	19.05	12512	1308	1322	100	0	0	0	1643	65535	65535	176	1500	12600	0090	6	0	4154	4186	4172	0006	0000	0000	0000	0000	C000	0440	0004	10899
    6	7:01:47 PM	21	0000	300	10	6081	0	65535	65535	1	19.15	12513	1286	1314	100	0	0	0	1643	65535	65535	176	1500	12600	0090	6	0	4154	4187	4173	0006	0000	0000	0000	0000	C000	0440	0004	10899
    7	7:01:51 PM	25	0000	300	10	6081	0	65535	65535	1	19.15	12513	1274	1307	100	0	0	0	1643	65535	65535	177	1500	12600	0090	6	0	4154	4187	4173	0006	0000	0000	0000	0000	C000	0440	0004	10899
    8	7:01:55 PM	29	0000	300	10	6081	0	65535	65535	1	19.25	12514	1262	1299	100	0	0	0	1643	65535	65535	178	1500	12600	0090	6	0	4155	4187	4173	0006	0000	0000	0000	0000	C000	0440	0004	10899
    9	7:01:59 PM	33	0000	300	10	6081	0	65535	65535	1	19.25	12517	1239	1282	100	0	0	0	1643	65535	65535	179	1500	12600	0090	6	0	4156	4188	4173	0006	0000	0000	0000	0000	C000	0440	0004	10899
    

  • That is further evidence that the DSG FET is damaged. If the CHG FET is on, then charge current should pass through it and the body diode of the DSG FET. The gauge will detect charge current and turn the DSG FET on to reduce heating in the DSG FET. Since your pack does not charge when the DSG FET is off and it does charge when the DSG FET is on, then this implies that the DSG FET is damaged. You can try setting FET Control to 04 on a good pack and you should see it start charging and then the gauge will turn the DSG FET and continue to charge.

  • I replaced the FET and it seems to have resolved the issue.
    We should still have 3 more out there.
    This is a very big deal for us to know exactly what is wrong with the unit.
    I appreciate the help.
  • Is there any condition in which it would promote the FET to be damaged like that?
    I got another unit on the field with same problem. We are working on getting it back.
    I used Si4435DY. It's the same as the EVM.
    Can you recommend an alternative part that would be more robust?
  • We have used that FET on the EVM for several years and I have not had any failures reported. We have the series capacitors placed across the CHG and DSG FETs to help to protect against ESD damage, but it is odd that ESD would have damaged the DSG FET since it is located away from the PACK connector. You may have to send the FET to Vishay for failure analysis to see whether they can help to identify the failure signature. That may help with identifying a more robust FET or additional protection circuitry.
  • Hi Thomas,

    I have discovered that the problem is not the FET chip itself.

    If it were the FET, I'd assume this problem would be permanent, but that's not the case.

    If I issue a reset SMB command, the unit starts working as intended again.

    What other cause that would prevent this FET from being turned on by BQ3060, since resetting it makes it turn on again?