打印

【快乐分享】+金属片无线脉搏收发系统

[复制链接]
4205|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 c506749189 于 2013-8-9 13:35 编辑

本帖已经完成,作品楼层有1楼、3楼、4楼、10楼、14楼、15楼。大家可以跟帖说说哪里有不足我尽量改改或增加些东西。
这个项目是大一时不到暑假体育学院来找到我们学校,而后老师把这个项目交个了我来完成,算算经历了有一年多的时间,反反复复测试改进有五次以上,终于在今年的六月彻底的达到了要求。项目总花费元件费用7000元。
下面我就介绍一下这个项目的最终成果吧,不过由于一些体院方面的要求,程序我就不方便在这里给大家了。如果大家需要用到哪一部分可以私信我,我会给大家子程序的。
一、项目任务
设计制作一个采集发送学生端、接收存储教师端、手腕显示学生端
二、设计要求
1.能够检测到人体脉搏信号正确脉冲。
2.能够实现断电数据保存。
3.能够实现无线数据发送正确。
4.能够实现无线数据接收正确。
5.能够正确显示当前状态。
6.能够实现电脑读取存储数据。
7.能够实现低功耗。
8.能够使采集端和手腕端尽可能的小。
9.能够自动删除采集学生端文件并建立新文件。
10.能够手腕部分实时显示检测数值。

三、所用元器件
STC12LE5A60S2512M内存卡,2.4G无线模块,排针,排座,MCP33,串口线,按键,开关,12864液晶,HKX-08,电阻,电容,晶振,发光二极管,拨动开关,内存卡座,金属片等。
四、整体框图


