基于ARM 的健康监测系统设计

2023-12-08 12:31杨力
电子制作 2023年22期
关键词:脉搏按键温湿度

杨力

(盐城三新供电服务有限公司,江苏盐城,224600)

0 引言

中国心血管报告编写组于2017 年6 月发表了《中国心血管疾病报告2016》,旨在揭示城乡居民心血管疾病死因情况。报告指出,目前心血管病是城乡居民死因的最高占比,农村和城市分别达到45.01%和42.61%。因此,加强心血管疾病的治疗、预防和宣传势在必行,及时了解心脏机能对于预防和治疗心血管疾病至关重要。

动态心电图仪从1957 年Norman.J.Holter 发明至今已有60年历史,是医疗领域不可或缺的电子仪器之一。然而,普通大众难以将这种动态心电图仪运用于日常监测,从而未能在患病初期得到准确检测和及时预防。为此,急需一种方便携带的家庭心率检测仪,以实现心率检测的准确性和便捷性,这是当前心率检测仪器发展的重要方向。目前,最为热门的健康检测仪器是可穿戴式家庭健康监测仪,可实现心率、血压、睡眠等与健康相关因素的测量。市面上大多数心率检测仪器均采用光电心率传感器进行光反射测量,在人体静止状态下,测得数据相对准确;检测仪器应贴近心脏或指尖佩戴,以获得更加准确的数据。因此,现代化健康数据测量仪器的研究与发展具有重大意义。

1 系统设计

本设计整体流程是通过脉搏波传感器将模拟数据送往GPIO 口进行模数转换。将转化得到的数据存储在直接存储器里且将计算得到的心率值存入存储卡内。通过按键来选择用户界面,当按下按键时,会将存储卡数据经过串口发送到LCD。图1 是本设计整体架构图。

图1 系统整体框图

2 硬件设计

■2.1 微处理器的介绍

STM32F103 芯片电路图如图2 所示,在其中上部分的BOOT1 和BOOT0 控制STM32 的启动方式。本设计中将BOOT0 设为1,BOOT1 设为0,则是串口下载代码,下载完后通过FlyMcu 来将程序烧录进入开发板。

■2.2 数据采集模块

本设计需要的身体健康指标包括心率和血压。数据采集模块这部分所要实现的功能是完成两路脉搏波的采集。本设计使用光电容积法测量心率。

该传感器的工作原理如下:其数据输入端口与STM32微控制器的PA1 端口相连,而正极则接入3.3V 电源。通过将PA1 端口配置为模拟输入模式,指尖脉搏信号便可通过该端口传入STM32 的模拟-数字转换器(ADC)模块中。随后,一个定时器会控制采样周期并定时从ADC 模块中采集脉搏信号。在中断函数中处理这些采集到的数据,以计算心率。在使用传感器过程中,应尽量避免强光刺激,并将传感器置于指尖位置。适当使用黑布覆盖手指,可防止光线干扰,从而提高传感器的测量准确度。

如图3 所示,光电式脉搏传感器的实物图主要包括四个部分:光源、光接收器、滤波器和放大器。由于光接收器接收到的电信号为毫伏级别,容易受到干扰且难以检测,因此在传感器内部采用差分放大器对信号进行放大,并通过带通滤波器(频率范围为0.05~200Hz)滤除干扰信号。本设计旨在实现便携式测量,且使用者无需具备专业医学知识,因此选择脉搏波传导时间(PTT)作为血压测量方法。该方法的工作原理是测量两路脉搏波,分别找到每次脉搏的峰值点,然后测量相邻指尖脉搏峰值与桡动脉脉搏波峰值之间的时间差,即PTT。通过血压与PTT 之间的回归方程,可以计算得出血压值。

图3 光电容积脉搏波传感器

如图4所示,其接口是标准耳机接口,正极接入5V电源,数据输入口接STM32 的PA2 口,将PA2 口设置为模拟输入口,将送入的桡动脉脉搏波送往ADC 模块。

图4 HK-2000B 桡动脉传感器

图5 DHT11 接口图

■2.3 温湿度采集

本设计采用了一种成熟稳定的数字传感器,该传感器是温湿度一体化的,并且工作电压为5V。该传感器的温度测量范围为0℃~50℃,湿度测量范围为20%~90%。由于它可直接提供数字信号,因此和STM32 通信时采用单总线连接。在DHT11 接口图中,数据输出口接在PA11 口。每一次的数据传输都是40 个bit,包括十六位的湿度和十六位的温度。在校验和与前四个字节相加的值相等时,数据为正确值,可以直接传递温湿度值给STM32。在主函数中,当按键0 按下时,STM32 会去读取DHT11 传感器的数值。

■2.4 数据存储

要求智能健康监测系统能够存储历史健康数据,因此需要将数据存储下来,并可查询以支持健康分析。为此,本设计选择了存储心率数据的SD 卡,这种容量较大、体积小的存储设备可用于专门健康分析。SD 卡可采用SPI 和SD 总线两种工作模式。由于STM32F103 系列不支持SD 总线,因此本文采用了SPI 模式对SD 卡进行操作。图6 是SD 卡的电路原理图。

