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 crashes

Other Parts Discussed in Thread: BQ3060

Hi All,

I'm designing a LiFePO batterycharger/UPS for a client. Our client supplies the battery, equipped with a BMS (not of our design) based on a BQ3060. During charge and discharge there is regular communication (at a 1 second interval) with the BMS to obtain it's capacity, voltage, current, status, etc. On the desk everything seems to work fine, but we're getting complaints of defective units.

A closer look indicated errors during SMBus/I2C communication. The BMS ACKs its own address, but NACKs the command following it (like 0x09 to read the voltage). Just reading results in a reply with 0x17. The problem has no further relation with our hardware, since disconnecting it, and attaching it to another unit yields identical behavior. By shorting the REG27 the BMS resumes normal operation. The strange thing is that all the primairy functions of the BMS are work fine in this condition, I could short the battery without it blowing up, and the BMS disconnected the battery to protect it from deep discharging.

Some scope images to illustrate the problem:

Here everything works, reading the voltage (this is after the hard-reset by shorting REG27)

Here the BQ3060 ACKs its address, but NACKs the command following it.

The strange "hops" in the voltage are caused by the levelshifter circuit I had to implement (the signal is sampled at SCL/SDA, on our board, not at the BQ3060 side). The designers of the BMS disconnect the GND of the battery, using N-Ch FETS as opposed to the P-Ch ones as suggested by the application note. (this potentially leads to the voltage on the SDA/SCL to turn negative when the BMS disconnects)

Diagram of the levelshifter:

SDA/SCL are connected to the main processor on our board, connector P4 connects to the BMS. The ground of the BMS is not wired separately because that would bypass the N-Channel fets. Unfortunately we don't posses the schematic of the BMS, the supplier is reluctant to hand it over. (we might eventually design it ourselves but we need to get this resolved).

When the BMS is reset, it continues to work fine. Some units even work for weeks now, without any issue.

The problem is that I cannot reproduce it, even moderate ESD injection doesn't lead to the above behavior. I can't find any errata of the BQ3060, I would gladly write a software workaround, but we're even considering hacking a relay between the REG27 pin and ground to have the possibility of resetting the BQ3060 ourselves when it does not respond... Anyone got any ideas on what could possibly trigger this condition?

Regards,

Dimitri Princen

  • did you able to get the value for the parameters. please help me with this ic....i am not able to perate this ic.
  • Vikas,
    Which parameters do you need help with setting? The device is shipped with the default setup for a 3S cell configuration.
    Tom
  • Dear Thomas Cosby. The above question on why the bq3060 crashes was posted almost a year ago. Dimitri made the electronics design for us. Now we are selling these systems for already 6 months and we still have this issue. Can you please reply to his question?
  • Bernard,
    I reviewed the original posting and am not sure why it was not answered earlier. If the gauge is returning to normal operation after resetting REG27, then the firmware may not be running properly. Dimitri mentioned that the SDA and SCL pins may be pulled below VSS at times and this could cause a latch-up condition. He also mentioned that n-channel FETs were used instead of p-channel FETs. If he is referring to the CHG and DSG FETs, then the device does not supprot n-channel FETs. Please provide a schematic and I can review it. So, to analyze to problem, I would look for conditions where the pins could be pulled more than 0.3V below VSS. You can also check the thermistor pins to see whether they are pulsing to check whether the firmware is running.

    Tom
  • Thank you for replying..

    I am using tms570ls controller with bq3060. But i am not able to run bq3060 with this controller.  I am succeded to get output wih other controller like arduino but not with tms570ls. So please give me a small programe for tms570ls with bq3060.

    Thank you

  • Vikas,
    We do not support code development. The bq3060 supports the standard SMBus protocol and the commands should be the same as you used with the Arduino.
    Tom