无线运动传感器节点设计

2023-09-24 12:58韩佳芳
企业科技与发展 2023年6期

韩佳芳

摘要:现代社会人们的竞争压力大,很多人身体处于亚健康状态,因此利用可穿戴设备监测自身健康状况成为康养领域的发展趋势。为了设计一种更加智能的检测设备,文章提出无线运动传感器节点设计,通过ADS1292 模拟前端芯片设计心电检测电路,使用DS18B20温度传感器检测人体体表温度,利用ADXL345三轴加速度传感器判断使用者的运动状态,并远程显示动态的人体心电图和人体体表温度等信息。测试表明:该装置功耗低,可穿戴在人体上实现各项监测功能,例如能够实时监护动态心电信号、采集体表温度、测量运动步数和运动距离;使用串口显示屏实现无线传输和指标显示,具有较强的抗干扰能力。

关键词:无线运动传感器;ADS1292芯片;ADXL345传感器

中图分类号:TP3  文献标识码:A   文章编号:1674-0688(2023)06-0021-03

0 引言

可穿戴设备是近年新兴的智能产品。智能可穿戴产品多与手机客户端结合使用,最常见的有智能手环、智能手表和智能眼镜等。可穿戴设备在技术、用户、产业的推动下快速发展,吸引了越来越多的大众群体[1]。智能手环的设计中运动信息主要通过加速度传感器采集,而目前的加速度传感器所采集到的X轴、Y轴、Z轴数据,其时序特点和目前市面上处理语音识别的信号具有相同的方式,或者说是由语音识别处理的信号发展而来的[2]。SAUNDERS[3]在1953年第一次用加速度传感器辨识人体的运动动作,但技术成熟度不高,加速度传感器无法集成传感器芯片,體积庞大且价格较高,因此没有得到推广使用。三轴加速度传感器集成一个芯片后,采集了大量的人体活动作为研究样本,通过数据计算出身体消耗的卡路里和步数等信息[4]。

智能手环的不断发展促进了低成本、低功耗、多功能无线传感器的发展[5]。这些无线传感器体积越来越小,并且具有感知人体信息、处理数据和短距离通信的能力。基于以往的研究基础,在心电传感器、体表温度传感器和三轴传感器技术成熟的情况下,本文提出了无线运动传感器节点设计。该设计通过STM32单片机对传感器进行组合,监测人体的身体状态,通过无线网络上传运动后的距离和步数,记录运动时人体的心电图、心率变化和体表温度,并且能够穿戴在人体上实现各项指标监测功能。

1 无线运动传感器节点设计方案及配置选择

1.1 设计方案

本设计采用的方案如下:使用STM32单片机为控制核心,通过控制ADS1292心电模块采集使用者的心电数据,通过串口向串口屏发送心电数据并计算心率;使用HMI串口屏上位机软件显示GUI界面,加入控件,通过控制DS18B20温度传感器采集使用者的体表温度;通过ADXL345加速度传感器采集使用者的三轴数据,计算使用者的步数和运动距离;把采集到的数据分别发送到HMI串口屏的控件上,再通过串口将这些数据通过ESP8266WIFI模块发送到PC端;使用QT开发软件设计PC端的GUI界面,通过接收到的数据,在PC端界面显示出使用者的心电图波形、心率、体表温度、三轴数据、步数和运动距离。

1.2 单片机的选择

(1)使用AT89C51单片机作为本设计的控制核心。

(2)使用STM32F103作为本次无线运动传感器的CPU方案。

(3)使用QT开发GUI程序,设计一个能够显示心电波形、心率、运动距离和步距界面的控制台或服务器。QT可以通过C++开发,设计Windows系统和Linux系统的图形界面,通过ESP8266WIFI模块连接PC端的热点,建立通信,上传数据,在GUI界面上显示心电波形、心率、运动距离和步距等数据。

1.3 通信模块的选择

通信模块选择使用ESP8266WIFI无线通信模块,该模块具有功耗低、上传数据快、价格低、开发容易上手等特点,只需使用串口发送AT指令即可支持多设备互相通信。

