4、电源管理设计:DC-DC vs LDO的选择,电源轨的时序控制,负载开关的使用,电池电压检测电路

电源管理,说白了就是给窗帘电机“喂饭”。

喂得好,它跑得欢,功耗低。喂不好,要么饿死(掉电),要么撑死(发热)。

我做低功耗设计这些年,踩得最多的坑就在电源上。今天咱们把这几个关键点掰开揉碎了讲。

4.1 DC-DC vs LDO:怎么选?

很多新手上来就问:“DC-DC和LDO哪个好?”

我的回答是:没有绝对的好,只有合不合适。

对比项 DC-DC(降压型) LDO
效率 高(80%~95%) 低(取决于压差)
纹波 较大(需滤波) 很小(适合模拟电路)
静态电流 较高(几十μA~mA级) 可极低(几百nA)
成本 较高(需电感、电容) 较低
适用场景 大电流、大压差 小电流、低压差、噪声敏感

我个人习惯这样选:

  • 电池供电场景:用DC-DC把电池电压(比如12V)降到3.3V给主控。效率高,电池用得久。
  • 射频或模拟部分:比如Wi-Fi模块、电机电流采样,我会在DC-DC后面再加一级LDO。为什么?DC-DC的纹波会干扰射频信号,我吃过这个亏。
  • 待机电路:比如RTC、唤醒检测,用LDO。静态电流能做到1μA以下,DC-DC做不到。

核心原则:大功率路径用DC-DC,小功率且噪声敏感路径用LDO。别为了省一个电感,把整个系统的功耗搞砸了。

4.2 电源轨的时序控制

窗帘电机里通常有多个电源轨:

  • 电机驱动:12V或24V
  • 主控MCU:3.3V
  • 无线模块:1.8V或3.3V
  • 传感器:3.3V或5V

这些电源轨上电的顺序,搞不好会出大问题。

我曾经遇到一个案例:MCU先上电,电机驱动后上电。结果MCU的GPIO在电机驱动还没准备好时,输出了一个高电平,直接灌到驱动芯片的使能脚,导致电机瞬间抖动了一下。嗯,这在产品里就是妥妥的bug。

时序控制怎么做?

  1. 用电源监控芯片:比如TPS3808,监测主电源,等它稳定后再使能下一级。
  2. 用MCU的GPIO控制:MCU先上电,初始化完成后,再通过GPIO控制负载开关或使能脚,打开后续电源。
  3. 用RC延时:简单场景,一个电阻加电容就能搞定。但精度不高,我一般不用。

我的习惯:MCU的电源最先上,最后下。这样MCU始终能监控整个系统的状态,不会出现“大脑还在,四肢先断电”的尴尬。

4.3 负载开关的使用

负载开关,说白了就是一个受控的电源开关。

在窗帘电机里,有些模块不是一直需要供电的。比如:

  • Wi-Fi模块:只在联网时用,平时休眠
  • 电机驱动:只在动作时用,平时断电
  • 传感器:可以间歇工作

把这些模块的电源用负载开关控制,待机时彻底切断,能省下不少静态电流。

选型要点

  • 导通电阻要小(几十mΩ),否则大电流时发热
  • 静态电流要低(nA级),否则开关本身就在耗电
  • 要有输出放电功能,关断后快速把电容上的电放掉,防止模块“假断电”

注意:负载开关的使能脚电平要匹配。有些是低电平使能,有些是高电平使能。我见过有人接反了,模块一直上电,负载开关形同虚设。

4.4 电池电压检测电路

窗帘电机用电池供电时,必须知道电池还剩多少电。

检测方法很简单:用电阻分压,把电池电压降到ADC能采样的范围(比如0~3.3V)。

电路设计

电池正极 —— R1(100kΩ)—— ADC引脚 —— R2(100kΩ)—— GND

分压比 = R2 / (R1 + R2) = 100k / (100k + 100k) = 0.5

如果电池最高12V,ADC引脚最高6V,但MCU的ADC只能到3.3V。所以需要调整分压比。

比如R1=270kΩ,R2=100kΩ,分压比≈0.27。12V电池时,ADC引脚≈3.24V,安全。

避坑指南

  • 电阻值选大一些(100kΩ以上),否则分压电路本身就在耗电。我曾经用10kΩ,结果分压电路吃了0.5mA,电池很快就没了。
  • ADC采样要多次取平均,电池电压有波动,单次采样不准。
  • 电池电压和剩余电量不是线性关系,需要查表或拟合曲线。锂电池的放电曲线比较平缓,铅酸电池则更陡。

我的做法:在分压电路和ADC之间加一个MOS管或负载开关。平时断开,采样时再接通。这样分压电路只在采样瞬间耗电,待机时零功耗。

嗯,电源管理这块,说白了就是“该给的给够,不该给的别给”。

DC-DC和LDO选对,时序控制好,负载开关用到位,电池电压测准了,整个系统的功耗就能降下来一大截。

下一章咱们聊聊电机驱动的低功耗设计,那又是另一番天地了。