3. 传感器与执行器:振动电机功耗模型、加热片功耗计算、心率/血氧传感器功耗

好,咱们进入第三章。这一章聊的是按摩仪里真正干活的家伙——传感器和执行器。说白了,就是那些让用户感觉到“爽”的部件,以及那些监测用户身体数据的部件。功耗大头基本都在这了。

我做过好几个按摩仪项目,踩过不少坑。最惨的一次,电池选小了,振动电机一开,系统直接掉电重启。嗯,从那以后,我对执行器的功耗模型就特别较真。

3.1 振动电机功耗模型

振动电机是按摩仪的灵魂。没有它,按摩仪就是个塑料块。但它的功耗,也是整机里最猛的。

常见的振动电机有两种:偏心转子电机线性马达。咱们一个一个说。

3.1.1 偏心转子电机

这种电机结构简单,成本低。一个直流电机,轴上套个偏心块。一转起来,就晃悠。功耗模型其实挺直接的:

P_motor = V * I * η

其中:

  • V:电机两端电压(V)
  • I:电机工作电流(A)
  • η:驱动效率(通常0.7~0.85)

但这里有个坑。电机启动瞬间的电流,可能是稳态电流的3~5倍。我见过有人直接按稳态电流算功耗,结果电池容量严重不足。启动那一下,直接把电池电压拉垮了。

⚠️ 避坑指南: 我曾经在选型时忽略了启动浪涌电流。后来实测发现,3.7V供电下,电机启动电流飙到了1.2A,而电池保护板只有1A的过流阈值。结果就是——电机一启动,系统就断电。后来我加了软启动电路,才解决。

我个人习惯,在计算平均功耗时,会这样处理:

P_avg = (P_start * t_start + P_run * t_run) / (t_start + t_run)

如果电机是间歇工作的(比如转2秒停1秒),那平均功耗还要考虑占空比。

3.1.2 线性马达

线性马达是高端按摩仪的选择。它直接产生直线振动,效率更高,噪音更小。但功耗模型稍微复杂一点。

线性马达本质上是一个音圈电机。它的功耗主要来自线圈的铜损:

P_coil = I² * R_coil

其中R_coil是线圈直流电阻。这个值一般不大,几欧姆到十几欧姆。但电流大了,发热也厉害。

我记得有一次,为了追求更强的振感,我把驱动电流调大了。结果线圈温度升到了80多度,差点把外壳烫变形。从那以后,我每次都会算一下热功率:

P_heat = I² * R_coil * t_on / (t_on + t_off)

这个值不能超过电机的热额定值,否则会烧线圈。

💡 小技巧: 线性马达的驱动波形很重要。方波驱动效率低,正弦波驱动效率高。我建议用正弦波,功耗能降低15%~20%。

3.2 加热片功耗计算

加热功能是按摩仪的加分项。冬天用起来特别舒服。但加热片的功耗,算起来其实很简单,就是焦耳定律。

3.2.1 基本公式

P_heat = V² / R

或者:

P_heat = I² * R

加热片一般是电阻丝或者PTC陶瓷。电阻值会随温度变化。这一点很多人忽略。

举个例子:一个标称10Ω的加热片,在25℃时是10Ω。但加热到60℃时,电阻可能变成11.5Ω(正温度系数)。这时候功率就不是V²/10了,而是V²/11.5。功率会下降。

我做过一个项目,加热片功率设计的是5W。结果实际测试只有4.2W。查了半天,发现是电阻随温度升高了。后来我按工作温度下的电阻值重新算,才准了。

3.2.2 温控策略与功耗

加热片通常不是一直开着的。温控策略直接影响平均功耗。

常见的策略有两种:

  1. 开关控制(Bang-Bang):温度低于下限就开,高于上限就关。简单粗暴,但温度波动大。
  2. PID控制:连续调节功率,温度更平稳。但需要MCU参与,功耗略高。

平均功耗的计算:

P_avg = P_heat * Duty_cycle

