便攜式心率計的設(shè)計(合肥),便攜式,心率,設(shè)計,合肥
學(xué)號:1108441016
本科畢業(yè)論文(設(shè)計)
(2015屆)
便攜式心率計的設(shè)計
院 系 電子信息工程學(xué)院
專 業(yè) 電子信息工程
姓 名 左中剛
指導(dǎo)教師 尹靜 助教
2015 年 5 月
合肥師范學(xué)院2015屆本科畢業(yè)論文(設(shè)計)
摘 要
在社會飛速發(fā)展的今天,人們的物質(zhì)文化生活得到了極大的提高,但同時多種疾病威脅著人們的生命;而心臟病又是人們難以預(yù)防的突發(fā)致命疾病,所以健康也被越來越多的人所重視。本設(shè)計要解決的問題就是可以測量心率、預(yù)防心臟病等心臟方面疾病的數(shù)字心率計。
便攜式數(shù)字人體心率計運用STC89C51單片機(jī)作為核心控制處理單元,采用紅外傳感器作為傳感器,運用軟件和硬件雙重濾波技術(shù)實現(xiàn)了對人體心率信號的準(zhǔn)確檢測。測量范圍限可以用按鍵調(diào)節(jié),并進(jìn)行聲音報警,傳感器可以放在身體脈搏明顯的任何部位,測量結(jié)果以數(shù)字方式方式顯示,測量精確到2次/分。經(jīng)過大量實驗,本心率計已經(jīng)基本達(dá)到題目要求部分的全部指標(biāo)。
關(guān)鍵字:心率計,紅外傳感器,單片機(jī)STC89C51,LM358
Abstract
In the social rapid development today, greatly improve the obtained people's material and cultural life, but also a variety of diseases threatening people's life; and another heart attack is sudden fatal disease people difficult to prevent, so health is also more and more people are paying attention. This design is to solve the problem that can measure the heart rate, the prevention of heart disease and other digital heart rate meter heart disease.
Portable digital human body heart rate meter using STC89C51 microcontroller as a core processing unit, using infrared sensors as sensor and realizes accurate detection of human heart rate signal by software and hardware double filtering technique. Measuring range limit keys can be adjusted, and sound alarm, sensors can be placed in any part of the body pulse obviously, the measurement results in digital form to display the measurement accurate to 2 times / min. After a lot of experiments, heart rate meter has basically reached the requirements of Title part of all indexes of the.
Keywords: heart rate meter, infrared sensor, STC89C51 MCU, LM358
目 錄
摘 要 I
Abstract II
目 錄 III
第一章 引言 2
1.1 心率計的研究背景和意義 2
1.2 心率計的研究現(xiàn)狀及發(fā)展動態(tài) 2
第二章 方案論證及元器件選擇 3
2.1 研究內(nèi)容及設(shè)計指標(biāo) 3
2.2 方案設(shè)計與論證 3
2.3 元器件選擇及功能介紹 6
第三章 硬件系統(tǒng)設(shè)計 7
3.1 系統(tǒng)設(shè)計框圖 7
3.2 信號采集電路 8
3.3信號放大電路 9
3.4 信號比較電路 9
3.5 LCD1602顯示電路 10
3.6 鍵盤電路 10
第四章 系統(tǒng)軟件設(shè)計 11
4.1測量計算原理 11
4.2主程序流程圖 11
4.3中斷程序流程圖 12
4.4定時器T0和T1的中斷服務(wù)程序 12
第五章 系統(tǒng)測試與結(jié)果分析 13
5.1 測試方法和儀器 13
5.2仿真與焊接階段 14
5.3 測試數(shù)據(jù)與結(jié)果分析 15
第六章 總結(jié)和展望 18
參考文獻(xiàn) 19
附錄 20
附錄一:系統(tǒng)仿真圖 20
附錄二:系統(tǒng)原理圖 20
附錄三:系統(tǒng)PCB 21
附錄四:源程序 22
7
合肥師范學(xué)院2015屆本科生畢業(yè)生論文(設(shè)計)
第一章 引言
1.1 心率計的研究背景和意義
伴隨著全球科技與經(jīng)濟(jì)的飛速發(fā)展與進(jìn)步,關(guān)愛生命與健康已成為人類的共同追求。心腦血管方面的問題是危害人類生命和健康的最主要的疾病。每年由于心腦血管疾病死亡的人數(shù)居人類疾病死亡的首位,高昂的醫(yī)療費用,給人們的家庭和社會造成巨大負(fù)擔(dān)[1]。近年來,由于人們飲食問題以及生活節(jié)奏變快等原因,心腦血管疾病的發(fā)病率更是呈逐年上升的趨勢。如何科學(xué)的降低心腦血管疾病的發(fā)病率和死亡率,有效的減輕心腦血管疾病帶來的社會和家庭負(fù)擔(dān),已經(jīng)成為全社會所面臨的一個十分嚴(yán)峻問題。
今天,越來越多的人已認(rèn)識到健康生活方式和疾病預(yù)防的重要性,對擁有日常家庭化和個性化的健康監(jiān)測和疾病預(yù)防手段的需求也日益增大。在脈搏波研究方面,國內(nèi)外已經(jīng)出現(xiàn)了眾多的技術(shù)和理論,基于現(xiàn)代醫(yī)學(xué)技術(shù),利用脈搏波對人體心血管健康進(jìn)行無創(chuàng)檢測的方法和儀器不斷涌現(xiàn)?,F(xiàn)在的任務(wù)是既要對脈搏波的檢測分析及對心血管健康檢測應(yīng)用方面做進(jìn)一步研究,研制一種面向家庭和社區(qū)醫(yī)療服務(wù)的,能夠?qū)θ梭w動脈硬化的程度和其他心血管健康狀況進(jìn)行無創(chuàng)檢測的儀器,讓更多的人對自己的心血管健康狀態(tài)進(jìn)行及時的了解,對心血管疾病能夠及早的發(fā)現(xiàn)和進(jìn)行預(yù)防。
基于上述現(xiàn)狀和背景,不難發(fā)現(xiàn):心血管功能檢測新技術(shù)、新方法的研究以及心血管功能監(jiān)測類家用電子醫(yī)療保健儀器的開發(fā)已刻不容緩。它不僅能滿足當(dāng)前的醫(yī)療保健急需,也能為維持和發(fā)展我國家用數(shù)字醫(yī)療事業(yè),為推行實施國家“家庭醫(yī)療保健工程”做出積極和長久的貢獻(xiàn)[2]。
1.2 心率計的研究現(xiàn)狀及發(fā)展動態(tài)
自上世紀(jì)80年代以來,基于血流動力流變學(xué)和彈性腔理論的無創(chuàng)傷血管功能檢測方法的研究逐漸受到廣泛的關(guān)注。很多不同學(xué)科的研究員與醫(yī)學(xué)家合作,研究出各種應(yīng)用型人體心率傳感器,有單部、三部、液態(tài)水、子母式單點,多點,氣壓式、硅杯式、軟性接觸式、剛性接觸式等,組成脈搏傳感器的主要部件有壓電晶體、單晶硅、陶瓷應(yīng)變片、光敏組件、pvdf壓電薄膜等,其中以單部單點應(yīng)變片式應(yīng)用最為廣泛。
到目前,用于評價大動脈的結(jié)構(gòu)和方法已有很多。血管造影和其他造影技術(shù)等有創(chuàng)方法可精確評價動脈管腔或分心動脈壁結(jié)構(gòu)。但是這些方法操作復(fù)雜,費用高昂,需要非常精密的技術(shù)設(shè)備,限制了其只能在大型臨床研究中應(yīng)用,另外,還有一些其他的無創(chuàng)方法,這些主要根據(jù)超聲技術(shù)和計算機(jī)分析圖像和超聲信號,來研究某些動脈軸和位點的功能和結(jié)構(gòu),這些相對復(fù)雜的技術(shù)僅用于某些臨床研究實驗室。在無創(chuàng)方法中,脈搏波速度的檢測已經(jīng)在較長時間內(nèi)廣泛應(yīng)用于評價動脈壁擴(kuò)張性和硬度。該方法無創(chuàng)傷,操作簡單、結(jié)果準(zhǔn)確、重復(fù)性好,因此被廣泛應(yīng)用于大型治療和流行病學(xué)研究當(dāng)中,并且,該方法非常適合于向家庭和社區(qū)醫(yī)療服務(wù)推廣。國外,諸如法國研制生產(chǎn)的康普樂儀、日本科林公司的動脈硬化檢測儀等就是利用此種方法,并在歐美國家得到廣泛的普及,國內(nèi)也有醫(yī)院引進(jìn)了這種設(shè)備,但是價格昂貴[7][8]。國內(nèi)也有多家單位開始了此類設(shè)備的研究,在2007年,也有類似的產(chǎn)品相繼上市。但是,這些儀器均被應(yīng)用在大型醫(yī)療機(jī)構(gòu)中,成本高,檢測費用高,功能局限于檢測,不能滿足患者隨時隨地的檢測的需要。
第二章 方案論證及元器件選擇
2.1 研究內(nèi)容及設(shè)計指標(biāo)
研究內(nèi)容:
便攜式數(shù)字人體心率計運用STC89C51單片機(jī)作為核心控制處理單元,采用紅外傳感器作為傳感器,運用軟件和硬件雙重濾波技術(shù)實現(xiàn)了對人體心率信號的準(zhǔn)確檢測,最終以數(shù)值形式顯示在LCD上。
本課題開發(fā)一款低功耗、便攜式數(shù)字心率計,具體要求如下:
(1)實時測量被測者心率值,并顯示;
(2)可用按鍵設(shè)置正常心率的范圍,超過這個范圍,進(jìn)行報警提示。
2.2 方案設(shè)計與論證
2.2.1 傳感器的選擇與論證
(1)壓電式
壓電式傳感器的檢測方法是利用壓力傳感器或振動傳感器將人體脈搏振動轉(zhuǎn)換成電信號。常見的壓力傳感器可用現(xiàn)有的壓電陶瓷代替。壓電式元件的內(nèi)阻極高,通常采用兩片相同的元件,使其極性反向相疊,由夾在中間的銅片作為一個電極。這樣,中央電極處于全空狀態(tài),可以用具有良好絕緣性的導(dǎo)線引出。此種方法的優(yōu)點是傳感器種類多,一般的傳感器輸出信號也比較大,對后面的放大電路要求不高。壓電陶瓷具有成本低、取材方便、易于提高敏感度等特點。
(2)聲電式
聲電式傳感器的作用是將氣體、液體或固體中傳播的機(jī)械振動轉(zhuǎn)換成電信號。因此,它也屬于力學(xué)量傳感器。它的制作材料一般由不定性無煙煤顆粒或壓電陶瓷構(gòu)成。顆粒式聲電傳感器的優(yōu)點是耐用、成本低和容易制作,缺點是顆粒的機(jī)械磨損和接觸表面上的瞬間電弧會使顆粒逐漸老化,從而導(dǎo)致雜音大、性能不穩(wěn)定和非線性;而壓電陶瓷式的聲電傳感器在檢測聲音信號時卻存在著一定的缺陷。
聲電式檢測方法是利用微音傳感器將人體的振動的聲音轉(zhuǎn)換成電信號。此種方法的優(yōu)點是作為傳感器的微音傳感器可利用現(xiàn)有的駐極體或電容式話筒,但其后面的電路要采取一定的措施將環(huán)境的聲音干擾信號濾去。
(3)光電式
光電系統(tǒng)通常是指能敏感由紫外光到紅外光的光能量,并將光能量轉(zhuǎn)換成電信號的器件。通常用的光電器件有光電二極管和光電三極管。光電式傳感器測量微小的位移變化有明顯的效果,但是光電傳感器對材料、電路控制和光電管屬性要求較高:1)吸收紅外光的能力極強(qiáng)2)介電常數(shù)小,以便得到大的輸出電壓。3)介電損耗小。
光電式檢測方法是利用光電傳感器檢測人體內(nèi)血液流動時對光的透過率或反射率不同而將其轉(zhuǎn)換成電信號的方法。此種方法有兩種方式:一種是對射式,另一種是反射式。對射式是在一個大小合適的環(huán)的兩側(cè)各放一個發(fā)射管和一個接收管,測量時將人的手指伸到環(huán)中,由于手指中的血流量的變化而使光電接收管的光電流也隨之變化,反射式是光電發(fā)射與光電接收都指向一個方向,當(dāng)人體內(nèi)的血流發(fā)生變化時其對光的反射率也隨之變化,從而檢測出心率。這種方法的優(yōu)點是外界干擾信號小,但其最大的難點是傳感器輸出信號小,對后面的放大電路要求較高。此外,對于干擾變化強(qiáng)烈的信號,回路不宜調(diào)制,可視光電管的定向角不同,光軸也不宜把握。
綜上所述,從傳感器的制作工藝、材料的選取、受外界的干擾信號的干擾程度和制作過程中前級電路的處理難易程度上考慮,就選用一對紅外對射二極管實現(xiàn)。紅外傳感器的檢測、放大、濾波和整型并傳到單片機(jī)工作系統(tǒng)的過程見下圖2-1所示:圖2-1信號檢測處理工作流程圖
2.2.2 信號處理方案選擇和論證
(1)小規(guī)模數(shù)字電路:采用小規(guī)模數(shù)字電路也可完成此方案的基本功能,
電路框圖如圖2-2所示。
圖2-2小規(guī)模數(shù)字電路心率計
這種方案是采用一個二進(jìn)制計數(shù)器,將處理后的脈波信號進(jìn)行計數(shù),在1分鐘內(nèi)將計數(shù)值顯示。此方案的不足是電路結(jié)構(gòu)復(fù)雜,實現(xiàn)一個相對簡單一些的過程控制功能都要用好多片電路,且數(shù)字電路器件功能單一,一旦硬件電路定型就難以改動,尤其在題目要求中,要實現(xiàn)心率測量并顯示,還要超限報警等等,則顯得力不從心。
(2)PLD:可編程邏輯器件(PLD)突破了小規(guī)模數(shù)字電路功能單一的缺點,可以按照設(shè)計者設(shè)計分析出來的邏輯要求去編程定義,應(yīng)用起來確實方便,設(shè)計也比較靈活。針對題目要求,該方案應(yīng)該至少由傳感器電路、閘門電路、計數(shù)器電路、數(shù)字鎖存電路、顯示電路、數(shù)據(jù)存儲電路、PC接口電路七部分構(gòu)成,在閘門信號允許時間內(nèi)對被測信號計數(shù),閘門寬度為單位時間。顯然電路復(fù)雜,一旦涉及到數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)記憶、數(shù)據(jù)通信等功能要求時,其實現(xiàn)難度可想而知。
(3)單片機(jī):單片機(jī)的發(fā)展和應(yīng)用大家有目共睹,其體積小、重量輕、價格低、可靠性高、耗電少和靈活機(jī)動等許多優(yōu)點已經(jīng)被默認(rèn)。在科學(xué)計算、數(shù)據(jù)處理及信息管理、CAD、CAM、CAA、CAI、過程控制和儀表智能化、軍事領(lǐng)域、多媒體系統(tǒng)和信息高速公路甚至家用電器和家庭自動化等方面都可以看到單片機(jī)的影子,可謂立下了汗馬功勞。
單片機(jī)內(nèi)部包含了CPU、RAM、ROM、I/O口、總線甚至A/D及D/A轉(zhuǎn)換電路,功能十分強(qiáng)大。許多在數(shù)字電路、模擬電路中的難題都在單片機(jī)的程序設(shè)計中得到了出乎意料的解決效果,通過對程序和外部少許電路的修改即可以改變整個設(shè)計系統(tǒng)的功能??梢浦残院涂删S護(hù)性得到極大的改善。在數(shù)據(jù)分析、處理、記憶、通訊等方面表現(xiàn)相當(dāng)出色。根據(jù)題目提出的要求,單片機(jī)控制當(dāng)為首選。以單片機(jī)為主外設(shè)顯示器、鍵盤、通訊、打印接口等硬件電路,完成脈波計數(shù)、數(shù)據(jù)運算、顯示、通訊、記憶等功能。
根據(jù)以上方案比較,本課題決定采用以紅外傳感器為傳感器,以單片機(jī)為主控芯片外輔少量硬件電路完成數(shù)據(jù)處理、記憶、顯示、通訊等功能。硬件框圖如圖2-3所示。
圖 2-3單片機(jī)心率計
2.2.3 單片機(jī)系統(tǒng)選擇
STC89C51、STC89C52單片機(jī)是最常用的單片機(jī),是一種高性能、低損耗、CMOS八位微處理器。STC89C51與MCS-51系列的單片機(jī)在指令系統(tǒng)和引腳上完全兼容,而且能使系統(tǒng)具有許多新的功能,功能強(qiáng)、靈活性高而且價格低廉。STC89C51可構(gòu)成真正的單片機(jī)最小應(yīng)用系統(tǒng),增加系統(tǒng)可靠性,縮小系統(tǒng)體積,降低了系統(tǒng)成本。程序長度只要不大于4K,四個I/O口全部提供給用戶。系統(tǒng)運行中需要存放的中間變量較少,可不必再擴(kuò)充外部RAM。采用STC89C51單片機(jī),其內(nèi)部有4KB單元的程序存儲器。而且具有三個定時器,正好滿足系統(tǒng)多機(jī)通信時所用。 比較以上方案,綜合考慮單片機(jī)的各部分資源,因此此次設(shè)計選用STC89C51。
2.2.4 顯示模塊選擇和論證
(1)液晶顯示
液晶單元是容性負(fù)載,液晶的電阻在大多數(shù)情況下可以忽略不計,是無極性的,即正壓和負(fù)壓的作用效果是一樣的。當(dāng)頻率小于1000Hz時,液晶透光率的改變只和外電壓的有效值有關(guān)。液晶顯示信息量大、長壽命、低壓驅(qū)動等優(yōu)點。
(2)LED動態(tài)顯示
數(shù)碼管是一類顯示屏通過對其不同的管腳輸入相對的電流,會使其發(fā)亮,從而顯示出數(shù)字能夠顯示時間、日期、溫度等所有可用數(shù)字表示的參數(shù)。由于它的價格便宜 使用簡單在電器 特別是家電領(lǐng)域應(yīng)用極為廣泛,空調(diào)、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管,其他家電也用液晶屏與熒光屏。
根據(jù)以上兩種方案比較,液晶顯示具有其獨特的優(yōu)越性,顯示效果好,控制簡單等優(yōu)點。所以就選擇液晶來實現(xiàn)顯示功能。
2.3 元器件選擇及功能介紹
2.3.1單片機(jī)STC89C51
STC89C51是一種低功耗、高性能CMOS8位微控制器,具有4K 在系統(tǒng)可編程Flash 存儲器。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。
STC89C51具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。
2.3.2紅外傳感器
紅外技術(shù)是在最近幾十年中發(fā)展起來的一門新興技術(shù)。它在科技,國防,和工農(nóng)業(yè)生產(chǎn)等領(lǐng)域得到廣泛的應(yīng)用,特別是在科學(xué)研究、軍事工程和醫(yī)學(xué)方面起著極其重要的作用。例如在紅外制導(dǎo)火箭、紅外成像、紅外遙感等。而紅外輻射技術(shù)的重要工具就紅外傳感器,紅外傳感器已經(jīng)在現(xiàn)代化的生產(chǎn)實踐中發(fā)揮著它的巨大作用。尤其是在實現(xiàn)遠(yuǎn)距離溫度監(jiān)測與控制方面,紅外溫度傳感器以其優(yōu)異的性能,滿足了多方面的要求,因而在產(chǎn)品傳感器大顯身手的地方。因此紅外傳感器的發(fā)展前景也是不可估量的。本設(shè)計的心率計的傳感器采用一對5MM的紅外對管外輔少許電路所組成的紅外傳感器,紅外對管是紅外線發(fā)射管與光敏接收管,或者紅外線接收管,或者紅外線接收頭配合在一起使用時候的總稱。
紅外線發(fā)射管在LED封裝行業(yè)中主要有三個常用的波段,如下850NM、875NM、940NM。根據(jù)波長的特性運用的產(chǎn)品也有很大的差異,850NM波長的主要用于紅外線監(jiān)控設(shè)備,875NM主要用于醫(yī)療設(shè)備,940NM波段的主要用于紅外線控制設(shè)備。EG:紅外線遙控器、光電開關(guān)、光電記數(shù)設(shè)備等。
光敏接收管是一個具有光敏特征的PN結(jié),屬于光敏三極管,具有單向?qū)щ娦?,因此工作時需加上反向電壓。無光照時,有很小的飽和反向漏電流(暗電流)。此時光敏管不導(dǎo)通。當(dāng)光照時,飽和反向漏電流馬上增加,形成光電流,在一定的范圍內(nèi)它隨入射光強(qiáng)度的變化而增大。
2.3.3雙運算放大器LM358
LM358內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的使用范圍廣,有傳感放大器、直流增益模塊和其他所有使用運算放大器的可用單電源供電的場合。
2.3.4 LCD1602顯示模塊
1602LCD是指顯示的內(nèi)容為16x2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。
第三章 硬件系統(tǒng)設(shè)計
3.1 系統(tǒng)設(shè)計框圖
心率計的總體設(shè)計電路框圖如圖3-1所示,主要有信號采集電路、放大電路、比較電路和單片機(jī)信號處理電路和液晶顯示電路。首先使用紅外傳感器收集與心跳相同頻率的信號,當(dāng)人體組織的半透明度較大時,紅外發(fā)射管發(fā)射出的光透過人體組織的強(qiáng)度低,此時光敏三極管不通,輸出高電平;當(dāng)人體組織的半透明度較小時,紅外發(fā)射管發(fā)射出的光透過人體組織的強(qiáng)度強(qiáng),光敏三極管是通路,輸出低電平。如此就有了頻率與脈搏的次數(shù)成正比的信號,和正弦的波形類似。
當(dāng)脈搏為40次/分時,檢測到的頻率是0.78Hz,當(dāng)脈搏為100次/分時,檢測到的頻率是3.33Hz,從傳感器過來的是低頻信號。該低頻信號首先經(jīng)RC振蕩器濾波以消除高頻干擾,經(jīng)無極性隔直流電容C3、C5加到線性放大器的輸入端。運算放大器將此信號放大100倍,并與R3、R4、C6組成的低通T型濾波器濾除殘留的干擾。正弦信號經(jīng)微分形成尖脈沖信號,單穩(wěn)態(tài)振蕩電路將尖脈沖信號轉(zhuǎn)化為同頻率的長脈沖信號,該脈沖信號通過R12送到單片機(jī)后,經(jīng)過軟件對信號的處理,最后在以數(shù)值形式顯示在液晶上。
圖 3-1 系統(tǒng)設(shè)計原理框圖
3.2 信號采集電路
信號采集電路如圖3-2所示。5MM紅外對管D1與D3組成紅外傳感器。因紅外傳感器輸出的脈沖信號是非常微弱的信號,而且頻率很低(如脈搏50次/分鐘為0.78Hz,200次/分鐘為3.33Hz),并且還伴有各種噪聲干擾,故該信號要經(jīng)過R7、C5低通濾波,去除高頻干擾。當(dāng)傳感器檢測到較強(qiáng)的干擾噪音時,其輸出端的直流電壓信號會有很大變化。
圖3-2 信號采集電路
3.3信號放大電路
如圖3-3所示,R3與R8的電阻之比為放大器的放大倍數(shù),經(jīng)過計算所得該放大器的理論值為200倍,但由于8號接口上5V供壓不足再加上材料限制和人為的因素,該放大倍數(shù)只有20倍左右。
圖中C7為耦合電容,作用為隔直流通交流,之所以使用1uF的電容,是為了讓所有的信號通過。信號放大電路仿真圖如圖3-4所示。
圖 3-3 信號放大電路
3.4 信號比較電路
電壓比較器是一種常用的集成電路。這里主要介紹其基本概念、工作原理及典型工作電路,電壓比較器是用來比較兩個模擬電壓的大小并顯示出哪一個的電壓高,接到的信號電壓小于該值時顯示0V,當(dāng)大于該值時顯示5V,這就形成了0和5V的方波。如圖3-7 所示。
圖3-7 電壓比較器
3.5 LCD1602顯示電路
LCD1602與單片機(jī)接口電路如下:
3.6 鍵盤電路
因為I/O口足夠用,鍵盤設(shè)計采用線性鍵盤。三個引腳通過按鍵接地。有程序控制掃描。3個按鍵分別接到CPU的P30、P31、P32上,正常心率范圍的設(shè)置,以便在超出限制時報警提示。
圖 3-10鍵盤電路
第四章 系統(tǒng)軟件設(shè)計
基于單片機(jī)心率計的軟件設(shè)計主要由主程序流程圖、中斷程序流程圖及顯示子程序圖組成。C語言程序有利于實現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計算程序運行的時間,而心率計的程序既有較復(fù)雜的計算(時間t內(nèi)的平均值),又要求精細(xì)計算程序運行時間(動脈搏動時間),所以控制程序可采用C語言和匯編語言混合編程。
4.1測量計算原理
設(shè)K個連續(xù)的動脈搏動所用時間為t(秒),在時間 t 內(nèi)心率的平均值為n(次/分),則:
n = 60K/t (4-1)
為了能夠控制用單片機(jī)計算機(jī)測定t值,我們利用脈動信號控制(在K個連續(xù)的脈搏周期內(nèi))單片機(jī)的定時/計數(shù)器T0定時(定時1ms中斷一次),工作寄存器對中斷次數(shù)進(jìn)行計數(shù),然后讀取計數(shù)值。設(shè)該計數(shù)值為N,于是有:
t = 0.001N (4-2)
把(2)帶入(1)得到:
n = 60k/0.001N =60000K/N (4-3)
式(3)就是利用單片計算機(jī)測定心率值的數(shù)學(xué)模型(誤差小于0.4%)。在該單片機(jī)系統(tǒng)中,K = 1~~9(用戶可通過按鍵自行設(shè)置)??蓽y心率范圍20次/分~~200次/分(N的范圍:300~~30000)。
4.2主程序流程圖
程序流程圖如圖4-1所示。程序初始化是單片機(jī)程序必需的,它的主要任務(wù)是確定中斷入口地址和程序入口。然后顯示全零,目的是為了區(qū)分是否有信號送入,當(dāng)沒有信號送入時,顯示全零,則說明心率計沒有正常工作,反之,則正常工作。
在這個設(shè)計中重要的地方是定時l00ms,它是為采樣6s建立基礎(chǔ)。系統(tǒng)運用定時器T1定時來實現(xiàn)100ms的定時,中斷等待占用程序執(zhí)行的大多數(shù)時間,是死循環(huán)語句,僅在中斷滿足條件時,才執(zhí)行中斷服務(wù)子程序,進(jìn)行累加計數(shù),累加之后,判斷采樣次數(shù),如果采樣未滿60次,說明不到6 s,返回繼續(xù)采樣、等待中斷,直到采樣60次為止,之后把6s內(nèi)采樣得到的次數(shù)由二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),送到液晶進(jìn)行顯示。
圖 4-1 程序流程圖 圖 4-2 中斷程序流程圖
4.3中斷程序流程圖
心率的有效測量范圍為40次—120次/分鐘,為了消除外界信號的干擾,在定時器中斷程序中加入了對頻率大小的判斷,濾除掉小于40次/分鐘和大于120次/分鐘的脈沖信號,中斷程序如圖4-2所示。
4.4定時器T0和T1的中斷服務(wù)程序
定時器T0的中斷流程圖如圖4-3所示,定時器T1的中斷服務(wù)流程圖如圖4-4所示。
圖4-3 定時器T0的中斷
服務(wù)程序流程圖
圖4-4 定時器T1的中斷
服務(wù)程序流程圖
第五章 系統(tǒng)測試與結(jié)果分析
5.1 測試方法和儀器
(1) 時基測量:心率測量儀的精度在很大程度上取決于系統(tǒng)的時間基準(zhǔn),因而對1MS時間定時要用儀器校準(zhǔn),我們用的是TDS210數(shù)字示波器。在T0定時中斷服務(wù)程序中首先對外部的某一端口的狀態(tài)不斷取反,用示波器測端口的周期,如有誤差可在程序中改變TL0的值,直到時間滿足要求為止。
(2) 測量精度測試:用信號發(fā)生器產(chǎn)生一方波,其頻率與測量范圍相符,(40~120次/分)分別測量40次/分、80次/分、100次/分、120次/分,觀察心率儀的測量結(jié)果與與信號發(fā)生器輸出的頻率是否相符,如誤差大于±2次/分時可再細(xì)調(diào)TL0的值,如不能滿足要求可用軟件與TL0的值同時調(diào)節(jié),直到滿足要求為止。
使用儀器:
示波器(TDS210)
信號發(fā)生器(GFG-8015G)
萬用表(FLUKE73)
+-5V電源(YB1711B)
單片機(jī)仿真器(E2000/S)
編程器(kile)
5.2仿真與焊接階段
5.2.1仿真階段
當(dāng)模塊設(shè)計完成并在ISIS 7 protues中仿真成功后,電路基本確定,但那只是理論值,需要對這些仿真電路進(jìn)行試驗,以確保這些電路是否適用與該設(shè)計。
5.2.2焊接與完成階段
在完成實驗階段測試后,這時電路的元器件及各種電阻電容的值就已經(jīng)確定??梢詫嵨锏暮附印?
(1)焊前處理
焊接前,應(yīng)對元件引腳或電路板的焊接部位進(jìn)行焊前處理。
①焊接位置氧化層的清除
用小刀刮去金屬引線表面的氧化層,使引腳部分具有金屬光澤。轉(zhuǎn)印電路板可用細(xì)紗紙將銅箔打光后,均勻涂上一層松香。
②元件鍍錫
在處理過引線上鍍錫??蓪⒁€沾上松香后,將帶錫的烙鐵頭壓在引線上,轉(zhuǎn)動引線。即可使引線均勻地鍍上一層很薄的錫層。焊接前,用剝線鉗剝?nèi)ソ^緣外皮,再經(jīng)過以上處理,才能正式焊接。若是多股金屬絲的導(dǎo)線,打光后應(yīng)先擰在一起,然后再鍍錫。
(2) 焊接技
做好焊前處理之后,就可正式進(jìn)行焊接。
①焊接方法:焊接,檢查,剪短。
a.焊接前,電烙鐵需要預(yù)熱5分鐘。而且烙鐵頭要有鍍錫,即帶上一層薄薄的焊錫。
b.將烙鐵頭貼在焊點處。使熔化的錫從烙鐵頭上覆蓋到焊點上。將烙鐵頭停留在焊點處2~3秒鐘。
C.移開烙鐵頭。等焊點上的錫冷卻凝固后,才可松開左手。
d.用鑷子轉(zhuǎn)動引線,確認(rèn)不松動,然后可用偏口鉗剪去多余的引線。
②焊接質(zhì)量
焊接時,要保證每個焊點焊接牢固、接觸良好。要保證焊接質(zhì)量。應(yīng)是錫點光亮,圓滑而無毛刺,錫量適中。錫和被焊物融合牢固。不應(yīng)有虛焊和假焊。虛焊是焊點處只有少量錫焊住,造成接觸不良,時通時斷。假焊是指表面上好像焊住了,但實際上并沒有焊上,有時用手一拔,引線就可以從焊點中拔出。這兩種情況將給電子制作的調(diào)試和檢修帶來極大的困難。只有經(jīng)過大量的、認(rèn)真的焊接實踐,才能避免這兩種情況。
焊接電路板時,一定要控制好時間。太長,電路板將被燒焦,或造成焊點脫落。從電路板上拆卸元件時,可將電烙鐵頭貼在焊點上,待焊點上的錫熔化后,將元件拔出。
由于本次設(shè)計采用單片機(jī)開發(fā)板來焊接,因此最小系統(tǒng)部分只用焊接元件不用另外布線,減輕了焊接部分的工作量,同時是電路板更美觀。雖然用單片機(jī)開發(fā)板來焊接,但是在焊接過程中也必須認(rèn)真謹(jǐn)慎,避免虛焊和短路。每焊完一個元器件或者一條線路都要用萬用表檢查焊接是否成功,最終按照附錄一所示仿真圖焊接實物。
實物圖如圖5-1所示。
圖 5-1 實物
5.3 測試數(shù)據(jù)與結(jié)果分析
5.3.1測量結(jié)果與分析
(1)用儀器測量:用信號發(fā)生器作信號源,產(chǎn)生一個40~200次/分的方波,觀察心率儀讀數(shù)與信號發(fā)生器輸出的頻率是否相等。表5-1給出了部分測量結(jié)果。
表5-1 信號發(fā)生器測量結(jié)果
測量序號
信號發(fā)生器示值及示波器
心率儀示值
1
40
40(低限報警)
2
80
80
3
150
150
4
120
120(高限報警)
由以上測量結(jié)果看,用信號發(fā)生器產(chǎn)生的信號用心率儀測量時其測量誤差為0,且在報警的上下限可報警。
(2)實際測量:對同一同學(xué)和不同的同學(xué)進(jìn)行測量,同時由另一同學(xué)用聽診器測量脈搏,表5-2給出了部分測量結(jié)果。
表5-2實際測量結(jié)果比較
測量序號
聽診器測量
心率計值
誤差
1
88
89
1
1
89
88
1
1
90
92
2
2
72
73
1
3
67
65
2
4
94
95
1
在實際測量時人工測量的數(shù)值與心率儀測量的數(shù)值會有誤差,在測同一人時其誤差只要在允許范圍內(nèi),有時也超過測量精度,這是因為人工測量時的計數(shù)起始時間與結(jié)束時間掌握不準(zhǔn)所至。
由信號發(fā)生器產(chǎn)生的信號測量時沒有誤差,而實際測量時產(chǎn)生誤差,這是因為信號發(fā)生器產(chǎn)生的頻率穩(wěn)定,而實際測量時被測人的脈波穩(wěn)定性、強(qiáng)度不穩(wěn)定。
示波器顯示的方波以及對應(yīng)的心率計顯示如下圖5-2,5-3所示。
圖5-2 示波器顯示方波波形
圖5-3 心率計顯示心率值及設(shè)置上下限
5.3.2幾種主要系統(tǒng)干擾與影響
(1) 陽光的干擾。
因為本心率計是通過紅外光線透過手指采集到信號,進(jìn)而對信號處理得到人體的心率值,光照在本系統(tǒng)中很關(guān)鍵。而且在各種不同的環(huán)境中,外界光照的強(qiáng)度不一樣,這對實驗的干擾卻大。但是外界光照對于人體是均衡的,即各處光照強(qiáng)度相同,對人體內(nèi)變化的影響是相同的,即可以相互抵消。
(2) 測量過程中手指的抖動。
紅外傳感器檢測到的人體信號很微弱,手指的一點抖動都會引起測量心率值的大幅變化。為了解決這個問題,在設(shè)計中,把紅外對管相距一定距離(夠放下食指)之后固定死,這樣在測量的時候只要被測者盡量保持手指不動,就可以大大減小手指抖動對試驗的影響。
(3) 呼吸的影響。
試驗的原理主要是血液中的含氧量的變化進(jìn)而導(dǎo)致人體組織變化而檢測心率的,這樣就使得均勻呼吸和急促呼吸使人體內(nèi)的含氧量變化很大。據(jù)試驗所得,當(dāng)人劇烈運動之后呼吸會比較局促,這時他的心率值就會波動很大。正常情況下 ,心率指的是當(dāng)人心平氣和時的心跳值。
第六章 總結(jié)和展望
心率指心臟每分鐘搏動的次數(shù),它能夠反映心臟的工作狀態(tài)。而心率計是常用的醫(yī)學(xué)檢查設(shè)備,實時準(zhǔn)確的心率測量在病人監(jiān)控臨床治療及體育競賽等方面都有著廣泛的應(yīng)用。
心率計的硬件設(shè)計,包括微控制器的系統(tǒng)及顯示電路、信號采集和信號放大和濾波電路三部分組成。單片機(jī)采用STC89C51或其兼容系列。具有精度高12MHz晶體振蕩器以獲得更穩(wěn)定的時鐘頻率,減少了測量誤差。單片機(jī)的P1.0的輸出端口40kHz的超聲波換能器所需的方波信號,外部中斷0來監(jiān)測從紅外傳感器輸出信號采集電路的信號。顯示電路采用簡單實用的液晶顯示器,信號用LM358芯片放大。
基于單片機(jī)心率計的軟件設(shè)計流程由主程序,中斷子程序流程圖和顯示子程序組成。據(jù)我所知C語言程序有利于實現(xiàn)更復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計算程序運行的時間,而心率計的程序既有較復(fù)雜的計算(時間t內(nèi)的平均值),又要求精細(xì)計算程序運行時間(動脈搏動時間),所以控制程序可以混合C和匯編語言編程的。
焊完實物后,首先是硬件調(diào)試。電路的調(diào)試過程是檢驗、修正設(shè)計方案的實踐過程,但也是對理論知識的實際應(yīng)用,解決各種問題的關(guān)鍵環(huán)節(jié),是電路設(shè)計人員必須掌握的基本技能。
把電子元器件連接起來,實現(xiàn)特定功能的關(guān)鍵一步是調(diào)試。調(diào)試方法有兩種:分塊調(diào)試法和整體調(diào)試法。在硬件檢測完之后,在沒有問題的情況下可以輸入程序,調(diào)試程序的可行性,并加以修正,配合程序改動系統(tǒng)的原理圖。
文中的心率計使用了脈搏波作為源信號,當(dāng)然我還可以通過對心電圖的分析來研究心率,它們的后繼電路部分結(jié)構(gòu)都大同小異,主要的區(qū)別是前段的信號采集。本心率計適用于4—9V直流電壓,工作電流為100mA左右,心率計通電后,將手指固定在紅外傳感器之間即可檢測到人體的信號,并在液晶上顯示出來!
當(dāng)然它也存在著一定的問題,但我想在未來的研制和生產(chǎn)中,肯定會大大提高它的性能 ,極力改善它的缺點。
參考文獻(xiàn)
[1] 陳文彬, 王友赤. 診斷學(xué)[M]. 人民衛(wèi)生出版社, 2002.45-90.
[2] 王瑞元, 孫學(xué)川, 熊開宇. 運動生理學(xué)[M]. 人民體育出版社, 2002.76-81.
[3] 姜元恩,邢武;基于脈搏波速度測量的動脈硬化檢測系統(tǒng)的設(shè)計與實現(xiàn)[J].自動化與儀器儀表,2007.8.12(5).
[4] 姜元恩,邢武:半導(dǎo)體應(yīng)變片式脈搏傳感器在動躲硬純檢測系統(tǒng)中酶應(yīng)用[Z].安徽省傳感器技術(shù)與產(chǎn)業(yè)化發(fā)展論壇,2007.10.
[5] 朱彤、李婉媚.脈搏波傳導(dǎo)速度測定的新認(rèn)識[J].醫(yī)療保健器具,2006.(8).
[6]羅志昌、張松、楊文鳴.脈搏波波形特征信息的研究[N].北京工業(yè)大學(xué)學(xué)報.1996.1.10(11).
[7]趙玉霞等.橈動脈脈圖在心血管血流動力學(xué)定量監(jiān)測中的價值[N].山東醫(yī)科大學(xué)學(xué)報.1994.1.20(1).
[8]陳春曉等.無倉Ⅱ,血管功能測試診斷儀的研究[J].生物醫(yī)學(xué)工程學(xué)雜志,2003.1.15(33).
[9][日].西山一郎,兆十編著. 耿連發(fā),潘維林譯. 自律型機(jī)器人制作[J]. 科學(xué)出版社OHM社 2002.3.8-102.
[10] [德] WOLFGANG KLOSTERHALFEN University ofDusseldorf, 4000 Dusseldorf, Federal Republic of Germany. A computer-controlled cardiotachometer1 980, Vol. 12 (1), 58-62.
[11]K.D.TAYLOR.Technicalnote--(Keywords---Cardiotachometer,Pulsegenerator)Precision cardiotachometer calibrator .Med. & Biol. Eng. & Comput.1977. 15.476-478.
附錄
附錄一:系統(tǒng)仿真圖
附錄二:系統(tǒng)原理圖
附錄三:系統(tǒng)PCB
附錄四:源程序
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
#define LCD_DATA P0
sbit LCD_RS =P2^5;
sbit LCD_RW =P2^6;
sbit LCD_E =P2^7;
sbit Xintiao =P1^0 ;
sbit speaker =P2^4;
void delay5ms(void); //誤差 0us
void LCD_WriteData(uchar LCD_1602_DATA); /********LCD1602數(shù)據(jù)寫入***********/
void LCD_WriteCom(uchar LCD_1602_COM); /********LCD1602命令寫入***********/
void lcd_1602_word(uchar Adress_Com,uchar Num_Adat,uchar *Adress_Data); /*1602字符顯示函數(shù),變量依次為字符顯示首地址,顯示字符長度,所顯示的字符*/
void InitLcd();
void Tim_Init();
uchar Xintiao_Change=0;
uint Xintiao_Jishu;
uchar stop;
uchar View_Data[3];
uchar View_L[3];
uchar View_H[3];
uchar Xintiao_H=100;
uchar Xintiao_L=40;
uchar Key_Change;
uchar Key_Value;
uchar View_Con;
uchar View_Change;
void main()
{
InitLcd();
Tim_Init();
lcd_1602_word(0x80,16,"Heart Rate: ");
TR0=1;
TR1=1;
while(1)
{
if(Key_Change)
{
Key_Change=0;
View_Change=1;
switch(Key_Value)
{
case 1:
{
View_Con++;
if(View_Con==3)
View_Con=0;
break;
}
case 2:
{
if(View_Con==2)
{
if(Xintiao_H<150)
Xintiao_H++;
}
if(View_Con==1)
{
if(Xintiao_LXintiao_L+1)
Xintiao_H--;
}
if(View_Con==1)
{
if(Xintiao_L>30)
Xintiao_L--;
}
break;
}
}
}
if(View_Change)
{
View_Change=0;
if(stop==0)
{
if(View_Data[0]==0x30)
View_Data[0]=' ';
}
else
{
View_Data[0]=' ';
View_Data[1]=' ';
View_Data[2]=' ';
}
switch(View_Con)
{
case 0:
{
lcd_1602_word(0x80,16,"Heart Rate: ");
lcd_1602_word(0xc0,16," ");
lcd_1602_word(0xcd,3,View_Data);
break;
}
case 1:
{
lcd_1602_word(0x80,16,"Heart Rate: ");
lcd_1602_word(0x8d,3,View_Data);
View_L[0]=Xintiao_L/100+0x30;
View_L[1]=Xintiao_L%100/10+0x30;
View_L[2]=Xintiao_L%10+0x30;
if(View_L[0]==0x30)
View_L[0]=' ';
lcd_1602_word(0xC0,16,"Warning L : ");
lcd_1602_word(0xCd,3,View_L);
break;
}
case 2:
{
lcd_1602_word(0x80,16,"Heart Rate: ");
lcd_1602_word(0x8d,3,View_Data);
View_H[0]=Xintiao_H/100+0x30;
View_H[1]=Xintiao_H%100/10+0x30;
View_H[2]=Xintiao_H%10+0x30;
if(View_H[0]==0x30)
View_H[0]=' ';
lcd_1602_word(0xC0,16,"Warning H : ");
lcd_1602_word(0xCd,3,View_H);
break;
}
}
}
}
}
void Time1() interrupt 3
{
static uchar Key_Con,Xintiao_Con;
TH1=0xd8; //10ms
TL1=0xf0;
switch(Key_Con)
{
case 0:
{
if((P3&0x07)!=0x07)
{
Key_Con++;
}
break;
}
case 1:
{
if((P3&0x07)!=0x07)
{
Key_Con++;
switch(P3&0x07)
{
case 0x06:Key_Value=1;break;
case 0x05:Key_Value=2;break;
case 0x03:Key_Value=3;break;
}
}
else
{
Key_Con=0;
}
break;
}
case 2:
{
if((P3&0x07)==0x07)
{
Key_Change=1;
Key_Con=0;
}
break;
}
}
switch (Xintiao_Con)
{
case 0:
{
if(!Xintiao)
{
Xintiao_Con++;
}
break;
}
case 1:
{
if(!Xintiao)
{
Xintiao_Con++;
}
else
{
Xintiao_Con=0;
}
break;
}
case 2:
{
if(!Xintiao)
{
Xintiao_Con++;
}
else
{
Xintiao_Con=0;
}
break;
}
case 3:
{
if(!Xintiao)
{
Xintiao_Con++;
}
else
{
Xintiao_Con=0;
}
break;
}
case 4:
{
if(Xintiao)
{
if(Xintiao_Change==1)
{
View_Data[0]=(60000/Xintiao_Jishu)/100+0x30;
View_Data[1]=(60000/Xintiao_Jishu)%100/10+0x30;
View_Data[2]=(60000/Xintiao_Jishu)%10+0x30;
if(((60000/Xintiao_Jishu)>=Xintiao_H)||((60000/Xintiao_Jishu)<=Xintiao_L))
speaker=0;
else
speaker=1;
View_Change=1;
Xintiao_Jishu=0;
Xintiao_Change=0;
stop=0;
}
else
{
Xintiao_Jishu=0;
Xintiao_Change=1;
}
Xintiao_Con=0;
break;
}
}
}
}
void Time0() interrupt 1
{
TH0=0xfc; //1ms
TL0=0x18;
Xintiao_Jishu++;
if(Xintiao_Jishu==5000)
{
Xintiao_Jishu=0;
View_Change=1;
Xintiao_Change=0;
stop=1;
speaker=1;
}
}
void Tim_Init()
{
EA=1;
ET0=1;
ET1=1;
TMOD=0x11;
TH0=0xfc; //1ms
TL0=0x18;
TH1=0xd8; //10ms
TL1=0xf0;
}
void lcd_1602_word(uchar Adress_Com,uchar Num_Adat,uchar *Adress_Data)
{
uchar a=0;
uchar Data_Word;
LCD_WriteCom(Adress_Com);
for(a=0;a
收藏