摘? 要:在精密加工中,熱誤差對加工精度的影響不容忽視。為了精準(zhǔn)預(yù)測熱誤差對車床主軸的影響,文章基于Arduino 設(shè)計了溫度測量系統(tǒng),并配合千分表測量了主軸徑向圓跳動隨溫度的變化情況。根據(jù)測量數(shù)據(jù)采用BP神經(jīng)網(wǎng)絡(luò)建立了車床主軸徑向跳動熱誤差模型,通過該預(yù)測模型的結(jié)果可以采用BP神經(jīng)網(wǎng)絡(luò)來對車床主軸徑向跳動熱誤差來進(jìn)行分析預(yù)測。
關(guān)鍵詞:熱誤差;加工精度;BP神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP18? ? 文獻(xiàn)標(biāo)識碼:A? ? 文章編號:2096-4706(2023)07-0147-05
Abstract: In precision machining, the influence of thermal error on machining accuracy cannot be ignored. In order to accurately predict the influence of thermal error on the lathe spindle, a temperature measurement system is designed based on Arduino , and the variation of the radial runout of the main shaft with temperature change is measured using a dial indicator. Based on the measured data, a thermal error model of lathe spindle radial runout is established using BP neural network. The results of the prediction model can be used to analyze and predict the thermal error of lathe spindle radial runout using BP neural network.
Keywords: thermal error; machining accuracy; BP neural network
0? 引? 言
2015年中國發(fā)布了《中國制造2025》,指明了智能制造是未來制造業(yè)的發(fā)展方向,提出發(fā)展高端裝備。在高端數(shù)控加工裝備中,加工精度保證是必須正視的問題。在精密加工中,為了保證加工精度,就要對引起精度誤差的因素進(jìn)行分析。在數(shù)控機床的精密加工中,熱誤差占總誤差的40%~70%[1],所以如何減小熱誤差的影響是專家學(xué)者一直在討論的問題。
對于如何減小熱誤差的問題,國內(nèi)外學(xué)者一方面研究如何通過機床熱結(jié)構(gòu)調(diào)整減小熱量,從熱源頭減小熱誤差;另一方面通過熱誤差分析進(jìn)行建模來預(yù)測熱誤差,并根據(jù)預(yù)測采用相應(yīng)的措施。而隨著計算機技術(shù)的發(fā)展和智能制造的提出,通過分析熱誤差的變化特點進(jìn)行分析和建模,進(jìn)而對誤差進(jìn)行準(zhǔn)確預(yù)測和補償成為智能制造的一個可行途徑。
機床運轉(zhuǎn)是動態(tài)過程,產(chǎn)生熱量是不可避免的,在高精加工過程中熱誤差的影響是必須要考慮的問題,學(xué)者們在減小熱量的基礎(chǔ)上進(jìn)行了熱誤差預(yù)測模型的研究,通過模型來進(jìn)行熱誤差補償,使熱誤差在不能減小的情況下得到合理補償,從而保證加工精度。
在熱誤差分析預(yù)測研究中,涌現(xiàn)出了很多學(xué)者和很多有價值的研究。早在2005年上海交通大學(xué)楊建國等通過采用多元回歸最小二乘法建立了徑向熱誤差模型,并將計算得到的熱位移通過機床數(shù)控系統(tǒng)的外部機床坐標(biāo)系偏置來實現(xiàn)實時補償,并在多家企業(yè)中進(jìn)行了應(yīng)用[2];張毅等提出一種基于灰色理論預(yù)處理的神經(jīng)網(wǎng)絡(luò)機床熱誤差補償模型,將灰色理論和人工神經(jīng)網(wǎng)絡(luò)各自對數(shù)據(jù)處理的優(yōu)點結(jié)合,建立熱誤差預(yù)測補償模型[3];姜輝等采用了基于貝葉斯推斷的最小二乘支持向量機建模來預(yù)測數(shù)控機床主軸熱漂移誤差,準(zhǔn)確性強于傳統(tǒng)的最小二乘支持向量機和BP神經(jīng)網(wǎng)絡(luò)建模[4];姚曉東等提出了一種基于時間序列算法的機床熱誤差建模方法通過時序算法綜合分析軟件,對實測的熱誤差數(shù)據(jù)進(jìn)行預(yù)處理、模式識別、模型參數(shù)估計、循環(huán)定階判別以及模型整合,建立表征機床熱誤差變化規(guī)律的實時補償模型[5];鄭金勇等采用相關(guān)系數(shù)法選出了溫度敏感點,并用灰色神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出和實際值的絕對誤差作為遺傳算法適應(yīng)度函數(shù)優(yōu)化了數(shù)控機床主軸的模型[6];辛宗霈等通過BP神經(jīng)網(wǎng)絡(luò)和多項式擬合“兩步法”來對滾珠絲杠溫度分布、熱變形規(guī)律和熱誤差補償技術(shù)進(jìn)行數(shù)學(xué)建模研究,可以更好地分析熱誤差對機床加工精度的影響[7]。在這些研究中學(xué)者們主要研究了五軸數(shù)控機床主軸、絲杠等主要運動部件在運轉(zhuǎn)中溫度變化時的位移變化,并對變化進(jìn)行了預(yù)測,為智能制造的高端數(shù)控機床的智能預(yù)測控制打下了很好的基礎(chǔ)。
然而在數(shù)控加工中,數(shù)控車床是進(jìn)行軸類加工很重要的加工母機,數(shù)控車床主軸的徑向圓跳動是保證回轉(zhuǎn)體零件加工精度的重要參數(shù),所以研究數(shù)控車床主軸徑向圓跳動在車床主軸溫度變化情況下的誤差變化情況,建立正確的預(yù)測模型對保證加工精度有一定現(xiàn)實意義。在建立預(yù)測模型時,溫度測量的準(zhǔn)確性和及時性也是不容忽視的,文章基于Arduino設(shè)計了 車床主軸溫度測量系統(tǒng),并通過串口將下位機的數(shù)據(jù)傳送至PC機制成表格。并同時根據(jù)溫度變化測量了主軸的徑向圓跳動的變化,一并納入表格,基于表格中的測量數(shù)據(jù)通過BP神經(jīng)網(wǎng)絡(luò)建立了數(shù)控車床主軸徑向圓跳動的模型,通過訓(xùn)練和測試,驗證了模型的正確性。
1? 溫度測量系統(tǒng)的搭建
溫度是反映熱誤差變化的一個重要參數(shù),因為熱誤差的變化和主軸溫度變化有著直接關(guān)系,所以準(zhǔn)確的測量主軸熱源處的溫度變化尤其重要。主軸溫度的測量首先要注意測量點的布置位置和溫度測量的準(zhǔn)確和及時。
1.1? 溫度測量點的布置
測量主軸溫度時,溫度測量點如果布置的少,不能完全反映溫度的變化,影響測量結(jié)果的準(zhǔn)確性。溫度測量點布置的太多,溫度之間會有干涉耦合,魯棒性不好,仍然影響測量結(jié)果的準(zhǔn)確性。
在測量車床主軸的溫度變化時,將溫度測量點布置到熱源處。數(shù)控車床的主軸熱源主要來源于運動副的摩擦和動力源。運動副的摩擦熱主要來源于主軸的軸承和絲杠運動起來的摩擦。動力源產(chǎn)生熱量的熱源主要來源于伺服電機。伺服電機分為驅(qū)動主軸和驅(qū)動刀具架運動,因主軸電機離主軸較遠(yuǎn),所以只測量刀具架、伺服電機處的熱量。所以本次測量的溫度傳感器布置點有4個,分別是主軸前端軸承處T1,主軸后端軸承處T2,伺服電機處T3、環(huán)境T4。具體布置如圖1所示。
1.2? 測溫系統(tǒng)的搭建
布置好溫度測量點后要進(jìn)行溫度測量。進(jìn)行溫度測量時,要注意溫度采集的準(zhǔn)確、自動和及時性。在本次研究中,采用基于Arduino搭建溫度測量系統(tǒng),構(gòu)成下位機,PC作為上位機,再利用串口向上位機傳送測量數(shù)據(jù),通過上位機進(jìn)行測量數(shù)據(jù)的記錄和存儲。
1.2.1? 溫度測量系統(tǒng)硬件的選擇
溫度測量系統(tǒng)的CPU選用Arduino uno芯片。Arduino uno采用的微處理器為ATmega 328,最高工作頻率為16 MHz,運算速度快;并且Arduino uno還具有雙向豐富的數(shù)字I/O口和模擬輸送口,具有輸入和輸出串口通信,能夠滿足溫度測量系統(tǒng)的溫度傳感器I/O連接和數(shù)據(jù)傳送。且輸入電壓為5~7 V,可以利用測量現(xiàn)場的PC供電或電池供電。而且Arduino uno在軟件上包含有豐富的溫度傳感器頭文件,可以方便地進(jìn)行相關(guān)函數(shù)調(diào)用,大大簡化了軟件設(shè)計過程和程序內(nèi)容,提高了軟件運行速度。
溫度傳感器是溫度測量的主要器件,其好壞決定了溫度測量的結(jié)果。在本測量系統(tǒng)中溫度傳感器選用4個DS18B20溫度傳感器,分別用來測量主軸前端軸承、后端軸承、伺服電機及環(huán)境溫度。之所以選擇DS18B20是因為,該傳感器的測溫范圍在-55 ℃~+125 ℃,測量范圍廣;其次該傳感器精度在-10 ℃~+85 ℃范圍內(nèi)為±0.5 ℃;而且從硬件結(jié)構(gòu)上來看,該溫度傳感器的引腳只有3根,分別為電源、接地和數(shù)字傳送引腳,輸出溫度信號為數(shù)字型,串行傳送,多個傳感器可以共用一個I/O口進(jìn)行串聯(lián),這樣的結(jié)構(gòu)在硬件接線上比較簡單,并且節(jié)省I/O引腳;在軟件編程上,Arduino uno具有專門的DS18B20頭文件庫,便于傳感器識別和溫度測量。不管是硬件設(shè)計還是軟件設(shè)備,選用DS18B20都具有很大優(yōu)勢。
1.2.2? 溫度測量系統(tǒng)的硬件結(jié)構(gòu)搭建和軟件設(shè)計
根據(jù)所選主要硬件,再加上電阻等附件,進(jìn)行主軸溫度測量系統(tǒng)的硬件搭建,系統(tǒng)接線原理圖如圖2所示。四個溫度傳感器串聯(lián)相接,數(shù)據(jù)引腳接Arduino的2號引腳。
測量系統(tǒng)的軟件設(shè)計如圖3所示,對溫度傳感器進(jìn)行初始化,通過溫度傳感器索引號來識別各個傳感器,輪流采集各個傳感器的溫度,每隔2分鐘采集一次,并用串口向上位機傳送。
1.2.3? 溫度及徑向圓跳動誤差測量
試驗數(shù)控車床為寶雞機床廠的EK40,將數(shù)控車床主軸轉(zhuǎn)速設(shè)置為1 500 r/min,測量時間120分鐘,采用溫度測量系統(tǒng)和千分表進(jìn)行主軸熱源處溫度測量和徑向圓跳動測量,測量現(xiàn)場如圖4所示。測量中每隔2分鐘進(jìn)行一次數(shù)據(jù)采集,結(jié)合千分表數(shù)據(jù),將所有測量數(shù)據(jù)制成Excel表格。表1為每隔12分鐘的部分測量。
觀察表1中的數(shù)據(jù)變化情況,發(fā)現(xiàn)在車床主軸剛開始運行的24分鐘內(nèi),前后軸承處的溫度和主軸徑向圓跳動誤差變化較劇烈,隨著時間的推移,主軸軸承處溫度變化緩慢,主軸誤差徑向圓跳動誤差慢慢減緩,直到達(dá)到初始值。說明隨著運轉(zhuǎn)時間的推移,主軸溫度升高,主軸結(jié)構(gòu)逐漸達(dá)到熱平衡,其徑向圓跳動逐漸平穩(wěn)。
2? 基于BP神經(jīng)網(wǎng)絡(luò)的主軸徑向跳動誤差預(yù)測模型
2.1? ?BP神經(jīng)網(wǎng)絡(luò)模型
BP神經(jīng)網(wǎng)絡(luò)模型是一個比較成熟的神經(jīng)網(wǎng)絡(luò)框架,在預(yù)測方面有極強的自適應(yīng)、自組織能力[8],在智能制造的加工預(yù)測中也得到了廣泛的應(yīng)用。
BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱含層和輸出層,隱含層可以為一層或多層。每一層有若干個節(jié)點,即神經(jīng)元,層與層之間的節(jié)點由權(quán)重來體現(xiàn)。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,圖中x1, x2,…, xi為輸入層向量;h1,h2,…,hj為隱含層輸出向量;d1, d2,…, dk為輸出層向量,y1, y2,…, ym為整個網(wǎng)絡(luò)期望輸出;w11, w12,…, wij為輸入層和隱含層神經(jīng)元的連接權(quán)重;v11, v12,…, vjk為隱含層到輸出層神經(jīng)元的連接權(quán)重。
2.2? 神經(jīng)網(wǎng)絡(luò)訓(xùn)練
2.2.1? 神經(jīng)網(wǎng)絡(luò)模型參數(shù)確定
根據(jù)表1所示,在環(huán)境溫度保持不變時,主軸的徑向圓跳動和熱源處的溫度變化有直接關(guān)系,故將三處熱源處測溫點的溫度T1、T2、T3作為神經(jīng)元輸入。又因為環(huán)境溫度不同時,主軸的初始溫度也會不同,所以不能簡單地將主軸跳動變化和主軸溫度變化直接對應(yīng),而是隨著主軸運行時間的增長,即使是相同溫度下,運行時間不同,主軸的徑向圓跳動變化也不同,所以主軸的徑向圓跳動和機床運行時間有很大關(guān)系,故將機床運行時間也作為輸入神經(jīng)元,將主軸徑向圓跳動變化作為神經(jīng)元輸出。則本神經(jīng)網(wǎng)絡(luò)模型的輸入單元為4,輸出單元為1。根據(jù)前文試驗中的溫度和徑向圓跳動測量,共有60組測量數(shù)據(jù),將測量數(shù)據(jù)導(dǎo)入,隨機分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
因為對任何在閉區(qū)間內(nèi)的連續(xù)函數(shù),都可以用一個隱含層的BP神經(jīng)網(wǎng)絡(luò)來逼近,因而一個3層的BP神經(jīng)網(wǎng)絡(luò)可以完成任意的n維到m維的映照[9],因此,文中模型采用具有一層隱含層的網(wǎng)絡(luò)。
隱含層的神經(jīng)元個數(shù)和神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)有關(guān),當(dāng)隱含層的神經(jīng)元個數(shù)較多時網(wǎng)絡(luò)的學(xué)習(xí)能力會受到影響,隱含層單元數(shù)較多時,會增加訓(xùn)練時間,還可能形成過擬合,所以需要設(shè)置合適的隱含層節(jié)點數(shù)。目前BP神經(jīng)網(wǎng)絡(luò)的隱含層的節(jié)點數(shù)多根據(jù)如下經(jīng)驗公式來獲得,然后再進(jìn)行調(diào)整:
m表示隱含層單元數(shù);N表示輸入單元數(shù);L表示輸出單元數(shù);A表示常數(shù),在[1,10]之間取值。
本設(shè)計中輸入單元數(shù)為4,輸出單元數(shù)為1,a初步取值為6,則隱含層的單元數(shù)初設(shè)為8,后期根據(jù)擬合情況進(jìn)行調(diào)整。
最大訓(xùn)練次數(shù)1 000次,學(xué)習(xí)速率0.01,訓(xùn)練目標(biāo)設(shè)為最小誤差值0.000 01。隱含層的神經(jīng)元的變換函數(shù)被設(shè)置為sigmoid函數(shù),最后的輸出層設(shè)置為purelin型線性函數(shù)[10]。
2.2.2? 編程實現(xiàn)
采用MATLAB R2016b編程實現(xiàn),通過訓(xùn)練數(shù)據(jù)的載入、訓(xùn)練樣本的數(shù)據(jù)歸一化、BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建、BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練、BP神經(jīng)網(wǎng)絡(luò)的預(yù)測、預(yù)測結(jié)果反歸一化、誤差計算與比較等過程,測試樣本的經(jīng)過498次迭代達(dá)到訓(xùn)練目標(biāo)0.000 01。得到訓(xùn)練曲線、回歸曲線及誤差曲線如圖6~圖8所示。
通過圖6可以看出神經(jīng)網(wǎng)絡(luò)很快收斂到最佳值0.01,經(jīng)過498次迭代收斂到目標(biāo)誤差0.000 01,說明神經(jīng)網(wǎng)絡(luò)是收斂的。
通過圖7神經(jīng)網(wǎng)絡(luò)訓(xùn)練回歸曲線可以看出,樣本的均方差R=0.999 99,說明樣本的線性擬合程度非常高。
通過圖8神經(jīng)網(wǎng)絡(luò)的誤差曲線可以看出,樣本的預(yù)測值與實際值基本接近,兩者之間的誤差很小,均方根誤差為0.5%,說明預(yù)測模型精度較高。
根據(jù)以上預(yù)測結(jié)果和評價結(jié)果,相關(guān)技術(shù)人員可以根據(jù)數(shù)控機床主軸溫度和機床運行時間等參數(shù)進(jìn)行加工策略的設(shè)定精度的補償保證加工精度;設(shè)計人員還可以根據(jù)預(yù)測進(jìn)行加工過程智能調(diào)整,從而保證回轉(zhuǎn)體零件數(shù)控加工的精度。
3? 結(jié)? 論
設(shè)計了溫度測量系統(tǒng)測量了數(shù)控車床主軸在1 500 r/min時的溫度變化,并結(jié)合主軸徑向圓跳動的誤差變化,得到了數(shù)控車床主軸熱誤差相關(guān)測量數(shù)據(jù)。以三處熱源處的溫度、運轉(zhuǎn)時間為神經(jīng)網(wǎng)絡(luò)輸入層,以徑向圓跳動為輸出層構(gòu)建了有導(dǎo)師訓(xùn)練的BP神經(jīng)網(wǎng)絡(luò)。研究了在已知主軸熱源處溫度變化和運行時間的情況下數(shù)控車床主軸徑向圓跳動的變化情況的預(yù)測和評估,對于回轉(zhuǎn)體加工時回轉(zhuǎn)精度如何保證具有一定參考意義。為相關(guān)技術(shù)人員在回轉(zhuǎn)體加工和數(shù)控車床的設(shè)計和控制方面提供了參考。文章只研究了環(huán)境溫度一定,主軸轉(zhuǎn)速一定時的徑向圓跳動熱誤差變化情況預(yù)測,可以在后續(xù)研究中對不同環(huán)境溫度和不同轉(zhuǎn)速情況下的數(shù)控車床主軸徑向圓跳動熱誤差變化情況做更進(jìn)一步的分析和預(yù)測。
參考文獻(xiàn):
[1] 張曙,張炳生.機床的熱性能設(shè)計(上) [J].機械設(shè)計與制造工程,2017,46(3):1-8.
[2] 楊建國,張宏韜,童恒超,等.數(shù)控機床熱誤差實時補償應(yīng)用 [J].上海交通大學(xué)學(xué)報,2005,39(9):1389-1392.
[3] 張毅,楊建國.基于灰色理論預(yù)處理的神經(jīng)網(wǎng)絡(luò)機床熱誤差建模 [J].機械工程學(xué)報,2011,47(7):134-139.
[4] 姜輝,楊建國,姚曉棟,等.數(shù)控機床主軸熱漂移誤差基于貝葉斯推斷的最小二乘支持向量機建模 [J].機械工程學(xué)報,2013,49(15):115-121.
[5] 姚曉棟,黃奕喬,馬曉波,等.基于時間序列算法的數(shù)控機床熱誤差建模及其實時補償 [J].上海交通大學(xué)學(xué)報,2016,50(5):673-679.
[6] 鄭金勇,劉保國,馮偉.基于遺傳算法優(yōu)化灰色神經(jīng)網(wǎng)絡(luò)的機床主軸熱誤差建模研究 [J].機電工程,2019,36(6),602-607.
[7] 辛宗霈,馮顯英,杜付鑫,等.基于BP神經(jīng)網(wǎng)絡(luò)的機床熱誤差建模與分析 [J].組合機床與自動化加工技術(shù),2019(8):39-43.
[8] 陸興華,張忠海.融合機床加工特性的主軸回轉(zhuǎn)誤差預(yù)測 [J].機床與液壓,2019,47(20):33-37.
[9] 沈花玉,王兆霞,高成耀,等.BP神經(jīng)網(wǎng)絡(luò)隱含層單元數(shù)的確定 [J].天津理工大學(xué)學(xué)報,2008,24(5):13-15.
[10] 李榮鋼,雷霖,張寒,等.數(shù)控機床溫度無線檢測與智能補償系統(tǒng) [J].工具技術(shù),2018,52(7):146-149.
作者簡介:梁艷(1974.02—),女,漢族,陜西西安人,講師,碩士研究生,研究方向:智能制造。