摘要:基于PCI總線設計開放式交流伺服運動控制系統,具有模塊化,智能化,柔性化的特點。采用運動控制卡+PC作為上位控制單元,交流伺服驅動器和伺服電機作為執(zhí)行機構,光柵尺+數據采集卡作為直線位移檢測裝置,設計出全閉環(huán)運動控制系統。同時利用VC++編程實現對伺服電機高速、高精度的控制。
關鍵詞:全閉環(huán) PCI總線 交流伺服 運動控制卡
[align=center]Full-closed Loop AC Servo Control System Based On PCI BUS
GUAN Jian, SHU Zhibing
(Automation College, Nanjing University of Technology, Nanjing 210009, China)
關鍵, 舒志兵
(南京工業(yè)大學自動化學院運動控制研究所, 江蘇南京210009)[/align]
Abstract:The open servo motion control system based on PCI BUS is modular, intelligent, flexible. With motion controller and PC as high level control unit, AC servo driver and servo motor as execute component, the optical grating ruler and data collection as position examination part, a motion control system of full-closed loop is designed. And by VC++ the system can control servo motor with high speed and high precision.
Keywords:Full-closed Loop PCI BUS AC Servo Motion Controller
0 引言
現代工業(yè)生產中,交流伺服控制系統已經被廣泛使用。但隨著機電一體化產品的發(fā)展,對交流伺服控制系統的定位精度和動態(tài)響應的要求越來越高,傳統系統已經難以滿足現代化生產的需要。以數字替代模擬、交流替代直流、閉環(huán)替代開環(huán)的設計思想,成為目前構建開放式控制系統的主要方法。
在多種開放式控制系統中,PC機(包括工業(yè)PC)具有生產批量大、性價比高、技術進步的特點,同時配有高性能應用軟件和程序設計軟件。因此利用PC機的標準PCI總線,設計出PC+運動控制卡的上位控制器,可滿足控制系統核心部件的要求。
交流伺服控制系統大多工作在半閉環(huán)的控制方式,這種控制方式對于傳動鏈上的間隙及誤差不能克服或補償。為了獲得更高的控制精度,應在最終的運動部分安裝高精度的檢測元件(如:光柵尺、光電編碼器等),即實現全閉環(huán)控制[1]。全閉環(huán)控制克服半閉環(huán)控制系統的缺陷,上位控制器可以直接采樣裝在最后一級機械運動部件上的位置反饋元件作為位置環(huán),這樣伺服系統就可以消除機械傳動上存在的間隙(如齒輪間隙、絲杠間隙等),補償機械傳動件的制造誤差(如絲杠螺距誤差等),實現真正的全閉環(huán)位置控制功能,獲得較高的定位精度。
1 控制系統的硬件設計
1.1系統硬件組成
該系統的是一種教學和實驗使用的X-Y軸全閉環(huán)交流伺服運動控制系統。系統由四個部分組成(圖1):(1)上位控制部分包括通用PC機、ADT850運動控制卡;(2)松下MINAS A4系列交流伺服驅動器和交流伺服電機組成驅動部分;(3)負載部分為X-Y軸滾珠絲杠平臺;(4)閉環(huán)反饋部分由光柵尺和數據采集卡來實現。
[align=center]

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

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

