基于智能運動控制器的開放式多軸聯(lián)動數(shù)控系統(tǒng)

發(fā)布日期:2011-11-25    蘭生客服中心    瀏覽:2096

1 數(shù)控系統(tǒng)的硬件結(jié)構(gòu)本文提出了以智能運動控制器為位控模塊,工業(yè)控制機(jī)為支撐單元的開放式數(shù)控系統(tǒng),其軟件平臺實現(xiàn)了人機(jī)界面的圖形化,用二次插補(bǔ)法實現(xiàn)對多軸聯(lián)動的控制。


 javascript:resizepic(this) border=0>


圖1 數(shù)控系統(tǒng)結(jié)構(gòu)原理圖


1 數(shù)控系統(tǒng)的硬件結(jié)構(gòu)

智能運動控制器


    智能運動控制器是一個較高性能的伺服運動控制器。每一兩塊塊控制器上有三塊或四塊控制芯片,每一塊芯片獨立地控制一個軸的運動,可對芯片進(jìn)行初始化編程,規(guī)定各控制芯片的工作狀態(tài):發(fā)脈沖的速率,發(fā)脈沖的個數(shù)。本文采用兩塊智能運動控制器控制五軸聯(lián)動。


數(shù)控系統(tǒng)硬件結(jié)構(gòu)及工作原理

    該數(shù)控系統(tǒng)的控制是在工業(yè)控制機(jī)(IPC)平臺的基礎(chǔ)上,采用兩塊智能運動控制器進(jìn)行位控。工控機(jī)上的CPU 和運動器上的控制芯片構(gòu)成了主從式處理機(jī)構(gòu)。主機(jī)完成粗插補(bǔ)運算,得到每一次各軸需運動的步數(shù)及方向,用這些數(shù)據(jù)去控制智能運動控制器的工作狀態(tài):各軸的運動步數(shù)、發(fā)脈沖速率:再由智能運動控制器完成五軸的精插補(bǔ)。工作臺的運行情況通過傳感器直接反饋輸入智能運動控制器,此信號可由主CPU讀入。其結(jié)構(gòu)原理如圖1所示。


閉環(huán)控制系統(tǒng)

    在這種系統(tǒng)中,主機(jī)讀入長光柵傳感器反饋回的工作臺的實際位移量,將此位移量與理想值相比較,得到誤差信號并用此誤差去控制智能運動控制器,使實際值與理想值趨于重合,從而消除運行誤差。該系統(tǒng)如圖2所示。


javascript:resizepic(this) border=0>


圖2 閉環(huán)控制系統(tǒng)


2 數(shù)控系統(tǒng)的軟件設(shè)計

數(shù)字控制的插補(bǔ)算法

    保證數(shù)控工作臺沿著預(yù)定的軌跡運行的問題,實質(zhì)上是如何通過插補(bǔ)運算,實現(xiàn)按一定規(guī)律分配進(jìn)給脈沖,控制伺服電機(jī)運動。插補(bǔ)運算是根據(jù)數(shù)控語言代碼提供的軌跡類型選擇相應(yīng)算法,保證在一定精度范圍內(nèi)計算出一段直線或圓弧的一系列中間點的坐標(biāo)值,并逐次以增量坐標(biāo)值或脈沖序列形式輸出,使伺服電機(jī)以一定速度轉(zhuǎn)動,控制工作臺按預(yù)定的軌跡運動。數(shù)控技術(shù)中采用的插補(bǔ)算法可歸納為兩類:


    一次插補(bǔ)法 如逐點比較法、數(shù)字積分器法等,這類算法,進(jìn)給速度受到限制,過去的硬件數(shù)控系統(tǒng)常常采用。


    二次插補(bǔ)法 它將插補(bǔ)功能分為粗插補(bǔ)和精插補(bǔ)兩部份完成,常用的有擴(kuò)展數(shù)字積分器法和時間分割法。這類算法,在每個插補(bǔ)運算周期里輸出的不是單個脈沖,而是一個線段(位置增量坐標(biāo)數(shù)據(jù)),因而能顯著提高進(jìn)給速度,在計算機(jī)數(shù)控系統(tǒng)中得到廣泛采用。本系統(tǒng)的插補(bǔ)算法就是采用時間分割法,它根據(jù)進(jìn)給速度計算出每個固定時間內(nèi)的進(jìn)給量,進(jìn)行粗插補(bǔ)運算,求出這個插補(bǔ)周期各聯(lián)動坐標(biāo)應(yīng)移動的位置增量值,然后再通過精插補(bǔ)將該插補(bǔ)周期的各軸位置增量值變換成各坐標(biāo)方向的均勻運動。


