一种智能型血氧检测仪设计与实现
2021-03-30罗志坚赵展飞马南丞
黄 峰,罗志坚,赵展飞,马南丞
(1.湖南工程学院 电气与信息工程学院,湘潭411104;2.湖南康验医疗科技有限公司,长沙410011)
血氧检测仪主要用来检测血液中的血氧饱和度,如果人体血氧浓度低于94%,一般视为供氧不足.2019年末新冠肺炎疫情开始蔓延,至2020年8月初,全球确诊超过1800万人[1].新冠肺炎死亡率高,体征指标典型表现有血氧浓度下降.为提高治愈率,患者需使用血氧检测仪实时监测血氧浓度.另外,血管疾病、呼吸系统疾病患者、老年人等大都需要血氧检测仪[2],需求量不少.
血氧饱和度指标十分重要,如何科学准确测量是研究的重点,国内外医疗公司对血氧检测技术进行了专利布局[3].文献[4]以MSP430单片机为开发平台,设计一种便携式无线脉搏血氧检测仪,采用新型的腕式血氧探头,用户佩戴和测量更加方便.文献[5]提出了一种以MSP430F5529为处理器,TI AFE4400为血氧模拟前端芯片的反射式脉搏血氧饱和度检测方案.文献[6]设计一种以MAX30102血氧饱和度和心率的集成芯片为传感器,nRF52832为微处理器的穿戴式血氧饱和度检测系统,具有准确性高的特点.
本文采用价格便宜、功能强大的STM 32单片机,设计实现一款智能型血氧检测仪,原理简单、测量结果准确,为新冠肺炎、心脑血管等疾病的早期筛查、预防干预提供科学有效的技术手段.
1 智能型血氧检测仪设计
1.1 检测原理
根据Beer-Lambert定律,不同波长红外光的吸光度变化率之比值R/IR与动脉血氧饱和度(SaO2)的函数关系为线性关系[7].检测仪通过检测充血人体末梢组织,如手指或耳垂等部位的R/IR值计算动脉血氧饱和度(SaO2).
1.2 硬件设计
硬件原理如图1所示,微控制器采用STM 32单片机,型号为STM 32F103C8T 6.硬件包括血氧模块、电源模块、按键模块、存储模块、语音模块等模块,以实现血氧饱和度检测、语音播报、LCD显示等功能.
图1 硬件原理图
(1)血氧模块
血氧模块采用MAX30102,如图2所示,VCC和GND分别接单片机的电源和地;SCL、SDA是标准IIC接口,内部已接上拉电阻;INT为中断引脚,低电平有效,可查询该引脚来判断MAX30102数据是否准备好.
图2 血氧模块
(2)电源电路
电源电路采用两个AMS1117-3V3稳压芯片,将外部输入的6 V电压稳压到3.3 V.配置四个电容对电源滤波使电压稳定,通过两个上拉电阻接入两个LED,作为指示灯,如图3所示.
图3 电源电路
(3)按键电路
将STM 32单片机3个GPIO端口连接到3个按键,构成按键电路,如图4所示.3个按键分别是开关、设置和记忆功能,其中开关按键控制系统电路通断,设置按键可设置单位和开关声音,记忆按键控制EEPROM数据的存储和显示.
图4 按键电路
(4)存储电路
将STM 32的两个引脚与EEPROM的时钟线和数据线相连构成存储电路,如图5所示.电路采用滤波电容稳定芯片电压.通过记忆按键实现数据的存储.
图5 存储电路
(5)蓝牙模块
采用低功耗HC-08蓝牙模块.通过调用微信小程序中蓝牙连接模块的API实现与手机的数据传输.
2 系统软件设计
包括嵌入式系统C语言程序设计和微信小程序设计.嵌入式系统编译平台为Keil.微信小程序采用腾讯官方的微信开发者工具.
(1)血氧检测模块
利用AT指令集向血氧模块发送开始测量、结束测量等指令.利用switch语句,将接收到的数据进行解析封装,再通过蓝牙发送解析后的数据,将血氧数据存储到flash上,通过记忆按键存储、显示血氧历史数据.
(2)按键检测模块
通过Key_Read按键检测函数,读取键值.函数中调用HAL_GPIO_ReadPin()函数接口.利用3个if条件语句,循环检测是否有按键按下,利用key_num变量标记键值.
(3)微信小程序
微信小程序基于JavaScript、HTML两种语言以及CSS样式开发.血氧检测仪通过HC-08蓝牙和手机进行匹配,然后建立数据连接.微信小程序接收到数据,对数据进行处理,在软件界面进行显示.同时将数据保存到云数据库,便于异地查询和历史数据查询.软件流程图如图6所示,采用丰富的AT指令,减少项目开发的难度,有利于研发并投放市场.
图6 软件流程图
(4)云储存
利用微信小程序的云服务,创建数据库.数据采用键值对的格式存储数据,在处理数据页面,将接收数据时的时间赋值给出变量,调用云数据库的存储API,将数据存到创建的数据库中.
3 系统测试
3.1 硬件测试
按下电源按键,打开智能型血氧检测仪.使用夹具夹住手指,按下开始按键,血氧检测仪开始测量.结束后,测量结果在LCD屏幕上进行显示.为得到准确、稳定的测量结果,要求测量过程保证时长.测量结束后,通过HC-08蓝牙模块将测量的血氧数据发送到手机中的微信小程序进行显示和存储.
硬件电路连线测试效果如图7所示.
图7 硬件测试效果图
3.2 软件测试
利用微信小程序将血氧检测仪通过蓝牙协议传输来的数据进行处理.设置监听函数、监听数据,并将数据存到数组中.数据可通过小程序显示,如果按再测一次按钮,可把当前的数据清空,微信小程序将继续监听、接收传过来的数据.测量结果如图8所示.
图8 血氧仪测量结果
4 结论
基于STM 32单片机、HC-08蓝牙模块,设计实现一种智能型血氧检测仪.可通过手机上的微信小程序便捷、准确地得到人体血氧饱和度,并查询历史数据.该研究可服务新冠肺炎等疾病的早期筛查、健康监测,保护人民群众的身体健康.