麻朋威,廖 平
(中南大學(xué)高性能復(fù)雜制造國家重點實驗室,湖南長沙 410083)
在數(shù)控加工中,對刀具磨損檢測分為直接檢測法和間接檢測法,直接法包括接觸法、光學(xué)圖像法及放射線法等;間接法包括切削力法、聲發(fā)射法、功率法、振動法及溫度法等[1-2]。隨著制造智能化、精細(xì)化的發(fā)展,對刀具磨損信息監(jiān)測提出了更高的要求,因此需要構(gòu)建更加精密的系統(tǒng)。目前市場上主要以國外產(chǎn)品為主,且精度無法達(dá)到μm級,國內(nèi)對磨損精密檢測系統(tǒng)研究較少,大都在實驗室階段。對刀具磨損精密檢測系統(tǒng)的研究,既能減少對國外技術(shù)的依賴,又能推動我國智能制造的發(fā)展。
CCD即電荷耦合器件是一種半導(dǎo)體圖像傳感器。它通過光電轉(zhuǎn)換可以將位移、角度、尺寸、寬度等幾何信息轉(zhuǎn)換成電荷信號[3-4],在工業(yè)相機(jī)、機(jī)器視覺等領(lǐng)域,面陣CCD不可或缺,但大都應(yīng)用于成像方面,圖像傳輸處理過程復(fù)雜且耗費時間長。使用方向性好、光率穩(wěn)定的激光作為光源,能夠讓面陣CCD精確產(chǎn)生反映刀具輪廓和尺寸的易處理的二值化數(shù)字圖像,因此這種檢測系統(tǒng)精度高,測量速度快,穩(wěn)定性好[5-6]。
本文設(shè)計了一種刀具磨損精密檢測系統(tǒng),對加工中心刀具進(jìn)行非接觸式直接測量。系統(tǒng)使用ICX205AL作為光電傳感器,采用直射式激光作為光源?;贔PGA產(chǎn)生CCD驅(qū)動所需時序信號,同時設(shè)計了前置電路來處理CCD輸出的二維視頻模擬信號,并生成二維二值化數(shù)字圖像由上位機(jī)處理,采用LOF算法剔除異常點。系統(tǒng)測試表明該檢測系統(tǒng)具有輸出信號穩(wěn)定、抗干擾能力強(qiáng)的特點。磨損檢測精度可達(dá)1 μm,該系統(tǒng)可廣泛應(yīng)用于刀具磨損精密測量。
刀具磨損檢測首先要定義加工中心坐標(biāo)系和檢測系統(tǒng)坐標(biāo)系,加工中心坐標(biāo)系是固定的,檢測系統(tǒng)安裝好后即可確定系統(tǒng)在加工中心坐標(biāo)系的位置,同時建立起檢測系統(tǒng)坐標(biāo)系,通過兩個坐標(biāo)系之間的相互轉(zhuǎn)換可以求得刀具在加工中心的位置參數(shù),兩者坐標(biāo)系如圖1所示。
圖1 刀具磨損精密檢測系統(tǒng)坐標(biāo)轉(zhuǎn)換原理
OW為加工中心坐標(biāo)系原點,OC為檢測系統(tǒng)坐標(biāo)系原點,P為刀具刀尖,P在加工中心坐標(biāo)為:
(1)
式中:X1為P在檢測系統(tǒng)的X軸坐標(biāo)值;Y1為P在檢測系統(tǒng)的Y軸坐標(biāo)值。
當(dāng)?shù)毒叩竭_(dá)檢測系統(tǒng)后X1和Y1已知,即可求出刀具在加工中心的坐標(biāo)值。
刀具工作前因平行光源激光照射會在面陣CCD上產(chǎn)生與刀具輪廓大小一致的亮暗區(qū),激光照射到的CCD像元會產(chǎn)生飽和輸出信號,因此CCD會輸出表示刀具輪廓的二值化數(shù)字圖像,上位機(jī)利用LOF算法對二值化圖像進(jìn)行異常點剔除,二值化圖像可以精確表示刀具輪廓和尺寸。刀具工作結(jié)束后完成復(fù)位,刀具回到起始點,CCD又會生成一幅當(dāng)前刀具輪廓二值化圖像,通過兩幅圖像二值化像素值的區(qū)別可以得到CCD亮暗區(qū)的大小,即可求出刀具磨損量。
該系統(tǒng)結(jié)構(gòu)簡單,體積小,采用非接觸式測量,測量精度高,如圖2所示,主要技術(shù)指標(biāo)為:系統(tǒng)外形尺寸為150 mm×120 mm×80 mm;工作距離為80mm;分辨率為1 μm;激光類型為藍(lán)色激光,最大功率5 mW,發(fā)射波長530 nm;光電傳感器為面陣CCD ICX205AL。
圖2 刀具磨損精密檢測系統(tǒng)結(jié)構(gòu)
本文采用FPGA為面陣CCD提供驅(qū)動時序控制,由于FPGA引腳輸出驅(qū)動信號電壓為3.3 V,無法直接驅(qū)動CCD,故需采用CXD1267來提高垂直轉(zhuǎn)移信號的驅(qū)動能力,采用六反相器TC74HC04AP來提高水平轉(zhuǎn)移信號的驅(qū)動能力。系統(tǒng)采用5 V電壓輸入,通過LT3487生成CCD和CXD1267所需要的+15 V和-8 V電壓,在測量過程中,CCD把光信號轉(zhuǎn)換為電信號輸出,通過電壓放大器和電壓比較器轉(zhuǎn)換為二值化信號,再由FPGA采集緩存到SDRAM并發(fā)送到上位機(jī)中,上位機(jī)使用LOF算法剔除掉二值化圖像異常點,系統(tǒng)總體硬件結(jié)構(gòu)如圖3所示。
圖3 硬件總體結(jié)構(gòu)
2.2.1 ICX205AL工作原理和驅(qū)動時序分析
ICX205AL是對角線8 mm(1/2型)行間CCD固態(tài)圖像傳感器,具有正方形像素陣列和1.45 M有效像素。逐行掃描可以在大約1/7.5 s內(nèi)獨立輸出所有像素的信號。芯片尺寸為7.60 mm(H)×6.20 mm(V),像元尺寸為4.65 μm(H)×4.65 μm(V),中心距為4.65 μm。該CCD靈敏度高,暗電流小,提供的是電子快門而非機(jī)械快門。ICX205AL基本結(jié)構(gòu)如圖4所示,由感光陣列、垂直移位寄存器、水平移位寄存器和輸出放大器組成。感光陣列和垂直移位寄存器相間排列,感光陣列光積分結(jié)束后在垂直轉(zhuǎn)移信號驅(qū)動下將每個像元產(chǎn)生的信號電荷轉(zhuǎn)移到垂直移位寄存器,在水平轉(zhuǎn)移驅(qū)動信號下經(jīng)水平移位寄存器由VOUT端輸出。
圖4 ICX205AL基本結(jié)構(gòu)
ICX205AL驅(qū)動時序以水平驅(qū)動頻率為基準(zhǔn),其大小為14.318 MHz,為使ICX205AL正常工作,需要提供4路垂直驅(qū)動信號VΦ1、VΦ2A/VΦ2B、VΦ3,2路水平驅(qū)動信號HΦ1、HΦ2,1路襯底信號ΦSUB和1路復(fù)位柵時鐘信號ΦRG。CCD的工作周期分為啟動周期和轉(zhuǎn)移周期,啟動周期各驅(qū)動脈沖的時序同步關(guān)系如圖5所示。
圖5 啟動周期各驅(qū)動脈沖的時序同步關(guān)系
XV1、XV2A/XV2B、XV3是CXD1267AN的輸入信號,V1、V2A/V2B、V3是相應(yīng)的輸出信號。HD的一個周期是啟動的整個過程,以HD出現(xiàn)下降沿作為啟動的開始,V1、V2A/V2B、V3各差32個時鐘周期。首先在V1、V2A/V2B、V3的作用下,將1 050個感光陣列對應(yīng)的垂直移位寄存器中的殘留電荷轉(zhuǎn)移掉,接著V2A/V2B在啟動開始800個脈沖周期后,出現(xiàn)了向上的突變,并維持50個脈沖周期,將CCD表面感光陣列的信號電荷轉(zhuǎn)移到垂直移位寄存器中,在啟動周期中,襯底信號ΦSUB不起作用,一個CCD的啟動周期約是104 448 ns。
轉(zhuǎn)移周期各驅(qū)動脈沖的時序同步關(guān)系如圖6所示,在轉(zhuǎn)移周期中,首先在VΦ1、VΦ2A/VΦ2B、VΦ3的作用下,將所有垂直移位寄存器中的電荷從上到下移動一位,轉(zhuǎn)移到水平移位寄存器中,再由水平驅(qū)動信號HΦ1/HΦ2,將信號電荷按位轉(zhuǎn)移出去。復(fù)位柵時鐘ΦRG以相同的時鐘頻率作用,清除掉殘留在水平移位寄存器中的電荷,一個CCD的轉(zhuǎn)移周期約是124 852 ns。
圖6 轉(zhuǎn)移周期各驅(qū)動脈沖的時序同步關(guān)系
1個曝光周期包含1個啟動周期和1 068個轉(zhuǎn)移周期。ICX205AL完整時序信號如圖7所示。
圖7 CCD時序信號完整圖
2.2.2 基于FPGA的ICX205AL驅(qū)動時序設(shè)計
根據(jù)啟動周期和轉(zhuǎn)移周期ICX205AL各路脈沖時序的相位要求,可以確定V1、V2A/V2B、V3、HΦ1/HΦ2、ΦSUB,ΦRG的參數(shù)。在啟動周期時:脈沖V1產(chǎn)生2個脈寬,分別為6 720 ns和38 780 ns;脈沖V2A/V2B也產(chǎn)生2個脈寬,分別為6 720 ns和3 500 ns;脈沖V3產(chǎn)生1個6 720 ns的脈寬。在轉(zhuǎn)移周期時,水平驅(qū)動脈沖HΦ1/HΦ2的頻率為14.318 MHz,占空比為0.5;復(fù)位脈沖頻率為14.318 MHz,占空比為0.25;垂直驅(qū)動脈沖V1、V2A/V2B、V3的頻率為124 852 ns,脈寬為6 720 ns,行同步脈沖的頻率為124 852 ns,脈寬為4 480 ns。
選用Cyclone Ⅳ系列芯片EP4CE15F17C8產(chǎn)生ICX205AL所需要的驅(qū)動時序,EP4CE15F17C8高達(dá)15 408個LE邏輯單元,最多可用343個I/O引腳,是一種高性能FPGA芯片。使用QuartusII 13.0作為開發(fā)平臺,Verilog HDL硬件描述語言編程,F(xiàn)PGA外部晶振輸入時鐘頻率為50 MHz,周期為20 ns,通過FPGA內(nèi)部PLL模塊10倍頻得到2 ns的系統(tǒng)時鐘,以計數(shù)法延時得到70 ns的驅(qū)動時鐘。驅(qū)動系統(tǒng)RTL級模型如圖8所示。使用Modelsim仿真軟件對驅(qū)動程序進(jìn)行模擬仿真,得到XV1、XV2A/XV2B、XV3、XSG1、XSG2、HΦ1/HΦ2、ΦSUB、ΦRG、HD,共11路時序驅(qū)動信號,仿真波形如圖9所示,圖中一共顯示了7個周期,第1個周期為啟動周期,其他為轉(zhuǎn)移周期,對比圖7和圖9可得到仿真結(jié)果滿足驅(qū)動時序要求。
圖8 RTL級模型
圖9 ICX205AL驅(qū)動脈沖仿真時序圖
在設(shè)計時序驅(qū)動電路時,因FPGA引腳輸出電壓為3.3 V,ICX205AL正常驅(qū)動所需電壓有23 V、8 V、5 V等,所以考慮到驅(qū)動能力和電平匹配的問題,需采用CXD1267和TC74HC04AP作為時序信號的輸入驅(qū)動器,提高 CCD 驅(qū)動脈沖的驅(qū)動能力。示波器測得的CXD1267輸出的垂直驅(qū)動脈沖如圖10所示,TC74HC04AP輸出的水平驅(qū)動脈沖如圖11所示。
圖10 垂直驅(qū)動脈沖
圖11 水平驅(qū)動脈沖
CCD輸出的模擬信號約為15 V,在接入比較器前先串接1個電容,濾除掉直流信號,讓信號嵌位在1.5 V。輸出信號經(jīng)過AMP電壓放大器將電壓放大4倍至6 V,接入比較器將信號二值化,本文采用二通道電壓比較器,參考電壓設(shè)置為5 V。 CCD輸出信號二值化電路如圖12所示。比較器輸出的二值化信號經(jīng)FPGA采集緩存到SDRAM中,再傳輸?shù)缴衔粰C(jī)中。
圖12 AMP與二值化電路
根據(jù)異常點的不同,常用的異常點挖掘方法分為統(tǒng)計學(xué)、偏差、距離和密度。本文采用的是一種典型的基于密度的高精度異常點檢測方法,即LOF(局部異常因子)算法[7-8]。
LOF(local outlier factor)是基于密度的經(jīng)典算法,于2000年由德國慕尼黑大學(xué)的M. Breunig等在數(shù)據(jù)庫頂級會議 SIGMOD 上提出[9]。LOF的基本思路是根據(jù)數(shù)據(jù)點的局部環(huán)境來判斷其是否異常,通過給各樣本點均分配一個取決于鄰域密度的離群因子 LOF,若 LOF 遠(yuǎn)大于1,則該數(shù)據(jù)點被判斷為離群點;若LOF接近于1,則該數(shù)據(jù)點被判斷為正常數(shù)據(jù)點。
點p和點o之間的距離為d(p,o),點p的第k距離為dk(p)=d(p,o),點p的第k距離鄰域Nk(p)就是p的第k距離及以內(nèi)的所有點,包括第k距離,因此p的第k鄰域點的個數(shù)|Nk(p)|≥k,點o到點p的第k可達(dá)距離定義為
reach-distacek(p,o)=max{k-distace(o),d(p,o)}
(2)
也就是說點o到點p的第k可達(dá)距離,至少是o的第k距離,或者為o、p間的真實距離。這也意味著,離點o最近的k個點,o到它們的可達(dá)距離被認(rèn)為相等,且都等于dk(o)。點p的局部可達(dá)密度表示為
(3)
式(3)表示點p的第k鄰域內(nèi)點到p的平均可達(dá)距離的倒數(shù)。點p的局部離群因子表示為
(4)
式(4)表示點p的鄰域點Nk(p)的局部可達(dá)密度與點p的局部可達(dá)密度之比的平均數(shù)。如果這個比值越接近1,說明p的鄰域點密度差不多,p可能和鄰域同屬一簇;如果這個比值越小于1,說明p的密度高于其鄰域點密度,p為密集點;如果這個比值越大于1,說明p的密度小于其鄰域點密度,p越有可能是異常點。
(1)計算所有樣本數(shù)據(jù)的局部密度:計算出其他各點到樣本點p的距離,將第k個點的距離命名為k距。
(2)計算所有樣本數(shù)據(jù)的異常分?jǐn)?shù):將所有離樣本點p的距離小于或等于k距的點取集合為N,計算出集合N中所有點的局部密度,并將其平均值記為mm,則樣本點p的異常分?jǐn)?shù)取值為mm/p。
(3)判斷各數(shù)據(jù)點的異常程度:由異常分?jǐn)?shù)的取值來判斷是否為異常點,若異常分?jǐn)?shù)遠(yuǎn)大于1,則表明該點跟其他點的距離較為疏遠(yuǎn),將被算法判別為異常點。
用示波器測得的ICX205AL輸出信號如圖13所示。有光照的像元輸出電壓信號在1.5 V上產(chǎn)生脈沖波動,波動幅值約為150 mV,無光照的像元輸出電壓信號在1.5 V上產(chǎn)生噪聲波動。
圖13 VOUT端輸出波形
VOUT端輸出波形經(jīng)過二值化后由FPGA采集,發(fā)送到上位機(jī)中形成一幅1 360行×1 024列的由0和1組成的二值化圖像。因激光反射等原因,二值化圖像會產(chǎn)生若干個異常點,在未經(jīng)LOF算法剔除異常點數(shù)據(jù)前的由MATLAB繪出的圖像如圖14所示。
圖14 FPGA采集發(fā)送的二值化圖像
經(jīng)過LOF算法處理后的圖像如圖15所示,可以明顯看到圖像無異常點,因此LOF算法可以有效剔除掉因激光反射產(chǎn)生的異常點。
圖15 經(jīng)LOF算法剔除異常點后的二值化圖像
一個像元尺寸為4.65 μm(H)×4.65 μm(V),光源射到CCD之前經(jīng)過放大鏡片放大10倍,刀具在X軸和Y軸方向上磨損掉一個像元即為磨損掉0.465 μm,根據(jù)CCD像元的光電特性,50%的像元面積有光照像元即可輸出電壓信號,所以誤差放大倍數(shù)取2,即刀具磨損量為0.93 μm,該系統(tǒng)磨損量檢測以像元為單位,檢測精度為1 μm。
本文設(shè)計了一種基于面陣CCD的刀具磨損精密檢測系統(tǒng)。這個系統(tǒng)設(shè)備體積小,精度高,采用非接觸式測量,使用方便,適合大部分對刀具磨損精密檢測的需要,擺脫了圖像測量刀具磨損對燈光和場地等方面的限制。文章建立了CCD驅(qū)動時序仿真模型,應(yīng)用modelsim仿真驗證證明該時序能夠正常驅(qū)動CCD,文章還完成了基于LOF算法的圖像異常點剔除,經(jīng)過實際圖像對比證明該算法能有效剔除異常點。