找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9559|回复: 7
打印 上一主题 下一主题
收起左侧

2020电赛A题无线运动传感器节点设计资料

  [复制链接]
跳转到指定楼层
楼主
设计制作一款无线运动传感器,该系统可以通过蓝牙通信将使用者的温度,心率,心电图以及运动步数,距离等上传到 手机端APP互联网平台上进行实时显示与监测。

这款无线运动传感器采用ADS1292芯片及外围电路实现使用者心电图的采集计算出心率,采用LMT70芯片及LM358放大电路实现微弱信号的采集与处理,再利用MPU6050实时测量使用者的步数及步长,将数据采集好之后用蓝牙将数据传送到手机端APP平台。在该过程中,硬件可以实现微弱信号的稳定输入,减少干扰,软件可实现AD采样,数据信息的采集、处理、保存以及传输,用户也可以在手机端或手机端平台访问并查看历史数据。

1 系统方案
1.1 硬件系统方案设计
1.1.1可选择的芯片方案
1.1.2加速度传感器
1.2软件系统方案的论证和比较
1.2.1数据传输
1.3设计方案的确定
2理论分析与计算
2.1ADS1292心电测量及心率的原理及测量方法
2.1.1心电测量及心率原理
2.1.2测量方法
2.2LMT70温度传感器的原理及计算
2.2.1LMT70原理
2.2.2LMT70计算公式
2.3基于MPU6050运动信息测量原理
3.单元电路设计
3.1硬件设计
3.1.1设计组成框图
3.1.2 ADS1292R心电检测电路
3.1.3 LMT70温度测量电路
3.2软件设计
3.2.1系统软件框图
3.2.2核心算法流程图
3.2.3重要模块代码显示
4. 测试方案与测试结果
4.1基于ADS1292R心电监测结果
4.1.1测量过程
4.1.2测量结果分析
4.2基于LMT70温度传感器测量电路测试方案及结果
4.2.1测试方案
4.2.2测量结果分析
4.3MPU6050运动信息测量
4.3.1测试方案
5. 总结与展望

1.1   硬件系统方案设计
1.1.1可选择的芯片方案
方案一:利用AT89C51作为主控制器,AT89C51是低功耗,高性能的CMOS8位单片机,其优点是使用方便,应用范围广,控制简单,价格相对便宜,缺点是需外加ADS1118进行AD采样,ADS1118是一款高精度的低功耗16位模数转换器(ADC),集成了可编程增益放大器(GPA)、电压基准、振荡器和高精度温度传感器,其数据转换率最高可达每秒860次采样才能满足题目要求,同时增加了硬件和软件的难度,且处理速度稍慢,精度不高。
方案二:利用STM32F103微处理做内核,STM32是一个低功耗,高性能32位单片机,在功耗方面,该单片机具有三种模式相互切换,可以使功耗达到最低。具有32位的RISC内核,工作频率为72MHz ,内置高速存储器,丰富的增强I/O端口和两条APB总线的外设,采用STM32内部的12位ADC就可满足题目要求,内部12位ADC是一种逐次逼近型模拟数字转换器,它有高达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描、或间断模式执行,ADC采样存储在16位寄存器中。其优点为精度高,外部电路简单,软件编程简洁价格实惠,性能指标优良。
综上所述,微处理器选择STM32。
1.1.2加速度传感器
方案一:使用三轴加速度传感器LIS3DH检测被测者的运动步数及距离,该芯片具有超低耗,可实现高级节能,智能睡眠唤醒以及恢复睡眠功能,特点是测试可以带温度,具有三轴数字输出功能,精度高,稳定性好,尺寸小,功耗低等。
方案二:采用9轴运动处理传感器MPU6050作为加速度传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP。MPU6050对陀螺仪和加速度计分别用三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,设置加速度计可测范围为土16g。其特点是低功耗、尺寸小、自带数字温度传感器,精度高,9轴运动处理功能等。
考虑到人在运动中会改变运动方向,不确定方向较多,且MPU6050性能指标好,性价比高,因此在本次设计中选用MPU6050。
1.2软件系统方案的论证和比较
1.2.1数据传输
如今应用较为广泛的近距离无线传输通信技术有蓝牙技术、蓝牙等,各种近距离无线通信都有其自己的特点。
方案一:选择蓝牙传输模式,实现数据传送到PC端,蓝牙模块为HC05模块,HC05是一款主从一体,短精度,低成本的无线连接模式,可以实现语音和数据无线传输的开放性接口系统,通信范围10m之内,可以达到1Mbps传输速率,传输速率高,稳定性强。
方案二:基于蓝牙连接传输实现数据传输到电脑上,蓝牙模块为ESP8266,可使用5V直流供电,体积小,功耗低,支持透传模式,丢包现象不严重。ESP8266可以配置成station(即client模式),AP(即蓝牙热点模式),station+AP三种模式,同时该模块还支持tcp传输,既可以配置tcp server也可以配置成tcp client。可以实现一对多模式.
在综合考虑后,软件编程简单,且可使用手机端APP互联网平台,因此选择蓝牙进行数据传送。
1.3设计方案的确定

