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