關(guān)鍵詞:全閉環(huán) PCI總線 交流伺服 運(yùn)動(dòng)控制卡
0 引言
現(xiàn)代工業(yè)生產(chǎn)中,交流伺服控制系統(tǒng)已經(jīng)被廣泛使用。但隨著機(jī)電一體化產(chǎn)品的發(fā)展,對(duì)交流伺服控制系統(tǒng)的定位精度和動(dòng)態(tài)響應(yīng)的要求越來越高,傳統(tǒng)系統(tǒng)已經(jīng)難以滿足現(xiàn)代化生產(chǎn)的需要。以數(shù)字替代模擬、交流替代直流、閉環(huán)替代開環(huán)的設(shè)計(jì)思想,成為目前構(gòu)建開放式控制系統(tǒng)的主要方法。
在多種開放式控制系統(tǒng)中,PC機(jī)(包括工業(yè)PC)具有生產(chǎn)批量大、性價(jià)比高、技術(shù)進(jìn)步的特點(diǎn),同時(shí)配有高性能應(yīng)用軟件和程序設(shè)計(jì)軟件。因此利用PC機(jī)的標(biāo)準(zhǔn)PCI總線,設(shè)計(jì)出PC+運(yùn)動(dòng)控制卡的上位控制器,可滿足控制系統(tǒng)核心部件的要求。
交流伺服控制系統(tǒng)大多工作在半閉環(huán)的控制方式,這種控制方式對(duì)于傳動(dòng)鏈上的間隙及誤差不能克服或補(bǔ)償。為了獲得更高的控制精度,應(yīng)在最終的運(yùn)動(dòng)部分安裝高精度的檢測(cè)元件(如:光柵尺、光電編碼器等),即實(shí)現(xiàn)全閉環(huán)控制[1>。全閉環(huán)控制克服半閉環(huán)控制系統(tǒng)的缺陷,上位控制器可以直接采樣裝在最后一級(jí)機(jī)械運(yùn)動(dòng)部件上的位置反饋元件作為位置環(huán),這樣伺服系統(tǒng)就可以消除機(jī)械傳動(dòng)上存在的間隙(如齒輪間隙、絲杠間隙等),補(bǔ)償機(jī)械傳動(dòng)件的制造誤差(如絲杠螺距誤差等),實(shí)現(xiàn)真正的全閉環(huán)位置控制功能,獲得較高的定位精度。
1 控制系統(tǒng)的硬件設(shè)計(jì)
1.1系統(tǒng)硬件組成
該系統(tǒng)的是一種教學(xué)和實(shí)驗(yàn)使用的X-Y軸全閉環(huán)交流伺服運(yùn)動(dòng)控制系統(tǒng)。系統(tǒng)由四個(gè)部分組成(圖1):(1)上位控制部分包括通用PC機(jī)、ADT850運(yùn)動(dòng)控制卡;(2)松下MINAS A4系列交流伺服驅(qū)動(dòng)器和交流伺服電機(jī)組成驅(qū)動(dòng)部分;(3)負(fù)載部分為X-Y軸滾珠絲杠平臺(tái);(4)閉環(huán)反饋部分由光柵尺和數(shù)據(jù)采集卡來實(shí)現(xiàn)。

圖1 全閉環(huán)伺服系統(tǒng)結(jié)構(gòu)圖
Fig.1 the structure of the full-closed servo loop system
1.2 全閉環(huán)控制結(jié)構(gòu)設(shè)計(jì)
控制系統(tǒng)采用雙環(huán)結(jié)構(gòu),即內(nèi)環(huán)和外環(huán)。內(nèi)環(huán)是保證系統(tǒng)的穩(wěn)定性和對(duì)外干擾及參數(shù)變化的魯棒性。外環(huán)提高系統(tǒng)的控制精度,使閉環(huán)系統(tǒng)響應(yīng)和參考模型接近。
(1)內(nèi)環(huán)是通過交流伺服驅(qū)動(dòng)器接收伺服電機(jī)的編碼器反饋信號(hào),實(shí)現(xiàn)對(duì)電機(jī)的控制。松下MINAS A4系列交流伺服驅(qū)動(dòng)器包含了伺服控制器與PWM功率放大器。伺服控制器以位置環(huán)控制器、速度環(huán)控制器和電流環(huán)控制器組成。伺服控制器的功能在于完成伺服系統(tǒng)的閉環(huán)控制,如轉(zhuǎn)矩控制、速度控制、和位置控制。伺服驅(qū)動(dòng)器中IPM(智能功率模塊)是以IGBT為功率器件的新型模塊。(PWM變頻調(diào)速技術(shù))這種功率模塊是將輸出功率元件IGBT和驅(qū)動(dòng)電路、多種保護(hù)電路集成在同一模塊內(nèi),提高了系統(tǒng)性能和可靠性,降低了IPM通態(tài)損耗和開關(guān)損耗,同時(shí)減小了整個(gè)系統(tǒng)的尺寸。
(2)外環(huán)構(gòu)成是由光柵尺采集負(fù)載平臺(tái)位移信號(hào)量,通過數(shù)據(jù)采集卡反饋給上位控制系統(tǒng)。光柵尺采用直線增量式光柵尺。增量測(cè)量法的光柵采用周期性的光柵刻線,位置信息是通過計(jì)算自某點(diǎn)開始的增量數(shù)(測(cè)量步距)獲得的[2>。如圖2所示,光柵尺的輸出信號(hào)為相位角相差90°的A、B兩路方波信號(hào),信號(hào)的空間位置周期為W,最高分辨率為η=W/4。W越小,意味著光柵尺的分辨率越高。當(dāng)系統(tǒng)正向運(yùn)動(dòng)時(shí),A信號(hào)的上升沿及下降沿均比B信號(hào)超前1/4W;反之當(dāng)系統(tǒng)反向運(yùn)動(dòng)時(shí),A信號(hào)的上升沿及下降沿均比B信號(hào)滯后1/4W。根據(jù)采集到的運(yùn)動(dòng)信號(hào)方向和A信號(hào)變化的周期數(shù)用計(jì)數(shù)器進(jìn)行計(jì)數(shù),就可以測(cè)算出位移,即位移量X=nW,n為計(jì)數(shù)值。

圖2 光柵尺信號(hào)采集原理圖
Fig.2 principle of the linear encoder signals collection
(3)運(yùn)動(dòng)控制卡負(fù)責(zé)系統(tǒng)的實(shí)時(shí)控制。ADT850運(yùn)動(dòng)控制卡是PCI總線的運(yùn)動(dòng)控制卡,用于控制步進(jìn)電機(jī)和數(shù)字伺服電機(jī), 進(jìn)行直線、圓弧插補(bǔ)和樣條函數(shù)等運(yùn)動(dòng)。ADT850運(yùn)動(dòng)控制卡作為步進(jìn)電機(jī)的上位單元, 與計(jì)算機(jī)構(gòu)成主從式控制結(jié)構(gòu)。計(jì)算機(jī)主要完成人機(jī)交互界面的管理、控制系統(tǒng)的檢測(cè)和控制工作,運(yùn)動(dòng)控制卡接收計(jì)算機(jī)CPU的發(fā)出的指令, 進(jìn)行運(yùn)動(dòng)軌跡的規(guī)劃。這包括脈沖的方向和方向信號(hào)的輸出、自動(dòng)升降速處理、原點(diǎn)和限位開關(guān)等信號(hào)的檢測(cè)。系統(tǒng)具有軟件搜索參考點(diǎn)和軟件限位功能, 這樣可以保證電機(jī)和滾珠絲杠等精密部件不在系統(tǒng)運(yùn)行中損壞。同時(shí)ADT850支持DOS、Windows95/98/NT/2000/XP等操作系統(tǒng), 提供底層庫(kù)函數(shù), 可用VC++、VB等進(jìn)行軟件開發(fā)[3>。
2 基于ADT850卡的軟件開發(fā)
本系統(tǒng)同時(shí)采用基于PCI總線的運(yùn)動(dòng)控制卡和數(shù)據(jù)采集卡,兩種卡都提供底層VC庫(kù)函數(shù),為在一個(gè)軟件框架下進(jìn)行開發(fā)提供了便捷的途徑。開發(fā)中選擇在Windows系統(tǒng)下,利用VC++ 的MFC以面向?qū)ο蠓绞竭M(jìn)行編程[4>。軟件的開發(fā)過程主要包括三個(gè)部分,如系統(tǒng)結(jié)構(gòu)圖3所示:程序的初始化;二維軌跡設(shè)計(jì);檢測(cè)信號(hào)的誤差比較。

圖3 系統(tǒng)軟件結(jié)構(gòu)流程圖
Fig.3 system software structure flow
(1)ADT850運(yùn)動(dòng)控制卡的初始化
ADT850運(yùn)動(dòng)控制卡本身提供靜態(tài)庫(kù)、頭文件ADT850.H、WindowsNT/2000使用的文件,動(dòng)態(tài)庫(kù)中的函數(shù)已在頭文件ADT850.H中有聲明。在程序頭聲明了#include “adt850.h”之后,調(diào)用庫(kù)函數(shù),確認(rèn)adt850卡的安裝,設(shè)置脈沖輸出的模式,位置反饋的模式,限位開關(guān)的工作模式,伺服信號(hào)的使用與否,是否使用軟件限位等,這些參數(shù)應(yīng)根據(jù)具體的硬件平臺(tái)來設(shè)置,一般只在程序初始化時(shí)設(shè)置一次,以后不應(yīng)再設(shè)置。部分函數(shù)調(diào)用如下:
adt850_initial() //檢測(cè)安裝ADT850卡
int set_pulse_mode() //設(shè)置輸出脈沖的工作方式
int get_status() //獲取各軸的驅(qū)動(dòng)狀態(tài)
int get_inp_status() //獲取插補(bǔ)的驅(qū)動(dòng)狀態(tài)
int set_range() //范圍設(shè)定
int set_startv() //初始速度設(shè)定
int set_speed() //驅(qū)動(dòng)速度設(shè)定
(2)KPCI-811多功能數(shù)據(jù)采集卡的初始化
采用KPCI-811多功能數(shù)據(jù)采集卡,在初始化中同運(yùn)動(dòng)控制卡一樣,調(diào)用數(shù)據(jù)采集卡庫(kù)函數(shù)進(jìn)行卡的初始化設(shè)置。包括創(chuàng)建設(shè)備對(duì)象,設(shè)置采集頻率,定時(shí)計(jì)數(shù)工作模式等。部分函數(shù)調(diào)用如下:
IO_HANDLEL_KP811_LocateAndOpen() //創(chuàng)建設(shè)備對(duì)象
void KP811_TimerWrite() //設(shè)置AD采集頻率
void KP811_ModeWrite() //設(shè)置工作模式
void KP811_ChannelWrite() //設(shè)置A/D通道號(hào)
WORD KP811_CheckSF_ReadFIFO() //軟件觸發(fā)A/D并讀取數(shù)據(jù)
void KP811_8254_CTRL_Write() //設(shè)置8254定時(shí)計(jì)數(shù)工作模式
(3)二維軌跡程序設(shè)計(jì)
利用VC++的MFC設(shè)計(jì)基于對(duì)話框的運(yùn)動(dòng)控制軌跡設(shè)計(jì)。以直線插補(bǔ)軌跡為例,實(shí)現(xiàn)從原點(diǎn)到指定位置的直線運(yùn)動(dòng)。部分程序如下:
void CMyDlg::OnOrigin()
{
…….
char ch1[10>,ch2[10>;
GetDlgItem(IDC_LOG_POS1)->GetWindowText(ch1,10);
GetDlgItem(IDC_LOG_POS2)->GetWindowText(ch2,10);
num1=atoi(ch1);
num2=atoi(ch2);
……
}
void CMyDlg::OnLine()
{
……
inp_move2(cardno,1, num1, num2);
……
}
3 實(shí)際運(yùn)行中的關(guān)鍵問題分析和解決方法
(1)實(shí)際檢測(cè)信號(hào)的誤差
在控制端,定時(shí)器產(chǎn)生中斷,程序會(huì)去讀光柵尺檢測(cè)的實(shí)際位置值信號(hào),同時(shí)暫停電機(jī)運(yùn)行程序,等待校正結(jié)果。然而在負(fù)載端,如果在伺服電機(jī)還沒真正停穩(wěn)的時(shí)候去讀光柵尺檢測(cè)的實(shí)際位置值,就會(huì)產(chǎn)生檢測(cè)的誤差。解決方法可以通過中斷產(chǎn)生時(shí)給電機(jī)適當(dāng)?shù)难娱L(zhǎng)一段時(shí)間,延時(shí)后再去檢測(cè)光柵尺的實(shí)際位置,然后再去校正。顯然這個(gè)延時(shí)的設(shè)置要考慮配合采樣周期的設(shè)定和伺服驅(qū)動(dòng)器,伺服電機(jī)的性能。因?yàn)檫@個(gè)延時(shí)會(huì)隨著中斷數(shù)的增加形成積累,延時(shí)過長(zhǎng)會(huì)影響系統(tǒng)的性能;延時(shí)也不能短過伺服驅(qū)動(dòng)器和伺服電機(jī)的性能要求。
(2)采樣周期的確定
采樣周期決定著系統(tǒng)定位精度和響應(yīng)頻率。采樣周期越小,控制精度就越高,但會(huì)加大控制器的計(jì)算量,同時(shí)造成頻繁的中斷,減慢電機(jī)的運(yùn)行速度和連續(xù)性,從而影響其響應(yīng)頻率。因此在實(shí)際選擇采樣周期時(shí),必須從需要和可能兩方面綜合考慮。從控制系統(tǒng)的動(dòng)態(tài)性能和抗干擾性能來考慮,要求采樣周期短些。這樣系統(tǒng)可以通過給定值的改變,快速定位,減小誤差,提高抗干擾性能。從響應(yīng)頻率來考慮,采樣周期則應(yīng)該取的長(zhǎng)些,這樣可以減少DSP的計(jì)算量,減少電機(jī)運(yùn)動(dòng)的步數(shù),從而提高電機(jī)運(yùn)行的速度和頻率,控制的連續(xù)性得到加強(qiáng)。從上述分析可以看到,各種因素對(duì)采樣周期的要求是不同的,甚至是相互矛盾的,因此,必須根據(jù)具體的情況和要求綜合做出選擇。實(shí)現(xiàn)方法為:在定時(shí)器的比較中斷中來改變采樣周期,實(shí)現(xiàn)系統(tǒng)控制的最優(yōu)化。
(3)光柵尺造成的讀數(shù)誤差
系統(tǒng)的精度就是依靠光柵尺保證,但光柵尺的安裝和環(huán)境溫度容易造成光柵尺的讀數(shù)誤差。首先要保證光柵尺的安裝與運(yùn)行的導(dǎo)軌平行。另一個(gè)方面就是減少環(huán)境溫度對(duì)最后測(cè)量的影響,盡量在允許的環(huán)境條件下運(yùn)行系統(tǒng)。
4 結(jié)論
本文通過在半閉環(huán)交流伺服控制系統(tǒng)的基礎(chǔ)上,構(gòu)建了全閉環(huán)控制系統(tǒng)。同時(shí)針對(duì)目前半閉環(huán)控制系統(tǒng)在市場(chǎng)已經(jīng)被普遍使用的實(shí)際情況,以及用戶希望加強(qiáng)控制系統(tǒng)的控制精度的目的,采用了基于PCI總線的數(shù)據(jù)采集卡和直線光柵尺。這種設(shè)計(jì)同基于PCI總線的運(yùn)動(dòng)控制卡和兩軸滾珠絲杠平臺(tái)相結(jié)合,簡(jiǎn)化了控制程序的開發(fā)設(shè)計(jì)和硬件安裝。在保證系統(tǒng)的穩(wěn)定性的同時(shí),提高了系統(tǒng)的控制精度的。
(轉(zhuǎn)載)