《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一個基于STC12單片機的無線脈搏監(jiān)測系統(tǒng)
一個基于STC12單片機的無線脈搏監(jiān)測系統(tǒng)
2016年微型機與應(yīng)用第18期
柳海華,盧路瑤,朱秀委
溫州醫(yī)科大學(xué) 信息與工程學(xué)院,浙江 溫州,325035
摘要: 為了減小設(shè)備體積,提高系統(tǒng)的靈活性,提出了一種采用STC12單片機、光電式傳感器和NRF24L01的無線脈搏監(jiān)測系統(tǒng),給出了該系統(tǒng)的硬件和軟件設(shè)計的具體方案,展示并分析了系統(tǒng)運行結(jié)果。該系統(tǒng)在10 m范圍內(nèi)可實時地監(jiān)測脈搏信號,在軟件界面中可顯示、分析和保存數(shù)據(jù),在發(fā)現(xiàn)生理參數(shù)異常時發(fā)出報警,適用于病人監(jiān)護,具有一定實用價值。
Abstract:
Key words :

  柳海華,盧路瑤,朱秀委

 ?。刂葆t(yī)科大學(xué) 信息與工程學(xué)院,浙江 溫州,325035)

       摘要:為了減小設(shè)備體積,提高系統(tǒng)的靈活性,提出了一種采用STC12單片機、光電式傳感器和NRF24L01的無線脈搏監(jiān)測系統(tǒng),給出了該系統(tǒng)的硬件和軟件設(shè)計的具體方案,展示并分析了系統(tǒng)運行結(jié)果。該系統(tǒng)在10 m范圍內(nèi)可實時地監(jiān)測脈搏信號,在軟件界面中可顯示、分析和保存數(shù)據(jù),在發(fā)現(xiàn)生理參數(shù)異常時發(fā)出報警,適用于病人監(jiān)護,具有一定實用價值。

  關(guān)鍵詞:STC12C5A60S2;光電式脈搏傳感器;NRF24L01;串口通信

0引言

  中西醫(yī)研究表明,脈搏波蘊藏著豐富的生理病理信息,在預(yù)防疾病、診斷治療、保健康復(fù)等各個方面發(fā)揮著重要作用[1]。目前的脈搏信號監(jiān)測系統(tǒng)中,傳感器類型主要包括光電式、液體耦合腔式、壓阻式以及應(yīng)變式等[23]。其中,液體耦合式傳感器的制作過程較為復(fù)雜且抗干擾差,壓阻式傳感器的實時性差且誤差較大,而應(yīng)變式脈搏傳感器存在較大的非線性。相比之下,光電式傳感器具有制作方便、精度較高、成本較低及線性度較好等優(yōu)點,因而得以廣泛應(yīng)用。此外,大量導(dǎo)線的使用增大了系統(tǒng)規(guī)模和復(fù)雜度,同時降低了系統(tǒng)的便攜性和擴展性,因此無線傳輸技術(shù)日益普遍[4]。

  基于上述分析,本設(shè)計采用STC12C5A60S2單片機、光電式脈搏傳感器和NRF24L01無線收發(fā)模塊完成了一個無線脈搏信號監(jiān)測系統(tǒng)。該系統(tǒng)先通過下位機采集電路對使用者的脈搏信號進行提取、去噪和放大處理,再以無線傳輸方式發(fā)送給連接PC的接收電路,接著上位機軟件從串口接收數(shù)據(jù)實時顯示波形,并進行參數(shù)(例如心率、脈搏間隔等)分析、參數(shù)異常報警和數(shù)據(jù)存儲等。本系統(tǒng)不僅能對使用者進行脈搏實時診斷和分析,也可用于后續(xù)的數(shù)據(jù)統(tǒng)計和長期跟蹤,有助于使用者生理狀態(tài)的有效監(jiān)測,具有一定的實際應(yīng)用價值。

1系統(tǒng)總體設(shè)計

  本系統(tǒng)的總體結(jié)構(gòu)由6部分組成:電源模塊、采集模塊、單片機控制單元、無線模塊、串口通信模塊、上位機模塊。系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。

