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.

[参考译文] RTOS/BQ27510-G3:SoC、SOH 中的 BQ27510-G3问题和清空参数的时间

Guru**** 2511415 points
Other Parts Discussed in Thread: CC1350

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/734505/rtos-bq27510-g3-bq27510-g3-problem-in-soc-soh-and-time-to-empty-parameters

器件型号:BQ27510-G3
主题中讨论的其他器件: CC1350

工具/软件:TI-RTOS

你好,先生。。

 BQ27510-G3在 从传感器接收数据时连接到 cc1350控制器。某些参数(如 SOC、SOH、续航时间值)不准确、您可以建议对代码进行任何修改

DELAY_US (70);

txBuffer_BAT[0]= 0x06;//temperature
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_temp、2);
温度=((uint16_t) rxBuffer_bat_temp[1]<< 8)| rxBuffer_bat_temp[0];
BAT_Temperature =(float)(温度);
BAT_Temperature = Bat_Temperature / 10.0f;
BAT_Temperature = 272.15f;

DELAY_US (70);

txBuffer_BAT[0]= 0x08;//voltage
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_volt、2);
电压=((uint16_t) rxBuffer_bat_volt[1]<< 8)| rxBuffer_bat_volt[0];
BAT_Voltage =(float)(Voltage);
BAT_Voltage = Bat_Voltage / 1000.0f;

DELAY_US (70);

txBuffer_BAT[0]= 0x16;//时间到空
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_time、2);
TimeToEmpty =(((Int16_t) rxBuffer_BAT_TIME[1]<< 8)| rxBuffer_BAT_TIME[0];
BAT_TimeToEmpty =(float)(TimeToEmpty);
BAT_TimeToEmpty = Bat_TimeToEmpty / 60.0f;

DELAY_US (70);

txBuffer_bat[0]= 0x14;//电流
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead ((uint8_t) 0x55、rxBuffer_bat_current、2);
AverageCurrent =((Int16_t) rxBuffer_BAT_CURRENT[1]<< 8)| rxBuffer_BAT_CURRENT[0];
BAT_AverageCurrent =(float)(AverageCurrent);
BAT_AverageCurrent = Bat_AverageCurrent / 1000.0f;

DELAY_US (70);

txBuffer_bat[0]= 0x1C;/sate of Health
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead (((uint8_t) 0x55、rxBuffer_bat_SoH、2);
StateOfHealth =((Int16_t) rxBuffer_BAT_SOH[1]<< 8)| rxBuffer_BAT_SOH[0];
StateOfHealth =(StateOfHealth & 0xFF);

DELAY_US (70);

txBuffer_BAT[0]= 0x20;//充电速率
i2cWrite ((uint8_t) 0x55、txBuffer_bat、1);
DELAY_US (70);
i2cRead (((uint8_t) 0x55、rxBuffer_bat_soc、2);
StateOfCharge =((Int16_t) rxBuffer_BAT_SoC[1]<<8)| rxBuffer_BAT_SoC[0];

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

    你(们)好

    这意味着什么不准确。  您说监测计报告的值正确、但无法从器件读取正确的数据、还是说监测计报告的值不正确?  如果是后者、则会出现您执行化学 ID 识别的天气、对识别的化学 ID 进行编程、然后执行学习周期的问题?

    谢谢

    Onyx  

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

    感谢您重放...

    ->在 Bq27510-G3的数据表中,给出的值与 StateOfCharge ()预测的 SoC 类似
    RemainingCapacity()÷FullChargeCapacity()。 如果我在电池电压为3.66v (最大电压为3.7V)时进行了此计算、则表示 SoC 为7%。
    ->是否可以根据电池电压测量 SoC。

    谢谢

    Sai Naresh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SAI、
    监测计不会根据电压预测 SOC。 它是多个参数的组合、因此您不能简单地将电压与 SOC 相关联。
    您是否执行了化学 ID 识别和学习周期?
    谢谢
    Onyx