五、传感器选择信号处理
采用金属片采集电信号,经HKX-08处理成脉冲信号。金属片有很好的导电采集性,而又经过皮带的固定能够很好的与人体皮肤接触,经过HKX-08处理,有很好的脉搏脉冲信号,对人体无压迫感。
HKX-08系列心率传感器采用人体体表生物电检测的方式检测心脏搏动产生的 心电信号,通过信号调理电路、A/D 、数字信号处理、比较电路输出同步于心脏搏动的脉冲信号。该传感器有效解决了在动态情况下检测心率有效性和准确性。适合于运动健身器材、汽车驾驶员心率检测、消防员等特殊人群的心率监测等。
HKX-08是一款检测心率的集成了模拟信处理与数字处理技术于一体的电路模块。通过心电电极检测人体心电信号。输出同步于心脏搏动的脉冲信号。检测部位有手心、手腕、手臂、胸部等。
六、单片机
STC12LE5A60S2单片机,新一代宏晶芯片具有1个时钟/机器周期,高速、高可靠,2路PWM,8路10位高速A/D转换,25万次/秒1T 8051带总线,无法解密,管脚直接兼容传统89c52,有全球唯一ID号可省复位电路,36-44个I/O内部R/C时钟的新一代宏晶芯片加密性强,解密难度高。且同时由3.3V供电,满足系统低功耗的要求。
本系统共分为三个模块,共用四块单片机进行控制。学生采集系统用两块单片机,其中一块用于检测人体脉搏信号并计算成每分钟跳多少下并传给第二块单片机,其中每六秒传给第二块单片机一个数据,第二块单片机接收到数据后进行存储到内存卡并用无线发送到手腕系统部分,按键后统一发送至教师端系统部分。学生手腕部分单片机用于接收采集部分每六秒发送来的数值,并驱动段式液晶模块显示数值。教师端部分单片机用于驱动12864液晶,无线接收学生一节课的所有数据并存储到内存卡中。
七、内存卡存储
内存卡约为SD卡的1/4,可以算目前最小的储存卡了。TF卡可经SD卡转换器后,当SD卡使用。利用适配器可以在使用SD作为存储介质的设备上使用。内设置版权保护管理系统,让下载的音乐、影像及游戏受保护;未来推出的新型TransFlash还备有加密功能,保护个人数据、财政纪录及健康医疗文件。体积小巧的TransFlash让制造商无须顾虑电话体积即可采用此设计,而另一项弹性运用是可以让供货商在交货前随时按客户不同需求做替换,这个优点是嵌入式闪存所没有的。
本系统中用到两个内存卡,用于学生采集端的数据存储,使学生端不会因为电池没电或其他原因使以前的数据丢失。教师端的存储,让教师端接收学生端的所有数据。保证数据的完整性。
另外为了使电脑能够读取这些数据,又采用了FAT32文件系统。FAT32(File Allocation Table)具有一个最大的优点:在一个不超过8GB 的分区中,FAT32分区格式的每个簇容量都固定为4KB,与FAT16相比,可以大大地减少磁盘的浪费,提高磁盘利用率。目前,支持这一磁盘分区格式的操作系统有Win95Win98Win2000Win2003Win7。但是,这种分区格式也有它的缺点,首先是采用FAT32格式分区的磁盘,由于文件分配表的扩大,运行速度比采用FAT16格式分区的磁盘要慢。
本系统是用单片机读写系统程序,其读写速率与单片机的晶振频率有关,且数据量在写入文件后不会太大,所以采用FAT32文件系统。
八、液晶
12864液晶带中文字库的128X64 是一种具有4位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。但是其体积比较大,用在教师端比较适合。故教师端采用12864液晶。
4位段式液晶模块,此液晶模块电压在3.3V驱动,用HT1621驱动,HT1621只用3个I/O口就可以控制四位段式液晶甚至更多的段式I/O口,其工作电流也不到1毫安,适用于手腕显示部分。
九、2.4G无线
2.4G无线低工作电压只在1.93.6V低电压工作,掉电模式下状态仅为1uA速率可达2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象(软件设置1Mbps或者2Mbps的空中传输速率)高效GFSK调制,抗干扰能力强,特别适合工业控制场合。125 频点,满足多点通信和跳频通信需要。
其内部缓存有32位字节。能够极大限度的满足发送多个数据,教师端采用加入长天线的设计,更大个提高增益,使接收范围距离更远。
十、稳压芯片
此项目的稳压芯片采用的是微控公司的mcp33稳压芯片,此款稳压芯片具有低功耗的好处,而且稳压压差可以达到0.1V,也就是说3.4V也可以稳压成3.3V对于本系统的全部元件可以满足工作状态,此芯片用到在采集学生端和手腕端。而教师端考虑到并不用小巧,且工作时间不长,采用的是1117-3.3来稳压控制。
华丽的分割线
对于各部分的选型就到这里下面进行电路等具体的操作和说明。

十一、电路和分析
1.采集发送部分

先到这里,明天给大家继续讲解吧,实在是有点困了
评分
参与人数 4威望 +24 收起 理由
refee + 5 赞一个!
lovezichao + 3 如此给力,不能不加分呀。
xlhtracy + 12 赞一个!
地瓜patch + 4 很给力!果断加分

相关帖子

沙发
lpzailushang| | 2013-7-27 10:00 | 只看该作者
不错 顶一下

使用特权

评论回复
板凳
c506749189|  楼主 | 2013-7-27 17:53 | 只看该作者
续采集发送部分电路图(接1楼)

U3为电池孔,接入3.7V锂电池一枚,供电使用的。U4为拨动开关,当左面时系统处于通电状态,当右面时,系统断电,但是可以充电。

U6为迷你USB接头用于充电使用,这部分4号角其实不接GND的,当时画的时候没看图,只是用万用表量的电压,不过用充电器不影响使用,就没来得及改啦。

U5为mcp33稳压芯片,从电池出来的电压经MCP33给系统共出稳定的3.3V电压,且体积小巧,适合本系统。

U8,U9是单片机下载借口,在这里不详细介绍。

U10为拨动开关,使系统一直处于与教师端链接无线发送状态,此时单片机将不在测得数据

S1为按键,链接两个MCU,此按键作用在于能够删除文件,因为要跑一个fat32系统,所以占用的MCU的资源非常大,要用两个MCU共同协作来完成,一个MCU来删除文件,一个MCU来建立一个新文件