综合以上选择,使用STM32F103芯片与QT编译后的GUI界面相结合的方式,利用ESP8266WIFI模块作为通信桥梁,实现无线运动传感器节点。

2 无线运动传感器节点电路设计

硬件电路设计方案采取每个功能子模块分开设计,再将这些子模块组合在一起的方式,形成的整体硬件电路设计图如图3所示。

2.1 单片机控制模块电路

STM32F1单片机是控制核心最基本的实验电路,共有3个串口、2个I2C接口、2个SPI接口和7个定时器。使用的引脚有80个快速IO口,可用于设计复杂的电路系统。

2.2 STM32F1核心板的时钟电路和复位电路

要正常运行单片机,就需要设计时钟和复位电路。本设计使用的是STM32F1的单片机,因为STM32F1的复位方式有多种,所以可以选择使用时钟和复位电路。

2.3 ADS1292心电模块电路

ADS1292心电模块由ADS1292R芯片设计,在模块内设计一个电平芯片兼容5V和3.3V的单片机,芯片内部有一个放大电路,增益采集的电压。ADS1292R芯片含有便于携带的心电图,与普通手环相比,只有心率值监测不同,可通过计算得出心率值功能。ADS1292模块使用SPI通信,模块电路中有5V转3.3V电路,加上电平转换芯片,兼容8位单片机和32位单片机。

2.4 ADXL345加速度传感器模块电路

ADXL345加速度传感器模块电路原理是基于ADXL345三轴加速度传感器的分析与计算。可使用I2C和SPI进行中断,中断模式灵活,可以映射到单片机中任何一个中断引脚,通过串行命令选择适合的测量范围,也可以通过串行命令选择合适的带宽;其适合温度为-40 ℃~+85 ℃,抗冲击能力高达10 G。

2.5 HMI串口屏和接口电路

HMI串口屏是一款采用上位机写指令方式、通过触摸控件显示的屏幕,其CPU处理器为STM32,用上位机写指令实现屏幕的显示、中断、定时和触摸。上位机指令编程软件的控件功能强大,只需选定控件,在控件的触发事件写上相对指令,就可以控制该控件。

2.6 电源模块电路

本设计通过电池供电,电源选择疾风锂离子聚合物电池,其电解质溶液是有机溶剂,锂离子聚合物电池具有能量高、体积小而轻薄及安全性高等优点。

2.7 WIFI模块电路

本设计使用的无线传输模为ESP8266WIFI模块,该模块使用串口与其对应的单片机进行通信,模块内含TCP协议,通过使用TCP协议可以进行网络数据发送和数据下载。数据传送是通过单片机的串口发送AT指令控制ESP8266模块的方式实现。

3 无线运动传感器节点软件设计

3.1 ADS1292心电模块程序设计

首先进行初始化处理,将与ADS1292连接的IO口设置为SPI模式,其次设置ADS1292芯片的DRDY引脚为上拉输入,并设置该引脚为中断输入功能和中断功能。驱动程序分为读取72位数据、噪声设置和正常信号采集3个子程序。系统上电后,设置内部噪声模块,读取噪声数据和测试信号,确定芯片正常工作后发出采样指令,读取正常心电信号。需要特别注意的是,在正常采样时要把内部1 mV的测试信号关闭。

3.2 ADXL345加速度传感器的驱动程序设计

ADXL345模块IIC测试程序:首先,初始化ADXL345模块,初始化的方式是将IIC接口通过IIC给器件写指令,读地址的指令是0XA7,写地址的指令是0XA6。其次,使用写寄存器的方式,给器件设定测量范围、采样速率、电源模式和X轴、Y轴、Z軸的偏移量。采用读取10次的X轴、Y轴、Z轴数据值分别取平均值的方式进行数据校准,取X轴、Y轴、Z轴的具体数据,读取6个字节,X轴数据是第一个字节与第二个字节相加;Y轴数据是第三个字节与第四个字节相加;Z轴数据是第五个字节与第六个字节相加。

