工具与软件:
您好!
在对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);
}
您能不能告诉我们这是什么问题?