DS1922/DS1923电池电量计
动机 - 必要性
便携式设备的可靠性取决于能源状况,低电池电压下即使最佳的器件也不可能完全发挥其作用。对手机可充电电池进行监测已成为一个标准需求。如何确定常规电池的剩余电量?如果借助于温度记录器,如何知道电池是否有足够电量支持后续任务?这些正是本文所要讨论的内容。
前提条件
设备运行时,随着时间的流逝,电池能量会以自放电(老化)和正常消耗的方式流失掉。电池的自放电率和硅片的能量损耗与温度的关系非常密切。温度越高,能量损耗越大。如果知道电池的初始电量、温度变化过程,以及正常使用时的放电率,就拥有了估算电池剩余电量所必需的数据。电池的初始电量以mah为单位,可参考电池数据资料获得。具有挑战性的任务是获取电池的温度变化历史数据以及电池供电设备的电流消耗指标。
如果温度记录器非常小,工作期间电池温度与记录的温度值近似相同。温度记录ibutton ds1922/ds1923的内部功耗和进行温度转换时所需提供的电量能够在工厂测试的产品规格中找到。借助于这些信息,如果满足下列各项要求,可以估计剩余电池电量:

任务设定以后,温度记录器记录任务的开始时间,并设置控制采样间隔的内部定时器。到达采样间隔时,开始温度转换,并将结果存储在数据存储器中。间隔计时器自动设置下个采样间隔,并且重复该过程直到任务结束。图1说明该事件的过程。所有采样间隔的时间相同。

图1. 温度记录过程 可用下列算法估算工作期间电池消耗的电量:
对于工作期间的所有采样以及每个采样间隔,获取记录的温度值,并且:
观察该温度下的直流负载电流,并乘以采样间隔时间(图2)。这是rtc和自放电消耗的能量(直流负载)。
观察该温度下温度转换的电量(图3),并加上采样之间直流负载消耗的电量。
加上所有采样间隔的电量。

图2. 估算采样之间的直流负载

图3. 采样时的电量
如图2上部所示,假设采样之间直流负载恒定。从数学上来说该方法等同于估算右侧长方形(高度取决于每个子区间的右端点)的积分/面积。还有其他积分方式,例如用两个采样点的均值(中点)估算、梯形或simpson算法,这些算法会提供更加准确的结果1。如果在一个恒温设置点附近温度循环,长方形导致的正负误差平均值接近零。所以,针对此类应用,这种简单的方法比较合理。
使用更短的采样间隔也可减小积分误差。采样间隔的低限取决于执行任务的时间以及可用来记录数据的存储器。采样间隔较短时,温度转换消耗的能量增加。为节省能量,采样速率的设置应该与被监测对象的温度变化联系起来。例如,如果在1小时之内温度改变不超过1°c,则可使用30分钟的采样间隔。
理论应用
上文给出的数学模型可通过gas gauge spreadsheet (zip,597kb)文件实现。该电子表格有两个查找表,一个用于ds1922l/ds1923,另一个用于ds1922t。电子表格还有两个计算标签。图4为ds1922l/ds1923的计算标签图。用户在黄色区域输入数据,在蓝绿色区域显示结果。未被标为高亮度的区域是图标(采样号)或中间结果,例如查询结果和每次采样之间的电量消耗。进行11位温度转换时,查找表中的转换消耗电量乘以8。湿度转换消耗的电量是与温度无关的加法器。总电量区域中的数值以μa为单位,表示采样之间的电量总和。除不具备湿度记录功能外,ds1922t的计算标签与ds1922l/ds1923相同。
利用任务浏览器(onewireviewer应用程序的子程序)[2,3],操作流程如下:
记录器从任务返回后,用浏览器command标签上的disable mission按钮结束任务。
点击浏览器device data标签中的temperature,显示记录的温度数据曲线。
光标放在该曲线上,点击鼠标右键。 选择“copy data to clipboard without labels”,并点击鼠标左键。
打开gas gauge spreadsheet中相应的计算标签。
选择第一个温度采样的输入字段并点击paste。将全部温度记录复制到电子表格。
点击浏览器device data标签中的status。
将sample rate的数值(转换成分钟)复制到sampling interval字段,并将mission sample
count值复制到电子表格的mission samples字段。
如果device data标签的temperature logging显示0.0625,则温度记录的分辩率为11位。这种情况下,在电子表格的11-bit
resolution字段输入true;0.5表明分辩率为8位。如果采集湿度值,在电子表格的humidity logging字段输入true。
这时,total mission charge显示的是工作期间消耗电量的估算值。

图4. gas gauge spreadsheet的部分样例
只有将正确的值输入previous charge字段时,remaining charge中的值才有效。对于新器件的第一次任务,预充电值的额定值为48mah, 在电子表格中预先设定。计算出任务消耗的电量之后,必须将结果存放在记录器的用户存储器中,完成这一功能最简单的方法是利用onewireviewer的file viewer。在第一个任务生成一个文件(如chrg.0)后,ascii标签中键入诸如“电池充电47.975mah”的字样,后面还显示有日期代码,将文件写入存储器。这一过程中,数据随记录器移动并可用来计算下一次及其随后的每个任务的剩余电量。 注:对于ds1922l和ds1923,在所有温度和采样率条件下,计算出的总电量与数据资料中的寿命曲线一致,误差在1%之内。对于ds1922t,采样间隔大于等于1分钟,温度大于等于+50°c时误差小于2%。当采样间隔小于1分钟,且温度低于+50°c时,估算的误差可达10%,比ds1922t数据资料中的寿命曲线更准确。出现这一差别的原因是,从gas gauge spreadsheet的数据可以看出ds1922t电池的自放电很小。
结论
通过相当简单的数学推断,可以跟踪执行任务期间的消耗电量。本应用笔记中给出的方案为该设计理念提供了可行性,可以很容易地集成在一个自动化数据管理系统。知道剩余电量并估算下一任务所需的最大电量,可使用户在有效使用期限内对记录器加以充分利用,从而降低温度监测的总成本。
评论