3.3 无线传感节点与服务器连接

(1)设计DS18B20温度传感器驱动代码,使用单片机读取温度传感器时序,通过算法进行温度转换;使用ADS1292心电模块的驱动程序和ADXL345加速度传感器模块的驱动程序作为底层驱动程序,修改驱动程序的IO为STM32F1核心板上所对应的IO口程序。

(2)将以上测试好的各驱动程序加入RT-Thread操作系统,通过操作系统的任务调度,同时运行驱动程序;通过串口发送数据到HMI串口屏,使用HMI串口屏上位机给HMI串口屏添加控件,最后HMI串口屏显示测试到的数据。

(3)将ESP8266WIFI模块接入STM32F1核心板的串口2,通过向串口发送AT指令测试ESP8266WIFI模块的通信,测试方式是在笔记本电脑开一个热点,使用WSP8266WIFI模块接入笔记本热点发送AT指令。

(4)使用QT编程,设计一个在Windows系统上运行的界面,不间断地实时显示心电波形。

4 无线运动传感器节点设计的调试与验证

4.1 调试步骤

(1)调试ADS1292心电模块:选择使用心电模拟器、发生器信号模拟仪FK550,利用心电信号模拟仪输出正常心电波形信号,通过ADS1292心电模块采集并显示心电波形。

(2)调试温度模块:使用红外体温枪测试人体体表温度,与温度传感器进行对比、校准。

(3)调试ADXL345加速度传感器模块:通过在设定的5 m直线范围内来回走动进行调试,注意按正常走动摆臂的幅度进行三轴数据记录,通过记录设定参数值,用于计算运动步数和距离。

(4)调试上传PC端的数据:测试心电波形是否上传,实时查看界面心电波形和心率的变化,通过握紧或搓手改变手心温度,通过运动摆臂查看三轴的数据和运动信息。

4.2 验证结果

通过改变心电模拟器的旋钮,改变其心率值,则无线运动传感器节点采集到的心率值也会发生相应变化。在实际走路测试中,可通过ADXL345加速度传感器看到三轴数据、步数和步距的变化。上传的PC图形化界面与无线运动传感器节点上的HMI串口屏上显示的数据一样,误差极低。成功上传后的数据,通过做成电池供电的形式,可将节点做成手表形式绑在手臂上,在查看运动距离和步数的同时,也不会影响正常的走路摆臂。

5 结语

本无线运动传感器节点设计使用串口屏显示心电波形数据,通过预存的方式,让心电波形慢慢往后推移,实时显示心率、温度、步数和步距等。本设计通过QT设计出图形化界面,在方案上也可使用开源的蓝牙或其他安卓应用软件。本文设计的PC端图形化界面,成功上传了心电波形的数据,能显示完整的心电波形和其他实时上传数据。本设计存在一些不足,如果ESP8266无线模块与所接入的服务器距离过远(20 m左右),连接就会中断。改进办法是像传统设计运动手环一样通过网络将数据上传到云平台,在云平台对数据进行管理和分析,然后上传到手机或PC端的App界面。此外,对于一些计算的误差,比如温度误差,可以使用更精确的温度传感器降低误差,例如通过专业的医学测温传感器获取更精确的温度值。

6 参考文献

[1]速途研究院.2017年上半年可穿戴设备市场分析报告[J].互联网天地,2017(8):21-23.

[2]王洪斌,基于三轴加速度传感的人体行为识别研究[D].无锡:江南大学,2014.

[3]SAUNDERS J B,INMAN V T,EBERHART H D.The major determinants in normal and pathological gai[J].Journal of Bone & Joint Surgery-American Volume,1953,35(3):543-558.

[4]BLAIR S N,BRODNEY S.Effects of physical inactivity and obesity on morbidity and mortality:current evidence and research issues[J].Med Sci Sports Exerc,1999,31(11 Suppl):646-62.

[5]GUO S S,CHUMLEA W C.Tracking of body mass index in children in relation to overweight inadulthood[J].Am J Clin Nutr,1999,70:145-148.