劉豐豪 程 石 崔思柱 曹 翱 肖 倩
(長安大學(xué) 工程機(jī)械學(xué)院,西安 710064)
隨著工業(yè)技術(shù)特別是自動化技術(shù)的迅速發(fā)展和更新?lián)Q代,現(xiàn)代工業(yè)設(shè)備對于運(yùn)動過程中的精度控制要求越來越高。但是,工業(yè)產(chǎn)品的質(zhì)量要求和工藝技術(shù)十分復(fù)雜,一臺電機(jī)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足生產(chǎn)設(shè)備的要求,這就迫切需要協(xié)調(diào)多個(gè)電機(jī)一起運(yùn)動實(shí)現(xiàn)工作要求。而在多個(gè)電機(jī)完美協(xié)調(diào)運(yùn)動的背后,需要高級的硬件控制設(shè)備及精密的運(yùn)動控制算法來實(shí)現(xiàn)。傳統(tǒng)老舊的控制方式或者說是對于精度要求不高的場所,往往采用微機(jī)或單片機(jī)的控制方式來實(shí)現(xiàn)位置控制,位置精度很低,整機(jī)設(shè)計(jì)復(fù)雜且運(yùn)行速率很慢[1-2]。因?yàn)檫@種工作方式效率低下,人們研發(fā)出一種先進(jìn)的方式——“PC+運(yùn)動控制卡”。Labview作為一種簡便高效的圖形化編程語言,可以非??焖俚貙?shí)現(xiàn)程序的編寫、軟件開發(fā),操作界面清晰明了,通過對運(yùn)動控制卡的實(shí)時(shí)控制來實(shí)現(xiàn)對于單個(gè)或多個(gè)伺服電機(jī)的精確位置控制[3]。
運(yùn)動控制技術(shù)的發(fā)展不僅代表著工業(yè)技術(shù)的發(fā)展水平和行業(yè)的興衰,也促進(jìn)了人類社會生產(chǎn)勞動的進(jìn)步。運(yùn)動控制技術(shù)于20世紀(jì)40年代產(chǎn)生,到今天越來越趨于數(shù)字化、網(wǎng)絡(luò)化以及智能化,可以說運(yùn)動控制發(fā)展反映出了現(xiàn)代工業(yè)的前進(jìn)方向和發(fā)展趨勢。但是,對于智能化工業(yè),單一的控制方式無法滿足快速發(fā)展的工業(yè)技術(shù)要求,因此為了實(shí)現(xiàn)多軸運(yùn)動控制,世界各地的企業(yè)都開始進(jìn)行多軸運(yùn)動控制器的研發(fā)與生產(chǎn)。通常來說,一個(gè)完整的運(yùn)動控制系統(tǒng)硬件主要包括以下幾部分:上位控制器、驅(qū)動裝置、電機(jī)、執(zhí)行機(jī)構(gòu)以及檢測反饋元件等。
硬件設(shè)備主要來自于NI公司的PXI控制系統(tǒng)系列,主要有PXIe-1071機(jī)箱、PXIe-8821控制器、PXI-7358運(yùn)動控制卡、PXIe-1071機(jī)箱、UMI-7774運(yùn)動接口板以及第三方公司的驅(qū)動器與伺服電機(jī)等。其具體控制平臺搭建如圖1所示。
PXIe-1071是一款具有4個(gè)插槽、高達(dá)3GB/s的PXI機(jī)箱。PXIe-1071機(jī)箱的4個(gè)外設(shè)插槽都為混合兼容的,支撐PXI和PXIe模塊,在此平臺中內(nèi)插PXIe-8821控制器以及PXI-7358運(yùn)動控制卡。
PXIe-8821是基于Intel Core i3的PXI嵌入式控制器。PXIe-8821包含一個(gè)10/100/1000 BAsE-TX(千兆位)以太網(wǎng)端口、兩個(gè)高速UsB端口、兩個(gè)UsB 3.0端口以及一個(gè)集成硬盤驅(qū)動器、串行端口和其他外設(shè)I/O。
圖1 硬件框架控制平臺
在NI的7350系列中,無論是在控制電機(jī)軸的數(shù)量上,還是能夠?qū)崿F(xiàn)的功能上,PXI-7358都是最優(yōu)秀、最高級的運(yùn)動控制卡。一方面,PXI-7358運(yùn)動控制卡提供完全可編程的運(yùn)動控制,可用于多達(dá)8個(gè)獨(dú)立軸的運(yùn)動控制;另一方面,PXI-7358是擁有雙處理器的運(yùn)動控制卡,被用于嵌入式實(shí)時(shí)控制。
UMl-7774作為一款獨(dú)立的連接附件,其設(shè)計(jì)就是為與PXI 73xx系列運(yùn)動控制器一起使用,最多可同時(shí)使用四個(gè)軸。UMI-7774非常適合工業(yè)和實(shí)驗(yàn)室應(yīng)用,將第三方步進(jìn)和伺服驅(qū)動器(放大器)以及反饋和數(shù)字I/O連接至運(yùn)動控制器。
本次程序框架采用圖形化編程語言Labview進(jìn)行人機(jī)交互界面和系統(tǒng)程序開發(fā),通過NI-Motion驅(qū)動進(jìn)行運(yùn)動程序編寫,通過其配置軟件MAX對系統(tǒng)參數(shù)及功能進(jìn)行設(shè)置或修改。為了讓用戶更好地開發(fā)和編寫運(yùn)動控制程序,Labview軟件中自帶的73xx模塊提供了許多可直接調(diào)用編寫的封裝式函數(shù),編寫程序只需要根據(jù)實(shí)際的運(yùn)動軌跡要求和其他功能要求,直接拖動相應(yīng)的函數(shù)模塊便可實(shí)現(xiàn)要求的運(yùn)動功能以及編寫可操作化的用戶界面,73xx模塊主要包括:Initialize Controller、Axis & Resource Congiguration、Trajectory Control、Motion I/O 和Find Reference等。
NI公司提供MAX配置軟件,作為運(yùn)動控制的第一步,通過在MAX頁面上配置運(yùn)動控制卡相關(guān)選項(xiàng)以設(shè)定自己系統(tǒng)各軸的參數(shù),包括各軸的反饋參數(shù)設(shè)定以及程序控制周期等,根據(jù)實(shí)際控制需求進(jìn)行單軸、雙軸以至最多八軸的電機(jī)配置連接,實(shí)現(xiàn)多軸電機(jī)的運(yùn)動測試。
基于位置的直線運(yùn)動,從指定初始位置開始移動,通過加載加速度、速度等移動約束,最終到達(dá)指定的目標(biāo)位置而生成運(yùn)動軌跡。圖2為自定義設(shè)置終點(diǎn)位置實(shí)現(xiàn)的單軸直線運(yùn)動程序及軌跡。
圖2 直線運(yùn)動
圓弧運(yùn)動通過在兩軸構(gòu)成的向量坐標(biāo)空間——XY平面內(nèi)進(jìn)行運(yùn)動,其移動路徑由半徑、起始角度以及行程角度確定。另外,同單軸的直線運(yùn)動一樣,圓弧運(yùn)動也可以設(shè)置速度及加速度等移動約束。其兩軸運(yùn)動控制程序及前面板實(shí)際移動軌跡如圖3所示。
圖3 圓弧運(yùn)動
螺旋線運(yùn)動是在三維坐標(biāo)空間中定義一個(gè)由弧組成的圓在XY平面中,并在Z軸上同步線性運(yùn)動。弧是由半徑、起始角度、行程角度和Z軸線性行程指定,線性行程是Z軸上螺旋弧所穿過的直線距離。圖4即為螺旋線運(yùn)動程序及軌跡。
圖4 螺旋線運(yùn)動
在“PC+運(yùn)動控制卡”的控制模式下,人們實(shí)現(xiàn)了單軸、雙軸及多軸運(yùn)動的電機(jī)運(yùn)動控制。由此可見,這種控制模式不僅能夠滿足現(xiàn)代工業(yè)的多種運(yùn)動控制需求,而且簡便高效、執(zhí)行效果完美。一方面,運(yùn)用具有開發(fā)人機(jī)交互界面優(yōu)勢的圖形化編程語言Labview和調(diào)用NI自帶的73xx函數(shù)庫,大大加快了程序編寫及開發(fā)速度,最重要的是在滿足控制多個(gè)電機(jī)的前提下,依然能夠完成多種運(yùn)動軌跡,保障位置控制的需求精度。另一方面,對于后期的總體控制程序,對上述多種運(yùn)動控制程序的模塊化封裝及調(diào)用,可以大大縮減開發(fā)周期及用戶成本,提升程序編寫效率,構(gòu)建簡潔明了的用戶界面。