1 數(shù)控系統(tǒng)的硬件結(jié)構(gòu)
智能運動控制器
智能運動控制器是一個較高性能的伺服運動控制器。每一兩塊塊控制器上有三塊或四塊控制芯片,每一塊芯片獨立地控制一個軸的運動,可對芯片進行初始化編程,規(guī)定各控制芯片的工作狀態(tài):發(fā)脈沖的速率,發(fā)脈沖的個數(shù)。本文采用兩塊智能運動控制器控制五軸聯(lián)動。
數(shù)控系統(tǒng)硬件結(jié)構(gòu)及工作原理
該數(shù)控系統(tǒng)的控制是在工業(yè)控制機(IPC)平臺的基礎(chǔ)上,采用兩塊智能運動控制器進行位控。工控機上的CPU 和運動器上的控制芯片構(gòu)成了主從式處理機構(gòu)。主機完成粗插補運算,得到每一次各軸需運動的步數(shù)及方向,用這些數(shù)據(jù)去控制智能運動控制器的工作狀態(tài):各軸的運動步數(shù)、發(fā)脈沖速率:再由智能運動控制器完成五軸的精插補。工作臺的運行情況通過傳感器直接反饋輸入智能運動控制器,此信號可由主CPU讀入。其結(jié)構(gòu)原理如圖1所示。
閉環(huán)控制系統(tǒng)
圖1 數(shù)控系統(tǒng)結(jié)構(gòu)原理圖
在這種系統(tǒng)中,主機讀入長光柵傳感器反饋回的工作臺的實際位移量,將此位移量與理想值相比較,得到誤差信號并用此誤差去控制智能運動控制器,使實際值與理想值趨于重合,從而消除運行誤差。該系統(tǒng)如圖2所示。
圖2 閉環(huán)控制系統(tǒng)
2 數(shù)控系統(tǒng)的軟件設(shè)計
數(shù)字控制的插補算法
保證數(shù)控工作臺沿著預(yù)定的軌跡運行的問題,實質(zhì)上是如何通過插補運算,實現(xiàn)按一定規(guī)律分配進給脈沖,控制伺服電機運動。插補運算是根據(jù)數(shù)控語言代碼提供的軌跡類型選擇相應(yīng)算法,保證在一定精度范圍內(nèi)計算出一段直線或圓弧的一系列中間點的坐標(biāo)值,并逐次以增量坐標(biāo)值或脈沖序列形式輸出,使伺服電機以一定速度轉(zhuǎn)動,控制工作臺按預(yù)定的軌跡運動。數(shù)控技術(shù)中采用的插補算法可歸納為兩類:
一次插補法 如逐點比較法、數(shù)字積分器法等,這類算法,進給速度受到限制,過去的硬件數(shù)控系統(tǒng)常常采用。
二次插補法 它將插補功能分為粗插補和精插補兩部份完成,常用的有擴展數(shù)字積分器法和時間分割法。這類算法,在每個插補運算周期里輸出的不是單個脈沖,而是一個線段(位置增量坐標(biāo)數(shù)據(jù)),因而能顯著提高進給速度,在計算機數(shù)控系統(tǒng)中得到廣泛采用。本系統(tǒng)的插補算法就是采用時間分割法,它根據(jù)進給速度計算出每個固定時間內(nèi)的進給量,進行粗插補運算,求出這個插補周期各聯(lián)動坐標(biāo)應(yīng)移動的位置增量值,然后再通過精插補將該插補周期的各軸位置增量值變換成各坐標(biāo)方向的均勻運動。
基于擴充內(nèi)存的時間分割插補法
數(shù)控系統(tǒng)的加工過程一般要經(jīng)過插補、輸出脈沖、反饋等幾個過程。傳統(tǒng)的方法是插補一次,發(fā)出一個脈沖,檢測一次誤差。在這種方法下,控制過程是一個順序過程,其中各個環(huán)節(jié)環(huán)環(huán)相扣,互相制約,因此很難實現(xiàn)誤差的快速響應(yīng)。同時,由于DOS系統(tǒng)的尋址能力有限,因此必須考慮存放大量插補數(shù)據(jù)的方法。為了解決這些問題,本系統(tǒng)采用基于擴充內(nèi)存的時間分割插補方法:為了提高系統(tǒng)的實時性,控制方法上采用讀入運行代碼文件后,先在主機完成粗插補運算,并把插補得到的數(shù)據(jù)放入擴充內(nèi)存,然后采用中斷的方式從擴充內(nèi)存取數(shù),并與反饋系統(tǒng)檢測的誤差數(shù)據(jù)合并處理,再用得到的結(jié)果(各軸的位置坐標(biāo)增量數(shù)據(jù))去控制智能運動控制器的工作狀態(tài),然后由智能運動控制器完成精插補,它發(fā)出序列脈沖去直接控制各個伺服驅(qū)動器。放入擴充內(nèi)存的數(shù)據(jù)類型定義如下:
struct emms
{char complete:
char dirr[5]:
char stepp[5]:
}:
其中complete 是定義粗插補數(shù)據(jù)是否完成的標(biāo)志,dirr[5]定義五軸的運動方向:0x00為不動,0x01為正轉(zhuǎn),0x10為反轉(zhuǎn):stepp[5]定義五軸的運動步數(shù)。中斷程序從擴充內(nèi)存讀入這些數(shù)據(jù)后,再與反饋系統(tǒng)檢測的誤差數(shù)據(jù)合并處理,并用得到的結(jié)果去控制智能運動控制器控制芯片的工作狀態(tài),就可完成精插補,實現(xiàn)在相同時間內(nèi)各軸沿相應(yīng)方向運動一定的步數(shù)。圖3 是系統(tǒng)閉環(huán)控制程序框圖。
圖3 閉環(huán)控制程序框圖
這里采用的閉環(huán)控制方法是在精插補前根據(jù)誤差補償數(shù)據(jù)自動與粗插補數(shù)據(jù)合并而實現(xiàn)的。例如取得粗插補數(shù)據(jù)后(各軸應(yīng)運動的步數(shù)及方向),在發(fā)給智能運動控制器之前,會根據(jù)系統(tǒng)反饋的誤差數(shù)據(jù)重新配置,假設(shè)粗插補數(shù)據(jù)0軸是:dirr[0]=0x01,stepp[0]=0x01,而系統(tǒng)反饋情況是上一次反轉(zhuǎn)運行有一步未運行,則精插補數(shù)據(jù)變?yōu)閐irr[0]=0x00,stepp[0]=0x00,此次0軸電機不運行:如反饋情況是上一次正轉(zhuǎn)有一步未運行,則精插補數(shù)據(jù)變?yōu)閐irr[0]=0x01,step-p[0]=0x02,此次0軸電機正轉(zhuǎn)運行- 步。經(jīng)過這樣的處理后,位控系統(tǒng)及時地將運行誤差在緊鄰的一個粗插補數(shù)據(jù)進行補償,避免了影響后面的插補運行,提高了反饋補償?shù)捻憫?yīng)速度和精度。而傳統(tǒng)的間接控制方法是將誤差補償數(shù)據(jù)編入插補算法中,這樣補償被人為地滯后,而且如果補償不到位,將影響后面的插補數(shù)據(jù)精度,其精度和響應(yīng)速度都降低了。
3 實驗
實驗是在我們教研室自制的五軸聯(lián)動數(shù)控機構(gòu)上進行的。實驗所用的閉環(huán)檢測元件是普通金屬長光柵尺,其檢測分辨率為0.004mm。數(shù)控系統(tǒng)采用PⅡ233 研華工控機為控制主機,運動控制器采用兩塊國產(chǎn)智能運動控制器,驅(qū)動電機為國產(chǎn)步進電機。實驗中,我們測試了兩軸、三軸、四軸、五軸的聯(lián)動運行,運動速度為1500mm/min。實驗結(jié)果,數(shù)據(jù)誤差為0.02mm。實驗結(jié)果比較令人滿意。
4 結(jié)論
實驗結(jié)果證明,本系統(tǒng)的硬件、軟件設(shè)計比較令人滿意,其開放性令人滿意,能夠滿足不同用戶的需要,實現(xiàn)對多軸聯(lián)動的開環(huán)或閉環(huán)實時控制。
轉(zhuǎn)載請注明出處。