黃仕磊,莫慶凱,宋國堃
(四川大學四川成都610065)
定位精度的高低直接影響了測量精度,尤其是在精密輪廓方面更要求被測件的準確定位[1]。考慮到在線測量的工件始終在定位面上并且在做連續或間斷運動,因此,用V形架或矩形架較合理一些。在實際研究過程中,用同步帶作為傳動機構,原理如圖1。被測件在同步帶上,可將其一面視為簡支梁,從宏觀看受均布荷載作用,如圖2所示,若抗彎剛度為EI,則易得兩端A、B處的支反力均為向上的用截面法可得彎矩方程:


圖1 柱狀工件定位示意圖

圖2 同步帶一面受力圖
并在中心

其中:E為彈性模量,慣性,b為帶長,h 為帶高[1-2]。由于這個誤差主要使得被測件理論中心線與CCD理論中心線不重合,而對平行度的影響較小,所以此誤差可由圖像處理程序減小。
CCD系統的物鏡采用變焦物鏡,其焦距變化是通過一個或多個子系統的軸向移動、改變光組間隔來實現的[3]。一種典型的結構型式如圖3。被測件與CCD的空間位置關系一般有兩種,分別是臥式和立式如圖4所示。

圖3 變焦物鏡原理圖

圖4 鏡頭與被測件運動方向示意圖
臥式使得被測件連續送達CCD鏡頭前時沿水平方向有跳動(圖中箭頭),若使物方截距L變大,由于垂軸放大率β和軸向放大率α為:

于是得α恒大于零,因此L′變小,垂軸放大率β變小,像高變小,所以,水平方向的定位不準會導致相同大小的被測件每次的圖像大小不同。另一種是立式,這種方式由于物方截距L變化小,克服了水平方式的不足,但是,立式也會出現水平跳動(圖中箭頭)。解決這個問題可以利用圖像對準,使被測件圖像基準線與標準圖基準線重合的辦法。在系統的整體設計時采用的是臥式,此時,圖像處理運用了其他數學算法,減小了由于物方截距L變化帶來的誤差。另外,光源形式有對射式的面光源和反射式的環形光源,圖4所示。實驗結果表明,由于被測件比背景的反光率高且被測件面積大,所以用環形光源效果好,但是對射式的應用范圍更廣,具體視情況而定。
送達檢測系統的被測件是不應該有抖動的,最重要的是,被測件的理論中心線應與CCD的理論中心線平行或重合(圖5中的點劃線)。不然,CCD檢測的將不是所需要的面,而是整個被測件在CCD平面上的投影(圖5所示虛線),這個傾斜角將使得檢測不準。

圖5 傾斜誤差分析原理圖
由圖5知:

若忽略θ2帶來的二次微小誤差[5],則:

若被測件 h=20 mm ,θ=5′則 ΔS≈0.029 mm≈30 μm。可見,θ一定時,d的大小對h造成的誤差有補償作用;d的大小產生二次誤差可忽略,但是,h的大小產生一次誤差不可忽略,并且誤差隨h的變大而增大。因此h應盡量小,也表明對于厚度較大的被測件的測量誤差大,這是該技術的局限性之一。
考慮到盡量減小傾角θ,于是設計了基于剛性結構的檢測系統,原理圖如圖6所示。

