[A-无线运动传感器节点设计] A题_湖南赛区_湖南科技大学——无线传感器节点设计(思科.JX)

[复制链接]

0

主题

1

帖子

134

积分

二氧化硅

Rank: 2

积分
134
楼主
查看: 5186回复: 4 发表于 2020-10-26 14:42:58   只看该作者
本帖最后由 hcx66 于 2020-10-27 10:15 编辑

摘要

本设计以STM32F103ZET6单片机为控制核心,结合模拟前端芯片ADS1292和温度传感器LMT70及MPU-6050分别实现心电信号、体表温度和运动信息的采集。ADS1292电路部分实现对心电信号采集转换并通过SPI接口传输给单片机;LMT70传感器电路将采集的信息传送到单片机ADC端口;MPU-6050采集人体运动步数及路程信息。通过TFT显示屏实现了采集信息的显示,并通过蓝牙模块将采集到信息发送到由AppInventor开发的服务器端,进行信息的动态显示。经测试,系统已完成动态心电图显示,心率测量,温度采集显示,运动步数和运动距离的记录。单片机和服务器端都能连续长时间的储存与回放测量的数据,并将结果显示在屏幕上。系统还可以对不正常的心率和体温进行报警,本设计稳定性高、人机交互友好。

关键词:单片机;心电信号;无线传输;服务端

一、系统方案1.     方案描述
本系统主要由单片机最小系统、心电测量电路、温度传感电路、运动传感电路、TFT显示电路、无线传输电路、语音播报电路以及服务器(手机)端组成,系统框图如图1所示。







图1系统结构框图
2.     方案比较与选择(1)   处理器方案比较与选择
方案一:选用AT89S52单片机,该单片机具有体积小,使用方便灵活,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点,并且单片机的功耗低,价格低廉。
方案二:采用STM32单片机,STM32系列单片机是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。具有中断处理能力强,高性能、低成本、低功耗等优点,适合实时、高速的应用领域。
方案三:用FPGA(Field Programmable Gate Array,现场可编程门阵列)等可编程器件集成在一块控制芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真调试,易于进行功能扩展。
综合题目要求考虑,STM32单片机具有较高的时钟频率,内部资源丰富,性价比较高,满足题目需求。所以选择方案二。
(2)   加速度传感器方案比较与选择
方案一:使用ADXL345模块,它是一款超低功耗的三轴加速度计,分辨率极高,测量范围较大,可以测量静态重力加速度或动态加速度。其优点是可以通过SPI或IIC数字接口访问,技术通用。缺点为利用加速度测量时,震动对加速度计的影响很大,只有在振动很小甚至没有振感的时候,元件的感测姿态才最真实。系统初始化会产生抖动,会出现算法无法解决的倾斜。
方案二:使用MPU6050加速度传感器。它是6轴运动处理传感器,集成了3轴陀螺仪,3MEMS加速度计和一个数字运动处理器DMP,扩展之后可以通过IIC接口输出。其优点是组件方案多,小振动对加速度计影响较小。其缺点是存在零偏漂移误差、随机漂移误差。
综合题目要求考虑,为减小人体微小振动对计步产生的影响,本次设计采用方案二。
(3)   无线通信方案比较与选择
方案一:采用WIFI模块,它使用的协议为802.11标准,工作在2.4GHZ频段,用于无线局域网接入,具有覆盖范围广、传输带宽大等优势。但是WIFI不具备自组网能力,而且功耗高、传输稳定性较低。
方案二:采用HC-05蓝牙模块。蓝牙采用时分双工传输方案实现全双工传输,其工作在2.4GHz频段。与其他频段的通信方式相比,蓝牙通信跳频快、数据包短、传输稳定,而且功耗相对较低,传输带宽较大,支持点对点及点对多点通信。
综合上述分析,蓝牙通信稳定性好、功耗低,带宽大,故选用方案二。
二、理论分析与计算  
1.  心电测量方法
(1)    P波振幅
P波振幅测量的参考水平以P波起始前的水平线为准。正向振幅自P波起始水平线上缘垂直地测量到波的顶端,负向振幅自P波起始水平线下缘垂直地测量到波的底端。
(2)    PtfV1振幅
   若P波呈双向,电压算术和大于0.2mv。测量时,自P波起始水平线下缘作水平延长线与P波下降支相交,此交点与P波终点之间的水平间距为P的负向波的宽度,水平线与负向波底端的垂直距离为波的深度,见图2。
