摘 要:呼吸机除了给患者提供持续稳定的氧气输入,还需对呼吸状态进行准确判断。本文提出一种基于双传感器和PID控制的呼吸机系统,系统主要由单片机主控模块、风机驱动模块、流量传感器、压力传感器、通气管道、面罩以及基于MATLAB开发的GUI上位机软件七部分组成。主控模块将流量传感器监测的实时流量数据通过串口传输至上位机进行处理,上位机采用流量变化率触发算法对呼吸状态进行准确判断,并发送相关指令到主控模块,通过PID控制算法改变风机转速,从而实现气道压力的动态调节。测试结果表明,所设计呼吸机系统能快速准确地实现呼吸状态判断、呼吸异常情况检测以及对呼吸波形、呼吸参数的实时显示,并能通过PID控制实时调整通气压力和流量,改善患者呼吸状况。
关键词:呼吸机系统;双传感器;PID控制;风机驱动;呼吸状态判断;呼吸异常检测
中图分类号:TP391 文献标识码:A 文章编号:2095-1302(2024)03-00-05
0 引 言
呼吸机作为一种可以辅助病人进行正常呼吸的设备[1],通过用于实现机械通气以提高患者的呼吸能力,改善患者的呼吸情况,提高人体肺部的通气率,它涉及风机、控制芯片、高精度传感器等元器件。
准确识别患者的呼吸状态是呼吸机的关键功能,当前市面上呼吸机大都采用压力触发和流量触发两种方式进行呼吸状态检测[2]。压力触发原理是以患者的呼吸动作导致通气管道内气压值产生的变化为依据[3],患者吸气时气压值会减小,呼气时气压值会增大,当分别达到设定的触发阈值时则会触发对应的通气过程。流量阈值触发与压力触发的原理大同小异,只是将触发条件变为通气管道内气体流量值的变化,相比于压力触发,其具有触发更灵敏、始终保持气道内有新鲜气体的优点[4]。但是当患者出现低通气情况时由于事先设定的触发阈值过高,使用流量阈值触发有可能无法实现准确的呼吸状态判断,从而导致人机不同步,影响患者的使用[5]。范霖等[6]通过快速响应湿度传感器进行呼吸状态的检测,但是湿度传感器若放置在距离口腔较近的位置,会降低患者的使用舒适度。
本文提出了一种基于双传感器和PID控制的呼吸机系统,通过流量传感器实时检测通气时气道中的气体流量数据,计算出流量变化率,从而实现患者呼吸状态的判断以及相关呼吸参数的准确计算。结合压力传感器,采用PID控制算法[7]使气道压力迅速接近预先设定的期望压力。与传统采用呼吸流量阈值触发方式的呼吸机相比较,本系统的优点是:不论是在患者正常呼吸还是在患者出现低通气情况时呼吸机系统都能实现呼吸状态的准确判断。
1 呼吸机系统框架设计
基于PID控制的双传感器呼吸状态检测系统的框图如图1所示,主要包含呼吸管道和医用面罩、控制模块、上位机软件三部分。控制模块主要负责实现流量传感器和压力传感器的数据采集[8],并通过串口将数据实时传输给上位机,同时实现风机驱动功能。上位机软件对串口传输的流量数据进行准确接收,通过相关算法进行处理,从而实现对患者呼吸状态的判断以及呼吸是否存在异常情况的检测。上位机也可以通过串口发送指令到单片机,单片机根据上位机发送的指令去调节风机转速,从而实现动态反馈达到调节呼吸管道气压值的目的,患者的实时呼吸流量波形、呼吸管道气压变化曲线、相关呼吸状态参数也可以在上位机上查看。
2 呼吸机系统关键技术
2.1 PID控制算法
呼吸机系统由单片机主控模块驱动风机形成气道压力,压力传感器将检测到的气道压力值返回到主控模块进行PID运算,进而使输出尽量靠近目标压力值,形成了一个闭环压力控制系统,该系统框图如图2所示。
呼吸机系统采用PID控制算法来实现上述压力控制过程,通过计算出实际测量压力与目标压力的差值,借助比例、积分、微分运算得到的控制量进行动态控制。模拟PID控制系统原理如图3所示。其中:r(t)表示设定的目标压力值;y(t)表示系统的实际测量值;e(t)表示实际测量值与目标值的误差量;u(t)表示被控对象输入值;P(s)表示被控对象传递函数,在本系统中代表控制风机转速的占空比大小。
模拟PID计算公式为:
(1)
式中:Kp代表比例系数;Ti代表积分时间;Td代表微分时间;Kp与Ti的比值为积分系数;Kp与Td的比值为微分系数。但是在实际应用中需要将模拟量转变为离散数字量进行处理,将式(1)进行离散化处理后得到数字PID计算表达
式为:
(2)
式中:k代表采样号;T代表采样周期;ek代表此次采样值与目标值的差值。经过计算可以得到输出值uk,进而控制风机转速,这种控制方式被称为全量式PID控制器。
2.2 流量变化率触发算法
呼吸机系统的核心就是能够高效准确地识别出患者的呼吸状态,因此需要采用的呼吸状态检测算法具有较高的精确度和较快的识别速度。传统的流量阈值触发算法在判断患者呼吸状态时存在延时大、患者低通气时无法准确识别的缺点。因此,本系统选用流量变化率阈值触发的方法对患者的呼吸状态进行检测。当患者吸气时,通气管道内的气体流动加快,流量变化曲线由低变高。患者呼气时,由于呼气方向与风机输出方向相反,导致通气管道内气体流动降低,流量变化曲线随之由高到低变化。通过将流量变化率与设定的呼气、吸气变化率阈值进行比较,实现对患者呼气、吸气状态的准确判断。
具体实现方式是将系统接收到的流量值数据保存为一个两位的数组,并且数组内容会伴随着串口数据的实时传输进行刷新;再调用MATLAB的diff()函数对数组数据进行求导操作,将得到的导数结果与设定的流量变化率阈值进行比较,即可实现呼吸状态的判断,计算方法如下:
(3)
(4)
(5)
式中:Flow[i+1]和Flow[i]分别表示流量传感器连续采集的两位流量数据,二者相减得到的即是流量变化值∆F;∆T表示采集到两个连续数值时间间隔。
经过人体反复试验后发现,将呼气变化率阈值KO和吸气变化率阈值KI分别设置为-0.8和0.8时,能精确实现对呼吸状态的判断。当K小于呼气变化率阈值KO时,系统将呼吸状态判定为呼气;当K大于吸气变化率阈值KI时,系统将呼吸状态判定为吸气。流量变化率阈值触发算法流程如图4所示。相关呼吸参数的计算也需要根据呼吸状态的检测结果来实现,呼吸频率指患者1 min内由吸气动作转到呼气动作的总次数,通过计算单位时间内呼气和吸气状态的触发次数而得到呼吸频率。异常呼吸检测指对患者出现低通气或者呼吸暂停状况,以及对长时间内通气流量值偏低或者长时间无法触发呼吸状态的检测。
3 呼吸机系统硬件设计
基于双传感器和PID控制的呼吸机系统硬件部分由微控制器模块、风机驱动模块以及呼吸管道和呼吸面罩组成。其中微控制器模块负责对风机的驱动、双传感器数据的采集以及LED灯等外设的控制,并实现与上位机之间的串口通信;风机、呼吸管道和呼吸面罩构成了呼吸通道。呼吸机系统硬件连接如图5所示。
3.1 传感器模块硬件设计
传感器采集电路包括压力传感器采集电路和流量传感器采集电路。本系统中压力传感器选用宝胜信息公司的MCP-H10-A10KPP,该传感器体积小、反应灵敏、测量精度高,测量范围为0~10 kPa,符合呼吸机应用要求;采用5 V电源供电,因此直接与控制芯片的ADC模拟输入引脚连接,其采集电路和实物如图6所示。流量传感器选用奥松电子的 AFM3000流量传感器,专为呼吸机应用而设计,以超高的精确度测量气体流量,其电路连接方式也是直接与控制芯片的对应引脚连接,流量传感器采集电路及实物图如图7所示。
3.2 主控及其外围电路设计
呼吸机系统选用STM32F407ZGT6作为单片机模块的主控芯片,该芯片主频为168 MHz,其SRAM的大小为192 KB、FLASH的大小为512 KB,同时包含了多个I/O接口,能够实现多个外围电路的连接,并且拥有三个ADC,能够满足多个传感器的数据采集[9]。为了实现上位机与单片机的数据传输,采用CH340G串口芯片来实现串口的通信。外围电路包括LED指示灯、蜂鸣器、按键这三部分,电路分别直接连接到主控芯片上对应输出引脚,LED的电路是低电平时有效,其作用是对患者的呼吸状态进行指示并且反映系统是否正常运行;蜂鸣器用于在患者出现异常呼吸状况时进行报警;按键用来实现系统的外设控制功能。
单片机模块外接12 V电源进行单独供电,再由12 V电源产生传感器和其他模块所需要的电压,12 V到5 V、3.3 V的电压转换均选用高效降压稳压芯片TPS562201完成。单片机控制板实物图如图8所示。
3.3 风机及驱动模块
目前市面上多数无创性通气设备使用的都是BLDC(直流无刷电机)[10],其具有使用寿命长、运转速度高、运转噪音小[11]这几项优势。本系统选用 Wonsmart公司生产的高速直流无刷风机,使用电机驱动板进行控制。通过主控芯片STM32F407ZGT6对风机驱动电路和三相全桥电路进行控制,从而驱动风机。在读取到霍尔传感器的数据后,根据相应的换相规则对三相全桥电路的6个MOS管进行关断与导通控制,使任意时刻上桥臂与下桥臂分别只有一个MOS管导通,从而形成回路,使得风机按所需方向进行旋转,输出气流。风机及其驱动模块如图9所示。
4 呼吸机系统软件设计
呼吸机系统软件设计分为两部分:一部分是在 Keil上面设计的单片机控制程序;另外一部分是基于MATLAB的GUI上位机程序设计。
4.1 单片机控制程序设计
单片机主程序运行流程如图10所示。主控模块上电启动后系统首先进行初始化,然后通过串口通信向上位机发送传感器采集到的呼吸流量数据和气道压力数据,同时接收上位机软件发送的控制指令;紧接着根据相关指令去运行PID压力控制程序,并通过STM32高级定时器的PWM互补输出通道实现无刷直流电机的输出换相,改变风机转速使得气道压力向期望值靠近。
4.2 MATLAB上位机程序设计
呼吸机系统上位机软件基于MATLAB的GUI平台进行设计开发。上位机根据呼吸机系统需要实现的功能,将界面分为5个部分:串口参数、系统控制、气道压力和呼吸流量的波形显示、通气模式设置以及呼吸情况判断。患者可以在串口参数界面中设置好串口通信的相关数据,然后点击系统控制界面中的启动程序,系统会进行串口、绘图程序的初始化。接收到下位机发送的数据后,进入中断程序。在中断程序中,软件会对接收到的实时数据进行处理,更新呼吸情况判断界面中的呼吸状态等参数。上位机程序的运行流程如图11所示。
5 呼吸机系统测试
5.1 系统测试环境
呼吸机系统的测试环境如图12所示,包括单片机主控模块、风机以及连接流量传感器的呼吸管路、呼吸面罩、电脑上位机、外接电源。连接好所有需要的硬件设备后,接通电源,通过USB接口将单片机控制模块与电脑进行连接,上位机检测到串口相关参数匹配后代表硬件与上位机连接成功。当患者点击“启动程序”后,上位机会进行初始化,呼吸管道内的气体流量和气压值都会在上位机的波形显示界面中显示,患者也能在上位机界面中看到相关的呼吸参数,如呼吸状态、呼吸频率等。
5.2 呼吸机系统测试
为了验证所设计呼吸机系统的可行性,对4位患者进行呼吸测试,并对4位患者在1 min内的测试呼吸次数与实际呼吸次数进行了统计,见表1所列。从表中数据可以看到患者呼吸频率的测试值与实际值相同。
系统的上位机界面如图13所示。从图中可以看到,患者此时呼吸正常,其呼气和吸气过程都得到了准确的识别,同时患者的呼吸频率等参数也在上位机进行了显示。从压力波形可以看出,患者在呼气和吸气时的气压值是在设定压力值上下变化的,证明系统能够通过PID实现动态控制,在患者呼气时风机降速使得气道压力降低,患者呼气更加顺畅;吸气时风机转速增大使得气道压力增大,让患者更快速地吸入氧气。
图14是高频呼吸检测结果。从图中可以看到,患者每分钟的呼吸频率超过40次,处于呼吸急促状态,系统仍能准确判断出患者的呼吸状态,完成高频触发。
如图15所示,上位机检测到患者低通气发生后,发送增压指令到单片机,从而使得风机转速增大,使气道压力增强,进而改善患者的通气状况。从图中可以看到,气道压力在PID控制下于1 s内便上升到了设定的压力值,使患者恢复到正常呼吸状态。由此可知,即使是在低通气情况下,本系统仍能精确地识别出患者的呼吸状态,有效避免了传统流量阈值触发算法导致的低通气无法进行呼吸状态检测的问题。
如图16所示,上位机检测到患者发生呼吸暂停后,发送增压指令到单片机,从而使得风机转速增大,使气道压力增强,帮助患者恢复正常呼吸。从图中可以看到,气道压力在PID控制下于1 s内便上升到了设定的压力值,使患者恢复到正常呼吸状态。
6 结 语
本文提出一种基于双传感器和PID控制的呼吸机系统。呼吸机系统在将STM32F407ZGT6作为主控芯片的单片机控制板上采用PID控制实现风机转速控制、串口通信、LED指示灯闪烁、蜂鸣器报警等功能,结合上位机的流量变化率阈值触发算法,对采集的流量数据进行处理,实现对患者呼吸动作的准确判断;结合压力传感器通过PID控制实现通气管道内气压的动态控制。系统能对低通气、呼吸暂停等状况及时做出气压调整,帮助患者恢复正常呼吸,在患者处于呼吸急促情况下仍能实现呼吸状态的高频触发。与传统采用流量阈值触发算法的呼吸机相比,本系统能够在患者发生低通气情况下实现呼吸状态的准确识别,提高了患者使用呼吸机时的通气安全性。
参考文献
[1]朱子孚,马胜才,牛航舵,等.呼吸机的研制进展[J].中国医疗器械杂志,2021,45(4):406-408.
[2] GHAFOOR M J,NASEEM M,ILYAS F,et al. Prototyping of a cost effective and portable ventilator [C]// Proceedings of 2017 International Conference on Innovations in Electrical Engineering and Computational Technologies (ICIEECT). Karachi, Pakistan:IEEE,2017:1-6.
[3]徐诚,成颜琦,唐凌,等.重型/危重型新型冠状病毒肺炎机械通气患者的肺康复策略[J].上海中医药杂志,2020,54(5):24-27.
[4]李杰,张庆勇,李毅,等.呼吸机中的流量触发方式[J].医疗设备信息,2004,19(3):32-34.
[5] MARINI J J,CROOKE P S,TAWFIK P,et al. Intracycle power and ventilation mode as potential contributors to ventilator-induced lung injury [J]. Intensive care medicine experimental,2021,9:1-14.
[6]范霖,陈向东,李宁.基于快速响应湿度传感器的无线呼吸检测系统[J].传感器与微系统,2015,34(3):84-86.
[7]张淼.基于分数阶PID控制器的家用无创呼吸机的研制[D].济南:山东大学,2019.
[8]李少鹏.基于湿度触发方式的无创呼吸机设计与实现[D].成都:西南交通大学,2021.
[9]马树.呼吸机数据采集与分析系统的设计与实现[D].杭州:浙江工业大学,2019.
[10]袁先圣,刘星,叶波. STM32的无刷直流电机控制系统设计[J].单片机与嵌入式系统应用,2013,13(10):17-20.
[11]苏光义.呼吸机电路气路设计与风机控制方案研究[D].天津:中国民航大学,2018.
作者简介:李德鑫(1997—),男,四川宜宾人,硕士研究生,就读于西南交通大学电子信息专业,研究方向为信息感知、获取与处理技术。