董旭,馬友杰,朱龍飛,張存杰,謝颯
(鄭州西亞斯學院 電子信息工程學院,河南 鄭州 451150)
2019年底新冠肺炎疫情暴發(fā),短時間內(nèi)遍及全球,疫情傳播迅速,嚴重危害人們的身體健康。被感染的顯著特征就是體溫度升高,因此測量體溫是否異常,是確認是否被感染的常見方法。不論是工作還是學習,或者進入超市都要出示健康碼并進行體溫檢測。溫度檢測可以有效地確認是否被感染,以便防止疫情擴散。我國在治理期間,在各個崗口對進出的人員進行體溫測量。然而測溫必須人人配合,帶來諸多不便,而且需要較多人力去落實工作,在人流量比較大的場所工作格外辛苦,所以就需要非接觸式的紅外體溫測量來減少任務量,然而成熟的電子裝置價格昂貴,在很多地方并不能普及,因此該項目設計制作一套成本較低的裝置,此裝置可以安裝在圖書館,教室,餐廳等封閉的公共資源環(huán)境的門禁上。
如圖1所示,該疫情防控系統(tǒng)由MLX90614 紅外溫度傳感器、舵機、LCD1602 顯示模塊、蜂鳴器模塊以及52 單片機組成。
圖1 系統(tǒng)整體框圖
因為該單片機擁有低功耗的功能,不需要高的電壓,正常5 伏電壓就可以驅動,所以選用該單片機。MLX90614 紅外溫度傳感器、舵機驅動模塊、LCD1602 顯示模塊均與單片機相連接,經(jīng)過單片機的處理,輸出需要傳輸?shù)拿}沖信號達到控制各個模塊的任務,各個模塊一起運行就可達到用溫度控制門的開閉。
紅外溫度傳感器通過測量人的體溫輸入到單片機里,通過該芯片的運算與正常溫度范圍的比較,然后輸出脈沖信號給舵機,由舵機來控制門的打開或關閉,這樣就可以隔離非正常體溫的人群了。
疫情防火墻的設計采用了52 單片機,這款單片機雖然比較老式,但性價比高,應用范圍廣。單片機的最小系統(tǒng)由4 個模塊組成,使系統(tǒng)能夠正常運行,內(nèi)部的下載電路能讓設計者進行重復程序下載操作。串行端口的存在使單片機具有良好的通信功能,能進行模塊間的數(shù)據(jù)傳輸。如圖2所示,該模塊處理速度相比于同類型單片機具有速度快的優(yōu)點,解決了許多嵌入式控制問題,易于使用。
圖2 STC89C52 單片機
溫度傳感器有接觸式傳感器和非接觸式傳感器。由于接觸式傳感器必須與儀器和被測物體接觸并達到熱平衡,以便獲取背面物體的溫度,并且對環(huán)境溫度的干擾很敏感;另一方面,此種操作可能會影響疫情的二次傳播,非接觸式不用與被測物體接觸而且響應時間更短,使用起來更安全方便,綜合考慮之后選用MLX90614,如圖3所示,該模塊具有體積小,易集成且精度高的優(yōu)點。MLX90614 紅外溫度傳感器模塊誤差穩(wěn)定在±0.02 ℃,這極大地減小了本次設計的誤差,且工作電壓為5 V 直接可以和單片機相連。需要注意的是:想測量溫度的話,必須使兩個物體達到熱平衡,這樣才能更加準確的測量出它的溫度,局部形成的溫差也會對測量目標的溫度造成影響,因此使用的時候要盡量保證避免這些情況的出現(xiàn),這樣才能得到更加準確的結果。使用該模塊不能在過高的環(huán)境下使用,這樣會損壞該模塊。
圖3 紅外傳感器模塊
MLX90614 紅外測溫模塊與單片機之間通信的方式有相同之處,跟IIC 通信方式很類似但又不全是IIC,它被叫作SMBus。這種通信方式需要使用兩個信號線進行通信,一條是時鐘雙向信號線,一條是數(shù)據(jù)線,它允許CPU 與各種外接器件以串行方式進行通信和交換信息。一方面,可以提高傳輸速度;另一方面,可以減少設備數(shù)量,避免其他元器件,長時間訪問該模塊,以便更高效地處理數(shù)據(jù)。不論這個接口有沒有與單片機進行連接,都不會對模擬效果產(chǎn)生任何影響。采集到的環(huán)境溫度數(shù)據(jù)能夠存儲在006H 地址存儲設備中,把采集到的測量目標溫度數(shù)據(jù)存儲在007H 地址存儲設備中。如果使用存儲在RAM 地址中的數(shù)據(jù)計算下面等式,這樣就得到了周圍的環(huán)境溫度和需要測試目標的溫度。
Tomax:設定的測量物體溫度上限;Tomin:設定的測量物體溫度下限;Ta:即環(huán)境溫度范圍。
溫度上限的計算方法:
Tomax=100×(Tomax+273.15),將得到的數(shù)值存入000H 地址中。
測量溫度下限計算方法如下:
Tomin=100×(Tomin+273.15),將得到的數(shù)值存入001H 地址中。
該項目設計通道的打開和關閉采用的是sg90 舵機。如圖4所示,Sg90 舵機引出三條不同的線分別是信號線,電源線,接地線。
圖4 舵機驅動模塊
信號線直接與單片機的P 口連接進行通信。通過20 ms的周期內(nèi)不同的占空比來控制舵機的運行,該信號一般的脈寬為0.5 ms~ 2.5 ms,對應于從零開始線性變化的方向盤轉動直到180°。如果給該舵機設定恒定的脈沖寬度,輸出軸保持恒定的角度,無論外部扭矩怎么隨意變化,新匹配位置的角度都不會改變,直到接收到不同寬度的脈沖信號才發(fā)生變化,才會改變新匹配位置的角度,在舵機的內(nèi)部有一個產(chǎn)生周期為20 ms,寬度為1.5 ms 基準信號的電路。它和一個將基準信號與外部信號進行比較的比較器進行對比,進而確定轉動的方向和幅度,從而產(chǎn)生準確的轉動信號??刂齐娐吩谛盘柧€上接收相應的PWM 控制信號,進而控制電機轉動。發(fā)動機驅動一系列齒輪、制動器并傳送到輸出方向盤。控制位置反饋的電位器與控制舵機輸出轉動的地方相連,當想讓舵機轉動的時候,通過調節(jié)旋鈕可以改變反饋電位器進而會產(chǎn)生控制舵機轉動的占空比,舵機的控制部分會根據(jù)舵機的狀況不同決定它運行的情況。單片機通過定時器及中斷產(chǎn)生不同的占空比控制舵機轉動的角度,進而控制通道的打開和關閉。當給入不同的占空比時舵機的轉動角度也不同,不同占空比時舵機轉動的角度如表1所示。
表1 高電平時間對應的舵機轉動角度
該設計使用易于使用的LCD1602 模塊。如圖5所示,該液晶模塊比傳統(tǒng)的屏幕更輕便,低功耗,與其他顯示器相比,LCD1602 的功耗主要消耗在內(nèi)部電極和驅動上,因此比其他顯示器消耗的功率要少得多,可以直接連接到單片機不外加驅動,LCD1602 液晶顯示模塊最多可顯示2 行16 個漢字。
圖5 顯示模塊
該項目使用蜂鳴器作為報警模塊,如圖6所示,這款器件在生活中非常常用,在飛機和手機等設備應用廣泛。如果要使蜂鳴器發(fā)出報警聲,那么單片機就需要一個低電平的信號元器件的體積很小,但聲音很大,當元器件松動的時候不會使整個系統(tǒng)產(chǎn)生較大的影響。
圖6 蜂鳴器報警模塊
在單片機最小系統(tǒng)中,其主要部分有按鍵電路,主要由按鍵開關所組成,如圖7所示,當按鍵按下的時候,單片機的引腳由高電位變成低電位實現(xiàn)對系統(tǒng)的輸入。
圖7 按鍵電路
如圖8所示,紅外識別模塊初始化后開始檢測溫度,把溫度數(shù)據(jù)傳送給單片機,經(jīng)過單片機和正常溫度的比較和處理,當行人通過且行人的體溫正常時舵機保持不變,當行人的體溫異常時,舵機轉動通道關閉過一段時間,再恢復打開狀態(tài)??梢远x個角度的變量來控制舵機轉動的角度,需要注意的是:該舵機的運行周期不能超過20 ms。
圖8 軟件流程圖
當外接顯示器時中斷會打斷舵機的運行,導致單片機無法生成一個周期的波形信號,舵機就沒辦法正常運轉。當時考慮過換用更高速率的單片機,這樣處理數(shù)據(jù)運算的能力肯定會提高,液晶顯示器打斷舵機的運行時間會變得非常小,甚至可以忽略不計。后來還嘗試通過電容濾波,把混亂的頻率給過濾掉,都不能達到滿意的效果。該項目是當遇到行人的溫度過高時關閉通道如果行人溫度正常的情況下,舵機可以不用運行,后來改變程序的執(zhí)行方式,當檢測到行人溫度異常的時候,才開始舵機的初始化,當通道關閉后,舵機便不再運行,等下次檢測到人體溫度異常的時候,舵機再次運行。于是先進行了舵機控制信號的調試,發(fā)現(xiàn)接上舵機后液晶顯示亂碼,用示波器測單片機舵機引腳的信號輸出,發(fā)現(xiàn)信號輸出正常,但是接上舵機后發(fā)現(xiàn)該引腳信號輸出混亂,測量各個部位的信號變化以及電壓變化。發(fā)現(xiàn)當座機運行的時候,單片機的電壓會被整體拉低,這樣很明顯就因為電壓不足導致的,經(jīng)過測試得出,當輸入信號為5 V,0.6 A 的情況下,系統(tǒng)運行正常。經(jīng)過多次的實驗和測試,系統(tǒng)終于可以正常運行了。在系統(tǒng)運行的時候還發(fā)現(xiàn)液晶顯示模塊有背光,但是沒有顯示。然而在仿真的情況下卻一切正常,經(jīng)過查閱資料,發(fā)現(xiàn)是對比度的問題。因為前期的時候并沒有對屏幕的亮度進行調節(jié),后來加了個滑動變阻器,控制液晶屏幕的亮度這樣就可以清楚地顯示出內(nèi)容了,如圖9所示。
圖9 調試圖片
該項目制作成本較低,此裝置可以安裝在圖書館,教室,餐廳等封閉的公共資源環(huán)境的門禁上。該裝置原理是通過紅外裝置測得人們的體溫的,把信號反饋給單片機,單片機對信號做出比較,如果該體溫符合人們的正常體溫則控制門禁打開。也就是說只有體溫正常的人通過,此裝置才會打開,人們才可以進入,這樣就有效隔離了發(fā)熱的病人,更好地保證了群眾的健康。