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