王寶慶,楊 璐,唐 念,劉振忠,周海波
(1.天津市先進機電系統設計與智能控制重點實驗室,天津 300384;2.機電工程國家級實驗教學示范中心(天津理工大學),天津 300384)
隨著數控技術的發展,數控運動控制系統正向著低成本、開放式[1]、可重構發展,研究滿足多層次需求的模塊化、可重構運動系統具有重要意義[2-4]。伺服系統在運動控制領域有著廣泛的應用[5],尤其應用在某些對位置要求較高的進給運動中,工業中常見的液壓缸或氣缸作為執行機構往往達不到對位置的控制要求,利用伺服電機的閉環控制特性可以很方便地達到運動過程中對位置的要求。
研究伺服控制器主要包括:開放式軟硬件體系的建立、模塊化可重構系統的實現、控制輸出、建立精確控制系統等內容。目的是為數控運動控制系統設備集成商提供一種可以快速構建多樣化運動控制系統的開放式模塊化的通用平臺[6]。解決相對傳統“工控機+運動控制卡+PLC+數據采集卡”模式中功能浪費、實時性一般、成本高的問題。本系統可以自由擴展,具備高性能和低成本的特點,能夠有效縮短數控運動控制系統設備開發周期,具有廣泛的市場應用前景。
試驗機所需要的伺服電機控制系統,包括硬件平臺搭建、數據采集卡設計、控制軟件研發三個方面。硬件平臺要求實現對伺服電機及相關傳感器的數據采集、數據處理、控制信號輸出等功能,并可以從硬件層面增減相關功能模塊,達到開放式可重構的目的。軟件平臺需要滿足用戶對電機運行參數的實時監控并以圖像和數據兩種形式顯示的要求,通過操作軟件控制電機的運行軌跡、更改電機的運行參數。
以一款基于PC104主線的嵌入式主板作為系統主控制器[7],與一枚可采集旋轉編碼器的ART2394編碼器計數卡和一款ART2003數據采集卡通過PC-104總線堆棧連接。其他如顯示器、鍵盤鼠標、USB串口等外部功能模塊通過硬接線的方式連接到主控器上,實現硬件平臺開放式可重構的設想。
軟件平臺利用iPlot插件將采集到的位置信號和速度信號以坐標圖像的方式顯示在軟件界面上。系統流程圖如圖1所示,運動控制系統結構如圖2所示。

圖1 系統流程圖

圖2 運動控制系統結構圖
1.2.1 伺服電機
采用松下A4交流伺服電動機(圖3)進行試驗[8],該伺服電動機具有良好的位置、速度閉環控制性能,加減速動態響應迅速,高速性能、抗過載能力較強。編碼器能輸出精確的脈沖信號,通過查詢伺服電機的參數表得知,該伺服電機轉動一圈編碼計數器輸出脈沖數為2500,因此每一個脈沖相當于360°/2500=0.144°,即編碼計數器每增加或減少一個脈沖表示電機正轉或者反轉0.144°。因此需要達到的目標位置或角度均可以由電機轉動角度換算成脈沖數。控制精度精度達到0.144°,可以滿足高精度位置操作需求。
該伺服電機采用12-24V電源驅動,通過將電壓轉換為轉速和轉矩從而驅動控制對象。轉速可控制區間為0X0000到0XFFFF。對指定地址寫入控制區間內的相應十六進制數便可獲得對應的速度。

