叢一凡,王成龍,胡 旭,宋新瑞,黃 超
(大連理工大學城市學院,遼寧 大連 116600)
隨著國民生活水平的不斷提高與人口老齡化程度的逐漸加重,越來越多的人關注自身運動機能的健康狀況。而運動機能的下降是危害人們?nèi)粘I畹闹饕蛩?,例如:缺乏運動量導致的肥胖問題、老年人的心率問題、運動狀態(tài)監(jiān)測和熱量消耗問題、心率和運動量的測量問題、遠程服務器數(shù)據(jù)顯示問題等。為了更好地解決上述問題,本文設計一款基于藍牙無線傳輸?shù)闹悄芙】凳汁h(huán),系統(tǒng)以STM32F103RC單片機為主控器芯片,配有心電測量模塊(ADS1292)、溫度傳感器模塊(LMT70)以及步數(shù)測量模塊(MPU6050),能夠穩(wěn)定采集和記錄使用者的心電信息、體表溫度和運動狀況,并通過藍牙模塊將測量數(shù)據(jù)實時傳送到手機APP以便觀察,起到了通過數(shù)據(jù)指導健康生活的作用。
本文設計以STM32F103RC芯片為核心,基于ADS1292芯片的心電檢測模塊用于采集并記錄使用者的心電信號,實現(xiàn)動態(tài)心電圖實時顯示;基于LMT70溫度傳感器模塊測量并記錄使用者體表溫度;基于陀螺儀傳感器模塊MPU6050檢測使用者的運動信息,記錄步數(shù)與活動距離等。通過藍牙模塊將上述傳感器采集到的數(shù)據(jù)無線上傳到手機APP端實時顯示,方便用戶隨時隨地查看并了解自己的健康狀況。
本文總體設計方案圖如圖1所示。
圖1 總體設計方案圖
本文設計的系統(tǒng)采用STM32F103RC為主控芯片,該芯片由意法半導體(ST)公司出品,其內(nèi)核是以Cortex-M3為核心的32 bit系列的單片機。相比其他類型的單片機,STM32F103RC的內(nèi)部資源(如寄存器和外設功能)更加豐富,運行速率更快。除此之外,STM32單片機具有高性能、外設接口及內(nèi)存資源豐富、低成本、低功耗等特點,得到廣泛的應用。
ADS1292R是TI公司早在2012年就出產(chǎn)的一款醫(yī)用級ADC芯片,具有32位引腳,其引腳電路如圖2所示。它主要應用在醫(yī)療儀器(心電圖ECG),可以監(jiān)護患者以及護理和健身監(jiān)視器。該模塊具有2個低噪聲可編程增益放大器(PGA)和2個高分辨率模數(shù)轉(zhuǎn)換器(ADC),集成了心電采集所需要的部件,方便設備小型化。它的功耗極低,使得可以作為長時間監(jiān)控成為可能,而且輸入?yún)⒖荚肼暤?,共模抑制比高,足以進行心電采集。
圖2 ADS1292R引腳圖
LMT70是一款帶有輸出使能引腳的超小型、高精度、低功耗互補金屬氧化物半導體(CMOS)模擬溫度傳感器,幾乎適用于所有高精度、低功耗的經(jīng)濟高效型溫度感測應用,例如:物聯(lián)網(wǎng)(IoT)傳感器節(jié)點、醫(yī)療溫度計、高精度儀器儀表和電池供電設備。該溫度傳感器模塊也是RTD和高精度NTC/PTC熱敏電阻的理想替代產(chǎn)品,多個LMT70可利用輸出使能引腳來共用一個模數(shù)轉(zhuǎn)換器(ADC)通道,從而簡化ADC校準過程并降低精密溫度感測系統(tǒng)的總成本。LMT70還具有一個線性低阻抗輸出,支持與現(xiàn)成的微控制器(MCU)/ADC無縫連接。
LMT70具有較寬的溫度測量范圍,溫度與輸出電壓具有很好的線性關系,測量精度高。LMT70溫度-輸出電壓關系如圖3所示。
圖3 LMT70溫度-輸出電壓關系
MPU6050是一個整合性的6軸運動傳感器,它集成了16位的三軸加速度傳感器和16位三軸陀螺儀傳感器,可以分別監(jiān)測到模塊的加速度和角速度。通過數(shù)據(jù)融合算法可以很好地解決組合陀螺儀與加速器時間軸之差的問題,它的量程范圍較大,對角速度的感測范圍較為寬泛,數(shù)字運動處理引擎可減少復雜的融合演算數(shù)據(jù)、感測器同步化、姿勢感應等的負荷。通過確定歐拉角的基準軸,定義抬手角度為一步。手握陀螺儀擺臂行走,經(jīng)實驗確定邁出一步手臂擺出的角度范圍并確定閾值,當擺動角度小于設定值并且降下的角度大于閾值,步數(shù)累加,距離等于0.55步數(shù)。這時與上次所存儲的加速度方向比較,若相同則舍棄;若相反則通過計步邏輯計步(此時剛過峰值),對峰值累加可得到運動步伐。由于人體正常抖動、低幅度、手抖或反復搖晃等原因,會對準確計步造成干擾。最后要通過去干擾,即給檢測加閾值和步頻判斷來過濾解決。
將HC-05藍牙串口通信模塊連接到微控制器的串行端口,允許微控制器通過藍牙連接與其他設備通信。模塊本身可以在主模式和從模式下運行,并且可以用于各種應用,例如:智能家居應用、遠程控制、數(shù)據(jù)記錄應用、機器人、監(jiān)控系統(tǒng)等。當藍牙設備與藍牙設備配對連接成功后,可以忽略藍牙內(nèi)部的通信協(xié)議,直接將藍牙當作串口用。當建立連接之后,2個設備共同使用一個通道也就是同一個串口,一個設備發(fā)送數(shù)據(jù)到通道中,另外一個設備便可以接收通道中的數(shù)據(jù)。
藍牙串口通信模塊具有兩種工作模式:命令響應工作模式和自動連接工作模式,在自動連接工作模式下模塊又可分為主(Master)、從(Slave)和回環(huán)(Loopback)三種工作角色。當模塊處于自動連接工作模式時,將自動根據(jù)事先設定的方式連接數(shù)據(jù)傳輸;當模塊處于命令響應工作模式時能執(zhí)行下述所有AT命令,用戶可向模塊發(fā)送各種AT指令,為模塊設定控制參數(shù)或發(fā)布控制命令。通過控制模塊外部引腳(PIO11)輸入電平,可以實現(xiàn)模塊工作狀態(tài)的動態(tài)轉(zhuǎn)換。
本文總體設計程序流程如圖4所示。系統(tǒng)首先開始并初始化,采集信號(溫度數(shù)據(jù)、心電數(shù)據(jù)、步數(shù)與距離數(shù)據(jù)等),并判斷是否檢測到采集的數(shù)據(jù),再通過數(shù)值計算及A/D轉(zhuǎn)換將數(shù)據(jù)通過藍牙無線發(fā)送至服務器端并顯示。
圖4 主程序流程
2.2.1 心率檢測子程序
ADS1292啟動后,ADC初始化并開始采集信息,將檢測到的值經(jīng)過計算并比較后,通過藍牙發(fā)送并顯示數(shù)值。ADS1292心電檢測流程如圖5所示。
圖5 ADS1292心電檢測流程
2.2.2 溫度檢測子程序
LMT70啟動并初始化后,進行采樣并判斷是否接觸物體,再將讀取的溫度值進行模數(shù)轉(zhuǎn)化,最后通過藍牙發(fā)送顯示端顯示。LMT70溫度檢測流程如圖6所示。
圖6 LMT70溫度檢測流程
2.2.3 運動檢測子程序
MPU6050啟動并初始化后,設定所需傳感器的范圍及系統(tǒng)時鐘,檢測人物是否運動,再通過計算獲得所需數(shù)值,最后通過藍牙發(fā)送至顯示端顯示。MPU6050陀螺儀運動檢測流程如圖7所示。
圖7 MPU6050陀螺儀運動檢測流程
本文針對缺乏運動量導致的肥胖問題、老年人的心率問題、運動狀態(tài)監(jiān)測和熱量消耗問題、心率和運動量的測量問題、遠程服務器數(shù)據(jù)顯示問題等,設計一款基于藍牙無線傳輸?shù)闹悄芙】凳汁h(huán),能夠穩(wěn)定采集和記錄使用者的心電信息、體表溫度和運動狀況,并通過藍牙模塊將測量數(shù)據(jù)實時傳送到手機APP以便觀察,起到了通過數(shù)據(jù)指導健康生活的作用。