王志宏,吳益飛,杜仁慧,郭 健,陳慶偉
(南京理工大學(xué) 自動化學(xué)院,南京 210094)
網(wǎng)絡(luò)化多電機伺服系統(tǒng)監(jiān)控終端設(shè)計*
王志宏,吳益飛,杜仁慧,郭 健,陳慶偉
(南京理工大學(xué) 自動化學(xué)院,南京 210094)
為滿足多電機伺服系統(tǒng)調(diào)試及各類運行狀態(tài)數(shù)據(jù)實時監(jiān)控的要求,設(shè)計了一種基于CAN總線的多電機伺服系統(tǒng)監(jiān)控終端。介紹了多電機伺服系統(tǒng)總體組成結(jié)構(gòu),采用PC/104嵌入式計算機和CAN通信模塊構(gòu)建了系統(tǒng)硬件平臺,完成了系統(tǒng)軟件總體設(shè)計,詳細(xì)介紹了系統(tǒng)軟件流程圖,并設(shè)計了CAN通信協(xié)議。實驗結(jié)果表明,系統(tǒng)可實現(xiàn)各類數(shù)據(jù)的實時傳輸、顯示及計算,可方便地進(jìn)行系統(tǒng)參數(shù)設(shè)置,具有實時性高、人機交互界面友好、運行穩(wěn)定可靠等優(yōu)點。
PC/104;CAN總線;多電機;伺服系統(tǒng);監(jiān)控終端
隨著科技的高速發(fā)展,對伺服系統(tǒng)的性能提出了新的要求,系統(tǒng)必須快速、準(zhǔn)確地跟蹤給定指令,具備良好的動態(tài)特性和穩(wěn)態(tài)精度,并具有很高的可靠性和可維護性。在大功率、大負(fù)載轉(zhuǎn)矩、大慣量以及需要消除齒隙影響的實際系統(tǒng)中,多電機伺服系統(tǒng)得到了廣泛的應(yīng)用。近年來,高性能多電機伺服系統(tǒng)已廣泛應(yīng)用于雷達(dá)測控、數(shù)控機床、造紙、紡織等領(lǐng)域[1-3]。
在多電機伺服系統(tǒng)的調(diào)試及使用過程中,需要實時獲取系統(tǒng)運行時各個電機和負(fù)載的運行狀態(tài)數(shù)據(jù),并通過對相應(yīng)數(shù)據(jù)的分析進(jìn)行控制器參數(shù)的整定和故障判斷。而在傳統(tǒng)的基于CAN總線的多電機系統(tǒng)中,總線上傳輸?shù)臄?shù)據(jù)較少,只能實現(xiàn)基本的系統(tǒng)狀態(tài)監(jiān)控和報警等功能。同時,需要現(xiàn)場對每個電機驅(qū)動器參數(shù)逐一進(jìn)行設(shè)定,不便于系統(tǒng)的使用和調(diào)試[4-5]。因此,針對基于CAN總線的多電機伺服系統(tǒng),設(shè)計一種實時性高、運行穩(wěn)定可靠的多功能監(jiān)控終端很有必要。
本文設(shè)計了一種基于CAN總線和PC/104嵌入式計算機的多電機伺服系統(tǒng)監(jiān)控終端??稍O(shè)置各電機的工作模式和控制器參數(shù),通過圖形方式實時顯示負(fù)載位置、各電機的速度和電流等信息,并計算系統(tǒng)各項性能指標(biāo)。實驗結(jié)果表明,系統(tǒng)響應(yīng)速度快、運行穩(wěn)定,可靠性高。
系統(tǒng)組成結(jié)構(gòu)框圖如圖1所示,以四臺電機為例,各電機分別通過減速器與負(fù)載臺架的大齒輪相連,同步驅(qū)動負(fù)載運行。RDC(Resolver-to-Digital Converter)通信板與負(fù)載側(cè)的雙通道旋變相連,并通過CAN總線與四臺驅(qū)動器和監(jiān)控終端相連接。
其中,RDC通信板實時檢測負(fù)載位置并通過CAN總線發(fā)送至其他設(shè)備。監(jiān)控終端可設(shè)置電機驅(qū)動器的工作模式和控制參數(shù),實時發(fā)送指令,接收RDC通信板發(fā)送的負(fù)載位置和電機驅(qū)動器發(fā)送的各電機的運行狀態(tài)數(shù)據(jù),并以圖形方式實時顯示對應(yīng)曲線。電機驅(qū)動器可實時接收監(jiān)控終端發(fā)送的指令信息、RDC通信板發(fā)送的位置信息以及各電機的速度和電流等信息,通過對這些信息實時地計算處理得到各自的控制量,完成對各電機的控制。
圖1 多電機伺服系統(tǒng)組成結(jié)構(gòu)框圖
系統(tǒng)控制原理結(jié)構(gòu)框圖如圖2所示,選電機1作為主電機,可根據(jù)設(shè)置的模式工作在位置、速度、電流三閉環(huán)或速度、電流雙閉環(huán)模式,其他電機作為從電機,工作在電流閉環(huán)模式,每個電機通過各自的轉(zhuǎn)速同步控制器,利用從CAN總線上接收的其他電機的轉(zhuǎn)速完成差速負(fù)反饋控制量的計算,并與主電機速度控制器的輸出相加,得到最終的電流給定控制量,驅(qū)動各電機同步運行[6,9]。
圖2 多電機同步控制原理結(jié)構(gòu)框圖
為保證系統(tǒng)在不同工業(yè)環(huán)境下工作的穩(wěn)定性和可靠性,同時考慮系統(tǒng)的小型化、低功耗以及可擴展性等要求,選用盛博公司的SPT4系列PC/104嵌入式計算機模塊作為系統(tǒng)的控制單元,包括一個基于x86架構(gòu)的TM5800處理器,板載USB接口、VGA接口以及以太網(wǎng)接口等,便于連接各種外設(shè)構(gòu)成低功耗的工控機系統(tǒng)。
系統(tǒng)中各設(shè)備通過CAN總線實時地交換數(shù)據(jù),因此,選用盛博公司的CSD系列CAN總線接口擴展模塊,為系統(tǒng)提供兩路隔離的CAN2.0總線接口。
系統(tǒng)中各設(shè)備通過CAN總線連接,位置環(huán)、速度環(huán)和電流環(huán)的采樣時間分別為5ms、1ms和0.1ms,因此需要在每個速度環(huán),即每1ms內(nèi)完成CAN總線上各設(shè)備之間的信息交換。監(jiān)控終端需要在1ms內(nèi)通過CAN總線接收四臺驅(qū)動器和RDC通信板的五個數(shù)據(jù)包,并發(fā)送一個位置或速度指令數(shù)據(jù)包,同時完成各電機和負(fù)載狀態(tài)對應(yīng)的實時曲線的繪制和顯示??梢姡O(jiān)控終端對軟件的實時性要求非常高,需采用中斷的方式進(jìn)行CAN總線數(shù)據(jù)的接收。
Windows操作系統(tǒng)具有強大的功能和友好的人機界面,但由于其多任務(wù)調(diào)度機制,難以快速響應(yīng)外部事件中斷。因此,選擇在DOS環(huán)境下使用C語言進(jìn)行軟件的設(shè)計開發(fā)。設(shè)計的軟件運行效率高,可靠性高,可充分利用系統(tǒng)硬件資源,完成高實時性的中斷響應(yīng)。
3.1 軟件總體設(shè)計
監(jiān)控終端的軟件主要包括系統(tǒng)初始化模塊、人機界面繪制模塊、驅(qū)動器參數(shù)設(shè)置模塊、指令生成發(fā)送模塊、數(shù)據(jù)存取模塊、CAN中斷模塊等六個模塊,如圖3所示。
圖3 監(jiān)控終端軟件組成結(jié)構(gòu)框圖
系統(tǒng)初始化模塊完成系統(tǒng)參數(shù)和各功能模塊的初始化工作。人機界面繪制模塊繪制了友好的圖形化人機交互界面。驅(qū)動器參數(shù)設(shè)置模塊可設(shè)置四臺電機的工作模式和控制器參數(shù)。指令生成發(fā)送模塊可生成不同幅值的速度或位置階躍、斜坡、正弦指令,并通過CAN總線發(fā)送至電機驅(qū)動器。數(shù)據(jù)存取模塊可在一次實驗結(jié)束后,將此次實驗數(shù)據(jù)存儲到數(shù)據(jù)文件中或讀取已經(jīng)保存的實驗數(shù)據(jù)。CAN中斷模塊以中斷的方式接收四個驅(qū)動器和RDC通信板的CAN數(shù)據(jù)包,并將接收到各設(shè)備信息繪制成對應(yīng)的曲線,實時顯示在圖形界面中。
3.2 主程序設(shè)計
監(jiān)控終端主程序流程圖如圖4所示。
程序開始運行后,首先進(jìn)行系統(tǒng)初始化;然后繪制出程序的圖形窗口,提供友好的人機交互界面;接下來進(jìn)入程序的主循環(huán),讀取鍵盤和鼠標(biāo)的按鍵信息,并執(zhí)行對應(yīng)的操作,當(dāng)鼠標(biāo)點擊退出鍵時,將釋放變量,并退出程序。
在主程序中,當(dāng)鼠標(biāo)點擊參數(shù)設(shè)置鍵時,將重新繪制程序窗口,顯示參數(shù)設(shè)置界面,可查看或修改各驅(qū)動器的工作模式和控制參數(shù),如圖5所示。
圖4 監(jiān)控終端主程序流程圖
圖5 參數(shù)設(shè)置界面
此時,CAN總線上傳輸?shù)臄?shù)據(jù)較少,采用查詢的方式接收CAN總線數(shù)據(jù)。監(jiān)控終端在CAN總線上發(fā)送的數(shù)據(jù)包括各驅(qū)動器參數(shù)的設(shè)置和查詢,以及指令的發(fā)送。數(shù)據(jù)包格式如圖6所示。
圖6 監(jiān)控終端發(fā)送的數(shù)據(jù)包格式
每個數(shù)據(jù)包有四個字節(jié)數(shù)據(jù),前兩個字節(jié)分別對應(yīng)設(shè)備ID號ID1和數(shù)據(jù)類型ID號ID2,如表1、表2所示,后兩個字節(jié)為傳送的數(shù)據(jù)。表2中,參數(shù)MODE1和MODE2共同確定了電機的工作模式[9],系統(tǒng)中使用的電機為永磁同步電機,驅(qū)動器采用矢量控制算法,電流環(huán)由d軸電流環(huán)和q軸電流環(huán)構(gòu)成,對應(yīng)的電流環(huán)控制參數(shù)也有兩組[10]。
表1 設(shè)備ID號ID1的定義
表2 數(shù)據(jù)類型ID號ID2的定義
當(dāng)鼠標(biāo)點擊曲線繪制調(diào)整鍵時,將根據(jù)對應(yīng)的按鍵完成坐標(biāo)軸的縮放和平移,調(diào)整所顯示曲線的類型,并在新坐標(biāo)下重新繪制曲線。
當(dāng)鼠標(biāo)點擊指令發(fā)送菜單時,首先打開CAN接收中斷,并通過CAN總線發(fā)送開始指令,電機驅(qū)動器接收到開始指令后運行,開始閉環(huán)控制,每1ms將電機的速度和電流等信息通過CAN總線發(fā)送給監(jiān)控終端和其他驅(qū)動器。RDC通信板也在接收到開始指令后運行,每1ms采樣一次負(fù)載位置信息并通過CAN總線發(fā)送給其他設(shè)備。接下來將由中斷程序完成CAN總線數(shù)據(jù)的接收和實驗曲線的實時繪制,主程序進(jìn)入循環(huán)等待,直到實驗時間到或按下結(jié)束按鍵時,通過CAN總線發(fā)送停止運行指令,使CAN總線上的各設(shè)備停止工作,結(jié)束本次實驗,最后關(guān)閉CAN接收中斷,重新進(jìn)入主程序的循環(huán)中。
在每次實驗結(jié)束后,可根據(jù)本次實驗得到的數(shù)據(jù)進(jìn)行性能指標(biāo)的計算,如階躍響應(yīng)的超調(diào)量,調(diào)節(jié)時間,以及誤差的范圍、平均值和均方差等,便于實驗結(jié)果的分析和系統(tǒng)調(diào)試。
3.3 中斷程序設(shè)計
CAN中斷程序流程圖如圖7所示。
中斷開始后,首先接收CAN數(shù)據(jù)包,通過CANID判斷數(shù)據(jù)的發(fā)送源并將數(shù)據(jù)存放在對應(yīng)的動態(tài)數(shù)組中[7,9],若收到的是驅(qū)動器1發(fā)送的數(shù)據(jù)包,將通過CAN總線發(fā)送實時的速度或位置指令。最后畫出接收到的速度、電流和位置等數(shù)據(jù)對應(yīng)的曲線,并顯示接收到的CAN總線上各設(shè)備的數(shù)據(jù)包數(shù)量。系統(tǒng)中需要每1ms發(fā)送一次實時的速度或位置指令,如果在監(jiān)控終端的程序中使用1ms的定時,將存在與電機驅(qū)動器的定時同步問題,增加程序處理的復(fù)雜度。因此,可將驅(qū)動器1每1ms定時發(fā)送的數(shù)據(jù)包作為定時信號,在每次收到驅(qū)動器1發(fā)送的數(shù)據(jù)包后發(fā)送速度或位置指令,實現(xiàn)1ms的定時發(fā)送。
圖7 CAN中斷程序流程圖
CAN總線是系統(tǒng)的重要組成部分,實現(xiàn)了監(jiān)控終端與總線上各設(shè)備的高速數(shù)據(jù)傳輸,必須確保其正常穩(wěn)定地工作。為了提高CAN總線上數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性,從軟硬件兩方面采取了以下措施:
(1)硬件方面,CAN總線的線纜采用帶屏蔽層的雙絞線,并在總線兩端加入120歐姆的終端匹配電阻。系統(tǒng)中各設(shè)備的金屬外殼和連接線纜的屏蔽層必須接地,同時還需對接入系統(tǒng)的電源進(jìn)行濾波,去除電源中的高頻干擾。
(2)軟件方面,由于監(jiān)控終端在每1ms內(nèi)需從總線上接收5個數(shù)據(jù)包,為了保證數(shù)據(jù)被實時地接收和處理,采用了中斷方式進(jìn)行數(shù)據(jù)接收。在軟件設(shè)計過程中,對中斷響應(yīng)函數(shù)進(jìn)行了優(yōu)化,確保能及時地接收數(shù)據(jù),并實時繪制對應(yīng)曲線。另外,程序中采用調(diào)用系統(tǒng)中斷的方式獲取鼠標(biāo)信息,在實驗過程中移動鼠標(biāo)會影響CAN總線數(shù)據(jù)接收的中斷響應(yīng),造成丟包。因此,需在開啟CAN中斷前調(diào)用系統(tǒng)函數(shù)關(guān)閉鼠標(biāo),在實驗結(jié)束關(guān)閉CAN中斷后再重新打開鼠標(biāo),消除鼠標(biāo)對CAN中斷的影響。
通過以上措施,提高了CAN總線的抗干擾能力和監(jiān)控終端數(shù)據(jù)接收的穩(wěn)定性,系統(tǒng)運行過程中沒有出現(xiàn)丟包現(xiàn)象。
系統(tǒng)中使用了四臺科爾摩根永磁同步電機M-403-B,額定功率2.2kW,最大轉(zhuǎn)速3000rpm。系統(tǒng)工作在位置環(huán)跟蹤模式,跟蹤60°/s,60°/s2的位置正弦信號。使用設(shè)計的監(jiān)控終端,實驗得到的位置、位置誤差、速度和電流曲線如圖8~圖11所示。
圖8 位置曲線
圖9 位置誤差曲線
圖10 速度曲線
圖11 電流曲線
實驗結(jié)果表明,監(jiān)控終端運行穩(wěn)定可靠,可實現(xiàn)多種數(shù)據(jù)的實時顯示和分析,為系統(tǒng)調(diào)試、控制器設(shè)計、系統(tǒng)故障診斷等提供了便利。
本文設(shè)計了一種基于CAN總線和PC/104嵌入式計算機的多電機伺服系統(tǒng)監(jiān)控終端,可實時接收并處理CAN總線上各設(shè)備的信息,響應(yīng)速度快,實時性好,可靠性高,具有友好的人機界面。系統(tǒng)結(jié)構(gòu)簡單,可擴展性強,適用于不同的應(yīng)用場合,具有一定的應(yīng)用和推廣價值。
[1] Ren Jun, Li Chun-Wen, Zhao De-Zong. CAN-based synchronized motion control for induction motors[J]. International Journal of Automation and Computing, 2009, 6(1): 55-61.
[2] 賀安超,劉衛(wèi)國,馬珊. 基于CAN總線的多電機嵌入式監(jiān)控系統(tǒng)設(shè)計[J]. 計算機測量與控制,2011,19(7):1605-1608.
[3] 劉景林,王帥夫. 數(shù)控機床用多步進(jìn)電機伺服系統(tǒng)控制[J]. 電機與控制學(xué)報,2013,17(5):80-86.
[4] 施雅婷. 基于CAN總線的多電機分布式控制系統(tǒng)研究[D]. 南京:南京郵電大學(xué),2011.
[5] 張偉. 基于CAN總線的雷達(dá)伺服協(xié)調(diào)控制研究[D]. 成都:電子科技大學(xué),2011.
[6] 鄧先榮. 天線伺服系統(tǒng)多電機同步控制方法[J]. 現(xiàn)代雷達(dá),2005,27(6):45-48.
[7] 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計[M]. 北京: 北京航空航天大學(xué)出版社,2008.
[8] 李正軍,陳亮. 基于PC104的CAN總線接口設(shè)計及其嵌入式應(yīng)用[J]. 儀表技術(shù)與傳感器,2008(7): 57-59.
[9] Wang Zhihong, Chen Qingwei, Wu Yifei. Research on Multi-motor Synchronous System Based on CAN[C]. 8th World Congress on Intelligent control and Automation, Jinan China, July 2010, 4209-4213.
[10] 唐任遠(yuǎn). 現(xiàn)代永磁電機[M]. 北京: 機械工業(yè)出版社,2005.
(編輯 趙蓉)
Design of Networked High-speed and High-precision Multi-motor Servo System Monitoring Terminal
WANG Zhi-hong, WU Yi-fei, DU Ren-hui, GUO Jian, CHEN Qing-wei
(School of Automation, Nanjing University of Science and Technology, Nanjing 210094, China)
To meet the demands of system debugging and real-time running state monitoring in multi-motor servo system,a novel monitoring terminal based on CAN bus is proposed. The general structure of multi-motor system is introduced. PC/104 embedded computer and CAN interface extended card are used as the hardware platform. The system software is designed and the software flow chart is described in detail. The CAN bus communication protocol is also designed. The system can receive and transmit data, display and calculate real-timely. The system parameters can be easily set. The experimental results show that the man-machine interface is friendly, and the system has reliable and high real time performance.
PC/104; CAN bus; multi-motor;servo system; monitoring terminal
1001-2265(2014)06-0051-04
10.13462/j.cnki.mmtamt.2014.06.014
2014-03-11
國家自然科學(xué)基金(61074023)
王志宏(1983—),男,太原人,南京理工大學(xué)博士研究生,研究方向為高精度伺服系統(tǒng)、自適應(yīng)控制與智能控制,(E-mail)njust.wang@gmail.com。
TH166;TG65
A