由于考虑到心电模块在使用时要保证心电信号稳定的前提,因此心电模块选择STM32F103微处理做内核,考虑到无线传输的稳定性以及客观因素,选择基于蓝牙的传输模式,在运动步数测量过程中,追求高精度以及转身等测量效果,因此选用MPU6050。图1为总体方案图,

图 1总方案流程图
因此总体方案为采用ADS1292传感器测量人体的心电信息;采用LMT70测量被测者体表的温度,传感器加外围放大电路,经过32内部的ADC转换进行模拟到数字量的变换,再利用STM32处理数据;采用MPU6050作为加速
度传感器用于测量人的运动信息;最终以STM32F103ZET6单片机作为主控制器,将采集到的数据送到微处理器中进行处理;并利用蓝牙无线通信技术,将实时数据发送到服务器电脑上,显示体表温度、基本心电信号,运动步数及距离的显示。

2理论分析与计算
2.1ADS1292心电测量及心率的原理及测量方法

2.1.1心电测量及心率原理
ADS1292R是低功率、多通道、同时采样、具有集成可编程增益放大器(PGAs)的24位deltasigma (E)模数转换器(ADCs)。该芯片集成了各种特定于心电图的功能,非常适合可伸缩的心电图、运动和健身等应用程序。该设备还可以用于高性能、多通道数据采集系统,通过降低ECG特定电路的电源。ADS1292R具有高度可编程多路复用器,可用于温度供应、输入短和RLD测量。此外,多路复用器允许将任何输入电极编程为患者参考驱动器。设备中的ADC提供从125SPS到8 kSPS的数据速率。与设备的通信是使用一个兼容spli的接口完成的。该设备提供了两个通用用途的I/O (GPIO)引脚,使用启动引脚可以同步多个设备。
2.1.2测量方法
在心率测量时,AD采样取心电图的最高值和最低值,求一段时间内心电图采样的平均值,取在一段时间内概率最大的最高值和最低值,采用计数器和寄存器计算出心率一个周期内的心跳值,求其平均值并通过蓝牙传输到手机端进行实时显示。
ADS1292采样点并进行实时数据发送到云平台,经过曲线显示,绘制出心电图。下图1位ADS1292内部原理图。

图 2ADS1292内部图
2.2LMT70温度传感器的原理及计算
2.2.1LMT70原理
LMT70是一个超小,高精度低功率CMOS模拟温度传感器,它包括一个输出开关,由数字输入的T控制。输出开关使多路复用到一个ADC输入,从而扩展
ADC输入多路复用器的能力该温度传感元件由简单堆叠的BJT基发射极结组成,这些基发射极结由电流源偏压。在连接到输出开关之前,温度传感元件由一个精密放大器缓冲。输出放大器有一个简单的AB类推拉输出级,使器件能够容易地源和汇聚电流。LMT70功能框图如下图1所示。
图 3LMT70功能框图
2.2.2LMT70计算公式
(1)计算坡度:
                (式1)
(2)计算y截距b:
                            (式2)
(3)计算在20°C至30°C范围内测量的温度()的公式为:
                                    (式3)
