《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的尺寸自動(dòng)檢測研究
基于FPGA的尺寸自動(dòng)檢測研究
《電子技術(shù)應(yīng)用》2007年第2期
張顯成1,單越康1,項(xiàng) 榮1,張
摘要: 介紹了一種基于現(xiàn)場可編程門陣列(FPGA)的尺寸自動(dòng)檢測方法,同時(shí)給出了尺寸檢測結(jié)果的實(shí)時(shí)在屏顯示方法。研究了基于FPGA的縱、橫向尺寸的檢測方法,給出了系統(tǒng)的軟、硬件設(shè)計(jì),并進(jìn)行了系統(tǒng)精度分析。
關(guān)鍵詞: FPGA 視頻分劃 尺寸檢測
Abstract:
Key words :

摘 要:介紹了一種基于現(xiàn)場可編程門陣列(FPGA" title="FPGA">FPGA)的尺寸自動(dòng)檢測方法,同時(shí)給出了尺寸檢測" title="尺寸檢測">尺寸檢測結(jié)果的實(shí)時(shí)在屏顯示方法。研究了基于FPGA的縱、橫向尺寸的檢測方法,給出了系統(tǒng)的軟、硬件設(shè)計(jì),并進(jìn)行了系統(tǒng)精度分析。
關(guān)鍵詞:FPGA  視頻分劃" title="視頻分劃">視頻分劃  尺寸檢測

 

    隨著自動(dòng)化制造系統(tǒng)在各行各業(yè)的廣泛應(yīng)用,有效控制加工質(zhì)量,防止廢品產(chǎn)生,提高加工生產(chǎn)率和檢測精度被越來越多的企業(yè)所關(guān)注。工件尺寸精度是直接反映產(chǎn)品質(zhì)量的重要指標(biāo)。目前,在有些方面雖然已實(shí)現(xiàn)了自動(dòng)化,但仍有一些尺寸檢測或檢驗(yàn)還處在人工階段。人工檢測所需勞動(dòng)量大,易產(chǎn)生誤判,且檢測效率不高,不方便進(jìn)行質(zhì)量的統(tǒng)計(jì)分析。隨著工件的批量化生產(chǎn),這種檢測方法顯然是不合適的。
  針對(duì)這些情況,本文提出了一種基于FPGA的視頻檢測新方法。本系統(tǒng)采用FPGA和VHDL語言實(shí)現(xiàn)。這種方法簡單易行,減少了元器件使用數(shù)量,不僅提高了測量精度和可靠性,而且避開了使用機(jī)器視覺技術(shù)的價(jià)格障礙。其操作的靈活性和直觀的在屏顯示效果在很大程度上方便了工件質(zhì)量檢測和管理。
1 系統(tǒng)構(gòu)成及基本原理
    系統(tǒng)的組成框圖如圖1所示,經(jīng)過對(duì)待檢工件定位、調(diào)節(jié)CCD攝像機(jī)等操作后,使待檢工件成像清晰且位于監(jiān)視器中間。調(diào)節(jié)到位后,F(xiàn)PGA模塊將利用視頻信號(hào)同步分離后得到的行、場同步信號(hào)和奇偶場信號(hào)產(chǎn)生視頻橫、豎線的生成控制信號(hào),通過該控制信號(hào)控制疊加電路將視頻線疊加到監(jiān)視器顯示(其上下、左右位置,長度及亮度均可通過鍵盤進(jìn)行調(diào)節(jié))。同時(shí),利用視頻線生成控制信號(hào)去控制視頻二值化信號(hào)以得到待檢部位尺寸信息。當(dāng)視頻線位置調(diào)節(jié)到剛好使其跨躍工件的待檢部位時(shí)(不要使視頻線過長而伸到工件圖像的另一邊界外),F(xiàn)PGA模塊將輸出代表待檢部位尺寸信息的脈寬信號(hào)。鍵盤啟動(dòng)檢測,單片機(jī)將對(duì)此脈寬信號(hào)進(jìn)行計(jì)數(shù)采集,并對(duì)計(jì)數(shù)值進(jìn)行分析處理,得出檢測結(jié)果和合格性分析結(jié)果,然后建立單片機(jī)與專用字符疊加芯片之間的通信,把這些結(jié)果全部顯示在屏幕上。不同的檢測結(jié)果伴有不同的閃爍提示,以提醒操作人員進(jìn)行正確的操作。

 


2 FPGA中各模塊功能原理
  FPGA模塊主要功能包括以下幾個(gè)方面:視頻橫、豎線的實(shí)現(xiàn)及其控制模塊,縱、橫向尺寸信息處理模塊,待檢尺寸類型處理模塊,鍵盤掃描模塊以及鍵值處理模塊。其具體框圖如圖2所示,粗虛線內(nèi)表示FPGA要實(shí)現(xiàn)的功能,外界的都是輸入或輸出信號(hào)。

 


2.1 視頻豎、橫線的生成原理
    本系統(tǒng)中用于瞄準(zhǔn)工件尺寸信息的視頻橫、豎線是基于視頻分劃技術(shù)[1]生成的。視頻分劃的簡單描述如下:當(dāng)電子束在屏幕上從左到右掃描時(shí), 在某一行的電視信號(hào)上加一白色或黑色電平脈沖, 則在屏幕的相應(yīng)位置上會(huì)出現(xiàn)一個(gè)白點(diǎn)或黑點(diǎn)。同樣,如果在整幅視頻圖像上按一定規(guī)律加上相應(yīng)的白色或黑色電平脈沖,則會(huì)在屏幕上顯示出相應(yīng)的幾何圖形來。
    依照視頻分劃原理,如果從視頻信號(hào)的某一個(gè)行同步頭開始到另一個(gè)行同步頭結(jié)束,對(duì)這之間各行的行同步頭延時(shí)相同時(shí)刻后,控制疊加電路在相應(yīng)行的圖像信號(hào)上疊加相同寬度的白色或黑色電平脈沖,則在屏幕上將產(chǎn)生一條亮或暗的豎線。實(shí)現(xiàn)方法如下:對(duì)輸入的視頻信號(hào)進(jìn)行同步分離,分離出行同步信號(hào)(H)和場同步信號(hào)(V)。通過對(duì)V和H分別進(jìn)行兩級(jí)延時(shí)后相與就可以捕捉到連續(xù)幾行中的經(jīng)過延時(shí)后的行同步頭,即得到視頻豎線生成控制信號(hào)。其中,場信號(hào)第一級(jí)延時(shí)用來調(diào)節(jié)豎線在屏幕上的上下位置(延時(shí)越長,豎線越向下移),場信號(hào)第二級(jí)延時(shí)用來調(diào)整豎線在屏幕上的長短(延時(shí)越長,捕捉行同頻頭越多)。行同步信號(hào)第一級(jí)延時(shí)(延時(shí)短,小于行同頻信號(hào)周期)用來調(diào)整豎線在屏幕上的左右位置;第二級(jí)行延時(shí)(延時(shí)越長,豎線越粗)則用來實(shí)現(xiàn)豎線的粗細(xì)調(diào)整。如果用視頻豎線生成控制信號(hào)去控制疊加電路,就可以實(shí)現(xiàn)在視頻圖像上疊加一條豎線。
    視頻橫線的生成原理與視頻豎線差不多,可以把它看成是一條很短又很寬的豎線,它只是對(duì)一場圖像中的某一個(gè)行同步信號(hào)進(jìn)行兩級(jí)延時(shí)。實(shí)現(xiàn)方法如下:對(duì)輸入的視頻信號(hào)同步分離得到H、V以及奇偶場信號(hào)。為了保證橫線的穩(wěn)定性,本方案利用奇偶場信號(hào)來代替V。利用奇偶場信號(hào)的上升沿(或下降沿)觸發(fā)來進(jìn)行兩級(jí)延時(shí),其中,第一級(jí)延時(shí)用來調(diào)節(jié)橫線在屏幕上的上下位置。為保證一場獲取一個(gè)行同步信號(hào),第二級(jí)延時(shí)時(shí)間的長度應(yīng)該等于行同步信號(hào)周期(64us)。用第二級(jí)延時(shí)后的信號(hào)與 H 信號(hào)相與便可獲取一個(gè)行同步信號(hào)。對(duì)這個(gè)行同步信號(hào)再進(jìn)行兩級(jí)延時(shí),第一級(jí)延時(shí)調(diào)整橫線在屏幕上的左右位置;第二級(jí)行延時(shí)實(shí)現(xiàn)橫線的長短調(diào)整。至此,便得到了視頻橫線的生成控制信號(hào)。如果用它去控制疊加電路就可以實(shí)現(xiàn)在視頻圖像上疊加一條橫線。
    以上各級(jí)延時(shí)操作在具體設(shè)計(jì)時(shí),都設(shè)計(jì)成按鍵可調(diào)的,這樣可以方便地調(diào)節(jié)各視頻線的位置和長短。
2.2 尺寸信息處理
    與工件待檢尺寸信息聯(lián)系最緊密的是其邊界點(diǎn)的信息,因此,對(duì)工件圖像信息中的邊界點(diǎn)的采集成為關(guān)鍵。通常采用將視頻信號(hào)二值化[2]的方法。為避免CCD周圍光照環(huán)境引起的干擾,本系統(tǒng)采用了浮動(dòng)閾值的二值化技術(shù)對(duì)視頻信號(hào)進(jìn)行預(yù)處理。
    采集工件縱向尺寸信息的實(shí)現(xiàn)方法是使視頻豎線剛好跨躍待檢尺寸的兩端,以視頻豎線生成控制信號(hào)作為敏感信號(hào),以經(jīng)二值化處理后的視頻信號(hào)為輸入信號(hào),敏感信號(hào)上升沿變化啟動(dòng)進(jìn)程輸出一個(gè)信號(hào)等于此時(shí)輸入的二值化信號(hào),如此一場圖像掃描下來,就可將縱向間隙尺寸信號(hào)轉(zhuǎn)換成一個(gè)門信號(hào)。如果檢測的是縱向?qū)嶓w尺寸,則在經(jīng)上述處理后得到的只是如圖3所示的信號(hào)A。為將其轉(zhuǎn)化為脈寬信號(hào),還需進(jìn)一步處理,方法如下:以該信號(hào)為敏感信號(hào),用兩個(gè)進(jìn)程分別以它的上升沿和下降沿進(jìn)行翻轉(zhuǎn),如圖3中信號(hào)B、C所示,再將二者相與即可得到代表尺寸信息的脈寬信號(hào)D。為區(qū)別檢測的是間隙還是實(shí)體尺寸,在外設(shè)有鍵盤進(jìn)行切換。利用單片機(jī)對(duì)輸出的脈寬信號(hào)進(jìn)行計(jì)數(shù)、處理,便得到檢測結(jié)果。

 


    采集工件橫向尺寸信息的實(shí)現(xiàn)方法是使視頻橫線剛好跨躍待檢測尺寸的兩端,以橫線生成控制信號(hào)為敏感信號(hào),以二值化處理后的視頻信號(hào)為輸入信號(hào)。當(dāng)敏感信號(hào)為“1”時(shí),進(jìn)程輸出信號(hào)隨二值化信號(hào)變化;當(dāng)敏感信號(hào)為“0”時(shí),進(jìn)程將輸出低電平。這樣得到的信號(hào)波形和縱向尺寸情況一樣。若檢測的是間隙尺寸,將輸出一個(gè)脈寬信號(hào),若檢測的是實(shí)體尺寸,輸出的也是如圖3所示信號(hào)A,用同樣的方法處理可得檢測結(jié)果。
