張立東,苗長云,厲振宇,劉 意
(天津工業(yè)大學(xué) 電子與信息工程學(xué)院,天津 300387)
帶式輸送機(jī)是一種現(xiàn)代化生產(chǎn)中的連續(xù)運輸設(shè)備,具有運量大、運距遠(yuǎn)、運費低、效率高、能耗小、運行平穩(wěn)、裝卸方便、適合于散料運輸?shù)葍?yōu)點,與汽車、火車一起成為三大主力工業(yè)運輸工具,已廣泛應(yīng)用于煤炭、礦山、港口、電力、冶金、化工等領(lǐng)域[1]。溫度是帶式輸送機(jī)的一個重要指標(biāo),通過溫度檢測能夠檢測帶式輸送機(jī)的托輥、電機(jī)、滾筒等故障,GB/T 3467.9-2017《智慧礦山信息系統(tǒng)通用技術(shù)規(guī)范》[2]規(guī)定對帶式輸送機(jī)溫度進(jìn)行檢測,帶式輸送機(jī)綜合保護(hù)系統(tǒng)中的八大保護(hù)裝置也包括溫度保護(hù)。目前帶式輸送機(jī)的測溫儀主要采用PT100 傳感器進(jìn)行檢測,其測溫范圍窄、分辨率低、準(zhǔn)確性差;接觸式檢測,容易受到外力而損壞,可靠性差。
本文提出了一種帶式輸送機(jī)本質(zhì)安全型紅外測溫儀設(shè)計方案,采用MLX90614 紅外傳感器[3]和STM32F103C8T6 處理器設(shè)計了其硬件;在Keil 5.14開發(fā)平臺上,采用C 語言設(shè)計了其軟件。
圖1 紅外測溫儀組成框圖Fig.1 Infrared thermometer composition block diagram
紅外測溫儀由處理器電路、溫度傳感器電路、頻率量轉(zhuǎn)換電路、4~20 mA 轉(zhuǎn)換電路、數(shù)碼管顯示電路、報警電路、激光定位電路、按鍵及指示燈電路、數(shù)據(jù)存儲電路、串口通信電路、程序下載接口電路和供電電路組成,其組成框圖如圖1所示[4]。的溫度數(shù)據(jù)轉(zhuǎn)換成頻率量和4~20 mA 電流輸出,并通過數(shù)碼管顯示電路顯示出來。激光定位電路用來輔助使用者來確定溫度傳感器采集溫度數(shù)據(jù)的準(zhǔn)確位置。使用者可通過按鍵及指示燈電路設(shè)置高低溫報警閾值及發(fā)射率等參數(shù),設(shè)置完成后,參數(shù)保存在數(shù)據(jù)存儲電路中。當(dāng)監(jiān)測到被測物體的溫度超出報警閾值會通過報警電路進(jìn)行報警。
溫度傳感器電路完成溫度采集功能;頻率量轉(zhuǎn)換電路將采集到的溫度數(shù)據(jù)轉(zhuǎn)換成頻率量輸出;4~20 mA 轉(zhuǎn)換電路將采集到的溫度數(shù)據(jù)轉(zhuǎn)換成4~20 mA 電流信號輸出;數(shù)碼管顯示電路將采集到的溫度數(shù)據(jù)顯示出來;報警電路完成報警功能;激光定位電路用來給使用者指示被測物體的準(zhǔn)確位置;按鍵電路完成參數(shù)設(shè)置功能;數(shù)據(jù)存儲電路完成發(fā)射率等數(shù)據(jù)存儲功能;串口通信電路用作調(diào)試;程序下載電路將程序下載到處理器電路中;供電電路為整個電路供電;處理器電路完成數(shù)據(jù)接收、處理及各部分電路驅(qū)動功能。
紅外測溫儀用來實現(xiàn)固定物體的溫度檢測。物體的紅外輻射能量的大小及其按波長的分布與它的表面溫度有著十分密切的關(guān)系。因此,通過對物體自身輻射的紅外能量的測量,便能準(zhǔn)確測量它的表面溫度。MLX90614 紅外傳感器電路用來采集固定物體紅外能量,處理器電路驅(qū)動溫度傳感器電路,將采集到
溫度傳感器選用美國邁來芯公司的MLX90614,采集溫度范圍為-70℃~380℃,精度為0.14℃,輻射角度為10°,SMBUS 總線輸出[5]。電路圖如圖2所示。
核心處理器選用意法半導(dǎo)體公司的STM32F103C8T6,采用Cortex M3 內(nèi)核,主頻高達(dá)72 MHz,功耗低,適合做本質(zhì)安全電路設(shè)計。電路圖如圖3所示。
本質(zhì)安全型電源是指符合GB3836.1-2010 爆炸性環(huán)境第1 部分:設(shè)備通用要求[6]和GB3836.4-2010 爆炸性環(huán)境第4 部分:由本質(zhì)安全型“i”保護(hù)的設(shè)備[7]中的相關(guān)規(guī)定,可以在爆炸性氣體環(huán)境中使用。為符合本質(zhì)安全型電路要求,本設(shè)計采用美國凌力爾特公司的LT4356CS-1 芯片,該芯片具有過流和過壓保護(hù)功能,且過流和過壓保護(hù)值可調(diào)節(jié),采用雙重化設(shè)計。該電源通過了國家煤礦防爆安全產(chǎn)品質(zhì)量監(jiān)督檢驗中心的檢驗,并取得了檢驗報告、防爆證和安全標(biāo)志證書。該電源的部分電路如圖4所示。
圖2 溫度傳感器電路Fig.2 Temperature sensor circuit
圖3 處理器電路Fig.3 Processor circuit
圖4 本質(zhì)安全型電源電路Fig.4 Intrinsically safe power circuit
頻率量轉(zhuǎn)換是在核心處理器中完成的,外圍驅(qū)動電路采用飛利浦公司的HEF4093BT,該芯片采用CMOS 工藝,輸出高低電平接近電源電壓或地電位,對于外部接口電路來說,兼容性更好;每個輸入引腳內(nèi)部內(nèi)置一個施密特觸發(fā)器,輸入信號的抗干擾能力更強(qiáng)。電路圖如圖5所示。
圖5 頻率量轉(zhuǎn)換電路Fig.5 Frequency conversion circuit
4~20 mA 轉(zhuǎn)換電路采用ADI 公司的AD421,該芯片將接收到的數(shù)字信號轉(zhuǎn)換成模擬信號[8],并完成模擬信號到4~20 mA 電流環(huán)信號的轉(zhuǎn)換。電路圖如圖6所示。
圖6 4~20 mA 轉(zhuǎn)換電路Fig.6 4-20 mA conversion circuit
數(shù)碼管顯示電路選用4 位數(shù)碼管顯示3 位數(shù)字和1 位符號位,驅(qū)動芯片采用2 片74HC595 串聯(lián),該電路具有成本低廉,易于驅(qū)動的特點。
報警電路將來自核心處理器的報警信號通過達(dá)林頓管放大輸出驅(qū)動蜂鳴器。
激光定位電路采用3 V 激光二極管,主要作用在于指示被測位置,因此設(shè)計將激光二極管光線與溫度傳感器方向盡量靠近且平行。
按鍵電路用于設(shè)置發(fā)射率、高低溫報警閾值等參數(shù),指示燈電路用于指示正在設(shè)置哪個參數(shù)。
數(shù)據(jù)存儲電路用于存儲高低溫報警閾值,發(fā)射率等信息,采用AT24C02,驅(qū)動簡單,成本低廉。
串口通信電路主要用于調(diào)試及后期維護(hù),選用MAX3232,電路簡單,成本低廉。
程序下載電路設(shè)計為SWD 接口,四線下載,節(jié)省電路板空間。
系統(tǒng)供電電路選用MPS 公司的MP2259,開關(guān)頻率1.4 MHz,輸出電流1 A,采用SOT23-5 封裝,體積小,并且由于工作頻率較高,輸出紋波小,外部電感和電容的體積也較小,節(jié)省了電路板空間。
測溫儀軟件設(shè)計是在Keil 5.14 開發(fā)平臺上進(jìn)行的,使用語言為C 語言。系統(tǒng)軟件整體設(shè)計思路是這樣的:主程序采用自頂向下設(shè)計方法,首先完成各個模塊初始化及中斷初始化,然后循環(huán)執(zhí)行溫度傳感器MLX90614 讀出程序和設(shè)置發(fā)射率及高低溫報警閾值程序,而各個模塊子程序是通過中斷方式得到執(zhí)行。圖7 表示了主程序的設(shè)計流程:程序一開始進(jìn)行中斷初始化和各模塊初始化,接著進(jìn)入循環(huán),在循環(huán)中依次執(zhí)行讀出高低溫報警閾值和溫度報警值,計算要顯示的溫度數(shù)據(jù)、要輸出的頻率量及電流值數(shù)據(jù),最后調(diào)用按鍵掃描子程序。在程序執(zhí)行的過程中,如果有按鍵按下,則進(jìn)入按鍵中斷服務(wù)程序進(jìn)行處理。
由于溫度傳感器MLX90614 通信接口為SMBUS,所以首先設(shè)計SMBUS 底層驅(qū)動程序,然后根據(jù)MLX90614 數(shù)據(jù)手冊時序圖設(shè)計頂層程序,主要分為4個函數(shù):MLX90614 初始化函數(shù),MLX90614 讀函數(shù),MLX90614 寫函數(shù),MLX90614 數(shù)據(jù)轉(zhuǎn)換函數(shù)。
由于數(shù)碼管驅(qū)動采用2 片74HC595 串聯(lián),所以驅(qū)動數(shù)碼管也就是驅(qū)動74HC595。74HC595 為數(shù)據(jù)移位寄存器,串行輸入,并行輸出。程序分為3 個子程序:數(shù)碼管驅(qū)動I/O 初始化函數(shù),595 輸入函數(shù),595輸出函數(shù)。
圖7 主程序流程圖Fig.7 Main program flow chart
按鍵掃描子程序采用有限狀態(tài)機(jī)方法實現(xiàn),分為沒有任何按鍵按下狀態(tài)、按鍵按下確認(rèn)狀態(tài)、按鍵短按下狀態(tài)、按鍵長按下狀態(tài),其狀態(tài)轉(zhuǎn)換如圖8所示。
圖8 狀態(tài)轉(zhuǎn)換圖Fig.8 State transition diagram
數(shù)據(jù)存儲子程序分為IIC 底層驅(qū)動和芯片驅(qū)動。底層驅(qū)動包括IIC 初始化、產(chǎn)生起始信號,產(chǎn)生停止信號、等待應(yīng)答信號、產(chǎn)生應(yīng)答信號、產(chǎn)生非應(yīng)答信號、發(fā)送一個字節(jié)、接收一個字節(jié)等幾個函數(shù)。芯片驅(qū)動包括:芯片初始化、芯片檢測、讀出一個字節(jié)、寫入一個字節(jié)、讀出N個字節(jié)、寫入N個字節(jié)、從指定地址讀出指定的字節(jié)數(shù)、寫入到指定地址指定的字節(jié)數(shù)等幾個函數(shù)。
串口通訊子程序包括串口初始化、串口發(fā)送和串口接收3 個子程序。
由于讀出的溫度數(shù)據(jù)為數(shù)字量,所以設(shè)計公式將數(shù)字量轉(zhuǎn)換成頻率量,其公式如下:
式中:f為頻率,DATA 為16 位溫度數(shù)值。
想要將溫度數(shù)據(jù)轉(zhuǎn)換成4~20 mA 的電流信號,首先應(yīng)該將溫度傳感器采集到的數(shù)值轉(zhuǎn)換成AD421輸入范圍內(nèi)的數(shù)值,設(shè)計的公式如下所示,然后只需按照AD421 的數(shù)據(jù)手冊寫出驅(qū)動程序即可,共有3個信號需要驅(qū)動:時鐘、鎖存、數(shù)據(jù),程序比較簡單,不再詳述。
其中dac_input_data 為AD421 輸入數(shù)值,DATA為溫度傳感器采集到的數(shù)值。
考慮到各個模塊實時響應(yīng)的需求,主程序采用中斷的方式,因而需要定時器來調(diào)度。本設(shè)計用到了3個定時器:定時器2、定時器3 和定時器4。定時器2負(fù)責(zé)周期性調(diào)用顯示子程序、定時器3 負(fù)責(zé)周期性調(diào)用報警子程序,定時器4 負(fù)責(zé)周期性調(diào)用按鍵子程序。優(yōu)先級順序為:定時器2>定時器3>定時器4。
通過對測溫儀的實驗與調(diào)試,分別測試各模塊的功能實現(xiàn)情況。利用示波器及Keil 5 開發(fā)平臺自帶的邏輯分析儀進(jìn)行分析,各模塊均可實現(xiàn)相應(yīng)的功能。
首先發(fā)送SLA 地址,然后判斷接收到的應(yīng)答信息,如果應(yīng)答為非應(yīng)答信號,則發(fā)送停止位,并轉(zhuǎn)到程序起始處重新執(zhí)行,否則繼續(xù)向下執(zhí)行。判斷流程同上。接著發(fā)送SLA+1,判斷流程同上。接下來按順序讀取數(shù)據(jù)低字節(jié)和高字節(jié),并存入預(yù)先定義好的緩沖區(qū)寄存器。再接下來讀取PEC 碼(PEC 碼為一種CRC-8 校驗碼),并根據(jù)多項式X8+X2+X+1,計算出結(jié)果,與讀取到的PEC 碼進(jìn)行比較。如果相同,則表示讀到的數(shù)據(jù)正確,否則錯誤,丟棄數(shù)據(jù),并返回程序起始位置重新讀取數(shù)據(jù)。示波器采集到的時序波形如圖9示。煤礦井下輸送帶寬度一般為0.8~2.4 m之間,測溫儀與被測物體之間的安裝示意圖如圖10所示,可以看到,溫度傳感器安裝在距離電機(jī)3 m 處,就可以使測溫儀的目標(biāo)視場內(nèi)全部為被測電機(jī),從而保證了測溫的準(zhǔn)確性。需要注意的是,煤礦井下電機(jī)的材質(zhì)一般為鑄鐵,發(fā)射率在0.6~0.95 之間,需要設(shè)置正確的發(fā)射率,才能保證測溫的準(zhǔn)確度。測量到的煤礦井下帶式輸送機(jī)電機(jī)溫度與實際電機(jī)溫度對比如圖11所示。
圖9 示波器采集的溫度傳感器數(shù)據(jù)采集模塊時序信號Fig.9 Time sequence signal of temperature sensor data acquisition module collected by oscilloscope
圖10 測溫儀與被測物體之間的安裝示意圖Fig.10 Installation diagram between the thermometer and the object to be measured
頻率量轉(zhuǎn)換模塊將-20℃~380℃的溫度值轉(zhuǎn)換成200~1000 Hz 的標(biāo)準(zhǔn)頻率量信號輸出,圖12 展示了溫度值、理論上頻率量輸出值、實測頻率量輸出值對應(yīng)關(guān)系。
4~20 mA 轉(zhuǎn)換模塊將-20℃~380℃的溫度值轉(zhuǎn)換成4~20 mA 標(biāo)準(zhǔn)電流環(huán)信號輸出,十六進(jìn)制溫度值與輸出電流環(huán)信號對比在AD421 數(shù)據(jù)手冊中可以查到,如圖13(a)所示。實際測得的溫度值與4~20 mA電流輸出如圖13(b)所示。
圖11 測溫儀測量溫度與電機(jī)表面實際溫度對比Fig.11 The temperature measured by the thermometer is compared with the actual temperature of the motor surface
圖12 頻率量輸出值與溫度值對應(yīng)關(guān)系Fig.12 Correspondence between frequency output values and temperature values
圖13 溫度值與4~20 mA 電流輸出對比Fig.13 Comparison of temperature value with 4-20 mA current output
報警模塊在溫度低于低溫報警閾值,或者溫度高于高溫報警閾值時報警[10],其報警信號為周期4 s 的方波,示波器采集到的報警信號波形如圖14所示。
圖14 示波器采集到的報警信號Fig.14 Alarm signal collected by oscilloscope
按鍵設(shè)置模塊實現(xiàn)發(fā)射率的設(shè)置以及高低溫報警閾值的設(shè)置??梢栽谌魏螘r候按下MENU 鍵,然后根據(jù)實際情況按下UP 或DOWN 鍵,依次設(shè)置低溫報警閾值、高溫報警閾值、發(fā)射率,每次設(shè)置完按OK 鍵退出。程序可以實現(xiàn)長按UP/DOWN 鍵快速調(diào)整數(shù)值功能。3 個參數(shù)都設(shè)置完成后自動進(jìn)行測溫。實驗結(jié)果如圖15所示。
圖15 按鍵設(shè)置參數(shù)實驗結(jié)果Fig.15 Key to set parameters experimental results
本文研制的本質(zhì)安全型紅外測溫儀采用MLX90614 紅外傳感器和STM32F103C8T6 處理器設(shè)計了其硬件;在Keil 5.14 開發(fā)平臺上,采用C 語言設(shè)計了其軟件,能夠?qū)y量溫度顯示在高亮度數(shù)碼管上,并以頻率量和4~20 mA 電流信號輸出。該測溫儀外殼與MLX90614 之間放置一層隔熱棉,以保證MLX90614 感溫準(zhǔn)確,MLX90614 輻射角度為10°,覆蓋物體面積更小,使測溫準(zhǔn)確度得到了保證,測溫范圍寬-20℃~380℃,分辨率高,測溫準(zhǔn)確,溫度測量精度為±0.5℃;非接觸測量,不易損壞,可靠性高。