30 秒看懂
| 如果你想了解…… | 本文对应章节 |
|---|---|
| 为什么低功耗设计不能只看 MCU? | 第一章 |
| 哪些硬件最耗电? | 第二章 |
| 如何通过固件降低功耗? | 第四章 |
| 通信方式对续航有什么影响? | 第五章 |
| 企业开发最容易踩哪些坑? | 第七章 |
一句话结论:低功耗设计不是某一个器件的优化,而是从硬件、电源、通信到软件策略的系统工程。
在物联网项目中,设备能不能长期稳定运行,很多时候比功能本身更关键。尤其是在农业监测、冷链物流、智慧城市、水文监测、环境监测等场景中,大量设备需要部署在户外、仓库、车辆、农田或者偏远区域。如果设备频繁更换电池,不仅会增加运维成本,也可能影响数据连续性,甚至导致监测系统失效。
很多人在谈低功耗设计时,第一反应是选择一颗低功耗 MCU。但在真实项目中,设备续航并不是由某一个芯片决定的。MCU、传感器、无线通信模块、电源管理、固件逻辑、数据上传周期,都会影响最终功耗。换句话说,低功耗设计不是单点优化,而是一套从硬件到软件、从采集到传输、从休眠到唤醒的系统工程。任何一个环节设计不合理,都可能让原本可以运行数年的设备,只能维持几个月。
本文将围绕物联网设备低功耗设计的关键环节,梳理从芯片选型、传感器配置、电源管理,到固件优化、通信策略和电池寿命估算的完整思路,帮助开发者建立更清晰的低功耗设计方法。
物联网设备的部署场景越来越复杂。很多设备并不是安装在办公室或机房,而是被放置在农业大棚、果园、森林、水文站点、冷链运输车辆、城市井盖、电力巡检点、环境监测站等位置。
这些场景有几个共同特点:设备数量多、安装位置分散、供电条件有限,后期维护也不方便。很多项目希望设备一次安装后,可以连续运行数月甚至数年。
以农业监测为例,如果一个基地部署了 500 个无线传感器,而每个设备都需要半年更换一次电池,那么仅人工巡检、拆装和更换电池的成本,就会成为一笔长期负担。更不用说部分设备可能安装在高处、远郊、野外或不便进入的区域,维护难度会进一步增加。
因此,低功耗设计并不只是提升产品体验,它直接关系到整个项目的运营成本。对于企业级物联网项目来说,设备本身的采购成本只是一次性投入,后期维护、电池更换、故障排查和人工巡检,才是长期成本的重要组成部分。一套优秀的低功耗设计,可以减少人工维护频次,提升设备在线率,也能让整个系统更适合长期、分散和规模化部署。
很多开发者会把 MCU 当作主要耗电源,但在实际项目中,整机功耗往往并不完全取决于 MCU。
一台典型的物联网设备,耗电来源通常包括 MCU、无线通信模块、传感器、存储器、LED 指示灯、DC-DC 或 LDO 电源模块,以及各种外围电路。在多数低频采集场景下,MCU 进入深度休眠后,功耗可以做到非常低。真正拉高整机平均功耗的,往往是无线通信模块、传感器和外围电路。
尤其是无线通信模块,它通常是整机中功耗最高的部分。设备每一次联网、认证、上传、重传和断开连接,都会消耗明显电量。如果通信策略设计不合理,即使 MCU 本身非常省电,最终续航也不会理想。
传感器也是容易被忽视的耗电来源。普通温湿度传感器功耗较低,但 CO₂、气体、粉尘、红外、加热型传感器的功耗可能明显更高。如果这些传感器长时间保持工作状态,就会对电池寿命产生很大影响。
所以,在做低功耗设计时,不能只盯着芯片参数,而要先分析整机功耗构成。先找出真正耗电的环节,再决定优化重点,才是更合理的工程方法。
硬件设计决定了设备功耗的下限。如果硬件选型和电路设计本身存在问题,后期再靠固件优化,效果也会非常有限。
低功耗 MCU 是物联网设备常用的核心器件。目前常见的低功耗 MCU 包括 STM32L 系列、Silicon Labs EFM32 系列、Nordic nRF52 系列、TI MSP430 系列等。
在选型时,不建议只比较主频、外设数量或价格。对于低功耗设备来说,更应该重点关注几个指标:睡眠电流、唤醒时间、RTC 功耗、GPIO 状态保持能力,以及不同低功耗模式之间的切换成本。
有些 MCU 运行时功耗不算最低,但休眠电流很低、唤醒速度快,反而更适合低频采集设备。相反,如果某个芯片运行性能很强,但休眠电流偏高,或者唤醒后初始化时间过长,就未必适合电池供电场景。
传感器功耗差异很大,不能简单地认为“传感器都差不多”。
例如,温湿度传感器通常功耗较低,适合周期性采样。但 CO₂ 传感器由于内部红外光源工作,功耗通常明显高于普通温湿度传感器。一些高精度气体传感器还需要持续加热,其耗电量可能是温湿度传感器的数十倍。
因此,传感器选型要结合实际监测需求。并不是所有数据都需要高频采集,也不是所有传感器都需要持续工作。
如果温湿度变化本身比较缓慢,设备可以每隔几分钟甚至几十分钟采集一次;如果气体传感器功耗较高,也可以根据报警阈值、场景风险和业务要求,合理设置预热、采样和休眠策略。低功耗设计的关键,不是把所有传感器都换成最低功耗型号,而是让每个传感器只在真正需要工作时工作。
很多项目会花大量时间比较 MCU,却忽略了电源模块。实际上,在微安级待机场景下,电源设计的重要性甚至可能高于 MCU 本身。
DC-DC 转换效率、LDO 静态电流、电池自放电、外围器件漏电,都会影响最终续航。例如,有些 LDO 在工作时效率还可以,但静态电流较高。设备进入休眠后,MCU 的电流已经很低,但 LDO 仍然持续消耗电量,结果整机待机功耗始终降不下来。
再比如,一些外围器件在 MCU 休眠后仍然被供电,LED、串口芯片、传感器模块、上拉电阻等都会产生额外耗电。单个器件看起来电流不大,但在长期休眠场景下,这些细小电流会持续消耗电池。
所以,低功耗硬件设计不仅要选低功耗器件,还要检查每个电源域、每条供电路径和每个外围模块是否可以被关闭或隔离。
硬件决定了功耗下限,但固件决定设备最终能跑多久。同样的硬件平台,如果固件策略不同,续航可能相差数倍。很多设备硬件参数看起来不错,但由于程序一直运行、频繁联网、不断轮询传感器,最终功耗依然很高。
低功耗固件设计的基本原则很简单:能休眠,就不要运行。设备在不采集、不计算、不通信的时候,应尽量进入 Sleep、Stop、Standby、Shutdown 等低功耗模式。不同模式的功耗和唤醒速度不同,开发者需要根据业务需求选择合适的状态。例如,设备如果需要频繁唤醒,可以选择唤醒速度较快的低功耗模式;如果设备长时间不需要工作,可以进入更深层的休眠状态,以换取更低功耗。
真正的问题不是设备有没有低功耗模式,而是程序是否真的让设备进入了低功耗状态。很多项目在调试阶段可以进入休眠,但实际运行时因为某个任务、定时器、中断或外设没有关闭,导致 MCU 始终无法真正睡下去。
很多环境监测项目并不需要持续采样。以温湿度监测为例,设备可以先进入休眠状态,等待 RTC 定时唤醒。唤醒后完成传感器采样、数据处理和数据上传,然后再次进入休眠。整个工作过程可能只持续几百毫秒到几秒,其余时间都处于低功耗状态。
这种“休眠—唤醒—采样—上传—再次休眠”的工作模式,是大量低功耗物联网设备的核心策略。如果设备每小时只需要上传一次数据,那么它没有必要在两个上传周期之间保持运行。把大部分时间留给休眠,才能显著降低平均电流。
很多初期代码喜欢使用轮询方式,比如在主循环里不停检测按键、传感器状态或通信状态。这样写起来简单,但 CPU 会长期保持运行状态,功耗自然降不下来。
更合理的方式是使用 GPIO 中断、RTC 中断、DMA、事件驱动等机制。设备平时保持低功耗状态,只有当外部事件发生、定时器到达或数据准备完成时,再唤醒 CPU 处理任务。这种设计不仅省电,也能让程序结构更清晰。CPU 不需要一直等待,而是在真正有事情发生时才工作。
Flash 擦写不仅会影响存储寿命,也会增加功耗。对于需要本地缓存数据的设备,如果每采集一条数据就立即写入 Flash,会带来较高的擦写频率。
更好的做法是先在 RAM 或缓存区中暂存数据,达到一定数量后再统一写入。这样可以减少 Flash 操作次数,降低功耗,也能延长存储器寿命。当然,这种策略也需要考虑断电丢失风险。对于关键数据,可以在缓存周期、写入频率和数据安全之间做平衡。
很多设备不是死在 MCU,而是死在无线。例如:WiFi→连接 AP→认证→DHCP→上传→断开
整个过程耗电很高。相比之下:LoRa、NB-IoT、BLE更适合低频数据采集。下面是几种常见通信方式的特点:
| 通信方式 | 功耗特点 | 适合场景 |
|---|---|---|
| BLE | 极低 | 可穿戴设备、近距离通信 |
| LoRa | 极低 | 农业、环境监测 |
| NB-IoT | 较低 | 表计、远程监测 |
| WiFi | 较高 | 室内设备、持续联网 |
| 4G | 高 | 视频、实时在线设备 |
很多设备并不是被 MCU 耗光电,而是被无线通信耗光电。
以 WiFi 为例,设备从休眠中唤醒后,需要连接 AP、完成认证、获取 IP、建立连接、上传数据,再断开网络。整个过程的瞬时电流和持续时间都不低。如果上传过于频繁,电池很快就会被消耗。
相比之下,LoRa、NB-IoT、BLE 等通信方式更适合低频、小数据量场景。它们不一定适合所有应用,但在农业监测、环境监测、表计、近距离设备通信等场景中,往往可以获得更好的续航表现。
不同通信方式有不同特点。BLE 功耗极低,适合可穿戴设备和近距离通信;LoRa 功耗低、传输距离远,适合农业和环境监测;NB-IoT 适合远程监测和表计类设备;WiFi 更适合有稳定网络和较高数据量的室内设备;4G 功耗较高,更适合视频、实时在线设备或移动场景。
通信优化不只是选择通信技术,还包括上传周期、数据包大小、心跳频率、重传策略和连接保持时间。
例如,温湿度变化通常比较缓慢,如果设备每秒上传一次数据,绝大多数数据并不会带来额外价值,反而会明显增加功耗。把上传周期从 1 分钟延长到 10 分钟,往往比更换一颗低功耗 MCU 更有效。
因此,在低功耗设计中,应优先减少通信次数,再考虑提高通信速度。通信越频繁,设备越难省电。
很多开发者都会问:一节电池到底能用多久?
这个问题不能只看电池容量,也不能只看设备峰值电流。更合理的方法,是计算设备的平均电流。
例如,某设备休眠电流为 10μA,工作电流为 20mA,每小时上传一次数据,每次工作 5 秒。那么它在一个小时内,大部分时间处于休眠状态,只有 5 秒处于工作状态。
可以用下面的方式估算平均电流:
平均电流 ≈(休眠电流 × 3595 秒 + 工作电流 × 5 秒)÷ 3600 秒
得到平均电流后,再结合电池容量,就可以估算理论续航时间。
但需要注意的是,这只是理论值。实际项目中的电池寿命还会受到温度、电池老化、自放电、通信环境、唤醒次数、重传次数等因素影响。
比如在低温环境下,电池容量可能明显下降;在信号较差的区域,设备可能需要多次重传,通信时间变长;电池存放时间过长,也会产生自放电损耗。
因此,实验室计算只能作为参考。真正可靠的续航评估,必须结合实际场景进行功耗测试和长期运行验证。
低功耗设计看起来是参数问题,实际上很多问题都出在工程细节上。
第一个常见问题是 MCU 已经进入休眠,但外围器件仍然在工作。比如 LED 仍然亮着,传感器没有断电,串口芯片还在供电,某些外设保持高电平输出。这些细节都会让设备待机功耗降不下来。
第二个问题是通信频率设置过高。一分钟上传一次和十分钟上传一次,在业务上可能差别不大,但对电池寿命的影响可能是数倍。对于低频环境数据,应根据实际变化速度设置合理上传周期。
第三个问题是调试接口没有关闭。很多开发板在调试阶段会开启 SWD、JTAG 等接口,如果量产固件中仍然保持这些接口状态,可能导致待机功耗明显增加。
第四个问题是睡眠模式选择错误。Sleep、Stop、Standby、Shutdown 看起来都是低功耗模式,但功耗差异可能达到几十倍。选择哪一种模式,要结合唤醒速度、外设保持、数据保存和业务响应要求来决定。
第五个问题是电源芯片选型不合理。很多时候,高效率 MCU 并不能弥补高静态电流电源芯片带来的损耗。在长期休眠场景下,低静态电流电源芯片非常重要。
第六个问题是没有进行真实功耗测试。只看 Datasheet 很容易误判。设备必须在真实运行状态下,分别测试睡眠、唤醒、采样、通信、上传等阶段的电流变化,才能找到真正耗电的位置。没有测试数据的低功耗设计,本质上只是猜测。
为什么更换低功耗 MCU 后,续航没有明显提升?
因为 MCU 往往不是整机最大耗电来源。通信模块、传感器、电源管理和外围电路,通常占据更高比例。如果这些环节没有优化,只更换 MCU 很难带来明显改善。
WiFi 为什么通常比 LoRa 更耗电?
WiFi 需要连接 AP、完成认证、保持网络连接,并进行较复杂的数据交互。LoRa 通常采用短时间发送、长时间休眠的方式,因此更适合低频、小数据量、远距离传输场景。
设备是否应该一直保持在线?
对于环境监测这类低频采集场景,通常不建议设备一直在线。更合理的方式是让设备大部分时间休眠,按设定周期唤醒、采样和上传数据。
为什么理论续航和实际续航差距很大?
理论计算通常基于理想环境,而真实项目中会受到温度、电池老化、网络信号、重传次数、数据上传频率和设备漏电等因素影响。因此,理论续航只能作为初步参考。
电池容量越大,续航一定越长吗?
不一定。如果设备存在较大的待机漏电,或者通信频率过高,单纯增加电池容量只能延长一部分时间,并不能从根本上解决功耗问题。真正有效的做法,是先降低平均电流,再考虑电池容量。
物联网低功耗设计,不是简单选择一颗低功耗芯片,也不是把某一个器件的功耗做到最低。它涉及硬件选型、电源管理、传感器配置、通信方式、固件策略、数据上传周期和真实功耗测试等多个环节。在实际开发中,应该先分析整机功耗构成,再判断主要耗电来源。对于低频采集设备来说,通信次数、传感器工作时间、休眠策略和外围漏电,往往比 MCU 主频更值得关注。真正优秀的低功耗方案,是在满足业务需求的前提下,让系统在能耗、性能、可靠性和维护成本之间取得平衡。只有建立全链路的低功耗设计思维,才能开发出适合长期部署、低维护成本、稳定运行的物联网设备。
底层技术深度专栏
更多分类 >>
30 秒看懂
| 如果你想了解…… | 本文对应章节 |
|---|---|
| 为什么低功耗设计不能只看 MCU? | 第一章 |
| 哪些硬件最耗电? | 第二章 |
| 如何通过固件降低功耗? | 第四章 |
| 通信方式对续航有什么影响? | 第五章 |
| 企业开发最容易踩哪些坑? | 第七章 |
一句话结论:低功耗设计不是某一个器件的优化,而是从硬件、电源、通信到软件策略的系统工程。
在物联网项目中,设备能不能长期稳定运行,很多时候比功能本身更关键。尤其是在农业监测、冷链物流、智慧城市、水文监测、环境监测等场景中,大量设备需要部署在户外、仓库、车辆、农田或者偏远区域。如果设备频繁更换电池,不仅会增加运维成本,也可能影响数据连续性,甚至导致监测系统失效。
很多人在谈低功耗设计时,第一反应是选择一颗低功耗 MCU。但在真实项目中,设备续航并不是由某一个芯片决定的。MCU、传感器、无线通信模块、电源管理、固件逻辑、数据上传周期,都会影响最终功耗。换句话说,低功耗设计不是单点优化,而是一套从硬件到软件、从采集到传输、从休眠到唤醒的系统工程。任何一个环节设计不合理,都可能让原本可以运行数年的设备,只能维持几个月。
本文将围绕物联网设备低功耗设计的关键环节,梳理从芯片选型、传感器配置、电源管理,到固件优化、通信策略和电池寿命估算的完整思路,帮助开发者建立更清晰的低功耗设计方法。
物联网设备的部署场景越来越复杂。很多设备并不是安装在办公室或机房,而是被放置在农业大棚、果园、森林、水文站点、冷链运输车辆、城市井盖、电力巡检点、环境监测站等位置。
这些场景有几个共同特点:设备数量多、安装位置分散、供电条件有限,后期维护也不方便。很多项目希望设备一次安装后,可以连续运行数月甚至数年。
以农业监测为例,如果一个基地部署了 500 个无线传感器,而每个设备都需要半年更换一次电池,那么仅人工巡检、拆装和更换电池的成本,就会成为一笔长期负担。更不用说部分设备可能安装在高处、远郊、野外或不便进入的区域,维护难度会进一步增加。
因此,低功耗设计并不只是提升产品体验,它直接关系到整个项目的运营成本。对于企业级物联网项目来说,设备本身的采购成本只是一次性投入,后期维护、电池更换、故障排查和人工巡检,才是长期成本的重要组成部分。一套优秀的低功耗设计,可以减少人工维护频次,提升设备在线率,也能让整个系统更适合长期、分散和规模化部署。
很多开发者会把 MCU 当作主要耗电源,但在实际项目中,整机功耗往往并不完全取决于 MCU。
一台典型的物联网设备,耗电来源通常包括 MCU、无线通信模块、传感器、存储器、LED 指示灯、DC-DC 或 LDO 电源模块,以及各种外围电路。在多数低频采集场景下,MCU 进入深度休眠后,功耗可以做到非常低。真正拉高整机平均功耗的,往往是无线通信模块、传感器和外围电路。
尤其是无线通信模块,它通常是整机中功耗最高的部分。设备每一次联网、认证、上传、重传和断开连接,都会消耗明显电量。如果通信策略设计不合理,即使 MCU 本身非常省电,最终续航也不会理想。
传感器也是容易被忽视的耗电来源。普通温湿度传感器功耗较低,但 CO₂、气体、粉尘、红外、加热型传感器的功耗可能明显更高。如果这些传感器长时间保持工作状态,就会对电池寿命产生很大影响。
所以,在做低功耗设计时,不能只盯着芯片参数,而要先分析整机功耗构成。先找出真正耗电的环节,再决定优化重点,才是更合理的工程方法。
硬件设计决定了设备功耗的下限。如果硬件选型和电路设计本身存在问题,后期再靠固件优化,效果也会非常有限。
低功耗 MCU 是物联网设备常用的核心器件。目前常见的低功耗 MCU 包括 STM32L 系列、Silicon Labs EFM32 系列、Nordic nRF52 系列、TI MSP430 系列等。
在选型时,不建议只比较主频、外设数量或价格。对于低功耗设备来说,更应该重点关注几个指标:睡眠电流、唤醒时间、RTC 功耗、GPIO 状态保持能力,以及不同低功耗模式之间的切换成本。
有些 MCU 运行时功耗不算最低,但休眠电流很低、唤醒速度快,反而更适合低频采集设备。相反,如果某个芯片运行性能很强,但休眠电流偏高,或者唤醒后初始化时间过长,就未必适合电池供电场景。
传感器功耗差异很大,不能简单地认为“传感器都差不多”。
例如,温湿度传感器通常功耗较低,适合周期性采样。但 CO₂ 传感器由于内部红外光源工作,功耗通常明显高于普通温湿度传感器。一些高精度气体传感器还需要持续加热,其耗电量可能是温湿度传感器的数十倍。
因此,传感器选型要结合实际监测需求。并不是所有数据都需要高频采集,也不是所有传感器都需要持续工作。
如果温湿度变化本身比较缓慢,设备可以每隔几分钟甚至几十分钟采集一次;如果气体传感器功耗较高,也可以根据报警阈值、场景风险和业务要求,合理设置预热、采样和休眠策略。低功耗设计的关键,不是把所有传感器都换成最低功耗型号,而是让每个传感器只在真正需要工作时工作。
很多项目会花大量时间比较 MCU,却忽略了电源模块。实际上,在微安级待机场景下,电源设计的重要性甚至可能高于 MCU 本身。
DC-DC 转换效率、LDO 静态电流、电池自放电、外围器件漏电,都会影响最终续航。例如,有些 LDO 在工作时效率还可以,但静态电流较高。设备进入休眠后,MCU 的电流已经很低,但 LDO 仍然持续消耗电量,结果整机待机功耗始终降不下来。
再比如,一些外围器件在 MCU 休眠后仍然被供电,LED、串口芯片、传感器模块、上拉电阻等都会产生额外耗电。单个器件看起来电流不大,但在长期休眠场景下,这些细小电流会持续消耗电池。
所以,低功耗硬件设计不仅要选低功耗器件,还要检查每个电源域、每条供电路径和每个外围模块是否可以被关闭或隔离。
硬件决定了功耗下限,但固件决定设备最终能跑多久。同样的硬件平台,如果固件策略不同,续航可能相差数倍。很多设备硬件参数看起来不错,但由于程序一直运行、频繁联网、不断轮询传感器,最终功耗依然很高。
低功耗固件设计的基本原则很简单:能休眠,就不要运行。设备在不采集、不计算、不通信的时候,应尽量进入 Sleep、Stop、Standby、Shutdown 等低功耗模式。不同模式的功耗和唤醒速度不同,开发者需要根据业务需求选择合适的状态。例如,设备如果需要频繁唤醒,可以选择唤醒速度较快的低功耗模式;如果设备长时间不需要工作,可以进入更深层的休眠状态,以换取更低功耗。
真正的问题不是设备有没有低功耗模式,而是程序是否真的让设备进入了低功耗状态。很多项目在调试阶段可以进入休眠,但实际运行时因为某个任务、定时器、中断或外设没有关闭,导致 MCU 始终无法真正睡下去。
很多环境监测项目并不需要持续采样。以温湿度监测为例,设备可以先进入休眠状态,等待 RTC 定时唤醒。唤醒后完成传感器采样、数据处理和数据上传,然后再次进入休眠。整个工作过程可能只持续几百毫秒到几秒,其余时间都处于低功耗状态。
这种“休眠—唤醒—采样—上传—再次休眠”的工作模式,是大量低功耗物联网设备的核心策略。如果设备每小时只需要上传一次数据,那么它没有必要在两个上传周期之间保持运行。把大部分时间留给休眠,才能显著降低平均电流。
很多初期代码喜欢使用轮询方式,比如在主循环里不停检测按键、传感器状态或通信状态。这样写起来简单,但 CPU 会长期保持运行状态,功耗自然降不下来。
更合理的方式是使用 GPIO 中断、RTC 中断、DMA、事件驱动等机制。设备平时保持低功耗状态,只有当外部事件发生、定时器到达或数据准备完成时,再唤醒 CPU 处理任务。这种设计不仅省电,也能让程序结构更清晰。CPU 不需要一直等待,而是在真正有事情发生时才工作。
Flash 擦写不仅会影响存储寿命,也会增加功耗。对于需要本地缓存数据的设备,如果每采集一条数据就立即写入 Flash,会带来较高的擦写频率。
更好的做法是先在 RAM 或缓存区中暂存数据,达到一定数量后再统一写入。这样可以减少 Flash 操作次数,降低功耗,也能延长存储器寿命。当然,这种策略也需要考虑断电丢失风险。对于关键数据,可以在缓存周期、写入频率和数据安全之间做平衡。
很多设备不是死在 MCU,而是死在无线。例如:WiFi→连接 AP→认证→DHCP→上传→断开
整个过程耗电很高。相比之下:LoRa、NB-IoT、BLE更适合低频数据采集。下面是几种常见通信方式的特点:
| 通信方式 | 功耗特点 | 适合场景 |
|---|---|---|
| BLE | 极低 | 可穿戴设备、近距离通信 |
| LoRa | 极低 | 农业、环境监测 |
| NB-IoT | 较低 | 表计、远程监测 |
| WiFi | 较高 | 室内设备、持续联网 |
| 4G | 高 | 视频、实时在线设备 |
很多设备并不是被 MCU 耗光电,而是被无线通信耗光电。
以 WiFi 为例,设备从休眠中唤醒后,需要连接 AP、完成认证、获取 IP、建立连接、上传数据,再断开网络。整个过程的瞬时电流和持续时间都不低。如果上传过于频繁,电池很快就会被消耗。
相比之下,LoRa、NB-IoT、BLE 等通信方式更适合低频、小数据量场景。它们不一定适合所有应用,但在农业监测、环境监测、表计、近距离设备通信等场景中,往往可以获得更好的续航表现。
不同通信方式有不同特点。BLE 功耗极低,适合可穿戴设备和近距离通信;LoRa 功耗低、传输距离远,适合农业和环境监测;NB-IoT 适合远程监测和表计类设备;WiFi 更适合有稳定网络和较高数据量的室内设备;4G 功耗较高,更适合视频、实时在线设备或移动场景。
通信优化不只是选择通信技术,还包括上传周期、数据包大小、心跳频率、重传策略和连接保持时间。
例如,温湿度变化通常比较缓慢,如果设备每秒上传一次数据,绝大多数数据并不会带来额外价值,反而会明显增加功耗。把上传周期从 1 分钟延长到 10 分钟,往往比更换一颗低功耗 MCU 更有效。
因此,在低功耗设计中,应优先减少通信次数,再考虑提高通信速度。通信越频繁,设备越难省电。
很多开发者都会问:一节电池到底能用多久?
这个问题不能只看电池容量,也不能只看设备峰值电流。更合理的方法,是计算设备的平均电流。
例如,某设备休眠电流为 10μA,工作电流为 20mA,每小时上传一次数据,每次工作 5 秒。那么它在一个小时内,大部分时间处于休眠状态,只有 5 秒处于工作状态。
可以用下面的方式估算平均电流:
平均电流 ≈(休眠电流 × 3595 秒 + 工作电流 × 5 秒)÷ 3600 秒
得到平均电流后,再结合电池容量,就可以估算理论续航时间。
但需要注意的是,这只是理论值。实际项目中的电池寿命还会受到温度、电池老化、自放电、通信环境、唤醒次数、重传次数等因素影响。
比如在低温环境下,电池容量可能明显下降;在信号较差的区域,设备可能需要多次重传,通信时间变长;电池存放时间过长,也会产生自放电损耗。
因此,实验室计算只能作为参考。真正可靠的续航评估,必须结合实际场景进行功耗测试和长期运行验证。
低功耗设计看起来是参数问题,实际上很多问题都出在工程细节上。
第一个常见问题是 MCU 已经进入休眠,但外围器件仍然在工作。比如 LED 仍然亮着,传感器没有断电,串口芯片还在供电,某些外设保持高电平输出。这些细节都会让设备待机功耗降不下来。
第二个问题是通信频率设置过高。一分钟上传一次和十分钟上传一次,在业务上可能差别不大,但对电池寿命的影响可能是数倍。对于低频环境数据,应根据实际变化速度设置合理上传周期。
第三个问题是调试接口没有关闭。很多开发板在调试阶段会开启 SWD、JTAG 等接口,如果量产固件中仍然保持这些接口状态,可能导致待机功耗明显增加。
第四个问题是睡眠模式选择错误。Sleep、Stop、Standby、Shutdown 看起来都是低功耗模式,但功耗差异可能达到几十倍。选择哪一种模式,要结合唤醒速度、外设保持、数据保存和业务响应要求来决定。
第五个问题是电源芯片选型不合理。很多时候,高效率 MCU 并不能弥补高静态电流电源芯片带来的损耗。在长期休眠场景下,低静态电流电源芯片非常重要。
第六个问题是没有进行真实功耗测试。只看 Datasheet 很容易误判。设备必须在真实运行状态下,分别测试睡眠、唤醒、采样、通信、上传等阶段的电流变化,才能找到真正耗电的位置。没有测试数据的低功耗设计,本质上只是猜测。
为什么更换低功耗 MCU 后,续航没有明显提升?
因为 MCU 往往不是整机最大耗电来源。通信模块、传感器、电源管理和外围电路,通常占据更高比例。如果这些环节没有优化,只更换 MCU 很难带来明显改善。
WiFi 为什么通常比 LoRa 更耗电?
WiFi 需要连接 AP、完成认证、保持网络连接,并进行较复杂的数据交互。LoRa 通常采用短时间发送、长时间休眠的方式,因此更适合低频、小数据量、远距离传输场景。
设备是否应该一直保持在线?
对于环境监测这类低频采集场景,通常不建议设备一直在线。更合理的方式是让设备大部分时间休眠,按设定周期唤醒、采样和上传数据。
为什么理论续航和实际续航差距很大?
理论计算通常基于理想环境,而真实项目中会受到温度、电池老化、网络信号、重传次数、数据上传频率和设备漏电等因素影响。因此,理论续航只能作为初步参考。
电池容量越大,续航一定越长吗?
不一定。如果设备存在较大的待机漏电,或者通信频率过高,单纯增加电池容量只能延长一部分时间,并不能从根本上解决功耗问题。真正有效的做法,是先降低平均电流,再考虑电池容量。
物联网低功耗设计,不是简单选择一颗低功耗芯片,也不是把某一个器件的功耗做到最低。它涉及硬件选型、电源管理、传感器配置、通信方式、固件策略、数据上传周期和真实功耗测试等多个环节。在实际开发中,应该先分析整机功耗构成,再判断主要耗电来源。对于低频采集设备来说,通信次数、传感器工作时间、休眠策略和外围漏电,往往比 MCU 主频更值得关注。真正优秀的低功耗方案,是在满足业务需求的前提下,让系统在能耗、性能、可靠性和维护成本之间取得平衡。只有建立全链路的低功耗设计思维,才能开发出适合长期部署、低维护成本、稳定运行的物联网设备。
