基于呼吸频率检测的供气方式研究 Study on gas supply method based on respiratory frequency detection 郭丽丽1,2,房灵申1,邹媛媛1,赵明扬1 GUO Li-li1,2, FANG Ling-shen1, ZOU Yuan-yuan1, ZHAO Ming-yang1 (1. 中国科学院 沈阳自动化研究所,沈阳 110016;2. 中国科学院大学,北京 100039) 摘 要:针对便携式呼吸防护系统,为使送风模式与呼吸频率相匹配,提出了呼吸频率先验值记录方法。 该方法主要包括两方面内容:呼吸信号的采集与记录、风机控制算法实现。宏晶科技生产的 STC12C系列增强型单片机STC12C5A60S2作为核心控制器,流量传感器检测人的呼吸信号并通 过控制器的分析实现送风机的启停控制。单片机软件部分采用C语言在keil4.0环境下编译调试, 上位机编程调试采用VC6.0环境。在详细介绍基本原理的基础上,给出了部分代码实现。 关键词:呼吸防护;供风系统;呼吸信号采集;单片机 中图分类号:TP277 文献标识码:B 文章编号:1009-0134(2013)07(下)-0012-04 Doi:10.3969/j.issn.1009-0134.2013.07(下).04 0 引言 现有呼吸防护产品或供氧系统多是连续式供 风,功耗高且连续直吹方式产生的气流易造成使 用者的不适感 [1,2]。而正常状况下,同一人心肺运 动周期趋于稳定,呼吸频率等参数在相同状态下 基本保持不变[3]。基于此笔者提出了基于人体呼吸 频率的先验值记录供风方式。系统采用流量传感 器检测呼吸信号,通过控制器对呼吸信号的分析 得到呼吸模式特征值,温度传感器作为温控开关 控制风机以现有呼吸模式为人体供风。 大器通过向桥式电路输入对金属丝的加热电流, 以保持发热元件温度的恒定值。热丝式流量传感 器原理如图1所示。 ⇨⌕ 5E (F 5 5 $ 第35卷 第7期 2013-07(下) $ 9R 图1 热丝式流量传感器原理图 图1中各元件分别为:Rb为热丝 Rf为空气温 度补偿电阻;R1、R2、R3为桥接电阻;Vo为信号 电压输出。 热丝被流体带走的热量 : (1) 式中:a为热系数;s为热丝表面积;Tw为热丝 表面温度;Tf为流体温度。 强迫对流热交换情况下Kramer经验公式: 其中:怒塞尔系数 (2) ( 为传热系数, 为热线直径, 为热导率);雷诺系数 收稿日期:2013-04-01 基金项目:国家自然科学基金(61174164) 作者简介:郭丽丽(1986 -),女,河北沧州人,硕士,研究方向为嵌入式软件。 【12】 $ 5 ( 1 呼吸流速检测原理 本文选用热丝式流量传感器检测人的呼吸信 号。该传感器采用的是恒定温差的电路工作原 理,结构上主要包括发热元件、空气温度补偿电 阻、运算放大器等 [4,5]。通过气体流过热丝时的温 度变化量转换为流量进行检测,热量控制系统增 加电流保持热丝恒定温度,气体流速与电流产生 量成比例,流量和电流是非线性关系;线性化的 实现通过微处理器及软件进行,以便产生可重复 性流速的分布。热丝是电桥的一段,流量变化时 热丝的温度、阻抗和电流变化导致桥路不平衡, 根据输出电压变化可换算出流量。 作为发热元件的热金属丝安置在传感器的空 气流通道之中,在电路设计时就使其工作温度比 进气温度高。电桥中,只有当发热元件的温度高 于空气温度时,桥式电路才能达到平衡[6]。运算放 5I ( , , 分别为流体的密度、速度和动力粘性系 (其中 数);普朗特数 容),适用范围: 。 热丝的电阻温度特性: 为气体的定压热 ; ; 式中 和 分别为当金属丝温度为 的电阻值, 为温度系数。 由公式(1)、(2)、(3)可得: (3) 和 时 (4) 表1 AWM720P1流量传感器输出电压与流量对照表 流量(SLPM) 电压值(VDC) 0 1.00 25 2.99 50 3.82 75 4.30 100 4.58 150 4.86 200 5.00 参照模拟电压与流量对照表,将转换后的数字 量换算成相应的流量值,曲线拟合为折线段如下: ⎧ 0.2475 x − 12.6238 ⎪ 0.5814 x − 63.3721 ⎪ ⎪⎪ 1.0417 x − 153.1250 f (x ) = ⎨ ⎪ 1.6667 x − 290 ⎪ 3.5714 x − 735.7143 ⎪ ⎩⎪7.1429 x − 1621.4286 51 ≤ x < 152 152 ≤ x < 195 195 ≤ x < 219 219 ≤ x < 234 234 ≤ x < 248 248 ≤ x ≤ 255 (5) 令代码完全兼容传统8051,速度快8-12倍。工作电压 为5 V,有6个16位定时器,兼容普通8051的定时器或 4个外部中断,具有看门狗和EEPROM功能,并且内 部集成MAX810专用复位电路。 STC12C5A60S2A/D转换在P1口,上电复位后 P1口为弱上拉型A/D,流量传感器输出接P1.0引 脚。该芯片ADC是逐次比较型ADC,由一个比较 器和D/A转换器构成,通过逐次比较逻辑,从最高 位开始,顺序地对每一输入电压与内置D/A转换器 输出进行比较,经过多次比较,使转换所得的数 字量逐次逼近输入模拟量对应值。逐次比较型A/ D转换器具有速度高,功耗低等优点。实验中,控 制A/D转换速度约为250KHz。 流量传感器选用霍尼韦尔AWM720P1大流量 传感器,人呼吸时最大流量为80 SLPM(标准升/ 分钟),该传感器最大可检测流200SLPM,可以 满足试验要求。DS18B20为一线式数字温度传感 器,内部由64位ROM、温度传感器、温度报警触 发器TH和TL与配置寄存器组成 [7]。温度测量范围 为-55℃~+125℃,可编程为9位~12位A/D转换 精度,测温分辨率0.0625℃,被测温度用符号扩展 的16位数字量方式串行输出。选用微型轴流引风 机,其转速由控制器输出信号并经过驱动模块控 制。根据人体舒适度,还可对对引风机转速进行 不同的设置。 实验过程中,首先由流量传感器检测人的呼 吸,通过控制算法提取出人的呼吸模式特征值并 2 系统设计及实验 记录保存。温度传感器放于口鼻附近用于感知 2.1 硬件设计 呼气吸气温度变化,当传感器检测到的温度达到 系统硬件结构如图2所示,单片机 STC12C5A60S2作为核心控制器接收温度传感器 DS18B20及流量传感器AWM720上传数据,分析 综合后控制风机启停、同时通过串口通信将传感 器数据上传至上位机进行实时显示[7]。 一定阈值时,控制器输出信号控制风机按既有呼 '6% 偅ࡼഫ 体的不同而不同。将流量传感器置于口鼻前端, 当人呼气时,传感器检测当前通过其管路的流量 大小从而输出对应的电压值。该传感器为单向检 测,当通过其管道的风向相反时,输出值对应为 Ϟԡᴎ 0。试验中,传感器检测人呼出气体流量值,吸气 67&&$6 $:0 吸模式启停。阈值的选取随外界环境及人呼出气 Ⳉ⌕亢ᴎ 时检测到的流量值为0。 2.2 软件设计 图2 系统硬件设计图 STC12C5A60S2单片机是宏晶科技生产的STC12 系列单片机。该单片机是单时钟/机器周期(1T),具有 高速、低功耗、超强抗干扰和无法解密诸多优点。指 2.2.1 呼吸信号特征记录 图3中红色曲线为流量传感器检测到的呼吸信 号波形图,以下说明特征值记录方法的实现过程 及部分代码实现。 第35卷 第7期 2013-07(下) 【13】 T2 = iStartTime[2] - iStartTime[1]; //第二个呼 吸周期 T3 = iStartTime[3] - iStartTime[2]; //第三个呼 吸周期 T4 = iStartTime[4] - iStartTime[3]; //第四个呼 吸周期 对T1、T2、T3、T4取平均为: 图3 首先由流量传感器检测5次人的呼吸,控制 器通过分析这5次呼吸数据得到平均呼气时间与 平均吸气时间,作为模板特征值用于控制风机启 停。程序中当流量为0时控制器将其识别为吸气过 程,当流量不为零时为呼气过程。采用定时器/计 数器T0记录呼气与吸气时间。全局整型变量数组 iStartTime[5]与iStopTime[5]分别用来保存连续吸气时 刻点与吸气结束(呼气)时刻点,iStartTime数组 中的元素对应每个吸气开始时间,iStopTime数组 中的元素对应吸气结束(呼气)时间。 设置单片机内部定时器T0每50ms溢出一次, 全局无符号整型变量g_iCounter记录定时器T0自单 片机上电后溢出的次数。iStartTime与iStopTime数 组元素保存相应的g_iCounter值作为记录时刻,因 此记录时刻的时间分辨率为50ms,相对于人的呼吸 周期(3s左右),该分辨率可以满足精度要求。 时间记录部分代码实现如下: unsigned int g_iCounter; //全局变量,溢出 计数器 void TimeLog() //在主函数的while循 环中调用 { if( 1 == TF0) //50ms到,定时器T0溢出 { TF0 = 0; //软件清零溢出标志位 g_iCounter ++; //计数器加1 TH0 = 4C; //重新加载初始值 TL0 = 00; } } 对采集到的数组进行处理,得到呼气时间t1与 吸气时间t2。 T1 = iStartTime[1] - iStartTime[0];//第一个呼吸 周期 【14】 第35卷 (2) 呼吸信号特征值记录 第7期 2013-07(下) 为消除噪声带来的影响,对其进行二次平均 求解。逐一比较T1/T2/T3/T4与 差值,将差 。 值最大者去除,并求取剩余三者的平均值 吸气时间: (3) 呼气时间: (4) 2.2.2 风机启停控制算法实现 依据呼气时间t1与吸气时间t2,使用unsigned int型局部变量iCount控制风机启动时间。当iCount 大于t2时停止风机;当iCount大于t1+t2时,iCount 清零,同时启动风机。 ᓔྟ ㋏㒳߱ྟ࣪ $'Ёᮁ ࠄᴹ˛ 12 <(6 ܕ䆌$' Ёᮁ˛ 12 䇏পᔧࠡ⏽ᑺ <(6 $'Ёᮁᄤᑣ 䅵ᯊᮄ ⏽ᑺ!䯜ؐ ᯊ䯈!਼ᳳ˛ <(6 亢ᴎᓔਃ 12 ᔧࠡᯊ䯈!⇨ᯊ䯈˛ <(6 亢ᴎذℶ 图4 函数流程图 12 2.2.3 代码临界段 代码的临界段也称为临界区,指处理时不可 分割的代码。一旦这部分代码开始执行,则不允 许任何中断打入。为确保临界段代码的执行,在 进入临界段之前需关闭所有中断,临界段代码执 行完以后立即开启中断[8]。温度传感器DS18B20是 单总线通信,其时间片序列要求严格,因此其代 码部分为临界段。 2.3 试验过程及实验结果 上位机与单片机之间使用串口通信,波特率 设定为9600bps[9,10]。上位机采用MFC编程实时接 收并显示单片机上传的呼吸流量数据、温度传感 器温度值。 系统上电后,将流量传感器靠近使用者口鼻 测试呼吸周期,此时上位机将实时显示使用者的 呼吸波形,如图5所示。5次完整呼吸后,单片机 接收温度传感器检测到的温度值数据。如图6所 示,呼吸波形的波谷代表环境温度,当温度传感 器检测到的温度高于环境温度一定阈值T时,启动 单片机对风机的控制,此时风机将以已有的呼吸 模式进行送风;当温度传感器检测到的温度回到 环境温度后停止单片机对风机的控制。 图5 呼吸流量图 3 结束语 与传统的连续式供风方式相比,该方法依据 人的呼吸频率送风,起到节能功效的同时降低了 长期佩戴带来的不适感。相比实时控制系统,该 方法则简单易行,且避免了实时控制系统内部资 图6 温度变化显示图 源消耗等问题。 先验值记录方式有效结合了流量传感器及温 度传感器各自的优点,以呼吸频率相匹配的方式 控制风机为使用者供风,可广泛应用与便携式装 置,其特点是方便快捷,且易于操作易于实现。 实验证明,该方法可稳定且精确地控制风机按照 与人体呼吸频率相匹配的方式启停。 参考文献: [1] 邱曼,王生,刘铁民.呼吸防护用品的人机工效学问题分析 [J].中国安全科学学报,2007,17(2):139-143. [2] 刘志强,刘宝龙.自吸过滤式呼吸器对人体主观舒适度的 影响[J].中国安全生产科学技术,2009,5(1):33-36. [3] 席涛,杨国胜,汤池.呼吸信号检测技术的研究进展[J].医 疗卫生装备,2004,25(12):25-28. [4] Lammerink T S J,Tas N R,EIwenspoek M, et al. FIuitman MicroIiguid fIow sensor[J].Sensors and Actuators A, 1993, 37-38:45-50. [5] 沈永滨,李庆军,修爱军.恒温热线式气体流量传感器的研 究[J].哈尔滨理工大学学报,2000,5(4):98-100. [6] 李巍.奔驰轿车空气流量传感器的故障检修[J].汽车电 器,2006(6):35-37. [7] 赵望达.DS1820数字温度传感器在机械设备温度监控中 的应用[J].制造业自动化,2001,23(5)52-54. [8] 宋凤娟,付侃,薛雅丽.STC12C5A60S2单片机高速A/D转 换方法[J].煤矿机械,2010 31(6):219-221. [9] 戴建强,蔡慧林,席晨飞.多线程串口通信技术在DNC系 统中的应用[J].制造业自动化,2008,30(2):17-20. [10] 国兵,郭常山.单片机通信中波特率自动跟踪的一种方法 [J].计算机应用与软件,2008,25(1):182-184. 第35卷 第7期 2013-07(下) 【15】