您好!
我对该电池电量监测计模块有一些疑问:
- 阅读 TRM 有关校准步骤的信息、我发现这"在电池组制造过程中执行以下校准序列"。 我的定制板上安装了监测计、执行校准是否有用? 如果是、我应该在哪个阶段执行它? 在固件开始时? 如果我已经使用了电池组、为什么会提到电池组制造?
- 关于电流校准、我在 TRM 上读 出此信息"CC 增益和 CC Delta 是电流校准需要关注的两个校准参数。 在此过程中、器件会施加已知负载、通常为1000mA。" 考虑到定制电路板的性质、很难施加如此大的电流。 如何执行此操作(如果我应该校准测量仪表)?
- 关于剩余电量过程、我使用 LiSOCl2电池并想计算剩余电量百分比。 在我发布我的程序下面、这是评估剩余百分比的正确方法吗? 观察 TMR、我还发现了 EOS 模式、但有一点不清楚。 在哪里可以找到有关电池充电状态的值? 我是否应该从 DataFlash 中只读取 EOS 趋势检测?
我当前的剩余百分比程序如下所示:
/*写入单元设计容量*/ DATA[0]= 0x4A; DATA[1]= 0x38;// Tadiran MOD。 SL-2780 19Ah{hex 0x4A38} SCMD = DF_CELL_Design_capacity_mAh_ADDR; writetoDF (SCMD、DATA、DF_I2_SIZE、TIME_WRITE_DF); //写入 DataFlash 存储 器... while (1){ ... /*读取命令设计容量*/ cmd[0]= CMD_design_capacity; readCommand (cmd、Rx、DF_I2_size、time_read_only); designCapacity_UAH =((uint16_t) Rx[1]<< 8)| Rx[0]; designCapacity_UAH *= 0x03E8;//设计容量* 1000 //*已使用读取命令 capacity*/ cmd[0]= CMD_DUPLUGED_Capacity; readCommand (cmd、rx1、DF_I4_SIZE、只读时间);readCommand (仅读) usedCapacity_UAH =((uint32_t) rx1[3]<< 24) |((uint32_t) rx1[2]<< 16) |((uint32_t) rx1[1]<< 8) |((uint32_t) rx1[0]<<0); usedCapacity_UAH =(usedCapacity_UAH > designCAPacity_UAH)? designCapacity_UAH:usedCapacity_UAH; percentage =(float)(designCapacity UAH - usedCapacity_UAH)/(float)(designCapacity_UAH); bqData =(uint16_t)(percentage * 100); ... }
它总是100%返回。 有什么问题吗?
此致、
Vincenzo