心率監(jiān)控及反饋系統(tǒng)終稿_第1頁
心率監(jiān)控及反饋系統(tǒng)終稿_第2頁
心率監(jiān)控及反饋系統(tǒng)終稿_第3頁
心率監(jiān)控及反饋系統(tǒng)終稿_第4頁
心率監(jiān)控及反饋系統(tǒng)終稿_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第四屆“含弘杯”學(xué)生課外學(xué)術(shù)科技作品競(jìng)賽心率監(jiān)控及反饋系統(tǒng)作品類別:科技發(fā)明制作信息技術(shù)類二一四年十月目錄目錄 .1摘要 .1關(guān)鍵詞 .1一、 前言 .1二、 工作原理 .11、 硬件部分 .11.1信號(hào)采集模塊 .21.2數(shù)據(jù)處理模塊 .31.3人機(jī)交互模塊 .31.4數(shù)據(jù)傳輸模塊 .41.5數(shù)據(jù)存儲(chǔ)模塊 .51.6報(bào)警模塊 .51.7數(shù)據(jù)接收模塊 .52、 軟件設(shè)計(jì)部分 .62.1心率采集算法原理及相關(guān)C語言程序 .62.1.1心率采集算法原理 .62.1.2心率采集算法相關(guān) C 語言程序 .92.2程序代碼(見附錄) .11三、測(cè)試方法與誤差分析 .111、測(cè)試方法 .112、誤差分析

2、.11四、市場(chǎng)應(yīng)用及價(jià)值.13五、作品實(shí)際圖片 .14參考文獻(xiàn) .15附錄: .151摘要: 心率一項(xiàng)能夠比較準(zhǔn)確反映人體身體狀況的生理指標(biāo),通過對(duì)心率數(shù)值的連續(xù)測(cè)量來獲得準(zhǔn)確而客觀的數(shù)據(jù)分析,同時(shí)通過模塊化的設(shè)計(jì)將相關(guān)的數(shù)據(jù)進(jìn)行智能化分析存入SD 卡中,同時(shí)通過 NRF2401A 模塊或 GSM 模塊進(jìn)行數(shù)據(jù)的傳輸,有效地提高了心率測(cè)量?jī)x器的應(yīng)用范圍和分析的準(zhǔn)確性。關(guān)鍵詞: 心率測(cè)定 MSP430單片機(jī) NRF2401A模塊 GSM模塊一、前言隨著人們生活水平的提高, 人們對(duì)于健康的關(guān)注程度也在逐漸上升。我國的醫(yī)療設(shè)備市場(chǎng)存在著很大的發(fā)展空間,擁有巨大的市場(chǎng)潛力。心率是指心臟每分鐘跳動(dòng)的次數(shù)

3、,是一項(xiàng)能夠比較準(zhǔn)確的反映出一個(gè)人身體狀況的生理指標(biāo)。 通過心率的測(cè)量和連續(xù)心率數(shù)據(jù)的處理發(fā)掘,可以較客觀的獲得個(gè)體的身體狀況分析 。根據(jù)模塊化設(shè)計(jì)的思想,可以依照用戶的需求進(jìn)行差異化的定制,從而得到相應(yīng)所需的產(chǎn)品,極大的擴(kuò)展了產(chǎn)品的使用范圍。同時(shí) 通過程序的設(shè)計(jì)使其能夠?qū)τ跀?shù)據(jù)進(jìn)行優(yōu)化處理,使設(shè)備更加智能化,操作更加簡(jiǎn)便快捷。二、工作原理1、硬件部分硬件部分采用了模塊化的設(shè)計(jì)方案,通過不同的模塊與基礎(chǔ)測(cè)量部分的搭配,從而達(dá)到擴(kuò)展功能的目的。硬件部分分為信號(hào)采集模塊、數(shù)據(jù)處理模塊、人機(jī)交互模塊、數(shù)據(jù)傳輸模塊、數(shù)據(jù)存儲(chǔ)模塊、報(bào)警模塊、數(shù)據(jù)接收模塊七個(gè)部分。信號(hào)采集模塊將采集到的信號(hào)輸入到MSP4

