【产品开发】空气波按摩器的一些控制逻辑

产品开发:空气波按摩器的一些控制逻辑

随着大健康产业的爆发,空气波按摩器(气压按摩仪) 这类产品的销量也跟着爆发,这不最近刚好接到空气波腿部按摩器的PCBA的软硬件开发项目,在这里记录下一些开发心得


一、 压力校准与 EEPROM 数据防丢设计

不同批次的压力传感器(空气波按摩器通常使用表压型压力传感器,是惠斯通电桥类传感器)在零点偏置和灵敏度上存在硬件差异,因此出厂校准是必不可少的环节。

1. 校准了哪些数据?

出厂校准时主要采集并记录了两个关键的 16 位 ADC 值:

  1. 0 mmHg(零压)下的 ADC 值:作为系统基准零点。
  2. 100 mmHg下 的 ADC 值:用于计算传感器的灵敏度(即每 10mmHg 对应的 ADC 步进值)。

2. 校准数据的EEPROM 存储

为了防止设备在使用过程中因静电或意外操作导致校准数据损坏,底层的 EEPROM 写入采取了 "校验和 + 冗余备份" 的设计:

  • 3字节存储结构 :每个 16 位数据占用 3 个字节 = 低 8 位 + 高 8 位 + 校验和(低8位+高8位)
  • 双重备份机制 :例如 100 mmHg 的校准数据,主数据存放在 0x09~0x0B,备份数据存放在 0x0C~0x0E。系统开机读取时,如果主数据的校验和不匹配,会自动偏移读取备份数据。

二、 气泵 PWM 控制与"缓启动"算法

气泵的控制不能简单地"开或关",不同的目标充气压力等级设计和气囊充气数量下,需要有不同的气泵输出功率相匹配,从而能更好平衡充气速度和气压采集的准确性,因此需要通过 PWM 动态调节转速。

1. PWM控制 与查表法

为了兼顾不同压力档位和不同气室容积的充气效率,气泵的占空比(Duty)采用了双维度的查表补偿策略

  • 基础转速:根据设定的目标压力(80~250 mmHg)查表。压力越高,基础占空比越大。
  • 阀门数量补偿:开启的气阀(腔体)越多,气流分流越大,需要额外增加占空比,提高输出功率。

如设定 80mmHg 且开启单个阀门时的 PWM 计算

  1. 查基础表,80mmHg 对应的基础占空比为 42%
  2. 查补偿表,开启 2个气囊对应的补偿值为 15%
  3. 总百分比 = 42 + 15 = 57%

2. 保护硬件的"缓启动"逻辑

如果占空比瞬间从 0 飙升到 60%,巨大的启动电流会冲击电池甚至导致 MCU LVR 复位。代码中可引入了斜启动(Soft Start) :设定目标占空比后,实际输出的 Duty 会在设定时间内逐级递增,直至达到目标值,实现了气泵的平滑启动。


三、 充气与压力闭环控制逻辑

当设定好目标压力后,系统是如何精准在目标点停泵的?这依赖于底层与应用层的协同:

  1. 目标计算 :利用公式 目标 ADC = 零点ADC + (设定压力 * 传感器灵敏度) 计算出理论停止点。
  2. 底层防抖检测:如底层硬件每 30ms 读取一次 ADC。为了防止气流波动造成的误判,必须**连续 N 次(如 5 次)**检测到 ADC ≥ 目标 ADC,才认定气压达标,一旦达标,立即切断气泵,并将对应的气阀切换为"保压"状态。

四、 压力补偿

因为结构的原因,气压传感器通常采集的气压点离气泵输出口较近,因此系统采集的这个气压通常比气囊内的压力大,造成气囊实际气压达不到设定值,因此靠软件参数来弥补"因管路配置造成的压降",如何获得这些参数就必须在不同的压力档位和开启的气囊数量的组合下进行实际的测试。


本文为原创技术分享,欢迎点赞、收藏与转发。转载请注明出处!

相关推荐
嗯? 嗯。6 小时前
S32K外设Usart
单片机·嵌入式硬件
资深流水灯工程师6 小时前
嵌入式系统中的环形缓冲区:原理、应用与 STM32 实现
网络·stm32·嵌入式硬件
余生皆假期-6 小时前
配置 CodeX 环境的 Simlink AI 工具链
笔记·单片机·嵌入式硬件·算法
嵌入式-老费7 小时前
esp开发与应用(1602液晶显示屏)
单片机·嵌入式硬件
嵌入式小站7 小时前
STM32 临界区是什么:为什么有时候要用 __disable_irq() 保护变量
chrome·stm32·嵌入式硬件
leo_jk7 小时前
STM32单片机 空闲中断
stm32·单片机·嵌入式硬件
weyyhdke7 小时前
2026电源与MCU控制设计实战:用Gemini3.5镜像站免费优化开关电源环路与电机FOC算法硬核教程
单片机·嵌入式硬件·算法
拾知_H7 小时前
STM32/串口控制LED亮灭
stm32·单片机·嵌入式硬件·串口
szxinmai主板定制专家7 小时前
基于ZYNQ MPSOC ARM+FPGA的超高清实时图像采集与压缩系统设计
linux·运维·服务器·arm开发·人工智能·嵌入式硬件·fpga开发