《心率监控及反馈系统-终稿.docx》由会员分享,可在线阅读,更多相关《心率监控及反馈系统-终稿.docx(26页珍藏版)》请在课桌文档上搜索。
1、SS*JR第四届“含弘杯”学生课外学术科技作品竞赛心率监控及反应系统作品类别:科技创造制作信息技术类二。一四年十月目录目录1摘要1关键词1一、前言1二、工作原理11、硬件局部11.1 信号采集模块21.2 数据处理模块31.3 人机交互模块31.4 数据传输模块31.5 数据存储模块41.6 报警模块41.7 数据接收模块52、软件设计局部52.1心率采集算法原理及相关C语言程序52. 1.1心率采集算法原理53. 1.2心率采集算法相关C语言程序94. 2程序代码(见附录)11三、测试方法与误差分析111、测试方法112、误差分析11四、市场应用及价值13五、作品实际图片14参考文献14附录
2、:15摘要:心率一项能够比拟准确反映人体身体状况的生理指标,通过对心率数值的连续测量来获得准确而客观的数据分析,同时通过模块化的设计将相关的数据进行智能化分析存入SD卡中,同时通过NRF240IA模块或GSM模块进行数据的传输,有效地提高了心率测量仪器的应用范围和分析的准确性。I一批注帅小摘要需要高度概括你这个工程构成,核心技术,突出点等.不能泛泛而淡关键词:心率测定MSP430单片机NRF2401A模块GSM模块一、前言批注lh2:前言中应介绍,你研究方向中现阶段水平,及背毋,以及所要用到的专业知识介绍。还应对本作品有个 根本的介绍。这样太简洁了批注U3:尽量分成:系统概述(从整体来阐述系统
3、结 构),硬件局部,软件局部。批注h4:傲件模块尽量每局部附上设计原理图,或 者模块组成框图I随着人们生活水平的提高,人们对于健康的关注程度也在逐渐上升。我国的医疗设备市场存在着很大的开展空间,拥有巨大的市场潜力。心率是指心脏每分钟跳动的次数,是一项能够比拟准确的反映出一个人身体状况的生理指标。通过心率的测量和连续心率数据的处理开掘,可以较客观的获得个体的身体状况分析。根据模块化设计的思想,可以依照用户的需求进行差异化的定制,从而得到相应所需的产品,极大的扩展了产品的使用范围。同时通过程序的设计使其能够对于数据进行优化处理,使设备更加智能化,操作更加简便快捷。L二、H作原理1、硬件局部硬件局部
4、采用了模块化的设计方案,通过不同的模块与根底测量局部的搭配,从而到达扩展功能的目的。硬件局部分为信号采集模块、数据处理模块、人机交互模块、数据传输模块、数据存储模块、报警模块、数据接收模块七个局部。信号采集模块将采集到的信号输入到MSP430单片机中,然后经过单片机的处理,显示在屏幕上,同时将数据存储进SD卡中。在安装数据传输模块后可以选择将数据通过NRF2401A模块或GSM模块进行传输,一旦心率超出正常范围,报警模块将开始工作,同时将报警信息通过数据传送模块发送到数据接收端。系统框图如图一所示:图一系统框图批注IhS:不能战图1.1 信号采集模块信号采集模块采用的是PulseSensor生
5、物传感器。该传感器采用光电容积法来测量。当光束透过人体外周血管,由于动脉搏动充血容积变化导致这束光的透光率发生改变,此时由光电变换器接收经人体组织反射的光线,转变为电信号并将其放大和输出。其价格低廉,精度高,体积较小,工作状态稳定性好,可以使用微处理器进行数据分析处理,用以分析脉搏变化以及实时自我调节心率,维持较为稳定的健康的心率状态。工作电压在+3+5V,作品采用+5V供电。图二传感器波形图1.2 数据处理模块数据处理模块选择的是德州仪器生产的MSP430单片机,其工作速度快,片内存储空间大,同时具备64个通用IO口,具备优良的数据处理和控制性能。将PUISeSenSOr传感器采集到的数据进
6、行处理后再传输给下一级硬件局部。下列图为MSP430单片机:图三MSP430单片机1.3 人机交互模块人机交互模块采用的了10.1英寸的TFT触摸彩屏,同时对控制局部进行优化。通过运用工业化集成屏幕,使用触摸进行操作,使系统操作更加便捷。大屏幕增强了图形显示的效果,使人机交互的功能得到增强。1.4 数据传输模块为了适应不同的数据传输需求,数据传输模块采用了两种方式。近距离的数据传输采用NRF2401A无线传输模块。该模块能够工作在2.42.5GHZ的公共频段,工作晶振为16MHZ,采用3.3Y电压供电,分为配置模式,直接发送模式,突发模式等多种模式,该模块选择的是突发模式,在该模式下无线通信模
7、块可以直接将从单片机获得的8位二进制数据传送给同一频段的接收端,空旷地区实测传输距离可达400米,接收端再将8位数据校验完成后输出。图四NRF240IA无线传输模块原理图远距离的数据传输采用华为的GTM900GSMGPRS通信模块,其能够在接收到MSP430传递的数据后通过2G网络将数据以短信的形式发送到绑定的,工作性能稳定。1.5 数据存储模块在数据存储模块局部采用的是大容量SD卡存储设备。其通过SPI总线与MSP430单片机相连,在数据采集后能够迅速完成数据的存入和读取,同时体积较小,具备极高的兼容性,方便数据的转移。同时扩大了数据的存储空间和存储效果。1.6 报警模块报警模块采用了蜂鸣器
8、和屏幕共同工作的方式。当报警模块工作时,蜂鸣器开始工作同时屏幕开始间歇性点亮熄灭,从而起到发出警报的效果。1.7 数据接收模块在远距离数据传输中,采用作为数据接收端;在近距离的数据传输中,由于使用了NRF2401A无线通信模块,所以接收端采用了相同的通信模块和STC89C52RC单片机来构成,其能够将接收到的数据显示在LCD1602的屏幕上,同时在发送端发出警报信号时,在接收端的蜂鸣器工作进行报警。下列图为接收端LCD1602的电路原理图:批注h61: 说明:软件设计总流程图,软件原理说明图五LCD1602显示局部原理图2、欧件设计局剖2.1 心率采集算法原理及相关C语言程序批注Ih7:算法原
9、理介绍,流程图,也可用伪代码形式 介绍2.1.1 心率采集算法原理BPMIBI用于保存脉冲速率持有次之间的时间Pulse脉冲波高,真;假时,低QS为真时,发现了一拍心跳节拍Signal持有传入的原始数据其中最主要的是BPM和IBl两个字。IBl是连续两个心拍之间的时间差,而BMP是心率值,表示心脏每分钟跳几下,BMP=60IBL采样:主要通过ADCI2采样脉搏模拟信号,采样频率为500Hz。滤波:由于脉搏波在动脉中的反射,往往会出现一个重脉波。为了防止这个重脉波的干扰,在程序中每隔0.6个IBl值跟踪脉搏上升。心率的计算根据两个相邻脉搏波的上升段的中间差值确定IBI值,由此可以推算BMP数值。
10、计算:心率的计算根据两个相邻脉搏波的上升段的中间差值确定IBI值,由此可以推算BMP数值图七心率采集算法图二2.1.2心傩采集算法相关C语言程序;/批注注8:程序只需附至程序!子程序介绍功能即可unsignedintrate10;值unsignedintamp=120;振幅,发送/unsignedinttemp=0;unsignedintBPM=600;unsignedintIBI=600;unsignedintPeak=512;unsignedintTrough=512;最小值,发送unsignedintthresh=512;/数组来保存最后十个IBI/用于保存脉冲波形的温度/用于保存脉冲速
11、率/持有次之间的时间初始化心跳峰值用来寻找脉搏波初始化心跳最小值_BoolPulse=false;脉冲波高,真。假时,低.BoolfirstBeat=true;/用于启动发送速率数组_BoolSecondBeat=false;用于启动发送速率数组_BoolQS=false;/为真时,发现了一拍心跳节拍。unsignedintSignal;/持有传入的原始数据unsignedlongSampleCounter=0;/当前时间unsignedlongIastBeatTime=O;/上个心跳时间unsignedlongtime;用于记录时间采样:主要通过ADCI2采样脉搏模拟信号,采样频率为500H
12、z。voidinit_adc!2(void)(P6SEL=0x()1;/p6.0ADC输入ADC12CTL0&二ENC;ADC12CTL0=ADC12ON+MSC+SHT0.0;ADC12CTL1=SHP+CONSEQ_1+ADC12SSEL1;ADC12MCTL0=INCH.0MSC;ADC12IE=0x()3;ADC12CTL0=ENC;/ADC数据#pragmavector=ADC12_VECTORinterruptvoidADC12(void)Signal=ADC12MEM04;2.2程序代码见附录三、测试方法与误差分析1、测试方法1、通过USB给系统供应5V直流电2、确认电源指示灯点
13、亮系统正常工作3、将传感器通过绑带绑在指尖,需指尖感到一定的压迫感即可。4、将程序从电脑加载到单片机进行调试5、通过液晶屏幕获得相应的心率测量数据,并模拟心率失常环境,检测警报信号是否正常发出。2、误差分析经过大量的反复的测量,获得该设备心率测量数据与参考设备测量数据之间的误差(参考设备选用IHEALTH生产腕式血压计,误差在6%)下面对局部采样结果和计算方法进行介绍。令设备测得的心率数值为C=12),参考设备测得的心率数值为xi3=1,2,),q=f其中i=l,2,设样本的平均值为?,方差为那么通过方差的计算公式知:,n=_Eei(2)nLl其中i=l,2,。2=白刃”一其中i=12下列图为
14、三次随机测圈的结果的统计图:.批注9:需要做简略分析,图形衢做说明SYa1471013161922252831343740434649测量次效图十误差统计图三经过大量的实验,使现有的心率采集算法能够到达与参考设备获得数据相比4%以内的误差。四、市场应用及价阖一 批注IhlO:这局部可在前言介绍.最后应该写研究展/ 里,以及后续拓展本产品可以广泛的适用于家庭远距离监护、中小型医疗机构的检测网络的构建、体育运动分析和一些关于人体状况的研究,比方人体情感控制类的科研数据采集等方面。在国内的相关产品中,功能类似的产品存在着价格昂贵,体积巨大,测定时间过长,数据传输距离有限,操作繁琐,显示的数值只是离散
15、的单位时间点,没有横向的数据分析功能,存储空间有限等缺点。随着老龄化社会到来以及国内医疗科研领域的热门化,其具备的市场空间正在急剧扩大,通过这种智能化,灵活性高的产品来构成的相关医疗设备会更加得到消费者的青睐。例如老年人口增多,年轻人无法在身边长时间陪护;局部中小型医疗机构缺乏资金购置昂贵的设备;对于运发动运动过程中全程的心率数据分析;应用到科学研究中,如人体情感控制需要大量的数据分析而相关的产品功能缺失或性能低等等问题,都可以得到有效的解决,其能够拥有很大的经济效益,并且在未来还可以通过模块的增加为其提供更多的开展空间和市场前景。五、作品实际图片图十一作品实际图片参考文献I洪利,李世宝,章扬
16、MSP430单片机原理与应用实例详解M北京:北京航空航天大学出版社12谭浩强.C程序设计(第二版)Mkl匕京:清华大学出版社康华光.电子技术根底模拟局部(第五版JM北京:高等教育出版社4SteveSummit.CProgrammingFAQsfrequentlyaskedquestionsM.CommonwealthofMassachusetts,Boston:AddisonWesleyI附录.I/批注UlIlJ:附录还应有硬件设计原理图,PCB等软件主程序#include#include,driver.c,#includeConfig.h配置msp430头文件,与硬件相关的配置在这里更改#i
17、ncludeLCM-DRV.CFG.h#includeLCM-DRV_DISP.hincludeLCM-DRV_TOUCH.h#includeLCM-DRV.CAN.h#includeuart.hunsignedchari.j,k=,count=0,n=0;unsignedshortcout2,a482,b62=(10,270-250h(10,270,(10+350,270,(10+350,270-1,10+1,270-1M10+1,270-250);坐标轴6点原点(10,270)ucharDisBuff4=0:显示心率数据值*/系统时钟初始化,外部8M晶振*voidClockJnitO(uc
18、hari;/翻开XT2振荡器/MCLK 为 8MHZ, SMCLK 为 8MHZ清楚振荡揩错误标志如果标志位1,那么继续循环等待BCSCTL1&=XT2OFF;BCSCTL2=SELM1+SELS;doIFG1&=OFIFG:for(i=0;i100;i+)-NOP();)Whilc(IFGlifcOFIFG)I=O);IFGlife=-OFIFG;*/主函数/Si;*voidmain(void)(WDTCTL=WDTPW+WDTH0LD;关闭看门狗ClockJnitO;系统时钟设置UARTJnitO;串口设置初始化TFT与单片机通信方式232ini(.adcl2();/adc心率采集初始化T
19、ACCTL0=CCIE;TACCRO=16000;TACTL=TASSEL_2+MC_I+TACLR;/*驱动测试*/重启液晶1.CDDispText(HZLIB_GB2312_24X24,CHAR_FB_MODE,0,0,LCDRESET.);delayms(1500);1.CDReset();LCDCIearScreenO;delayms(1500);1.CDDiSPSolidRCCanglc(0xF800,0x07E0,10,10,400,270);画填充矩形1.CDCIearScreenO;1.CDDispDot(0x00,6,b);/delayms(l500);画点1.CDDispL
20、ines(0x00,6,b);delayms(1500);1.CDDiSPSolidReCtangle(OXF800,OxO7EO,10,330,400,590),画填充矩形1.CDDiSPSolidReCtangIe(OXFgoo,0x07E0,440,10,800,270);画填充矩形delayms(1500);LCDClearScreenO;for(i=0;i=8;i+)for(j=0;j=48)k=0;1.CDDispDot(0x00,48,a);1.CDDispLines(0x00,48,a);delayms(1500)jLCDClearScreen();1.CDDispArcSec
21、tor(0x00,0xF800,0x0064,0x0030,0x0032,0x0000,OXooB4);画圆弧或扇形delayms(l500);LCDCIearSCreen();LCDDispFreeLines(OxOOO5,OxOO2O,OxO135,0x001F,2,FreeLineCordn);/动态曲线显示delayms(1500);LCDClearSCreen();1.CDDispSpcctrum(0x0020,0x0135,3,0x0128,SpcctrumHigh):delayms(l500);LCDClearSCreen();1.CDDraWPOIyIineByFiXedXOf
22、fSet(OX(X)20,0x0008,3,OffsetDotYposi);delayns(1500):LCDCICarSCreen();1.CDDrawPolylineByAnyOffsel(0x0020.0x0008,3.OffsetDotposi);delayms(l500);LCDClearSCreen();1.CDDispTextSimply(O,OxOOFO,OxOO88,Hcilo!);delayms(l500);LCDClearSCreen();1.CDDispAscii(OxO1,0x00,OxOOFO,OXoO88,AsciiBuf,Sizeof(AsciiBuf);del
23、ayms(l500):LCDCICarSCreen();1.CDDispDot(0x00.80,DotCordn);画点delayms(l500);LCDCIearSCreen();*/_EINT();开中断while(l)(if(QS=true)(count+;1.CDDispAscii(OxO1,0,100,100,DisBuff,4);if(count=0)CoUt=270-BPM:elseif(count=l)coutl=270-BPM;)elsecout0=coul1;cout1)=270-BPM;1.CDDrawPolylineByFixedXoffset(15+n*20,20,2
24、,cout);n+;Iif(n18)(n=0;1.CDSetFillWiihGroundColor(0x00,Ox11,0x20.0x360,0x269);)QS=false;)1#pragmavector=ADC12_VECTOR_interruptvoidADC12(void)(Signal=ADCl2MEM04;#pragmavec(or=TIMERAO_VECTORinterruptvoidTIMER1_A0_ISR(void)(unsignedintrunningTotal=0;unsignedchari=0;ADC12CTL01=ADCl2SC;_DINT();SampleCoun
25、ter+=2;time=samplcCounter-IastBcatTimc:if(Signal(IBI5)+3)if(Signalthresh)&(SignalPeak)Peak=Signal;取最大值)if(time250)(if(Signalthresh)&(Pulse=false)&(time(IBI5)*3)Pulse=true;IBI=SampleCounter-IastBeatTime;IastBeatTime=SampleCounter;if(secondBeat)(SecondBeat=false;for(i=0;i=9;i+)(rateli=IBI;if(firstBeat
26、)firstBcat=false;SecondBeat=true;-EINT();return;for(i=0;i2OO)BPM=2OO;if(BPM3O)BPM=3O;/*/DisBuff2J=BPM%10+48;取个位数DisBuff11=BPM%100/10+48;取十位数DisBufflOJ=BPM/100+48;取百位数if(DisBuff0=48)DisBuff0=32;/*/QS=true;if(Signal25)(thresh=512;Peak=512;Trough=512;IastBeatTime=SampIeCounter;firstBeat=true:SecondBeai=false;)_EINT();(此处为评审意见张贴栏)