cc2530 终端的电池电压检测
TI大神们好,
我的终端在使用的时候用CR2032的纽扣电池供电,空闲的时候能进入PM2模式,有一个电池电压检测的功能。我使用VDD/3通道检测电池电压,是先使用adv = HalAdcRead(HAL_ADC_CHN_VDD3, HAL_ADC_RESOLUTION_8);读取值,然后这样计算BatteryLevel = adv*100/127*3*115/100;获得电压值 ,最后就将电池电压值发送给协调器。在电池电量比较的充足的时候,这个测得的电压值还是比较准确的。
最近发现有问题:
1)当电池的电量很少的时候,检测到的电池电压还是比较高的,无法起到电量预警的作用。当电池电量已经不足以维持的时候,检测到的电压仍有2.8V左右。我该怎么检测发送时的电池电压呢?
2)如果发射的数据的某个瞬时,电压低于2.0V,会怎么样呢?
纽扣电池在放电到一定程度之后,内阻会逐步提高。是不是因为内阻的原因?
测量2.8V的时候电流是多少?是不是类似于开路电压啊?有用示波器读数比较一下吗?
通过新旧电池的对比,的确与纽扣电池的内阻有关。上图是在发送数据时的电池电压的波形图,发射数据时会有一个下拉,旧电池的下拉更加明显。现在的终端在闲暇的时候是进入PM2模式,电流在6个微安左右,发射的时候会到毫安级。采集到的电压数据会比示波器测出的电压小一些。示波器上显示的是3V,芯片测得在2.93V左右。
现在的问题是当电池容量不够,电池电压会下降,发送数据时的下拉部分也会更多,甚至低于2V。有什么办法可以预警电池电量不足吗?
- 用个电容泵电吧
- 加一个可以boost/buck的DCDC的电路。
- 哪怕只加一个DCDC,也会改善峰值电流的。
学习一下这两篇文档:4087.Current Savings in CC254x Using the TPS62730.pdf
7510.swra349 Coin cells and peak current draw.pdf
- 如果不需要那么大发射功率可以减少发射功率来减小负载电流。