比如加热片全功率5W,温控占空比是40%,那平均功耗就是2W。

🔑 关键点: 加热片的效率几乎100%(电能全转成热能)。所以它的功耗就是发热量。你不需要考虑什么效率系数。

3.2.3 实际案例

我做过一个颈部按摩仪,加热片面积约20cm²,目标温度45℃。环境温度25℃。我选了12Ω的PTC加热片,3.7V供电。

计算过程:

P = V² / R = 3.7² / 12 ≈ 1.14W

温控策略是Bang-Bang,占空比约50%。平均功耗:

P_avg = 1.14 * 0.5 = 0.57W

这个功耗对于1000mAh的电池来说,可以连续加热约6.5小时。实际使用中,用户不会一直开着加热,所以续航是够的。

3.3 心率/血氧传感器功耗

心率血氧传感器,现在几乎是健康类产品的标配。但它的功耗,很多人算不明白。

常见的方案是光电体积描记法(PPG)。原理很简单:LED发光,光电二极管接收反射光。血液流动会影响反射光强度,从而算出心率和血氧。

3.3.1 功耗组成

PPG传感器的功耗主要来自三部分:

  • LED驱动功耗:这是大头。绿光LED用于心率,红光和红外LED用于血氧。
  • 光电二极管及模拟前端功耗:接收信号、放大、滤波。
  • ADC及数字处理功耗:模数转换和算法运算。

其中,LED驱动功耗占了70%~80%。

3.3.2 LED功耗计算

P_LED = V_LED * I_LED * Duty_LED

举个例子:

  • 绿光LED正向电压:2.2V
  • 驱动电流:10mA
  • 占空比:5%(因为PPG是脉冲采样,不是一直亮)
P_LED = 2.2 * 0.01 * 0.05 = 1.1mW

看起来很小对吧?但别忘了,血氧传感器需要红光和红外两个LED轮流亮。总功耗要翻倍。

而且,如果采样率很高(比如100Hz),占空比会变大。功耗也跟着涨。

⚠️ 注意: 我曾经在项目中用了高亮度的LED,驱动电流设到了20mA。结果传感器功耗占了整机功耗的30%。后来我把电流降到5mA,配合更好的光学结构,信号质量没下降,功耗却降了75%。

3.3.3 模拟前端功耗

模拟前端(AFE)芯片的功耗,通常数据手册会给出。比如常见的AFE4404,典型功耗是:

工作模式 功耗
连续采样 约1.5mW
待机 约0.1mW
关断 约0.001mW

我建议,在不测量的时候,把AFE切换到待机模式。可以省不少电。

3.3.4 整体功耗估算

以一个典型的心率血氧传感器为例:

总功耗 = LED功耗 + AFE功耗 + MCU处理功耗

LED功耗:2.2V * 10mA * 5% * 2(两个LED)= 2.2mW
AFE功耗:1.5mW
MCU处理功耗:0.5mW(简单算法)

总功耗 ≈ 4.2mW

如果电池是500mAh,3.7V,那传感器可以连续工作:

时间 = 500mAh * 3.7V / 4.2mW ≈ 440小时

当然,这是理想情况。实际还要考虑电池自放电、效率损失等。但至少说明,PPG传感器的功耗并不高。

💡 经验之谈: 我习惯在PCB上预留一个0欧电阻,用来断开LED供电。调试时可以先不开LED,只测AFE的功耗。这样能快速定位功耗异常是LED还是AFE引起的。

3.4 本章小结

这一章咱们聊了三个核心器件的功耗模型:

  • 振动电机:注意启动浪涌和热功率。线性马达用正弦波驱动更省电。
  • 加热片:电阻随温度变化,要按工作温度算。温控策略决定平均功耗。
  • 心率血氧传感器:LED是功耗大头。降低驱动电流和占空比,能显著省电。

下一章,咱们会聊电源管理芯片的选择。那也是个容易踩坑的地方。到时候见。