圖3 伺服電機
1.2.2 ART2394編碼器計數器卡
ART2394是一種基于PC104總線的編碼器計數卡,可以直接和PC104接口相連接,具有四軸正交編碼計數器,4個32位四元AB相位編碼計數器,多個時間選擇范圍8位定時器,4路隔離的數字量輸入和4路隔離的數字量輸出。每個通道接收的數字量輸入可以是旋轉編碼器的指數,也可以是線性編碼器內部傳感器的輸入。靈活的中斷源選擇特別適合位置監控、運動控制等。
連接伺服電機驅動器后,讀取地址0x200、0x202可以分別獲得高16位和低16位的32位準確的計數器脈沖數,(電機轉動一圈對應2500個脈沖信號)。轉速可控制區間為0X0000到0XFFFF。對地址0x280寫入控制區間內的相應十六進制數便可向伺服電機驅動器輸出對應的速度控制信號,來獲得相應的速度。
1.2.3 ART2003H數據采集卡
ART2003H是一塊PC104總線高速光隔離4路16位通用D/A轉換模板,可提供4路電壓信號輸出,同時具有上電置零(或者中值)功能,以確保被控裝置不會出現錯誤動作。ART2003H采用了光電隔離技術,從而避免了總線供電以及地線所引起的誤差和干擾,使本卡具有精度高、量程多、轉換速度快、噪聲小等優點。
技術特點包含:4路16位模擬量輸出通道;隔離電壓達到了1 500 VDC;多種的輸出范圍;雙極性電壓±10 V,±5 V;單極性電壓0-10 V,0-5 V;被廣泛應用于工業控制、波形信號發生器、伺服電機控制等領域。
ART2003的板基地址可以通過撥碼開關SW的手動編碼設置選擇,板基地址可設成200H~3F0H之間可被16整除的二進制碼,ART2003將占用從基地址起的連續4個I/O地址,開關的1、2、3、4、5、6、7、8位分別對應地址A2、A3、A4、A5、A6、A7、A8、A9。默認基地址為280H。本系統在實際使用該卡時使用的是初始化設置,即默認基地址280H。因此后期系統寫入速度控制數:0x282,讀取地址:0x282,數據地址:0x280。
1.2.4 PC104主控制器
PC104是一種專門為嵌入式控制而定義的工業控制總線。與普通PC總線的主要不同是:
(1)較小尺寸和緊湊的結構。其標準模塊的物理尺寸是3.6英寸×3.8英寸,即96 mm×90 mm;
(2)采用堆棧式的連接方式。去掉了原有的總線背板和插板滑道,總線以“針”和“孔”的形式層層堆疊連接,即PC104總線模塊與模塊之間總線的連接方式是通過上層針和下層孔相互咬合相連,省略掉了原有的物理排線連接,這種層疊封裝有極好的抗震性;
(3)輕松的總線驅動。減少了元件數量和電源的消耗以及占用空間,4 mA的總線驅動即可以使模塊正常的工作,每個模塊僅僅1~2 W能耗。
PC104板卡使用非常靈活,主要有以下兩種規范使用方式:一種獨立的模板堆棧方式,模板可用作全兼容的總線底板,不需要板卡和板卡之間利用插槽和針腳連接相互堆疊,板之間留有0.6英寸的空間。即以本板作為系統總底板,其他元件以插線或者串口的方式連接至本板;另一種將本板作為一個元件來使用,即將本板作為一個擁有高度集成若干功能部分的獨立元件使用,將其插連到另一個功能母板上,母板上必須包括各種應用接口和必須的總線邏輯,這種方式使用比較靈活,再測試或調試時可以臨時更換相應的該模塊,還可以達到更換選件、升級產品的目的。硬件電路實物如圖4所示。

圖4 硬件電路實物圖
由于本系統輸出量主要用來控制電機轉速,需要根據偏差來確定速度大小,但要求伺服電機從初始位置到達目標位置過程中運行平穩、精確,因此采用增量式PID控制算法,如式(1)所示,增量式PID輸出的是每個控制周期電機應該到達位置的增量。增量式PID控制流程如圖5所示。
(1)

圖5 PID控制流程圖
該方法為伺服電機精確控制帶來的優點:
(1)控制器只輸出控制增量,當發生誤動作時造成的影響比較小;
(2)操作方式切換時的沖擊強度較小;
(3)不需要連續累加,增量僅跟最近的幾次誤差采樣值有關,容易獲得比較好的輸出效果。由于無累加,消除了偏差存在時發生飽和的危險。
在VC++ 6.0軟件的集成開發環境下,采用C++語言進行MFC控制系統軟件編程,軟件編寫完成后界面如圖6所示。其中使用了locomp工業空間做了圖形可視化處理。WinIO程序庫可以在Windows程序中被調用,用來直接對I/O口或物理內存進行讀寫操作。數據采集中使用了WinIO函數庫[9]。操作軟件擁有運動數據采集與運動參數設置兩個模塊。

