[A-无线运动传感器节点设计] A题-南京信息工程大学-无线运动传感器节点设计

[复制链接]

145

主题

249

帖子

7517

积分

管理员

1111

Rank: 9Rank: 9Rank: 9

积分
7517
楼主
查看: 6397回复: 0 发表于 2020-12-8 15:50:20   只看该作者
摘要
本系统以stm32 作为主控芯片,基于TI 模拟前端芯片ADS1292、温度传感器LMT70、设计制作无线运动传感器节点。该节点采用锂电池供电,保证了便携性,并通过对应传感器将使用者心电信息、体表温度和运动信息在LCD 屏上实时显示,同时可以上传节点传感数据到移动终端中,然后实现数据显示。另外在心电检测中使用了MATLAB 进行仿真滤波和算法的设计,保证了各项数值的准确性。

关键词:STM32 传感器物联网心电检测差分

1. 设计方案工作原理
1.1. 预期实现目标定位
根据题目要求,以STM32 芯片为控制和处理核心,制作一个无线运动传感器节点。产品可以实现实时测量使用者的心电信息、体表温度和运动信息并实时上传至移动终端。

1.2. 技术方案分析比较
(1)前端滤波模块
方案一:搭建硬件带通滤波器,实现滤波。前端滤波的目的是滤去心电检测中的杂波。但是本题使用的模块ADS1292 集成度较高,难以添加外部硬件模块,且硬件实现本题所需阶数滤波器的难度较大。
方案二:利用MATLAB 仿真设计161 阶FIR 数字滤波电路,实现通频带为5Hz~40Hz。该方法可以节省硬件资源,通过软件高效实现题目要求的带通滤波,得到相对准确的波形,有益于后续数据的处理。

综合考虑,本设计选用方案二。

(2)加速度计模块
方案一:JY-61 模块的是一种六轴模块,采用高精度陀螺加速度计MPU6050,且自带卡尔曼滤波模块,有效降噪,提高精度。

方案二:GY-521 模块是一种三轴模块,也采用MPU6050,但需要自己设计滤波模块,较为麻烦。

方案三:CJMCU-280 模块由于没有相关例程代码和滤波模块,难以调试。

综合考虑,本设计选用方案一。

1.3. 系统总体方案
(1) 系统总体结构如图1.1
本系统以STM32F103ZET6 作为主控芯片,主要由可充电锂电池、稳压电源模块、ADS1292 心电检测模块、LMT70 模块、ATK-MPU6050 六轴传感器模块和无线传输模块ESP-8266 等组成。

图1.1 系统结构框图

(2)工作原理
系统以7.4V 可充电锂电池经稳压电源模块供电,通过STM32 以SPI 控制三个传感器模块,收集到数据后进行计算,最后上传到上位机移动终端。本次我们使用ADS1292 模块采集心电信号,LMT70 模块测量体表温度,MPU6050 模块测量运动信息。此三个模块皆通过SPI 与MCU 通信。本次我们使用MATLAB 的FDATOOL 工具设计了161 阶数字带通滤波器来处理噪声干扰信号。此次测量主要的噪声干扰信号为0.05~2Hz 的基线漂移,30~2000Hz 的肌电干扰,以及50Hz 的工频干扰。

2、核心部件电路设计
心电模块ADS1292 原理图如图2.1 所示。

图2.1 ADS1292 原理图


3、系统软件设计分析
本文软件系统主要由心电检测模块,加速度检测模块,温度检测模块和互联网模块四部分组成,通过按键在TFTLCD 显示屏上切换模式,实现对数据或者波形的高实时性动态显示。

3.1 心电模块
本文采取商家提供的ADS1292 模块采集心电信号,此模块首先对信号放大6倍,并进行滤波,通过500SPS 的高频AD 转化持续向stm32 单片机输送数字信号,单片机根据信号实时显示波形。

3.1.1 前端滤波设计
前端滤波设计如图3.1 所示,通频带为1.2~40Hz。

图3.1 数字带通滤波设计


3.1.2 R 波检测算法
本文采用差分阈值法寻找R 峰,通过差分寻找到离散信号的极大值,再判断函数值是否满足阈值的条件,即波动幅度达到一定数值,来鉴定极大值是否就是R峰;根据QS 峰分布特性,在检测到R 峰之后,于附近50ms 寻找Q 峰和S 峰,计算RS 间期;根据R 峰200ms 不应期的特性,设置200ms 延时,再寻找后续R 峰,同时过滤T 波,标记R 峰,计算RR 间期,以此测算心率;倘若相邻两次RR 间期相差过大,开启蜂鸣器报警。

