北方工業大學信息學院 陳展翮 陳亮宇 趙涵迪
本文給出了基于ADS1292R、LMT70、STM32F103RCT6單片機、計步傳感器、HC-05藍牙模塊的便攜式健康監測設備的設計方案。系統通過ADS1292R采集心電信號并計算出瞬時心率,通過LMT70采集溫度數據,通過計步傳感器采集步數信息并計算出距離數據。同時,手機端可顯示使用者心電波形、心率、溫度和運動數據。
隨著我國民眾生活質量的日益提高,許多人開始注重自身的身體健康情況。為了適應人們對于監測身體健康的需求,本文設計了一種基于藍牙無線傳輸的便攜式健康監測設備,系統以STM32F103RCT6單片機為主控芯片,具有心電測量模塊(ADS1292R)、溫度測量模塊(LMT70)以及步數測量模塊(PER662),能夠穩定采集和記錄佩戴者的心電信息、體溫和實時的運動情況,并通過藍牙模塊(HC-05)將測得數據實時傳送到手機APP以便人們知曉自己目前的身體狀態,滿足了人們的需求。本文所給出設計方案圖如圖1所示。
圖1 系統總體設計方案圖
該便攜式健康監測設備主要實現了采集心電數據并計算心率、體表溫度測量、步數和距離記錄以及通過藍牙數據傳輸到手機端顯示等功能,心電信號采集使用TI公司設計的ADS1292R模擬前端芯片;心率由采集的心電信號處理之后通過算法計算獲得;體溫檢測使用TI公司LMT70溫度傳感器;單片機選用意法半導體STM32F103RCT6;信號采集端與手機端的數據傳輸使用藍牙模塊實現,信號采集端使用HC-05藍牙模塊,手機端使用手機自帶的藍牙模塊;手機端使用APP Inventor搭建安卓應用,心電信號的繪制使用APP Inventor提供的畫布模塊實現。
在本次設計中所采用的處理器為意法半導體設計的基于ARM Cortex-M3內核的STM32F103RCT6單片機,其為32位處理器,工作頻率最高可達72MHZ。相較于MSP430、AVR和Ardnino等單片機芯片,STM32系列芯片具有更高的處理速度、更多的輸入輸出接口和更多的內部資源,十分符合本次設備的設計需求。
ADS1292R是TI公司專門用于心電信號和呼吸信號測量的模擬前端芯片,擁有32個引腳,在本次設計中我們只使用其心電信號采集功能。其廣泛應用于醫療儀器中,例如作為動態心電圖(Holter)中的心電信號采集芯片。該模塊具有2個可編程增益放大器(PGA)和2個24位模數轉換器(ADC),使得其獲取的心電信號較為準確,作為本次心電信號采集的芯片較為合適。
PER662是一個3D計步功能IC模塊。其使用標準I2C接口輸出,模塊使用了一個較高性能的計步器主控芯片和一個靈敏度高的重力傳感器,同時使用了高精度的計步算法,使其在任何方向都可以準確計步。該模塊具有體積小、功耗低等特點,符合本次設備設計的需要。當模塊檢測到有走步動作時,模塊產生一個外部中斷信號給單片機,同時步數累加,距離數據等于0.6累計步數。
LMT70是TI公司開發的一款超小型、高精度、低功耗CMOS精密模擬溫度傳感器,它適合于精度要求高、要求功耗小的測溫場景。LMT70的溫度誤差僅為±0.1°C,可以感知到人體表面微小的溫度變化,適合作為本次溫度采集模塊所采用的芯片。
HC-05藍牙模塊是一種主從一體的藍牙串口模塊,簡單來說,就是在藍牙連接成功之后可以不用理會藍牙通信內部的協議,只需將其視為一個通用串口即可。這大大降低了硬件開發難度,直接將STM32上所提供的串口轉化為了無線藍牙串口,與本次設備的開發起到了關鍵的作用。
App Inventor是Google公司開發的一款在線并且開放的Android編程工具,通過類似于搭積木的編程方式來完成App開發,其中內置了藍牙服務器、計時器等本次軟件開發所必需的組件。相較于Android Studio等Android開發工具,使用APP Inventor不需要配置復雜的系統環境并且更易于上手,與本次對于軟件開發的要求十分契合。
主程序流程設計如圖2所示。首先系統先進行初始化,然后進行心電信號的采集并通過算法計算出瞬時心率,之后采集溫度、步數信息并計算距離信息,最后將所有數據通過藍牙發送至手機端顯示。
圖2 主程序流程圖
心率算法流程圖如圖3所示。本文設計的心率算法采用了幅度閾值法,通過求過去幾個周期的心電信號的平均值,通過向R波峰值方向偏移固定比例的值作為閾值來檢測R波,這樣就可以得到2個R波之間的時間即R-R間期,從而可以計算出瞬時心率。通過實驗,這種算法已經可以很精確的計算出心率。
圖3 心率算法流程圖
結語:本文針對人們對于健康監測的需求,設計了一款基于藍牙無線傳輸的便攜式健康監測設備,在較低功耗下解決了心電信號、溫度數據和計步數據的采集和處理分析,并將其通過藍牙發送至手機端實時顯示出來,滿足了人們對于健康監測的需求,具有一定的商業應用前景。