賀昌勇+張厚江+路敦民+祖漢松+王朝志
【摘 要】本文介紹了一種基于NI運動控制卡的伺服電機控制系統。該系統采用美國國家儀器的PCI-7344運動控制卡產生脈沖和方向信號、UMI-7774接線盒、臺達伺服驅動器、臺達伺服電機,用Labview圖形化編程軟件編程,調用運動控制卡的相關函數進行運動控制。可以動態控制軸的轉速和轉向,實現一個軸的往復運轉,而且可以實現兩個軸的同步。
【關鍵詞】NI運動控制卡;伺服電機;運動控制;Labview
Servo Motor Control System Based on the NI Motion Controller Board
HE Chang-yong1 ZHANG Hou-jiang1 LU Dun-min1 ZU Han-song1 WANG Chao-zhi2
(1.School of Technology Beijing Forestry university, Beijing 100083,China;
2.Beijing Zhong Ke Fan Hua Technology Co., Ltd., Beijing 100192,China)
【Abstract】A kind of servo motor control system based on the NI motion controller board was introduced. The system adopts national instruments PCI-7344 motion controller board to generate pulse and direction signals, UMI-7774 terminal block, Delta servo drive ,Delta servo motor and use Labview which is a kind of graphical programming software to design operating screen program, through recalling the related function of motion controller board to motion control. The system can control speed and direction of axis dynamically, realize an axis reciprocating, whats more it can make two axes synchronous.
【Key words】NI motion controller board; Servo motor; Motion control; Labview
目前,伺服電機常見的控制方式有單片機控制、DSP控制、ARM控制、PLC控制、PC機+運動控制卡等。單片機、DSP、ARM控制編程比較復雜,要從低層做起,通常需要設計和加工相應微處理器系統電路板、開發周期比較長、需要編程人員對微處理器控制非常熟練;PLC適用于工廠等環境比較惡劣的場所,而且PLC大部分用于運動過程比較簡單、軌跡固定的工況下[1],運動控制卡是一種基于PC機更加柔性、更加開放式的控制方式,PC機負責人機交互界面的管理和實時監控、而運動的所有細節都由運動控制卡來實現,充分的將兩者結合起來——PC機強大的數據處理功能、運動控制卡對電機的精確控制,大大提高了系統的可靠性和準確性[2],而且運動控制卡二次開發很方便,由此運動控制卡得到越來越多人的應用。
1 NI運動控制卡簡介
眾所周知 NI公司(美國國家儀器公司)是測試測量的領頭羊,其“軟件即是儀器”、“圖形有邊,系統無界”的思想使測試、測量進入了一個新的領域。程序采用Labview編程,它是一種真正意義上的圖形化編程語言,“所見即所得”,與C、Basic等文本語言相比,它在編程中有更詳細的提示信息,如函數的功能、參數類型等,程序員不需要記憶那些枯燥的函數信息[3]。NI公司首先將其擴展到測試、測量最相近的領域——運動控制,早在Labview7.1版本就已經有正式的運動控制模塊,NI公司相繼推出了PCI插槽、PXI插槽的運動控制卡,目前控制軸數最多的是8軸運動控制卡[4]。
PCI-7344是4軸運動控制卡,PCI總線傳輸效率高,支持即插即用,數據吞吐量大,是運動控制卡設計的主流[5]。每一軸均可以控制步進/伺服電機是NI運動控制中檔產品之一,NI PCI-7344包括雙處理器和一個實時板載操作系統,并具有多軸插值功能,循環更新率,有兩個68-pin VHDCI母頭的接口:Motion I/O、Digital I/O,數字I/O通道數32;PWM通道數2,最大步進輸出率4MHZ;最大編碼器輸出率20MHZ[6]。
UMI-7774(4軸)是用于NI 735x、NI 734x、NI 733x運動控制卡和第三方驅動器及放大器的特殊運動控制接口。這些接口提供了各種特性,是D Sub連接和信號隔離等工業環境的理想選擇。UMI-7774需要24V電源供電,還支持5-30V的隔離電源。其主要的特點:可與差分編碼器連接;狀態LED用于排除連接故障;16條通用數字I/O線;24V隔離;每個軸均可用D-Sub連接;信號連接電纜68pinVHDL 型;控制信號為+5v輸出,電流為1A[7]。
2 系統組成與工作原理
2.1 統組成
系統由研華工控機IPC-610H、運動控制卡PCI-7344、接線盒UMI-7774;臺達伺服驅動器ASD-A2-1521-M、臺達伺服電機ECMA-E11315RS組成。圖1為系統組成框圖。伺服電機的功率1.5kw、扭矩7.16N.m。
圖1 系統組成框圖
2.2 工作原理
本系統采用位置控制模式,接收上位機發出的脈沖和方向的差分信號,伺服電機本身具有編碼器,在伺服驅動器內部可以形成閉環,然后編碼器的信號也可以輸出到運動控制卡上,與上位機的輸出信號形成閉環,使得系統的動態性和穩定性大大提高[8]。NI運動控制卡控制的是伺服驅動器而不是直接的伺服電機,用圖形化編程語言的Labview編寫上位機軟件,調用運動控制卡的函數,通過運動控制卡發送脈沖或模擬量實現對伺服驅動器的控制。
(1)脈沖控制:驅動器工作在位置環,脈沖的多少代表走的長度,發送脈沖的頻率表示速度;
(2)模擬量控制:驅動器工作在速度環或者電流環,模擬量的大小對應電機的速度與位置。
我們選用的是脈沖控制方式:PCI-7344發送脈沖和方向信號給驅動器,驅動器控制電機的運轉,之所以選擇脈沖控制方式,有兩個方面的原因:
(1)可靠性比較高,不易發生飛車事故。如果采用模擬電壓控制方式的話,一般的為-10v-+10v的模擬電壓,10v對應正向最大轉速、-10v對應反向最大轉速,如果在控制過程中原件損壞或軟件故障,可能造成模擬電壓瞬間達到最大值,那么電機立刻就會以最高的速度運轉,很容易發生飛車,對操作人員造成傷害。
(2)抗干擾性比較好,比較適用對環境要求比較高的場所。數字電路的抗干擾性能是模擬電路所無法比擬的。
但是由于采用脈沖控制方式,驅動器工作在位置控制方式,位置環在驅動器的外部,調節PID參數不是很方便,因此控制的快速性不是很高,在本系統中完全能夠滿足我們的要求。
選用的臺達伺服電機是A2系列搭配高精度20-bit等級(1280000p/rev)編碼器,提升定位精度與低速運轉穩定度。即電機接收1280000個脈沖,電機轉動一圈,根據公式:位置指令=指令脈沖輸入*電子齒輪比,即,在驅動器中我們設置電子齒輪比為128,那么PCI-7344每秒發出10000個脈沖,電機就會轉動一圈,也就是60r/min的速度運轉,脈沖的正負決定電機的正反轉。圖2是臺達伺服電機和驅動器以及UMI-7774的電路連接圖,驅動器的主回路和控制回路都是220V電源供電,電機和驅動器之間通過動力線和編碼器線相連。圖3詳細的描述了UMI-7774和臺達伺服驅動器的連接方式,使用的是驅動器內部電源24V,4引腳是脈沖信號,12引腳是方向信號,分別與驅動器的/pulse(脈沖信號)、/sign(方向信號)相連。
圖2 臺達伺服驅動器和伺服電機以及UMI-7774接線圖
圖3 UMI-7774和臺達伺服驅動器CN1接線圖
3 控制程序的研究與實現
在硬件搭建、接線完成之后,我們使用Labview軟件在Max和程序面板中實現單軸的加速-勻速-減速運動;單軸的循環往復運動;兩軸同步等運動等。
3.1 單軸加速-勻速-減速運動控制
圖4 單軸的加速-勻速-減速Max配置圖
上圖4是在Max中1-D Interactive的配置界面,按照圖中的配置,就會實現單軸的加速-勻速-減速運動,可以計算,加減速時間都是1s,電機會以60r/min的速度運轉,而且會轉動5圈。圖5是電機運動的速度-時間圖,可以看出電機的加減速時間都是1s,嚴格符合速度-時間梯形運動軌跡。
圖5 單軸的加速-勻速-減速的速度—時間梯形圖
3.2 單軸循環往復運動控制
在程序框圖中編寫程序,如圖6,電機的運動方式選擇Absolute Position,我們把初始位置設為0,這樣電機每次都會從原點開始運動。往復移動的位置,我們用數組來表示。圖7為前面板圖,在前面板中可以通過觀察滑塊的移動實時觀察電機的運動位置和方向。
圖6 單軸循環往復運動程序框圖
圖7 單軸循環往復運動前面板圖(運行時)
圖8是軸的運動軌跡圖,而且Labview有數據存儲功能,我們規定一個位置為起始位置,當設備斷電后,重新上電之后,設備會從原來斷電的位置移動到起始位置,然后再進行后續的運動,這大大的提高了系統的精度和準確性。
圖8 單軸循環往復運動路線示意圖
3.3 兩軸同步控制(下轉第30頁)
(上接第15頁)在軟件中實現兩個軸的同步是比較復雜的,而且有時還不好控制,并不能做到兩個軸的完全同步,大膽設想在硬件連接中解決這個問題:也就是用PCI-7344的一個軸來同時給兩個電機發送脈沖,這樣就能做到兩個軸的同步,而且還節省了UMI-7774上的軸的數量,試驗效果非常好,這是大膽嘗試的結果。
4 結語
基于NI運動控制卡的伺服電機的控制方式的創新點:
(1)相比于編寫程序代碼控制伺服電機,這種方式采用程序框圖的方法,可讀性強,而且前面板采用按鈕、滑動桿可以實時顯示控制量和當前的位置,人機界面友好[9];
(2)實現了上位機和下位機分層控制,充分發揮了PC機強大的數據處理能力、NI運動控制卡對伺服電機的精確控制能力;
(3)直接調用運動控制卡的相關函數,通過Labview編程就能夠完成復雜的運動控制,實現單軸、多軸的運動,開發時間短、大大提高了系統的精確性和靈活性,保證了系統較高的性價比[10]。
【參考文獻】
[1]賀虎成,劉衛國.電機運動控制及其相關技術發展研究[J].電機與控制應用,2006(3):3-6.
[2]高瑞,苗長云,王中偉.基于Labview的多軸運動控制系統的設計與開發[J].天津工業大學學報,2008,27(6):58-61.
[3]阮奇楨.我和Labview.2版[M].北京航空航天大學出版社,2012.
[4]賀昌勇,張厚江,祖漢松,周盧婧,劉妍.基于虛擬儀器運動控制技術的現狀與發展趨勢[J].林業機械與木工設備,2014,42(2):9-12.
[5]江發潮,曹正清,肖春澤.虛擬儀器在發動機測控系統中的應用[J].拖拉機與農用運輸車,2002(6):14-16.
[6]National Instruments Corporation.NI-7340 User Manual,2003,11[Z].
[7]National Instruments Corporation.NI UMI-7774/7772 User Guide and Specifications,2003,11[Z].
[8]林新鵬.Labview的多軸數字式伺服電機控制系統[J].科技信息,2009,5:101-102.
[9]趙冬梅,張賓.Labview控制步進電機升降速[J].微計算機信息,2008,6:105-106.
[10]王淑芳.基于虛擬儀器技術的直流伺服電機控制系統[J].機床與液壓,2007,35(7):144-146.
[責任編輯:謝慶云]
圖1 系統組成框圖
2.2 工作原理
本系統采用位置控制模式,接收上位機發出的脈沖和方向的差分信號,伺服電機本身具有編碼器,在伺服驅動器內部可以形成閉環,然后編碼器的信號也可以輸出到運動控制卡上,與上位機的輸出信號形成閉環,使得系統的動態性和穩定性大大提高[8]。NI運動控制卡控制的是伺服驅動器而不是直接的伺服電機,用圖形化編程語言的Labview編寫上位機軟件,調用運動控制卡的函數,通過運動控制卡發送脈沖或模擬量實現對伺服驅動器的控制。
(1)脈沖控制:驅動器工作在位置環,脈沖的多少代表走的長度,發送脈沖的頻率表示速度;
(2)模擬量控制:驅動器工作在速度環或者電流環,模擬量的大小對應電機的速度與位置。
我們選用的是脈沖控制方式:PCI-7344發送脈沖和方向信號給驅動器,驅動器控制電機的運轉,之所以選擇脈沖控制方式,有兩個方面的原因:
(1)可靠性比較高,不易發生飛車事故。如果采用模擬電壓控制方式的話,一般的為-10v-+10v的模擬電壓,10v對應正向最大轉速、-10v對應反向最大轉速,如果在控制過程中原件損壞或軟件故障,可能造成模擬電壓瞬間達到最大值,那么電機立刻就會以最高的速度運轉,很容易發生飛車,對操作人員造成傷害。
(2)抗干擾性比較好,比較適用對環境要求比較高的場所。數字電路的抗干擾性能是模擬電路所無法比擬的。
但是由于采用脈沖控制方式,驅動器工作在位置控制方式,位置環在驅動器的外部,調節PID參數不是很方便,因此控制的快速性不是很高,在本系統中完全能夠滿足我們的要求。
選用的臺達伺服電機是A2系列搭配高精度20-bit等級(1280000p/rev)編碼器,提升定位精度與低速運轉穩定度。即電機接收1280000個脈沖,電機轉動一圈,根據公式:位置指令=指令脈沖輸入*電子齒輪比,即,在驅動器中我們設置電子齒輪比為128,那么PCI-7344每秒發出10000個脈沖,電機就會轉動一圈,也就是60r/min的速度運轉,脈沖的正負決定電機的正反轉。圖2是臺達伺服電機和驅動器以及UMI-7774的電路連接圖,驅動器的主回路和控制回路都是220V電源供電,電機和驅動器之間通過動力線和編碼器線相連。圖3詳細的描述了UMI-7774和臺達伺服驅動器的連接方式,使用的是驅動器內部電源24V,4引腳是脈沖信號,12引腳是方向信號,分別與驅動器的/pulse(脈沖信號)、/sign(方向信號)相連。
圖2 臺達伺服驅動器和伺服電機以及UMI-7774接線圖
圖3 UMI-7774和臺達伺服驅動器CN1接線圖
3 控制程序的研究與實現
在硬件搭建、接線完成之后,我們使用Labview軟件在Max和程序面板中實現單軸的加速-勻速-減速運動;單軸的循環往復運動;兩軸同步等運動等。
3.1 單軸加速-勻速-減速運動控制
圖4 單軸的加速-勻速-減速Max配置圖
上圖4是在Max中1-D Interactive的配置界面,按照圖中的配置,就會實現單軸的加速-勻速-減速運動,可以計算,加減速時間都是1s,電機會以60r/min的速度運轉,而且會轉動5圈。圖5是電機運動的速度-時間圖,可以看出電機的加減速時間都是1s,嚴格符合速度-時間梯形運動軌跡。
圖5 單軸的加速-勻速-減速的速度—時間梯形圖
3.2 單軸循環往復運動控制
在程序框圖中編寫程序,如圖6,電機的運動方式選擇Absolute Position,我們把初始位置設為0,這樣電機每次都會從原點開始運動。往復移動的位置,我們用數組來表示。圖7為前面板圖,在前面板中可以通過觀察滑塊的移動實時觀察電機的運動位置和方向。
圖6 單軸循環往復運動程序框圖
圖7 單軸循環往復運動前面板圖(運行時)
圖8是軸的運動軌跡圖,而且Labview有數據存儲功能,我們規定一個位置為起始位置,當設備斷電后,重新上電之后,設備會從原來斷電的位置移動到起始位置,然后再進行后續的運動,這大大的提高了系統的精度和準確性。
圖8 單軸循環往復運動路線示意圖
3.3 兩軸同步控制(下轉第30頁)
(上接第15頁)在軟件中實現兩個軸的同步是比較復雜的,而且有時還不好控制,并不能做到兩個軸的完全同步,大膽設想在硬件連接中解決這個問題:也就是用PCI-7344的一個軸來同時給兩個電機發送脈沖,這樣就能做到兩個軸的同步,而且還節省了UMI-7774上的軸的數量,試驗效果非常好,這是大膽嘗試的結果。
4 結語
基于NI運動控制卡的伺服電機的控制方式的創新點:
(1)相比于編寫程序代碼控制伺服電機,這種方式采用程序框圖的方法,可讀性強,而且前面板采用按鈕、滑動桿可以實時顯示控制量和當前的位置,人機界面友好[9];
(2)實現了上位機和下位機分層控制,充分發揮了PC機強大的數據處理能力、NI運動控制卡對伺服電機的精確控制能力;
(3)直接調用運動控制卡的相關函數,通過Labview編程就能夠完成復雜的運動控制,實現單軸、多軸的運動,開發時間短、大大提高了系統的精確性和靈活性,保證了系統較高的性價比[10]。
【參考文獻】
[1]賀虎成,劉衛國.電機運動控制及其相關技術發展研究[J].電機與控制應用,2006(3):3-6.
[2]高瑞,苗長云,王中偉.基于Labview的多軸運動控制系統的設計與開發[J].天津工業大學學報,2008,27(6):58-61.
[3]阮奇楨.我和Labview.2版[M].北京航空航天大學出版社,2012.
[4]賀昌勇,張厚江,祖漢松,周盧婧,劉妍.基于虛擬儀器運動控制技術的現狀與發展趨勢[J].林業機械與木工設備,2014,42(2):9-12.
[5]江發潮,曹正清,肖春澤.虛擬儀器在發動機測控系統中的應用[J].拖拉機與農用運輸車,2002(6):14-16.
[6]National Instruments Corporation.NI-7340 User Manual,2003,11[Z].
[7]National Instruments Corporation.NI UMI-7774/7772 User Guide and Specifications,2003,11[Z].
[8]林新鵬.Labview的多軸數字式伺服電機控制系統[J].科技信息,2009,5:101-102.
[9]趙冬梅,張賓.Labview控制步進電機升降速[J].微計算機信息,2008,6:105-106.
[10]王淑芳.基于虛擬儀器技術的直流伺服電機控制系統[J].機床與液壓,2007,35(7):144-146.
[責任編輯:謝慶云]
圖1 系統組成框圖
2.2 工作原理
本系統采用位置控制模式,接收上位機發出的脈沖和方向的差分信號,伺服電機本身具有編碼器,在伺服驅動器內部可以形成閉環,然后編碼器的信號也可以輸出到運動控制卡上,與上位機的輸出信號形成閉環,使得系統的動態性和穩定性大大提高[8]。NI運動控制卡控制的是伺服驅動器而不是直接的伺服電機,用圖形化編程語言的Labview編寫上位機軟件,調用運動控制卡的函數,通過運動控制卡發送脈沖或模擬量實現對伺服驅動器的控制。
(1)脈沖控制:驅動器工作在位置環,脈沖的多少代表走的長度,發送脈沖的頻率表示速度;
(2)模擬量控制:驅動器工作在速度環或者電流環,模擬量的大小對應電機的速度與位置。
我們選用的是脈沖控制方式:PCI-7344發送脈沖和方向信號給驅動器,驅動器控制電機的運轉,之所以選擇脈沖控制方式,有兩個方面的原因:
(1)可靠性比較高,不易發生飛車事故。如果采用模擬電壓控制方式的話,一般的為-10v-+10v的模擬電壓,10v對應正向最大轉速、-10v對應反向最大轉速,如果在控制過程中原件損壞或軟件故障,可能造成模擬電壓瞬間達到最大值,那么電機立刻就會以最高的速度運轉,很容易發生飛車,對操作人員造成傷害。
(2)抗干擾性比較好,比較適用對環境要求比較高的場所。數字電路的抗干擾性能是模擬電路所無法比擬的。
但是由于采用脈沖控制方式,驅動器工作在位置控制方式,位置環在驅動器的外部,調節PID參數不是很方便,因此控制的快速性不是很高,在本系統中完全能夠滿足我們的要求。
選用的臺達伺服電機是A2系列搭配高精度20-bit等級(1280000p/rev)編碼器,提升定位精度與低速運轉穩定度。即電機接收1280000個脈沖,電機轉動一圈,根據公式:位置指令=指令脈沖輸入*電子齒輪比,即,在驅動器中我們設置電子齒輪比為128,那么PCI-7344每秒發出10000個脈沖,電機就會轉動一圈,也就是60r/min的速度運轉,脈沖的正負決定電機的正反轉。圖2是臺達伺服電機和驅動器以及UMI-7774的電路連接圖,驅動器的主回路和控制回路都是220V電源供電,電機和驅動器之間通過動力線和編碼器線相連。圖3詳細的描述了UMI-7774和臺達伺服驅動器的連接方式,使用的是驅動器內部電源24V,4引腳是脈沖信號,12引腳是方向信號,分別與驅動器的/pulse(脈沖信號)、/sign(方向信號)相連。
圖2 臺達伺服驅動器和伺服電機以及UMI-7774接線圖
圖3 UMI-7774和臺達伺服驅動器CN1接線圖
3 控制程序的研究與實現
在硬件搭建、接線完成之后,我們使用Labview軟件在Max和程序面板中實現單軸的加速-勻速-減速運動;單軸的循環往復運動;兩軸同步等運動等。
3.1 單軸加速-勻速-減速運動控制
圖4 單軸的加速-勻速-減速Max配置圖
上圖4是在Max中1-D Interactive的配置界面,按照圖中的配置,就會實現單軸的加速-勻速-減速運動,可以計算,加減速時間都是1s,電機會以60r/min的速度運轉,而且會轉動5圈。圖5是電機運動的速度-時間圖,可以看出電機的加減速時間都是1s,嚴格符合速度-時間梯形運動軌跡。
圖5 單軸的加速-勻速-減速的速度—時間梯形圖
3.2 單軸循環往復運動控制
在程序框圖中編寫程序,如圖6,電機的運動方式選擇Absolute Position,我們把初始位置設為0,這樣電機每次都會從原點開始運動。往復移動的位置,我們用數組來表示。圖7為前面板圖,在前面板中可以通過觀察滑塊的移動實時觀察電機的運動位置和方向。
圖6 單軸循環往復運動程序框圖
圖7 單軸循環往復運動前面板圖(運行時)
圖8是軸的運動軌跡圖,而且Labview有數據存儲功能,我們規定一個位置為起始位置,當設備斷電后,重新上電之后,設備會從原來斷電的位置移動到起始位置,然后再進行后續的運動,這大大的提高了系統的精度和準確性。
圖8 單軸循環往復運動路線示意圖
3.3 兩軸同步控制(下轉第30頁)
(上接第15頁)在軟件中實現兩個軸的同步是比較復雜的,而且有時還不好控制,并不能做到兩個軸的完全同步,大膽設想在硬件連接中解決這個問題:也就是用PCI-7344的一個軸來同時給兩個電機發送脈沖,這樣就能做到兩個軸的同步,而且還節省了UMI-7774上的軸的數量,試驗效果非常好,這是大膽嘗試的結果。
4 結語
基于NI運動控制卡的伺服電機的控制方式的創新點:
(1)相比于編寫程序代碼控制伺服電機,這種方式采用程序框圖的方法,可讀性強,而且前面板采用按鈕、滑動桿可以實時顯示控制量和當前的位置,人機界面友好[9];
(2)實現了上位機和下位機分層控制,充分發揮了PC機強大的數據處理能力、NI運動控制卡對伺服電機的精確控制能力;
(3)直接調用運動控制卡的相關函數,通過Labview編程就能夠完成復雜的運動控制,實現單軸、多軸的運動,開發時間短、大大提高了系統的精確性和靈活性,保證了系統較高的性價比[10]。
【參考文獻】
[1]賀虎成,劉衛國.電機運動控制及其相關技術發展研究[J].電機與控制應用,2006(3):3-6.
[2]高瑞,苗長云,王中偉.基于Labview的多軸運動控制系統的設計與開發[J].天津工業大學學報,2008,27(6):58-61.
[3]阮奇楨.我和Labview.2版[M].北京航空航天大學出版社,2012.
[4]賀昌勇,張厚江,祖漢松,周盧婧,劉妍.基于虛擬儀器運動控制技術的現狀與發展趨勢[J].林業機械與木工設備,2014,42(2):9-12.
[5]江發潮,曹正清,肖春澤.虛擬儀器在發動機測控系統中的應用[J].拖拉機與農用運輸車,2002(6):14-16.
[6]National Instruments Corporation.NI-7340 User Manual,2003,11[Z].
[7]National Instruments Corporation.NI UMI-7774/7772 User Guide and Specifications,2003,11[Z].
[8]林新鵬.Labview的多軸數字式伺服電機控制系統[J].科技信息,2009,5:101-102.
[9]趙冬梅,張賓.Labview控制步進電機升降速[J].微計算機信息,2008,6:105-106.
[10]王淑芳.基于虛擬儀器技術的直流伺服電機控制系統[J].機床與液壓,2007,35(7):144-146.
[責任編輯:謝慶云]