基于擴(kuò)充內(nèi)存的時間分割插補(bǔ)法


    數(shù)控系統(tǒng)的加工過程一般要經(jīng)過插補(bǔ)、輸出脈沖、反饋等幾個過程。傳統(tǒng)的方法是插補(bǔ)一次,發(fā)出一個脈沖,檢測一次誤差。在這種方法下,控制過程是一個順序過程,其中各個環(huán)節(jié)環(huán)環(huán)相扣,互相制約,因此很難實現(xiàn)誤差的快速響應(yīng)。同時,由于DOS系統(tǒng)的尋址能力有限,因此必須考慮存放大量插補(bǔ)數(shù)據(jù)的方法。為了解決這些問題,本系統(tǒng)采用基于擴(kuò)充內(nèi)存的時間分割插補(bǔ)方法:為了提高系統(tǒng)的實時性,控制方法上采用讀入運行代碼文件后,先在主機(jī)完成粗插補(bǔ)運算,并把插補(bǔ)得到的數(shù)據(jù)放入擴(kuò)充內(nèi)存,然后采用中斷的方式從擴(kuò)充內(nèi)存取數(shù),并與反饋系統(tǒng)檢測的誤差數(shù)據(jù)合并處理,再用得到的結(jié)果(各軸的位置坐標(biāo)增量數(shù)據(jù))去控制智能運動控制器的工作狀態(tài),然后由智能運動控制器完成精插補(bǔ),它發(fā)出序列脈沖去直接控制各個伺服驅(qū)動器。放入擴(kuò)充內(nèi)存的數(shù)據(jù)類型定義如下:

struct emms

{char complete:

 char dirr[5]:

 char stepp[5]:

}:


    其中complete 是定義粗插補(bǔ)數(shù)據(jù)是否完成的標(biāo)志,dirr[5]定義五軸的運動方向:0x00為不動,0x01為正轉(zhuǎn),0x10為反轉(zhuǎn):stepp[5]定義五軸的運動步數(shù)。中斷程序從擴(kuò)充內(nèi)存讀入這些數(shù)據(jù)后,再與反饋系統(tǒng)檢測的誤差數(shù)據(jù)合并處理,并用得到的結(jié)果去控制智能運動控制器控制芯片的工作狀態(tài),就可完成精插補(bǔ),實現(xiàn)在相同時間內(nèi)各軸沿相應(yīng)方向運動一定的步數(shù)。圖3 是系統(tǒng)閉環(huán)控制程序框圖。






javascript:resizepic(this) border=0>




圖3 閉環(huán)控制程序框圖

 


    這里采用的閉環(huán)控制方法是在精插補(bǔ)前根據(jù)誤差補(bǔ)償數(shù)據(jù)自動與粗插補(bǔ)數(shù)據(jù)合并而實現(xiàn)的。例如取得粗插補(bǔ)數(shù)據(jù)后(各軸應(yīng)運動的步數(shù)及方向),在發(fā)給智能運動控制器之前,會根據(jù)系統(tǒng)反饋的誤差數(shù)據(jù)重新配置,假設(shè)粗插補(bǔ)數(shù)據(jù)0軸是:dirr[0]=0x01,stepp[0]=0x01,而系統(tǒng)反饋情況是上一次反轉(zhuǎn)運行有一步未運行,則精插補(bǔ)數(shù)據(jù)變?yōu)閐irr[0]=0x00,stepp[0]=0x00,此次0軸電機(jī)不運行:如反饋情況是上一次正轉(zhuǎn)有一步未運行,則精插補(bǔ)數(shù)據(jù)變?yōu)閐irr[0]=0x01,step-p[0]=0x02,此次0軸電機(jī)正轉(zhuǎn)運行- 步。經(jīng)過這樣的處理后,位控系統(tǒng)及時地將運行誤差在緊鄰的一個粗插補(bǔ)數(shù)據(jù)進(jìn)行補(bǔ)償,避免了影響后面的插補(bǔ)運行,提高了反饋補(bǔ)償?shù)捻憫?yīng)速度和精度。而傳統(tǒng)的間接控制方法是將誤差補(bǔ)償數(shù)據(jù)編入插補(bǔ)算法中,這樣補(bǔ)償被人為地滯后,而且如果補(bǔ)償不到位,將影響后面的插補(bǔ)數(shù)據(jù)精度,其精度和響應(yīng)速度都降低了。


3 實驗

    實驗是在我們教研室自制的五軸聯(lián)動數(shù)控機(jī)構(gòu)上進(jìn)行的。實驗所用的閉環(huán)檢測元件是普通金屬長光柵尺,其檢測分辨率為0.004mm。數(shù)控系統(tǒng)采用PⅡ233 研華工控機(jī)為控制主機(jī),運動控制器采用兩塊國產(chǎn)智能運動控制器,驅(qū)動電機(jī)為國產(chǎn)步進(jìn)電機(jī)。實驗中,我們測試了兩軸、三軸、四軸、五軸的聯(lián)動運行,運動速度為1500mm/min。實驗結(jié)果,數(shù)據(jù)誤差為0.02mm。實驗結(jié)果比較令人滿意。


4 結(jié)論

    實驗結(jié)果證明,本系統(tǒng)的硬件、軟件設(shè)計比較令人滿意,其開放性令人滿意,能夠滿足不同用戶的需要,實現(xiàn)對多軸聯(lián)動的開環(huán)或閉環(huán)實時控制。

更多相關(guān)信息