4. 將記錄的數(shù)值輸入系統(tǒng)之內(nèi),,系統(tǒng)會(huì)自動(dòng)生成X軸Z向的直線度誤差(圖2)
. @, J/ O0 r' P- A/ K0 q) @5 M. T/ h8 Q& j
圖1 X軸Z向直線度檢測(cè)示意圖
$ k) @* b1 I/ R- X. z: n* a
2 B5 P4 k! b# @, v
0 P4 h3 W! {; t- A; H6 [2 K+ o8 V# J& ], V! h
圖2 檢驗(yàn)結(jié)果樣例
5 ]4 X) H9 q3 ]3 g2 H: Q. h M2 ]4 P& Z8 w
問題的提出:
5 o6 `; O* B6 C: h, n; B# p' m公司規(guī)定的該處直線度誤差應(yīng)為11μm之內(nèi),,據(jù)車間及工藝反映:,自從該機(jī)型量產(chǎn)后的幾十臺(tái)檢驗(yàn)結(jié)果,,該處直線度誤差一直在超差邊緣,,機(jī)械調(diào)整非常困難,公司內(nèi)部不允許在工廠階段進(jìn)行軟件優(yōu)化補(bǔ)償,,因?yàn)楝F(xiàn)在我主管該產(chǎn)品了,,恰好之前按照總部的要求將導(dǎo)軌及絲杠都做了優(yōu)化改進(jìn),鑄件也都做了更改,,超差的兩臺(tái)機(jī)器正好是前兩臺(tái)樣機(jī),,于是質(zhì)量部門召開了一次會(huì)議,要求從機(jī)械上想辦法對(duì)該問題做出一些分析,,并提出改進(jìn)的辦法,。
' U) {% L1 A7 Y `
解決問題的思路: a/ Z8 f# Y/ Q: s* o* H
聯(lián)想到該機(jī)床的基本結(jié)構(gòu),,立柱中間為了放置轉(zhuǎn)臺(tái)開了一個(gè)很大的口子,這必然影響到整個(gè)機(jī)床在此處的剛性,,反映到上面提到的x軸z方向直線度便是兩側(cè)高而中間低的情況,,這在軟件上也非常清楚的顯示了出來(圖3),解決的辦法就是在立柱的導(dǎo)軌上加工出一個(gè)中凸的曲線來抵消重力對(duì)直線度的影響,。
) L$ m2 C2 P; D6 H$ w2 t7 \; i, @( b! a/ `' q/ Z: H
圖3 直線度誤差曲線圖
G. A% H9 p& O% M& a/ y+ P4 Q* c問題的一般化:4 i6 N* f. Q4 V5 h7 G
我的雄心絕不僅僅是隨便給出一個(gè)結(jié)果這么簡(jiǎn)單,,我想把這個(gè)問題更加一般化:
L6 J, L4 |6 L+ I( V1 i! F1.如何根據(jù)輸入的幾個(gè)點(diǎn)求整條軸的直線度?
& P. |* m6 {. Z' d7 q" U3 K4 D2.如果該直線度的走向有規(guī)律可循,如何找到該規(guī)律,?換言之,,該直線度的走向能否被一條曲線擬合,如果能,,那曲線的方程應(yīng)該是什么,?
) z0 K9 M* m7 R" K6 ]0 r4 o. q
3.如果我手上有幾十臺(tái)該直線度的檢測(cè)數(shù)據(jù),我如何來求得最適合的一條擬合曲線,?
' ~" o( [; f/ x, ~1 B0 H
4.如何求得3中提出來的擬合曲線的補(bǔ)償曲線,?
7 f1 T2 ~4 k: l1 e" a1 Q
5.補(bǔ)償曲線求好后,如何反推其正確性(通過已有的機(jī)床直線度數(shù)據(jù)反求)
, {3 W8 O) p% O( G% z9 m1 O
具體的解決思路:# F. E0 _4 c- E8 y& A. T: k/ ] e
為了便于理解,,我對(duì)機(jī)床軸和坐標(biāo)軸的對(duì)應(yīng)關(guān)系做一個(gè)描述:令機(jī)床軸X軸的中點(diǎn)作為坐標(biāo)的原點(diǎn),,坐標(biāo)軸X軸的正向?yàn)闄C(jī)床軸X軸行程的正向,這樣,,這個(gè)問題中700mm的行程可以在坐標(biāo)軸上對(duì)應(yīng)為為X軸的-350,,-320,…,,0,,…,320,,350,,單位為毫米,坐標(biāo)軸Y軸和機(jī)床Z軸重合,,方向一直,,單位為微米。
) _' Y) h/ E* `# }0 z( x
1.如何根據(jù)輸入的幾個(gè)點(diǎn)求整條軸的直線度?
) D; b/ P+ U: |* C這個(gè)問題比較簡(jiǎn)單,,只要在坐標(biāo)軸上畫出每個(gè)點(diǎn)對(duì)應(yīng)的X軸Z方向的直線度測(cè)量數(shù)據(jù),,然后通過最小二乘法擬合出一條直線,每個(gè)點(diǎn)與該直線的豎直距離(注意是Z方向差值的絕對(duì)值,,而不是點(diǎn)到直線的垂直距離,,這個(gè)具體可以參考最小二乘法的定義及求法)的差值即為該點(diǎn)的偏差值,,這個(gè)行程上點(diǎn)與點(diǎn)之間偏差值的差的最大值就是X軸在Z方向的直線度,。下面就以圖2的檢測(cè)數(shù)據(jù)為例編程求出該機(jī)床的X軸Z方向直線度(圖4),。
$ |) t9 Z2 G# W4 n) X( @
圖4 X軸Z方向的直線度求法模擬
1 @7 P% q* G! |/ c8 g- z8 f由圖中可以看出,用該方法求出的偏差值及直線度誤差與系統(tǒng)給出的完全一致,,這里給出的精度甚至更高,。(具體的編程代碼我就不給出了,熟悉編程的朋友可以自己去編個(gè)看看)
2.如果該直線度的走向有規(guī)律可循,,如何找到該規(guī)律,?換言之,該直線度的走向能否被一條曲線擬合,,如果能,,那曲線的方程應(yīng)該是什么?
: f& ]' u- d, w4 p2 H% d9 }7 H
上面既然求出了每個(gè)點(diǎn)的實(shí)際偏差值,,問題就簡(jiǎn)單了:把實(shí)際偏差值輸入到坐標(biāo)軸中,,用合適的曲線模擬出偏差的趨勢(shì)或走向,用的當(dāng)然還是最小二乘法,。至于擬合曲線的選取,,我這里選擇了二次曲線,當(dāng)然讀者也可以選更高次的曲線模擬,。(圖5)
* G: C# m% w" P- t: z3 M5 ]
. ^* Z! h2 u& f' K* v2 f, m
圖5 用二次曲線擬合直線度偏差點(diǎn)
6 W- C6 m! Y- U. j3 F
+ I3 ?. z+ X& D# c- P2 m
從圖中可見,,模擬的效果還是不錯(cuò)的,點(diǎn)的位置基本上符合了二次曲線的規(guī)律,。
# }3 I, O& b4 h% R/ E
i1 O- @* K* J W6 k
3.如果我手上有幾十臺(tái)該直線度的檢測(cè)數(shù)據(jù),,我如何來求得最適合的一條擬合曲線?
$ ?& g' \& g5 r, A) b+ x5 F從問題2中我們可以求得每臺(tái)機(jī)床的直線度情況,,但是供應(yīng)商加工鑄件的精度在一定范圍內(nèi)是隨機(jī)的,,這就需要我們從大數(shù)據(jù)中求得最適合的一條曲線,通過該條曲線的加工補(bǔ)償,,可以使得每臺(tái)機(jī)床直線度都不至于偏離太遠(yuǎn),。這個(gè)最適合應(yīng)該怎么定義呢?我還是使用最小二乘法的原理,,在軸的每個(gè)特定位置求出剛剛擬合出的幾十條曲線的直線度偏差值,,然后找到該位置上的一個(gè)偏差值使得該值到其他機(jī)床在該位置偏差的距離的平方和最小,如此再做最小二乘擬合,,所得的二次曲線便是幾十臺(tái)機(jī)床直線度誤差的平均值了,。(圖6). y x7 N$ K3 q; W. q6 E
4 E( q6 b& w- v% ] b
圖6 多臺(tái)機(jī)床直線度數(shù)據(jù)擬合
5 j! L2 p6 w/ c
' Y+ p% E& l) W2 ?+ y \
本次我一共擬合了10臺(tái)的數(shù)據(jù),得到了上述的表達(dá)式和函數(shù)圖像
. d7 S$ y- p$ Z* ?! e8 I
4.如何求得3中提出來的擬合曲線的補(bǔ)償曲線,?
$ i% L4 r4 |* L, ^" L上面的曲線方程出來以后,,這一步也就可以順利解答了,只要把上面的方程按X軸對(duì)稱即可得到補(bǔ)償函數(shù),,當(dāng)然這個(gè)函數(shù)還不是我們要的,,為了方便加工,,給出的函數(shù)需要假設(shè)兩頭為0,中間高,,從而讓加工廠不必費(fèi)力再去計(jì)算各點(diǎn)的差值,,直接從函數(shù)中就可以計(jì)算出每個(gè)點(diǎn)的補(bǔ)償值。(圖7)當(dāng)然考慮的實(shí)際的精度,,中間一項(xiàng)可以刪除,。從而得到更加簡(jiǎn)潔的函數(shù)表達(dá)式。
# r1 h* b4 y! u; ^( j
圖7 最終得到的可用于加工的補(bǔ)償函數(shù)及圖像
7 p1 I( c, h) `9 s1 o1 {+ d
. \" K# M+ I" x- A$ Q1 ^; ~+ b
5.補(bǔ)償曲線求好后,,如何反推其正確性(通過已有的機(jī)床直線度數(shù)據(jù)反求)
把上面求出的補(bǔ)償曲線與每臺(tái)機(jī)床的直線度誤差曲線合并后,,再使用步驟1的方法可以得到補(bǔ)償后的結(jié)果。(圖8)
1 s$ n, r" Y/ Z* H5 r! F. Q0 U
) H& g/ E0 w/ F圖8 補(bǔ)償前后直線度誤差對(duì)比
1 ]7 q; ~$ g0 T' V3 j" j( G
; \% L/ G' z2 A: _& T2 W- a 由上圖可以看出,,補(bǔ)償后的直線度誤差沒有超過6微米的,,除了第5臺(tái)機(jī)床,其他的都要明顯好于補(bǔ)償前的結(jié)果,。
: q! P. ^! [) v. q結(jié)論:8 Q. l3 C s. G8 [% @; {% ^! H% O
通過機(jī)械的補(bǔ)償可以達(dá)到預(yù)期的效果,,但是值得注意的是,補(bǔ)償后的誤差仍然可以通過系統(tǒng)插值法來進(jìn)一步補(bǔ)償,。而軟件補(bǔ)償是針對(duì)單臺(tái)機(jī)床來說的,,從下圖可以看到,如果需要,,二次補(bǔ)償后直線度在1微米之內(nèi)甚至更高精度要求內(nèi)完全沒有問題,。
8 A( b0 F' W0 J% i" ~* x! v
( g" S" c+ s$ _, X( {圖9 補(bǔ)償后的偏差仍然可以通過二次曲線在軟件中補(bǔ)償
2 J1 @. O" G; L0 l' T
' }# u r" E9 l. _/ X; D; d4 b Y; [4 _& \2 o! b" T# S
8 W" l/ W3 Z0 _+ k8 D3 h
7 k; S* G2 _1 a0 N