图6 SD 卡电路示意图

■2.5 LCD 接口电路

STM32 单片机提供两路排针来外扩2.8 寸LCD。LCD在本设计中用于显示用户健康数据的显示。其电路图如图7 所示。TFTLCD 和STM32 在硬件接口如下所示:LCD_D[17:1]接PB[15:0],LCD-CS 接PC9,LCD-WR 接PC7,LCD-RD 接PC6,LCD-RS 接PC8。

图7 LCD 电路图

■2.6 按键电路

在本设计中,通过按钮来实现人机交互功能。在硬件连接上,如图8 所示。KEY0 接PC5,KEY1 接PA15,WK-UP 接PA0。其中WK-UP 是高电平有效,无上下拉电阻。KEY0、KEY1 均是低电平有效,但是KEY1 有上拉电阻,KEY0 没有,故在配置的时候要注意。

图8 按键电路

3 程序设计

■3.1 主函数设计

主函数模块的主要功能是进行各子模块的初始化,并提供人机交互界面,使用户能够通过不同的按键选择要显示的当前数据和历史数据界面。系统的初始化包括ADC 模块、定时模块、LCD 模块和LED 模块等。在程序中,分别调用DHT11_Init()和SD_Init()进行DHT11 和SD 模块的初始化,利用while 循环进行检测,如果初始化失败,则返回值为1,输出警告信息,导致整个系统停止向下执行,如果初始化成功,则程序继续往下运行。最后,用户可以通过按键选择不同的界面,并在LCD 上显示相应的数据。

图9 主函数流程图

■3.2 数据采集模块

数据采集模块主要是两路脉搏波数据的采集。本设计采用定时器3 和模数转换器一起来采集数据,由定时器控制采样频率。ADC 的配置流程图,如图10 所示。因为要求ADC 时钟不能超过14M,时钟分频因子为6,则ADC 时钟为72M/6=12M。

图10 ADC 流程图

■3.3 数据存储

ADC 数据通过直接内存访问(DMA)进行存储。程序流程图如图11 所示。DMA 参数配置涉及以下几个方面:由于不同的外设触发DMA 时,数据传输通道各异。例如,当ADC 触发DMA1 时,其通道为通道1。因此,首先需要启用DMA 时钟并对通道1 进行复位操作。使用DMA 时,需明确目标地址和源地址,以及数据传输方向和每次传输的数据长度。在本设计中,ADC_DR 数据寄存器作为源地址,目标地址为用于存储两个数据的数组,数据传输方向为从ADC_DR 到数组。启用循环模式,并将数据增加方向配置为内存地址寄存器递增。这意味着当ADC 数据传输完成一次后,数据将递增1。这是因为DMA 最多可存储65536 个数据。当存储空间已满时,系统将自动从头开始,覆盖之前的数据。

图11 DMA 流程图

4 测试结果

测试结果如图12 所示。该智能监测系统界面具有多项功能。当按下KEY0 时,系统将导航至当前健康测量界面;而按下KEY1 时,将跳转至历史健康数据检测界面。在此系统中,HR 代表当前心率值,Temp 表示当前温度值,Humi代表当前湿度值,而Comf 则表示当前的舒适度。当Comf显示为“Comfortable for BPM”时,表明当前环境较适合进行心率测量。该值是通过综合考虑当前温度、湿度以及心率得出的。若显示为“Confortable”,则仅根据温度和湿度判断舒适度,而不考虑心率值。若显示为“Alarm”,则意味着当前温湿度低于维持人体健康所需的环境,提醒用户注意。如需更新数据,用户可继续按下KEY0。此外,用户还可以通过查看串口直接观察数据更新情况。在此系统中,BPM 表示心率值,BP 表示血压值,而最后一行显示的是SD 卡的总容量。Heart Condition 用于表示心率是否处于正常范围内。

图12 测试结果界面

5 总结与展望

本研究首先获取模拟脉搏波数据,经过采样、心率计算和数据存储后,将其与温湿度数据一同传输至LCD 显示器进行展示。通过分析一定范围内的温湿度与心率之间的相关性,得出热舒适度指数。实验结果表明,各个模块的功能均满足预期要求。然而,仍存在以下不足之处,有待进一步优化。数据采集模块所采集到的数据存在较多噪声。为提高测量结果的准确性,应在电路中加入滤波器,以消除脉搏波的基线干扰等。

猜你喜欢
脉搏按键温湿度
温湿度控制器在回收砂冷却系统中的应用
基于有限状态机的按键检测程序设计
基于DSP的多路温湿度监测系统
用心感受狗狗的脉搏
《今日评说》评今日浙江 说时代脉搏
基于温湿度控制的天气预测装置
基于51系列单片机的穿戴式脉搏仪的设计
蒸发冷却温湿度独立控制空调系统的应用
近红外可穿戴设备中脉搏波的呼吸率检测
一种多方向导光按键结构设计