大电流对电池电压的影响

在开发ZIGBEE休眠设备的过程中发现使用ADC测量电池电压时,发现电池电压的波动非常大。3.3v的纽扣电池通过ADC读出来的值一般为2.7~3.3v,使用电压表测量电池电压为3.3v。

通过各种测试验证了ADC正常,电路连接也正常,而电池无论是新老电池都会存在该问题(旧电池电压表测3.0v,ADC读取最低为2.4v)。

最后定位是电池本身构造的问题。 

问题原因:

无论是常用的一次性干电池还是可充电电池。其都存在内阻,电池的电路构造可以理解为一个电源V串联了一个电阻(内阻)R,电池电压 = 电源电压-内阻分去的电压。

增大内阻R以及增大电流I,都会导致电池电压减小,所以想要测量准确的电池电压就要减小内阻电压对电池电压的影响(减小R和I)。 

 减小电流比较容易理解,就是减小负载的工作电流就行了。

那么减小内阻又是怎么回事呢?我们先了解下电池内阻的组成:

         电池的内阻是指电池在工作时,电流流过电池内部所受到的阻力,它包括欧姆内阻和极化内阻,极化内阻又包括电化学极化内阻和浓差极化内阻。 
电池的内阻不是常数,在充放电过程中随时间不断变化,这是因为活性物质的组成,电解液的浓度和温度都在不断的改变。欧姆内阻遵守欧姆定律,极化内阻随电流密度增加而增大,但不是线性关系。常随电流密度的对数增大而线性增加。 
简单点说,一是电池内电解质减少,导电能力下降,电阻增大;二是温度,都知道一般情况下,电阻随温度升高而增大。(当然这样讲有些不准确)

从上面可以看到大电流会通过增加温度以及减少电解质的方式变相的造成电池内阻的增加。从而增大内阻所分去的电压,减小电池两端的电压,当电池两端电压小于MCU的工作电压时,就会导致MCU重启,这也就是为什么电池电量较低时,设备会不断重启的原因

因此大电流对电池电压造成的影响,远不只是电流增加了那么简单。所以我们一定要尽量避免在电流过大时测量电池的电压,同时对于电池来说电解质减少造成的内阻增加属于化学反应,它的复原往往也需要时间,在复原之前内阻依然会很大,电池在经过大电流放电之后,最好等待一会(十秒钟之类的具体我也不清楚)让内阻降下来之后再去测量。

改善方式:

这里说下我在使用ZIGBEE休眠设备去测量电压时是怎么做的。

首先ZIGBEE休眠设备的工作电流一般分为几个等级(不考虑LED灯等外设的影响):

 射频工作: 

        设备在配对/收发消息时均处于射频工作状态,此时的功耗和模块的发射功率有关。以Silicon Labs的EFR32MG21为例:

  • 9.3 mA TX current @ 0 dBm output power at 2.4 GHz

  • 33.8 mA TX current @ 10 dBm output power at 2.4 GHz

普通唤醒:

        设备的处于正常工作状态,但是射频不开启。此时的功耗一般为5ma左右

休眠:

        这里就不区分是深度休眠还是普通休眠了,我这里一般休眠时是10ua左右。

在射频工作状态下电流过高肯定是不适合测试的所以我们一般要尽量避免,休眠状态下CPU都不工作了,对于ADC的数据我们一般也就不能处理了,所以也是不能测试的。那么就是普通唤醒的时候测了,这里我的做法是:

        1.设备配对成功/重入网成功后,会开启3分钟的电池电压快速检测功能。 快速检测:每7s检测一次电压,如果连续三次电压变化范围在一定阀值内,则将该电压作为稳定电压上报,同时退出快速检测模式。(配对/重入网/消息上报 会打开射频功能,此时电流较大,应避免测试)

        2. 退出快速检测模式后,电池电压将进入到正常检测模式:每一个小时检测一次。

        3. 为了消除消息上报时的大电流对测量的影响。当检测到有射频发射时,将延时10s之后再去 执行正常检测模式。

参考内容地址:
1.电池内阻为什么会增大(为什么电池用的久了 内阻会变大_百度知道

猜你喜欢

转载自blog.csdn.net/Dr_chaser/article/details/118612769