2020 电赛陕西省赛

题目:

无线运动传感器节点设计(A 题)

  • 基于 ADS1292 模拟前端芯片设计心电检测电路,完成使用者的心电信号实时测量:
    ①实时采集和记录使用者的心电信号,实现动态心电图的测试与显示:
    ②分析计算使用者的心率,心率测量相对误差不大于 5%。

  • 基于 LMT70 温度传感器测量使用者体表温度:
    ①实时采集和记录使用者的体表温度,温度采样率不低于 10 次/分钟;
    ②体表温度测量误差绝对值不大于 2℃。

  • 基于加速度计等传感器检测使用者运动信息,实现运动步数和运动距离的统计分析:
    ①运动距离记录相对误差不大于 10%;
    ②运动步数记录相对误差不大于 5%。

  • 无线运动传感器节点能通过无线上传使用者的基本心电信号、体表温度和运动信息,并在服务器(手机)端实时显示动态心电图、体表温度和运动信息,要求传输时延不大于1 秒。

方案计划:

因为本题目没有单片机的数量限制,时间有限,所以我们最终选择开发难度最小的方案进行实现。

题目的整体流程分为两个部分,上位机与底层终端部分:
终端部分:
我们选择分别使用一个STM32最小系统板进行数据的处理与解析,模块儿之间通过串口进行消息的传递。由STM32F407作为主控板进行消息的汇总与上报。终端模块儿分为以下几个部分:

  • LMT70(温度采集模块+STM32F103C8T6)、
  • ADS1292(心电模块+STM32F103C8T6)、
  • MPU6050(步数采集+STM32F407ZET6)、
  • ESP32-CAM(数据的上传)。

在这里插入图片描述
上位机部分:

方案一:
通过Node-RED进行本地服务器的部署,通过本机IP与端口进行连接,建立UDP进行消息的交互。(方便简单,界面完整,需要布置局面与简单界面的编写,可以拖动组件,可视化编程)
在这里插入图片描述
方案二:
通过delphi进行上位机的编写,通过控制接口的事件进行消息处理与波形显示。进行接口IP和端口的封装可以避免一些修改的干扰(组件编写,方便简单)
在这里插入图片描述

实现流程步骤:

MPU6050实现:
方案一:
MPU6050 DMP方式角度获取,通过改变角度超过阈值进行步数的判断,在这种情况下,在基本硬件初始化完成之后需要将捕获的陀螺仪与加速度数据加载到DMP中,开启DMP通过模拟IIC内容获得人体运动步数的消息,但因为阈值判断中包括角度信息,所以人体在运动行走中需要进行大幅度的摆动,经测量,将其绑在肩膀上测量步数准确且较为稳定。但是此方案需要大幅度的运动才能达到状态改变,因此并不适合此次比赛。
方案二:
人体在行走运动中加速度数据综合下来呈现函数趋势,通过此并且为了增加检测步伐灵敏度,本团队最终选择只取加速度数据进行步伐检测。通过检测运动状态波形的峰值并结合人体运动状态检测从而计算人体运动步伐数目。

检测波峰算法:当前点为下降的趋势并且之前的点为上升的趋势,在到波峰为止,持续上升大于等于2次,波峰值在1.2g到2g的范围之内,满足以上4点我们认为为一个波峰。

运动距离计数:正常成年人的步伐大概在65CM,所以我们通过步数与此幅度进行相乘从而作为我们的运动距离检测。

MPU6050测量具体流程图
LMT70实现:
LMT70在20°C至42°C范围内的测量精度最大可以达到 ±0.05°C ,-20°C 至 90°C 范围内也可以达到最大 ±0.2°C的精度范围,完全适用于此次比赛对于人体表面体温,例如手被,额头等,实施监测人体体温。
通过采用单片机不间断的通过ADC采集LMT70模块儿的模拟量温度输出数据,通过串口协议进行温度的实时传输到我们的主控板。其中交互信息帧格式包括帧头、温度数据处理包、累加和校验。

