王彰云
(廣西工業(yè)職業(yè)技術學院,廣西 南寧 530001)
體溫作為人體健康的一個重要指標,人體體溫過高或過低都是不健康現(xiàn)象,如何快速有效地測量人體體溫,是當前研究的熱點。目前常用的人體測溫有水銀體溫計、電子體溫計等設備,而電子體溫計有接觸式體溫計和非接觸式體溫計。自今年新型冠狀肺炎病毒在全球的肆虐蔓延,非接觸式體溫計供不應求。而目前的非接觸式體溫計種類繁多,但是大部分精度不夠,從而影響對健康的判斷。針對這些情況,本文設計了一款基于STM32的人體紅外測溫系統(tǒng),在測量人體溫度后,根據(jù)環(huán)境溫度對所測的人體溫度進行誤差修正,提高了測量的精度。
本文設計主要采用STM32處理器以及紅外溫度傳感器來完成非接觸測溫。紅外測溫的工作原理是傳感器通過接收人體表面輻射的電磁能量,再轉換成對應的溫度數(shù)據(jù),溫度越高,輻射的電磁能量就越多。STM32控制器采集對應溫度數(shù)據(jù),同時通過環(huán)境測溫模塊采集環(huán)境溫度,處理器經過數(shù)據(jù)處理后,將人體溫度顯示在OLED顯示屏上。可根據(jù)按鍵模塊設置溫度的上限值和下限值,超過預設值,報警模塊進行報警。人體測溫系統(tǒng)由:STM32控制器、人體紅外測溫模塊、環(huán)境測溫模塊、OLED顯示屏、按鍵控制模塊及報警模塊組成。如圖1所示。
圖1 人體測溫系統(tǒng)組成框圖
本文選用STM32F103作為測溫系統(tǒng)的微處理器,該處理器采用ARM內核構架,指令精簡,性價比高,處理器響應速度快,自帶有512K字節(jié)的flash和64K的隨機存儲器,有豐富的I/O口,該處理器有待機模式,功耗低。
在該模塊中采用mlx90614紅外溫度傳感器,通過該傳感器監(jiān)測人體溫度,傳感器的體積小,分辨率高,輸出數(shù)字信號,接口簡單,外圍電路少,測量物體溫度范圍-70℃~+380℃。其I2C輸出接口可以直接連接STM32F103的I2C接口。電路如圖2所示。
圖2 mlx90614傳感器接口電路
在環(huán)境測溫模塊中采用一總線的DS18B20溫度傳感器,采集人體所在的環(huán)境溫度。DS18B20體積小,電路簡單,輸出信號為數(shù)字信號,不需外接AD轉換電路,減少了信號傳輸過程中的誤差。環(huán)境測溫電路如圖3所示。
圖3 DS18B20傳感器接口電路
在系統(tǒng)中設計增加了4個獨立按鍵,一個為開啟測溫鍵,另外3個為溫度誤差微調按鍵。OLED顯示屏顯示測量的人體溫度、環(huán)境溫度等數(shù)據(jù)。
軟件按照模塊化進行設計,分成DS18B20溫度采集程序模塊、mlx90614溫度采集程序模塊、按鍵控制程序模塊、OLED顯示程序模塊、報警模塊,每一模塊構成一個.C文件,最后再在主函數(shù)中調用每個模塊。
本文先用水銀溫度計測量水中溫度,同時用DS18B20測量水表面溫度,再用紅外測溫裝置測量水表面溫度,記錄這3個溫度值,接著改變水溫,分別再用上述3種儀器測量對應的溫度值,經過多次測量得到一組數(shù)據(jù),根據(jù)測量數(shù)據(jù)和環(huán)境溫度修正紅外測溫誤差。最后用水銀溫度計和紅外測溫裝置多次測量人體腋窩溫度,經比較分析誤差在0.1℃~0.3℃之間,下一步需經過大量實驗,優(yōu)化溫差修正算法,進一步提高測溫系統(tǒng)的測量精度。