⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
2个帖子/ 0新
最后一篇
Lewuyouc.
离线
最后一次露面:6个月前1年
加入:2016-07-18 01:38
电池电量

你好,

我使用SDK5.0.4进行DA14580。我需要监控电池电量。
SDK告诉我们如何检查CR2032和CR1225电池电量。我不知道计算差异的原因。
现在我使用CR2477电池,如何修改以下功能?

UINT8_T BATT_CAL_CR2032(UINT16_T ADC_SAMPLE)
{
uint8_t batt_lvl;

if(adc_sample> 1705)
batt_lvl = 100;
否则if(ADC_SAMPLE <= 1705 && ADC_SAMPLE> 1584)
BATT_LVL = 28 +(UINT8_T)(((((ADC_SAMPLE - 1584)<< 16)/(1705 - 1584))* 72)>> 16);
否则if(ADC_SAMPLE <= 1584 && ADC_SAMPLE> 1360)
BATT_LVL = 4 +(UINT8_T)(((((ADC_SAMPLE - 1360)<< 16)/(1584 - 1360))* 24)>> 16);
否则if(ADC_SAMPLE <= 1360 && ADC_SAMPLE> 1136)
BATT_LVL =(UINT8_T)(((((ADC_SAMPLE - 1136)<< 16)/(1360 - 1136))* 4)>> 16);
别的
batt_lvl = 0;

返回batt_lvl;
}

关键词:
设备:
PM_DIALOG.
离线
最后一次露面:1天12小时前
职员
加入:2018-02-08 11:03
嗨Lewuyouc,

嗨Lewuyouc,

th batt_cal_cr2032()函数将在ADC模块中测量的值转换为CR2032电池剩余寿命的粗略估计。在功能的参数中,两个ADC样本的总和。这种方法以及最大/最小限制(1705 = 3.0V,1137 = 2V)。数字的其余部分(1584&1360)分别是ADC样品总和的2.8和2.4V的值,并且用于根据CR2032的放电模型计算剩余电池寿命的估计。关于CR2477,请注意我们从未使用过,以便我知道如何使用适当的值配置此功能。对此的可能解决方案是具有一些实验并使图形电池电压= F(电池容量),以便通过使用多项式曲线找到电池容量和电池电压之间的关系。然后,您可以根据ADC样品将电池电压转换为十进制值。例如,关于最大电压:

电池值(十进制)=(1705/3 V)*电池电压(V)

谢谢,PM_DIALOG.