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

表1 傳感器檢測精度Tab.1 Detection precision of sensor mm
由表 1 可以看出,筆者設計的沉積粉塵厚度傳感器可以檢測 0~4 mm 厚度的沉積粉塵,分辨率達到0.01 mm,與深度游標卡尺檢測數據相比,其最大檢測誤差為 0.13 mm。
采用激光三角法設計了沉積粉塵厚度傳感器,重點闡述了其工作原理,并設計了硬件電路,包括MCU、A/D 轉換等,并介紹了在硬件設計上的抗干擾措施以及總體軟件程序、A/D 轉換程序、中斷服務程序、按鍵服務程序和軟件抗干擾方法。通過對比試驗,驗證了沉積粉塵厚度傳感器可以檢測 0~4 mm 厚度的沉積粉塵,分辨率達到 0.01 mm,最大檢測誤差為 0.13 mm。