朱洪浪 李林 曾陳萍 董加強 張耀方
摘要:本文以STM32F103單片機為控制芯片,利用MLX90614紅外測溫傳感器和MKB0805脈搏血壓傳感器設計了一款能夠?qū)崟r檢測人體血壓、心率和體溫的多功能健康檢測系統(tǒng)。該系統(tǒng)由人體生理參數(shù)采集、數(shù)據(jù)分析處理、顯示數(shù)據(jù)三部分組成,實現(xiàn)了對人體生理參數(shù)的實時采集顯示和異常生理參數(shù)提醒的功能。
關鍵詞:健康檢測;多功能;STM32F103
中圖分類號:TP3? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)07-0244-02
隨著人們生活水平和質(zhì)量的不斷提高,對自身健康狀況的關注度也愈來愈高,特別是日常的血壓、心率和體溫等生理指標對人體健康十分重要,同時這些生理指標的異常也是某些疾病的前期表現(xiàn),因此對人體生理指標的日常監(jiān)測技術開發(fā)就顯得尤其重要。
近年來,一些學者基于嵌入式技術開發(fā)的智能可穿戴設備不僅可以實現(xiàn)對人體生理指標的實時采集,還能對人體異常生理指標進行提醒。如吳健健等人[1]通過壓電傳感器采集睡眠心率變化,經(jīng)單片機分析后能夠判斷人的心血管健康狀態(tài),從而預警突發(fā)疾病。熊強強等人[2]基于STM32F103單片機設計了一款智能型腕帶式心率檢測儀。武智曉等人[3]通過對90例心動過緩患者的心率水平與血壓水平的相關性進行了研究,發(fā)現(xiàn)血壓與心率有一定的相關性。曾波等人[4]基于灰色系統(tǒng)建模技術實現(xiàn)了人體疾病早期預測預警。上述研究均實現(xiàn)了單一生理指標的采集及疾病預測,但這些研究并未對血壓、心率和體溫等多生理指標進行實時檢測。因此,探索一種能夠?qū)崟r檢測人體血壓、心率和體溫的多功能健康檢測系統(tǒng),具有十分重要的研究意義和實用價值。
本文設計的多功能健康檢測系統(tǒng)采用了低功耗的STM32F103處理芯片,外圍功能模塊包括人體生理參數(shù)采集、數(shù)據(jù)分析處理、顯示數(shù)據(jù)三個部分,實現(xiàn)了對人體體溫、心率、血壓多種生理指標的實時檢測顯示及報警,提高了人們對自身健康狀態(tài)的知曉度,該系統(tǒng)同時也方便了用戶隨時隨地地對自身進行檢查,及時了解自身的健康狀況。
1 方案設計
本健康檢測系統(tǒng)采用模塊化設計法,以STM32F103核心芯片為信息運算處理核心,主要包括體溫模塊、心率血壓模塊、按鍵模塊、OLED顯示模塊、報警模塊,如圖1所示。其中,體溫模塊采用MLX90614紅外測溫傳感器采集人體體溫,經(jīng)放大電路將采集到的微弱溫度信號放大后,由ADC0832轉(zhuǎn)換后給STM32F103單片機,單片機處理后,將體溫信息顯示在OLED顯示屏上。心率血壓模塊采用MKB0805脈搏血壓傳感器采集人體心率值和血壓值,濾去高頻噪聲信號后,將微弱的心率信號和微弱的血壓信號進行放大傳輸給STM32F103單片機,單片機將心率值、血壓值處理后顯示在OLED顯示屏上。按鍵模塊設置了三種按鍵:選擇按鍵、確定按鍵、返回按鍵,選擇按鍵可以對測量功能,如測量體溫、測量心率、測量血壓進行選擇;確定按鍵確定選擇的測量功能,并進入該指標測量顯示界面;返回按鍵返回上一功能界面。報警模塊采用蜂鳴器和LED進行聲光報警,以提醒用戶當前測量指標異常。如體溫(36.0~37.4℃正常、37.4~38.0℃低熱、38.1~41.0℃高熱)、心率40~60次/min過緩、60~100次/min正常、100~140次/min過速)、血壓(高壓:收縮壓140mmHg以上,舒張壓90mmHg以上;低壓:收縮壓90mmHg以下,舒張壓60mmHg以下),這些指標參數(shù)不在設定正常的上下限范圍之內(nèi)時,通過STM32F103單片機控制蜂鳴器鳴叫,同時LED燈被點亮,以達到提醒的效果。根據(jù)不同年齡端、不同性別的用戶,可以設置正常值上下限范圍,可以更好地滿足不同用戶需求。
2 硬件系統(tǒng)設計
基于STM32F103單片機的多功能健康檢測系統(tǒng)原理圖,如圖2所示。
如圖2,紅外測溫模塊和心率血壓模塊所需工作電壓不同,分別連接VCC-3.3(3.3V)和VCC(5V)。紅外測溫模塊的MLX-SCL和MLX-SDA管腳分別連接核心板STM32F103的IO口PA8和PA9。心率血壓模塊的接收數(shù)據(jù)MBK-RX和發(fā)送數(shù)據(jù)MBK-TX分別連接核心板STM32F103的IO口PA2和PA3。MBK0805和MLX90614使用的通信方式分別是串口通信和I2C通信。在MBK0805的通信協(xié)議中規(guī)定一幀數(shù)據(jù)為6個字節(jié),所以程序中要循環(huán)6次才能接收/發(fā)送一幀數(shù)據(jù)。在模塊開始進行監(jiān)測后,使用一個信號量來循環(huán)訪問臨界資源是否到達。在第一組臨界資源到達時,通過對收到的第一個字節(jié)進行判斷,是否是讀取數(shù)據(jù)的格式報文。如果第一個字節(jié)FD,即連續(xù)解析第2字節(jié)到第4字節(jié)的值,分別對應為高壓值(High)、低壓值(Low)、心率值(XinLv)。如圖3所示,采集到的高壓值為High:118mmHg、低壓值Low:70mmHg、心率值XinLv:79次/min。當前測量的高壓值在90~140mmHg,因此屬于正常范圍,不需要進行報警;當前測量的低壓值在60~90mmHg,因此也屬于正常范圍,不需要進行報警;當前測量的心率值在60~100次/min,因此也屬于正常范圍,不需要進行報警。功能按鍵模塊中S1為選擇按鍵、S2為確定按鍵、S3為返回按鍵。
3 軟件系統(tǒng)設計
基于STM32F103單片機的多功能健康檢測系統(tǒng)軟件流程圖如4所示:
多功能健康檢測系統(tǒng)的軟件設計是利用STM32F103移植的UCOS3操作系統(tǒng)進行多任務軟件開發(fā)。本次軟件設計包括三個主要任務模塊:
1)MBK0805心率血壓模塊:負責采集測量人體心率值、血壓值兩個生理參數(shù),將數(shù)據(jù)傳給STM32F103中的MCU進行處理;
2)MLX90614紅外測溫模塊:負責測量人體體溫值,將數(shù)據(jù)傳給STM32F103中的MCU進行處理;
3)OLED數(shù)據(jù)顯示模塊:負責將MCU處理后的數(shù)據(jù)進行顯示,方便用戶進行查看;
4)功能按鍵模塊:負責功能選擇,分別有選擇、確定、返回三個按鍵。
如圖4所示,在對STM32F103、OLED和串口2進行初始化之后,系統(tǒng)啟動也就完成,則之后就可以在初始菜單界面,通過選擇功能按鍵對測量功能進行選擇,如選擇體溫或者心率、血壓的測量功能。被測量采集到之后,就可以通過返回功能按鍵,返回到菜單欄進行其他功能的選擇。在測量體溫時,體溫值偏高或者偏低,經(jīng)過STM32F103單片機的MCU處理之后會在OLED顯示屏上顯示相應體溫值和提示信息;在測量心率值、血壓值時,血壓又分為高壓和低壓,OLED顯示屏上會一次顯示出高壓值、低壓值、心率值的測量值。
4 結語
本文基于STM32F103單片機的多功能健康檢測系統(tǒng)設計提出了一個模塊化的設計方案,該多功能健康檢測系統(tǒng)主要由體溫、心率和血壓、顯示模塊組成。通過STM32F103單片機將體溫、心率、血壓等多種指標參數(shù)集成在一起并進行顯示,實現(xiàn)了對人體生理參數(shù)的實時采集顯示和異常生理參數(shù)提醒的功能,進一步幫助人們及時掌握個人身體健康狀況,對疾病進行早發(fā)現(xiàn)早預防。主要功能包括:
1)通過按鍵可以選擇對應的檢測指標,如選擇測體溫或者心率和血壓;
2)選擇體溫檢測時,通過紅外測溫的方式,測得人體體溫,并將體溫信息顯示在OLED顯示屏上;
3)選擇心率和血壓檢測時,將心率血壓傳感器綁在手腕上進行檢測,經(jīng)過測量,隨即在OLED顯示上顯示出對應的血壓值和心率值信息。
參考文獻:
[1] 吳健健,陳韋晉,章婷婷,等.基于智能床墊的心率檢測系統(tǒng)[J].合肥工業(yè)大學學報(自然科學版),2020, 43(3):330-334,388.
[2] 熊強強,尹建平,姚衛(wèi)國,等.一種智能型腕帶式心率檢測儀的設計與實現(xiàn)[J].國外電子測量技術,2020,39(2):88-92.
[3] 武智曉,黎明江,張靜,等.心動過緩患者心率水平與血壓水平相關性研究[J].海南醫(yī)學,2012(7):32-34.
[4] 曾波,劉思峰,白云,等.基于灰色系統(tǒng)建模技術的人體疾病早期預測預警研究[J].中國管理科學,2020,28(1):144-152.
【通聯(lián)編輯:張薇】