本帖最后由 hcx66 于 2020-10-27 10:15 编辑
摘要 本设计以STM32F103ZET6单片机为控制核心,结合模拟前端芯片ADS1292和温度传感器LMT70及MPU-6050分别实现心电信号、体表温度和运动信息的采集。ADS1292电路部分实现对心电信号采集转换并通过SPI接口传输给单片机;LMT70传感器电路将采集的信息传送到单片机ADC端口;MPU-6050采集人体运动步数及路程信息。通过TFT显示屏实现了采集信息的显示,并通过蓝牙模块将采集到信息发送到由AppInventor开发的服务器端,进行信息的动态显示。经测试,系统已完成动态心电图显示,心率测量,温度采集显示,运动步数和运动距离的记录。单片机和服务器端都能连续长时间的储存与回放测量的数据,并将结果显示在屏幕上。系统还可以对不正常的心率和体温进行报警,本设计稳定性高、人机交互友好。 关键词:单片机;心电信号;无线传输;服务端 一、系统方案1. 方案描述本系统主要由单片机最小系统、心电测量电路、温度传感电路、运动传感电路、TFT显示电路、无线传输电路、语音播报电路以及服务器(手机)端组成,系统框图如图1所示。
2. 方案比较与选择(1) 处理器方案比较与选择方案一:选用AT89S52单片机,该单片机具有体积小,使用方便灵活,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点,并且单片机的功耗低,价格低廉。 方案二:采用STM32单片机,STM32系列单片机是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。具有中断处理能力强,高性能、低成本、低功耗等优点,适合实时、高速的应用领域。 方案三:用FPGA(Field Programmable Gate Array,现场可编程门阵列)等可编程器件集成在一块控制芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真调试,易于进行功能扩展。 综合题目要求考虑,STM32单片机具有较高的时钟频率,内部资源丰富,性价比较高,满足题目需求。所以选择方案二。 (2) 加速度传感器方案比较与选择方案一:使用ADXL345模块,它是一款超低功耗的三轴加速度计,分辨率极高,测量范围较大,可以测量静态重力加速度或动态加速度。其优点是可以通过SPI或IIC数字接口访问,技术通用。缺点为利用加速度测量时,震动对加速度计的影响很大,只有在振动很小甚至没有振感的时候,元件的感测姿态才最真实。系统初始化会产生抖动,会出现算法无法解决的倾斜。 方案二:使用MPU6050加速度传感器。它是6轴运动处理传感器,集成了3轴陀螺仪,3轴MEMS加速度计和一个数字运动处理器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) (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测试所用仪表及器材 2. 数据指标及误差分析
(1)心电图显示测试利用模拟信号发生器发出不同心率的心电信号,测量三次并将数据记录于表2。 表2心电信号测试结果 (2)温度信号测试 将标准温度计和LMT70一起握在手心测试,利用秒表完成温度采样率测试,测量三次并将数据记录于表3。 (3)运动步数与距离测试 将卷尺水平标定于地面,使用者来回运动测试统计运动步数和距离,测试三次并将数据记录于表4。
(4)服务端显示测试 利用秒表测试传输时延并观测服务器端信息,测试三次并将数据记录于表5。 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 主要元器件清单】 【附录2电路图】
图1 系统板原理图 【附录3 实物显示】
图2 实物波形图
图3 服务器端
|