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

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

随着大健康产业的爆发,空气波按摩器(气压按摩仪) 这类产品的销量也跟着爆发,这不最近刚好接到空气波腿部按摩器的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,才认定气压达标,一旦达标,立即切断气泵,并将对应的气阀切换为"保压"状态。

四、 压力补偿

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


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

相关推荐
深圳老胡2 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
女神下凡2 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
开发笔记-阿牛2 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅2 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员2 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程
CHENKONG_CK2 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
祖力552 天前
ARM时钟
嵌入式硬件·arm·时钟·imx6ull
三佛科技-187366133972 天前
128KB~512KB Flash车规级MCU选型指南(FT32A072 / FT32A103 系列)
单片机·嵌入式硬件
Brilliantwxx2 天前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件
老当益壮梁奶奶3 天前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机