柴西林,邵照勇
(1.西北師范大學(xué)知行學(xué)院,蘭州730070;2.中國石油蘭州石化分公司電儀事業(yè)部,蘭州730060)
在工業(yè)現(xiàn)場通常是憑肉眼或者低倍率放大的方式觀測金屬表面,實(shí)際上看到一幅平面圖像的二維尺寸,卻丟失(聚縮)了該表面垂直方向的第三維深度信息[1-2]。而金屬表面質(zhì)量的檢驗(yàn)在金屬材料制品行業(yè)具有舉足輕重的地位,其表面質(zhì)量直接關(guān)系到整個(gè)產(chǎn)品的質(zhì)量,例如:表面切削層的粗糙度,表面處理層的薄厚、均勻度及其光亮度,特別是金屬表面缺陷的定性分析與定量檢測,直接關(guān)系到制件合格與否,影響到產(chǎn)品壽命與早期失效[3-4]。本設(shè)計(jì)將軟硬件技術(shù)相結(jié)合,利用數(shù)字圖像表面的灰度差與高度的映射關(guān)系,構(gòu)建表面層的三維形貌,首先在MATLAB 環(huán)境下實(shí)現(xiàn)建模仿真,驗(yàn)證理論模型,然后結(jié)合嵌入式芯片、單片機(jī)、矩陣鍵盤和液晶顯示等模塊,將圖像二維到三維的計(jì)算過程和圖像處理過程完美的在硬件設(shè)備上展示出來。本設(shè)計(jì)的實(shí)際意義在于補(bǔ)充了傳統(tǒng)的表面質(zhì)量檢驗(yàn)技術(shù),分析生產(chǎn)中出現(xiàn)的金屬材料不同加工制件的表面質(zhì)量,面對(duì)多種多樣金屬表面二維形貌的圖像,克服了現(xiàn)今僅僅以二維形貌檢驗(yàn)表面質(zhì)量的主觀性與片面性。
該設(shè)計(jì)方案采用“MATLAB+FPGA+SPCE061A+單色LCD”。首先通過MATLAB 軟件進(jìn)行理論模型的仿真驗(yàn)證,若結(jié)果較理想,設(shè)計(jì)各硬件模塊,主要功能包括:①FPGA 處理器:從外部存儲(chǔ)器中讀入圖像,將普通圖片轉(zhuǎn)換為二維灰度圖像,將圖像信息轉(zhuǎn)變成特定的二進(jìn)制編碼并存入RAM62256 中;②RAM62256 存儲(chǔ)器:存儲(chǔ)二維灰度圖像的編碼,等待SPCE061A 微處理器讀取;③SPCE061A 微處理器:整個(gè)硬件系統(tǒng)的控制部分,控制12864 液晶的顯示,將圖形編碼傳給液晶;完成菜單界面的控制;從鍵盤上讀取人工輸入命令;④鍵盤:將人工的命令輸入微控制器處理。系統(tǒng)設(shè)計(jì)框圖如圖1 所示。
本設(shè)計(jì)基于數(shù)字圖像技術(shù)構(gòu)建金屬表面層三維宏觀形貌的方法[5],利用金屬表面圖像灰度值~金屬表面凸凹層高度值的映射關(guān)系式及映射關(guān)系曲線f(x,y)~h,如圖2 所示。
其中,f(x,y)是金屬表面圖像的灰度值,h 是金屬表面層凸凹的高度值,k 為比例常數(shù),且取值決定于金屬材料,材料不同k 值隨之發(fā)生變化。將上述關(guān)系模型在MATLAB 中進(jìn)行仿真,選擇圖像中用戶感興趣的區(qū)域,視其灰度反差度及灰度層次的優(yōu)劣,選擇是否需要進(jìn)行灰度直方圖規(guī)定化及灰度插值的預(yù)處理,根據(jù)表面灰度值-表面凹凸高度值的映射關(guān)系及映射關(guān)系曲線計(jì)算出第三維高度值h,然后實(shí)現(xiàn)三維相貌重構(gòu)[6-8];接著用C 語言和匯編語言將上述關(guān)系式編寫成接口函數(shù),使其能夠在FPGA 主控芯片上運(yùn)行;最后將主控芯片和第二級(jí)處理器單片機(jī)及外圍設(shè)備連接(液晶、鍵盤、攝像頭、存儲(chǔ)器),形成完整的三維圖像形貌重構(gòu)系統(tǒng)。
圖1 系統(tǒng)設(shè)計(jì)框圖
圖2 圖像灰度-高度值關(guān)系曲線
根據(jù)上述圖像表面灰度-高度關(guān)系,在MATLAB軟件平臺(tái)實(shí)現(xiàn)表面三維重構(gòu)的計(jì)算與仿真。圖3 是鋼件橫截面樣品上分布的龜裂(2%硝酸酒精侵蝕);圖4是按圖3 灰度圖像構(gòu)建的三維形貌,可以看出裂縫的裂口比較尖銳,有的裂縫溝槽并不深,可能是磨制樣品過程中出現(xiàn)的新裂紋,因此材料的脆性相當(dāng)大。
圖3 鋼件橫截面樣品
圖4 按圖3灰度圖像構(gòu)建的三維形貌效果
系統(tǒng)的硬件主要由FPGA 處理器、RAM 存儲(chǔ)器、SPCE061A 微處理器、SPLC501 液晶顯示模塊、矩陣鍵盤、電源模塊組成。
圖5 硬件系統(tǒng)實(shí)物圖
FPGA 芯片為Cyclone TM EP1C3T144C6,Cyclone現(xiàn)場可編程門陣列,基于1.5V、0.13um 及全銅SRAM工藝,其密度增加至20060 個(gè)邏輯單元(LE),RAM 增加至288Kb。它具有用于時(shí)鐘鎖相環(huán)以及DDR SDR和快速周期RAM(FCRAM)存儲(chǔ)器所需要的專用雙數(shù)據(jù)率(DDR)接口等。Cyclone 器件支持多種I/O 標(biāo)準(zhǔn),包括640Mbps 的LVDS,以及速率為33MHz 和66MHz、數(shù)據(jù)寬度為32 位和64 位的PCI。
SPCE061A 單片機(jī)應(yīng)用領(lǐng)域非常廣泛,主要包括輸入/輸出端口、定時(shí)器/計(jì)數(shù)器、數(shù)/模轉(zhuǎn)換、模/數(shù)轉(zhuǎn)換、串行設(shè)備輸入輸出、通用異步串行接口、低電壓監(jiān)測和復(fù)位等部分,并且內(nèi)置在線仿真電路ICE 接口,較高的處理速度使其能夠快速的處理復(fù)雜的數(shù)字信號(hào)。SPCE061A 有2K 字的SRAM(包括堆棧區(qū)),其地址范圍從0x0000 到0x07FF。SPCE061A 是一個(gè)用閃存替代掩膜ROM 的MTP(多次編程)芯片,具有32K 字(32K×16bit)閃存容量。用戶可用閃存來存儲(chǔ)用戶程序。
SPLC501 液晶顯示模組為128×64 點(diǎn)陣,面板采用超扭曲向列技術(shù)制成并且由128 Segment 和64 Common 組成,LCM 非常容易通過接口被訪問。
鍵盤實(shí)現(xiàn)輸入數(shù)據(jù)、傳送命令的功能,是人工干預(yù)的主要手段。最常使用的是非編碼鍵盤,只簡單地提供鍵盤的行列與矩陣,其他操作如鍵的識(shí)別,決定按鍵的讀數(shù)等僅靠軟件完成,故硬件較為簡單,但占用CPU較多時(shí)間。
圖6 輸入的表面二維圖片
系統(tǒng)經(jīng)過MATLAB 軟件仿真、硬件系統(tǒng)的設(shè)計(jì)制作、控制程序的編寫和調(diào)試、芯片的接口互聯(lián)和通信,最后完成了系統(tǒng)的測試。仿真過程中實(shí)現(xiàn)了MATLAB環(huán)境下對(duì)二維平面圖像轉(zhuǎn)換為三維立體圖像全過程的模擬;控制程序及算法通過C 語言實(shí)現(xiàn),包括液晶顯示的驅(qū)動(dòng),存儲(chǔ)設(shè)備的驅(qū)動(dòng)及讀取,輸入設(shè)備的驅(qū)動(dòng),軟件系統(tǒng)的組建等任務(wù)。系統(tǒng)測試結(jié)果在液晶屏顯示如圖6、圖7 所示。
系統(tǒng)能夠成功地完成金屬材料表面二維圖像到三維宏觀形貌圖像的構(gòu)建,克服了傳統(tǒng)二維表面分析技術(shù)丟失表面層第三維深度信息的弊端,從三維造像上能方便得到目標(biāo)區(qū)域(特別是細(xì)小的缺陷)的橫剖面,進(jìn)而可以從橫剖面無損檢驗(yàn)、度量其深度,以虛測實(shí)。結(jié)果顯示客觀、立體感強(qiáng)、視角可變,易于識(shí)別。
圖7 三維立體圖像