ARM嵌入式數(shù)控旋壓機(jī)床控制系統(tǒng)應(yīng)用數(shù)控軟件開(kāi)發(fā)
點(diǎn)擊:2290
A+ A-
所屬頻道:新聞中心
1 引言
旋壓是先進(jìn)制造技術(shù)的重要組成部分,具有變形條件好、制晶性能高、范圍廣、尺寸公差小,以及可制成整體無(wú)縫空心零件等優(yōu)點(diǎn)。數(shù)控技術(shù)應(yīng)用了自動(dòng)控制、計(jì)算機(jī)技術(shù)及精密檢測(cè)技術(shù)等方面的最新成果,在提高生產(chǎn)效率、降低生產(chǎn)成本、保證加工質(zhì)量及減輕操作人員的勞動(dòng)強(qiáng)度方面具有突出優(yōu)點(diǎn)[21。因此,將數(shù)控技術(shù)引入旋壓機(jī)床,研制新一代開(kāi)放式數(shù)字化、智能化的旋壓機(jī)床數(shù)控系統(tǒng)越來(lái)越受到人們的重視。
原則上講,用于金屬切削機(jī)床的商業(yè)數(shù)控系統(tǒng)都可以用做旋壓機(jī)床的數(shù)控系統(tǒng)。但金屬切削機(jī)床一般是電機(jī)驅(qū)動(dòng),與旋壓機(jī)床的液壓驅(qū)動(dòng)存在一定差別,如液壓油的可壓縮性會(huì)使系統(tǒng)剛性變差,電一液控制閥的非線性、液壓元件的響應(yīng)頻率低都會(huì)對(duì)系統(tǒng)的動(dòng)一靜特性帶來(lái)~定影響。西門(mén)子公司的840D數(shù)控系統(tǒng)是近年來(lái)推出的一種專(zhuān)為電一液伺服研制的液壓驅(qū)動(dòng)模塊刪。目前,國(guó)內(nèi)外比較著名的旋壓機(jī)床生產(chǎn)廠家,多采用840D數(shù)控系統(tǒng),如西班牙的DENN公司ZENN—100型數(shù)控旋壓機(jī)床、北京航空制造工程研究所的SY-8型數(shù)控旋壓機(jī)床,等等。
關(guān)于嵌入式的定義有很多種,普遍認(rèn)同的定義為:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、數(shù)控軟件硬件可裁剪,適合應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。每一套嵌入式系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)都有其特殊的應(yīng)用場(chǎng)合與特定功能,’這也是嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)最主要的區(qū)別。另外,由于嵌入式系統(tǒng)是為特定目的而設(shè)計(jì)的,因此,它可以最大限度地在硬件和軟件上“量身定做”以提高其效率,這樣的結(jié)果最終導(dǎo)致了實(shí)時(shí)性的增強(qiáng)。
我國(guó)的旋壓技術(shù)發(fā)展已接近國(guó)際先進(jìn)水平,許多自行設(shè)計(jì)制造的新型、高精度數(shù)控旋壓設(shè)備不斷涌現(xiàn)。但其數(shù)控系統(tǒng)還停留在引進(jìn)國(guó)外高檔專(zhuān)用數(shù)控系統(tǒng)或者用工控機(jī),嵌入式系統(tǒng)在數(shù)控旋壓機(jī)床上的應(yīng)用還屬空白。
2 基于ARM嵌入式系統(tǒng)應(yīng)用層數(shù)控軟件概要設(shè)計(jì)
2.1 數(shù)控系統(tǒng)要求
為適應(yīng)國(guó)情,并使所研究的成果能面向廣大中、小型企業(yè),本文采用基于ARM(Advanced Reduced instruction set computing Machines)嵌入式的經(jīng)濟(jì)型數(shù)控系統(tǒng),在旋壓機(jī)中對(duì)液壓彈頂裝置的軸向進(jìn)給(A軸)、旋輪座的橫向進(jìn)給(x軸)及縱向進(jìn)給(z軸)、旋輪的徑向進(jìn)給(通過(guò)B軸的轉(zhuǎn)動(dòng)來(lái)實(shí)現(xiàn))實(shí)行四軸兩聯(lián)動(dòng)控制。
2.2 嵌入式系統(tǒng)開(kāi)發(fā)流程
旋壓機(jī)床的數(shù)控軟件系統(tǒng)是一個(gè)很大的實(shí)時(shí)多任務(wù)處理軟件,它既要管理數(shù)控代碼的編輯、編譯、仿真以及機(jī)床運(yùn)行時(shí)的插補(bǔ)計(jì)算和實(shí)時(shí)控制,又要負(fù)責(zé)機(jī)床手動(dòng)操作、文件傳輸、在線幫助等任務(wù)??紤]到數(shù)控軟件開(kāi)發(fā)的復(fù)雜性,在軟件設(shè)計(jì)時(shí),首先按照數(shù)控軟件工程的思想進(jìn)行了系統(tǒng)的總體設(shè)計(jì),將系統(tǒng)軟件劃分成主機(jī)應(yīng)用程序和實(shí)時(shí)調(diào)度程序兩個(gè)既獨(dú)立又能相互協(xié)調(diào)的部分。主機(jī)應(yīng)用程序負(fù)責(zé)實(shí)現(xiàn)數(shù)控系統(tǒng)的各種基本功能、人機(jī)交互、界面顯示等;實(shí)時(shí)調(diào)度程序負(fù)責(zé)實(shí)現(xiàn)位置/速度實(shí)時(shí)控制、插補(bǔ)驅(qū)動(dòng)等功能。
2.3 操作程序總體規(guī)劃
考慮到機(jī)床功能要求及操作的便捷性,采用樹(shù)狀結(jié)構(gòu)進(jìn)行設(shè)計(jì),分5種工作模式:錄入模式、自動(dòng)模式、手動(dòng)模式、歸零模式、手輪模式。在每種模式下都有各自完整的操作規(guī)程,并且各個(gè)模式之間在任何情況下都可以任意相互切換。程序分為3級(jí)菜單,進(jìn)入下一級(jí)菜單時(shí)必須從上一級(jí)菜單向下進(jìn)。
3 ARM嵌入式數(shù)控系統(tǒng)數(shù)控軟件設(shè)計(jì)關(guān)鍵技術(shù)
嵌入式系統(tǒng)數(shù)控軟件包括嵌入式操作系統(tǒng)和嵌入式應(yīng)用數(shù)控軟件。嵌入式系統(tǒng)的應(yīng)用軟件是實(shí)現(xiàn)整個(gè)嵌入式系統(tǒng)功能的關(guān)鍵。
3.1譯碼模塊的分析與研究
3.1.1 數(shù)控系統(tǒng)中譯碼功能概述在數(shù)控系統(tǒng)中,零件的加工程序是以G代碼、M代碼等組成的一段段代碼程序,每段程序表示一個(gè)零件外形幾-M線條的加工或進(jìn)行一些輔助功能的操作。所謂“譯碼”就是輸入的數(shù)控加工程序按一定規(guī)則翻譯成CNC裝置中計(jì)算機(jī)能識(shí)別的數(shù)據(jù)形式,并按約定的格式存放在指定的譯碼結(jié)果緩沖器中。具體來(lái)講,譯碼就是從數(shù)控加工程序緩沖器或MDI緩沖器中逐個(gè)讀人字符,先識(shí)別出其中的文字碼和數(shù)字碼,再將具體的文字或輔助符號(hào)譯出,最后根據(jù)文字碼所代表的功能,將后續(xù)數(shù)字碼送到相應(yīng)譯碼結(jié)果緩沖器單元中。另外在譯碼過(guò)程中還要進(jìn)行數(shù)控加工程序的錯(cuò)誤診斷。數(shù)控加工的譯碼可由硬件線路來(lái)實(shí)現(xiàn),也可以由數(shù)控軟件編程來(lái)實(shí)現(xiàn)I剮。
3.1.2“G代碼翻譯模塊”與“加工服務(wù)模塊”之間的數(shù)據(jù)交換,“G代碼翻譯模塊”與“加工服務(wù)模塊”之間的數(shù)據(jù)交換是譯碼過(guò)程中最重要的一環(huán),要首先定義他們共同的數(shù)據(jù)類(lèi)型,以便在以后編程中運(yùn)用。由于這些數(shù)據(jù)類(lèi)型在G代碼翻譯模塊與加工服務(wù)模塊中都要使用,因此,要在公共模塊中定義。
3.2 A軸液壓控制系統(tǒng)設(shè)計(jì)
3.2.1 A軸液壓控制系統(tǒng)總體規(guī)劃
本文所設(shè)計(jì)的多功能旋壓機(jī)床的A軸采用液壓驅(qū)動(dòng),液壓系統(tǒng)中的模擬信號(hào)通過(guò)PWM接口進(jìn)行控制信號(hào)D/A轉(zhuǎn)換,由控制器、位移傳感器、伺服閥、液壓缸組成一個(gè)閉環(huán)反饋系統(tǒng)。
3.2.2 A軸液壓控制系統(tǒng)程序設(shè)計(jì)
根據(jù)數(shù)控系統(tǒng)的要求,通過(guò)電液比例伺服閥控制速度,分快速定位S1、工進(jìn)S2及精確定位S3只擋速度;位置由位移傳感器反饋0.5~1.7V電壓信號(hào)(對(duì)應(yīng)于0~70mm行程)控制,按比例力一式進(jìn)行檢測(cè),位置精度可通過(guò)實(shí)驗(yàn)數(shù)據(jù)調(diào)整系統(tǒng)參數(shù)獲得。為防止零點(diǎn)漂移,旋輪停止時(shí),將比例閥關(guān)閉,而不采用流量為零的控制方式。
3.3 圓弧運(yùn)動(dòng)程序設(shè)計(jì)
3.3.1 插補(bǔ)原理
直線與圓弧是構(gòu)成工件輪廓的基本要素,但數(shù)控旋壓機(jī)床的旋輪進(jìn)給不能?chē)?yán)格地沿直線或圓弧運(yùn)動(dòng),只能用折線軌跡進(jìn)行逼近。所謂插補(bǔ)功能就是系統(tǒng)能夠根據(jù)進(jìn)給速度的要求,在運(yùn)動(dòng)起點(diǎn)和終點(diǎn)之間計(jì)算出若干個(gè)中間點(diǎn)的坐標(biāo)值去逼近直線或圓弧,使機(jī)床運(yùn)動(dòng)的軌跡逼近直線或圓弧。由于每個(gè)中間點(diǎn)的計(jì)算時(shí)間直接影響系統(tǒng)的控制速度,而插補(bǔ)中間點(diǎn)的計(jì)算精度又影響到整個(gè)CNC系統(tǒng)的精度,因此,插補(bǔ)算法對(duì)整個(gè)數(shù)控系統(tǒng)的性能指標(biāo)至關(guān)重要。目前,應(yīng)用的插*bg法分為兩類(lèi):即脈沖增量插補(bǔ)算法和數(shù)字采樣插補(bǔ)算法。而圓弧插補(bǔ)中,常用的插補(bǔ)為逐點(diǎn)比較法、最小偏差法、DDA法、直接函數(shù)法DFB、角度逼近法等。
3.3.2 圓弧運(yùn)動(dòng)插補(bǔ)
圓弧插補(bǔ)涉及的問(wèn)題比較多,如圓弧的方向(順圓、逆圓)、象限的區(qū)分等。目前圓弧插補(bǔ)算法己日趨成熟,如逐點(diǎn)比較法、DDA法、最小偏差法及其各種改進(jìn)算法等。和逐點(diǎn)比較法相比,最小偏差法雖然要多計(jì)算兩次偏差值,但可以明顯提高插補(bǔ)精度,而且在現(xiàn)有的硬件條件下,計(jì)算速度完全可以滿(mǎn)足生產(chǎn)要求。
將一個(gè)圓分成8卦限,規(guī)定在不同的象限,其進(jìn)給方向不同。如逆時(shí)針插*ba,-t,在0卦限,進(jìn)給方向只能為(+△y)或(-△x,+△y)。
3.3.3 基于MCX314As控制芯片的圓弧插補(bǔ)
MCX314As運(yùn)動(dòng)控制芯片圓弧運(yùn)動(dòng)采用最小偏差的位插補(bǔ)驅(qū)動(dòng),可以進(jìn)行任意兩軸的圓弧插補(bǔ)運(yùn)動(dòng)。在插補(bǔ)運(yùn)動(dòng)中,當(dāng)前位置就是圓弧插補(bǔ)的起始點(diǎn)。用戶(hù)設(shè)置好圓心坐標(biāo)、插補(bǔ)終點(diǎn)值及其插補(bǔ)方向后,就可以進(jìn)行圓弧插補(bǔ)。值得注意的是,坐標(biāo)的設(shè)定值是相對(duì)于起始點(diǎn)的相對(duì)值,而不是坐標(biāo)的絕對(duì)值。
MCX314As運(yùn)動(dòng)控制芯片的運(yùn)動(dòng)控制原理與最小偏差原理相似,將并7坐標(biāo)平面分8個(gè)卦限。在0、3、4、7卦限內(nèi),名的絕對(duì)值總是大于y的絕對(duì)值,而在1、2、5、6卦限內(nèi),y的絕對(duì)值總是大于菇的絕對(duì)值。
可以看出,在0、3、4、7卦限內(nèi)長(zhǎng)軸y軸是連續(xù)運(yùn)動(dòng),短軸并軸作插補(bǔ)運(yùn)動(dòng);而另外4個(gè)象限則情況相反。插補(bǔ)運(yùn)動(dòng)中插補(bǔ)坐標(biāo)圓點(diǎn)到插補(bǔ)終點(diǎn)的距離范圍是-2,147,483,646~+2,147,483,646之間,插補(bǔ)精度為±1LSB(Least significant bit,插補(bǔ)單位),插補(bǔ)速度范圍是1PPS~4MPPS。
3.4 基于MCX314As控制芯片的圓弧運(yùn)動(dòng)程序設(shè)計(jì)
本機(jī)床需要2軸的直線插補(bǔ)及圓弧插補(bǔ)運(yùn)動(dòng)。旋壓機(jī)床圓弧運(yùn)動(dòng)的編程方法可分為:半徑編程與圓心坐標(biāo)編程,編程平面為船平面。將運(yùn)動(dòng)庫(kù)函數(shù)添加到ADS安裝目錄LStationary\下,將運(yùn)動(dòng)函數(shù)連接到工程項(xiàng)目中,然后進(jìn)行程序設(shè)計(jì)編程。
4 總結(jié)
基于ARM嵌入式數(shù)控系統(tǒng)的開(kāi)發(fā)是個(gè)復(fù)雜的系統(tǒng),本文對(duì)數(shù)控系統(tǒng)應(yīng)用層數(shù)控軟件開(kāi)發(fā)過(guò)程中的關(guān)鍵技術(shù)進(jìn)行了深入的研究。首先對(duì)應(yīng)用層公共模塊進(jìn)行了設(shè)計(jì);其次對(duì)譯碼模塊進(jìn)行了分析研究,給出了由G代碼翻譯模塊到加工服務(wù)模塊的數(shù)據(jù)協(xié)議結(jié)構(gòu);然后,對(duì)旋壓數(shù)控機(jī)床最核心部分的液壓控制程序進(jìn)行了分析研究,給出了液壓控制主要程序;最后對(duì)加工運(yùn)動(dòng)中最核心的圓弧插補(bǔ)運(yùn)動(dòng)程序的設(shè)計(jì)進(jìn)行了研究,分析了MCX314As運(yùn)動(dòng)控制芯片的圓弧插補(bǔ)原理,給出了圓弧運(yùn)動(dòng)的主要設(shè)計(jì)程序。
(審核編輯: 智匯胡妮)
分享