由上述计算可以看出,TM的单位为℃,VTAO的单位为V。
2.3基于MPU6050运动信息测量原理
采用MPU6050六轴传感器作为信号检测元件。MPU6050并不单单是一款传感器,其内部还包含了可以独立完成姿态解算算法的处理单元。MPU6050内部集成的处理单元DMP,可以直接运算出四元数和姿态,而不再需要另外进行数学运算。数字运动处理器DMP的使用大大简化了运动信息的代码设计。由DMP实现姿态解算算法将单片机从算法处理的压力中解放出来,单片机所要做的是等待DMP 解算完成后产生的外部中断,在外部中断里去读取姿态解算的结果。这样单片机有大量的时间来处理诸如电机调速等其他任务,提高了系统的实时性。在该系统中,只用X轴进行步数的采集。
图 4MPU-6050检测轴及其方向
MPU6050传感器的检测轴如图3所示,图中标明了传感器的参考系坐标以及三个测量轴和旋转方向,旋转的正向可以用右螺旋法则来确定。
3.单元电路设计
3.1硬件设计
3.1.1设计组成框图
图 5设计组成框图
3.1.2 ADS1292R心电检测电路
图5为ADS1292内部集成右腿驱动(RLD),外部只需设计简单的电路便可以设计成右腿驱动电路,下图为ADS1292芯片手册上的推荐电路,至此RLD电路便完成,RLD电路设计的目的是降低ECG系统的共模干扰,提供了一个电压抬升,将测量电压抬升到(AVDD+AVSS)/2左右,保证了输入电压是在芯片的检测范围内通过配置可将任意一路输入连接在右腿驱动电路中,形成负反馈。
图 6右腿驱动电路
图5为心电检测的滤波电路。由于心电信号一般在100Hz下,对于高频的检测呼吸的方波是可以通过ADS1292R里面EMI电路滤掉的,在该模块中,呼吸与心电检测可同时进行。
图 7基于ADS1292R心电监测电路
1292整体设计电路如下图所示
图 8ADS1292电路模块
3.1.3 LMT70温度测量电路
因为LMT70在20℃到50℃为基本线性区域,对应的电压值为991~838mV,为增大分辨率,将电压值通过基准电压和放大电路转换成0~3.3V输出,再根据实际输入电压与放大后的电压值进行比较,求出相对应的温度,然后通过蓝牙传输到手机端的 手机端APP平台。图9为电压放大电路。
图 9基于LMT70温度传感器测量电路3.1.4MPU6050运动信息电路
步频测量:由于人体运动时四肢摆动会产生加速度,故通过6050六轴传感器测量产生在四肢上的加速度。经测量比较运动时腿部脚踝处加速度较为稳定。在空间中XYZ三个方向上,腿的前后摆动使得X轴方向上加速度变化量最大,波形明显,便于测量与观察,。波形为类正弦波。理论上测量正弦波频率即可测得步频。为了削弱噪音干扰,通过算法实现波形整形,可有效读取正弦波的波形周期与频率。
运动距离测量:运动方向可由6050传感器XYZ轴三个角度融合为欧拉角得出。加速度方向与大小可由三个方向的加速度向量相加得出,三轴整合可以求出是否转弯等细节问题。但是若用此方法测得运动距离涉及到大量复杂的公式计算。由生活经验可知,不同年龄,性别,身高的被测人员,在步频不同的情况下均有不同的步幅长度。故方法改进为:通过测量不同的步频,以及输入被测者的年龄性别身高等数据;乘以测量步数即可获取被测者的运动距离。

图 10MPU6050电路图
3.2软件设计3.2.1系统软件框图
该系统总共包括以下几个部分,心电图的数据采样存数组ANU_BUFF中,心率采样,温度采样,步数采样,步长计算等数据通过无线传输到电脑上,并将心电图显示在电脑屏幕上。图9为系统软件框图。
图 11系统软件框图
3.2.2核心算法流程图
心电采集通过单片机编程实现,如图所示STM32单片机软件流程图,在主函数中通过开关机判断,8055蓝牙配置,ADS1292配置一系列初始化设计,等待脚,然后单片机通过I2C读取转换后的数据并进行存储,通过UART发送到蓝牙串口模式,蓝牙串口模块将各个数据发送带主蓝牙 进行数据接收,从而完成心电采集与无线传送功能

