Hello,
I have 3 BMS designs with BQ79606 for LFP packs: 12S / 15S / 16S
These 3 BMS have the same problem: when balancing occurs, the voltage protector (3.8V) is triggered.
Without balancing, everything is fine (the comparators work)
The datasheet says that voltage protection is automatically disable when balance is active.
The register configuration:
WriteReg(0, OV_THRESH, 0x44, 1, FRMWRT_ALL_NR); //3,7V
WriteReg(0, COMP_DG, 0x0F, 1, FRMWRT_ALL_NR); //set 500us comparators deglitch timer
WriteReg(0, OVUV_CTRL, 0x3F, 1, FRMWRT_SGL_NR); //enable all cell Over voltage/Under voltage
WriteReg(1, OVUV_CTRL, 0x3F, 1, FRMWRT_SGL_NR); //enable all cell Over voltage/Under voltage
WriteReg(2, OVUV_CTRL, 0x07, 1, FRMWRT_SGL_NR); //enable all cell Over voltage/Under voltage
WriteReg(0, CONTROL2, 0x14, 1, FRMWRT_ALL_NR); //TSREF enable, Enables the OV/UV comparators
WriteReg(0, CONTROL2, 0x17, 1, FRMWRT_ALL_NR); //CELL_ADC_GO = 1, TSREF enable, AUX_ADC_GO, OVUV_EN
WriteReg(0, CB_CONFIG, 0xAA, 1, FRMWRT_ALL_NR); // duty cycle of 10s, continue to balancing (no of thermal shutdown), Odds then even cells
WriteReg(0, CB_DONE_THRESHOLD, 0x20, 1, FRMWRT_ALL_NR);//disable CD_DONE
To activate balancing, the software writes:
WriteReg(0, CB_CELL2_CTRL, 0x8A, 1, FRMWRT_SGL_NR); //10s cycle for cell balancing
WriteReg(0, CONTROL2, 0x36, 1, FRMWRT_ALL_NR); //BAL_GO = 1, TSREF, AUX_ADC_GO, OTUT_EN = 1, OVUV_EN
When balancing occurs at cell 2, the voltage across CB1 – CB0 increases (4.5V) and I can see :
- with debugging (CAN bus) that the OV_FAULT register is set
- the fault pin is cleared
Why is the comparator triggered? Should firmware disable comparator before enabling balancing?