由于是负向波,应在乘积前加负号,即PtrV1无论大小均为负值,单位为mms。
                      PtfV1=-1mm*0.04s=-0.04mm·s                    (1)
                                                   
图2 PtfV1的测量和计算

(3)   QRS振幅
QRS振幅的测量采用QRS起始位置水平线作为参考水平。如果QRS起始部为一斜段应以QRS波起点作为测量参考点。向上的QRS波成份(R,R′等)自QRS起始部上缘垂直地测量到波的顶端,向下的波(Q、S等)自QRS起始部下缘垂直地测量到波的底端。
(4)   心率的计算
心率为每分钟内心动次数,其单位为:次/min(Bmp),测量心率的方法有二种:
    ①测量6秒内P波或QRS波群出现的数目:
在心电图上,以P波或QRS波群起始部作为起点,测量至6秒处作为终点,清点6秒内 P波或QRS波群的数目(N)乘以10,即为每分钟的心率(Bmp)。
                              Bmp=N*10                             (2)
②测量R-R间期:
测量若干个RR间期(一般要求至少测量5个或5个以上),计算其平均值(T),代表一个心脏激动周期的时间,为两个R峰的间隔,以秒(s)为单位,则60/(R-R间期)。
                              Bmp=60/T                              (3)
2.      体表温度测量方法
温度通过LMT70进行采集。温度传感元件由简单堆积的BJT基发射极结组成,这些结被电流源偏置。然后,在连接到输出开关之前,温度传感元件被精密放大器缓冲。输出放大器有一个简单的AB类推挽输出级,使该设备能够轻松地产生和吸收电流。下面是温度算法公式,Temp 是温度值(p1=-0.1913;p2=209.6),VTAO是AD采集TAO端口的电压(单位mV)。
                        Temp = p1*VTAO (mV) +p2                    (4)
3.      运动量的统计
通过MPU6050测量当前人体三个轴向加速度,利用STM32的IIC协议从MPU6050中读取数据,然后通过对数据做峰值检测来计算人体运动步数。为避免振动,通过设置上下门限进行有效排除并进行自适应调整。运动距离(S)则为人体运动步数(N)与步长(I)的乘积。
                                  S=N*I                             (5)
三、电路与程序设计
1.  电路设计
(1)   最小系统电路
最小系统电路采用基于ARM Cortex-M3内核的微处理器STM32F103ZET6。电路图如图3所示。
     
图3 STM32最小系统原理图
(2)   心电测量电路
该电路采用TI公司专用于生物电势测量的模拟前端芯片ADS1292。该芯片具有两个低噪声PGA和两个24位的模数转换器,同时其高达120dB的共模抑制比和和内置右腿驱动功能有效实现心电信号采集和转换。其电路图如图4所示。
     
图4 ADS1292心电测量电路
(3)   温度测量电路
     
该电路采用TI公司精密模拟温度传感器LMT70。其电路图如图5所示。
图5 LMT70温度测量电路
(4)   MPU6050传感器电路
     
MPU6050六轴传感器芯片集成3轴陀螺仪和3轴加速度计,每个轴对应有一个16位AD,陀螺仪和加速度分别采集x轴、y轴的电压值,然后通过AD转换成数字信号,再通过IIC总线传送到控制芯片,最后经处理得到实际的加速度。其电路图如图6所示。
图6 MPU6050传感器电路
2.      程序结构与设计
(1)   系统软件框图
软件部分采用模块化程序设计方法,由主控程序,ADC采集分析子程序,无线传输子程序,归一化数据处理子程序等组成。编译环境为Keil5。软件主程序流程如图7所示。
     
  图7系统软件框图
(2)   核心算法流程图
① 波形显示算法
现将采集的电压值转换成液晶上的高度,得到坐标本,再将两点坐标连线波形显示的流程如图8所示。
     
图8程序流程图
② 心率算法
采用阈值检测法,由于采用频率是150Hz,那么两点之间间隔时间是一定的。首先系统启动后有10秒的调整期,在这段时间内就要完成QRS波阈值的大小,QRS检测流程先确定阈值,然后对阈值进行比较,对多个相邻阈值时间取均值,得出心率,流程如图9所示。
     