圖6 軟件操作界面
本系統使用ART2394的單脈沖信號輸入連接方法如圖7所示。這種模式把通道A輸入計數脈沖信號,通道B作為計數方向源。當B為低電平(為0)時,通道A信號發生一個上升沿時增加計數值,當B為高電平(為1)時,通道A信號發生一個上升沿時減少計數值。

圖7 單脈沖信號輸入連接方法
ART2394數據采集時地址分配為:絕對地址=基地址+偏移地址。基地址板卡撥碼開關如圖8所示,選用地址為:200H。

圖8 板卡基地址撥碼開關圖示
根據板卡初始化設定,讀取與寫入脈沖數為:
低16位讀取地址:0X200 數據地址:0X202
高16位讀取地址:0X200 數據地址:0X202
利用上面搭建的PID閉環控制部分設計,通過對“position”的設定,可以控制伺服電機精確運動到設定位置,例如:希望電機輸出sin正弦軌跡,只需要向“position”中寫入sin正弦信號即可,通過調用math.h函數庫中的sin( )函數,如式(2),模擬圖形發生器,用編程的方式虛擬連續增加的時間軸,來實現sin運動軌跡輸出,得到實驗數據、圖像。
S=A·sin(t)
(2)
系統實物如圖9所示,sin運動軌跡輸出如圖10所示。試驗機可以精準的控制電機的轉速以及加速度,并且實時在界面上進行顯示。通過圖形顯示界面可以看出,動態曲線平滑波動較小,所以電機運行平穩。滿足了現代數控機床運動控制的需求。如果需要運行其他函數,只需在編程界面中進行更改即可。系統具有隨時調用、隨時更改的特性。

圖9 連桿絲杠與控制器試驗機實物圖

圖10 軌跡輸出曲線
本系統主要對面向數控機床的試驗機運動控制系統進行設計。完成了低成本、可重構、開放式為主要的研究目的,實現了對伺服電機進行位置、速度、速度軌跡規劃等功能。可用來對單個或多個伺服電機直接進行控制,在控制過程中只需要根據工況需要,在軟件界面上對相關參數進行設置。操作簡便,實用性較強。同時本設計可以用來進行二次開發,當需要伺服電機輸出復雜曲線時,只需要將運動曲線的數學模型以編程的方式對接到目標位置輸入端即可。本設計主要設計成果如下:
(1)根據要求設計出位置PID調節器;
(2)優化了伺服電機速度軌跡;
(3)實現了對伺服電機運行圖形監控;
(4)在低成本、可重構、開放式的前提下,解決了數控機床運動控制系統的運動精度需求。
[1] 盛曉超, 陶濤, 張東升,等. 基于運動控制器的開放式數控系統設計[J]. 機床與液壓, 2011, 39(19):58-60.
[2] 羅輝. 開放式數控系統運動控制方法研究[D]. 上海工程技術大學, 2016.
[3] Xu X M, Li Y, Sun J H, et al. Research and Development of Open CNC System Based on PC and Motion Controller [J]. Manufacturing Automation, 2012, 29(04):1845-1850.
[4] Yang W D, Chang J. An Open CNC System Based on Motion Controller[J]. Applied Mechanics & Materials, 2011(44-47):956-959.
[5] 杜少華. 開放式數控系統可重構技術研究[D]. 中國科學院研究生院, 2012.
[6] 陸小虎. 開放式數控系統網絡化平臺關鍵技術研究與應用[D]. 中國科學院研究生院(沈陽計算技術研究所), 2015.
[7] 張億, 黃志剛, 張永俊,等. 基于PC/104的嵌入式四軸運動控制卡硬件設計[J]. 機械工程與自動化, 2016(06):203-205.
[8] 劉玲. 交流變頻調速技術的優勢與應用[J]. 電氣開關, 2010, 48(01):61-63.
[9] 付笑宇, 張線媚. VC2010下WinIo3.0直接訪問I/O端口[J]. 科技資訊, 2015, 13(13):20-21.