4、30單片機(jī)中,然后經(jīng)過 單片機(jī)的處理,顯示在屏幕上,同時(shí)將數(shù)據(jù)存儲(chǔ)進(jìn)SD 卡中。在安裝數(shù)據(jù)傳輸模塊后可以選擇將數(shù)據(jù)通過NRF2401A模塊或 GSM模塊進(jìn)行傳輸,一旦心率超出正常范圍,報(bào)警模1塊將開始工作, 同時(shí)將報(bào)警信息通過數(shù)據(jù)傳送模塊發(fā)送到數(shù)據(jù)接收端。系統(tǒng)框圖如圖一所示:圖一系統(tǒng)框圖1.1 信號(hào)采集模塊信號(hào)采集 模塊采用的是 PulseSensor生物傳感器。該傳感器采用光電容積法來測(cè)量。 當(dāng)光束透過人體外周血管,由于動(dòng)脈搏動(dòng)充血容積變化導(dǎo)致這束光的透光率發(fā)生改變,此時(shí)由光電變換器接收經(jīng)人體組織反射的光線,轉(zhuǎn)變?yōu)殡娦盘?hào)并將其放大和輸出。 其價(jià)格低廉,精度高,體積較小,工作狀態(tài)穩(wěn)定性好,可

5、以使用微處理器進(jìn)行數(shù)據(jù)分析處理,用以分析脈搏變化以及實(shí)時(shí)自我調(diào)節(jié)心率,維持較為穩(wěn)定的健康的心率狀態(tài)。 工作電壓在 +3+5V,作品采用 +5V供電。2圖二傳感器波形圖1.2 數(shù)據(jù)處理模塊數(shù)據(jù)處理模塊選擇的是德州儀器生產(chǎn)的 MSP430單片機(jī),其工作速度快,片內(nèi)存儲(chǔ)空間大,同時(shí)具備 64 個(gè)通用 IO 口,具備優(yōu)良的數(shù)據(jù)處理和控制性能。將 PulseSensor傳感器采集到的數(shù)據(jù)進(jìn)行處理后再傳輸給下一級(jí)硬件部分。下圖為 MSP430單片機(jī):圖三 MSP430 單片機(jī)1.3 人機(jī)交互模塊3人機(jī)交互模塊采用的了10.1 英寸的 TFT觸摸彩屏,同時(shí)對(duì)控制部分進(jìn)行優(yōu)化。通過運(yùn)用工業(yè)化集成屏幕,使用觸摸

6、進(jìn)行操作,使系統(tǒng)操作更加便捷。大屏幕增強(qiáng)了圖形顯示的效果,使人機(jī)交互的功能得到增強(qiáng)。1.4數(shù)據(jù)傳輸模塊為了適應(yīng)不同的數(shù)據(jù)傳輸需求,數(shù)據(jù)傳輸模塊采用了兩種方式。近距離的數(shù)據(jù)傳輸采用NRF2401A無線傳輸模塊。 該模塊能夠工作在2.42.5GHZ 的公共頻段,工作晶振為16MHZ,采用 3.3V 電壓供電,分為配置模式,直接發(fā)送模式,突發(fā)模式等多種模式,該模塊選擇的是突發(fā)模式,在該模式下無線通信模塊可以直接將從單片機(jī)獲得的8 位二進(jìn)制數(shù)據(jù)傳送給同一頻段的接收端,空曠地區(qū)實(shí)測(cè)傳輸距離可達(dá)400米,接收端再將8 位數(shù)據(jù)校驗(yàn)完成后輸出。圖四 NRF2401A 無線傳輸模塊原理圖遠(yuǎn)距離的數(shù)據(jù)傳輸采用華為