图 12STM32软件流程图                图 13LMT70核心算法流程图
3.2.3重要模块代码显示
温度代码
图 14温度算法
心电采集代码
图 15心电采集代码
运动量统计算法
图 16运动量算法

4.  测试方案与测试结果4.1基于ADS1292R心电监测结果4.1.1测量过程
使用心电信号模拟仪SKX-2000模拟输出人体的标准心率,设置的心率范围为10-200bpm,输出的信号幅度固定,有15秒的数据缓冲处理时间,测试数据如下表所示:

输出实时心电图如下图所示
图 17实时心电图

4.1.2测量结果分析
人体正常心率为60-100bpm,测试中输入50-180bpm的心电信号均能正常测量且相对误差在允许范围之内,通过测量以及误差计算可以发现心电频率测量值在误差范围之内,且能通过服务器端实时显示动态心电图,符合题目要求。通过测试及误差计算可以发现心电频率测量值在误差范围内,但不能在服务器中显示。
4.2基于LMT70温度传感器测量电路测试方案及结果4.2.1测试方案
  •    首先用电池模拟给出838~991MV,使得838MV的输入电压经过LM358放大后为0V,对应的温度值为50℃;使得991MV的输入电压经过LM358放大后为3.3V,对应的温度值为20℃;因为测试过程中存在误差,基本对应关系如下表1所示。

用MATLAB进行数据拟合后,发现在20℃到50℃时呈一次线性关系,通过拟合可以看出斜率为-9.17,与Y轴截距为50.48。如下图所示:
图 18电压温度线性关系图
实际测量人体的温度,多人测量手掌心,跟水银体温计相比,误差范围在1℃。


4.2.2测量结果分析
由上述表中可知,温度值与电压值基本成线性关系,后期采用多人测温与温度计比较时,温度误差范围小于1℃,满足题目要求。
4.3MPU6050运动信息测量4.3.1测试方案

将MPU6050固定在胳膊上,沿长为五米的直线来回走动并记录其步数测量值和真实步数。

4.3.2测试结果分析

由表5可知,运动量测试环节中步数测量值与真实值基本完全一致。

5.  总结与展望
这款无线运动传感器采用ADS1292芯片及外围电路实现使用者心电图的采集计算出心率,采用LMT70芯片及LM358放大电路实现微弱信号的采集与处理,再利用MPU6050实时测量使用者的步数及步长,将数据采集好之后用蓝牙将数据传送到 手机端APP平台。
在该过程中,硬件可以实现微弱信号的稳定输入,减少干扰,软件可实现AD采样,数据信息的采集、处理、保存以及传输,用户也可以在手机端或手机端平台访问并查看历史数据。
未来也可以提高步数的精度,做成可携带穿戴柔性,因为ADS1292是六维的,未来可以运用在运动员身上,或者用于老人身上来观察他们的生理指标,以防老年人发生意外事故。

以上的Word格式文档51黑下载地址:
2020电子竞赛设计51hei2(1).docx (469.52 KB, 下载次数: 95)
各模块接线图(4线OLED).PDF (105.32 KB, 下载次数: 72)

评分

参与人数 2黑币 +65 收起 理由
1339337425 + 15 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2020-11-3 04:39 | 只看该作者
好资料,51黑有你更精彩!!!能分享一下源码吗?
回复

使用道具 举报

板凳
ID:86450 发表于 2020-11-3 08:17 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

地板
ID:650653 发表于 2020-12-22 18:40 | 只看该作者
有PCB的文件吗
回复

使用道具 举报

5#
ID:274459 发表于 2020-12-23 17:57 | 只看该作者
大佬有代码吗
回复

使用道具 举报

6#
ID:582255 发表于 2021-2-13 22:58 | 只看该作者
大佬能分享一下代码吗
回复

使用道具 举报

7#
ID:893557 发表于 2021-4-21 23:48 来自手机 | 只看该作者
大佬,可以告诉一下软件流程图吗
回复

使用道具 举报

8#
ID:1007943 发表于 2022-3-3 12:06 | 只看该作者
大佬能求一下代码吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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