低功耗设计把我逼疯了——从10mA到10μA的折腾之路
有一个项目客户要求电池撑一年接到需求的时候我差点笑了。一个温度采集节点四节五号电池要跑一年。我说行吧STM32L0系列待机也就1μA出头传感器挑个低功耗的一年不是随便跑么。然后被打脸了。第一版打样回来实测整机功耗——2.3mA。对你没看错是毫安不是微安。查了一下午发现几个问题板子上的LDO静态电流就 5μA但后级挂着个电平转换芯片待机消耗 30μA传感器电源没做独立开关就算进入shutdown漏电流也有几个μA最要命的——GPIO浮空三个没用的IO没配置stm32l0的浮空IO在待机模式下会有额外的漏电路径这些都是些不起眼的小地方凑一起就是灾难。逐个排查的骚操作先说GPIO。很多人写完代码就把没用到的IO扔一边sleep之前记得配置一下void enter_stop_mode(void) { // 所有不用的GPIO拉低别浮空 for (int i 0; i 16; i) { HAL_GPIO_WritePin(GPIOA, (1 i), GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOB, (1 i), GPIO_PIN_RESET); } HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); }这玩意儿坑就坑在——你以为CubeMX帮你配好了实际上它只配了你勾选的那些。我板子上有几路没用的GPIOCubeMX里压根没管结果全浮空。改完这一条直接从2.3mA掉到了1.4mA。然后是传感器电源。SHT30这种温湿度传感器就算进sleep也有几个μA的漏电流。最好的办法是加个P-MOSFET做电源开关void sensor_power_control(uint8_t on) { HAL_GPIO_WritePin(SENSOR_PWR_GPIO_Port, SENSOR_PWR_Pin, on ? GPIO_PIN_RESET : GPIO_PIN_SET); }高电平关断低电平导通。P沟道MOS管嘛源极接VCC漏极接传感器VDD栅极拉低就导通。这个做法的代价是PCB上多一个电阻和一个MOS管但换来的是待机时传感器那路完全断电零电流。改完这个整机待机降到了 80μA。最大的坑——ADC输入阻抗客户要求每五分钟采一次电池电压。最简单的方案电阻分压ADC。我之前也以为这就完事了结果发现STM32L0的ADC输入阻抗有限制分压电阻一大了采样值就飘得离谱。datasheet上写着建议输入阻抗 ≤ 10kΩ。我一开始用了 100k100k 的分压想着省电嘛——分压电阻本身的漏电流是 VCC / (R1R2) 3V/200k 15μA。不算大但加上ADC采样时的建立时间问题读数偏了 12%。后来换成了 10k10k采样准了但分压电流涨到了 150μA待机时又没法关断因为要监测电池电压。折中的办法是用一个NMOS把分压电阻的底端接到GND采样时打开采样完关掉void sample_battery(void) { HAL_GPIO_WritePin(BAT_SENSE_EN_GPIO_Port, BAT_SENSE_EN_Pin, GPIO_PIN_SET); HAL_Delay(1); // 等分压稳定 ADC_Value get_adc(); HAL_GPIO_WritePin(BAT_SENSE_EN_GPIO_Port, BAT_SENSE_EN_Pin, GPIO_PIN_RESET); }采样只花 2ms按五分钟一次算平均电流微乎其微。折腾了两个星期从 2.3mA 砍到了 8.5μA。四节南孚大概 2400mAh理论待机 2400 / 0.0085 ≈ 282352 小时 ≈ 32 年——当然这是纯理论电池自放电都不止这个数。实际跑下来一年是稳的。说实话低功耗设计没什么高深的算法也没啥炫酷的代码。就是排查——哪个器件在睡觉的时候还在偷电哪个路径没断开哪个电阻选大了选小了。一个一个剪掉最后剩下的就是能接受的功耗。哦对了还有件事——我最后发现LDO的使能引脚没接靠内部上拉保持开启但那个上拉电阻本身就消耗电流。换成直接下拉到EN有效电平又省了几μA。别问我怎么知道的问就是吃过亏。

相关新闻

ROS 2 Dashing深度解析:嵌入式实时视觉系统的通信与调度基石

ROS 2 Dashing深度解析:嵌入式实时视觉系统的通信与调度基石

1. 项目概述:这不是一个“闪亮的头冠”,而是一套面向嵌入式视觉系统的轻量级实时数据分发框架“Dashing Diademata”——光看这个名字,你大概率会以为这是某个复古游戏MOD、小众手工艺品牌,或者某位独立音乐人的新专辑。但实际在R…

2026/7/13 8:40:55阅读更多 →
构建可解释、可干预的AI辅助交易工作流

构建可解释、可干预的AI辅助交易工作流

1. 项目概述:当“AI交易”从标题党变成案头工具 你肯定刷到过这类标题:“AI日内交易员24小时狂赚37%”、“零基础用ChatGPT自动盯盘,年化58%稳如老狗”。朋友圈、知识付费平台、甚至券商APP弹窗里,AI交易像一剂强心针,…

2026/7/13 8:40:55阅读更多 →
C++条件变量std::condition_variable的5大陷阱与最佳实践

C++条件变量std::condition_variable的5大陷阱与最佳实践

1. 项目概述:为什么我们需要深入理解std::condition_variable?在C多线程编程的世界里,std::condition_variable(条件变量)绝对是一个让人又爱又恨的家伙。爱它,是因为它提供了线程间高效、灵活的等待-通知机…

2026/7/13 8:40:55阅读更多 →
Fluent电化学模块实战:电解制氢仿真设置与优化指南

Fluent电化学模块实战:电解制氢仿真设置与优化指南

昨天下午,一位做电解制氢设备研发的朋友发来消息,说他们在用 Fluent 的电化学模块做电解槽流场仿真时,遇到了一个让人头疼的问题:模型能跑通,但电流密度分布和实验数据对不上,调整了几个参数反而越跑越偏。…

2026/7/13 12:02:07阅读更多 →
R与RStudio安装配置全攻略:从零到一,新手避坑指南

R与RStudio安装配置全攻略:从零到一,新手避坑指南

1. R语言与RStudio简介:为什么选择这对黄金组合? 刚接触数据分析的朋友可能会疑惑:为什么大家都在推荐R语言和RStudio?简单来说,R就像一台高性能发动机,而RStudio是为这台发动机量身打造的智能驾驶舱。我刚…

2026/7/13 12:02:07阅读更多 →
智能体协作系统:提升开发效率的AI工程实践

智能体协作系统:提升开发效率的AI工程实践

1. 智能体工程的核心价值与现状在当今快速发展的AI领域,智能体工程已经成为开发者提升效率的关键技术。不同于传统的单点AI工具,智能体协作系统通过多个专业化AI代理的协同工作,能够处理更复杂的开发任务。我使用Claude和Codex CLI组合已有半…

2026/7/13 12:02:07阅读更多 →
MP2672A充电器IC与MKV44F128VLH16 MCU的电池管理系统设计

MP2672A充电器IC与MKV44F128VLH16 MCU的电池管理系统设计

1. MP2672A充电器IC的核心特性解析MP2672A是一款专为双节锂离子串联电池设计的开关电池充电器IC,采用QFN-18(2mmx3mm)紧凑封装。这款芯片的输入电压范围为4V至5.75V,具有14V的绝对最大电压(AMV)容限,支持高达2A的可配置…

2026/7/13 12:02:07阅读更多 →
从单帧到全景:无人机航拍图像拼接与目标识别的协同优化

从单帧到全景:无人机航拍图像拼接与目标识别的协同优化

1. 无人机航拍图像处理的挑战与机遇无人机航拍技术正在彻底改变我们对地理信息的获取方式。相比传统的人工巡查或卫星遥感,无人机能够以更低的成本、更高的灵活性获取高分辨率地表图像。但在实际应用中,单张航拍图像的信息量非常有限——就像通过钥匙孔看…

2026/7/13 12:02:07阅读更多 →
B站评论区成分检测器终极指南:3秒读懂评论者真实身份的技术解析

B站评论区成分检测器终极指南:3秒读懂评论者真实身份的技术解析

B站评论区成分检测器终极指南:3秒读懂评论者真实身份的技术解析 【免费下载链接】bilibili-comment-checker B站评论区自动标注成分,支持动态和关注识别以及手动输入 UID 识别 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-comment-checker…

2026/7/13 11:57:07阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/13 4:47:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/13 0:50:34阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/13 4:52:09阅读更多 →
卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…

2026/7/13 0:04:58阅读更多 →
语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text …

2026/7/13 0:04:58阅读更多 →
Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 你是否曾经想要调整Palwor…

2026/7/13 0:04:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/13 4:21:17阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/13 4:08:53阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/12 21:43:43阅读更多 →