本發(fā)明涉及一種數(shù)控系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)方法,具體是一種面向精度保持的arm數(shù)控系統(tǒng)控制結(jié)構(gòu)設(shè)計(jì)方法。
背景技術(shù):
數(shù)控系統(tǒng)是數(shù)控機(jī)床的控制核心,是發(fā)展國(guó)家高新技術(shù)產(chǎn)業(yè)和尖端工業(yè)的關(guān)鍵技術(shù)。為了滿足數(shù)控機(jī)床的控制要求,傳統(tǒng)的數(shù)控系統(tǒng)大部分采用pc架構(gòu),充分發(fā)揮計(jì)算機(jī)的數(shù)據(jù)處理能力,滿足數(shù)控系統(tǒng)的加工速度、精度及效率等系統(tǒng)功能要求,如發(fā)那科的160i系統(tǒng),西門(mén)子的840d系統(tǒng)等;除了基于pc架構(gòu)的數(shù)控系統(tǒng)外,在數(shù)控系統(tǒng)領(lǐng)域還涌現(xiàn)出一批以arm處理器為核心的嵌入式數(shù)控系統(tǒng),但是由于所采用的arm處理器計(jì)算能力較低,且系統(tǒng)功能設(shè)計(jì)簡(jiǎn)單,這些數(shù)控系統(tǒng)大多面向低端數(shù)控系統(tǒng)市場(chǎng),如小型桌面雕刻機(jī)、切割機(jī)、滾齒機(jī)等系統(tǒng),高中端數(shù)控系統(tǒng)市場(chǎng)仍然以pc架構(gòu)為主。
隨著嵌入式技術(shù)的發(fā)展,arm處理器的功能和性能也不斷提高,如cortexa8、a9、a15等,并且被廣泛應(yīng)用于手機(jī)、平板電腦等電子消費(fèi)產(chǎn)品中,逐漸成為了嵌入式領(lǐng)域的主流產(chǎn)品。因此,開(kāi)發(fā)基于arm處理器的通用型數(shù)控系統(tǒng),滿足數(shù)控車(chē)床、銑床、加工中心等控制需求,提高數(shù)控系統(tǒng)的加工精度,成為了數(shù)控系統(tǒng)的一個(gè)研究方向。
傳統(tǒng)的arm數(shù)控系統(tǒng)主要具有以下不足:
1、處理器計(jì)算能力低,早期arm處理器的計(jì)算能力較低,需要相應(yīng)的輔助處理單元,如dsp、gpu等,通過(guò)不同處理器間的協(xié)同控制,滿足數(shù)控系統(tǒng)的應(yīng)用需求;
2、系統(tǒng)功能簡(jiǎn)單,控制精度差,由于傳統(tǒng)arm處理器的計(jì)算能力較低,難以滿足復(fù)雜控制功能的計(jì)算要求,所以導(dǎo)致了arm數(shù)控系統(tǒng)的控制功能簡(jiǎn)單,難以滿足高精、高速等數(shù)控系統(tǒng)發(fā)展要求;
3、數(shù)控系統(tǒng)結(jié)構(gòu)復(fù)雜,為了實(shí)現(xiàn)arm處理器和dsp、gpu等輔助處理器 間的數(shù)據(jù)交互,需要開(kāi)發(fā)相應(yīng)的硬件接口,實(shí)現(xiàn)不同處理器間的數(shù)據(jù)通信和互操作,從而導(dǎo)致系統(tǒng)結(jié)構(gòu)設(shè)計(jì)復(fù)雜。
所謂精度保持,是指通過(guò)采用誤差補(bǔ)償方法,建立數(shù)控機(jī)床的誤差補(bǔ)償數(shù)學(xué)模型,控制機(jī)床各運(yùn)動(dòng)軸之間的位置運(yùn)動(dòng),減小刀具和工件之間的加工誤差,提高數(shù)控機(jī)床的加工精度。一般誤差補(bǔ)償方法除需滿足控制精度要求外,還要滿足動(dòng)態(tài)性、實(shí)時(shí)性、方便性和實(shí)用性等要求。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)傳統(tǒng)arm數(shù)控系統(tǒng)的計(jì)算能力低、控制精度差等系統(tǒng)問(wèn)題,本發(fā)明主要解決的技術(shù)問(wèn)題是提供一種面向精度保持的arm數(shù)控系統(tǒng)控制結(jié)構(gòu)設(shè)計(jì)方法,采用改進(jìn)的溫度補(bǔ)償控制方法,通過(guò)對(duì)機(jī)床整體進(jìn)行溫度區(qū)域劃分,每個(gè)運(yùn)動(dòng)方向上均采用一組溫度傳感器進(jìn)行采集,建立不同運(yùn)動(dòng)方向上的溫度/位置誤差數(shù)學(xué)模型,通過(guò)加工過(guò)程中各組溫度傳感器的溫度信息,計(jì)算出整體位置誤差信息,滿足數(shù)控機(jī)床的加工精度要求。
本發(fā)明為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是:一種基于arm處理器的數(shù)控系統(tǒng)精度保持設(shè)計(jì)方法,包括以下步驟:
選取數(shù)控機(jī)床的一個(gè)運(yùn)動(dòng)軸方向進(jìn)行溫度補(bǔ)償;
對(duì)該運(yùn)動(dòng)軸方向進(jìn)行溫度區(qū)域劃分,將該運(yùn)動(dòng)方向的移動(dòng)范圍劃分為多個(gè)溫度區(qū)域,每個(gè)溫度區(qū)域內(nèi)采用一個(gè)溫度傳感器進(jìn)行采集;
每個(gè)溫度區(qū)域內(nèi),通過(guò)原溫度補(bǔ)償計(jì)算該區(qū)域內(nèi)的位置誤差信息;
根據(jù)不同區(qū)域內(nèi)的位置誤差信息建立基于不同溫度區(qū)域的多元齊次方程組,得出該運(yùn)動(dòng)方向上的整體位置誤差;
由運(yùn)動(dòng)控制模塊根據(jù)該運(yùn)動(dòng)方向上的整體位置誤差,對(duì)該運(yùn)動(dòng)軸進(jìn)行位置誤差補(bǔ)償。
所述通過(guò)原溫度補(bǔ)償計(jì)算該區(qū)域內(nèi)的位置誤差信息,具體為:
kj(x)=aj(t)+tana(t)*(px-pj)(2)
其中,kj(x)是溫度區(qū)域j的溫度/位置誤差信息,j=0,1,2…n,a(t)為溫度 區(qū)域j中溫度/位置誤差擬合直線和當(dāng)前運(yùn)動(dòng)軸間的夾角值,aj(t)為和當(dāng)前運(yùn)動(dòng)軸位置無(wú)關(guān)的偏移值,px為當(dāng)前運(yùn)動(dòng)軸的位置值,pj為當(dāng)前運(yùn)動(dòng)軸的位置誤差參考點(diǎn)。
所述該運(yùn)動(dòng)方向上的整體位置誤差通過(guò)下式求得:
k(x)=w0b0k0(x)+w1b1k1(x)+…+wnbnkn(x)(1)
其中,k(x)為數(shù)控機(jī)床指定移動(dòng)方向上的整體位置誤差,wj為溫度區(qū)域j的位置誤差在整體誤差中的影響因子,bj是溫度區(qū)域j的位置誤差在整體誤差計(jì)算中的擬合因子;kj(x)是溫度區(qū)域j的溫度/位置誤差信息,j=0,1,2…n。
本發(fā)明具有以下優(yōu)點(diǎn)及有益效果:
1、降低了數(shù)控系統(tǒng)的設(shè)計(jì)復(fù)雜度。采用獨(dú)立的arm處理器,滿足通用數(shù)控系統(tǒng)的加工控制需求,減少了多處理器間的數(shù)據(jù)通信和互操作,降低了整體設(shè)計(jì)的復(fù)雜度。
2、提高了數(shù)控系統(tǒng)的加工精度及工件質(zhì)量。由于數(shù)控機(jī)床高速加工過(guò)程中產(chǎn)生大量的熱量,使機(jī)床部件產(chǎn)生熱變形,從而導(dǎo)致數(shù)控系統(tǒng)的加工精度降低,影響產(chǎn)品的加工質(zhì)量,而在arm數(shù)控系統(tǒng)中集成精度保持控制方法,通過(guò)外部溫度傳感器采集系統(tǒng)加工過(guò)程中的溫度信息,并根據(jù)數(shù)控系統(tǒng)的溫度補(bǔ)償控制方法,通過(guò)多組溫度傳感器采集機(jī)床不同區(qū)域的溫度信息,并根據(jù)數(shù)控系統(tǒng)的溫度/位置誤差數(shù)學(xué)模型,得到整體的位置誤差信息,對(duì)數(shù)控加工過(guò)程中的位置信息進(jìn)行補(bǔ)償,提高數(shù)控系統(tǒng)的加工精度。
3、提高了數(shù)控系統(tǒng)的可適應(yīng)性。隨著arm處理器芯片的處理能力和集成度不斷提高,可以將常用的數(shù)控總線協(xié)議、顯示驅(qū)動(dòng)模塊等全部集成到arm芯片中,這樣就可以有效的減小數(shù)控系統(tǒng)的整體大小,做到小型化、微型化,甚至完全可以嵌入到機(jī)械系統(tǒng)當(dāng)中,有效的提高了數(shù)控系統(tǒng)的可適應(yīng)性。
4、提高了數(shù)控系統(tǒng)的可擴(kuò)展性。arm處理器提供了豐富的外部設(shè)備接口,以滿足不同系統(tǒng)環(huán)境的控制要求,方便用戶自由定制所需的人機(jī)操作界面,使得數(shù)控系統(tǒng)可以更好地與操作人員進(jìn)行交互,例如基于網(wǎng)絡(luò)的數(shù)控系統(tǒng)遠(yuǎn)程監(jiān) 控,基于modbus的數(shù)控系統(tǒng)無(wú)線通信等。
附圖說(shuō)明
圖1為熱誤差補(bǔ)償?shù)幕驹韴D;
圖2為改進(jìn)后溫度/位置誤差補(bǔ)償方法的基本原理圖;
圖3為arm數(shù)控系統(tǒng)的軟件結(jié)構(gòu)圖;
圖4為溫度補(bǔ)償方法的基本流程圖;
圖5為數(shù)控機(jī)床溫度補(bǔ)償?shù)南到y(tǒng)結(jié)構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。
如圖1所示,為熱誤差補(bǔ)償?shù)幕驹韴D,在溫度t下,數(shù)控機(jī)床產(chǎn)生熱變形誤差,其熱變形誤差的數(shù)學(xué)模型可以表達(dá)為k(x)=a0(t)+tana(t)*(px-p0)。其中,k(x)是x軸方向上在px位置時(shí)的位置誤差,a0(t)是與x軸當(dāng)前位置無(wú)關(guān)的偏移值;px是當(dāng)前x軸的實(shí)際位置;p0表示x軸位置誤差參考點(diǎn);a為誤差擬合直線和x軸的夾角值。其中,a0(t)和tana(t)都是隨溫度變化的系統(tǒng)變量,在不同溫度下,通過(guò)采用測(cè)量工具測(cè)出實(shí)際位置誤差和當(dāng)前系統(tǒng)溫度,可以求出指定溫度下的值。
但是由于數(shù)控機(jī)床的溫度分布不均勻,不同區(qū)域的溫度變化過(guò)程不一致,其整體位置誤差受不同區(qū)域溫度的影響,因此本專(zhuān)利采用溫度區(qū)域劃分方法,采用多傳感器采集不同溫度區(qū)域的溫度信息,建立基于不同溫度傳感器的多元齊次方程,每個(gè)溫度區(qū)域內(nèi),采用原溫度補(bǔ)償方法進(jìn)行計(jì)算,得出結(jié)果后,將結(jié)果帶入到多元齊次方程中,通過(guò)兩次線性計(jì)算得出整體位置誤差信息,提高數(shù)控機(jī)床的加工精度。
如圖2所示,為改進(jìn)后溫度/位置誤差補(bǔ)償方法的基本原理圖,首先,選取數(shù)控機(jī)床的一個(gè)運(yùn)動(dòng)軸方向進(jìn)行溫度補(bǔ)償,根據(jù)機(jī)床結(jié)構(gòu)特點(diǎn)及熱源分布信息,對(duì)該運(yùn)動(dòng)軸方向進(jìn)行溫度區(qū)域劃分,將該運(yùn)動(dòng)方向的移動(dòng)范圍劃分為多個(gè)溫度區(qū)域,每個(gè)溫度區(qū)域內(nèi)采用一個(gè)溫度傳感器進(jìn)行采集,建立基于不同溫度區(qū)域 的多元齊次方程,如公式1所示。
k(x)=w0b0k0(x)+w1b1k1(x)+…+wnbnkn(x)(1)
其中,k(x)為數(shù)控機(jī)床指定移動(dòng)方向上的整體位置誤差,wj(j=0,1,2…n)為溫度區(qū)域j的位置誤差在整體誤差中的影響因子,默認(rèn)值為1,如果在實(shí)際應(yīng)用中,溫度傳感器的安裝位置不太理想時(shí),可以通過(guò)調(diào)節(jié)影響因子wj,調(diào)節(jié)該區(qū)域的位置誤差補(bǔ)償效果;bj(j=0,1,2…n)是溫度區(qū)域j的位置誤差在整體誤差計(jì)算中的擬合因子,實(shí)際應(yīng)用中通過(guò)求解方程組求得;kj(x)(j=0,1,2…n)是溫度區(qū)域j的溫度/位置誤差信息,該值由原溫度補(bǔ)償計(jì)算方法求得。
每個(gè)溫度區(qū)域內(nèi),通過(guò)原溫度補(bǔ)償計(jì)算方法,如公式2所示,計(jì)算該區(qū)域內(nèi)的位置誤差信息kj(x)(j=0,1,2…n),并將計(jì)算結(jié)果帶入到公式1中,得出該運(yùn)動(dòng)方向上的整體位置誤差,然后由運(yùn)動(dòng)控制模塊對(duì)該運(yùn)動(dòng)軸進(jìn)行位置誤差補(bǔ)償,提高機(jī)床的加工精度。
k0(x)=a0(t)+tana(t)*(px-p0)(2)
如圖3所示,為arm數(shù)控系統(tǒng)的軟件結(jié)構(gòu)圖,主要包括:人機(jī)操作界面、任務(wù)控制、運(yùn)動(dòng)控制、溫度補(bǔ)償、plc控制模塊等。其中,人機(jī)操作界面主要完成人機(jī)交互功能,包括開(kāi)機(jī)上電、操作模式選擇、功能選擇、系統(tǒng)初始化配置、選擇加工控制程序、顯示機(jī)床狀態(tài)、加工坐標(biāo)系、加工過(guò)程圖形顯示等;任務(wù)控制是數(shù)控系統(tǒng)的控制核心,負(fù)責(zé)調(diào)用解釋器分析加工控制程序或從人機(jī)操作界面獲取的g代碼指令,把運(yùn)動(dòng)控制信息和邏輯操作分別發(fā)送給運(yùn)動(dòng)控制與plc控制模塊,并獲取系統(tǒng)的當(dāng)前狀態(tài)信息;運(yùn)動(dòng)控制模塊主要負(fù)責(zé)處理解釋器生成的運(yùn)動(dòng)控制信息,并且決定所需要的插補(bǔ)方法(直線插補(bǔ)、圓弧插補(bǔ)、nurbs曲線插補(bǔ)等),針對(duì)航空航天、船舶制造等裝備制造領(lǐng)域復(fù)雜工件的加工控制需求,在數(shù)控系統(tǒng)中提供了復(fù)雜曲線的平滑插補(bǔ)功能,減少直線擬合所產(chǎn)生的額外開(kāi)銷(xiāo);溫度補(bǔ)償單元主要根據(jù)加工過(guò)程中的溫度/位置誤差計(jì)算模型,采取修正、抵消等措施,消除或減小機(jī)床加工誤差;plc控制模塊主要負(fù)責(zé)處理機(jī)床操作的開(kāi)關(guān)量信息,并且將其轉(zhuǎn)化為輸出信息,發(fā)送給io控制接口,實(shí) 現(xiàn)數(shù)控機(jī)床的主軸起停、換刀、工件卡盤(pán)、液壓、冷卻、潤(rùn)滑等系統(tǒng)功能控制。
在本發(fā)明中,plc模塊負(fù)責(zé)采集溫度傳感器的溫度信息,并將溫度信息傳遞給溫度補(bǔ)償單元,由溫度補(bǔ)償單元根據(jù)各組溫度傳感器的溫度信息,根據(jù)公式1計(jì)算出整體的位置誤差信息,然后由運(yùn)動(dòng)控制模塊完成機(jī)床的位置誤差補(bǔ)償。
如圖4所示,為數(shù)控系統(tǒng)溫度補(bǔ)償方法的基本原理圖,首先,數(shù)控機(jī)床在加工過(guò)程中,各運(yùn)動(dòng)軸進(jìn)行高速的機(jī)械運(yùn)動(dòng),由于摩擦而產(chǎn)生大量的熱量,從而導(dǎo)致數(shù)控機(jī)床的熱變形;由于數(shù)控機(jī)床的溫度分布不均勻,不同區(qū)域的溫度變化過(guò)程不一致,所以采用多組溫度傳感器,采集不同區(qū)域的溫度信息;通過(guò)plc模塊獲取溫度傳感器的溫度信息,傳遞給溫度補(bǔ)償單元,并根據(jù)傳感器分組情況,分別計(jì)算不同運(yùn)動(dòng)方向上的位置誤差信息,將計(jì)算結(jié)果傳遞給運(yùn)動(dòng)控制模塊;在運(yùn)動(dòng)控制模塊中,根據(jù)不同方向的位置誤差信息,對(duì)機(jī)床加工運(yùn)動(dòng)進(jìn)行位置補(bǔ)償,從而提高數(shù)控機(jī)床的加工精度。實(shí)際應(yīng)用中,由于溫度傳感器的安裝位置不理想,導(dǎo)致位置誤差計(jì)算不準(zhǔn)確,可以調(diào)節(jié)公式1中參數(shù)wj大小,對(duì)補(bǔ)償結(jié)果進(jìn)行修正,默認(rèn)情況下,wj參數(shù)的值為1。
如圖5所示,為數(shù)控機(jī)床溫度補(bǔ)償?shù)恼w結(jié)構(gòu)圖,主要包括數(shù)控系統(tǒng)、數(shù)控機(jī)床主軸、絲杠、溫度傳感器等。其中,數(shù)控系統(tǒng)是主要的控制執(zhí)行單元,負(fù)責(zé)控制加工刀具和工作臺(tái)進(jìn)行高速切削運(yùn)動(dòng);而數(shù)控機(jī)床是具體加工過(guò)程的執(zhí)行單元,完成主軸的轉(zhuǎn)速控制,加工刀具的位置、速度、加速度運(yùn)動(dòng)等。由于機(jī)床高速運(yùn)動(dòng)、轉(zhuǎn)動(dòng)等過(guò)程中產(chǎn)生摩擦,從而產(chǎn)生熱量,導(dǎo)致數(shù)控機(jī)床的主軸、絲杠等部件產(chǎn)生熱變形。此時(shí),通過(guò)溫度傳感器獲取數(shù)控機(jī)床各部分的溫度信息,通過(guò)數(shù)控系統(tǒng)的硬件接口,將溫度信息傳遞給溫度補(bǔ)償控制單元,由溫度補(bǔ)償控制單元進(jìn)行位置信息補(bǔ)償,滿足數(shù)控機(jī)床的加工精度要求。