7、的GTM900GSMGPRS通信模塊,其能夠在接收到 MSP430傳遞的數(shù)據(jù)后通過2G網(wǎng)絡(luò)將數(shù)據(jù)以短信的形式發(fā)送到綁定的手機(jī),工作性能穩(wěn)定。41.5 數(shù)據(jù)存儲(chǔ)模塊在數(shù)據(jù)存儲(chǔ)模塊部分采用的是大容量 SD 卡存儲(chǔ)設(shè)備。其通過 SPI 總線與 MSP430單片機(jī)相連, 在數(shù)據(jù)采集后能夠迅速完成數(shù)據(jù)的存入和讀取,同時(shí)體積較小,具備極高的兼容性,方便數(shù)據(jù)的轉(zhuǎn)移。同時(shí)擴(kuò)大了數(shù)據(jù)的存儲(chǔ)空間和存儲(chǔ)效果。1.6 報(bào)警模塊報(bào)警模塊采用了蜂鳴器和屏幕共同工作的方式。當(dāng)報(bào)警模塊工作時(shí),蜂鳴器開始工作同時(shí)屏幕開始間歇性點(diǎn)亮熄滅,從而起到發(fā)出警報(bào)的效果。1.7 數(shù)據(jù)接收模塊在遠(yuǎn)距離數(shù)據(jù)傳輸中,采用手機(jī)作為數(shù)據(jù)接收端;在近

8、距離的數(shù)據(jù)傳輸中,由于使用了 NRF2401A無線通信模塊,所以接收端采用了相同的通信模塊和 STC89C52RC單片機(jī)來構(gòu)成, 其能夠?qū)⒔邮盏降臄?shù)據(jù)顯示在 LCD1602的屏幕上,同時(shí)在發(fā)送端發(fā)出警報(bào)信號(hào)時(shí),在接收端的蜂鳴器工作進(jìn)行報(bào)警。下圖為接收端 LCD1602的電路原理圖:5圖五 LCD1602 顯示部分原理圖2、軟件設(shè)計(jì)部分2.1心率采集算法原理及相關(guān)C語言程序2.1.1心率采集算法原理ADC 電 壓采樣得 SignalNNSignal < thresh) &&(Signal>thresh)(time > (IBI/5)*3)&& (

9、Signal > Peak)YYSignal < troughPeak= SignalTrough= Signal6YNY存儲(chǔ) IBI 于數(shù)組secondBeat=1rate101NfirstBeat=1Yrunning rate等于數(shù)組rate 算數(shù)平均BMP=6000/runningTotal 優(yōu)化數(shù)據(jù)YTime<25007數(shù)據(jù)初始化NBPM用于保存脈沖速率IBI持有次之間的時(shí)間Pulse脈沖波高,真 ;假時(shí),低QS為真時(shí),發(fā)現(xiàn)了一拍心跳節(jié)拍Signal持有傳入的原始數(shù)據(jù)其中最主要的是BPM 和 IBI 兩個(gè)字。 IBI 是連續(xù)兩個(gè)心拍之間的時(shí)間差,而 BMP 是心率值,

10、表示心臟每分鐘跳幾下,BMP=60/IBI 。采樣:主要通過ADC12 采樣脈搏模擬信號(hào),采樣頻率為500Hz。濾波: 由于脈搏波在動(dòng)脈中的反射,往往會(huì)出現(xiàn)一個(gè)重脈波。為了避免這個(gè)重脈波的干擾,在程序中每隔0.6 個(gè) IBI 值跟蹤脈搏上升。心率的計(jì)算根據(jù)兩個(gè)相鄰脈搏波的上升段的中間差值確定IBI 值,由此可以推算 BMP 數(shù)值。8圖六心率采集算法圖一計(jì)算:心率的計(jì)算根據(jù)兩個(gè)相鄰脈搏波的上升段的中間差值確定IBI值,由此可以推算BMP 數(shù)值圖七心率采集算法圖二2.1.2心率采集算法相關(guān)C語言程序unsigned int rate10;/ 數(shù)組來保存最后十個(gè)IBI值unsigned int am

