于之靖, 劉月林, 諸葛晶昌
(1.中國民航大學(xué) 地面特種設(shè)備科研基地,天津 300300;
2.中國民航大學(xué) 航空自動化學(xué)院,天津 300300)
近年來,線陣CCD在非接觸測量領(lǐng)域中得到了廣泛應(yīng)用[1]。傳統(tǒng)的測量方法存在一定的局限性,存在對工件造成磨損,測量精度不高,不能實現(xiàn)實時測量的缺陷。因此,非接觸式測量的優(yōu)勢逐漸顯得更為重要[2]。
在光學(xué)系統(tǒng)中,采用雙線陣CCD對工件進行多次測量,通過多通道測量取平均計算出工件的直徑。硬件電路的核心部分采用現(xiàn)場可編程門陣列(FPGA)器件實現(xiàn),利用FPGA在并行數(shù)據(jù)處理方面的優(yōu)勢,為線陣CCD提供驅(qū)動并且作為圖像數(shù)據(jù)處理的核心單元[3]。在線陣CCD一維圖像數(shù)據(jù)處理中,傳統(tǒng)的數(shù)據(jù)處理常常采用閾值法,其測量精度往往受到像元大小限制,精度停留在像元級別[4]。本文設(shè)計采用亞像元細分算法[5],并對其做了相應(yīng)改進,有效提高了測量系統(tǒng)的測量精度。
光學(xué)系統(tǒng)的結(jié)構(gòu)如圖1所示,入射光經(jīng)透鏡形成平行光束,垂直照射在圓型工件上,由于工件的不透光性將工件成像投影在線陣CCD上。系統(tǒng)對一幀數(shù)據(jù)進行邊緣檢測,即得到圓型工件的直徑。根據(jù)所選線陣CCD的光譜特性,入射光波長為55 mm時,線陣CCD響應(yīng)最強烈,所以,系統(tǒng)選擇一字線狀藍色激光光源作為光學(xué)系統(tǒng)的目標(biāo)檢測光源。
圖1 光學(xué)成像原理
利用圖1簡單的透視投影關(guān)系,將獲得的陰影邊緣點位置,按照確定的比例關(guān)系, 即可得到工件直徑D
D=(f1/f2)·d.
(1)
其中,d為影響陰影在像元上的尺寸,f1,f2為焦距。
雙線陣CCD非接觸直徑測量系統(tǒng)的組成結(jié)構(gòu)如圖2所示,整個系統(tǒng)主要由光學(xué)系統(tǒng)、線陣CCD 驅(qū)動、模擬信號預(yù)處理、數(shù)字信號直徑計算單元組成。采用FPGA作為系統(tǒng)核心驅(qū)動控制芯片,完成線陣CCD驅(qū)動、A/D轉(zhuǎn)換驅(qū)動和圖像處理。
線陣CCD采用東芝公司生產(chǎn)的一種高靈敏度、低暗電流、具有5000個有效像元的雙溝道兩相線陣CCD圖像傳感器TCD1501,帶有采樣保持功能。A/D轉(zhuǎn)換器采用TI公司生產(chǎn)的TLC5510,工作電源為5.0V,推薦工作條件下功耗為130mV,具有高阻抗內(nèi)部并行接口和內(nèi)部基準(zhǔn)電壓,最大采樣頻率為20MSPS。
圖2 系統(tǒng)結(jié)構(gòu)原理圖
線陣CCD在相應(yīng)驅(qū)動脈沖作用下,輸出一維圖像的模擬信號,信號經(jīng)過預(yù)處理后,送入A/D轉(zhuǎn)換模塊,在A/D轉(zhuǎn)換器驅(qū)動脈沖的作用下,A/D轉(zhuǎn)換器輸出數(shù)字圖像信號,F(xiàn)PGA接收到數(shù)字圖像數(shù)據(jù)即開始進行圖像處理。
在設(shè)計中,重點要突出圖像的邊緣特征,所以,CCD要盡量工作在較大的動態(tài)范圍,以提高輸出信號的信噪比,即亮點與暗點的差值要盡量大,突出圖像的邊緣特征。CCD信號的輸出受到現(xiàn)場環(huán)境的干擾,CCD光積分時間決定像元輸出信號的強弱,要讓CCD工作在最佳的動態(tài)范圍,就要根據(jù)CCD像元輸出的亮點信號和暗點信號的差值調(diào)節(jié)CCD光積分時間[6]。
(2)
(3)
(4)
將T與設(shè)定的閾值比較,當(dāng)T大于等于設(shè)定閾值時,即CCD工作在較理想的動態(tài)范圍,輸出圖像特征點清晰;否則,應(yīng)增加光積分時間,以增強圖像信號的邊緣信息。
根據(jù)T值的大小,設(shè)計通過增加無效移位脈沖的個數(shù)來調(diào)節(jié)光積分時間以增大CCD亮點像素與暗點像素的差值。設(shè)每次調(diào)節(jié)光積分時間的增量為δt,δt不可太小,太小會增加光積分時間調(diào)節(jié)次數(shù);亦不可太大,太大會使亮點信號發(fā)生溢出。設(shè)計中,CCD移位脈沖頻率設(shè)定為0.5 MHz,每幀數(shù)據(jù)含有5 076個像元,所以,需要2 538個移位脈沖,所需時間為5 076 μs。轉(zhuǎn)移脈沖需要2 μs時間,所以,采集一幀數(shù)據(jù)頻率最快約為196.85 Hz,采集一幀數(shù)據(jù)至少需要5 078 μs,這也是能夠達到的最小光積分時間。以時鐘頻率計算,增量δt以200個CCD移位脈沖周期為單位,每次增加積分時間為100 μs。
圖3 線陣CCD驅(qū)動仿真
圖像邊緣檢測的精確度是決定工件直徑檢測精度的關(guān)鍵。在以往對圖像數(shù)據(jù)處理中,常采用閾值法,這種方法檢測精度受到線陣CCD像元尺寸大小的限制,檢測精度不高。系統(tǒng)采用亞像元邊緣檢測算法對采集到的一維圖像數(shù)據(jù)進行處理,這種方法能夠顯著提高測量精度[7]。
亞像元邊緣檢測算法包括高斯濾波、差值計算、邊緣檢測和差值細分4個模塊(圖4)。圖像經(jīng)過高斯濾波平滑器后對其求梯度,圖像梯度峰值的位置即為圖像邊緣點,檢測出邊緣點后即可采用差值細分方法求出圖像邊緣點的精確位置,其值如公式(5)所示,具體計算步驟請參見參考文獻[6]
(5)
圖4 線陣CCD邊緣檢測
在上面的亞像元邊緣檢測系統(tǒng)中,采用對5000個有效像元點進行處理。這種方法計算量大,浪費資源,為了減少計算量,系統(tǒng)對以往的亞像元檢測算法做了改進。線陣CCD輸出一幀數(shù)據(jù)含有5 000個有效像元點信息,最關(guān)心的是邊緣點附近的信息,因此,如果能直接提取出圖像的邊緣點信息,則可簡化計算量,節(jié)省資源。由上面公式(2)~式(3)所確定的亮點灰度值和暗點灰度值為閾值,找出灰度值在二者之間的像元點,這些點即為圖像的邊緣信息點。對這些邊緣點做邊緣檢測,再利用亞像元邊緣檢測算法,計算邊緣點位置,可減少后續(xù)的計算量。
在實際測量中,測量誤差受到多種原因的影響,包括CCD器件制造誤差、光源的不穩(wěn)定、透鏡的畸變、鏡頭的焦距和孔徑的選取、工件位置的放置、放大鏡的放大倍數(shù),這些問題都會降低直徑測量的精度。其中可采用雙目視覺技術(shù)提高工件位置的放置精度。圓型工件由于具有截面投影各向同性特征,測量多通道均可獲得截面頂點位置(即始終為測量圓形工件兩平行切線位置,光路中除頂點外無遮擋),測量結(jié)果中直徑為多通道剔除粗大誤差后的均值,因此,配置較簡單,測量結(jié)果準(zhǔn)確。
(6)
(7)
(8)
圖5 多通道測量原理圖
為了分析系統(tǒng)的檢測精度,系統(tǒng)對一個已知精度的、直徑為12.732 mm的工件進行測量3次測量,測量結(jié)果如表1。
表1 實驗測量結(jié)果
從表1中可以看出:單通道的單次測量誤差在4 μm左右,單通道多次測量誤差也大于2 μm,采用雙通道多次測量技術(shù)時,系統(tǒng)測量誤差降低到2 μm以內(nèi)。
本文介紹了一種高精度雙線陣CCD非接觸直徑測量系統(tǒng)的組成、原理及具體實現(xiàn)方法。重點介紹了通過改變光積分時間增強線陣CCD輸出信號邊緣特征,通過線陣CCD亮點和暗點像素值迅速找出邊緣點的方法,為了減
小誤差,采用雙線陣CCD多通道多次測量取平均以提高測量精度,系統(tǒng)最小誤差小于2 μm,滿足工業(yè)應(yīng)用高精度測量的要求。
參考文獻:
[1]馬登極,朱善安,王長軍.線陣CCD在高精度測量系統(tǒng)中的應(yīng)用[J].計算機測量與控制,2006,14(2).
[2]王曉麗,段春霞,周 陽.高精度非接觸式自動外徑測量方法研究[J].儀表技術(shù)與傳感器,2011(8):79-81.
[3]徐光憲,張 慶,付 曉.基于FGPA的模擬視頻采集控制器的研究與實現(xiàn)[J].儀表技器,2012(3):41-43.
[4]張建輝,宋平崗.線陣CCD技術(shù)及其在非接觸測量中的應(yīng)用[J].機械與電子,2004(8):63-65.
[5]胡曉東,馬 娜.亞像元邊緣檢測的FPGA實現(xiàn)[J].光子學(xué)報,2010,39(1):173-176.
[6]劉 艷,趙 紅,于效宇.一種可調(diào)線陣CCD信號采集處理系統(tǒng)[J].半導(dǎo)體光電,2009,30(2):294-299.
[7]谷 林,胡曉東,陳良益.基于FPGA的線陣CCD亞像元邊緣檢測片上系統(tǒng)[J].光子學(xué)報,2004,33(5):618-621.