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

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+的单独心电模块真是智者见智了。

版权声明:本文为CSDN博主「Doee hc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44578655/article/details/109151749

生成海报
点赞 0

Doee hc

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于STM32的指纹密码锁

设计简介: 本设计是基于单片机的指纹密码锁,主要实现以下功能: 矩阵按键输入密码,并通过按键显示*号可通过按键或手机开门密码可通过按键进行开门可通过蓝牙模块连接手机进行开门可通过指纹进