2.3 時(shí)鐘分頻和鍵盤掃描
  時(shí)鐘分頻的功能是將系統(tǒng)提供的主時(shí)鐘進(jìn)行分頻以提供其他模塊所需。本系統(tǒng)主要為視頻線的產(chǎn)生和移動(dòng)所需的延時(shí)進(jìn)行了時(shí)鐘分頻,同時(shí)為單片機(jī)的計(jì)數(shù)頻率也進(jìn)行了時(shí)鐘分頻。在 FPGA 中,時(shí)鐘分頻一般是通過 VHDL 語言的進(jìn)程語句由計(jì)數(shù)器實(shí)現(xiàn)的[3]。
     鍵盤掃描主要是為外部鍵盤提供接口,本系統(tǒng)中按鍵包括對(duì)視頻線的位置、長度、類型、亮度以及待檢尺寸類型等參數(shù)進(jìn)行調(diào)整和選擇,還為所疊加字符的相關(guān)參數(shù)進(jìn)行設(shè)置和調(diào)整,因此可以用 VHDL 設(shè)計(jì)一個(gè)4×4的動(dòng)態(tài)掃描鍵盤[3]來進(jìn)行各參數(shù)的控制。
2.4 疊加電路
    本系統(tǒng)中疊加電路有兩部分,一是視頻橫、豎線與圖像的疊加,其實(shí)現(xiàn)方法是用動(dòng)態(tài)視頻線的生成控制信號(hào)來控制疊加電路,當(dāng)控制信號(hào)為“1”時(shí),疊加電路輸出為一個(gè)可調(diào)灰度電平(在外設(shè)有控制旋紐來調(diào)節(jié)該電平)取代在相應(yīng)行相應(yīng)位置的圖像信號(hào);當(dāng)控制信號(hào)為“0”時(shí),疊加電路輸出為圖像信號(hào),由此實(shí)現(xiàn)在圖像信號(hào)上疊加視頻線。二是字符與視頻圖像的疊加,它是通過專用字符疊加芯片uPD6450[4~5]來實(shí)現(xiàn)的。uPD6450是一種可編程的字符疊加芯片,顯示的字符格式為12×18點(diǎn)陣,內(nèi)部設(shè)有128字的固定字庫,提供多種顯示方式,如閃爍、背景選擇等。
