董云飛,王 志,魏新園,莊鑫棟
(1.合肥工業(yè)大學(xué) 儀器科學(xué)與光電工程學(xué)院,安徽 合肥 230009;2.安徽省計(jì)量科學(xué)研究院,安徽 合肥 230051)
在機(jī)床加工過程中,由于制造、安裝、運(yùn)動(dòng)控制不精確和刀具、床身以及熱變形等因素會(huì)造成加工誤差[1]。研究表明,熱誤差造成的誤差是數(shù)控機(jī)床最大的誤差源,約占機(jī)床總誤差的40%~70%[2,3]。降低機(jī)床熱誤差,是提高機(jī)床加工精度的重要途徑。目前常用的數(shù)控機(jī)床熱誤差補(bǔ)償系統(tǒng)基本以單片機(jī)作為主要硬件構(gòu)成[4],通過機(jī)床I/O擴(kuò)展模塊與PMC(Programmable Machine Controller)進(jìn)行通訊,需要現(xiàn)場(chǎng)操作才能對(duì)機(jī)床實(shí)現(xiàn)熱誤差補(bǔ)償,操作及其不便。隨著機(jī)械制造業(yè)的不斷發(fā)展,人們不僅需要現(xiàn)場(chǎng)實(shí)現(xiàn)機(jī)床的熱誤差補(bǔ)償,還需要實(shí)現(xiàn)機(jī)床熱誤差補(bǔ)償?shù)倪h(yuǎn)程監(jiān)控。因此,文章設(shè)計(jì)了一種基于網(wǎng)絡(luò)遠(yuǎn)程控制的數(shù)控機(jī)床誤差實(shí)時(shí)補(bǔ)償系統(tǒng),該系統(tǒng)包括硬件部分和內(nèi)置于該硬件中的數(shù)學(xué)模型以及上位機(jī)軟件,實(shí)現(xiàn)了遠(yuǎn)程控制熱誤差補(bǔ)償系統(tǒng)的啟動(dòng)與停止,以及隨時(shí)隨地對(duì)機(jī)床補(bǔ)償信息的監(jiān)控,極大地方便了操作人員的操作。通過在機(jī)床上的具體實(shí)驗(yàn),驗(yàn)證了該系統(tǒng)的可行性,對(duì)機(jī)床熱誤差補(bǔ)償實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
數(shù)控機(jī)床熱誤差補(bǔ)償遠(yuǎn)程監(jiān)控系統(tǒng)主要可分為三個(gè)部分:以PC機(jī)為核心的上位機(jī)監(jiān)控中心模塊、數(shù)控機(jī)床熱誤差補(bǔ)償卡模塊和機(jī)床數(shù)控系統(tǒng)擴(kuò)展IO模塊。各個(gè)模塊之間的連接示意圖如圖1所示。
圖1 數(shù)控機(jī)床熱誤差補(bǔ)償系統(tǒng)連接示意圖
上位機(jī)監(jiān)控軟件通過以太網(wǎng)與數(shù)控機(jī)床熱誤差補(bǔ)償模塊連接,可以控制補(bǔ)償模塊的啟動(dòng)與停止,并可以獲取機(jī)床的實(shí)時(shí)溫度以及對(duì)應(yīng)的熱誤差值。數(shù)控機(jī)床熱誤差補(bǔ)償卡啟動(dòng)后,通過溫度采集模塊獲取機(jī)床實(shí)時(shí)溫度以及從機(jī)床讀取得到的主軸坐標(biāo)值,由STEM32微處理器計(jì)算得出機(jī)床對(duì)應(yīng)的熱誤差值,并通過熱誤差補(bǔ)償模塊反饋給機(jī)床數(shù)控系統(tǒng),完成機(jī)床的熱誤差補(bǔ)償。微處理器是補(bǔ)償裝置的核心部分,能夠?qū)崿F(xiàn)數(shù)據(jù)處理和任務(wù)調(diào)度的功能。選用工業(yè)級(jí)Cortex-M3內(nèi)核的STEM32F103作為熱誤差補(bǔ)償模塊的微處理器,該處理器具有高性能、低成本、低功耗等優(yōu)點(diǎn)。
電源部分由電源接口和24V轉(zhuǎn)5V DC-DC以及3.3V轉(zhuǎn)換電路組成。從機(jī)床接收到的24V電源,通過KIM-0551轉(zhuǎn)換成5V,再通過AMS1117-3.3轉(zhuǎn)換電路將5V電源轉(zhuǎn)換成3.3V電源。STEM32微處理器和部分模塊采用3.3V供電,還有部分模塊采用5V供電,電源模塊為整個(gè)電路提供電源供電。
機(jī)床熱誤差補(bǔ)償卡嵌入的熱誤差補(bǔ)償模型,是機(jī)床主軸溫度、環(huán)境溫度與誤差補(bǔ)償值得函數(shù)關(guān)系,補(bǔ)償信號(hào)的計(jì)算,需要單片機(jī)對(duì)溫度進(jìn)行實(shí)時(shí)采集。因此,機(jī)床的熱誤差補(bǔ)償卡需要對(duì)機(jī)床各點(diǎn)溫度進(jìn)行測(cè)量。溫度采集模塊采用DS18B20測(cè)量所需溫度, DS18B20數(shù)字式溫度傳感器采用單總線的接口方式與微處理器連接,僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。測(cè)量溫度范圍寬,精度高,測(cè)量范圍為-55 至+125℃ ,在-10至+85℃ 范圍內(nèi),精度為±0.5℃。
機(jī)床熱誤差補(bǔ)償卡通過采集環(huán)境溫度和機(jī)床溫度,以及機(jī)床主軸的坐標(biāo)值,利用嵌入微處理器的補(bǔ)償模型計(jì)算出熱誤差補(bǔ)償信號(hào),最終由熱誤差補(bǔ)償模塊輸出到機(jī)床的控制電路,達(dá)到機(jī)床熱誤差補(bǔ)償?shù)哪康摹C(jī)床通過擴(kuò)展IO接口,與熱誤差補(bǔ)償卡之間通過16個(gè)IO口連接。其中8個(gè)IO口用于向熱誤差補(bǔ)償卡輸送機(jī)床主軸的坐標(biāo)值, 4個(gè)IO口用于標(biāo)志位區(qū)分X、Y、Z軸的補(bǔ)償, 4個(gè)IO口用于讀取機(jī)床的坐標(biāo)值。在機(jī)床的控制電路系統(tǒng)中,電源要求是+24V,而熱誤差補(bǔ)償卡的電源是+5V,若熱誤差補(bǔ)償信號(hào)直接輸出到機(jī)床控制電路中,兩者電平無法匹配,并且機(jī)床電路系統(tǒng)會(huì)對(duì)熱誤差補(bǔ)償卡電路產(chǎn)生電磁干擾,影響補(bǔ)償精度。PC817是常用的線性光藕,在各種要求比較精密的功能電路中常常被當(dāng)作耦合器件,具有上下級(jí)電路完全隔離的作用,使電路之間相互不產(chǎn)生影響。熱誤差補(bǔ)償卡中采用PC817連接機(jī)床電路,不僅能通過光電隔離屏蔽機(jī)床電路與熱誤差補(bǔ)償卡之間的相互干擾,還能實(shí)現(xiàn)兩種電路之間的電平匹配。
機(jī)床熱誤差補(bǔ)償?shù)倪h(yuǎn)程控制是通過熱誤差補(bǔ)償卡的無線控制模塊完成的。無線控制模塊主要由ATK-ESP8266構(gòu)成,ATK-ESP8266采用串口與MCU通訊,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與WIFI之間的轉(zhuǎn)換。通過ATK-ESP8266,傳統(tǒng)的串口設(shè)備只需要簡(jiǎn)單的串口配置,即可通過網(wǎng)絡(luò)WIFI實(shí)現(xiàn)數(shù)據(jù)傳輸。熱誤差補(bǔ)償卡的無線控制模塊通過以太網(wǎng)與上位機(jī)建立連接,上位機(jī)軟件通過以太網(wǎng)向熱誤差補(bǔ)償卡發(fā)送各種控制指令,控制熱誤差補(bǔ)償卡的開啟、關(guān)閉、復(fù)位等功能,同時(shí)可以在上位機(jī)軟件查詢熱誤差補(bǔ)償卡采集得到的溫度和坐標(biāo)信息。
機(jī)床熱誤差補(bǔ)償?shù)目刂剖怯缮衔粰C(jī)監(jiān)控軟件來控制的,監(jiān)控軟件的主要功能包括控制熱誤差補(bǔ)償?shù)膯?dòng)與停止以及對(duì)機(jī)床的補(bǔ)償信息進(jìn)行監(jiān)控,實(shí)時(shí)了解機(jī)床的實(shí)際補(bǔ)償狀態(tài)。上位機(jī)監(jiān)控軟件的功能主要分為三個(gè)部分:?jiǎn)?dòng)控制模塊、機(jī)床補(bǔ)償狀態(tài)監(jiān)控模塊、數(shù)據(jù)保存模塊。啟動(dòng)控制模塊主要用于控制熱誤差補(bǔ)償功能的啟動(dòng)、停止以及復(fù)位;機(jī)床狀態(tài)監(jiān)控模塊主要用于監(jiān)控機(jī)床主軸以及工作環(huán)境溫度以及對(duì)應(yīng)的熱誤差值,實(shí)時(shí)了解機(jī)床的實(shí)際工作狀態(tài);數(shù)據(jù)保存模塊主要用于保存各項(xiàng)數(shù)據(jù)信息。
采用多元線性回歸對(duì)機(jī)床單點(diǎn)熱誤差模型進(jìn)行建模[5],以溫度變化量為自變量,熱誤差為因變量進(jìn)行建模。建模時(shí),使用模糊聚類結(jié)合灰色關(guān)聯(lián)度的方法篩選出溫度敏感點(diǎn),將其作為自變量,不僅可以保證所建立的模型精度,還能降低過多溫度變量之間的相互影響所帶來的線性誤差。建立的通用單點(diǎn)熱誤差補(bǔ)償模型如式(1)所示。
Ek=a0+Σai·Ti
(1)
其中,Ek=(k=1,…,L)為機(jī)床工作臺(tái)上L個(gè)點(diǎn)的單點(diǎn)熱誤差補(bǔ)償模型,即L個(gè)點(diǎn)的熱誤差值;,Ti=(i=1,…,L)為模型輸入變量,即溫度敏感點(diǎn)溫度值變量;ai為每個(gè)溫度敏感點(diǎn)在模型中的系數(shù),a0為模型常數(shù)項(xiàng)。
采用上述建立單點(diǎn)熱誤差模型的方法,在機(jī)床全工作臺(tái)上選取多個(gè)點(diǎn)建立模型,然后采用最小二乘曲面擬合算法擬合工作臺(tái)初始曲面方程,建立起機(jī)床全工作臺(tái)熱誤差補(bǔ)償模型。建立的全工作臺(tái)熱誤差模型如式(2)所示。
E(x,y)=a0(x,y)+Σai(x,y)·Ti
(2)
其中E(x,y)即為數(shù)控機(jī)床全工作臺(tái)熱誤差穩(wěn)健性補(bǔ)償模型,(x,y)為工作臺(tái)所在位置的坐標(biāo),a0(x,y)為模型的常數(shù)項(xiàng)隨工作臺(tái)位置變化的函數(shù),ai(x,y)為各溫度敏感點(diǎn)系數(shù)隨工作臺(tái)位置變化的函數(shù)。為使補(bǔ)償模型運(yùn)算簡(jiǎn)單且能反映工作臺(tái)特性,a0(x,y)和ai(x,y)采用二元二次多項(xiàng)式擬合得到,其形式如式(3) (4)所示。
a0(x,y)=b0+b1x+b2y+b3x2+b4x·y+b5y2
(3)
ai(x,y)=bi0+bi1x+bi2y+bi3x2+bi4x·y+bi5y2
(4)
根據(jù)式(2),將溫度敏感點(diǎn)溫度差值和工作臺(tái)所處位置坐標(biāo)值代入模型,即可得到數(shù)控機(jī)床全工作臺(tái)范圍內(nèi)任意一點(diǎn)的熱誤差值。
文章介紹了一種數(shù)控機(jī)床熱誤差補(bǔ)償遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì),將建立的模型嵌入到研制的熱誤差中,通過上位機(jī)軟件控制數(shù)控機(jī)床熱誤差補(bǔ)償卡的啟動(dòng)、停止,并可以實(shí)時(shí)監(jiān)控機(jī)床熱誤差補(bǔ)償?shù)臓顟B(tài)信息,極大減小了數(shù)控機(jī)床的加工誤差,大幅提高了數(shù)控機(jī)床的加工精度,為數(shù)控機(jī)床熱誤差補(bǔ)償提供了新的思路。