歐雪霞,葉彩新
(河源理工學校,廣東河源, 517000)
新時代生活節(jié)奏提升給人們生活帶來了極大壓力,吸煙、酗酒、熬夜等不良嗜好致使多數(shù)人身體機能下降,加之缺乏運動患病幾率大幅增加。鑒于我國醫(yī)療體系尚不完善,用于日常健康監(jiān)測的便攜式家庭醫(yī)療設備稀缺。據(jù)相關(guān)數(shù)據(jù)顯示部分慢性疾病體現(xiàn)出年輕化趨勢且慢性疾病在發(fā)病前不會有嚴重不適感,多數(shù)體現(xiàn)在各種健康指數(shù)的緩慢變化,如心率、血壓、體溫等,即生物學指標異常階段。得益于智能電子技術(shù)及信息技術(shù)發(fā)展,諸多新技術(shù)廣泛運用于醫(yī)療領域,集成多種檢測功能的健康監(jiān)測系統(tǒng)則使健康指標檢測變得更為簡便。采用集成傳感器的健康監(jiān)測系統(tǒng)能對血壓、心率和體溫等進行實時檢測。使用者可采用該系統(tǒng)實現(xiàn)居家自行自身健康指標檢測,發(fā)現(xiàn)數(shù)據(jù)異常后可及時就醫(yī),可有效實現(xiàn)對慢性疾病的預防和重大緊急疾病的預測,對使用者的健康監(jiān)測和疾病預判具有較大的積極輔助作用。
該系統(tǒng)是由單片機核心模塊、心率及血壓監(jiān)測傳感器模塊、顯示模塊等構(gòu)成。該健康監(jiān)測控制系統(tǒng)采用XGZP6847壓電式氣壓傳感器檢測心率、舒張壓、收縮壓。通過LED顯示屏顯示出經(jīng)測量轉(zhuǎn)換后數(shù)據(jù),并通過無線通信模塊上傳至物聯(lián)網(wǎng)平臺。物聯(lián)網(wǎng)平臺可存儲歷史數(shù)據(jù),擁有相關(guān)接口的用戶可通過網(wǎng)頁或APP查看歷史數(shù)據(jù)或?qū)崟r數(shù)據(jù)。系統(tǒng)總體設計框圖如圖1所示。
圖1 健康監(jiān)測系統(tǒng)框圖
主控芯片選用STM32F103微處理器作核心控制單元,用以實現(xiàn)讀取氣壓檢測模塊傳入數(shù)據(jù)、驅(qū)動放氣閥及加壓氣泵、接收傳感器信息后控制WiFi模塊上傳數(shù)據(jù),驅(qū)動顯示模塊顯示數(shù)據(jù)并提示使用者。氣壓檢測模塊選用氣壓傳感器配合加壓氣泵及放氣閥,通過氣壓感應式血壓檢測原理,控制加壓與放氣,結(jié)合主控芯片內(nèi)定時器功能,實現(xiàn)對血壓及心率的檢測。顯示模塊采用LCD1602顯示待檢測、檢測過程及檢測完畢界面,并對檢測所得數(shù)據(jù)進行顯示。無線通信則采用ESP8266WiFi模塊將所需數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺,將數(shù)據(jù)接入云端。實現(xiàn)歷史數(shù)據(jù)存儲,利于專業(yè)醫(yī)療人員對受測者血壓變化分析;相關(guān)用戶可查看當前、歷史受測者數(shù)據(jù),判斷是否需要系統(tǒng)治療或醫(yī)療介入。
選用STM32F103系列單片機作為主控制芯片,該單片機采用了ART自適應實時存儲加速器,以ARM Cortex M4為內(nèi)核的32位微處理器。其硬件兼容性好,代碼效率高,數(shù)據(jù)傳輸快,定時器、ADC等內(nèi)部資源豐富。單片機模塊使用8MHz外部晶振,預留標準JTAG下載口,通過跳線帽控制芯片管腳BOOT0與BOOT1,以控制串口下載。預留復位按鈕,設置電源指示燈,電源芯片使外部供電接口兼容3.3V和5V供電電壓,預置后備電池接口,模塊將微控制單元內(nèi)共32個通用輸入輸出接口引出與外部連接。最小系統(tǒng)核心電路引腳接線如圖2所示。
圖2 單片機引腳圖
STM32F103C8T6是一款基于ARM Cortex-M3內(nèi)核的32位微控制器,封裝方式為LQFP48,F(xiàn)lash程序存儲容量為64KB,兩組ADC數(shù)模轉(zhuǎn)換共12路通道,4個16位定時器,3個串口通信通道,2個I2C通道。系統(tǒng)內(nèi)部時鐘最高可到72MHz,工作電壓3.3V,處理速度快,內(nèi)部資源和GPIO接口較多、功耗較低、性價比高。
復位電路用于系統(tǒng)運行出現(xiàn)故障時、斷點導致程序無法正常運行時來重新啟動系統(tǒng)程序。通過增加復位電路,觸發(fā)復位按鍵之后,程序?qū)念^開始運行,保證故障后系統(tǒng)可迅速恢復運行狀態(tài)。
家用電子血壓測量主要有光電感應和氣壓感應兩種形式,光電感應式利用光電效應,比對接收管與發(fā)射管電壓數(shù)據(jù)獲得差值,對數(shù)據(jù)曲線分析得到血壓數(shù)據(jù)。氣壓感應式產(chǎn)品的工作原理是通過向氣囊充氣,使氣囊壓力達到橈動脈消失,再次升壓后以恒速緩慢放氣,通過測量得出數(shù)據(jù)變化曲線,分析該氣壓數(shù)據(jù)曲線即可得出血壓數(shù)據(jù)。本設計選用數(shù)據(jù)更為可靠的氣壓感應式測量方式。心率測量則通過氣壓感應擦混感器通過測量加壓后緩慢放氣過程中脈搏所產(chǎn)生的氣壓值跳變之間的時間間隔,利用主控模塊定時器資源計算得到平均心率。
選擇XGZP6847作為氣壓檢測傳感模塊,適用于各種氣壓檢測且模塊輸出信號為模擬信號,主控單元僅需使用一個開啟ADC復用功能的接口讀取傳感器數(shù)值。因輸出信號為模擬信號,需在程序內(nèi)設置算法,根據(jù)所傳入數(shù)值計算出血壓數(shù)值。氣壓模塊控制電路如圖3所示。體溫測量功能由DS18B20溫度測量模塊實現(xiàn)。測量時將DS18B20檢測棒放入血壓檢測袖帶中,與被測人員皮膚接觸,測量出體溫。體測量電路如圖4所示。
圖3 血壓及心率監(jiān)測模塊電路圖
圖4 體溫測量電路圖
WiFi 模塊采用的ESP8266模塊開發(fā)環(huán)境好、通信方式簡便。使用通信協(xié)議為串口通信協(xié)議,微控制器可直接通過串口通信方式與模塊通信。該模塊由AT指令控制,發(fā)送相應的指令配置模塊可打開內(nèi)置AP熱點或連接WiFi。對于不同頻率信號,模塊能自行偏置適應,保證信號傳輸穩(wěn)定。該模塊使用3.3V供電,功耗較低。模塊串口通信接口連接微控制器,通過串口通信得到AT指令后,芯片內(nèi)部固件執(zhí)行指令對應操作。工作時,為維持芯片穩(wěn)定工作其余引腳需進行設置。
無線通信電路部分使用WiFi模塊與微控制器之間通過串口連接后,將健康監(jiān)測控制系統(tǒng)內(nèi)數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺。ESP8266模塊通過與主控模塊中PA2、PA3串口通信引腳相連,實現(xiàn)信息交換。上電啟動后,主控模塊通過發(fā)送AT指令控制ESP8266模塊,使其連接至預設熱點,通過熱點接入互聯(lián)網(wǎng),實現(xiàn)與物聯(lián)網(wǎng)平臺通信。無線通信電路如圖5所示。
圖5 WiFi模塊電路原理圖
顯示電路選擇LCD1602顯示屏模塊,LCD1602顯示屏以英文縮寫顯示受測者舒張壓、收縮壓及體溫等信息。LCD1602模塊內(nèi)置ASCII碼字庫,與主控模塊之間通過并行數(shù)據(jù)傳輸進行通信。測試時,主控模塊程序判斷檢測階段、控制LCD1602顯示出各階段界面,完成健康監(jiān)控系統(tǒng)的數(shù)據(jù)顯示功能,圖6為顯示電路原理圖。
圖6 顯示電路原理圖
血壓檢測采用了氣壓檢測方案,選擇XGZP6847作為檢測傳感器,需設計加壓電路與放氣電路配合其使用。氣壓模塊驅(qū)動電路如圖7所示。檢測準備階段,若檢測按鍵被觸發(fā),則加壓氣泵與放氣閥同時通電,啟動加壓過程。加壓過程中放氣閥門關(guān)閉,加壓氣泵將空氣泵入氣囊中,提高氣囊壓力。壓力提升至橈動脈消失后再次提升,隨后進入血壓及心率檢測階段。檢測階段加壓氣泵停止供電,放氣閥通電。放氣閥門維持在關(guān)閉狀態(tài),加壓氣泵停止泵入空氣,主控模塊開始檢測轉(zhuǎn)換讀取的氣壓數(shù)據(jù),此時空氣僅能通過預置出氣口緩慢放氣。
圖7 氣壓模塊驅(qū)動電路圖
檢測完畢后,加壓氣泵與放氣閥同時停止供電。此時,放氣閥門打開,氣囊內(nèi)空氣通過放氣閥排出,壓力迅速下降。主控模塊控制顯示模塊顯示相應檢測數(shù)據(jù),并將數(shù)據(jù)送入ESP8266模塊上傳至物聯(lián)網(wǎng)平臺。
主程序是整個程序設計的最終執(zhí)行部分,開始執(zhí)行主程序內(nèi)代碼時,通過調(diào)用初始化函數(shù),完成初始化模塊操作。模塊初始化完成后,系統(tǒng)進入穩(wěn)定工作狀態(tài)。調(diào)用相應函數(shù)判斷按鍵是否觸發(fā),執(zhí)行數(shù)據(jù)采集任務,根據(jù)不同的工作階段控制顯示屏顯示相應界面,在檢測結(jié)束后與ESP8266通信,將數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺。健康監(jiān)測控制系統(tǒng)主程序流程圖如圖8所示。
圖8 主程序流程圖
主控模塊開啟ADC復用功能,通過連接氣壓傳感器,讀取出氣壓傳感器模擬信號。數(shù)據(jù)采集分為4個階段:等待檢測階段、檢測準備階段、檢測階段及檢測完畢階段。系統(tǒng)處于等待檢測階段時,加壓氣泵與放氣閥斷電;處于檢測準備階段時,加壓氣泵通電加壓,放氣閥通電使空氣無法逸出;檢測時,加壓氣泵斷電,停止加壓,放氣閥通電,檢測系統(tǒng)通過預設泄氣口緩慢放氣;檢測完畢后,加壓氣泵與放氣閥斷電,空氣通過放氣閥排出,檢測系統(tǒng)卸壓。
由于氣壓傳感器受周圍氣壓影響,在未加壓情況下仍會有讀數(shù)。此時需將產(chǎn)生的數(shù)據(jù)偏移量修正。觸發(fā)啟動檢測按鍵后,系統(tǒng)持續(xù)加壓。當氣壓加至185mmHg以上時,系統(tǒng)進入檢測階段。若檢測到數(shù)據(jù)發(fā)生變化,且變化值超過一定數(shù)值,則表明讀取到有效數(shù)值。通過大量試驗數(shù)據(jù)所得,在壓力為90~180mmHg之間,橈動脈脈搏明顯,產(chǎn)生氣壓跳變值較大,適合心率檢測。因此,選擇此區(qū)間檢測心跳間隔,通過定時器標志位計算出心跳間隔時間,對其進行數(shù)據(jù)處理后得到平均心率值。一段時間內(nèi)未檢測到有效數(shù)據(jù),系統(tǒng)開始計算心率平均值,并處理舒張壓數(shù)值。處理數(shù)據(jù)后,系統(tǒng)進入檢測完成階段,顯示屏顯示最終檢測數(shù)據(jù)。血壓讀取過程程序流程如圖9所示。
圖9 血壓讀取程序流程圖
本設計中ESP8266模塊采用AT指令工作模式。程序初始化時,打開串口通信,將波特率設置為115200,隨后,初始化ESP8266模塊。通信建立后,通過AT指令,使WiFi模塊連接至預設熱點。接入熱點并獲取IP地址,可連接至互聯(lián)網(wǎng)后,WiFi模塊將設備接入物聯(lián)網(wǎng)平臺。根據(jù)平臺接入?yún)f(xié)議及MQTT標準數(shù)據(jù)傳輸協(xié)議,WiFi模塊將持續(xù)發(fā)送心跳包至物聯(lián)網(wǎng)平臺。當系統(tǒng)完成數(shù)據(jù)檢測,進入檢測完成階段,WiFi模塊將所測數(shù)據(jù)發(fā)送至物聯(lián)網(wǎng)平臺。當此函數(shù)執(zhí)行時,主控系統(tǒng)將調(diào)用填充數(shù)據(jù)函數(shù)。填充數(shù)據(jù)函數(shù)將所需發(fā)送的數(shù)據(jù)名及數(shù)據(jù)量填充入數(shù)組中,并執(zhí)行基于MQTT協(xié)議規(guī)定編寫的封包函數(shù),生成數(shù)據(jù)包。數(shù)據(jù)包生成完畢,主控通過串口通信發(fā)送命令至ESP8266模塊,使模塊進入準備發(fā)送模式,隨后,將數(shù)據(jù)包遞入模塊中,完成數(shù)據(jù)傳輸。模塊具體流程圖如圖10所示。
圖10 WiFi模塊通信流程圖
基于氣壓式血壓檢測原理,使用壓電式氣壓傳感器及溫度傳感器,完成對血壓、心率及體溫數(shù)據(jù)采集,完成了健康監(jiān)測控制系統(tǒng)設計。硬件電路采用STM32F103微控制器作為健康監(jiān)測控制系統(tǒng)的主控模塊,完成數(shù)據(jù)采集的同時完成對氣壓檢測驅(qū)動模塊、顯示模塊、無線通信模塊及提示電路的控制及驅(qū)動;氣壓傳感器獲取的模擬信號經(jīng)電路傳輸及微處理器ADC功能采集數(shù)據(jù)。經(jīng)數(shù)據(jù)處理消除大氣壓力引起的漂移。心率檢測通過血壓測量過程中脈搏引起的壓力值跳變檢測,亦需根據(jù)數(shù)據(jù)進行算法優(yōu)化。經(jīng)算法優(yōu)化后,受測者使用設備測量同時切脈測量,切脈所得心率基本與測量計算數(shù)值相符。結(jié)合物聯(lián)網(wǎng)技術(shù)、使用WiFi模塊將數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺,實現(xiàn)了數(shù)據(jù)存儲、數(shù)據(jù)可視化及遠程監(jiān)控。對提高家用醫(yī)療設備智能化及物聯(lián)網(wǎng)化具有一定參考價值。