許崇彩,高海鶴,尹多多
(1.宿遷學(xué)院,江蘇宿遷,223800;2.宿遷學(xué)院產(chǎn)業(yè)技術(shù)研究院,江蘇宿遷,223800)
市面上有許多的人員出入管理系統(tǒng),但它們的功能相對來說過于單一,有的出入系統(tǒng)在操作過程中需要用戶完成大部分復(fù)雜操作,比如需要人工來訪登記,并出示相關(guān)證件、健康碼和行程碼以備查驗,這一點不但使得疫情防控效率降低,而且耗費(fèi)了大量的人力物力資源。同樣,繁瑣的流程使得出入口人員的進(jìn)出不流暢,從而引發(fā)人員聚集、耽誤行程、浪費(fèi)時間等問題。再后來出現(xiàn)了紅外感應(yīng)式出入管理系統(tǒng),此系統(tǒng)打破了原始系統(tǒng)的繁雜程序,使得出入管理更加的快速、高效。但面對當(dāng)下新冠疫情的零散爆發(fā),這些系統(tǒng)的功能是遠(yuǎn)遠(yuǎn)不能滿足需要的。因此,本次系統(tǒng)的設(shè)計需要有非接觸式紅外測溫功能、體溫不合格報警功能、閘門控制出入功能以及藍(lán)牙實時傳輸信息等功能。
本設(shè)計系統(tǒng)以STM32 單片機(jī)作為微控制器[2~3],由STM32 核心板、溫度傳感器、紅外對管傳感器、步進(jìn)電機(jī)模塊、蜂鳴器報警模塊、藍(lán)牙無線傳輸模塊等構(gòu)成。
簡單來說,當(dāng)紅外對管檢測到有人員經(jīng)過,通過紅外傳感器MLX90614 對出入人員進(jìn)行體溫的測量,以獲取出入口處人員的體溫數(shù)據(jù)。完成模數(shù)轉(zhuǎn)換后,由單片機(jī)將紅外傳感器測量到的數(shù)據(jù)寫入到傳感器的EEPROM 中,由單片機(jī)對讀取的數(shù)據(jù)進(jìn)行處理,然后將其輸出到OLED 上,與此同時,若所測體溫合格,則蜂鳴器不報警,步進(jìn)電機(jī)工作來模擬閘門開啟;若所測體溫不合格,則蜂鳴器報警,步進(jìn)電機(jī)不工作模擬閘門關(guān)閉。即通過所測溫度,有效利用閘門管理人員的進(jìn)出。至于藍(lán)牙模塊起著尤為重要的作用,用于將以上的信息實時傳輸至管理人員的手機(jī)客戶端,便于工作人員及時地對突發(fā)情況進(jìn)行管控。
疫情防控人員出入管理系統(tǒng)的框圖如圖1所示。本次系統(tǒng)使用STM32 作為主要的微控制器芯片,系統(tǒng)通過數(shù)字紅外傳感器模塊將出入口人員的紅外輻射量轉(zhuǎn)換成數(shù)字信號,并將其輸入到主控芯片中。步進(jìn)電機(jī)模塊用來模擬系統(tǒng)的閘門裝置,根據(jù)所測溫度是否合格來作出相應(yīng)的反應(yīng)。最后數(shù)據(jù)經(jīng)主控芯片計算后,在液晶屏上顯示出人體溫度數(shù)值。最后,通過藍(lán)牙電路模塊進(jìn)行無線傳輸,將實時信息反饋至終端,以便管理。
圖1 硬件結(jié)構(gòu)框圖
DC_IN1 和POWER 那是單片機(jī)的火牛接口,它是5V的,如圖2所示,其不能隨意亂接,不然會燒毀芯片。POWER1處是單片機(jī)的電源開關(guān)。當(dāng)電源接通時,D81 發(fā)光二極管發(fā)光,經(jīng)過一個3.3V的穩(wěn)壓芯片將5V 電壓轉(zhuǎn)為3.3V,于是這個電路即可以提供5V 和3.3V 兩種電壓。
圖2 供電電路
STM32的產(chǎn)生復(fù)位的條件是引腳產(chǎn)生低電平,其低電平復(fù)位電路如圖3所示,之前所學(xué)的51 單片機(jī)與之不同,當(dāng)按鈕按下,NRST 與GND 連接變低電平進(jìn)行復(fù)位。而該電路帶上電自動復(fù)位的功能,當(dāng)接上電源3.3V 電路的C2電容先導(dǎo)通,此時NRST 接地是低電平;然后電容充滿相當(dāng)于斷路,此時NRST 是高電平。
圖3 復(fù)位電路
晶振[4]在單片機(jī)里面起著至關(guān)重要的作用,它控制著單片機(jī)運(yùn)行的節(jié)奏,我們可以將它比喻成單片機(jī)的心臟,就跟我們?nèi)祟愐粯?,沒什么本質(zhì)區(qū)別,假如心臟沒有正常運(yùn)行,整個機(jī)體就不能工作。在單片機(jī)運(yùn)行系統(tǒng)里面,機(jī)器運(yùn)行的快慢主要就是由晶振決定的,若它的振蕩頻率快,整個系統(tǒng)就運(yùn)行比較快;若它振蕩頻率低,系統(tǒng)就運(yùn)行慢。
在電路中,通常將晶振看作為由電容和電阻組成的二端網(wǎng)絡(luò),從電路圖中能知道這個網(wǎng)絡(luò)有兩個諧振點,分別為串聯(lián)和并聯(lián)諧振,串聯(lián)諧振的頻率比并聯(lián)的低。由于晶體自身的性質(zhì),兩者的頻率差異不大。在這種狹窄的頻差區(qū)間,我們可以將晶體振作為一個電感。根據(jù)并聯(lián)諧振的特性,必須在晶振兩端并聯(lián)適當(dāng)?shù)碾娙莶拍苄纬刹⒙?lián)諧振回路。STM32 微處理器內(nèi)有兩種晶體振蕩器,一種是為 RTC 提供脈沖,另一種是給系統(tǒng)使用的8MHz的高速晶振,晶振電路如圖4所示。
圖4 晶振電路
紅外傳感器輸出的溫度信號由于很微小,并且容易受到外部噪聲的干擾,所以需要經(jīng)過內(nèi)部低噪聲運(yùn)算放大器將原本的信號放大,并且抑制噪聲后經(jīng)過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號通過數(shù)字濾波器運(yùn)算后輸出,最終的運(yùn)算結(jié)果存儲在內(nèi)存中。MLX90614的工作原理圖如圖5所示。
圖5 MLX90614工作原理圖
MLX90614 是一款非接觸式紅外測溫傳感器[5],由于其使用的是非接觸式測溫的手段,解決了傳統(tǒng)測溫手段的弊端,所以符合疫情防控期間的要求。此外,其還具有精度高、分辨率高、體積不大、便于集成、價格相對優(yōu)惠等特點。MLX90614 芯片的電路圖如圖6所示。
圖6 MLX90614芯片的電路圖
其引腳功能如表1所示。
表1 MLX90614引腳功能介紹
ULN2003[6]采用的元件是一套具有高通電流耐壓、大通電流耐壓復(fù)合晶體管的陣列。當(dāng)輸入端電壓源為極高電平輸入時,ULN2003 芯片的正向輸出端電源也可能為一個極低的電平輸出;但唯有當(dāng)其輸入端電壓值為低電平時,ULN2003的輸出端變?yōu)楦唠娖?。其中?nèi)部電機(jī)使用的是五相四線制步進(jìn)電機(jī),當(dāng)A、B、C、D 輪流輸出高低電平時,步進(jìn)電機(jī)就會進(jìn)行旋轉(zhuǎn)一個步進(jìn)角度。此模塊的設(shè)計,用于模擬我們疫情防控系統(tǒng)中的閘門裝置,根據(jù)系統(tǒng)其他模塊所測情況,實時的開關(guān)閘門控制人員的進(jìn)出,有效實現(xiàn)疫情期間對人員出入的控制。ULN2003 步進(jìn)電機(jī)驅(qū)動模塊如圖7所示。
圖7 ULN2003 步進(jìn)電機(jī)驅(qū)動模塊
此處的蜂鳴器用來模擬系統(tǒng)的超溫報警模塊。當(dāng)紅外對管檢測到有人員進(jìn)出,此時,紅外傳感器對進(jìn)出人員進(jìn)行體溫測量。若所測體溫值超出報警值,單片機(jī)輸出信號,則蜂鳴器發(fā)出警報,以提醒公共場所的管理人員采取措施。該報警模塊由蜂鳴器、電阻和PNP 晶體管組成。超溫報警模塊電路如圖8所示。
圖8 蜂鳴器超溫報警模塊電路
本次系統(tǒng)設(shè)計的無線傳輸使用了藍(lán)牙模塊[7,8]的通訊方式,實現(xiàn)了手機(jī)客戶端與單片機(jī)之間的無線通信。藍(lán)牙技術(shù)到目前為止可以說發(fā)展得十分成熟了,它是一種十分優(yōu)惠的連接技術(shù),并且建立了一個獨(dú)一無二的短距離無線技術(shù),用于固定和移動設(shè)備。之所以選用藍(lán)牙技術(shù)來完成防控系統(tǒng)無線傳輸這一功能,是因為藍(lán)牙的優(yōu)勢有很多。比如:藍(lán)牙技術(shù)的抗干擾能力和安全性都是很強(qiáng)的,其適用的設(shè)備多而廣,不需要電纜,只需通過無線將電腦和電信聯(lián)網(wǎng)進(jìn)行通信。另外,其工作頻段全球通用,該產(chǎn)品使用起來方便等優(yōu)勢。
系統(tǒng)所選用的JDY-31 是經(jīng)典的藍(lán)牙協(xié)議,可以與支持藍(lán)牙的手機(jī)或者電腦進(jìn)行通信,滿足本次系統(tǒng)的功能需求,符合疫情防控的管理要求。JDY-31 藍(lán)牙模塊原理圖如圖9所示。
圖9 JDY-31藍(lán)牙模塊原理圖
系統(tǒng)總體硬件由STM32 核心板、獨(dú)立按鍵、蜂鳴器、OLED 顯示屏、紅外對管、紅外測溫傳感器、步進(jìn)電機(jī)、藍(lán)牙模塊組成。采用立創(chuàng)EDA 繪制的系統(tǒng)總體硬件電路原理圖如圖10所示。
圖10 系統(tǒng)總體硬件電路原理圖
本系統(tǒng)使用STM32單片機(jī)作為主控制芯片,利用Keil5 進(jìn)行程序編寫[9,10]。當(dāng)系統(tǒng)感應(yīng)到有人員進(jìn)出,且溫度正常就允許人員通過,并在上位機(jī)顯示有無人員、人員的溫度,以及閘門的開啟與關(guān)閉等情況;當(dāng)檢測到有人員經(jīng)過且溫度過高的話,系統(tǒng)將向上位機(jī)發(fā)出警報,以此提醒工作人員。另外,以上所得信息,系統(tǒng)都會通過藍(lán)牙無線傳輸功能,實時傳輸至我們管理人員的手機(jī)客戶端,這樣便大大提高了疫情防控期間各個公共場所對人員出入的管控。主程序流程圖如圖11所示。
圖11 程序流程圖
系統(tǒng)上電以后,首先對系統(tǒng)的主程序及各個模塊進(jìn)行初始化。初始化就是將變量賦為默認(rèn)值,將控件設(shè)為默認(rèn)狀態(tài),簡言之,就是將未準(zhǔn)備好的準(zhǔn)備好。負(fù)責(zé)初始化的函數(shù)有:
SysTick_Init(72);//系統(tǒng)滴答定時器初始化
Delay_Init();//延時程序初始化
Led_Init();//LED 初始化
Usart2_Init(9600);//串口2中斷初始化,波特率9600bps
Usart1_Init(115200);//串口1 中斷初始化,波特率115200bps
OLED_Init();//OLED 屏幕初始化
RTHW_Init();//RTH 初始化
FMQ_Init();//FMQ 初始化
BJDJ_Init();//步進(jìn)電機(jī)初始化
KEY_Init();//按鍵初始化
SMBus_Init();//SMB 初始化
分別對系統(tǒng)時鐘、延時、LED、串口通信、OLED,按鍵等函數(shù)進(jìn)行初始化,讓系統(tǒng)能夠正常開始工作。其中串口初始化,波特率設(shè)置為115200bps,系統(tǒng)時鐘倍頻為72MHz,經(jīng)過36000 分頻后,單位時間為500μs,系統(tǒng)設(shè)置2000 為重載值。則每一個中斷周期為500μs×2000 = 1s。
本次疫情防控人員出入管理系統(tǒng)的設(shè)計采用藍(lán)牙進(jìn)行上位機(jī)的通訊,該手機(jī)APP 采用MIT APP Inventor 創(chuàng)建。該APP的設(shè)計,用于將整個系統(tǒng)所測得的人員出入的相關(guān)信息實時反饋至手機(jī)客戶端,便于人員出入的嚴(yán)格管控。選用APP Inventor 設(shè)計簡易APP,是因為它是一種更容易為安卓智能手機(jī)編寫應(yīng)用的軟件工具。APP Inventor中的編寫程序方法與傳統(tǒng)的編寫代碼方法不一樣,它是由可視化的指令模塊,用模塊的拼接來定義不同的功能,簡單來說,就是將不同圖形的代碼塊的組件拖拽到一起,從而生成一個應(yīng)用。APP 界面布局如圖12所示。
圖12 APP界面布局
系統(tǒng)調(diào)試中,首先選擇體溫正常的人員進(jìn)行檢測,當(dāng)紅外對管檢測到有人員經(jīng)過,且通過紅外測溫傳感器測得人員體溫為37℃。此時,溫度合格,且步進(jìn)電機(jī)轉(zhuǎn)動表示閘門開啟。并且,系統(tǒng)所測得信息,能夠在OLED 顯示器上正常顯示。由此可見,系統(tǒng)正確判讀了當(dāng)前情況。如圖13、14所示。
圖13 體溫合格時硬件狀態(tài)
圖14 體溫合格APP狀態(tài)
測試中,再次,選擇體溫不合格的人員進(jìn)行模擬超溫情況,當(dāng)紅外對管檢測到人員進(jìn)出時,且通過紅外測溫傳感器測得人員體溫為39℃。此時,溫度不合格,且步進(jìn)電機(jī)不轉(zhuǎn)動表示閘門關(guān)閉,與此同時,蜂鳴器發(fā)出報警。并且,系統(tǒng)所測得信息,能夠在OLED顯示器上正常顯示。由此可見,系統(tǒng)正確判讀了當(dāng)前情況。如圖15、16所示。
圖15 體溫不合格時硬件
圖16 體溫不合格APP狀態(tài)
本文針對疫情零散暴發(fā)的情況下各大公共場所的人員出入的問題進(jìn)行探討,選擇基于STM32 單片機(jī)而設(shè)計的疫情防控人員出入管理系統(tǒng)。該系統(tǒng)既能控制人員進(jìn)出,也能有效地對人體進(jìn)行一個體溫的檢測,更方便的是,當(dāng)管理人員不在場的情況下,也能實時查看當(dāng)前的一個狀況。該系統(tǒng)也可廣泛應(yīng)用于醫(yī)院、機(jī)場、海關(guān)、車站等人口密集地區(qū)的人員出入口。
最后,對硬件與軟件逐步進(jìn)行測試,測試結(jié)果表明本文設(shè)計基于STM32 單片機(jī)的疫情防控人員出入管理系統(tǒng),達(dá)到了預(yù)期的設(shè)計目標(biāo),整個系統(tǒng)運(yùn)行穩(wěn)定,功能齊全,符合當(dāng)前社會需求。