BQ25798: Correct implementation for 2S LiFePo4 charging with cell balancing on custom PCB?

Part Number: BQ25798
Other Parts Discussed in Thread: BQ41Z50, , EV2500, BQSTUDIO, EV2400

Tool/software:

Hello,

I am designing an IoT sensor node that will utilize a solar panel and optional USB-C port for charging a 2S LiFePO4 battery system, that is PCB mounted, and I just want to make sure I am thinking through everything properly.

The app note for the BQ25798 doesn't mention the need for cell balancing a series battery pack (i guess it assumes it already has this or is not necessary?), so I found the BQ41Z50 and that seems to be a good solution that will also provide protection and fuel gauging, as well as cell balancing.

I was planning on using the EV2500 to program both the BQ25798 and BQ41Z50 to work for my cell chemistry and wiring configuration; could there be an unforeseen issues with that?

Do you mind taking a look at my drawing to make sure I am thinking of this properly? Are there any considerations I should make or gotchas with this setup?

Thank you!

  • Hi Nicolas,

    The app note for the BQ25798 doesn't mention the need for cell balancing a series battery pack (i guess it assumes it already has this or is not necessary?), so I found the BQ41Z50 and that seems to be a good solution that will also provide protection and fuel gauging, as well as cell balancing.

    The BQ25798 is not capable of cell balancing a series battery pack. I am not an expert on the BQ41Z50, but it looks like this device will provide the protection, balancing, and gauging. If you have questions about this specific device, I can loop in an expert for the device, or you can ask another question with this device as the selected device.

    I was planning on using the EV2500 to program both the BQ25798 and BQ41Z50 to work for my cell chemistry and wiring configuration; could there be an unforeseen issues with that?

    I have not worked with the EV2500. I still use the older EV2400 model. The EV2500 should be the same functionality but upgraded from my understanding. The one issue I can maybe see with using one EV2500 is that you may not get it to work with both instances of the BQStudio application. The BQ25798 does not have any nonvolatile memory, so you would have to disable the watchdog and then set the register settings how you would like. If the device ever power resets, you will have to repeat the same process.

    Do you mind taking a look at my drawing to make sure I am thinking of this properly? Are there any considerations I should make or gotchas with this setup?

    I don't notice any issues with this setup.

    Let me know if there are any other questions or if anything is still unclear.

    Best regards,
    Michael Bradbourne

  • Hi Michael, thank you for your assistance with this!

    Oh ok bummer on the flash situation on that BQ25798... I will end up having an MCU communicating with the BQ25798 over I2C anyways, so I suppose I will need to configure it every time the system boots up (or we power cycle the BQ25798).

    Yea could you actually loop in someone on the BQ41Z50 team please? I am wondering now if the same thing regarding non-volatile flash and register setting is true for this IC... where I would need to also have my MCU talk SMBus with the BQ41Z50 to set the proper chemistry, cell voltage, protection settings, etc. I am hoping that once i flash the Golden Image into the BQ41Z50, I shouldn't have to touch it again (assuming I always use the same battery SKU/PN of course).

  • Hi Nicolas,

    Certainly! I will transfer this thread to the fuel gauge experts. They should get back to you by the end of the week hopefully, so your questions are answered before the long weekend. Please to this response with your full list of questions so they know what specific questions you have for them.

    Best regards,
    Michael

  • Great! Thank you!

    Here are my questions for the BQ41Z50 tean:

    1. Once the Golden Image for my battery chemistry is flashed, does my MCU need to interface with the BQ41Z50 to ensure proper operation at any time? Apart from being able to read off the remaining capacity / remaining time, I wouldn't want to mess with any configuration registers in my firmware.
    2. Do you have any example C code that talks SMBus via bit-banging? I am planning on using the RP2350 and so I will need to most likely develop a PIO state machine to implement SMBus 3.2, or do you think i may be able to use I2C just fine? Do you have an example code with SMBus so i can see what is different in case I need to develop a driver for it?
    3. Will the charging algorithm of this IC interfere with the charging process of the BQ25798 at all? Any considerations that need to be made?
    4. For the spark gap ESD protections referenced in the datasheet, are there any specific dimensions or kV rating those are supposed to breakdown at? Why not use GDT's for this?
    5. I am confused on the fuse section, as referenced in the datasheet and evaluation kit for this IC



      1. In the image above, it seems that the secondary monitor/protection device, BQ296103, is also driving the FUSEB net that then controls the gate of the NMOS that enables/disables the fuse, but it also seems that this evaluation kit bypassed the fuse and didn't even populate it...
      2. Also, the evaluation reference mentions that "the BQ41Z50 is equipped to operate independently of the BQ296103", but since we are using the BQ296103 to also control the FUSEB net, would it be safe to assume I can just remove the BQ296103 and it's required circuitry and then just let the BQ41Z50 control FUSEB directly?
    6. On the evaluation kit, what is the purpose of Q5? It seems to connect BAT+ to PACK- when the PLSR_GPIO2 triggers it, when jumper J2 connects them, but what is this used for and why would we want to do this?
    7. It seems R2 was removed form the initial evaluation kit since the precharge function was unavailable at the time; is this still the case for the BQ41Z50? Should I populate that same R2 in my custom PCB to allow for precharge?
  •  Just pinging to see if the other team has seen this question yet. Thank you!

  • Hi Nicolas,

    I assigned this thread over to their group. I think there might be some people out of office which is causing delays. Thank you for your patience.

    Best regards,
    Michael Bradbourne

  • Oh ok no worries! Thank you for the update. Have a good weekend.

  • Hi Nicolas,

    1. No, the gauge should be able to function without the host once it has been programmed. Bq41z50 has non-volatile memory so it won't need to be reprogrammed if power is lost here.

    2. We do not have any example C code of bit-bang SMbus.

    3. The bq41z50 does have the Advanced Charge Algorithm, however this would only affect the charger functionality if the ChargingVoltage() and ChargingCurrent() registers are being read out and used for the charger. There are still some functions of the gauge algorithm that require these configurations to be set up correctly, so please ensure the Advanced Charge Algorithm configurations represent what you are attempting to charge the cells to at different temperatures and at what current. Also, please ensure that the CHG Current Threshold and DSG Current Threshold are set up correctly because this is how the gauge will determine to activate the CHG and DSG FET.

    4. The spark gaps are just to add a second layer of protection with the diodes on these lines. The device is rated for 1.5kV for ESD, so the requirements should meet this.

    5. Yes, the BQ296103 and the FUSE are optional in this system. In the design, they share the same line since the BQ296103 has fuse driving capabilities along with the gauge.

    6. The PLSR functionality is not available in the firmware and should be available by early next year. This FET was implemented with this functionality in mind.

    7. I believe the precharge functionality is available on this device. I can check on this and report back.

    Regards,

    Anthony

  • Thank you  , this is great! Have you guys used the BQ25798 in conjunction with this BQ41Z50 before? Are they designed to talk to each other in any way? I am wondering this because it sees SMBus is supposed to talk to chargers, but I guess that's for other charger IC's you guys carry that work over SMBus?

    What exactly does PLSR stand for? What is that supposed to accomplish?

    Yes if you can provide an update on that precharge functionality that would be great!

    Thanks for the help on this!

    Nicolas