孫志勇 龔瓊 蘇大明 王新生 馮亦寧
【摘 要】本系統(tǒng)利用ST公司基于ARM Cortex M3內(nèi)核的STM32F103RCT6單片機,MPU6050加速度傳感器和反射式血氧傳感器,設計了一種可以計步、測量人體心率、血氧等參數(shù)的手環(huán)和基于安卓系統(tǒng)的手機應用程序(APP)。手環(huán)和APP之間通過藍牙通信,在安卓手機端顯示參數(shù)信息并記錄,數(shù)據(jù)可以上傳到服務器,幫助人們對自己的運動狀態(tài)和健康狀況長期監(jiān)測。血氧飽和度通過與邁瑞PM9000Express監(jiān)護儀測量結果進行了校準。
【關鍵詞】STM32F103RCT6;MPU6050;血氧傳感器;安卓手機
System Design of a Multi Parameter Bracelet
SUN Zhi-yong GONG Qiong SU Da-ming WANG Xin-sheng FENG Yi-ning
(School of life and Environmental Sciences, Guilin University of Electronic Technology, Guilin Guangxi 541004,China)
【Abstract】This system uses the ST company ARM Cortex M3 kernel STM32F103RCT6 microcontroller based on MPU6050 acceleration sensor and a reflection type oxygen sensor, designed a pedometer, heart rate, blood oxygen measurement parameters such as the bracelet and Android systems (APP) based on mobile phone applications. Bracelet and APP through Bluetooth communication, in the Android mobile terminal display parameter information and record, the data can be uploaded to the server, to help people on their exercise status and health status of long-term monitoring. Oxygen saturation by calibrated measurement results with MINDRAY PM9000Express monitor.
【Key words】STM32F103RCT6; MPU6050; Blood oxygen sensor; Android cell phone
0 引言
心臟病是危及人類健康的主要疾病之一,而心率的檢測對心臟病的分析及評估具有重要作用。傳統(tǒng)的心率檢測方法主要有三種,分別是從心電信號中提取、血壓間接計算法、光電容積脈搏波法。前兩種方法均限制人們的行動,并且如果長時間檢測會增加人們生理或心理上的不適。
血氧飽和度是反映人體健康狀況的重要參數(shù)[1],它的檢測方法分為有創(chuàng)檢測和無創(chuàng)檢測。有創(chuàng)檢測主要采用血氣分析儀對采集到的人體血液進行測量,光電容積脈搏波法無需采血就可以實時獲取人體血氧飽和度信息,安全可靠且測量裝置微型便捷。所以本設計采用光電容積脈搏波法進行血氧飽和度的測量。
智能手機等電子設備的出現(xiàn),使人們的生活方式發(fā)生了巨大改變。實現(xiàn)一種能計步、檢測人體心率、血氧等參數(shù)的便攜穿戴式設備,人們可以通過手機隨時了解自己每日行走的步數(shù)及健康狀況,促進人們制定合理的運動計劃,達到及時調(diào)節(jié)和鍛煉的目的,因此具有重要意義。
1 總體設計方案
整個系統(tǒng)由控制器、加速度傳感器模塊、血氧傳感器模塊、藍牙模塊、存儲模塊、報警模塊、電源模塊、Android手機APP和服務器組成。心率和血氧檢測部位為血液循環(huán)相對豐富的手指尖。系統(tǒng)結構框圖如圖1所示。
2 硬件設計
2.1 微處理器
MCU采用STM32F103RCT6,它具有極高的集成度,256K的flash存儲器,自帶兩個12位ADC、擁有IIC、TIMER等眾多外設。具有功耗低,體積小,可靠性高,價格便宜等特點。
2.2 加速度傳感器模塊
加速度傳感器選用MPU6050模塊,MPU6050芯片內(nèi)部集成了三軸加速度傳感器,具有高達400KHz的IIC接口,模塊具有加速度測量范圍廣、兼容3.3V/5V系統(tǒng)、自帶溫度傳感器等特點。
2.3 血氧傳感器模塊
血氧飽和度檢測采用反射式血氧傳感器模塊,傳感器采集到的信號經(jīng)模數(shù)轉(zhuǎn)換,再經(jīng)單片機處理得到血氧和心率。該模塊支持3.3V供電,工作電流約4mA。
2.4 藍牙模塊
系統(tǒng)與Android智能手機之間采用藍牙通信,藍牙選用HC-05模塊,該模塊兼容3.3V/5V供電,配對中電流30~40mA,通信完畢未通信電流1~8mA,通信時5~20mA(跟串口通信頻繁程度呈正比)。
2.5 存儲模塊
存儲芯片選用W25Q64,它有64M內(nèi)存,具有低功耗、高時鐘頻率、支持3.3V供電等特點。
2.6 報警模塊
該系統(tǒng)通過心率估計人體體溫,當心率在某一時間段內(nèi)恒大于一定值時,判斷為發(fā)熱(人體發(fā)熱時,心率會加快,體溫每升高1℃,心率平均加快12~18次/分),蜂鳴器便報警。
2.7 電源模塊
系統(tǒng)用3.3V供電,具有可充電功能。選用3.7V可充電聚合物鋰電池(430mA)做輸入,經(jīng)穩(wěn)壓芯片穩(wěn)壓后輸出。充電芯片選用TP4056,穩(wěn)壓芯片選用AMS1117-3.3。
2.8 服務器
系統(tǒng)采集到的數(shù)據(jù)發(fā)送到手機后,通過網(wǎng)絡上傳到服務器,在服務器端保存原始數(shù)據(jù),便于研究人員進行后續(xù)的相關分析。
3 系統(tǒng)軟件及算法
3.1 單片機程序設計
單片機主程序流程圖如圖2所示。
3.2 計步算法設計
計步算法在手機端實現(xiàn),主要包括時間窗口和動態(tài)閾值。算法流程圖如圖3所示。
3.2.1 時間窗口設定
人行走的頻率一般為0.5~5Hz,即最慢兩秒走一步,最快一秒走五步[2]。因此設定時間窗口為0.2~2.0s,在該時間窗口外的所有步伐為無效步伐。
3.2.2 動態(tài)閾值
為了適應不同的走路姿勢,不能簡單設置一個閾值來檢測步數(shù)。系統(tǒng)持續(xù)更新三軸加速度的最大值和最小值,通過峰谷值設定動態(tài)閾值。
3.3 心率算法設計
心率有瞬時心率和平均心率。瞬時心率是根據(jù)相鄰兩次心跳間隔時間所確定的心率值,平均心率是指一分鐘內(nèi)心臟實際跳動的次數(shù)。通常心臟的跳動與脈搏是同步的,因此,只要測出脈搏跳動次數(shù)即可。而測量脈搏是通過記錄處理脈搏傳感器發(fā)出的指脈電信號來實現(xiàn)的[3]。
3.4 血氧算法設計
血氧飽和度算法在單片機端實現(xiàn)。血氧飽和度是指血液中氧和血紅蛋白(HbO2)占氧和血紅蛋白和還原血紅蛋白(Hb)的百分比[4]。即:
當一定波長的光束照射到皮膚表面時,光束通過反射方式傳送到光電接收器。由于受到皮膚、肌肉和血液的吸收衰減作用,檢測器檢測到的光強度將減弱。此過程產(chǎn)生了直流成分(DC)和交流成分(AC)。直流成分由非血液部分和血液中的非脈動部分的光吸收組成,而交流成分反映脈動血的光吸收情況。HbO2吸收紅光,波長為 600nm~700nm,Hb吸收近紅外光,波長為 800nm~1000nm[5]。本系統(tǒng)采用波長為660 nm 和 940 nm 兩路光進行血氧飽和度的檢測。系統(tǒng)采集到的兩路光的波形如圖4所示。
圖4 濾波后的紅光(左)、紅外光波形(右)
根據(jù)Lambert-Beer 定律可得反射式血氧飽和度的計算公式:
其中A、B是定標出來的常數(shù)。
4 數(shù)據(jù)處理
4.1 三軸加速度值處理
人行走時很多參數(shù)會發(fā)生變化,而合加速度的變化能很好地體現(xiàn)步數(shù)[6]。我們利用的是矢量和的方法進行和加速度的計算。采集到的信號一般均含有噪聲干擾,為提高性噪比,需對信號進行濾波。本系統(tǒng)采取平滑濾波法對和加速度進行濾波。
4.2 血氧飽和度處理
脈搏信號十分微弱,其頻帶一般在0.05~200Hz之間,信號幅度呈毫伏級水平,在測量過程中易受工頻等干擾,故對偶次采集到的極值需舍去,其它信號經(jīng)低通濾波后,再進行A/D轉(zhuǎn)換。
5 實驗結果
5.1 計步實驗測試結果
5.2 心率和血氧測試結果
5.3 Android手機APP界面
在Android手機上安裝“步步經(jīng)心”軟件,該軟件主要包括“運動”、“健康”和“睡眠”三個界面,部分界面如圖5所示。
6 總結與展望
本文實現(xiàn)了一種多參數(shù)手環(huán)的設計與制作,該手環(huán)可以監(jiān)測運動、睡眠和健康管理,測量結果在Android手機APP端顯示,并且APP和服務器之間實現(xiàn)了通信功能,歷史數(shù)據(jù)可以上傳到服務器,節(jié)省了手機存儲空間。由于手腕上脈搏信號不明顯,所以在檢測心率和血氧飽和度時需另接探頭在手指端檢測。實驗結果表明,該系統(tǒng)穩(wěn)定性好,但由于測量血氧時對計步有一定影響導致計步準確率降低,需進一步完善。
【參考文獻】
[1]梅瀾瀟,黃松,忻尚芝.基于STM32的無創(chuàng)血氧檢測儀的研制[J].信息技術, 2014(09):189-192.
[2]邵宇吉,吳其林,朱治鵬.et al.一種新型腰帶計步器的設計研究[J].電子測試, 2015(19):111-112.
[3]鄭開明.基于單片機設計的心率檢測儀[J].電腦知識與技術,2012(06):1431-1433.
[4]萇飛霸,陳維平,徐力,et al.基于光電容積脈搏波法血氧飽和度測量系統(tǒng)研究[J].工業(yè)儀表與自動化裝置,2015(05):14-16.
[5]江麗儀,林紹杰,吳效明.基于ZigBee的血氧飽和度檢測技術與模塊研制[J]. 中國醫(yī)學物理學雜志,2010(01):1672-1675.
[6]李易陸,陳洪波,蔣曉旭,et al.基于三軸加速度傳感器的人機交互智能手環(huán)[J]. 桂林電子科技大學學報,2015(05): 412-415.
[責任編輯:朱麗娜]