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。
时序控制怎么做?
- 用电源监控芯片:比如TPS3808,监测主电源,等它稳定后再使能下一级。
- 用MCU的GPIO控制:MCU先上电,初始化完成后,再通过GPIO控制负载开关或使能脚,打开后续电源。
- 用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选对,时序控制好,负载开关用到位,电池电压测准了,整个系统的功耗就能降下来一大截。
下一章咱们聊聊电机驱动的低功耗设计,那又是另一番天地了。