3 軟件設(shè)計(jì)
  系統(tǒng)軟件部分由計(jì)數(shù)單元、數(shù)據(jù)處理、合格分析、偏差處理、顯示處理等單元組成。主程序流程圖如圖4所示。


    為提高測量結(jié)果的準(zhǔn)確性,在計(jì)數(shù)單元部分中對(duì)工件尺寸信息進(jìn)行20場計(jì)數(shù)處理,對(duì)所計(jì)數(shù)值進(jìn)行乘當(dāng)量、取平均值等數(shù)據(jù)處理操作,得到檢測結(jié)果。再對(duì)檢測結(jié)果與標(biāo)準(zhǔn)值進(jìn)行比較,進(jìn)而得出合格性分析結(jié)果。同時(shí),在偏差處理部分還對(duì)不合格的結(jié)果進(jìn)行了偏差判定,最終分析出該結(jié)果相對(duì)于標(biāo)準(zhǔn)值是偏高還是偏低,并且偏高或是偏低標(biāo)準(zhǔn)值的具體數(shù)據(jù)也會(huì)計(jì)算出。在顯示處理部分將把這些分析處理所得的所有結(jié)果都直觀地顯示在監(jiān)視器上。
4 系統(tǒng)精度分析
    為滿足檢測精度的要求,對(duì)系統(tǒng)的脈沖當(dāng)量必需進(jìn)行設(shè)計(jì),其方法是用本系統(tǒng)對(duì)一個(gè)測量精度高的量具(如千分尺)進(jìn)行原始數(shù)據(jù)采集,若標(biāo)準(zhǔn)尺寸(L)所得計(jì)數(shù)值為n,則可得脈沖當(dāng)量為S=L/n。
    將測量公式f=S·N(其中,S表示脈沖當(dāng)量, N表示計(jì)數(shù)值)代入脈沖當(dāng)量計(jì)算式有f=(L·N)/n,則檢測精度表達(dá)式為:
     
     由上式可以看出影響測量精度的因素有標(biāo)準(zhǔn)器的精度(?啄L)和計(jì)數(shù)精度(?啄n、?啄N)。選用精度高(?啄L?。┑臉?biāo)準(zhǔn)器一般對(duì)系統(tǒng)精度影響不大,?啄n和?啄N受計(jì)數(shù)頻率和定位精度影響??紤]到計(jì)數(shù)頻率的穩(wěn)定性,其頻率不宜選得過高(過高會(huì)影響計(jì)數(shù)誤差,起不到明顯效果),也不能選得過低(過低時(shí)脈沖當(dāng)量太大,若有一個(gè)或半個(gè)計(jì)數(shù)值的誤差會(huì)對(duì)系統(tǒng)造成較大影響)。一般根據(jù)實(shí)際需求調(diào)整CCD的放大率和計(jì)數(shù)分頻時(shí)鐘,使脈沖當(dāng)量值高于所需精度值。其次,如果改進(jìn)系統(tǒng)的定位精度將進(jìn)一步提高檢測精度。
    通過大量實(shí)驗(yàn)表明,該方法在1~8mm的尺寸范圍內(nèi)能獲得較好的檢測效果,檢測精度都優(yōu)于0.01mm,而且重復(fù)測量精度高,檢測速度快。若為適應(yīng)其他精度要求,只需調(diào)整CCD的放大率和 FPGA 模塊中的計(jì)數(shù)分頻時(shí)鐘部分的VHDL 程序即可。因此,這種方法特別適合于生產(chǎn)線上縱、橫向尺寸的自動(dòng)化檢測。
