王長(zhǎng)輝,鄒思奇,段佳明,楊世原,謝印慶
(大連理工大學(xué)城市學(xué)院,遼寧 大連 116600)
近幾年受新冠疫情的影響,測(cè)溫計(jì)在人們的生活中使用頻繁。傳統(tǒng)的體溫計(jì)在測(cè)溫時(shí)不僅耗時(shí)長(zhǎng),而且衛(wèi)生狀況、測(cè)量精確程度也難以保證。在這種情況下,紅外測(cè)溫計(jì)的作用就顯得至關(guān)重要,它可以通過(guò)無(wú)接觸式紅外測(cè)溫大大提高測(cè)溫的精確性,并減少病毒感染概率,在疫情防控期間能夠發(fā)揮很大的作用。
本文設(shè)計(jì)了一款具有無(wú)接觸式測(cè)溫報(bào)警功能的測(cè)溫計(jì)。以STM32芯片作為微控制器實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理,采用了紅外傳感器、蜂鳴器、溫度傳感器實(shí)現(xiàn)無(wú)接觸測(cè)溫報(bào)警功能,通過(guò)顯示器LCD1602顯示溫度值,可滿足更多條件下的測(cè)溫需求。
本系統(tǒng)硬件由STM32芯片、電源模塊、MLX90614紅外傳感器模塊、復(fù)位電路模塊、LCD1602顯示屏模塊、報(bào)警模塊、按鍵模塊、DS18B20溫度檢測(cè)模塊組成。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
(1)主控芯片
STM32F103微控制器以ARM Cortex-M3為核心[1]。芯片內(nèi)部包含2個(gè)12位的數(shù)模轉(zhuǎn)換器、9個(gè)通信接口、3個(gè)16位定時(shí)器等,相比51單片機(jī)具有強(qiáng)大性能、微小的內(nèi)核尺寸、迅捷的系統(tǒng)調(diào)試、變通的硬件配置等特點(diǎn),所以在市場(chǎng)上普及率較高。
(2)電源模塊
采用AMS1117交換式電源為STM32F103提供所需的3.3 V工作電壓,為L(zhǎng)CD1602顯示屏提供所需的5 V工作電壓。AMS1117是交換5 V至3.3 V電壓的線性穩(wěn)壓器,能夠滿足測(cè)溫計(jì)的基本工作需求。
(3)紅外傳感器模塊
采用MLX90614紅外溫度傳感器模塊實(shí)現(xiàn)無(wú)接觸式測(cè)量,MLX90614包含先進(jìn)的低噪音放大器、17 b的ADC,還有性能強(qiáng)大的DSP器件[2],存在SMBus和PWM兩種輸出方式,具有響應(yīng)速度快、準(zhǔn)確性強(qiáng)、靈活性高等特點(diǎn)。
(4)復(fù)位電路模塊
本系統(tǒng)的STM32是通過(guò)給予一個(gè)低電平來(lái)進(jìn)行復(fù)位。只有按下復(fù)位鍵產(chǎn)生一段連續(xù)的低電平時(shí)才能成功復(fù)位,測(cè)溫槍才能夠重復(fù)測(cè)溫。
(5)LCD1602顯示屏模塊
本系統(tǒng)所用的LCD1602由LCD、HD44780、HD44100組成,具有面積小、待機(jī)能力強(qiáng)、顯示內(nèi)容多變、重量小等優(yōu)點(diǎn)[3]。在生活和工業(yè)領(lǐng)域都會(huì)涉及顯示屏模塊,其外圍電路配置簡(jiǎn)單、價(jià)格實(shí)惠、性價(jià)比高。
(6)報(bào)警電路模塊
報(bào)警功能通過(guò)蜂鳴器模塊實(shí)現(xiàn),該器件需要引入3個(gè)管腳,給蜂鳴器VCC提供5 V直流電源;DATA接入芯片PA5引腳,GND接地。預(yù)先規(guī)定正常體溫?cái)?shù)值,一旦紅外傳感器測(cè)得體溫不在正常數(shù)值范圍內(nèi)時(shí),蜂鳴器報(bào)警,目標(biāo)溫度異常,進(jìn)而快速排查出體溫異常的目標(biāo)。本系統(tǒng)所用的蜂鳴器是結(jié)構(gòu)一體化的元件,采用直流電壓供電。振蕩器通過(guò)音頻信號(hào)產(chǎn)生電流然后通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)。蜂鳴器膜片在電磁線圈和磁鐵的相互作用下,持續(xù)性振動(dòng)發(fā)聲,直至電流信號(hào)消失,聲音停止[4]。
(7)按鍵電路模塊
設(shè)置按鍵控制只需要占用一個(gè)I/O口。通過(guò)判斷按鍵是否按下,傳導(dǎo)I/O口將相應(yīng)從低電平變化為高電平,使得紅外傳感器工作,所測(cè)得的溫度通過(guò)LCD1602顯示屏顯示。當(dāng)下次再按下按鍵時(shí),系統(tǒng)自動(dòng)復(fù)位并開(kāi)始測(cè)量下一目標(biāo)的溫度,原理簡(jiǎn)單。
(8)溫度檢測(cè)模塊
通過(guò)使用DS18B20溫度傳感器[5-6]直接讀取測(cè)量溫度,該傳感器需要引出3個(gè)管腳與單片機(jī)相接,測(cè)量溫度范圍為-55~125 ℃。本系統(tǒng)中DS18B20溫度傳感器的DQ端口與STM32的PB7端口相連。
程序設(shè)計(jì)主要從以下幾個(gè)部分進(jìn)行:運(yùn)行程序、LCD1602顯示程序、MLX90614紅外測(cè)溫程序。這些程序互相配合維持著系統(tǒng)的正常運(yùn)行。
本系統(tǒng)的軟件實(shí)現(xiàn)流程為:首先程序開(kāi)始運(yùn)行,此時(shí)對(duì)整個(gè)系統(tǒng)進(jìn)行初始化,包含STM32單片機(jī)I/O端口、MLX90614紅外傳感器、DS18B20溫度檢測(cè)模塊、LCD1602顯示屏等,保證數(shù)據(jù)的測(cè)量不會(huì)因?yàn)殄e(cuò)亂而影響系統(tǒng)工作。然后系統(tǒng)判斷按鍵是否按下,如果沒(méi)有則返回上一步;如果有按鍵按下則判斷是否收到測(cè)溫指令,如果接收到測(cè)溫指令,則開(kāi)始紅外測(cè)溫,反之則重新判斷按鍵是否按下。最后系統(tǒng)計(jì)算溫度值,判斷溫度值是否異常,如果異常,蜂鳴器報(bào)警,否則直接計(jì)算出溫度數(shù)值并通過(guò)LCD1602模塊顯示。主程序流程如圖2所示。
圖2 主程序流程
本文測(cè)溫槍所用到的LCD1602有16條引腳,需要給其VDD輸入5 V電壓來(lái)維持其工作,其RS引腳是命令/數(shù)據(jù)選擇的引腳,需要接I/O。是否選擇命令或數(shù)據(jù)是根據(jù)RS口輸入的電平高低來(lái)決定LCD1602的基本操作大概分為4種:讀狀態(tài)、讀數(shù)據(jù)、寫(xiě)命令、寫(xiě)數(shù)據(jù)。LCD1602工作原理:首先需要給其一個(gè)輸入命令或數(shù)據(jù),設(shè)置其顯示模式、輸入模式[7-8];然后初始化LCD1602之前所得數(shù)據(jù);最終通過(guò)新設(shè)置字符位置,將當(dāng)前所測(cè)數(shù)據(jù)更改字符位置輸出到顯示屏上。
在MLX90614中需要先進(jìn)行初始化,然后通過(guò)微控制器STM32按照SMBus協(xié)議對(duì)存儲(chǔ)在RAM里的數(shù)據(jù)進(jìn)行讀取,再通過(guò)公式(T=RAM(tempH:tempL)×0.02-273.15)將讀取的數(shù)據(jù)轉(zhuǎn)換成攝氏溫度[9]。
在當(dāng)下疫情形勢(shì)依然嚴(yán)峻的情況下,測(cè)溫槍的需求量處于持續(xù)增長(zhǎng)狀態(tài)[10]。為此,本文設(shè)計(jì)了一個(gè)簡(jiǎn)單的人體紅外測(cè)溫槍?zhuān)軐?shí)現(xiàn)無(wú)接觸式測(cè)溫,不僅精確度高,還能對(duì)體溫異常目標(biāo)進(jìn)行報(bào)警。本測(cè)溫槍的測(cè)溫范圍可達(dá)-55~125 ℃,可以應(yīng)用到工業(yè)領(lǐng)域測(cè)量危險(xiǎn)的高溫儀器,以降低風(fēng)險(xiǎn)出現(xiàn)的概率。
物聯(lián)網(wǎng)技術(shù)2022年12期