APP下载

基于STM32的便携式低功耗血氧仪的设计与实现

2021-10-13何智慧王锦航刘易婷任新成

关键词:血氧样机低功耗

何智慧,王锦航,刘易婷,任新成,崔 巍*

(1.延安大学 物理与电子信息学院;2.延安大学 附属医院,陕西 延安 716000)

2020年,新冠病毒席卷全球,血氧饱和度是此次新冠肺炎治疗时的一个重要检测指标。当血氧饱和度下降时,往往预示着病人病情逐渐由轻型转为重症。在这种情况下急需医生的看护和治疗。尤其是在医疗资源不足的地方或者疫情大规模发生的地区,有疑似症状的病人需居家自疗,配备一个便携式血氧仪,可以时刻知道自己的病情状况[1]。血氧饱和度是衡量人体生理健康的重要参数,包含了丰富的生理或病理信息,所以对血氧的无创、实时、便携式监测具有重要意义[2]。血氧仪是监测脉搏血氧饱和度的设备,它根据朗伯比尔定律[3-4],对光电容积脉搏波进行处理,从而实现对人体脉搏和血氧饱和度参数的监测[5]。

设计一种便携式低功耗血氧监测装置,通过提高传感器数据采集的精准度、优化数据算法以及降低自身的功耗,来监测人体中的血氧情况。本设计采用STM32F103C8控制芯片、MAX30101传感芯片、OLED显示电路、蓝牙JDY-18模块来设计实现一种高精度低功耗的血氧浓度检测装置[6-7]。通过硬件电路模块的搭建,实现所需数据的采集、传输、存储、动态显示;通过软件编程控制各个硬件模块的工作状态以及数据算法上的进一步优化;实现血氧浓度的便携式动态监测以及显示,并通过无线蓝牙模块将已测量历史数据传输到智能终端。本设计将非介入式生理信号检测技术融入日常穿戴中,为推动智能移动医疗的发展做出一定的基础工作。

1 系统总体方案设计

本系统采用模块化设计原则,硬件与软件相结合的方式。传感器检测电路模块采用可穿戴式高灵敏度脉搏血氧仪传感器MAX30101,它本身集成了完整的发光LED及驱动部分、光电探测器、ADC转换部分以及环境光抑制部分,采集数据信号属于光电容积法[8-9]。光电容积法基本原理是利用人体组织在血管搏动时造成透光率不同来进行脉搏和血氧饱和度的测量[10-11]。通过绑带固定在手腕或手指上,光源发出550 nm附近的绿光去探测动脉血中氧合血红蛋白和血红蛋白,因为绿光比红光具有更强的抗干扰性[12]。透过皮肤组织反射回的光被光敏传感器接收并转换成电信号再经过ADC转换成数字信号,以供控制器对信号进行处理。超低功耗单片机STM32F103C8作为控制器以及数据算法处理芯片,显示电路为0.96寸OLED屏幕,无线传输模块电路使用蓝牙JDY-18。为了更好地进行调试,在实验样机中增加USB上位机调试电路,以便对系统整体进行优化。系统总体框图如图1所示。

图1 系统总体框图

2 系统硬件设计

2.1 传感器模块

MAX30101传感器电路采用I2C传输标准与控制器STM32进行通信。可以通过软件控制来实现零待机电流,从而在空闲时进一步减小功耗。其封装尺寸为5.6 mm×3.3 mm×1.55 mm,内部光电探测部分有超净玻璃进行保护,可以用于设计成手环佩戴式。MAX30101的SCL和SDA引脚与控制器STM32的PB6和PB7相连接,进行检测数据传输,使用I2C双向通信传输协议。INT为MAX30101的中断输入引脚与STM32的PB12连接,低电平有效中断,且需要接上拉电阻。MAX30101的VLED+和VDD引脚使用旁路电容连接到PGND,以便获得最佳探测性能。

2.2 显示及无线传输模块

