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.

BQ40Z80: Learning cycle - Behavior CHG and DSG FETs

Part Number: BQ40Z80
Other Parts Discussed in Thread: BQSTUDIO, , BQ40Z60

I'm working on a custom made board with PB40Z80 and preparing to run the learning cycle. BqStudio doesn't support this feature (yet), so I build a relay jig and wirting software to automate this process entirely. Therefore I strictly follow SLUA848. As a prerequisite, all the requirements from chapter 3 are configured and a GPC cycle was successfully run with ChemID programmed.

However, while writing software I observed that the CHG and DSG FETs will not stay ON, hence there is no voltage and current on the PACK pins. SLUA848 describes the following process in chapter 4.2.1 first bullet point:

Before beginning the discharge, turn on the charge and discharge FETs by sending command 0x22, or by sending the CHG_FET_TOGGLE and DSG_FET_TOGGLE commands until both the CHG and DSG bits are  shown as red in the Bit Registers. Next send IT (Gauge) enable command (0x21), or use the GAUGE_EN command to set the GAUGE_EN in manufacturing status register and QEN flags in IT Status register. Then send the reset command (0x41), or select RESET, to set the RDIS flag and disable resistance updates during this initial discharge cycle.


My observation is that, when CHG and DSG FETs are commanded ON, they will turn OFF as soon as the RESET command is send. Even when the FETs are commanded ON after the RESET, they will turn OFF with delay. My workaround is periodically commanding both FETs open while processing the cycle status. All other requirements are met so far.

So my questions:

Please can someone from product support can check and verify, that the process description in SLUA848, chapter 4.2.1 is correct and complete?

Can I run the learning cycle with charger and load VCC connected to BATTERY+ (VC6), while GND is connected to PACK- (current through shunt)? As descripted in SLUUBT4A, chapter 3.3.3.

What steps are required to set a BQ40Z80 into unlearned state? Can I repeat a learning cycle several times without messing up the gauging algorithm?

  • Thanks for the question and the detail in your set-up. One reason that your FETs may be turning off is that you have not calibrated the PACK and BAT pins using bqStudio. Once calibrated, and the PACK and BAT voltages are correct, the FETs should stay on when the command is sent.

    I do not recommend running a learning cycle with the charger and load connected directly to battery, as this bypasses the FETs and all protections.

    You can reset the bq40z80 into an unlearned and original state by re-flashing the original .srec onto the device using the Firmware tab in bqStudio.
  • Thanks Steve. Both voltages, as well as cell voltage and current are calibrated. I run the GPC cycle with the same board and that was ok.

    Questions about using a relay jig (as proposed in BQ40Z60 learning cycle): Prior to the first step in learning cycle (discharge), should the load relay commanded ON before or after cycle preparation (FETs ON, GAUGE_EN, RESET etc.)?

    What is the expected behavior during relax, when both relays, load and charger, are switched OFF? Will the DSG and CHG FETs stay ON?

  • If calibration is not the issue, then the CHG and DSG FETs turning off does not make sense.

    In general, configuring the device, then applying the load or charge depending on the step is the right way to go.

    The DSG and CHG FETs should stay on unless you have hit a protection threshold of some sort (OV, UV, etc.). This is true even when all loads and charge is turned off.

    I would suggest looking at a log when this behavior is happening and look for flags or status that would indicate a reason for why the FETs are turning off. If you'd like to send the log to me, I can take a look as well.
  • Steve, thanks for your help. I finally solved my problem with the FETs. My software had a timing and synchronization issue between gauge polling thread and the one that controls the cycle, resulting in not up-to-date flag values when validating them.

    However, there is one issue remaining in SLUA848, chapter 4.2.1 as pointed out in my first post: The FETs must be commanded ON after the RESET command.

    A last question: Where can I find the firmware .srec?
    There is non on the product page, also nothing in 4800_0_02-bq40z80.bqz. Might be not yet released.
  • Thanks for the note, I will make sure to clear it up in my app note for the learning cycle. The bq40z80 is still advance product release, so we have not published the .srec or .bqz.