摘要:基于Arduino平臺采用提供高精度三維位置的MXTOS2-200模塊,設計了一種體積小巧的遠程定位生理參數監測儀。利用獨特的過采樣技術和低功耗的傳感模塊,結合Arduino開源環境對人體脈搏、呼吸頻率、行走狀況(跌倒)等生理狀態參數的實時采集測量,與正常生理參數范圍做比較,進行預警動作。實驗表明,該監測儀可以對生理參數進行實時采集,得到精確的測量數據進行生理判斷;Arduino平臺提供GSM、GPS以及常用生理參數傳感器的庫函數可大大降低設計難度;系統具有設計簡單、低功耗、低成本的優點。本文網絡版地址:http://www.eepw.com.cn/ article/256090.htm
關鍵詞:Arduino;MXTOS2-200;生理參數;GSM
DOI: 10.3969/j.issn.1005-5517.2014.7.006
引言
目前國內一些便攜式生理檢測儀設備,雖然可以檢測多個生理參數,但很多只是單獨地研究了便攜式監測儀或采用物聯網的形式連接大型醫療設備,其設計大多復雜、價格昂貴,難以得到廣泛的應用 [3~5]。
本文設計一種基于開源電子平臺 Arduino的遠程定位生理參數監測儀,實時采集人體的生理參數,應用于突發狀況下的快速定位和急救,兼具了便攜、遠程定位和發送、性價比高、設計簡單的特點,可以起到定位急救的作用。
1 總體設計
系統由定位模塊MXTOS2-200、Arduino最小系統、生理參數采集模塊、無線傳輸模塊和人機交互模塊組成,其框圖如圖1所示。其中,無線數據接收節點主要由無線傳輸模塊、報警器、微處理器和計算器模塊組成。生理參數采集模塊將采集到的呼吸頻率、脈搏、行走狀態等參數經A/ D轉換成數字信號,微處理器對轉換后的信號進行處理并顯示,然后無線傳輸模塊將處理后的數據打包發送出去,數據接收節點接收到生理參數采集節點的數據后,微處理器將數據進行拆包,取出有效數據并通過串口發送至計算機,計算機對采集的各項生理參數進行分析、處理和顯示或者直接通過GSM模塊發送至手機。該系統實現了呼吸頻率、脈搏等生理參數的采集和測量、行走狀態的監控以及實時的GPS(Global Positioning System,全球定位系統)位置坐標和時間信息的獲取和信號的無線傳輸。如果采集到的呼吸頻率、脈搏與預設值(標準范圍)有差異或檢測到人體跌倒時,則通過人機交互模塊顯示和語音報警,并且啟動通訊模塊,將生理參數和位置信息傳遞到上位機或集控中心。這樣模擬出人在外遇到突發狀況的情景,可以看到系統的各模塊的運行;同時系統也可以用于日常的體檢自查和遠程數據傳遞,便于醫師進行數據分析和疾病診斷。
2 硬件設計
硬件部分主要包括控制器的選取與電源模塊的設計、生理參數測量模塊、MXTOS2-200導航模塊、GSM無線通信模塊與LCD人機交互模塊。其中,最小系統采用Arduino MEGA2560,主要在于MEGA2560具有54路數字輸入/輸出接口(15路用于PWM)和4個硬件串口,豐富的I/ O接口便于擴展,其最小系統電路如圖2所示。
2.1 生理參數測量模塊
脈搏測量常用方法有:從心電信號中提取、通過血壓測量獲取、光電容積法。前兩種方法提取信號都會限制病人的活動,如果長時間使用會增加病人生理和心理上的不舒適感。而光電容積法脈搏測量作為監護測量中最普遍的方法之一,其具有方法簡單、佩戴方便、可靠性高等特點[8]。本系統采用PulseSensor網站設計的開源脈搏傳感器。該傳感器帶有放大和消噪功能,測量時可直接戴在手指、或夾在耳朵上,供電電壓為3~5V,輸入信號為模擬量;實驗利用開源的Arduino下位機程序和Processing上位機程序,可以方便的顯示脈搏波形,便于進一步開發;此外,該傳感器上外接一個LED,通過光強的變化顯示脈搏的快慢。該傳感器提供三個接線端,分別為電源、模擬信號輸入、地。如圖3所示,其硬件電路只需將信號線接ADC采集接口,接通電源和地,就可進行采集,采用采集頻率為500Hz。
呼吸頻率測量模塊選取靈敏度高的熱電阻Pt1000傳感器進行呼吸頻率信號的獲取,其原理是人體呼吸時,呼吸氣體之間會存在溫差,把熱敏電阻置于鼻孔出口處,其阻值將隨呼吸的周期形成呼吸波,一分鐘呼吸波的個數即為呼吸頻率值。行走狀態傳感模塊采用能提供三維加速度的集成傳感器ADXL345,其原理是當人在行走和靜止時,垂直加速度為1g,前后左右加速度為0;當人體在跌倒時大部分是前后或側向跌倒,將導致前后左右加速度短時間內發生巨大變化。一方面,Arduino提供了ADXLxx開源設計;另一方面,具有串行SPI和I2C兩種通訊操作模式, ADXL345與Arduino之間采用I2C通信。ADXL345符合標準的I2C總線規范,支持逐個字節和連續字節讀取,其數據傳輸可以采用100kHz的標準模式或400kHz的快速模式。在快速模式下,采用連續讀取可以保證數據輸出的一致性,從而提高系統的準確性。此外,ADXL345可以依靠內部集成的一個FIFO存儲器管理系統,對輸出數據進行緩沖處理,降低CPU的負荷以及整個系統的能耗[9]。如圖3所示,設置ADXL345使用I2C通信方式,設置CS為高電平。
2.2 MXTOS2-200導航與GSM通信模塊
衛星定位的基本思想是在一個三維坐標系中,確定一個點A(X0,Y0,Z0),可以通過其他三個點建立一個三元二次方程組來求出此坐標點,從而得到該位置的準確定位。接收機是實現衛星導航最常見的用戶終端設備之一,其原理是通過接收可見衛星的信號來獲取信息,并通過相應算法處理得到當前載體位置、速度、時間,以及衛星狀況等信息,實現有效的導航定位功能[10]。Arduino平臺提供了支持GPS庫函數以及GPS的設計方案,系統采用北京時代民芯有限公司的具有GPS和BD-2雙模導航功能的MXTOS2-200接收機板卡可以很好的與其對接。此板卡是射頻前端、基帶處理、定位軟件、配套接口的高度集成,具有低功耗、小體積、高可靠、高性能等特點,可實現 GPS/ BD-2 單模、雙模靈活定位模式[11],有兩個串口支持4800~115200bps,默認為串口0輸出。MXTOS2-200 從天線輸入到串行輸出的整個信號處理鏈包含在一個單獨的模塊當中。其數值基帶主要包括AD采樣,信號捕捉,信號跟蹤和信號處理四個部分。GPS信號通過串口讀取,因此只需將信號線接CPU的RXD就可獲取GPS信號。
系統無線通信采用具有多種工作頻帶的GSM模塊,其優點在于GSM可以提供更高的數字語音質量和替代呼叫的低成本的新選擇(短信);此外,Arduino平臺提供了支持GSM庫函數以及GSM的設計方案。新一代無線通信M10具有超低功耗和寬工作溫度范圍,為M2M應用提供了完善的GSM/GPRS短信、數據傳輸及語音服務,是M2M理想解決方案,適用于車載、個人跟蹤、無線POS、智能計量、安防。M10可以工作在850/900/1800/1900MHz四頻段,具有正常、關機、最小功能、鬧鈴等四種模式,上下行最大傳輸速率可達到85.6kbps。本系統主要應用GSM的短信功能,設計中接線只需將GSM_ TX/GSM_RX/Modern_res連接到單片機串口相連(RXD/TXD)即可,如圖3所示。其中,GSM_TX/GSM_RX用于收發信息,Modern_res用于模式選擇。如果要使用語音功能,需在外圍配備喇叭和咪頭用于語音信號的輸出與輸入。在使用過程中,由于本設計只涉及到GSM發送短信息的功能,因此,只需將GSM_TX接單片機的RXD即可,Modern_res接入接口用于模式設置。
3 軟件設計
主程序設計基于Arduino IDE的開發平臺完成。由于Arduino平臺提供了GPS和GSM開發的庫函數,大大降低了系統設計的難度。其流程如下:首先,完成初始化(中斷、LCD、ADXL345、串口、GSM/GPS等初始化)后,啟動GPS/GSM模塊,進入串口中斷等待;接著,查詢串口是否有數據。當查詢到串口中有數據傳來時,就開始判斷數據是否符合預先設定協議,如果符合微控制器跳轉到生理參數測量模塊之中讀取行走狀態、脈搏、呼吸頻率等相關數據,并進行相應數據處理和顯示。處理完之后返回數據到主程序,對采集的數據進行相應的處理。最后,將處理完的數據與預先設定的閥值進行比較,如果未超出閥值則通過GSM返回正常標志數據,否則,轉入到GPS子程序(MXTOS2-200)之中,判斷校驗數據是否正確,若正確則進行數據包的解析,獲取當時人的準確位置;若不正確則繼續等待校驗直到獲取準確位置。接著,執行GSM發送指令,發出經緯度時間等信息到上位機,同時發出警報尋求救援;如果在閥值以內則返回繼續監聽串口數據,循環上述過程。主程序流程圖如圖4所示。3.1 MXTOS2-200
MXTOS2-200支持以$GPGGA、$GPGSV、$GPGSA為主的16通信協議,通過相關協議設置可以獲取UTC時間、經緯度、GPS狀態、正在使用的衛星數量、HDOP水平精度因子、海拔高度、差分時間及ID等等。本系統采用$GPGGA協議,通過串口數據來判斷和校驗,經校驗后,接收數據(本系統主要提取時間、經緯度、有效性)并進行處理,最后保存返回數據給主程序。MXTOS2-200子程序流程圖如圖5所示。
3.2 生理參數
ADXL345可以通過設置內部寄存器0x2c來控制輸出數據的頻率(100kHz和400kHz),將檢測得到的X、Y、Z三個坐標軸數據保存在6個8位寄存器(0x32-0x37)之中,其中X軸數據保存在寄存器0x32和0x33中;Y軸數據保存在寄存器0x34和0x35中;Z軸數據保存在寄存器0x36和0x37中;數據以補碼的形式輸出,并且高位在前低位在后。用ADXL345的X軸測量人體左右的加速度;Y軸測量人體前后的加速度,Z軸測量人體上下的加速度。ADXL345子程序流程圖如圖6所示。
3.3 實驗結果
將加速度傳感器ADXL345的坐標與人體坐標對應固定在人體;兩個PT1000呼吸頻率傳感器一個固定在鼻孔內一個固定在外面,通過呼吸的溫度差導致的電阻變化進行測量;脈搏傳感器直接戴在手指上,接通電源,進行測試。通過Arduino IDE自帶的串口監視工具檢測正常情況和摔倒狀態下生理參數,其測量實驗數據如圖7所示。
由圖可知,當人體生理正常并且時,測量的呼吸頻率、脈搏在正常范圍(呼吸頻率為15~25次/min,脈搏65~80次/min)內,其脈搏頻率大約是呼吸頻率的四倍,符合正常生理狀況;當人體摔倒時可知XYZ軸加速度發生巨大變化,呼吸頻率和脈搏頻率上升,此時啟動蜂鳴器,并調用GPS模塊,測量經緯度,最后打包數據通過GSM發送。
基于Arduino開源環境,結合MXTOS2-200定位模塊提出一種遠程定位多生理參數監測設計方案,完成了相應生理模塊的測試,結果表明系統可以準確地對生理不正常條件進行預警。系統性價比高,便于攜帶;開源平臺大大降低了設計的難度。
但是本系統也有局限:首先,采集的生理參數還不夠全面,可以繼續擴展溫度、無創血壓、血飽和度等;其次,傳感器安裝和選用方面也有待進一步提高,實際使用中應考慮多傳感器集中封裝(比如封裝在手表內)的問題;最后,可以考慮將測量數據存儲在Yeelink(提供免費傳感器數據接入管理的互聯網服務),編寫相應的Android應用,便于隨時隨地的查看。
參考文獻:
[1]王彬.嵌入式無線多生理參數監測系統的研究[D].浙江:浙江大學
生物醫學工程與儀器科學學院,2007
[2]譚亮.人體生理參數監測無線傳輸系統設計[D].陜西省:長安大學信息工程學院,2012.
[3]黃練,謝存禧,張鐵.基于ARM的多生理參數嵌入式監護系統[J].微計算機信息,2007(07):116-118
[4]田志宏,胡亮,邱峰志.基于Windows CE的人體生理參數監測系統設計[J].天津科技大學學報.2011(04):61-64
[5]焦純,盧虹冰,王舒宜,等.基于MSP430的便攜式運動量及生理參數監測儀設計[J].電子產品世界,2009 (12):37-40
[6]吳勇,李林濤,陳世純等.基于Arduino開發環境的光電編碼器檢測儀的設計[J].現代電子技術,2014,37(2):124-126
[7]紀欣然.基于Arduino開發環境的智能尋光小車設計[J].現代電子技術,2012,35(15):161-163
[8]Pulse Sensor心率傳感器實驗[R/OL].(2014-1-17).http:// bbs.ednchina.com/BLOG_ARTICLE_3018190.HTM
[9]黃曉東,黃曉華.微電子機械系統ADXL345的應用研究[J].企業技術開發,2012(6):28-30
[10]方新朋,李文杰.基于MXTOS2-200模塊的開放式高動態平臺設計[J].電子產品世界,2012(08):67-69
[11]李威,張強武.老年人健康伴侶—基于MXTOS2-200的遠程老年人監測儀[J].電子產品世界,2013(10):65-67