張啟平,張 強(qiáng)
中煤科工集團(tuán)重慶研究院有限公司 重慶 400039
粉 塵是煤礦作業(yè)場(chǎng)所的主要災(zāi)害之一,沉積的粉塵因風(fēng)吹、振動(dòng)等原因飄揚(yáng),從而導(dǎo)致粉塵瞬時(shí)濃度劇增,如果此時(shí)出現(xiàn)火源 (如靜電、摩擦火花等),會(huì)引起粉塵爆炸,造成非常嚴(yán)重的危害,因此對(duì)粉塵沉積厚度的檢測(cè)就有非常重要的意義[1-3]。筆者針對(duì)上述問(wèn)題研究了基于激光三角法測(cè)量沉積粉塵厚度的檢測(cè)技術(shù),實(shí)現(xiàn)了對(duì)沉積粉塵厚度的快速精確檢測(cè),為粉塵爆炸預(yù)警提供了有力的數(shù)據(jù)支撐。
采用激光三角法測(cè)量沉積粉塵的厚度,其檢測(cè)原理如圖 1 所示。激光器發(fā)出的激光經(jīng)過(guò)匯聚透鏡組后照射在被測(cè)物體表面,其反射光可被感光芯片會(huì)聚成光斑。當(dāng)被測(cè)物體表面發(fā)生移動(dòng) (有粉塵沉積) 時(shí),反射角度發(fā)生變化,匯聚到感光芯片上的光斑也會(huì)隨之移動(dòng),被測(cè)物體移動(dòng)的距離[4-6]
式中:a為被測(cè)物體移動(dòng)后的入射點(diǎn)到成像透鏡組的距離,m;x為感光元件上光斑移動(dòng)距離,m;b為被測(cè)物體移動(dòng)后成像透鏡組到感光芯片上光斑的距離,m;θ1為入射光與被測(cè)物體法線的夾角,(°);θ2為被測(cè)物體移動(dòng)后反射關(guān)于被測(cè)物體法線的夾角,(°);θ3為被測(cè)物體移動(dòng)后反射光與感光芯片的夾角,(°)。
當(dāng)光學(xué)系統(tǒng)確定后,a、b、θ1、θ2、θ3均為定值,因此只要測(cè)量出感光元件上光斑的移動(dòng)距離,就可以計(jì)算出被測(cè)物體移動(dòng)的距離,也就是沉積粉塵厚度。
傳感器的硬件如圖 2 所示,感光芯片采用 CCD圖像傳感器。由于粉塵沉積量較小,導(dǎo)致 CCD 圖像傳感器的輸出信號(hào)也非常微弱。為了準(zhǔn)確檢測(cè)到該信號(hào),首先將該信號(hào)送入信號(hào)放大電路和濾波電路,將其變?yōu)?0~5 V 的模擬量信號(hào),然后再經(jīng)過(guò) A/D 轉(zhuǎn)換器將矩形波信號(hào)轉(zhuǎn)換為 ARM 處理器能夠識(shí)別的數(shù)字信號(hào),最后送入 ARM 處理器進(jìn)行分析運(yùn)算,最終得出沉積粉塵厚度值。
ARM 是傳感器的核心,需要控制 A/D 轉(zhuǎn)換芯片采集 CCD 圖像傳感器信號(hào),還需要對(duì)采集到的數(shù)據(jù)進(jìn)行算法處理,并將計(jì)算結(jié)果進(jìn)行顯示和傳輸。筆者選用 STM32F103 作為 ARM 芯片。該芯片是高性能、低成本的嵌入式處理芯片,集成了 512 kb Flash 存儲(chǔ)器和 64 kb SRAM 存儲(chǔ)器,具有 51個(gè)快速 I/O 端口,用于驅(qū)動(dòng) A/D 轉(zhuǎn)換電路、顯示電路。
選用 ADS1256 作為 A/D 轉(zhuǎn)換電路板的主要芯片。它是一種單通道 24 位高精度 A/D 轉(zhuǎn)換器,采用SPI 接口方式與 ARM 芯片連接,具有精度高、操作簡(jiǎn)單等優(yōu)點(diǎn)。A/D 轉(zhuǎn)換電路原理如圖 3 所示。為了減小外界噪聲對(duì) CCD 圖像傳感器的信號(hào)產(chǎn)生干擾,在A/D 轉(zhuǎn)換電路設(shè)計(jì)時(shí),用標(biāo)準(zhǔn)的 3.3 V 電源為該芯片供電,減小參考電壓不穩(wěn)定產(chǎn)生的檢測(cè)誤差,并在電源和 GND 之間連接 0.1 μF 的去耦電容。
OLED 可自發(fā)光,無(wú)需背光源,對(duì)比度高、厚度薄、視角廣、反應(yīng)速度快,可用干擾曲線面板,使用溫度范圍廣,構(gòu)造簡(jiǎn)單,是目前平面顯示器的新興技術(shù)。OLED 屏的控制芯片選用 SSD1307,采用 IIC 接口方式驅(qū)動(dòng),只需 MCU 的 2個(gè) I/O 進(jìn)行控制,就可顯示需要的漢字或數(shù)字,能夠節(jié)省大量的 I/O 接口,功耗更低。
由于傳感器需要設(shè)置一些系統(tǒng)參數(shù),因此筆者設(shè)計(jì)了按鍵輸入電路。按鍵輸入電路是采用紅外原理,遙控器的紅外信號(hào)經(jīng) HS38B 紅外接收管接收識(shí)別后,再經(jīng)過(guò)放大濾波等處理,送入 STM32 的定時(shí)器輸入端口。遙控器上的所有按鍵都對(duì)應(yīng)不同的編碼,通過(guò) STM32 的定時(shí)器捕獲到信號(hào)波形后,即可識(shí)別出各個(gè)按鍵。
由于激光位移傳感器的信號(hào)是非常微弱的電信號(hào),為了避免其受到其他干擾而影響信號(hào)檢測(cè),需要在電路上進(jìn)行抗干擾設(shè)計(jì)。筆者采用以下幾種方法進(jìn)行抗干擾設(shè)計(jì):①在 A/D 轉(zhuǎn)換芯片 ADS1256 的信號(hào)采集中采用 RC 濾波器進(jìn)行濾波處理;② 在所有的集成芯片的電源和地之間接入 0.1 μF 電容;③MCU中未使用的 I/O 接口不懸空,將其接地;④ 在繪制PCB 板時(shí),電源線和地線選擇 10 mm 寬;⑤ 將電路中的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)后,采用光耦將數(shù)字信號(hào)隔離后再送入 ARM 芯片中[7-8]。
軟件設(shè)計(jì)使用 uC/OS-III 實(shí)時(shí)操作系統(tǒng)。該系統(tǒng)是基于優(yōu)先級(jí)的實(shí)時(shí)內(nèi)核,不受任務(wù)個(gè)數(shù)的限制,可直接地發(fā)送信號(hào)或者消息到任務(wù),操作簡(jiǎn)單,執(zhí)行高效。軟件采用 C 語(yǔ)言編寫,直接調(diào)用所需要的STM32 庫(kù)函數(shù)實(shí)現(xiàn)對(duì)應(yīng)的功能,語(yǔ)法限制低、代碼效率高[9]。
傳感器流程如圖 4 所示。系統(tǒng)開始運(yùn)行時(shí),首先讀取系統(tǒng)參數(shù),再控制 A/D 轉(zhuǎn)換芯片,進(jìn)行激光位移傳感器的信號(hào)采樣。在采樣過(guò)程中,通過(guò) uC/OS-Ⅲ實(shí)時(shí)操作系統(tǒng)的任務(wù)調(diào)度功能,檢測(cè)是否有按鍵接收任務(wù)或其他中斷任務(wù),若有,則先執(zhí)行相應(yīng)任務(wù)。采樣完成后,對(duì)采樣的數(shù)據(jù)進(jìn)行數(shù)字濾波,過(guò)濾其中明顯的錯(cuò)誤值,并采用相應(yīng)算法對(duì)數(shù)據(jù)進(jìn)行處理,最后計(jì)算出沉積粉塵的厚度值并進(jìn)行顯示。
A/D 轉(zhuǎn)換是讀取 CCD 圖像傳感器信號(hào)的關(guān)鍵部分。ADS1256 初始化后,首先對(duì) mux 寄存器寫 SYNC命令,延時(shí)一小段時(shí)間后再繼續(xù)寫讀取命令,此時(shí)就可等待數(shù)據(jù)轉(zhuǎn)換。待轉(zhuǎn)換完成后,就可以直接讀取 24 bit 的數(shù)字量,經(jīng)過(guò)計(jì)算,就可以得到當(dāng)前的激光位移值。
中斷服務(wù)程序主要通過(guò) RS-485 方式接收其他設(shè)備發(fā)送的通信。STM32 的 RXD 引腳在收到 RS-485芯片的信號(hào)后,會(huì)進(jìn)入串口中斷,并在中斷接收程序內(nèi)接收該信號(hào),經(jīng)過(guò)解析處理后,將傳感器的數(shù)據(jù)和參數(shù)信息打包發(fā)送出去。
傳感器的運(yùn)行參數(shù)可以通過(guò)遙控器進(jìn)行設(shè)置。首先,按照一定規(guī)則將遙控器的按鍵命令進(jìn)行編碼,再由紅外接收管按解碼規(guī)則進(jìn)行解碼分析后,送到MCU 芯片中進(jìn)行處理,MCU 識(shí)別到按鍵后,將對(duì)應(yīng)的參數(shù)進(jìn)行修改設(shè)置,最后將設(shè)置好的參數(shù)存儲(chǔ)起來(lái)用于后續(xù)軟件程序。
采用軟件抗干擾技術(shù),提高軟件程序的準(zhǔn)確性和穩(wěn)定性。①采用卡爾曼濾波法對(duì) A/D 轉(zhuǎn)換結(jié)果進(jìn)行處理,提高數(shù)據(jù)采集的準(zhǔn)確性;② 在系統(tǒng)未使用的ROM 區(qū)和中斷向量區(qū),設(shè)置軟件陷阱;③編寫任務(wù)監(jiān)測(cè)程序,當(dāng)任務(wù)無(wú)法正常調(diào)度時(shí),及時(shí)發(fā)現(xiàn)并進(jìn)行復(fù)位。
沉積粉塵厚度的真實(shí)值采用深度游標(biāo)卡尺進(jìn)行測(cè)量,然后將其與設(shè)計(jì)的傳感器測(cè)量值進(jìn)行對(duì)比。部分試驗(yàn)數(shù)據(jù)如表 1 所列。
表1 傳感器檢測(cè)精度Tab.1 Detection precision of sensor mm
由表 1 可以看出,筆者設(shè)計(jì)的沉積粉塵厚度傳感器可以檢測(cè) 0~4 mm 厚度的沉積粉塵,分辨率達(dá)到0.01 mm,與深度游標(biāo)卡尺檢測(cè)數(shù)據(jù)相比,其最大檢測(cè)誤差為 0.13 mm。
采用激光三角法設(shè)計(jì)了沉積粉塵厚度傳感器,重點(diǎn)闡述了其工作原理,并設(shè)計(jì)了硬件電路,包括MCU、A/D 轉(zhuǎn)換等,并介紹了在硬件設(shè)計(jì)上的抗干擾措施以及總體軟件程序、A/D 轉(zhuǎn)換程序、中斷服務(wù)程序、按鍵服務(wù)程序和軟件抗干擾方法。通過(guò)對(duì)比試驗(yàn),驗(yàn)證了沉積粉塵厚度傳感器可以檢測(cè) 0~4 mm 厚度的沉積粉塵,分辨率達(dá)到 0.01 mm,最大檢測(cè)誤差為 0.13 mm。