2021.5.1更新:

需要焊接晶振,程序默认使用的是外部晶振

2021.4.22更新:

正值毕业设计季,近期有不少毕设题目是本作品的学长学姐私信询问,由于博主备考,无法及时回复。

本作品还有不少待优化的问题,现有资料仅供各位学习参考,切勿直接抄袭。
————————————

简介

作者博客主页:
https://blog.csdn.net/weixin_44578655

该文档及相关资料系博主参加2020年TI杯大学生电子设计大赛的作品,关联博客:
https://blog.csdn.net/weixin_44578655/article/details/109020022

资料链接(百度网盘):
链接:https://pan.baidu.com/s/1WnXZ1bDB-cs1LRwfiP6rYg
提取码:iqek

目录:

原理图、PCB

PCB是使用立创EDA绘制的,文件夹中的AD文件是从立创EDA导出的
导出后边框和字符可能会有点问题。

推荐使用立创EDA!
立创EDA工程页面:
https://oshwhub.com/doee/ads1292

  • ADS1292R心电采集模块
  • STM32F103C8T6最小系统模块
  • LMT70模块

板子三部分通过跳线帽连接作为一体使用,也可以掰开单独使用.

单片机的晶振使用的是8M有源晶振

把LMT70的焊盘扩大了,好焊一些,但不知道测温手触摸到焊盘会不会有影响。

为了元器件布局紧凑些,没有留元件字符标号。

服务器端工程源码:

服务器端编译环境为VS2019,语言为C#
如果是初次接触上位机编写,给大家推荐一个基础入门的上位机设计教程:
https://www.cnblogs.com/liaocheng/p/9144317.html

服务器端工程的压缩包包含多个工程:

最终使用的是上图箭头指向的版本。

在上图的目录下,有工程生成的exe文件,可以直接运行

由于时间关系,该版本不完善,切换wifi和蓝牙模式时,需要关掉重新打开再切换。

蓝牙映射出的串口默认波特率为115200
windows下如何更改蓝牙虚拟串口的参数,详见:

https://blog.csdn.net/px_528/article/details/70782059
TCP模式下的IP地址需要在源码中更改,所以如果不打算参考源码的话,这个服务器端的软件是没法直接使用的(比赛时间紧张,很多细节无法完善)

设备端各模块

设备端的源码我尽量注释,代码结构尽量弄清晰一些,也就比赛完这段时间有心情去整理了。

设备端源码文档结构

系统框图:

软件框架:

这是在报告里写的,为了高大上一点,就称作“任务”了,不要被误导,并不是多任务!