U12为金属片接入接口,U11为信号处理部分,进入的信号经过HKX-08处理信号,使得在OUT1端出来的是心跳的脉冲信号。

U100为内存卡部分,链接于两个MCU,前面提到占用的空间内存太大,一个MCU不足以满足全部的程序要求所以采用了双MCU来控制。


U14为2.4G无线模块,用于与手腕系统和教师端传递数据。

两个灯分别接于两个MCU,用于显示测得的心跳变化,即心跳一下灯闪一下,还有事拨动发送开关,指示灯亮,按动按钮擦出文件,两指示灯协作闪烁告诉何时擦出建立完毕

U1A主要用于计算采集进来的脉冲,转变计算成心跳次数,在将心跳次数发送给U2A,接K2按键使其控制LED灯的闪烁和内存卡的擦除建立


U2A主要是接收来自U1A的数据,将其储存在内存卡所建立的文件中,按键开关的作用在上面介绍完毕,不在重复介绍了。


使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
地瓜patch + 4 赞一个!
地板
c506749189|  楼主 | 2013-7-27 18:16 | 只看该作者
续三楼
2.手腕部分

本功能主要是手腕实时接收显示测得的数据,通过4位段式液晶显示测得的数据

电源部分,同发送部分不在介绍

稳压部分,同发送部分不在介绍

2.4G无线接收,同发送不分部在介绍

充电部分,同发送部分不在介绍,

四位段式液晶,此液晶采用HT1621控制,用其中的三位显示实时的数据

下载程序部分,同发送部分不在介绍。

MCU部分,用于控制上述器件,完成数据的接收数据,显示数据的控制。

使用特权

评论回复
5
jlass| | 2013-7-29 10:14 | 只看该作者
支持一下

使用特权

评论回复
6
McuPlayer| | 2013-7-29 20:05 | 只看该作者
不错,楼主有空再把设计思路阐述下吧,思路比电路更有价值

使用特权

评论回复
7
c506749189|  楼主 | 2013-7-29 21:11 | 只看该作者
jlass 发表于 2013-7-29 10:14
支持一下

谢谢

使用特权

评论回复
8
c506749189|  楼主 | 2013-7-29 21:12 | 只看该作者
McuPlayer 发表于 2013-7-29 20:05
不错,楼主有空再把设计思路阐述下吧,思路比电路更有价值

恩恩,等最后一个电路发完我就阐述一下程序的过程顺序

使用特权

评论回复
9
dirtwillfly| | 2013-7-29 21:46 | 只看该作者
感兴趣,强烈关注

使用特权

评论回复
10
c506749189|  楼主 | 2013-7-30 09:22 | 只看该作者
续四楼
3.教师端接收

本功能模块是教师端接收多个同学测得的数据,并存储在内存卡文件中,教师就可以拿着内存卡来对学生的数据进行处理了

MCU进行控制下面的器件,进行状态显示,无线接收,数据存储等功能

12864显示当前状态

内存卡存取数据并电脑读取

和前面两个模块一样不在重复

稳压3.3,没有MCP33好,还是用MCP3有机会的话

使用的是带天线的无线模块,可以提高增益的

下载程序


2.png (3.59 KB )

2.png

使用特权

评论回复
11
c506749189|  楼主 | 2013-7-31 15:56 | 只看该作者
过过会给大家讲述一下程序的主要过程,希望大家关注。

使用特权

评论回复
12
津范范| | 2013-8-9 11:09 | 只看该作者
支持

使用特权

评论回复
13
lupeng12| | 2013-8-9 12:06 | 只看该作者
支持一下

使用特权