11、p = 120;/ 用于保存脈沖波形的振幅,發(fā)送/unsigned int temp =0 ;/溫度unsigned int BPM=600;/ 用于保存脈沖速率unsigned intIBI = 600;/ 持有次之間的時(shí)間unsigned int Peak =512;/ 初始化 心跳峰值unsigned int Trough = 512;/用來尋找脈搏波最小值,發(fā)送9unsigned int thresh = 512;/ 初始化心跳最小值_Bool Pulse = false;/脈沖波高,真。假時(shí),低_Bool firstBeat = true;/ 用于啟動(dòng)發(fā)送速率數(shù)組_Bool seco

12、ndBeat = false;/ 用于啟動(dòng)發(fā)送速率數(shù)組_Bool QS = false;/ 為真時(shí),發(fā)現(xiàn)了一拍心跳節(jié)拍。unsigned intSignal;/ 持有傳入的原始數(shù)據(jù)unsigned long sampleCounter = 0;/ 當(dāng)前時(shí)間unsigned long lastBeatTime = 0;/ 上個(gè)心跳時(shí)間unsigned long time;/ 用于記錄時(shí)間采樣:主要通過ADC12 采樣脈搏模擬信號(hào),采樣頻率為500Hz。void init_adc12(void)P6SEL = 0x01;/ p6.0ADC 輸入ADC12CTL0 &= ENC;ADC12C

13、TL0 = ADC12ON+MSC+SHT0_0;ADC12CTL1 = SHP+CONSEQ_1+ADC12SSEL1 ;ADC12MCTL0 |= INCH_0+MSC;ADC12IE = 0x03;ADC12CTL0 |= ENC;#pragma vector = ADC12_VECTOR/ADC 數(shù)據(jù)10_interrupt voidADC12(void)Signal = ADC12MEM0 / 4;2.2 程序代碼(見附錄)三、測(cè)試方法與誤差分析1、測(cè)試方法1、通過 USB 給系統(tǒng)供給 5V 直流電2、確認(rèn)電源指示燈點(diǎn)亮系統(tǒng)正常工作3、將傳感器通過綁帶綁在指尖,需指尖感到一定的壓迫感

14、即可。4、將程序從電腦加載到單片機(jī)進(jìn)行調(diào)試5、通過液晶屏幕獲得相應(yīng)的心率測(cè)量數(shù)據(jù),并模擬心率失常環(huán)境,檢測(cè)警報(bào)信號(hào)是否正常發(fā)出。2、誤差分析經(jīng)過大量的反復(fù)的測(cè)量,獲得該設(shè)備心率測(cè)量數(shù)據(jù)與參考設(shè)備測(cè)量數(shù)據(jù)之間的誤差(參考設(shè)備選用 IHEALTH 生產(chǎn)腕式血壓計(jì) ,誤差在 6%)下面對(duì)部分采樣結(jié)果和計(jì)算方法進(jìn)行介紹。11令設(shè)備測(cè)得的心率數(shù)值為 ?i1,2,x(ixi ( i1,2,?xiei xi其中 i1,2,),參考設(shè)備測(cè)得的心率數(shù)值為),(1)設(shè)樣本的平均值為 m ,方差為2 ,則通過方差的計(jì)算公式知:1n(2)mein i 1其中 i1,2,2 1 n -1n2( 3)ei mi 1其中