图9程序流程图
四、系统测试与误差分析
1.    测试方案及测试条件
根据题目要求,利用心电模拟发生器产生不同心率的心电信号波形,测试心率值与模拟心电发生器误差和观测显示波形失真度;同时手握标准体温计和LMT70测试温度值,对比两个温度误差同时利用秒表测试温度刷新速率;在水平地面用5m卷尺进行标定,人体来回运动测试其运动步数和距离。所用的测试仪器及器材列表如表1所示。
表1测试所用仪表及器材
序号
名称
型号
数量
备注
1
模拟心电发生器
SKX-2000
1

2
数字万用表
FLUKE 17B
1

3
体温计
1

4
秒表
1

5
卷尺

1
5m长
2.    数据指标及误差分析
1)心电图显示测试
利用模拟信号发生器发出不同心率的心电信号,测量三次并将数据记录于表2。
表2心电信号测试结果
次序
心电波形
设定心率/bpm
实际心率/bmp
心率误差
误差率
1
正常
60
60
0
0.00%
2
正常
142
140
2
1.42%
3
正常
206
200
6
3.00%
(2)温度信号测试
将标准温度计和LMT70一起握在手心测试,利用秒表完成温度采样率测试,测量三次并将数据记录于表3。
表3温度信号测试结果
次序
LMT70/℃
标准体温计/℃
温度采样率/次/分钟
温度误差/℃
1
26.3
26.50
12
0.20
2
30.2
29.27
12
0.93
3
31.3
32.30
12
1.00
(3)运动步数与距离测试
将卷尺水平标定于地面,使用者来回运动测试统计运动步数和距离,测试三次并将数据记录于表4。

表4运动信息测试结果
次序
测试步数
实际步数
步数误差
测试距离
实际距离
距离误差
1
7
7
0%
5m
4.5m
10%
2
16
16
0%
10m
10.2m
2%
3
22
23
4.3%
15m
13.2m
7.8%
(4)服务端显示测试
利用秒表测试传输时延并观测服务器端信息,测试三次并将数据记录于表5
表5服务端显示测试结果
测试次序
服务器端显示
传输时延/s
1
正常
0.80
2
正常
0.76
3
正常
0.88
3.    误差分析
(1)   心电信号测试误差:心电信号连接导线会受到人体辐射和工频干扰,会使心电波形失真;心率测试受算法自身限制,存在心率波动情况。
(2)   温度测试误差:温度传感器与体温计不能完全测量同一个点,因此会存在一定误差,温度传感器与体温计对温度响应时长不同。
(3)   运动信息测试误差:MPU6050自身存在一定基线漂移;不同测试者走路幅度和方式存在差异。





【参考文献】
[1]大学生电子设计竞赛组委会.第五届全国电子设计竞赛获奖作品编选.北京:北京理工大学出版社,2003
[2]高吉祥.基本技能训练与综合测评.北京:电子工业出版社,2019
[3]张瑛,耿萧,李鑫,李泽有.一种低噪声心电信号采集模拟前端电路设计[J].南京邮电大学学报(自然科学版),2018,38(04):18-23.
[4]唐文彦.传感器[M].5版.北京:机械工业出版社,2014.
[5]杨旭东.基于小波变化的ECG信号特征参数提取研究[D].成都:电子科技大学,2020.

【附录1 主要元器件清单】
  
序号
  
名称
数量
备注
1
STM32f103zet6芯片
1
最小系统版
2
ADS1292R芯片
1
测量心电信号
3
LMT70芯片
1
测量温度
4
SYN 6288芯片
1
进行语音播报
5
2.8寸TFT显示屏
1
显示心率和温度
6
镍氢电池
1
提供电源
7
MPU6050
1
测量人走动加速度
8
扩展板
1
放置单片机
【附录2电路图】
图1 系统板原理图
【附录3 实物显示】
     
图2 实物波形图


图3 服务器端



1.jpg (0 Bytes, 下载次数: 82)

实物波形

实物波形

2.jpg (0 Bytes, 下载次数: 94)

服务器端

服务器端

A题.pdf

1.35 MB, 下载次数: 114, 下载积分: 积分 -1

文档附件

0

主题

1

帖子

134

积分

二氧化硅

Rank: 2

积分
134
沙发
发表于 2020-11-7 10:56:12   只看该作者
冲冲冲                                             
快速回复 返回顶部 返回列表