评论回复
14
c506749189|  楼主 | 2013-8-9 13:22 | 只看该作者
续10楼
十二、程序基本讲解
(1)手腕部分
手腕部分程序主要是由无线和段式液晶组成,这里注意,无线部分是采用一个发送对一个手腕接收,一个发送还对应一个教师端,而发送和手腕要采用两组,两组又对应一个教师端。所以手腕的无线部分就是采用五个十六进制地址,最后一位固定为0x01。数据通道有效数据宽度为28。不能给大家具体的程序,我就尽可能的写详细点吧。
无线部分具体子函数为:初始化IO;延迟x毫秒;根据SPI协议,写一字节数据到nRF24L01,同时从nRF24L01读出一字节;写数据value到reg寄存器;从reg寄存器读一字节;从reg寄存器读出bytes个字节,通常用来读取接收通道数据或接收/发送地址;把pBuf缓存中的数据写入到nRF24L01,通常用来写入发射通道数据或接收/发送地址;设置nRF24L01为接收模式,等待接收发送设备的数据包;检查接收设备有无接收到数据包,设定没有收到应答信号是否重发;接收函数组成段式液晶部分注意的是跟数码管驱动不同时每一位显示,而他是用是A\B\C\D\E\F\G\DP的样子,所以和写数码管有着一点不同具体参考我发的分享:https://bbs.21ic.com/icview-586565-1-1.html
在主函数中,除了上来的初始化外,上来写888的初始上电验证,而后等待循环接收数据,接收到的数据第0位数据作为每次收到和发送的验证,这里我使用的254,而接收到的第2位才作为手腕的有效数据来显示出来。经过显示后把所有定义的变量清零。
(2)发送部分(mcu1主要作用看上文)
这部分主要用到的是两个定时器,经过传感器出来的脉搏信号经过定时器0来采集,同时定时器1开始计时两秒,这里定时器0来采集的每次50ms溢出,溢出一次定义的变量加一,最后算出一次信号变化到下一次信号变化一共溢出了多少次,这些次数算出的时间在加上定时器没到一次的时间来算出这一次脉搏跳动的时间,然后根据脉搏的跳动公式算出每分钟的时间。而定时器1是没两秒测一次数据,而要定时器1定时三次2秒也就是6秒的时间,这时有三个数据了,在取这三个数据的平均值。给到P1口传到第二个单片机上去。
而本单片机的第二个作用就是对文件进行处理,这是因为本来用一个单片机的而非要用两个的原因。这里有SD卡的程序,主要包括IO模拟SPI,发送一个字节;IO模拟SPI,读取一个字节;向SD卡写命令;复位SD卡,用到CMD0,使用SD卡切换到SPI模式;初始化SD卡,使用CMD1;将buffer指向的512个字节的数据写入到SD卡的addr扇区中;读取addr扇区的512个字节到buffer指向的数据缓冲区等子函数。基于上述步骤才可以写出FAT32系统,而系统在这个单片机用到的子函数有读取存储设备的addr扇区的512个字节的数据放入buf数据缓冲区中;将buf数据缓冲区中的512个字节的数据写入到存储设备的addr扇区中;小端转大端,即LittleEndian车BigEndian;将小字字符转为大写;读取0扇区,检测有没有MBR(主引导记录);得到DBR所在的扇区号(如果没有MBR,则DBR就在0扇区);获取分区的总容量;读取FSInfo获取最近的一个可用空闲簇;文件系统初始化;获取剩余容量;更新FSInfo中的可用空闲簇的数量;更新FSInfo中的下一个可用空闲簇的簇号;获得下一个簇的簇号;比较目录名;文件名匹配(支持带*?通配符的文件名的匹配);FAT32的文件目录项的文件名字段(8个字节),转为普通的文件名;将字符串中的小写字符都转为大写字符;进入一个目录;打开一个文件(支持文件名通配,如 A*.txt 或 *.*);寻找可用的空闲簇;填充文件/目录项;更新FAT表;清空某个簇的所有扇区,填充0;在存储设备中创建一个文件/目录项;创建目录(支持任意层目录创建);创建文件(支持任意层目录创建);删除文件(支持任意层目录);文件关闭这些步骤。(这些步骤只在此单片机中,其他的单片机步骤功能可能有删减)
主函数中对于定时器中断初始化是必不可少的。而这里也采用了一个LED灯来显示脉搏跳动变化,即可以感觉到每跳动一下灯亮一下的效果,这个简单就不说了。主要就是按下按键,大概估算出删除文件的时间延时后在规定的目录下创建文件,这里有了上面的子函数也就简单了。
(3)发送部分(mcu2主要作用看上文)
这里主要是对数据进行存储,也就是打开文件写到文件中,还有就是读出数据进行无线发送还有删除文件。
子涵数包括上面的无线部分子程序另外加上发送所用到的设置nRF24L01为发送模式,(CE=1持续至少10us),130us后启动发射,数据发送结束后,发送模块自动转入接收模式等待应答信号;检查接收设备有无接收到数据包,设定没有收到应答信号是否重发。其他的发送部分基本没变,接收的函数这里不用了。
SD卡部分的程序都没有变。这里不在说了。而FAT32系统的程序主要是增加了文件读取与文件中数据的追加等,这里也不说了。在调试过程中也用到了串口来调试程序,相信大家对串口这部分也不会陌生吧。
在主函数中主要上电判断Sd卡是否正常,正常后文件系统初始化是否正常,系统大家和剩余空间等步骤,而后循环在接收到MCU1发来的数据将其追加到指定的文件名中,进行打开文件,追加数据后关闭文件保存。同时发送数据,第0位验证254,第二位数据发送出去。发送一次同时LED灯跟随闪烁一次。而主要是的按键按下,发送到教师端的,这里读取文件数字,将其排列到剩下的无线的缓存区中,这样将以最快的速冻发送完所有的数据。而另一按键同时贯穿与两个MCU,就是删除和建立文件的了。
(4)教师端部分
这里用到的和上面部分一样的是SD卡部分,FAT32系统还有就是无线了,不一样的就是12864显示,而这部分相信初学者应该也都会,这里使用的是串行的接法控制,不会而问问度娘吧。主函数主要过程是各种元件的初始化,SD卡等检测,屏写上“欢迎使用”等字样,文件状态灯。在开始接收后,显示第几号同学,这里是无线的最后一位地址控制。而后接收到的两位同学数据将按每接收到一次无线缓存回车一次的方式,而在此过程中也有可能出现数据乱码,没关系,乱码的数据统一写成“A”,一个同学接收完用一行“N”来分割,就这样接收了两个同学数据,屏幕上显示“接收完成请下课字样”,老师拿着内存卡就可以进行数据处理了。