15、i1,2,下圖為三次隨機(jī)測(cè)量的結(jié)果的統(tǒng)計(jì)圖:圖八誤差統(tǒng)計(jì)圖一12圖九誤差統(tǒng)計(jì)圖二圖十誤差統(tǒng)計(jì)圖三經(jīng)過大量的實(shí)驗(yàn),使現(xiàn)有的心率采集算法能夠達(dá)到與參考設(shè)備獲得數(shù)據(jù)相比 4%以內(nèi)的誤差。四、市場(chǎng)應(yīng)用及價(jià)值本產(chǎn)品可以廣泛的適用于家庭遠(yuǎn)距離監(jiān)護(hù)、中小型醫(yī)療機(jī)構(gòu)的檢測(cè)網(wǎng)絡(luò)的構(gòu)建、體育運(yùn)動(dòng)分析和一些關(guān)于人體狀況的研究,比如人體情感控制類的科研數(shù)據(jù)采集等方面。在國內(nèi)的相關(guān)產(chǎn)品中,功能類似的產(chǎn)品存在著價(jià)格昂貴,體積巨大,測(cè)定時(shí)間過長,數(shù)據(jù)傳輸距離有限,13操作繁瑣,顯示的數(shù)值只是離散的單位時(shí)間點(diǎn),沒有橫向的數(shù)據(jù)分析功能,存儲(chǔ)空間有限等缺點(diǎn)。隨著老齡化社會(huì)到來以及國內(nèi)醫(yī)療科研領(lǐng)域的熱門化,其具備的市場(chǎng)空間正在急劇

16、擴(kuò)大,通過這種智能化,靈活性高的產(chǎn)品來構(gòu)成的相關(guān)醫(yī)療設(shè)備會(huì)更加得到消費(fèi)者的青睞。例如老年人口增多,年輕人無法在身邊長時(shí)間陪護(hù);部分中小型醫(yī)療機(jī)構(gòu)缺乏資金購置昂貴的設(shè)備;對(duì)于運(yùn)動(dòng)員運(yùn)動(dòng)過程中全程的心率數(shù)據(jù)分析;應(yīng)用到科學(xué)研究中,如人體情感控制需要大量的數(shù)據(jù)分析而相關(guān)的產(chǎn)品功能缺失或性能低等等問題,都可以得到有效的解決,其能夠擁有很大的經(jīng)濟(jì)效益,并且在未來還可以通過模塊的增加為其提供更多的發(fā)展空間和市場(chǎng)前景。五、作品實(shí)際圖片圖十一作品實(shí)際圖片14參考文獻(xiàn)1洪利,李世寶, 章?lián)P .MSP430 單片機(jī)原理與應(yīng)用實(shí)例詳解M.北京: 北京航空航天大學(xué)出版社2 譚浩強(qiáng) .C 程序設(shè)計(jì)(第三版) M. 北京

17、:清華大學(xué)出版社3康華光 .電子技術(shù)基礎(chǔ)·模擬部分(第五版)M. 北京 :高等教育出版社4 Steve Summit. C Programming FAQs frequently asked questions M. Commonwealth of Massachusetts, Boston: Addison Wesley附錄:軟件主程序#include <msp430x14x.h>#include "driver.c"#include "Config.h"/ 配置 msp430頭文件,與硬件相關(guān)的配置在這里更改#include &

18、quot;LCM-DRV_CFG.h"#include "LCM-DRV_DISP.h"#include "LCM-DRV_TOUCH.h"#include "LCM-DRV_CAN.h"#include "uart.h"unsigned char i,j,k=0,count=0,n=0;unsigned short cout2,a482,b62=1510,270-250,10,270,10+350,270,10+350,270-1,10+1,270-1,10+1,270-250;/坐標(biāo)軸 6 點(diǎn)原點(diǎn)(

