首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

关于电池剩余电量的判断解决办法

2012-02-25 
关于电池剩余电量的判断我的平台是PXA270+wince5.0,battery monitor IC : Maxim的DS2762有一个关于电池剩

关于电池剩余电量的判断
我的平台是PXA270+wince5.0,battery monitor IC : Maxim的DS2762
有一个关于电池剩余电量的判断问题,请教大家。
目前我的判断方法是:通过battery monitor ic读到目前电池的电压,然后利用预选设置好的,最高和最低电压判断剩余电量。
如:设置最高电压0x34C(4.12V), 最低电压0x2a1(3.3V),目前读到电压:0x324, 则目前的电量应该是:(0x324-0x2a1)/(0x34c-0x2a1)=0.76,则剩余电量是76%。
现在有两个问题:
1、插上充电器和不插充电器,电压读取数值相差很大。比方说电池电压目前是3.4V,但是一插上充电器就变成了3.6V,从而导致IC读取电压数值差距过大,剩余电量显示跳动太大,本来只有40%的电量,一插上充电器就变成了60%。这种问题的原因应该是硬件造成的,但是有没有办法在硬件上避免这种情况呢?或者软件有没有办法通过算法来调整呢?
2、由于电池充电不是线性的,就会导致一个问题就是从20%到70%变化很快,但实际上电池还是没有多少电量,越往后充,数值的变化越慢;使用的时候也是,从50%往下一会就没电了(设置15%自动关机)。请问有什么好的算法能尽可能真实的反映电池电量?
谢谢大家!

[解决办法]
1.充电状态和放电状态的阈值应该是不一样的
2.不能用简单的百分比来确定剩余电量的,可以根据放电的曲线去确定剩余的变量。
[解决办法]
充电放电的表不应该是一个

你用两个表管理不就行了

你要看看你的设备放电时是不是类似线性,充电时我的设备不是线性,不知道你的设备是不是跟我的一样

你要通过打印信息看一下采回来的电压值在充电时的变化规律。然后根据这个变化规律来做处理

一般充电时应该不是线性,但是应该有个规律。我只做过我们设备的,也不敢肯定你的跟我的是一样的,所以我的经验就不说了

你还是自己找一下这个规律吧

然后用两个表对照就可以使CE下显示的电量百分比准确了
[解决办法]
是啊,应该根据放电曲线

或实际测试,根据经验值也可以
[解决办法]
实测充放电曲线,然后通过查表的方式来做应该是比较精确的
插不插充电器也可以通过软件修正来减少指示上的偏差
[解决办法]
充电时电压高于电池电压是必然的,不然无法充电。解决此问题的方法曾经用过的方法:

直接显示正在充电,而不显示百分比。

针对单个项目的需求,反复测试电池的充、放电曲线,算法详细处理,多次修正后,可以确保一段时间内的准确性和精确性。但是随着电池使用的时间越长,精度越来越差。

在15%-75%之间,直接将充电电压-0.2V作为实际电池电压,以换算大概的电量。

增加一个电量计,常用的是串联电流计,可以比较精确的显示。不过在换电池的问题上一直无法比较好的解决。

用1-wire类型的智能电池,其实就是将电量计做在电池的保护板上,每个电池的电量直接跟电池捆绑在一起,cpu直接读百分比即可,换电池也无所谓。

美信新出的MAX17040非常有趣,可以选择读取电压,也可以直接读取百分比。跟电池并联,相当于也是读取电压,但是精度非常高,而且充电时也能精确获取百分比。内部有特殊的算法。在换电池时,大概有3分钟左右无法准确显示,应该是算法在重新计算。3分钟后又准确了。

以上方法,供参考。
[解决办法]
补充一下:
对于电量非线性的问题,最好的方法是针对每个类型(项目)的电池建立对应的曲线,分别管理。软件会比较复杂。
最简单的方法是用上面提到的电量计或者智能电池,确保准去。成本会高。
[解决办法]
学习了,我的项目上也有这个问题。

对于插拔充电器的情况可以通过对读取的电压的历史记录来取平均值的做法来提高精确度。至于剩余百分比最后就是根据放电曲线来估算了
[解决办法]

探讨
充电放电的表不应该是一个

你用两个表管理不就行了

你要看看你的设备放电时是不是类似线性,充电时我的设备不是线性,不知道你的设备是不是跟我的一样

你要通过打印信息看一下采回来的电压值在充电时的变化规律。然后根据这个变化规律来做处理

一般充电时应该不是线性,但是应该有个规律。我只做过我们设备的,也不敢肯定你的跟我的是一样的,所以我的经验就不说了

你还是自己找一下这个规律吧

然后用两…

[解决办法]
由于电池的物理特性,这两个曲线一般都不是直线,你用直线去描述,当然误差很大。
先实际测量出你的电池的充电曲线和放电曲线,然后建模保存到系统中,一般用多项式的形式来描述比较好,计算也方便。取多少个点,要兼顾精度和计算复杂度,我推荐使用chebyshev多项式,这个多项式具有比较好的收敛特性,可以有效防止次数增长。
然后根据实际的电量,去这个放电曲线或者充电曲线上去计算当前的百分比。

热点排行