使用特权

评论回复
15
c506749189|  楼主 | 2013-8-9 13:29 | 只看该作者
续14楼
十三、作品图片
采集发送部分实物图

手腕部分图
教师端图片
剩余图片


IMG_20130704_090310.jpg (1.93 MB )

IMG_20130704_090310.jpg

IMG_20130704_090242.jpg (1.99 MB )

IMG_20130704_090242.jpg

IMG_20130704_090233.jpg (2.3 MB )

IMG_20130704_090233.jpg

IMG_20130704_085926.jpg (2.36 MB )

IMG_20130704_085926.jpg

IMG_20130704_085624.jpg (1.98 MB )

IMG_20130704_085624.jpg

使用特权

评论回复
16
c506749189|  楼主 | 2013-8-13 16:03 | 只看该作者
dirtwillfly 发表于 2013-7-29 21:46
感兴趣,强烈关注

希望有什么不足可以指出

使用特权

评论回复
17
woshixiaowen| | 2013-8-14 23:02 | 只看该作者
牛人真多

使用特权

评论回复
18
xlhtracy| | 2013-8-22 15:27 | 只看该作者
大一就这么牛?

使用特权

评论回复
19
YDCMAN| | 2013-8-28 21:59 | 只看该作者
很好的帖子,谢谢分享!

使用特权

评论回复
20
盛夏的葡萄| | 2013-8-29 08:59 | 只看该作者
大一就这么厉害,太厉害了吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:支持21IC的每一个板块 【连载】+为准备九月全国电子赛的暑假生活

59

主题

910

帖子

0

粉丝