无线传输电路采用蓝牙JDY-18模块,其RX和TX引脚分别与STM32的PA2和PA3引脚进行连接,用于控制器STM32使用蓝牙协议将数据传送至智能终端设备。显示电路采用0.96寸OLED屏幕,OLED的D0和D1引脚分别与STM32的PA5和PA7相连接,采用SPI协议接口进行数据传输。为了实验样机调试的便利性,加入USB-TTL模块电路。USB-TTL模块的TXD和RXD分别与STM32的PA9和PA10相连接进行数据传输。系统总体电路图如图2所示。

图2 系统总体电路图

3 系统软件设计

软件设计是通过上位机中使用C语言在Keil软件环境中进行。待程序编写完毕后,通过编译器转换为STM32可识别的机器语言,后下载程序至STM32控制器内部的专用存储器,实现STM32对整体硬件电路的时序控制以及对血氧数字信号进行处理。

3.1 血氧数据采集

首先,控制器STM32对MAX30101发送初始化配置指令,MAX30101向待测目标发送绿光信号,MAX30101自带光敏传感器检测反射信号,经 ADC对接收到的模拟信号进行模数转换以便下一步被STM32处理。当STM32检测到数据信号并对其进行有效性判断,如有效则一次信号检测结束,若信号无效则返回无效信号使MAX30101再次发送绿光信号。血氧数据采集软件部分流程图如图3所示。

图3 血氧数据采集软件部分流程图

3.2 信号处理及显示模块的设计

待控制器STM32单片机接收到有效信号后,对信号进行有效提取及数字算法上的处理,最终得到血氧值。在软件算法中,每接收到一次有效信号后,STM32继续给MAX30101发送检测信号指令,重复10次,求得10次信号的平均值后,即为一次完整的检测。进一步,控制器STM32将血氧值通过SPI协议接口显示在OLED显示器,并存储数据于STM32自带的寄存器中。信号处理及显示模块程序流程图如图4所示。待用户通过智能终端连接蓝牙时,发送读取历史保存数据指令后,蓝牙模块读取STM32寄存器中数据,并向智能终端发送。

图4 信号处理及显示模块程序流程图

4 实验样机测试

硬软件调试完毕之后,为了进一步验证实验样机检测数据的准确性,使用医院专业血氧仪测试的数据和实验样机进行对比,样机测试地点选在延安大学附属医院进行。测试选取男女不同8人作为测试对象,同一时间分别使用左右手腕进行测量。每个测试者先左手使用实验样机,右手使用医院内血氧仪,然后左右相互交换取2次测试结果的均值作为一名测试者的数据。测试的血氧饱和度数据对比表如表1所示。实验测试结果表明,实验样机具有良好的精度以及稳定性,且与医院血氧仪的误差率最高为2%,平均误差率为1%。使用手机蓝牙连接实验样机,手机端可以方便地读取已测历史数据并显示相应的测试时间。

表1 实验样机检测数据与血氧监护仪结果对比

5 结语

本文采用硬件电路搭配软件编程控制与数据信号处理,实现人体血氧浓度检测、显示、蓝牙无线传输数据至智能终端。系统使用超低功耗单片机STM32为控制器以及数字信号处理器,整机可用3.3V电压供电,实现超低功耗的同时且具有很好的便携性。实验样机可以把系统整体尺寸控制在4 cm×4 cm×1.5 cm,同时有待进一步开发专用PCB板,把系统整体尺寸控制在2 cm×1 cm×1 cm上。样机实验测试结果表明,样机具有良好的准确性及稳定性,可实现人体血氧浓度实时动态监测。

猜你喜欢

血氧样机低功耗
复合材料结构的低功耗冲击区域监测方法
基于PD控制的仿昆虫扑翼样机研制
精心准备,蓄势待发——广日电梯地铁项目样机验收顺利通过!
脉搏血氧饱和度监测在胸外科中的应用
核芯互联发布高性能ADC模数转换器
基于无线技术的医用血氧监测系统的设计与应用
Dunnnk让设计作品更加形象逼真
雄安新区出现基于区块链技术应用的智慧垃圾收集器样机
无创呼吸机应用于治疗ICU病房重症心力衰竭合并呼吸衰竭患者的临床研究
基于STM32血氧心率检测仪的研制