IOT低功耗设计策略与技巧

IOT低功耗设备设计大致为3个方面的设计:器件选型、电路设计、软件设计、续航寿命估算

一,器件选型

单片机

1.选择具备多种低功耗工作模式的MCU,如MCU支持5种低功耗模式(Sleep,Stop0,Stop2,Standby,VBat),开启带有RTC唤醒的Stop模式可让功耗尽可能低;低功耗MCU的选型:总功耗可以分为两大类:动态功耗和静态功耗。动态功耗是单片机在运行和执行编程的任务时消耗的功率,主要是开关CMOS电路时造成的功率损失。静态功耗是只对器件供电,但不运行代码时消耗的功率,主要是模拟电路的偏置电流、低功耗计时振荡器和泄漏电流。

2.支持宽范围供电,如1.8-3.3V,在不需要大电流供电的模式下,使用1.8V供电可以让MCU处于更低功耗的状态;

3.不使用的IO配置为模拟输入,模拟输入模式下漏电流最低;连接外围电路的引脚,提供有效的Pull Up或Pull Down电平输入,避免电位差引起泄露电流。

电源芯片

1.选择更高效率的电源IC,开关电源DC-DC的效率高于LDO(低压差线性调整器),特别在高压差、大电流的情况下,DC-DC(开关型调整器)具备更高的能效优势,对于常供电的IC,关注静态电流值,对于带EN管脚的IC,关注Shutdown电流值;

2.LDO的成本比DC-DC低,且在低压差、低电流的情况下,具备低功耗特性的LDO也可做考虑,如圣邦微的SGM2034,静态漏电流为1uA;注意:线性调节器很棒,它们很便宜,只需3个引脚(Vin、地Vout)即可将较高电压调节至较低电压。然而,线性稳压器的缺点是,当输入和输出电压之间存在较大差异时,或者如果汲取大量电流时,稳压器可能会变得非常热。

通讯模组

1.通讯模组中的MCU部分可参考单片机的的低功耗设计,本质上具备一致性;

2.2.4G的通讯模组,ZigBee低功耗具备更大优势,BLE蓝牙Mesh这两年间也开始逼近ZigBee,WiFi则比较大,同等条件下,ZigBee的发射电流可以做到50mA以内,而WiFi的发射电流一般要大于300mA,加上心跳包对接时间的差异,具备快联特性的WiFi可能需要10ms,而ZigBee可能只需要3-5ms。

3.通讯模组OTA的功耗 > 搜网功耗 > 静态功耗。另外,网关信号正常与异常,也会导致通讯模组在搜网时的功耗有所不同。

二,电路设计

1. 对于耗电比较大的器件,使用独立IC供电,并尽可能做到可独立关断供电回路,在非常供电的状态下切断供电回路;

2. 对于上下拉电阻,在确保信号抗干扰度良好的前提下,尽可能使用高阻值;如对于1K的上拉电阻,当电流回路对地时,产生3300uA的电流,而对于100K的上拉电阻,则为33uA。当然,对于外界的工频干扰等,同样的条件下,10K的上拉电阻具备更高的抗干扰度;

3.电池电量检测采用分压电阻时可使用1M左右的阻值,由于涉及单片机ADC阻抗匹配的不同(关于ADC阻抗匹配,可参考《单片机读取外部电压ADC阻抗匹配问题》),建议在信号的采集中间加上一级电压跟随器,该跟随器需要低功耗或者需要单独供电,避免无谓的电量损耗;

4.对于有光显示的场景,如LED指示等,尽可能降低LED亮度。

三,软件设计

软件设计更多地体现在如何驱动硬件进入低功耗模式,如:开启单片机RTC唤醒的Stop模式;控制电源的EN管脚进入非常供电模式;GPIO的模拟输入模式;通讯模组在发送完成数据之后,立即关闭UDP连接,尽可能降低大电流模式持续时间。

四,续航寿命估算

1.对于静态电流,可使用万用表进行测量,对于动态电流,如设备的间隔性心跳包电流,则需要使用采样率更高的仪器进行测量。

2.严谨的功耗计算中,需考虑电池的自放电率;

3.简单举一个低功耗设备续航时间计算的例子:
假设电池容量250mAh,10分钟发送一次心跳包对接网络,每次5秒30mA瞬时电流,待机20uA电流,可做如下推算:

单次对接网络耗电:30mA x 5s = 150mAs = 41.66uAh;

一天对接网络次数:(24h x 60)÷10 = 144次;

一天对接网络总时间:5s x 144 = 720s;

一天待机总时间:(24h x 3600)s – 720s = 85680s = 23.8h;

一天总功耗:(23.8h x 20uA) + (144 x 41.66uAh) = 6475.04uAh = 6.48mAh;

可使用天数:250mAh ÷ 6.48mAh ≈ 39天

作者:半生輕狅客

物联沃分享整理
物联沃-IOTWORD物联网 » IOT低功耗设计策略与技巧

发表评论