圖像 001.png

  系統(tǒng)前端采用光電式脈搏傳感器,將人體的脈搏信號轉(zhuǎn)化為電壓信號。由于人體的脈搏信號微弱(毫伏電壓),頻譜范圍包含工頻干擾,因此需通過前置放大、高低通濾波、二級放大等處理[5]。從傳感器獲得的初始信號經(jīng)過適當(dāng)放大和處理之后,通過單片機控制的AD轉(zhuǎn)換器將模擬信號轉(zhuǎn)換為數(shù)字信號,繼而通過無線模塊實現(xiàn)信號的無線發(fā)送與接收。接收模塊收到的數(shù)據(jù)通過串口通信電路傳輸至計算機的串口,最終由上位機軟件對串口進行掃描而讀取。上位機軟件可實時顯示接收到的脈搏信號波形,進行數(shù)據(jù)處理、分析和監(jiān)視,也可存儲數(shù)據(jù)以備后續(xù)統(tǒng)計與回訪。為了保證系統(tǒng)中不同芯片的正常工作,本設(shè)計還包含了雙電壓輸出的電源模塊。

2系統(tǒng)硬件設(shè)計

  2.1單片機控制單元

  單片機是整個系統(tǒng)的核心,主要負責(zé)啟動AD轉(zhuǎn)換、配置無線發(fā)送與接收、與上位機通信等工作。本系統(tǒng)采用STC12C5A60S2單片機,其指令代碼與傳統(tǒng)的8051單片機兼容,工作電壓為3.3~5.5 V,工作頻率范圍為0~40 MHz,自帶8路10位AD轉(zhuǎn)換器,處理速度比傳統(tǒng)8051快8~12倍。本系統(tǒng)單片機最小系統(tǒng)的晶振為11.059 2 MHz,5 V電源供電,采集轉(zhuǎn)換頻率為100 Hz,由定時程序控制,即每10 ms啟動一次AD轉(zhuǎn)換。

  2.2采集模塊

  采集模塊的核心器件是傳感器,它的性能直接影響整個系統(tǒng)的穩(wěn)定性和精準性。因此,本設(shè)計采用綜合性能優(yōu)良的光電式脈搏傳感器來完成,它可分為光源和光接收器兩個主要部分。光源部分采用的是峰值波長為515 nm的綠光LED,型號為AM2520;光接收器的敏感峰值為565 nm,型號為APDS9008。據(jù)相關(guān)文獻和實驗結(jié)果表明,560~650 nm光波可較好地反映皮膚淺部微動脈信息,適合用來采集分析人體脈搏信號[6]。因此,本設(shè)計采用的傳感器能有效收集脈搏信息,且靈敏度較高。此外,脈搏信號的頻帶范圍為0.05~200 Hz,信號幅度是毫伏級的小信號,容易受到各種干擾。因此,在傳感器后面連接一個低通濾波器和一個由運放MCP6001為核心的放大器,將初級脈搏信號放大300倍左右。同時,采用分壓電阻設(shè)置直流偏置電壓為電源電壓的1/2,使輸出信號更容易被單片機的AD采集,并由單片機的P1.7口輸入。傳感器相關(guān)電路圖如圖2所示。

圖像 003.png

       2.3無線通信模塊

  實現(xiàn)無線數(shù)據(jù)傳輸,可減少設(shè)備復(fù)雜性,提高系統(tǒng)靈活性。本系統(tǒng)以NRF24L01模塊為核心來實現(xiàn)脈搏數(shù)據(jù)在采集和接收模塊之間的遠程無線傳輸,類似工作可參見參考文獻[7]、[8]。單片機通過AD轉(zhuǎn)換將脈搏信號數(shù)字化后,將轉(zhuǎn)換結(jié)果傳給NRF24L01模塊進行無線發(fā)送。無線模塊的工作參數(shù)(包括信道、發(fā)送功率、發(fā)送頻率等參數(shù))由單片機配置。接收電路中的NRF24L01模塊的工作參數(shù)也由單片機配置,且要求與發(fā)送端匹配。發(fā)送和接收的NRF24L01模塊和單片機的連接如圖3所示。

