你好!BQ7694003的16位CC采样电压不准,采样电阻是1毫欧,之前刚调试的时候我记得是准确的,用电子负载仪做的负载,采集到的数值换算到电流后与电子负载仪上显示的电流值是差不多一样的,但是现在测试的差别很大,且空载时CC读出来的值都是+200左右uV,换算到电流就是+200mA!接上负载后,电子负载仪显示的是400mA,但是CC读出来的是-140uV,换算到电流就是-140mA,放电时此值时负的。改变负载,则发现漂移的值越来越大,即400mA的负载时读数为-140mA,相差260,500mA的负载则读数为-220mA,相差280,依次~~~
uint8_t UpdateCCVoltageFromBqMaximo(void)
{
int i = 0;
unsigned char *pRawADCData = NULL;
int iTemp = 0;
long lTemp = 0;
uint8_t result = 0;
result |=BQ7694000_ReadData(CC_HI_BYTE, &(Registers.CC.CCByte.CC_HI), 2)
if(!result)
{
pRawADCData = &Registers.CC.CCByte.CC_HI;
for (i = 0; i < 1; i++)
{
iTemp = (int)(*pRawADCData << 8) + *(pRawADCData + 1);
lTemp = ((long)iTemp * 8.44); //iGain即是灵敏度,单位是uV
gBQ7694.CCVoltage = lTemp; //得到CC值,单位是uV
pRawADCData += 2;
}
}
}