【正文】
0), max_error(N1), error00(N1, N2) As Single 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 39 ’定義每個截面的最大壁厚點 Dim maxPoint() As Integer ReDim maxPoint(N1) As Integer ’定義所有截面中的最大壁厚超差量 Dim errormax As Single Dim XStartPosition As Single ’加工時磨頭運動起始點 XStartPosition = dis Dim du As Single du = 360 Dim p As Integer Dim r As Integer Dim PiontNum As Integer ’每圈磨削點數(shù) PiontNum = N2 + 1 Dim GrindingPitch As Single ’螺 旋線的螺距 ’螺旋線螺距的計算與磨頭移動速度及 A 軸轉(zhuǎn)速的設(shè)置有關(guān) GrindingPitch = FeedRateGX / FeedRateGA Dim workpiece_long As Single ’工作長度 workpiece_long = l dis ’工作長度 =終點-起點 ’找出每個截面的最小壁厚 For i = 0 To N1 min_d(i, 0) = d(i, 0) For j = 0 To N2 If min_d(i, 0) d(i, j) Then min_d(i, 0) = d(i, j) 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 40 End If Next j Next i ’求得每個截面所有點的超差量 For i = 0 To N1 For j = 0 To N2 error00(i, j) = d(i, j) min_d(i, 0) ’超 差量 =該點壁厚-壁厚最小值 Next j Next i ’找出每個截面的最大壁厚超差量 For i = 0 To N1 max_error(i) = error00(i, 0) For j = 0 To N2 If max_error(i) error00(i, j) Then max_error(i) = error00(i, j) maxPoint(i) = j ’獲取每個截面的最大壁厚點 End If Next j Next i ’找出所有截面中的最大壁厚超差量 errormax = max_error(0) For i = 0 To N1 If errormax max_error(i) Then 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 41 errormax = max_error(i) End If Next i 二、判斷截面是否需要磨削 對于某截面的磨削判斷可采用如圖 26的方法。 根據(jù)以上思想,繪制流程圖 2,如圖 21所示(可見附錄) q = q + 1q 0Nq = 0q = N 1YNj = j + 1i = i + 1i = q 1i = 0Yq N 1i = q + 1YYf ( q ) = T r u eYYj = 0d ( i , j ) = d ( q , j )j = N 2Nf ( i ) = T r u ed ( i , j ) = d ( i 1 , j )j = j + 1j = N 2YNj = 0Ni = i + 1i = N 1Y結(jié) 束NYNN 圖 21 流程圖 2 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 32 相應程序段如下(詳見附錄) Dim i, j, k, q As Integer Dim m, n As Integer m = N1 n = N2 k = 0 q = 0 39。重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 25 二、 數(shù)據(jù)的處理 ( 1)異常數(shù)據(jù)判斷及數(shù)據(jù)處理一 在理想狀態(tài)下,每個點壁厚的三次檢測值應當一致,可是現(xiàn)實中不可能保證完全重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 26 相同,還可能因為合金管存在裂紋或者水內(nèi)有雜質(zhì),導致三次測量值存在很大偏差。測量起始點,測量終點 Dim distance, rad As Single 39。合金管再轉(zhuǎn)動 18度,檢測下一個點 M50 G04 M51 ...... ...... ...... G01 X= 0 A=DC( 342) F 4000 M50 G04 M51 G0 X= 0 A=DC( ) M50 G04 M51 R10=2 39。安裝板卡過程如圖 1 1 16 所示。 材料名稱 動摩擦系數(shù) 鋼 鋼 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 9 鋼 鋁 硬木 鋼 軟木 鋼 尼龍 鋼 聚四氟乙烯 鋼 表 1 材料動摩擦系數(shù) 三、檢測裝置機構(gòu)設(shè)計 ( 1)測量單個截面的壁厚時, 合金管每轉(zhuǎn)動一次,傳感器測量一個點的壁厚,在轉(zhuǎn)動過程中,由于不同點壁厚值不同,為了測量結(jié)果準確,密封塊應當能夠根據(jù)不同的壁厚在截面徑向和截面圓周方向能夠自動調(diào)節(jié),以保證與管面貼合良好。 二、檢測方案 對于一根合金管來說,其截面有無窮多個,每個截面上的點也有無窮多個,因此考慮通過從合金管一端靠近起點處選擇一個截面開始測量,測量完該截面后,移動一定位移測量下一個截面,再等間距地移動至下一個截面,進行測量,如此循環(huán)下去,直至整根管坯測量結(jié)束,如圖 4所示。本課題要求在掌握合金管壁厚測量以及磨削基本要求和工藝的基礎(chǔ)上,了解現(xiàn)有壁厚測量方 法設(shè)計壁厚測量系統(tǒng),合理選用測量裝置、編寫壁厚誤差采集程序、數(shù)據(jù)處理程序,并且能夠根據(jù)采集的壁厚數(shù)據(jù)生成加工程序。其中心與靶子的機械軸線重合。按照信息獲得的途徑不同 ,無直線基準測量法又可分為反向法、錯位法和多測頭法。 本課題研究的背景 一、 本課題研究的意義 鋼管是應用最廣泛的鋼材品種 ..它的質(zhì)量直接影響到經(jīng)濟效益及人員的生命安全。 無直線基準測量 無直線基準測量法 ,是指被測對象直線度的測量不是與某種直線基準進行比較 ,而是沿被測表面以線值測量的方法 ,得到被測表面上各采樣點的偏差值 ,然后經(jīng)數(shù)據(jù)處理得到被測對象的直線度誤差值。該法具有高精度、測量靈活、系統(tǒng)柔性好的優(yōu)點 ,但測量屬于接觸測量 ,對于定位點的確定需要一定 技巧 ,測量速度較慢。 本課題的主要內(nèi)容 本課題要求完成對 直線度檢測機的 設(shè)計。一次回波與二次回波之間的時間差 t與聲速 v 乘積就是工件厚度 d,即 d=vt。 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 8 圖 7 密封塊裝置 圖 8 密封塊裝置 二、密封塊的材料選擇 為了在轉(zhuǎn)動過程中,盡量減小測量誤差,要求密封塊在測量過程中與合金管貼合良好,因此密封塊的材料選擇尤為重要。 二、數(shù)據(jù)采集卡選型 由于超聲波傳感器輸出的信號為模擬量,要想得到壁厚的數(shù)據(jù),必須對傳感器輸出的這些模擬量進行處理。 基于以上思想,編制檢測程序如下(詳見附表) TRANS X= 10 ’定位到起始點,距離左端面 10mm R10=1 ’開始對第一個截面進行第一次檢測 G0 X= 0 A=DC( 0) ’以起始點為零點,將其角度定為 0度 M32 ’檢測裝置壓下 M07 ’通水 G04 F10 ’暫停 10秒鐘 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 17 G0 A=DC(30) ’正向轉(zhuǎn)動 30度 G0 A=IC(0) ’反向轉(zhuǎn)動 30度,回到起始點 M50 ’ 開始檢測 G04 ’暫停 M51 ’停止檢測 G01 X= 0 A=DC( 18) F 4000 39。 讀取完畢后,將數(shù)組 g( 10000,2)中存取的數(shù)據(jù)對應賦值給二維數(shù)組 a(N1, N2), b(N1, N2), c(N1, N2)用來存放每個點的三次檢 測值。定義循環(huán)次數(shù) ReDim e(N1, N2), f(N1) As Boolean Dim str1() As String ReDim str1(m) As String Dim n As Integer Dim Strconv1, Strconv2 As String Dim sss() As String 重慶理工大學畢業(yè)論文 合金管數(shù)控砂帶磨床測量系統(tǒng)設(shè)計 24 Open D:\ For Input As 1 For n = 0 To m Line Input 1, str1(n) Strconv1 = Trim(str1(n)) ’去掉每行第一個空格 Strconv2 = Replace(Strconv1, , ) ’兩個空格變?yōu)橐粋€ sss = Split(Strconv2, ) ’提取出每行的三個數(shù) g(n, 0) = Val(sss(2)) ’提取出每行第三個數(shù),即壁厚值 Line Input 1, str1(n) Strconv1 = Trim(str1(n)) Strconv2 = Replace(Strconv1, , )