王華玲,姜海林,李蕓,何超,陳文
(1.淮陰工學(xué)院機(jī)械與材料工程學(xué)院,江蘇淮安 223003;2.淮陰工學(xué)院江蘇省先進(jìn)制造技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇淮安223003)
車(chē)床導(dǎo)軌是車(chē)床上用來(lái)確定各主要部件相對(duì)位置關(guān)系的基準(zhǔn),車(chē)床上的運(yùn)動(dòng)部件通過(guò)導(dǎo)軌進(jìn)行導(dǎo)向。導(dǎo)軌的運(yùn)動(dòng)軌跡一旦產(chǎn)生誤差,將會(huì)改變車(chē)床中各個(gè)部件的相對(duì)位置關(guān)系,破壞運(yùn)動(dòng)部件之間相對(duì)運(yùn)動(dòng)的準(zhǔn)確性,最終影響被加工零件的加工精度。因此,車(chē)床導(dǎo)軌的精度測(cè)量具有重要的意義。
要提高車(chē)床導(dǎo)軌精度,一是采用精度和自動(dòng)化程度特別高的測(cè)量?jī)x器,但這種儀器價(jià)格昂貴,運(yùn)行維護(hù)費(fèi)用也比較大;二是選擇價(jià)格適中、精度較高的測(cè)量?jī)x器,同時(shí)提高精度計(jì)算方法。目前,精度計(jì)算主要通過(guò)人工或者利用Word、Excel中的某些功能實(shí)現(xiàn),這種方法人為因素多、不直觀(guān)、精度低、不能實(shí)現(xiàn)自動(dòng)化測(cè)量,特別是數(shù)據(jù)較多時(shí)計(jì)算量大。與傳統(tǒng)儀器相比,虛擬儀器(Virtual Instrument,VI)具有測(cè)量精度高、開(kāi)發(fā)成本低、測(cè)量速度快、由用戶(hù)定義儀器功能、技術(shù)更新快、易于擴(kuò)展、節(jié)省硬件投資等特點(diǎn)。基于以上原因,開(kāi)發(fā)一種測(cè)量精度、性?xún)r(jià)比、自動(dòng)化和分析速度均較高的車(chē)床導(dǎo)軌精度分析系統(tǒng)非常有意義。
導(dǎo)軌的精度一般是指導(dǎo)軌的導(dǎo)向精度,即指動(dòng)導(dǎo)軌沿支承導(dǎo)軌運(yùn)動(dòng)時(shí)導(dǎo)軌軌跡的準(zhǔn)確性。不管導(dǎo)軌屬于何種組合,其基本精度有:導(dǎo)軌在垂直平面內(nèi)的直線(xiàn)度,導(dǎo)軌在水平面內(nèi)的直線(xiàn)度,兩導(dǎo)軌在垂直平面內(nèi)的平行度(又稱(chēng)“扭曲度”)。其中導(dǎo)軌在水平面內(nèi)的直線(xiàn)度,在機(jī)床精度中一直占有重要的地位。
所研發(fā)的數(shù)控車(chē)床導(dǎo)軌精度檢測(cè)系統(tǒng)由帶有USB接口的百分表、數(shù)據(jù)采集軟件和基于LabVIEW軟件的精度分析程序構(gòu)成,其整體設(shè)計(jì)框架如圖1所示。百分表將測(cè)量的車(chē)床導(dǎo)軌數(shù)據(jù)傳遞給配套的數(shù)據(jù)采集軟件,保存成LabVIEW軟件可以讀取的數(shù)據(jù)格式,然后導(dǎo)入LabVIEW平臺(tái)下的車(chē)床導(dǎo)軌精度分析系統(tǒng),實(shí)現(xiàn)直線(xiàn)度分析與計(jì)算、平行度分析與計(jì)算等。該系統(tǒng)以靈活的軟件功能代替固化的硬件,通過(guò)軟件優(yōu)勢(shì)來(lái)彌補(bǔ)硬件設(shè)備的缺陷,不僅提高了測(cè)試系統(tǒng)的測(cè)量精度、自動(dòng)化程度、可靠性和靈活性,而且大大降低了實(shí)驗(yàn)室在儀器設(shè)備方面的投入。
圖1 系統(tǒng)整體設(shè)計(jì)框架
數(shù)據(jù)采集(Data Acquisition,DAQ)主要是從傳感器和其他待測(cè)設(shè)備等模擬或數(shù)字被測(cè)單元中自動(dòng)采集信息的過(guò)程,一般的數(shù)據(jù)采集系統(tǒng)包括傳感器、數(shù)據(jù)采集卡和數(shù)據(jù)采集程序。該數(shù)據(jù)采集系統(tǒng)由百分表和數(shù)據(jù)采集軟件2.6(如圖2所示)組成,采集軟件通過(guò)帶有USB接口的數(shù)據(jù)線(xiàn)與數(shù)顯百分表相連接,百分表利用帶有磁性的底座固定在數(shù)控車(chē)床的導(dǎo)軌上,移動(dòng)車(chē)床導(dǎo)軌時(shí),百分表自動(dòng)讀取數(shù)據(jù),然后顯示在數(shù)據(jù)采集軟件中。該采集軟件將車(chē)床導(dǎo)軌直線(xiàn)度數(shù)據(jù)保存成Excel文檔,以供后續(xù)程序使用。
圖2 數(shù)據(jù)采集軟件2.6
數(shù)據(jù)采集軟件屬于百分表自帶的配套軟件,具有安裝方便、操作簡(jiǎn)單、反應(yīng)迅速等特點(diǎn),它與LabVIEW軟件中的數(shù)據(jù)讀取程序銜接,在此設(shè)計(jì)中起著至關(guān)重要的“橋梁”作用。
文中主要以數(shù)控車(chē)床導(dǎo)軌在水平面內(nèi)的直線(xiàn)度為切入點(diǎn),利用LabVIEW軟件,設(shè)計(jì)了車(chē)床導(dǎo)軌直線(xiàn)度誤差分析系統(tǒng)。LabVIEW是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語(yǔ)言,與其他軟件相比,它具有直觀(guān)易學(xué)、模塊化、通用編程系統(tǒng)、圖形化的強(qiáng)大分析與處理能力等特點(diǎn)?;贚abVIEW平臺(tái)的VI程序主要由兩部分組成:前面板和程序框圖(也稱(chēng)為后面板)。前面板的功能相當(dāng)于傳統(tǒng)儀器的操作面板,程序框圖的功能相當(dāng)于傳統(tǒng)測(cè)試儀器箱內(nèi)的硬件電路或電路板。該分析系統(tǒng)采用模塊化設(shè)計(jì)思路,每個(gè)模塊之間既相互獨(dú)立,又密切相關(guān),不僅降低了模塊對(duì)其他對(duì)象的依賴(lài),而且層次清晰,易于編輯和維護(hù)。
數(shù)控車(chē)床導(dǎo)軌直線(xiàn)度誤差分析系統(tǒng)集系統(tǒng)首頁(yè)界面、讀取導(dǎo)軌直線(xiàn)度數(shù)據(jù)、分析計(jì)算直線(xiàn)度誤差、保存誤差數(shù)據(jù)等功能于一體。程序?qū)⒏鱾€(gè)具有獨(dú)立功能的儀器設(shè)計(jì)為不同的子VI,所有子模塊通過(guò)主程序中的選項(xiàng)卡控件和子面板控件進(jìn)行調(diào)用,利用LabVIEW中的數(shù)據(jù)庫(kù)和強(qiáng)大的計(jì)算功能,實(shí)現(xiàn)車(chē)床導(dǎo)軌直線(xiàn)度智能化分析與計(jì)算。程序開(kāi)始運(yùn)行后,彈出用戶(hù)名和密碼輸入對(duì)話(huà)框,當(dāng)密碼正確時(shí)進(jìn)入系統(tǒng)首頁(yè)界面(如圖3所示)。該系統(tǒng)的每個(gè)模塊之間通過(guò)圖3中的①號(hào)下拉菜單進(jìn)行切換,首先通過(guò)“讀取導(dǎo)軌直線(xiàn)度數(shù)據(jù)”模塊將前面保存的Excel數(shù)據(jù)讀取出來(lái),然后傳遞到“分析計(jì)算直線(xiàn)度誤差”模塊中,根據(jù)3種不同的分析方法計(jì)算直線(xiàn)度誤差,最后將3種誤差計(jì)算結(jié)果保存成文本文件,方便線(xiàn)下對(duì)比和統(tǒng)計(jì)。系統(tǒng)總程序框圖如圖4所示。
圖3 系統(tǒng)首頁(yè)界面前面板
圖4 系統(tǒng)總程序框圖
要對(duì)直線(xiàn)度數(shù)據(jù)進(jìn)行誤差分析與計(jì)算,首先要解決如何將采集的數(shù)據(jù)導(dǎo)入LabVIEW程序中。由圖2可以看出:數(shù)據(jù)采集軟件中共有5列信息,而且該軟件只能將所有的列保存成Excel格式。但是與誤差分析計(jì)算有關(guān)的只有第1列編號(hào)(即數(shù)據(jù)個(gè)數(shù))和第2列數(shù)據(jù)值(即直線(xiàn)度數(shù)據(jù)),因此,在設(shè)計(jì)直線(xiàn)度數(shù)據(jù)讀取程序時(shí),要分離出第1列和第2列數(shù)據(jù)。利用“函數(shù)”選板>>“編程”子選板>>文件輸入/輸出VI>>讀取電子表格子VI,以及“數(shù)組”函數(shù)子選板中的各種數(shù)組函數(shù),來(lái)讀取采集數(shù)據(jù)個(gè)數(shù)和直線(xiàn)度數(shù)據(jù)。導(dǎo)軌直線(xiàn)度數(shù)據(jù)讀取程序(框圖)如圖5所示。
圖5 數(shù)據(jù)讀取程序框圖
直線(xiàn)度誤差分析的主要方法有兩端點(diǎn)法、最小二乘法和最小包容法。其中,最小包容法與直線(xiàn)度定義相吻合,精度最高,不過(guò)計(jì)算過(guò)程比較復(fù)雜,平時(shí)很少使用;兩端點(diǎn)法精度最差,但是由于計(jì)算簡(jiǎn)單方便,所以目前人工計(jì)算用得最多;最小二乘法介于兩端點(diǎn)法和最小包容法之間,比較適合計(jì)算機(jī)編程計(jì)算。文中重點(diǎn)闡述了用最小二乘法進(jìn)行直線(xiàn)度誤差計(jì)算的理論分析過(guò)程和程序設(shè)計(jì),同時(shí)還簡(jiǎn)單介紹了兩端點(diǎn)法和線(xiàn)性擬合法。
3.2.1 最小二乘法求直線(xiàn)度誤差
(1)基于最小二乘原理的傳統(tǒng)計(jì)算過(guò)程
最小二乘法主要是通過(guò)數(shù)學(xué)計(jì)算尋找到最小二乘直線(xiàn),也就是計(jì)算實(shí)際測(cè)量的點(diǎn)到某一條直線(xiàn)的距離平方和的最小值所在的位置,此時(shí)直線(xiàn)度的誤差為實(shí)際測(cè)量點(diǎn)到最小二乘直線(xiàn)的最大值減去最小值。
最小二乘法的核心是求解最小二乘直線(xiàn)方程,該方程為二元一次方程,假設(shè)最小二乘直線(xiàn)方程為
=+
(1)
根據(jù)最小二乘原理,要計(jì)算測(cè)量點(diǎn)到最小二乘直線(xiàn)的距離平方和最小值,則要使誤差平方和最小,故而得誤差函數(shù):
(2)
其中:為測(cè)量點(diǎn)的個(gè)數(shù);為測(cè)量點(diǎn)的序號(hào);為測(cè)量點(diǎn)的讀數(shù)。
由高等數(shù)學(xué)中的極值定理可知:誤差函數(shù)一階導(dǎo)數(shù)等于零處取得極值,因此對(duì)式(2)分別關(guān)于和求導(dǎo),從而求解出和的值,使得誤差函數(shù)取最小值。
(3)
整理上式可得以和為未知量的二元一次方程組:
(4)
根據(jù)矩陣和向量的乘積定義,整理公式(4)得到矩陣形式的方程組:
(5)
由公式(5)得和的求解公式為
(6)
將和的值代入公式(1)中,則各測(cè)量點(diǎn)與最小二乘直線(xiàn)之間的偏差值為
(7)
從所有偏差值中找出最大偏差值和最小偏差值,兩者差值即為最小二乘法直線(xiàn)度誤差值:
=-
(8)
文中共測(cè)量了156組直線(xiàn)度數(shù)據(jù),將所有測(cè)量點(diǎn)(,)值代入公式(6)中,可得最小二乘直線(xiàn)方程的系數(shù)=0.000 004 6,=-0.003 762 7。根據(jù)公式(1)和式(7),其他各項(xiàng)計(jì)算結(jié)果如表1所示(測(cè)量的數(shù)據(jù)太多,表中只顯示了部分?jǐn)?shù)據(jù))。
表1 最小二乘法評(píng)定直線(xiàn)度誤差分析
對(duì)表1中第4列偏差值數(shù)據(jù)進(jìn)行篩選,找到最大偏差值和最小偏差值分別為:=0.001 48 mm,=-0.001 095 mm,代入公式(8)得最小二乘法直線(xiàn)度誤差為
=-=0002 574 mm
(2)基于LabVIEW的最小二乘程序設(shè)計(jì)
根據(jù)上述理論分析,最小二乘法的關(guān)鍵是求解最小二乘直線(xiàn)方程。在LabVIEW中,最小二乘直線(xiàn)可以采用矩陣或者公式節(jié)點(diǎn)來(lái)實(shí)現(xiàn)。在前面板中放置圖形控件、數(shù)組顯示控件和一些用于顯示直線(xiàn)度誤差分析結(jié)果的控件,比如最小二乘直線(xiàn)系數(shù)、最大值與最小值、誤差值等。程序框圖主要利用數(shù)組、數(shù)值、矩陣、結(jié)構(gòu)、文件讀取與保存等函數(shù),將最小二乘法直線(xiàn)度誤差計(jì)算過(guò)程設(shè)計(jì)并封裝成子程序,以便主程序調(diào)用。當(dāng)創(chuàng)建平面直角坐標(biāo)系后,根據(jù)前面最小二乘直線(xiàn)的數(shù)學(xué)分析模型,采用LabVIEW程序框圖中“函數(shù)”選板>>“數(shù)學(xué)”子選板>>線(xiàn)性代數(shù)VI>>矩陣或逆矩陣子VI來(lái)實(shí)現(xiàn)最小二乘直線(xiàn)方程。部分程序代碼如下:
按照完整代碼運(yùn)行程序,得到如圖6所示的直線(xiàn)度誤差分析結(jié)果。
圖6 最小二乘法程序前面板
將圖6中的誤差分析結(jié)果和傳統(tǒng)計(jì)算結(jié)果進(jìn)行對(duì)比,可以看出:該程序計(jì)算的直線(xiàn)度誤差與人工計(jì)算的結(jié)果完全一樣,驗(yàn)證了程序的正確性和可靠性。但是從計(jì)算過(guò)程來(lái)看,傳統(tǒng)計(jì)算方法需要將數(shù)據(jù)一步步代入理論公式進(jìn)行手算,計(jì)算過(guò)程復(fù)雜、計(jì)算量大,不僅耗費(fèi)時(shí)間,而且還不能實(shí)時(shí)顯示曲線(xiàn)圖像;而基于LabVIEW的最小二乘法程序,計(jì)算過(guò)程簡(jiǎn)單(只需提供測(cè)量數(shù)據(jù),運(yùn)行程序直接得到結(jié)果)、計(jì)算時(shí)間短(計(jì)算機(jī)比手算快)、結(jié)果準(zhǔn)確(計(jì)算機(jī)數(shù)學(xué)計(jì)算更精確),特別是數(shù)據(jù)較多的時(shí)候,該程序的優(yōu)勢(shì)更為明顯。
3.2.2 兩端點(diǎn)法求直線(xiàn)度誤差
兩端點(diǎn)法是以測(cè)量數(shù)據(jù)中首尾數(shù)據(jù)的連線(xiàn)作為基準(zhǔn)直線(xiàn),尋找到距離基準(zhǔn)直線(xiàn)最大的上下2個(gè)點(diǎn),此時(shí)直線(xiàn)度誤差為點(diǎn)到基準(zhǔn)直線(xiàn)垂直距離的最大值減去最小值。
從表1中前2列的數(shù)據(jù)中取出首尾兩點(diǎn),將它們的坐標(biāo)值(1,-0.004 5)和(156,-0.002 5)代入公式(1),得=0.000 012 903,=-0.004 512 9,則基準(zhǔn)直線(xiàn)方程為
=-0.004 512 9+0.000 012 903
將上式代入式(7)、式(8)中計(jì)算可得,兩端點(diǎn)法直線(xiàn)度誤差為0.003 529 mm。
兩端點(diǎn)法原理比較簡(jiǎn)單,所以其程序設(shè)計(jì)過(guò)程相比最小二乘法要簡(jiǎn)單很多,除了基準(zhǔn)直線(xiàn)的設(shè)計(jì)過(guò)程不一樣外,其他的基本都一樣。兩端點(diǎn)法子程序如圖7所示。
圖7 兩端點(diǎn)法程序框圖
3.2.3 線(xiàn)性擬合法求直線(xiàn)度誤差
線(xiàn)性擬合是曲線(xiàn)擬合的一種形式。設(shè)和都是被觀(guān)測(cè)的量,且是的函數(shù):=(,),曲線(xiàn)擬合就是通過(guò)(,)的觀(guān)測(cè)值來(lái)尋求參數(shù)的最佳估計(jì)值,以及尋求最佳的理論曲線(xiàn)=(,)。當(dāng)函數(shù)=(,)為關(guān)于的線(xiàn)性函數(shù)時(shí),稱(chēng)這種曲線(xiàn)擬合為線(xiàn)性擬合。
在LabVIEW軟件中,線(xiàn)性擬合函數(shù)通過(guò)最小二乘法、最小絕對(duì)殘差或Bisquare 3種擬合方法返回?cái)?shù)據(jù)集(,)的線(xiàn)性擬合。線(xiàn)性擬合函數(shù)的“方法”輸入端口,默認(rèn)擬合方法為最小二乘法。最小絕對(duì)殘差和Bisquare擬合方法是健壯的擬合方法,如存在超出區(qū)間的數(shù),可使用這2種方法,在大多數(shù)情況下,Bisquare方法對(duì)于超出區(qū)間的數(shù)不如最小絕對(duì)殘差方法敏感。
線(xiàn)性擬合法是利用LabVIEW中提供的線(xiàn)性擬合子VI而編寫(xiě),其程序設(shè)計(jì)相對(duì)比較簡(jiǎn)單。根據(jù)提供的測(cè)量數(shù)據(jù),設(shè)置輸入端口的擬合方法,從輸出端口得到原始曲線(xiàn)的最佳線(xiàn)性擬合直線(xiàn),也是計(jì)算直線(xiàn)度誤差的基準(zhǔn)直線(xiàn)。線(xiàn)性擬合法程序框圖如圖8所示。
圖8 線(xiàn)性擬合法程序框圖
綜合以上分析可以看出:3種分析方法的本質(zhì)區(qū)別是基準(zhǔn)直線(xiàn)方程的獲取方式不同。為了方便觀(guān)察3種分析方法在直線(xiàn)度誤差計(jì)算方面的差別,將它們?cè)O(shè)計(jì)在同一面板中,程序前面板如圖9(a)所示,3種方法之間通過(guò)下拉菜單進(jìn)行切換,如圖9(b)所示。
圖9 直線(xiàn)度誤差分析3種方法對(duì)比
圖9所示的3組圖線(xiàn)和計(jì)算結(jié)果表明:線(xiàn)性擬合法和最小二乘法計(jì)算結(jié)果很接近,直線(xiàn)擬合程度高,且誤差小;兩端點(diǎn)法直線(xiàn)擬合程度低,計(jì)算結(jié)果誤差也較大。
3.2.4 直線(xiàn)度誤差保存程序
在程序關(guān)閉的情況下,如果想查看誤差計(jì)算結(jié)果,唯一的途徑就是打開(kāi)保存的文件。此設(shè)計(jì)中,將誤差計(jì)算結(jié)果通過(guò)“文件輸入/輸出VI”中的“寫(xiě)入文本文件子VI”和字符串相關(guān)函數(shù),將3種方法計(jì)算的最大值、最小值和直線(xiàn)度誤差值一起保存在計(jì)算機(jī)通用的文本文件中,并且可以多次保存誤差計(jì)算結(jié)果。根據(jù)所測(cè)直線(xiàn)度數(shù)據(jù),運(yùn)行整個(gè)程序后,直線(xiàn)度誤差保存結(jié)果如圖10所示。
圖10 直線(xiàn)度誤差保存結(jié)果
(1)基于LabVIEW的數(shù)控車(chē)床導(dǎo)軌直線(xiàn)度分析系統(tǒng)實(shí)現(xiàn)了軟件代替硬件,以PC強(qiáng)大的計(jì)算能力代替繁瑣的人工計(jì)算過(guò)程,分析速度快、自動(dòng)化程度高,還節(jié)省了硬件資源。
(2)該分析系統(tǒng)操作簡(jiǎn)單、使用方便,只要讀取測(cè)量點(diǎn)的數(shù)據(jù)就可以直接計(jì)算出基準(zhǔn)直線(xiàn)方程、偏差最大值和最小值、直線(xiàn)度誤差值等,計(jì)算結(jié)果精度高,同時(shí)還可以實(shí)時(shí)顯示曲線(xiàn)圖像,具有可視化界面。
(3)該程序采用模塊化設(shè)計(jì)思路,增強(qiáng)了系統(tǒng)的靈活性,而且程序?qū)⒍喾N直線(xiàn)度誤差計(jì)算方式設(shè)計(jì)在同一界面上,方便用戶(hù)比較和統(tǒng)計(jì)。
由于條件有限,文中以百分表作為車(chē)床導(dǎo)軌直線(xiàn)度測(cè)量工具,數(shù)據(jù)本身可能存在一定偏差。如果采用比較精密的直線(xiàn)度測(cè)量工具,比如千分表,再結(jié)合文中設(shè)計(jì)的直線(xiàn)度誤差分析系統(tǒng),那么計(jì)算結(jié)果的精度會(huì)更高。