19、10,270)uchar DisBuff4=0;/顯示心率數(shù)據(jù)值/*/系統(tǒng)時(shí)鐘初始化,外部8M 晶振/*void Clock_Init()uchar i;BCSCTL1&=XT2OFF;/打開 XT2 振蕩器BCSCTL2|=SELM1+SELS;/MCLK 為 8MHZ ,SMCLK 為 8MHZdoIFG1&=OFIFG;/清楚振蕩器錯(cuò)誤標(biāo)志for(i=0;i<100;i+)_NOP();while(IFG1&OFIFG)!=0);/如果標(biāo)志位 1,則繼續(xù)循環(huán)等待IFG1&=OFIFG;/*/主函數(shù)16/*void main(void)WDTCTL =

20、 WDTPW + WDTHOLD;/ 關(guān)閉看門狗Clock_Init();/系統(tǒng)時(shí)鐘設(shè)置UART_Init();/ 串口設(shè)置初始化TFT 與單片機(jī)通信方式 232init_adc12();/adc 心率采集初始化TACCTL0 = CCIE;TACCR0 =16000;TACTL = TASSEL_2 + MC_1 + TACLR;/*驅(qū)動(dòng)測(cè)試 */重啟液晶LCDDispText(HZLIB_GB2312_24X24,CHAR_FB_MODE,0,0,"LCDRESET.");delayms(1500);LCDReset();LCDClearScreen(); delaym

21、s(1500);LCDDispSolidRectangle(0xF800,0x07E0,10,10,400,270);/畫填充矩形LCDClearScreen();LCDDispDot(0x00,6, b); / delayms(1500);/ 畫點(diǎn)LCDDispLines(0x00,6, b); delayms(1500);/*LCDDispSolidRectangle(0xF800,0x07E0,10,330,400,590);/畫填充矩形LCDDispSolidRectangle(0xF800,0x07E0,440,10,800,270);/畫填充矩形delayms(1500); LCD

22、ClearScreen();for(i=0;i<=8;i+)for(j=0;j<=6;j+) ak0=100*i;ak1=50*j;k+=1;if(k>=48)k=0;17LCDDispDot(0x00,48, a);LCDDispLines(0x00,48, a); delayms(1500);LCDClearScreen();LCDDispArcSector(0x00,0xF800, 0x0064, 0x0030, 0x0032, 0x0000, 0x00B4);/畫圓弧或扇形delayms(1500);LCDClearScreen();LCDDispFreeLines(

23、0x0005,0x0020,0x0135,0x001F,2,FreeLineCordn);/動(dòng)態(tài)曲線顯示delayms(1500);LCDClearScreen();LCDDispSpectrum(0x0020, 0x0135, 3, 0x0128, SpectrumHigh); delayms(1500);LCDClearScreen(); LCDDrawPolylineByFixedXoffset(0x0020,0x0008,3, OffsetDotYposi); delayms(1500);LCDClearScreen(); LCDDrawPolylineByAnyOffset(0x00

24、20,0x0008,3,OffsetDotposi); delayms(1500);LCDClearScreen(); LCDDispTextSimply(0, 0x00F0, 0x0088, "Hello!");delayms(1500);LCDClearScreen();LCDDispAscii(0x01, 0x00, 0x00F0, 0x0088, AsciiBuf,sizeof(AsciiBuf); delayms(1500);LCDClearScreen();LCDDispDot(0x00,80, DotCordn);/ 畫點(diǎn)delayms(1500);LCDCl

25、earScreen();*/_EINT();/開中斷while(1)if(QS = true)18count+;LCDDispAscii(0x01,0,100, 100, DisBuff, 4);if(count=0)cout0=270-BPM;else if(count=1) cout1=270-BPM;elsecout0=cout1;cout1=270-BPM;LCDDrawPolylineByFixedXoffset(15+n*20, 20, 2,cout);n+;if(n>18)n=0;LCDSetFillWithGroundColor(0x00, 0x11, 0x20, 0x3

26、60, 0x269);QS = false;#pragma vector = ADC12_VECTOR_interrupt voidADC12(void)Signal = ADC12MEM0 / 4;#pragma vector=TIMERA0_VECTOR_interrupt void TIMER1_A0_ISR(void)19unsigned int runningTotal = 0;unsigned char i =0;ADC12CTL0 |= ADC12SC;_DINT();sampleCounter += 2;time=sampleCounter - lastBeatTime;if(Signal < thresh) && (time > (IBI/5)*3)if (Signal < Trough)Trough = Signal;/取最小值if(Signal > thresh) && (Signal > Peak)Peak = Signal;/取最大值if (tim

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論