5 應(yīng)用
  利用上述原理應(yīng)用于電能表磁推高度自動(dòng)檢測,取得了比較滿意的效果。電能表磁推高度的標(biāo)準(zhǔn)尺寸為1.2±0.1mm,公差帶寬度為0.2mm,則檢測精度為±0.02mm,大量實(shí)測表明本方法測量精度高于0.02mm,排除上料的時(shí)間,檢測速度優(yōu)于 1個(gè)/秒,在檢測速度和檢測精度上都優(yōu)于傳統(tǒng)的人工檢驗(yàn)方法。各種檢測結(jié)果的在屏顯示情況如圖5所示。


    圖5(a)表示待檢電能表磁推高度合格,屏幕上將顯示電能表磁推高度標(biāo)準(zhǔn)值和所檢測的結(jié)果,同時(shí)顯示該電能表的合格性結(jié)果,圖中第三行的“PASS”字樣會(huì)閃爍以提示操作人員進(jìn)行分選操作。
  圖5(b)或(c)表示待檢電能表磁推高度不合格,相對(duì)于標(biāo)準(zhǔn)值偏低(或偏高),屏幕上除了顯示電能表磁推高度標(biāo)準(zhǔn)值和所檢測的結(jié)果之外,還顯示偏差結(jié)果,并且顯示偏低(或偏高)標(biāo)準(zhǔn)值下限(或上限)多少。同時(shí)屏幕中的“LOW”(或“HIGN”)和“FAIL”字樣也會(huì)顯示,以提示操作人員正確操作。
    本文基于FPGA研究了尺寸自動(dòng)檢測原理,并將該原理應(yīng)用于電能表磁推高度的自動(dòng)檢測,取得了很好的效果,表明該技術(shù)應(yīng)用于實(shí)踐能夠大幅度地提高檢測速度和檢測效率。本系統(tǒng)支持ISP技術(shù),方便功能拓展而不用添加新的外圍電路,并且易操作,顯示結(jié)果直觀、靈活,在實(shí)際中可減少人為因素造成的誤判,減輕了勞動(dòng)強(qiáng)度。
參考文獻(xiàn)
[1]  張慶生,李錦玲.光電瞄準(zhǔn)具中的視頻分劃生成技術(shù).光學(xué)技術(shù), 2001(7).
[2]  王慶有. CCD應(yīng)用技術(shù).天津: 天津大學(xué)出版社, 2000.
[3]  辛春艷.VHDL硬件描述語語言.北京:國防工業(yè)出版社,2002.
[4]  孫洪波,楊兆選,楊同實(shí). OSD芯片uPD6450及其應(yīng)用.電子技術(shù)應(yīng)用,1997,23(4).
[5]  uPD6450 Video Design Guides.NEC,2001.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。