系统所有模块均运行在main函数的大循环中,通过软件定时,实现各个模块的定时循环运行。
软件定时方法,以按键扫描举例:

 if(sys_tick - key_tick >= 10)   {key_tick = sys_tick;//按键扫描、处理等等}

其中sys_tick是全局变量,每1ms会自增1(通过1ms的定时器中断精确计数),用于系统运行计时(一般称为系统时基),有了它可以方便实现软件定时。
上述代码实现的效果是,每10ms,if判断就成立一次,放在大循环里就可以实现10ms的定时,每10ms扫描一次,可以免去按键消抖,同时降低系统运行开销。
每个模块的工作基本都采用这种方式实现软件定时执行,方便设定定时周期。

关于ADS1292模块

连接线序
VIN—3.3V~5V
3V3—3.3V
GND—GND
DRDY—PA8
CS—PB12
CLK—PB13
DOUT—PB14
SDIN—PB15

其中“3V3”引脚专门为ADS1292模块的数字部分供电,减少对模拟部分的干扰。
提供两种选择:

  1. 使用外部的3.3V,也就是3V3引脚要接外部的3.3V,同时按图示使用跳线帽将两框选引脚短接。

  2. 使用系统内部稳压出来的3.3V,这时候3V3引脚可以不接,需要按下图接跳线帽。

心电电极贴片的位置
购买下图这种导联线的话:

根据颜色,按下图方式连接,测出的心电波形才是正确的。

关于陀螺仪模块

陀螺仪模块部分我使用的是一个冷门的模块,这个应用只用到pitch轴,因此使用普通的MPU6050就可以。

陀螺仪模块绑在腿上,实现步数测量,详细内容参见设计报告。

关于蓝牙模块和上位机

蓝牙模块使用HC05

由于系统最初是使用蓝牙上位机的,因此工程中保留了蓝牙数据发送部分。

配套的蓝牙调试上位机为:

相当好用的一款上位机,在应用市场可以搜索到,界面控件可以二次开发,这次电赛有好多做A题的组别都是直接使用的这款上位机,可以说这个APP作者拯救了一大波参加电赛的。

关于LMT70

LMT70可以通过IO口供电,这是手册推荐的。
使用stm32自带的12位ADC,加入均值滤波后数据挺稳的。

关于esp8266

模块的具体型号为esp8266-01s,初始化部分主要为AT指令配置wifi和服务器等。

esp8266是后期改的,由于板子上原来没有留接口,就只能用蓝牙的接口了,两个模块的供电电压不太一样(蓝牙:3.6-6,esp8266:3.3V),因此加了一块洞洞转接板,板上有稳压模块(不能用AMS1117,由于系统供电是锂电池3.7-4.2V,而1117要求压差比较大,必须使用低压差LDO才可以正常输出3.3V,这里使用的是TPS73233DBVR)

关于屏幕

链接:
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22419023648.11.103e497cFxRZgy&id=526022333035

选“老款不带片选CS”

这种SPI驱动的LCD刷新速度还可以,至少心电波形的实时显示还是可以满足的。

店家提供stm32部分的源码,设计PCB的时候也是按照屏幕例程中的引脚定义来的(使用硬件SPI)。

设备外壳

外壳使用solidworks绘制,材质:亚克力、铜柱,设备:雕刻机、手。
最后一天时间比较急,手残把屏幕的安装孔画错了,也能凑合装。

设计报告

设计报告我们抽出整整一天来写的,真实反映了作品内容,报告上的相关方案也是实际采用的方案。

word版本的设计报告包含了Fir滤波器理论计算部分(pdf版本是最终提交的版本不含这部分)。队友这块的理论分析写的超认真,但由于最后超页数了,提交之前被我一刀砍了。

制作成本

ADS1292R:30rmb左右一片
stm32f103c8t6: 10rmb
LMT70:10(不好焊) (自己做就别用这个玩意儿啦,换成NTC也可以)
其他元件<30rmb
屏幕:加邮费46
锂电池+充电模块等:< 15rmb (3.7V小电池就行)
蓝牙/WIFI模块:<15rmb
陀螺仪模块:如果使用MPU6050的话,5rmb就可以买到
导联线:加邮费30
心电电极:20
总共200rmb左右,相比电赛期间某宝动辄300+的单独心电模块真是智者见智了。

2020年TI杯大学生电子设计大赛 无线运动传感器节点 作品开源( PCB、设备/服务器工程、文档、测试视频、设计报告)相关推荐

  1. 2020年TI杯大学生电子设计大赛 无线运动传感器节点 备赛、参赛实录(历时一个月)

    转载请标明转载自:https://blog.csdn.net/weixin_44578655/article/details/109020022 9.5 清单已经出了一段时间了.买的少部分元器件也到了 ...

  2. 实现2020年TI杯大学生电子设计竞赛F题简易无接触温度测量、身份识别与口罩检测装置(未完待续)

    声明 本文仅在CSDN发布,其他均为盗版.请支持正版! 正版链接: https://blog.csdn.net/meenr/article/details/109298042 本文目录 *实现2020 ...

  3. 单相在线式不间断电源(B 题)--2020 年TI 杯大学生电子设计竞赛

    单相在线式不间断电源(B 题)–2020 年TI 杯大学生电子设计竞赛 文章目录 单相在线式不间断电源(B 题)--2020 年TI 杯大学生电子设计竞赛 1.任务 2.要求 3.说明 4.加油,冲冲 ...

  4. 放大器非线性失真研究装置 (E 题) --2020 年TI 杯大学生电子设计竞赛

    放大器非线性失真研究装置 (E 题) --2020 年TI 杯大学生电子设计竞赛 文章目录 放大器非线性失真研究装置 (E 题) --2020 年TI 杯大学生电子设计竞赛 1.任务 2.要求 3.说 ...

  5. 2020年电赛省赛题目A——无线运动传感器节点设计

    无线运动传感器节点设计 题目要求 设计方案分析 心电检测模块方案 ADS1292的A/D转换计算 心电信号的处理 体表温度分析计算 运动量分析计算 无线传输模块设计 显示屏的设计 电路设计 温度模块设 ...

  6. (枪版非官方正式发布)2020 年TI 杯大学生电子设计竞赛——绕障飞行器(D 题)

    原文档下载链接如下: 链接:https://pan.baidu.com/s/1bI0rW8hj7DJIx5N8qaZ-wQ  提取码:2zvx 虽然是非官方渠道,但是题目可信度非常之高,基本是2019 ...

  7. 2014年湖北省TI杯大学生电子设计竞赛论文格式

    2014年湖北省TI杯大学生电子设计竞赛 B题:金属物体探測定位器(本科) 2014年8月15日 文件夹 1 系统方案 1.1 XXX的论证与选择........................... ...

  8. H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛

    H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 文章目录 H题:简易功率测量装置(高职高专)-- 2018年TI杯大学生电子设计竞赛 1.任务 2.要求 3.说明 1.任务 ...

  9. B题:灭火飞行器(本科)-- 2018年TI杯大学生电子设计竞赛

    B题:灭火飞行器(本科)-- 2018年TI杯大学生电子设计竞赛 文章目录 B题:灭火飞行器(本科)-- 2018年TI杯大学生电子设计竞赛 1.任务 2.要求 3.说明 1.任务 基于四旋翼飞行器设 ...

最新文章

  1. 新一届最强预训练模型上榜,出于BERT而胜于BERT
  2. 模板 - 二分图(包含全套常用定理性质)
  3. 华为OJ 名字美丽度
  4. java opp 是什么意思_Java面向对象学习
  5. [leetcode]112.路径总和
  6. java jmenuitem重新渲染_的Java的JMenuItem添加邊框的第二菜單項
  7. ASP.NET Core 3.x控制IHostedService启动顺序浅探
  8. 计算机专业学教育技术优势,西南交通大学教育技术学(040110)专业介绍
  9. idea2021部署maven+javaweb项目到jboss(diy)
  10. php中metadata,模型元数据(Models Metadata)
  11. Springboot中@ComponentScan 注解
  12. Educational Codeforces Round 58
  13. dz email地址无效_Zcash屏蔽地址漏洞或揭示全节点IP地址(附解决方案)
  14. python如何获取权限_python 权限系统设计
  15. 家庭局域网_如何查看局域网内所有ip?
  16. 4大MQ消息队列的比较
  17. Word2016怎么插入页眉页脚?Word2016页眉页脚添加教程
  18. 玩转微信|两种微信批量删除好友教程
  19. virt-manager设置主机和虚拟机之间文件共享
  20. nexmo发送成功,但没有收到短信

热门文章

  1. C++LNK2001
  2. error LNK2001: 无法解析的外部符号 解决方法
  3. 了解一下中美程序员工作的区别
  4. 怼天怼地的 Linux 之父宣布休息,为过去的行为道歉
  5. fastadmin 动态赋值下拉框
  6. henauOJ1057(走向人生巅峰)
  7. 【01】水仙花数算法
  8. ajax返回的数据有问题,ajax请求成功返回数据,转成数组后,for遍历取不到值的有关问题...
  9. [游戏开发]Python打表工具系列 [第二篇] [打表流程描简述]
  10. HtmlUtils把HTML编码转义,可将HTML标签互相转义