圖像 002.png

  CE引腳與P1.2引腳連接,CSN引腳與P1.3引腳連接,SCK引腳與P1.1引腳連接,MOSI引腳與P1.4引腳連接,MISO引腳與P1.0引腳連接、IRQ引腳與P1.6引腳連接。

  2.4串口通信模塊

  串口通信模塊主要負責(zé)將接收到的數(shù)據(jù)傳給上位機,本設(shè)計采用MAX232EPE來完成。由于串口一次最多只能通過8位二進制數(shù),而單片機自帶AD轉(zhuǎn)換一次能產(chǎn)生10位的二進制數(shù),因此要將10位數(shù)據(jù)分解成高2位和低8位。串口通信采用經(jīng)典設(shè)置,即波特率9 600 b/s、校驗位N、數(shù)據(jù)位8、停止位1。

  2.5電源模塊

  由于本系統(tǒng)采用的單片機的供電要求為5 V,而無線收發(fā)模塊的供電要求為3.3 V,因此要求電源模塊能輸出兩種電壓。其中,+5 V是由輸出電壓9 V、輸出功率9 W的交流變壓器、整流橋及7805芯片組成的電路產(chǎn)生的;+3.3 V是由5 V電源經(jīng)LM1117芯片穩(wěn)壓和濾波后產(chǎn)生的。

3系統(tǒng)軟件設(shè)計

  為了保證系統(tǒng)正常穩(wěn)定運行,需要良好的下位機硬件驅(qū)動程序和上位機軟件界面。該系統(tǒng)的下位機軟件是采用基于Keil C 集成開發(fā)環(huán)境的C語言進行設(shè)計和開發(fā)的,上位機的軟件界面主要利用VB編程語言編程實現(xiàn)。

  3.1下位機軟件設(shè)計

  下位機軟件由以下子程序組成:AD轉(zhuǎn)換控制程序、定時器程序、NRF24L01發(fā)送子程序、NRF24L01接收子程序和串口發(fā)送程序。模擬信號從P1.7輸入單片機經(jīng)過10位精度的AD轉(zhuǎn)換。AD轉(zhuǎn)換受定時程序的控制,定時程序達到設(shè)定閾值則啟動AD轉(zhuǎn)換,轉(zhuǎn)換并發(fā)送數(shù)據(jù)完成后AD使能端被禁止,AD啟動轉(zhuǎn)換的頻率被設(shè)定為100 Hz。兩個NRF24L01模塊分別由兩個單片機控制,不斷發(fā)送和接收數(shù)據(jù),接收數(shù)據(jù)的單片機通過串口查詢法不斷將接收到的數(shù)據(jù)傳給上位機。由于AD轉(zhuǎn)換的結(jié)果是10位的二進制數(shù),因此在串口發(fā)送之前要先將10位的二進制數(shù)拆成2個8位二進制數(shù)(高2位和低8位,分別存于ADC_RES和ADC_RESL兩個寄存器中)才能通過串口發(fā)送。

  NRF24L01相關(guān)子程序的主要任務(wù)是:先進行片選,即選好引腳P1.2并置低電平,再對芯片的狀態(tài)、功率等參數(shù)進行配置,具體如表1所示。

圖像 007.png

  系統(tǒng)軟件程序流程圖如圖4所示。

圖像 004.png

  3.2上位機軟件設(shè)計

  上位機軟件采用VB語言編程實現(xiàn)。主界面包括數(shù)據(jù)顯示區(qū)、快捷功能鍵、生理參數(shù)顯示、串口選擇和報警提示等部分。為了顯示從串口讀取的數(shù)據(jù),采用iplot控件(集成C語言)作為畫圖工具。橫縱坐標根據(jù)輸出信號的強度能進行自動調(diào)節(jié),實際運行時,先要對兩次接收到的數(shù)據(jù)相加得到一個完整的數(shù)據(jù),并通過不同時刻得到的數(shù)值進行比較得到波峰,記錄當(dāng)時的時刻,應(yīng)用同樣的方法判斷出下一個波峰與時刻,將這一系列的數(shù)據(jù)由iplot控件進行繪圖[9]。

  快捷功能鍵主要包括圖形區(qū)放大、縮小和數(shù)據(jù)保存等功能,另外的功能還在開發(fā)中,例如打印、自動縮放、注釋等。生理參數(shù)顯示暫時只考慮脈搏頻率,其算法如下:取10 s左右長度的數(shù)據(jù),用上述方法檢測出每個周期中的峰值,對5個峰峰間期取平均得到準實時的脈搏頻率[10]。串口選擇功能是為了滿足上位機軟件對多個下位機采集電路的管理而設(shè)計的。盡管目前軟件只能顯示一個通道的數(shù)據(jù)變化情況,但預(yù)留了多通道顯示的功能。報警提示功能是通過label控件來展示的,當(dāng)上位機軟件對一段時間的數(shù)據(jù)進行顯示、處理和分析后,若發(fā)現(xiàn)生理參數(shù)超出正常范圍則開始報警[11]。

