1、电源管理概述:嵌入式药盒的功耗来源分析、电池选型原则、续航目标设定

大家好,我是你们的硬件讲师。今天咱们聊聊嵌入式药盒的电源管理。说实话,电源这块儿,我踩过的坑比你们想象的多得多。药盒这东西,看着简单,但电源搞不好,病人可能就漏服一次药,后果很严重。

嵌入式药盒的电源管理,说白了就是三件事:搞清楚电都去哪儿了、选对电池、定好能用多久。咱们一个一个来拆解。

1.1 功耗来源分析:电都去哪儿了?

我习惯把药盒的功耗分成三块:核心功耗、外设功耗、待机漏电。你想想看,一个药盒里都有啥?主控芯片、显示屏、蜂鸣器、蓝牙模块、电机(如果是自动出药),还有各种传感器。

核心功耗占比(我实测过的典型数据):

  • 主控MCU(如STM32L0系列):休眠时约1.5μA,工作时约5mA
  • OLED显示屏(128x64):点亮时约15mA,关闭时0μA
  • 蓝牙BLE模块(如nRF52832):广播时约5mA,连接时约8mA,休眠时约1μA
  • 蜂鸣器:响铃时约30mA(这个很耗电)
  • 电机(步进电机):动作时约100-200mA(瞬间峰值)

我在项目中遇到过最头疼的问题是什么?是待机漏电。有一次,客户反馈药盒放两天就没电了。我查了半天,发现是电源路径上的一颗LDO(低压差线性稳压器)在关断状态下还有20μA的静态电流。20μA看着不大,但乘以24小时再乘以30天,你算算?

避坑指南:我曾经因为没注意LDO的静态电流,导致产品待机功耗超标3倍。选型时一定要看数据手册里的"Iq"(静态电流)参数,别只看最大输出电流。

功耗分析有个实用方法:用万用表串在电池正极,测不同工作模式下的电流。我一般会测这几个状态:

  • 深度休眠(RTC运行):目标 < 5μA
  • 待机(蓝牙广播):目标 < 50μA
  • 显示界面(无操作):目标 < 20mA
  • 响铃+震动:目标 < 100mA(持续不超过5秒)
  • 电机出药:目标 < 300mA(持续不超过2秒)

1.2 电池选型原则:锂离子、锂聚合物还是干电池?

这个问题,我每次给客户做方案时都会被问到。我的回答是:看使用场景和成本。咱们对比一下:

电池类型 能量密度 自放电率 循环寿命 成本 适用场景
锂离子(18650) 高(~250Wh/kg) 低(~5%/月) 300-500次 中等 大容量、可充电药盒
锂聚合物(软包) 高(~200Wh/kg) 低(~3%/月) 300-500次 较高 薄型、异形药盒
干电池(AA/AAA) 低(~100Wh/kg) 极低(~1%/年) 一次性 低成本、长存储药盒

我个人习惯是:如果药盒需要频繁使用(每天多次),优先选锂聚合物。为什么?因为可以做成扁平形状,塞进药盒里不占地方。而且充电方便,用户不用老换电池。

但如果是给老人用的、操作简单的药盒,我建议用干电池。你想想看,老人记性不好,让他给药盒充电?不现实。干电池放进去能用半年,没电了换两节就行,多省心。

小技巧:选锂聚合物电池时,一定要看放电倍率(C-rate)。药盒电机启动瞬间电流大,如果电池放电能力不够,电压会被拉低,导致MCU复位。我一般选至少1C放电能力的电池。

1.3 续航目标设定:能用多久才算合格?

这个问题没有标准答案,但我有个经验法则:至少满足一个用药周期。比如病人一周去一次医院开药,那药盒至少能撑一周。但实际设计中,我建议按以下标准来:

  • 基础目标: 30天(一个月不充电/换电池)
  • 良好目标: 90天(一个季度)
  • 优秀目标: 180天(半年)

怎么算续航?很简单:电池容量(mAh)÷ 平均日耗电(mAh/天)。但这里有个坑——平均日耗电怎么算?

我举个例子:假设药盒每天响铃3次(每次5秒),显示界面操作5次(每次30秒),蓝牙广播全天候开启,电机出药3次(每次2秒)。

// 日耗电估算示例
// 待机功耗:20μA × 24h = 0.48mAh
// 显示功耗:15mA × (5次 × 30秒/3600) = 0.625mAh
// 响铃功耗:30mA × (3次 × 5秒/3600) = 0.125mAh
// 电机功耗:200mA × (3次 × 2秒/3600) = 0.333mAh
// 蓝牙功耗:5mA × 24h = 120mAh(这个不对!蓝牙不会一直连)

// 正确算法:蓝牙广播占空比通常5%,实际功耗约5mA × 5% × 24h = 6mAh
// 总日耗电 ≈ 0.48 + 0.625 + 0.125 + 0.333 + 6 = 7.563mAh

// 用1000mAh锂聚合物电池:1000 ÷ 7.563 ≈ 132天

你看,算出来132天,超过半年了。但实际中,电池会老化、温度会影响容量、蓝牙连接时间可能更长。所以我一般会打一个0.7的折扣,也就是132 × 0.7 ≈ 92天,刚好满足良好目标。

注意:电池容量标称值是在0.2C放电、25℃条件下测的。实际使用中,低温(比如冬天放室外)容量会下降20%-30%。我在东北做过一个项目,冬天电池容量直接腰斩,续航从3个月掉到1个半月。所以设计时一定要留余量。

嗯,说到这里,我想强调一点:续航目标不是越高越好。你想想看,为了把续航从3个月做到6个月,你可能要加大电池、牺牲体积,或者降低屏幕亮度、减少功能。用户真的需要半年不充电吗?我见过太多产品为了追求续航,把用户体验做得很差。

我的建议是:先定一个合理的目标,然后通过软件优化来达成。比如动态调整蓝牙广播间隔、根据环境光自动调节屏幕亮度、用RTC定时唤醒而不是轮询。这些优化手段,咱们后面的章节会详细讲。

最后总结一下今天的内容:功耗分析要抓大放小,电池选型要看场景,续航目标要留余量。下一章咱们聊聊电源路径设计,包括如何用MOS管做电源切换、怎么避免电池反接烧板子——这些都是我当年交过的学费。