3.1.2 阈值的选取以及校正
程序最初采用经验阈值寻找R 峰,但此阈值未必适用于任何波形,在实际波形中存在基线漂移等状况导致阈值不合适,因此本文通过分析前5 秒的波形数据,计算合适的阈值,处理后续波形,直到心率,RR 间期等指标稳定。即便如此,此阈值不能完全满足实际波形的处理,还需要动态调整,本文采用
BP 神经网络反向误差传递的思想,根据R 峰和阈值的差值对原阈值进行略微的修正,实现阈值的动态修正。

3.1.3 R 峰的定向
在R 峰选取之前,必须先确定R 峰的朝向,不然会影响R 峰识别以及心率等指标。本文计算样本的最大值与最小值相对平均值的偏移量。倘若最大值偏离程度较大,则R 峰正向,否则R 峰反向。

图3.2 心电模块流程图



3.2 温度模块、无线传输模块以及加速度计模块
本文采用LMT70 芯片采集温度,向单片机输出模拟信号,单片机通过ADC对信号进行实时监测并显示。实际监测过程中,温度跳动严重,我们通过添加软件滤波(递推均值滤波)实现示数稳定,流程如下图所示。加速度计模块采用MPU-6050 六轴传感模块,使用者手握传感器,单片机计算x、y 方向的加速度的测算,计步数并根据步数计算行走距离,同时采用简易软件滤波,完成数据的准确测算,流程图如下图所示。无线传输模块采用ESP-8266 模块,实现与上位机通信。

图3.3 加速度模块流程图
图3.4 温度模块流程图


4、竞赛工作环境条件
4.1 设计分析软件环境
MATLAB, Keil-MDK5.23, Altium Designer

4.2 仪器设备硬件平台
万用表,示波器,电源,远程显示端

5、作品成效总结分析
心电检测基本在屏幕中间显示,RS 间期精度为1ms,测试值稳定在30ms 左
右,心率测试精度为1 次/min,测试值实时更新。温度模块精度为0.1℃,测量数
值相对稳定,加速度计测量的距离按每步60cm 来计算。

1 心电信息测量
1.1 心电信号波形测量结果

图(a)心电信号模拟器测量结果
(b) 实际人体测量结果

1.2 QRS 时间测量

测量次数
RS 时间标准值

(ms)

RS 时间实际测量值

(ms)

误差

(ms)

1
32
30
-1
2
32
33
1
3
32
31
-1


1.3 心率测量

测量次数
设置值(bpm)
实际测量值(bpm)
误差(%)
1
80
80
0%
2
90
89
1.11%
3
100
100
0%

  
   
  
1.4 超过20%是否报警?_____是________

2 温度测量

测量次数
水银温度计测量值(°C)
系统测量值

(°C)

误差

(°C)

1
36.6
36.9
0.3
2
36.4
36.6
0.2
3
36.7
36.6
-0.1


3 步长和距离测量
测试次数
实际行程
系统测量
​值误差
步数
距离
步数
距离
步数
距离
1
10
5.9m
10
5.5m
0
0.4m
2
102
63m
104
57.2m
2
-5.8m
3
447
250.2m
463
254.65m
16
4.45m
4 远程显示界面




参考资料及文献
[1] 孙金平.基于LabVIEW 的远程心电监护系统设计[J].电子科技,2015,28( 10) : 173 - 175.
[2] 刘一,任占兵. 基于安卓手机的远程心电测量系统的设计[J]. 电子器件,2015( 1) : 194 - 197.
[3] 聂希芸. 基于差分绝对值的R 波检测算法研究[D]. 昆明: 云南大学,2011.
[4] 肖波. 浅议基于DSP 的心电信号检测系统[J]. 科技创新导报,2012( 27) : 139 - 139.
[5]彭保基. 基于蓝牙及Android 的便携式心电仪的设计与实现[D]. 长春: 吉林大学,2014.
[6] ADS1292、LMT70、ATK-MPU6050、ESP-8266 数据手册.

附件材料








A题-南京信息工程大学-无线运动传感器节点设计.pdf (1022.86 KB, 下载次数: 4)



快速回复 返回顶部 返回列表