ADS1292实现:
ADS1292本身具备两个低噪声 PGA 和两个高分辨率 ADC,通过SPI可以与单片机进行通信,通信之间需要严格的遵循时隙原则,否则ADC捕获速率与SPI通信速率很容易因速率不匹配导致数据不准确。

ADS1292在与单片机进行交互时共使用了10个管脚包含VCC、GND。单片机通过SPI的命令写入并对相应管脚的电平设置开始进行ADC的采集,在时隙内通过SPI的读取可以获得相应的ADC数据,单片机通过数据的解析发送给主控板由主控板进行数据的统一处理。

ECG通信协议:帧头:AA;数据包:第二数据通道4字节(第一通道数据为呼吸信号感觉并不稳定所以舍弃);帧尾:前5字节累加和校验。

心电图QRS波形检测:
官方消息解析处理方式请参考下图:(实测有效)
在这里插入图片描述ESP32无线传输实现:
通信方面我们选用ESP32-S模块进行消息的传输。 ESP32-S模块儿作为整个系统的核心,充分考虑了传输速率,连接方式,运算能力等技术指标。可作为主模式构建独立的网络控制器,也可作为从机搭载于其他主机MCU运行。与我们本次设计方案完全切合。本模块通过串口与我们的主控板进行通信。
ESP32通过内网连接固定IP与端口,为了保证数据的传输的稳定性所以通过UDP协议进行消息的发送,

ESP32数据发送协议:帧头:AA AA AA;帧尾:EEEEEE;数据包格式:温度、步数、HR、100*ECG。

ESP32数据测试:

AA AA AA 00 00 00 00 00 00 00 00 AB A1 FF FF A1 A1 FF FF A9 A1 FF FF A9 A1 FF FF B4 A1 FF FF D5 A1 FF FF C7 A1 FF FF B2 A1 FF FF CD A1 FF FF C8 A1 FF FF D6 A1 FF FF BF A1 FF FF 94 A1 FF FF 9F A1 FF FF 95 A1 FF FF 8B A1 FF FF 86 A1 FF FF 9E A1 FF FF A8 A1 FF FF A0 A1 FF FF 7D A1 FF FF 86 A1 FF FF 7D A1 FF FF 53 A1 FF FF 6A A1 FF FF 7B A1 FF FF 4A A1 FF FF 32 A1 FF FF 4A A1 FF FF AD A1 FF FF 44 A2 FF FF AD A2 FF FF 3D A3 FF FF CF A3 FF FF 9E A4 FF FF 50 A5 FF FF F2 A5 FF FF 8B A6 FF FF 0C A7 FF FF 89 A7 FF FF A6 A8 FF FF 31 A9 FF FF C4 A9 FF FF 32 AA FF FF B2 AA FF FF 0C AB FF FF 4C AB FF FF 80 AB FF FF D6 AB FF FF DF AB FF FF CE AB FF FF E7 AB FF FF B9 AB FF FF 84 AB FF FF 62 AB FF FF F8 AA FF FF 91 AA FF FF 07 AA FF FF 8A A9 FF FF F5 A8 FF FF 9D A7 FF FF FD A6 FF FF 83 A6 FF FF FC A5 FF FF 78 A5 FF FF 0E A5 FF FF 9D A4 FF FF 33 A4 FF FF 08 A4 FF FF B0 A3 FF FF 12 A3 FF FF 08 A3 FF FF D0 A2 FF FF A9 A2 FF FF 8A A2 FF FF 89 A2 FF FF 80 A2 FF FF 4A A2 FF FF 1E A2 FF FF 12 A2 FF FF 1A A2 FF FF 2B A2 FF FF ED A1 FF FF C7 A1 FF FF D2 A1 FF FF C6 A1 FF FF CC A1 FF FF C8 A1 FF FF BD A1 FF FF C5 A1 FF FF E0 A1 FF FF D8 A1 FF FF AE A1 FF FF D1 A1 FF FF AE A1 FF FF AA A1 FF FF BB A1 FF FF E4 A1 FF FF F3 A1 FF FF CB A1 FF FF EE EE EE

演示图片:

初版图片:
在这里插入图片描述
成品图片:
在这里插入图片描述
波形图片:
在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44044341/article/details/109096942