圖3 系統軟件結構流程圖
Fig.3 system software structure flow[/align]
(1)ADT850運動控制卡的初始化
ADT850運動控制卡本身提供靜態(tài)庫ADT850.LIB、頭文件ADT850.H、WindowsNT/2000使用的文件winio.sys,動態(tài)庫中的函數已在頭文件ADT850.H中有聲明。在程序頭聲明了#include “adt850.h”之后,調用庫函數,確認adt850卡的安裝,設置脈沖輸出的模式,位置反饋的模式,限位開關的工作模式,伺服信號的使用與否,是否使用軟件限位等,這些參數應根據具體的硬件平臺來設置,一般只在程序初始化時設置一次,以后不應再設置。部分函數調用如下:
adt850_initial() //檢測安裝ADT850卡
int set_pulse_mode() //設置輸出脈沖的工作方式
int get_status() //獲取各軸的驅動狀態(tài)
int get_inp_status() //獲取插補的驅動狀態(tài)
int set_range() //范圍設定
int set_startv() //初始速度設定
int set_speed() //驅動速度設定
(2)KPCI-811多功能數據采集卡的初始化
采用KPCI-811多功能數據采集卡,在初始化中同運動控制卡一樣,調用數據采集卡庫函數進行卡的初始化設置。包括創(chuàng)建設備對象,設置采集頻率,定時計數工作模式等。部分函數調用如下:
IO_HANDLEL_KP811_LocateAndOpen() //創(chuàng)建設備對象
void KP811_TimerWrite() //設置AD采集頻率
void KP811_ModeWrite() //設置工作模式
void KP811_ChannelWrite() //設置A/D通道號
WORD KP811_CheckSF_ReadFIFO() //軟件觸發(fā)A/D并讀取數據
void KP811_8254_CTRL_Write() //設置8254定時計數工作模式
(3)二維軌跡程序設計
利用VC++的MFC設計基于對話框的運動控制軌跡設計。以直線插補軌跡為例,實現從原點到指定位置的直線運動。部分程序如下:
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 實際運行中的關鍵問題分析和解決方法
(1)實際檢測信號的誤差
在控制端,定時器產生中斷,程序會去讀光柵尺檢測的實際位置值信號,同時暫停電機運行程序,等待校正結果。然而在負載端,如果在伺服電機還沒真正停穩(wěn)的時候去讀光柵尺檢測的實際位置值,就會產生檢測的誤差。解決方法可以通過中斷產生時給電機適當的延長一段時間,延時后再去檢測光柵尺的實際位置,然后再去校正。顯然這個延時的設置要考慮配合采樣周期的設定和伺服驅動器,伺服電機的性能。因為這個延時會隨著中斷數的增加形成積累,延時過長會影響系統的性能;延時也不能短過伺服驅動器和伺服電機的性能要求。
(2)采樣周期的確定
采樣周期決定著系統定位精度和響應頻率。采樣周期越小,控制精度就越高,但會加大控制器的計算量,同時造成頻繁的中斷,減慢電機的運行速度和連續(xù)性,從而影響其響應頻率。因此在實際選擇采樣周期時,必須從需要和可能兩方面綜合考慮。從控制系統的動態(tài)性能和抗干擾性能來考慮,要求采樣周期短些。這樣系統可以通過給定值的改變,快速定位,減小誤差,提高抗干擾性能。從響應頻率來考慮,采樣周期則應該取的長些,這樣可以減少DSP的計算量,減少電機運動的步數,從而提高電機運行的速度和頻率,控制的連續(xù)性得到加強。從上述分析可以看到,各種因素對采樣周期的要求是不同的,甚至是相互矛盾的,因此,必須根據具體的情況和要求綜合做出選擇。實現方法為:在定時器的比較中斷中來改變采樣周期,實現系統控制的最優(yōu)化。
(3)光柵尺造成的讀數誤差
系統的精度就是依靠光柵尺保證,但光柵尺的安裝和環(huán)境溫度容易造成光柵尺的讀數誤差。首先要保證光柵尺的安裝與運行的導軌平行。另一個方面就是減少環(huán)境溫度對最后測量的影響,盡量在允許的環(huán)境條件下運行系統。
4 結論
本文通過在半閉環(huán)交流伺服控制系統的基礎上,構建了全閉環(huán)控制系統。同時針對目前半閉環(huán)控制系統在市場已經被普遍使用的實際情況,以及用戶希望加強控制系統的控制精度的目的,采用了基于PCI總線的數據采集卡和直線光柵尺。這種設計同基于PCI總線的運動控制卡和兩軸滾珠絲杠平臺相結合,簡化了控制程序的開發(fā)設計和硬件安裝。在保證系統的穩(wěn)定性的同時,提高了系統的控制精度的。
參考文獻
【1】樊亞妮,劉克榮.基于運動控制器的全閉環(huán)控制系統[J].現代電子技術,2006(23):140-142.
【2】張百海,柴森春,等.數據采集系統中光柵尺信號處理方法的研究[J].機床與液壓,2003(02):118-119.
【3】舒志兵.交流伺服運動控制系統[M].北京:清華大學出版社,2006.
【4】孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.
作者簡介:
關鍵(1981-),男,江蘇人,研究生,主要研究方向:交流伺服系統、運動控制技術、數控系統、機電一體化。
Email:helloguanjian@126.com
舒志兵(1965-),男,江蘇南京人,南京工業(yè)大學運動控制研究所所長,中國人工智能學會智能檢測與應用技術研究協會秘書長,主要研究方向:交流伺服系統、DSP技術、現場總線、數控系統、運動控制、機電一體化系統等
聯系方式:
地址:南京市新模范馬路5號南京工業(yè)大學自動化學院
郵編:210009 電話:025-83587369,83306120(Fax)
手機:13776653504