NB-IoT模组半夜偷跑电,3.6V锂亚电池三个月就见底,快被逼疯了
各位大佬,求个排查思路。我手上一个管网压力监测终端,STM32L051 + BC26模组 + 3.6V锂亚ER34615,设计目标是一小时上报一次,理论算下来能撑两年。结果现场装了一批,三个月不到电池就掉到2.7V,客户天天催,产线那边还等着出货,我头都大了。
已经查过的:休眠电流用万用表量是28uA,跟设计差不多;模组PSM配了,TAU设的4小时,Active Timer 20秒;固件里上报完就断网进低功耗。但现场拿回来两台拆开测,发现隔三差五有几百毫安的脉冲,持续一两秒,像是模组自己醒了。
我怀疑两个方向:一是PSM没真正进,运营商那边参数没协商上;二是我的唤醒逻辑有问题,RTC闹钟偶尔误触发。但锂亚电池内阻大,脉冲一来电压直接塌,会不会模组其实是被拉复位反复重启?这个我还没法确认。
有没有兄弟踩过类似的坑?怎么确认模组到底进没进PSM,看哪个寄存器或者AT返回?另外锂亚电池配这种脉冲负载,加不加超级电容,这个账怎么算?在线等,着急。
回答(2)
先别急着怀疑运营商,拿逻辑分析仪和电流探头同步抓一段完整上报周期波形,看脉冲出现在哪个时间点。重点查三点:一是模组断电前有没有收到+CEREG和+CPSMS的确认,PSM参数是模组主动请求、网络授权的,很多现场TAU实际被压到几十分钟,串口打印出来核对;二是RTC闹钟配置,STM32L051的RTC_Alarm别只设时分秒,掩码没配好会每周期多触发一次,唤醒后先读IWDG和RTC标志确认来源;三是模组PWRKEY和RESET引脚在低功耗时有没有漏电流,加个MOS管彻底断电再测。先看波形再下结论,别拿万用表均值骗自己。
兄弟,我踩过这个坑,你那几百毫安脉冲八成就是模组没真正进PSM,自己醒了。先别急着动固件,按这个顺序查:一、用AT+CEREG?和AT+CGATT?确认PSM协商结果,再看AT+CPSMS?回显的TAU和Active Timer是不是运营商实际下发的,很多卡默认没开PSM,你设了也白设;二、示波器串个采样电阻抓脉冲时机,对照RTC闹钟和模组引脚状态,看是模组自己醒还是MCU误唤醒它;三、重点查模组PWRKEY、RESET脚上有没有漏电或浮空,还有串口TX在休眠时是否被拉低灌电流。先把脉冲和唤醒源对上号,再改固件,别瞎猜。