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.

[参考译文] BQ76952:经过一段时间后、电池值会有所下降。

Guru**** 2455560 points
Other Parts Discussed in Thread: BQ76952

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1427228/bq76952-some-time-getting-worng-cell-value

器件型号:BQ76952

工具与软件:

您好!

在对14S NMC 40Ah 电池包充电时、我们的 BQ76952 BMS 获得了错误的电芯值。 在随附的图像中、  每次我遇到电池电压故障时、都可以看到 Max cell voltage。 最大电芯电压值为4351mV、4350mV 和4349mV。 我还添加了一个函数、因为我要读取所有14S 的值并计算最大电池电压。

VCellModeValue = 0xFE7F;

void BQ769x2_ReadAllVoltages (void)
//读取所有电芯电压、电池组电压、PACK 引脚电压和 LD 引脚电压

// unsigned char x;
unsigned char x;
unsigned char L_Counter = 0;


int cellvoltageholder = Cell1Voltage;//Cell1Voltage 为0x14
uint16_t L_MinCellVoltage = 5000;
uint16_t L_MaxCellVoltage = 0;
uint8_t L_MaxVoltCellNumber = 0;
uint8_t L_MinVoltCellNumber = 0;

对于(x = 0;x < 16;x++)

//读取所有电池电压
if ((((VCellModeValue>>x)&0x01)== 1)

CellVoltage[L_Counter]= BQ769x2_ReadVoltage (Cellvoltageholder);
PackCellVoltageArray[L_Counter]= CellVoltage[L_Counter];
if (CellVoltage[L_Counter]> L_MaxCellVoltage)

L_MaxCellVoltage = CellVoltage[L_Counter];
L_MaxVoltCellNumber = L_Counter;
}

if (CellVoltage[L_Counter]< L_MinCellVoltage)

L_MinCellVoltage = CellVoltage[L_Counter];
L_MinVoltCellNumber = L_Counter;
}
L_Counter++;
}
cellvoltageholder = cellvoltageholder + 2;
}
MaxCellVoltage = L_MaxCellVoltage;
MinCellVoltage = L_MinCellVoltage;
MaxVoltCellNumber = L_MaxVoltCellNumber+1;
MinVoltCellNumber = L_MinVoltCellNumber+1;

Stack_Voltage = BQ769x2_ReadVoltage (StackVoltage);
Pack_Voltage = BQ769x2_ReadVoltage (PACKPinVoltage);
TotalBattVoltage = Stack_Voltage;
// LD_Voltage = BQ769x2_ReadVoltage (LDPinVoltage);
}

您能不能告诉我们这是什么问题?