圖6 剛性檢測系統原理圖
步進電機7及傳動系統8帶動V形架轉輪6做間隙轉動,每次的轉角為22.5°,使得被測件自動連續地從斜面上進入V形架。在間隙的時間段內,CCD采集圖像送達CPU進行分析,若是不合格件,則當V形架轉輪轉到分選架3的位置時被分選架選出送入盛物臺,若是合格件,則分選架不轉動,致使被測件進入機架系統。這樣就實現了在線檢測并分選。此系統的V形架轉輪前后有兩個,用于定位,與CCD屬于臥式放置。其優點是V形架是剛性的,前后兩轉輪大小相同,若選擇精度較高的加工工藝和合理的軸就能保證被測件理論中心線與CCD理論中心線的平行度,可靠性高,復現性好,但該系統的分選架和機架系統結構較為復雜。
在工程實際中由于同步帶傳動優點眾多,工程中常用[4]。基于此,運用同步帶作為傳動系統具有實踐意義。系統的原理如圖7所示,步進電機10及傳動系統11使同步帶12間隙傳動,間隙距離為光電開關3右側端和CCD相機4中心線之間的距離,光電開關用于定位。在間隙時間內,CCD相機采集圖像并送入CPU,CPU對工件的合格與否做出判斷,用執行信號控制電磁閥使氣缸沿導軌做直線運動,致使分選臺滑動,將合格與不合格的被測件分開實現在線檢測并分選。圖7中的光電開關采用對射式,因此光電開關的夾持件至少應水平可調,以保證光電開關的對射線與CCD理論中心線平行。圖7中CCD相機的夾持件則需要在三個坐標上可微調,以保證CCD的理論中心線與矩形架的中心線平行。經實驗表明,這三個部件的平行度越高,檢測精度就越高,其原因是平行度越高,傾角越小,傾斜誤差也就越小。另外,此系統除傾斜外,振動也是重要的誤差源,當CCD采集圖像時,振動會使圖像失真。解決的辦法是當帶過長時外加滾輪,改變原有的應力分布;讓電機轉動更平穩;增大間隙過程的啟動和減速時間;增大圖像采集延時時間等。

圖7 帶傳動檢測系統原理圖
整個分選臺由氣壓傳動系統控制,氣源裝置進氣,氣缸帶動分選臺做往復運動[6]。氣缸的固定采用支座式軸向耳座。其中雙作用氣缸的換向回路原理圖如圖8所示。

圖8 換向回路原理圖
這種電磁閥是常開式二位五通單作用電磁控制電磁閥,它的壓強范圍為0.2~0.8 MPa,控制電路采用繼電器控制[7]。經試驗結果表明,由于氣缸帶動的滑塊有一定阻力,所以氣壓調節為0.6 MPa左右效果比較好。因為被測件停留的間隙時間大于CCD采集的時間,約為2.5 s,又遠大與氣缸的運動時間,所以雙作用普通式氣缸的兩個方向輸出的力和速度不等的缺點對分選影響很小,可忽略。
上位機程序為控制者提供人機交互服務,并控制下位機執行相應操作。上位機的穩定性、可靠性對工業控制系統的優劣有很大影響。本項目使用VB.NET編寫上位機程序,具有開發效率高、代碼維護方便等優點[8]。
上位機程序主界面如圖9所示,界面上分“監控”和“質量檢測”兩大區域:1)“監控”區域主要用于顯示系統總工作狀態,光電開關狀態,氣缸狀態,以及步進電機狀態。“運行”按鈕可控制系統的運行和停止,而“參數設置”則可以對設備運行參數進行設置。2)“質量檢測”區域主要用于顯示經過處理后的產品圖像以及合格與不合格的產品數。

圖9 上位機程序主界面
上位機程序的核心部分為上位機與下位機通信以及VB.NET與Matlab混合編程的實現[9-10]。上位機程序框圖設計如圖10所示。

圖10 上位機程序框圖
研究中使用異步通信,實現上位機與下位機通信。異步通信相對同步通信而言,傳輸數據的速度較慢,但若在一次串行數據傳輸的過程中出現錯誤,僅影響一個字節數據,因而使用異步通信更加可靠。VB.NET在NET Framework 2.0類庫包含了SerialPort類,實現串口通信的多種功能[8]。為實現與下位機進行通信,首先應在VB.NET項目中添加SerialPort控件,并對其進行如下操作:
1)設置SerialPort控件屬性
SerialPort.PortName = “COM1”
SerialPort.BaudRate=9600
SerialPort.DataBits=8
SerialPort.StopBits=1
2)打開串口
SerialPort.Open()
3)在DataReceived事件中添加數據處理程序代碼
Private Sub SerialPort_DataRecevied(ByVal_
sender As