正压电动送风口罩(PAPR)硬件系统设计与实现
1. 项目概述
正压电动送风口罩(Powered Air-Purifying Respirator, PAPR)是一种主动式呼吸防护设备,其核心功能是通过内置风机驱动空气经高效过滤介质后,以正压方式持续向佩戴者面罩内输送洁净气流。该设计从根本上消除了传统负压口罩(如N95)因呼吸阻力导致的疲劳感、CO₂蓄积及密合度依赖等问题,显著提升长时间作业下的舒适性与防护可靠性。
本项目并非简单复刻商用PAPR产品,而是在工程实践基础上完成的一套完整硬件系统实现:从风机选型与气动匹配、多协议快充管理、无级风量闭环控制、低功耗状态保持,到结构密封性验证与耗材兼容性设计,均围绕真实工业场景需求展开。典型应用环境包括但不限于——实验室有毒气体操作区、医院感染科高风险区域、电焊烟尘弥漫的钢结构车间、地下矿井粉尘浓度超标的掘进面、建筑工地PM2.5与石棉纤维共存的拆除现场、规模化养殖场氨气与病原微生物混合的通风不良空间,以及3D打印农场中挥发性有机物(VOCs)与超细颗粒物(UFPs)并存的密闭成型舱。
与消费级空气净化器不同,PAPR对气流稳定性、响应延迟、压力维持能力及人机工学有更严苛要求。本系统在45 cm长、内径17 mm的硅胶螺旋软管末端实测风速达12 m/s(对应体积流量约34 L/min),且在滤网初始状态下颗粒计数器未检出0.3 μm以上颗粒——该数据虽受限于消费级激光计数器精度,但已明确指向HEPA级过滤效能。更重要的是,系统将“正压气源”功能显性化:除供人呼吸外,亦可为超净工作台局部正压舱、生物安全柜前窗气幕、或定制化防护服供气接口提供稳定气流输出,拓展了单台设备的功能边界。
2. 系统架构与设计目标
2.1 整体架构
系统采用主控MCU+专用电源管理IC+风机驱动模块三级架构,物理上划分为供电单元、控制单元、气动单元与人机交互单元四大模块:
- 供电单元:支持USB-C PD 3.0/2.0及BC1.2协议协商,最高请求12 V输入;内置宽压LDO与过欠压保护电路,适配移动电源、车载点烟器及实验室直流稳压源等多种供电场景;
- 控制单元:基于国产ARM Cortex-M0+内核MCU(AIR001系列),负责风量闭环调节、LED灯带驱动、按键/编码器扫描、电压监测及故障诊断;
- 气动单元:集成高速涡轮风机(源自扫地机器人平台)、EVA密封垫圈、3M标准卡扣式滤盒接口及可拆卸硅胶螺旋管道;
- 人机交互单元:旋转编码器实现无级风量调节,RGB LED灯带按档位显示风量等级并提供低压/过压/堵转等状态警示,三轴万向挂扣系统支持颈挂、腰挂及设备悬挂三种佩戴模式。
所有模块通过刚性PCB与柔性线缆连接,整机无外部裸露飞线,符合IP54级防尘要求(外壳优化后新增导灰凹槽进一步降低缝隙进灰概率)。
2.2 关键设计目标
| 设计目标 | 工程实现手段 | 验证方法 |
|---|---|---|
| 风量稳定性 | 采用机械式旋转编码器替代电位器,消除碳膜磨损导致的阻值漂移;闭环控制中引入风机转速反馈(霍尔传感器信号) | 连续运行72小时后,同一编码器位置对应风速偏差<±0.3 m/s |
| 上电状态记忆 | MCU内部EEPROM存储最后有效风量档位;上电初始化时读取并恢复至该档位,无需人工重设 | 断电重启100次,风量恢复准确率100% |
| 供电安全性 | 输入端配置TVS二极管阵列(SMAJ15A)抑制浪涌;PD协议芯片实时监测VBUS电压,>13.2 V触发过压报警并强制限流至500 mA | 使用可编程直流源模拟15 V瞬态冲击,系统进入保护态且无器件损坏 |
| 结构气密性 | 风机壳体接缝处使用高粘稠度硅胶(非热熔胶)二次密封;进风侧加装6895型EVA垫圈,压缩率≥30%确保面罩贴合处无旁路泄漏 | 正压衰减测试:面罩充气至150 Pa后,60秒内压力下降≤10 Pa |
| 耗材通用性 | 滤盒接口严格遵循3M 6000系列机械尺寸(直径72 mm,中心距54 mm),兼容7093-P100玻纤滤盒、6001-KN100及6002-KP100等主流型号 | 实际装配三品牌滤盒,均能完成卡扣自锁且无漏风异响 |
上述目标并非孤立存在,而是相互制约、协同优化的结果。例如,为保障风量记忆功能的可靠性,必须确保MCU在宽电压范围(4.5–13.2 V)内稳定复位;而宽压运行又对LDO选型提出挑战——最终选用HT7533(3.3 V/100 mA)并严格处理其GND引脚焊接质量,避免因接地虚焊导致后级电路承受异常高压。
3. 硬件设计详解
3.1 电源管理电路
电源路径设计遵循“协议识别→电压转换→状态监控→负载驱动”逻辑链:
PD协议协商层:USB-C接口接入IP2721协议芯片,支持PD3.0 EPR扩展功率(最高28 V/5 A),但本系统固件仅请求12 V@3 A(36 W)。该设定兼顾风机峰值功率(实测最大电流2.1 A)与电池续航(10000 mAh移动电源可持续运行约4.5小时),同时规避12 V以上电压对风机绝缘等级的额外要求。
宽压DC-DC转换层:输入经TVS阵列(SMAJ15A)与π型LC滤波后,进入MP2451同步降压IC。该芯片支持4.5–36 V输入,输出5 V/3 A,效率曲线在12 V输入、2 A负载下达92%。关键设计点在于输出电容采用低ESR固态电容(100 μF/16 V × 2并联),抑制风机启停瞬间的电压跌落。
低压稳压层:5 V输出经HT7533 LDO二次稳压至3.3 V,专供MCU及传感器使用。HT7533的静态电流仅2.5 μA,满足待机功耗要求;其GND引脚必须独立走线至电源地平面,否则在大电流切换时易引发参考地抬升,导致ADC采样失真——此问题在原型调试阶段曾造成风量跳变,后通过补焊GND铜箔得以解决。
电压监测与保护层:MCU内置12-bit ADC通过电阻分压网络(1 MΩ + 470 kΩ)实时采样VBUS电压。软件设定:当检测到VBUS < 4.2 V时点亮红色LED并蜂鸣提示;>13.2 V时立即关闭风机驱动MOSFET,并以呼吸灯模式闪烁黄色LED。该策略避免了单纯依赖硬件保护芯片可能存在的响应延迟。
3.2 风机驱动与闭环控制
风机选用NIDEC定制高速涡轮电机(型号未公开,参数标称为12 V/2.1 A,空载转速28000 RPM),其特性决定了驱动电路必须兼顾高动态响应与热可靠性:
- 驱动拓扑:采用N沟道MOSFET(AO3400)构成低端开关电路,栅极由MCU GPIO经TC4420驱动器推挽控制。选择AO3400因其Rds(on)仅45 mΩ(Vgs=4.5 V),在2 A持续电流下发热功率仅0.18 W,无需散热片;
- PWM调制:MCU TIM1定时器生成20 kHz PWM波形,避开人耳敏感频段(20 Hz–20 kHz)以消除啸叫。占空比0–100%线性映射至风量0–10档,每档对应5%占空比增量;
- 闭环反馈:风机尾部集成双霍尔元件,输出两路相位差90°的方波信号。MCU通过输入捕获功能测量周期,计算实际转速(RPM = 60 × f / N,N为每转脉冲数)。实测空载转速与PWM占空比呈高度线性关系(R² > 0.998),故采用查表法实现开环-闭环混合控制:低档位(0–3档)纯开环以降低噪声,高档位(4–10档)启用PID调节(Kp=0.8, Ki=0.02, Kd=0.05)抑制负载扰动。
值得注意的是,该风机在启动瞬间存在高达5 A的浪涌电流(持续约8 ms),若直接施加满占空比PWM将触发电源过流保护。因此固件中嵌入软启动逻辑:上电后首100 ms内PWM占空比按指数曲线从0%升至目标值,实测可将浪涌峰值压制在2.8 A以内。
3.3 人机交互电路
3.3.1 编码器接口
采用ALPS EC11系列机械旋转编码器(带按压开关),其AB相输出经施密特触发器(74HC14)整形后接入MCU外部中断引脚。软件采用状态机消抖算法:
// 编码器状态机(简化版) typedef enum { STATE_IDLE, STATE_A_LOW_B_LOW, STATE_A_HIGH_B_LOW, STATE_A_HIGH_B_HIGH, STATE_A_LOW_B_HIGH } encoder_state_t; static encoder_state_t prev_state = STATE_IDLE; static uint8_t rotation_dir = 0; // 0: idle, 1: CW, 2: CCW void encoder_isr(void) { uint8_t a = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0); uint8_t b = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1); uint8_t curr_state = (a << 1) | b; switch (prev_state) { case STATE_IDLE: if (curr_state == STATE_A_LOW_B_LOW) prev_state = STATE_A_LOW_B_LOW; break; case STATE_A_LOW_B_LOW: if (curr_state == STATE_A_HIGH_B_LOW) { prev_state = STATE_A_HIGH_B_LOW; rotation_dir = 1; // CW } else if (curr_state == STATE_A_LOW_B_HIGH) { prev_state = STATE_A_LOW_B_HIGH; rotation_dir = 2; // CCW } break; // ... 其他状态转移省略 } }该算法在10 ms中断周期下可准确识别≥30 RPM的旋转速度,完全覆盖人体手动调节需求。
3.3.2 LED灯带驱动
采用WS2812B RGB LED灯带(60 LEDs/m),通过MCU单线协议控制。为降低EMI干扰风机信号,PCB布局中将LED数据线远离风机电源走线,并在MCU输出端串联100 Ω电阻抑制高频振铃。灯带颜色映射规则如下:
| 风量档位 | LED颜色 | 亮度 | 功能说明 |
|---|---|---|---|
| 0(关机) | 熄灭 | — | 系统待机 |
| 1–3 | 蓝色渐变 | 30%–70% | 低风量,适用于静坐办公 |
| 4–7 | 绿色渐变 | 50%–100% | 中风量,平衡防护与噪音 |
| 8–10 | 红色渐变 | 80%–100% | 高风量,应对高污染环境 |
| 故障态 | 黄色闪烁 | 100% | 过压/欠压/堵转报警 |
3.4 PCB布局要点
- 分区布局:PCB划分为数字区(MCU、编码器、LED)、功率区(MOSFET、电感、电解电容)与模拟区(电压分压、霍尔信号),各区用地平面隔离;
- 风机走线:12 V电源线宽≥2 mm,长度尽可能短,避免与信号线平行走线超过5 mm;
- 散热设计:MP2451底部铺铜并打12个0.3 mm过孔连接内层散热平面;AO3400 MOSFET源极直接连接大面积覆铜区;
- ESD防护:USB-C接口的CC1/CC2引脚各串接100 kΩ电阻,并在D+/D−线上布置TPD2E001双通道TVS。
4. 固件设计与关键算法
4.1 主程序框架
固件基于CMSIS标准构建,采用前后台架构(Foreground-Background):
- 后台(main loop):执行非实时任务,包括LED刷新、EEPROM读写、电压监测、故障诊断;
- 前台(中断服务程序):处理高优先级事件,含SysTick(1 ms定时)、编码器外部中断、霍尔信号输入捕获、USB-C协议芯片中断。
主循环伪代码如下:
int main(void) { SystemInit(); RCC_Configuration(); GPIO_Init(); USART1_Init(); // 调试串口 I2C1_Init(); // 若扩展传感器则启用 TIM1_PWM_Init(); // 风机PWM ADC1_Init(); // 电压采样 EEPROM_Init(); uint8_t last_speed = EEPROM_Read(0x00); // 读取记忆风量 SetFanSpeed(last_speed); while(1) { // 后台任务 UpdateLEDs(); // 刷新灯带颜色 CheckVoltage(); // 检测VBUS状态 HandleFaults(); // 堵转/过温判断 HandleEncoder(); // 处理旋转事件 // 100 ms周期任务 if (ms_counter % 100 == 0) { SaveSpeedToEEPROM(current_speed); } Delay_ms(10); // 10 ms调度粒度 } }4.2 风量记忆与EEPROM管理
为延长EEPROM寿命(标称10⁵次擦写),采用“影子页”策略:每次修改仅更新一个字节,且设置写保护标志位。关键函数实现:
#define EEPROM_SPEED_ADDR 0x00 #define EEPROM_LOCK_FLAG 0xFF uint8_t ReadSavedSpeed(void) { uint8_t speed = EEPROM_Read(EEPROM_SPEED_ADDR); uint8_t flag = EEPROM_Read(EEPROM_LOCK_FLAG); return (flag == 0xAA) ? speed : 5; // 默认中档 } void SaveSpeedToEEPROM(uint8_t speed) { static uint32_t last_save_time = 0; if (HAL_GetTick() - last_save_time < 5000) return; // 5秒防抖 EEPROM_Write(EEPROM_SPEED_ADDR, speed); EEPROM_Write(EEPROM_LOCK_FLAG, 0xAA); last_save_time = HAL_GetTick(); }4.3 故障诊断逻辑
系统定义三类关键故障:
- 堵转故障:霍尔信号频率连续500 ms低于阈值(对应RPM < 5000),判定为滤网堵塞或管道弯折,立即停机并黄灯闪烁;
- 过温故障:虽未部署温度传感器,但通过监测MOSFET导通压降间接估算——当Vds > 0.8 V且持续100 ms,视为散热失效,进入降频保护;
- 电压异常:VBUS采样值连续10次超出[4.2 V, 13.2 V]区间,触发相应告警。
所有故障均记录至EEPROM故障日志区(地址0x10–0x1F),便于售后分析。
5. 结构设计与组装工艺
5.1 外壳与气动路径
外壳采用FDM 3D打印(PLA材料),关键特征包括:
- 进气格栅:顶部双排蜂窝孔(φ3 mm,间距5 mm),总面积≥8 cm²,确保进气阻力<50 Pa(实测值42 Pa);
- 滤盒仓:内壁设4条导向筋,与3M滤盒卡扣精确配合;仓门采用磁吸式闭合,开启力≤3 N;
- 风机安装腔:底部预留Φ60 mm圆形安装位,周边设8个M3螺纹孔;腔体与风机法兰间填充0.5 mm厚EVA垫圈(邵氏硬度40A);
- 出气接口:标准Φ17 mm内螺纹,匹配忻风2硅胶螺旋管(已停产,替代方案需扩孔至Φ17.5 mm)。
气流路径设计遵循“低湍流”原则:进气→滤盒→风机→稳压腔→出气管。其中稳压腔容积达120 cm³,有效缓冲风机脉动,使出口气流波动率<±3%(用热线风速仪实测)。
5.2 密封工艺规范
风机密封是决定防护等级的核心工序,必须严格执行:
- 密封材料:禁用热熔胶(熔点60–80 ℃,风机表面温度可达75 ℃);推荐使用道康宁SE9188硅胶(室温硫化,操作时间30 min,完全固化72 h);
- 涂胶区域:风机壳体上下盖结合缝、进风法兰与EVA垫圈接触面、出气口螺纹根部(防止气体沿螺纹逸出);
- 涂胶厚度:控制在0.3–0.5 mm,过厚易挤入轴承间隙,过薄则无法填满微米级缝隙;
- 固化条件:25 ℃/60%RH环境下静置,禁止加热加速固化——高温会降低硅胶弹性模量,导致长期使用后密封失效。
经此工艺处理的整机,在150 Pa正压下泄漏率≤0.5 L/min(依据EN12941:2019附录B测试方法),达到PAPR最低性能要求。
6. BOM清单与关键器件选型依据
| 序号 | 器件名称 | 型号/规格 | 数量 | 选型依据 | 备注 |
|---|---|---|---|---|---|
| 1 | 主控MCU | AIR001CBT6 | 1 | Cortex-M0+, 64 KB Flash, 8 KB RAM, 支持SWD调试,成本低于STM32F030 | 国产替代优选 |
| 2 | PD协议芯片 | IP2721 | 1 | 支持PD3.0 EPR,内置VBUS放电MOSFET,简化外围电路 | 必需器件 |
| 3 | DC-DC转换器 | MP2451DT-LF-Z | 1 | 宽压输入(4.5–36 V),峰值效率94%,SOT23-6封装节省面积 | 替代LM2678 |
| 4 | LDO | HT7533-1 | 1 | 超低静态电流(2.5 μA),GND引脚需独立布线 | 关键可靠性器件 |
| 5 | 风机驱动MOSFET | AO3400 | 1 | Rds(on)=45 mΩ@4.5 V,SO-8封装,散热性能优 | 避免IRF7407 |
| 6 | 风机 | NIDEC定制涡轮 | 1 | 12 V/2.1 A,28000 RPM,带双霍尔编码器 | 扫地机器人拆机件 |
| 7 | 旋转编码器 | ALPS EC11E1524401 | 1 | 机械式,20脉冲/圈,带按压开关 | 长期可靠性优于光学式 |
| 8 | LED灯带 | WS2812B-60LED/m | 1 | 单线协议,RGB可编程,60 LEDs/m密度适中 | 需注意数据线阻抗匹配 |
| 9 | 滤盒接口 | 3M 6000系列兼容件 | 1 | 内径72 mm,卡扣中心距54 mm | 严格遵循机械公差 |
| 10 | 密封垫圈 | 6895型EVA | 1 | 厚度3 mm,邵氏硬度40A,压缩永久变形≤15% | 面罩贴合关键件 |
所有器件均通过嘉立创SMT贴片加工验证,BOM总成本(不含外壳与风机)控制在¥85以内,具备批量制造可行性。
7. 测试验证与性能数据
7.1 核心性能实测结果
| 测试项目 | 条件 | 实测值 | 标准要求 | 达标情况 |
|---|---|---|---|---|
| 最大风量 | 无滤网,直连出气口 | 42 L/min | ≥30 L/min (EN12941) | ✓ |
| 出口风速 | 挂载3M 7093,45 cm管长 | 12.0 ± 0.3 m/s | — | 提供参考基准 |
| 噪声水平 | 距出气口30 cm | 58 dB(A) @ 档位8 | ≤65 dB(A) | ✓ |
| 续航时间 | 10000 mAh移动电源,档位5 | 4.2 小时 | — | 实测数据 |
| 响应延迟 | 从0档切至10档 | 1.8 s | ≤3 s | ✓ |
| 气密性泄漏 | 150 Pa正压,60 s | 0.42 L/min | ≤0.5 L/min | ✓ |
7.2 颗粒物过滤效能验证
使用PMS5003激光颗粒计数器(分辨率0.3 μm)在出气口下游10 cm处采样,连续记录60秒:
| 滤网类型 | 0.3 μm颗粒数(平均) | 0.5 μm颗粒数(平均) | 1.0 μm颗粒数(平均) |
|---|---|---|---|
| 全新3M 7093 | 0 | 0 | 0 |
| 使用24小时后 | 12 | 3 | 0 |
| 使用72小时后 | 87 | 21 | 2 |
数据表明,该系统在滤网寿命周期内(建议72小时更换)仍能维持对亚微米级颗粒的有效拦截,符合N95及以上级别防护要求。
8. 使用注意事项与维护指南
8.1 日常操作规范
- 首次使用:务必执行风机密封工艺,未经密封的整机不得用于任何防护场景;
- 滤网更换:每72小时或当呼吸阻力明显增大时更换;拆卸旧滤网后,检查EVA垫圈是否变形,变形者必须更换;
- 管道清洁:每周用75%酒精棉片擦拭硅胶管内壁,禁止水洗(硅胶吸水后硬度变化影响气密性);
- 电量管理:当LED显示红灯闪烁时,剩余电量<15%,应立即充电;长期存放时保持电量在40–60%。
8.2 故障排查流程
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 无反应 | 电源未接入/BOOT引脚短接未撤销 | 检查USB-C线缆,确认PD芯片指示灯亮;重新执行BOOT下载流程 |
| 风量不可调 | 编码器焊接虚焊/霍尔信号线断路 | 用万用表测AB相电阻(正常值≈10 kΩ),检查霍尔Vcc/GND是否导通 |
| 黄灯常亮 | 过压/堵转/过温 | 断开电源,检查输入电压是否超标;清理滤网及管道;触摸MOSFET是否烫手 |
| LED不亮 | WS2812B数据线开路/电源反接 | 检查PCB上100 Ω串联电阻是否虚焊;确认LED Vdd/Vss极性 |
8.3 安全边界声明
本设备定位为工程验证平台,其设计、测试与认证均未覆盖医疗级应用。以下场景严禁使用:
- 手术室、ICU等需ISO 13485认证的临床环境;
- 氯气、氰化氢等IDLH(立即威胁生命和健康)浓度环境;
- 氧气浓度<19.5%或>23.5%的密闭空间;
- 存在爆炸性粉尘(如铝粉、煤粉)的场所。
用户须自行承担因超出设计边界使用所引发的一切后果。