4系統(tǒng)運行結(jié)果

  系統(tǒng)運行時的上位機軟件界面如圖5所示。

圖像 005.png

  顯示的參數(shù)包括:實時脈搏波形[12]、計算得到的心率、參數(shù)異常報警提示。軟件還具有數(shù)據(jù)存儲功能,以便于數(shù)據(jù)回訪和統(tǒng)計分析,對使用者的脈搏參數(shù)進行長期跟蹤。與標準儀器的測量結(jié)果(示波器采集顯示如圖6所示)對比發(fā)現(xiàn),本系統(tǒng)采集到的脈搏信號顯示結(jié)果與之接近,從而同時驗證了下位機信號采集、無線收發(fā)模塊工作正常。其中,針對無線模塊的性能測試結(jié)果表明,在15 m2內(nèi)無障礙物環(huán)境下,數(shù)據(jù)傳輸流暢且無失真,按照每秒100個數(shù)據(jù)采集的速率計算,數(shù)據(jù)傳輸速度可達125 B/s。

圖像 006.png

5結(jié)論

  本設(shè)計以STC12C5A60S2單片機、光電式脈搏傳感器和NRF24L01無線收發(fā)模塊為核心,完成了一個無線脈搏信號的實時監(jiān)測系統(tǒng)。經(jīng)測試,本系統(tǒng)可將被測人員的脈搏信號實時地顯示在上位機軟件中,顯示結(jié)果與標準的示波器結(jié)果相吻合,在大約15 m2內(nèi)系統(tǒng)運行穩(wěn)定。除脈搏信號的實時顯示,該系統(tǒng)還支持簡單的數(shù)據(jù)分析(脈搏頻率及強度等),并能實現(xiàn)閾值可調(diào)的報警監(jiān)護功能。本系統(tǒng)為人體脈搏等生理信號監(jiān)測系統(tǒng)的研發(fā)工作提供了一個實用案例,具有一定的實用價值和參考意義。下一步的工作中還可進一步完善本系統(tǒng)的軟硬件功能。

  參考文獻

  [1] 喬愛科, 伍時桂. 動脈中的脈搏波理論[J]. 生物醫(yī)學(xué)工程學(xué)雜志, 2000, 17(1): 95 100.

 ?。?] 曾小青, 李旭光, 熊政剛,等. 一種具有高信噪比的脈搏波光電傳感器的研制[J]. 中國現(xiàn)代醫(yī)學(xué)雜志, 2003, 13(15):76 78.

 ?。?] 劉常春, 李遠洋, 李鵬, 等. 橈動脈脈搏波檢測裝置[P]. 中國: CN101703394B, 2011 04 27.

 ?。?] 譚莉, 向忠民. 便攜式簡易人體測量裝置對心血管危險的預(yù)測價值[J]. 心臟雜志, 2013, 25(6):753.

 ?。?] 王曉蘭, 蔣中. 一種簡易人體脈搏測試儀[P]. 中國:CN 104138251A,2014 11 12.

  [6] 戴君偉, 王博亮. 光電脈搏傳感器的研制和噪聲分析[J]. 現(xiàn)代電子技術(shù), 2006, 29(2):78 80.

 ?。?] 諸德宏, 張介環(huán). 具有遠程升級功能的小區(qū)電能監(jiān)測系統(tǒng)[J]. 電子器件, 2014(4): 733 736.

 ?。?] 蔣超, 金陶威, 李世嬌, 等. 高精度無線脈搏波采集系統(tǒng)[J]. 電子測量技術(shù), 2012, 36(7): 112 124.

 ?。?] 張文, 秦開宇, 李志強. VC環(huán)境下多波形顯示ActiveX控件開發(fā)[J]. 中國測試, 2009, 35(2): 33 36.

 ?。?0] 劉一, 任占兵. 基于安卓手機的遠程心電測量系統(tǒng)的設(shè)計[J]. 電子器件, 2015(1): 194 197.

 ?。?1] 鄭爭兵. 脈搏信號檢測儀的設(shè)計與實現(xiàn)[J]. 自動化儀表, 2012, 33(11): 77 79.

 ?。?2] 徐明. 基于MSP430G2553的智能脈搏測試儀設(shè)計[J]. 自動化應(yīng)用, 2015(6): 78 79.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。