文獻標識碼: A
伺服系統(tǒng)(servo system)亦稱隨動系統(tǒng),其在軍事,、工業(yè)和日常生活中都有著廣泛的應用。隨著計算機技術(shù)和現(xiàn)場總線技術(shù)的發(fā)展和成熟,,也促使伺服系統(tǒng)的實現(xiàn)方式和體系結(jié)構(gòu)在不斷地發(fā)展,,將現(xiàn)場總線應用于運動控制,構(gòu)成分布式控制的數(shù)字控制伺服系統(tǒng)日益受到人們的重視,?;诂F(xiàn)場總線的分布式伺服系統(tǒng)有很多優(yōu)點,如連線少,、可靠性高,、易于系統(tǒng)的維護和擴展等。目前,,國外的Siemens,、ORM EC Systems、Rexroth等公司已經(jīng)有各自的分布式伺服系統(tǒng)產(chǎn)品推出,;國內(nèi)有一些單位和學者也進行了該方面的研究,,但相關(guān)的論文并不多,,更沒有形成系列產(chǎn)品[1]。
分布式伺服系統(tǒng)中,,電機控制性能和多電機間協(xié)調(diào)控制性能的好壞直接影響生產(chǎn)過程質(zhì)量,,如何實現(xiàn)系統(tǒng)的高效管理、方便應用和實時控制都是需要解決的關(guān)鍵問題,。CAN總線是一種有效支持分布式控制或?qū)崟r控制的串行通信局域網(wǎng)絡,,以其結(jié)構(gòu)簡單、可靠性高,、成本低廉等優(yōu)點非常適合分布式伺服系統(tǒng)中數(shù)據(jù)通信的實現(xiàn),。通過CAN總線進行數(shù)據(jù)傳輸與控制,使伺服電機的性能更加穩(wěn)定,,能更好,、更靈活地應用于分布式運動控制系統(tǒng)中[2]。
1 系統(tǒng)的總體結(jié)構(gòu)和原理
本文設計的分布式伺服系統(tǒng)的總體結(jié)構(gòu)如圖1所示,。系統(tǒng)由主控制器PLC,、CAN總線和現(xiàn)場伺服單元節(jié)點組成。PLC是整個系統(tǒng)的主控制器,,除了對各個伺服電機發(fā)送實時控制命令外,,還需要接收各驅(qū)動器節(jié)點的工作狀態(tài)信息,并進行判斷給操作人員以提示或報警,。系統(tǒng)中所有的伺服電機系統(tǒng)都有各自的CAN接口,,都掛接在CAN總線上構(gòu)成如圖1所示的分布式控制系統(tǒng)。系統(tǒng)中若有節(jié)點同時向總線發(fā)送CAN信息時,,根據(jù)每條信息的標識符(ID)進行仲裁,,決定占用總線的優(yōu)先級,信息的ID越小優(yōu)先級越高,。這就是CAN總線的非破壞性總線仲裁機制,,由此決定同時發(fā)送到總線上的不同報文對總線的占用權(quán)[3-4]。
2 系統(tǒng)硬件構(gòu)成
2.1 主控制器PLC模塊
本系統(tǒng)的主控制器PLC選用的是芬蘭EPEC公司生產(chǎn)的EPEC 3G系列控制模塊中的一種,,該模塊功能強大,,性能優(yōu)越;堅固,、體積小,、耐低溫、抗振動,、抗強電磁干擾,,并具有高壓、過載、過熱和輸出短路保護功能,;16位的高性能微處理器和超大容量的內(nèi)存空間使其具有很強的數(shù)字處理能力,,可以完成較復雜的算法;具有豐富的I/O口資源,包括AI,、DI,、DO和PWM輸出等,還具有CANopen和CAN2.0B 兩個總線接口,可以與很多標準的CAN總線產(chǎn)品直接連接,,而且接線簡單方便,,可靠性高。本系統(tǒng)利用的是該模塊的CAN2.0B總線接口,。
2.2 伺服驅(qū)動器節(jié)點硬件原理
本系統(tǒng)目前的工程應用是控制油門閥的開度,,圖1中的每1個伺服電機系統(tǒng)就是一個集成的直流電動推桿,其包括DC 24 V直流電機,、推桿機構(gòu)和推桿位置傳感器,。通過電機的正反轉(zhuǎn)帶動推桿機構(gòu)直線運動從而控制某型號油門閥的開度大小。
伺服驅(qū)動器的CAN節(jié)點主要由單片機AT89C52,、AD芯片,、CAN控制器82527、收發(fā)器PCA82C250和繼電器構(gòu)成,,其硬件原理如圖2所示,。單片機從CAN總線上接收PLC發(fā)送的位置給定命令,推桿位置傳感器的反饋電壓信號經(jīng)AD轉(zhuǎn)換后進入單片機,,與位置給定量進行比較,,然后完成推桿位置的閉環(huán)控制算法??刂屏客ㄟ^單片機的I/O_1和I/O_2輸出,,經(jīng)過驅(qū)動芯片后,I/O_1的信號控制1個雙刀雙擲繼電器實現(xiàn)電機的正反轉(zhuǎn)切換,,I/O_1的信號控制1個單刀繼電器以控制電機的啟動和停止[5],。
3 系統(tǒng)軟件設計
系統(tǒng)CAN總線網(wǎng)絡的通信協(xié)議是按照CAN2.0B標準設計的,采用11位標識符的標準幀格式,,初始波特率為250 Kb/s(可修改),各節(jié)點的數(shù)據(jù)發(fā)送方式都采用廣播式,,接收數(shù)據(jù)時采用報文標識符過濾的方式從總線上接收本地所需要的數(shù)據(jù),。
3.1 PLC控制程序
系統(tǒng)選用的PLC的軟件開發(fā)環(huán)境是CoDeSys,它是德國3S公司開發(fā)的一種可視化PLC編程環(huán)境,支持IEC11311-3標準的指令表、梯形圖,、功能模塊圖,、順序流程圖、結(jié)構(gòu)化文本、連續(xù)功能圖等6種編程語言,,用戶可在同1個項目中選擇不同的語言編寫程序,。CoDeSys以工程文件的形式組織程序的各個對象。1個工程文件包含PLC程序里的所有對象:POUs(Program Organization Units),、數(shù)據(jù)類型和資源,。1個POUs包括主程序(PLC_PRG)、子程序(PRG),、功能塊(FB),、函數(shù)(FUN)及語句,其中主程序必須命名為PLC_PRG,。子程序可以調(diào)用函數(shù)和功能塊,,但函數(shù)和功能塊不能調(diào)用子程序,且當程序在線運行時,,子程序中的中間變量值是可視的,。另外,CoDeSys還具有豐富的庫文件資源,,編程過程中可以靈活調(diào)用,,大大節(jié)省了軟件開發(fā)時間。
根據(jù)CoDeSys程序編寫的特點,,系統(tǒng)的PLC程序是用結(jié)構(gòu)化文本語言編寫的,。程序的主要功能是把由AI口輸入的油門控制腳踏板的模擬電壓進行一定調(diào)理后通過CAN總線發(fā)送給各個被控節(jié)點,并從CAN總線上接收各節(jié)點的狀態(tài)信息,,進行判斷后對操作人員給出提示或報警信號,。PLC的CAN總線通信初始化的主要設置有:波特率等相關(guān)參數(shù)、報文濾波參數(shù),、創(chuàng)建接收報文的數(shù)據(jù)緩存區(qū)等,,這些設置都可以直接調(diào)用CAN2.0的庫函數(shù)實現(xiàn),十分方便,。PLC在發(fā)送數(shù)據(jù)時,,調(diào)用庫函數(shù)CAN_IITX(),設置ID,、DLC等參數(shù),,把數(shù)據(jù)打包給每幀數(shù)據(jù)段的相應字節(jié)即可;接收數(shù)據(jù)時,,需要先調(diào)用庫函數(shù)CAN_II_GET_MSG()創(chuàng)建接收數(shù)據(jù)緩存區(qū),,設置OBJ、ID等參數(shù)(OBJ是緩存初始化序號,, ID是接收數(shù)據(jù)的標識符),,實現(xiàn)報文過濾,。然后調(diào)用庫函數(shù)GET_MSG(),其參數(shù)MESSAGE必須與緩存區(qū)初始化序號OBJ相等,,才能讀入相應緩存區(qū)的數(shù)據(jù),。函數(shù)GET_MSG()讀數(shù)據(jù)是分字節(jié)讀取的,可以很容易實現(xiàn)數(shù)據(jù)的字節(jié)操作和位操作,,可為數(shù)據(jù)的計算和處理提供方便,。順序循環(huán)執(zhí)行PLC程序,本系統(tǒng)設計的循環(huán)周期為10 ms,,可以滿足控制系統(tǒng)實時性的要求,。
3.2 單片機程序
單片機的主程序流程如圖3所示,包括單片機與82527的初始化程序和各子程序,。對反復執(zhí)行的程序段利用主程序調(diào)用子程序的方式實現(xiàn),。子程序主要有閉環(huán)控制子程序、故障處理子程序和參數(shù)修改子程序[6],。
系統(tǒng)的閉環(huán)控制采用的是Bang-Bang算法,。該算法是一種時間最優(yōu)控制,且算法簡單,,便于單片機實現(xiàn),,又能滿足系統(tǒng)控制精度的要求。設精度允許的推桿位置誤差帶為[-Δ1,Δ2],,當前偏差為e(t),,-Δ1≤e(t)≤Δ2時,可認為推桿當前位置即為給定要求的位置,。若把控制量u(t)歸一化處理,,則此算法可以表示為:
由于伺服電機正轉(zhuǎn)和反轉(zhuǎn)時推桿運動的慣性不同,所以正,、反向最大誤差允許值Δ2和Δ1一般是不相等的,。圖4是Bang-Bang算法子程序流圖。
故障處理程序處理的故障包括CAN通信中斷故障,、位置反饋斷線故障,、電機堵轉(zhuǎn)故障等,通過對這些故障的自動處理或給出提示信息提高了系統(tǒng)的可靠性,??刂破髟诓煌瑘龊鲜褂脮r,對一些參數(shù)的要求也不相同,,如控制器CAN報文的ID,、通信波特率、控制死區(qū),、位置標定等參數(shù)的值都可以通過CAN總線報文進行人工修改,。本設計選用的X5045芯片帶有512字節(jié)的E2PROM,可由單片機對其存儲空間進行串行讀寫,,因此,,X5045芯片除了實現(xiàn)單片機的上電復位和看門狗功能外,還可把需要進行修改的參數(shù)存放在其E2PROM空間中,。對故障處理和參數(shù)修改子程序的具體編寫這里不再詳述,。
4 實驗結(jié)果及分析
本系統(tǒng)實現(xiàn)1個腳踏板同時對2個油門閥的控制,腳踏板電位器輸出的電壓信號經(jīng)主控制器PLC的模擬量輸入口進行A/D轉(zhuǎn)換,,再通過CAN總線接口發(fā)給2個伺服驅(qū)動節(jié)點,,控制油門閥的開度快速精確跟蹤腳踏板的運動變化。在實際應用過程中,,PLC還用于整車的其他控制功能,。由于通信線使用的是普通雙絞線的特征阻抗120 Ω,所以需要在CAN總線兩端的CANH和CANL之間各加1個120 Ω的終端電阻,使總線阻抗匹配,,以較好地抑制干擾,。
經(jīng)過實驗,系統(tǒng)能夠達到以下要求:
(1)在波特率250 Kb/s,、總線長度100 m的情況下,,各節(jié)點之間通信正常,2個伺服驅(qū)動節(jié)點能正常工作,。
(2)推桿的有效運動長度約為50 mm,,5 s內(nèi)可實現(xiàn)全程運動,可滿足油門閥調(diào)節(jié)快速性的要求,。
(3)圖5是調(diào)試過程中通過CodeSys開發(fā)環(huán)境的變量觀察窗口繪出的2個推桿運動的階躍響應曲線,其中圖5(a)是控制推桿伸出的情況,,圖5(b)是縮回的情況。圖中,,x表示位置給定量的階躍變化,,y1、y2分別表示2個推桿位置對階躍給定的動態(tài)響應曲線,。由圖可以看出,,2個推桿的位置均能及時跟隨給定量的變化,并能達到控制精度的要求,。
本文設計的分布式直流電動伺服系統(tǒng)已經(jīng)應用在某大型工程運輸車的油門閥控制中,,其工作穩(wěn)定可靠,與氣動油門相比,,大大提高了油門控制的響應速度和系統(tǒng)的可靠性,。該系統(tǒng)的伺服驅(qū)動節(jié)點結(jié)構(gòu)簡單、成本低廉,,CAN總線網(wǎng)絡的應用使整個系統(tǒng)具有很強的通用性和可擴展性,,根據(jù)應用需要可以方便地增減驅(qū)動節(jié)點的數(shù)量,,實現(xiàn)更多軸和多點的伺服控制系統(tǒng),并進一步實現(xiàn)多電機的協(xié)同控制,。
參考文獻
[1] 敖慶榮,,袁坤. 伺服系統(tǒng)[M].北京:航空工業(yè)出版社,2006.
[2] 杜尚豐,,曹曉鐘,,徐津,等. CAN總線測控技術(shù)及其應用[M].北京:電子工業(yè)出版社,,2007.
[3] 趙君,,劉衛(wèi)國,譚博. 基于CAN總線的分布式多電機控制研究[J]. 測控技術(shù),,2008(8).
[4] 王寶仁,,張承瑞,史大光. 基于CAN總線的分布式伺服系統(tǒng)通信協(xié)議的研究[J]. 組合機床與自動化加工技
術(shù),,2007(2).
[5] 何立民. 單片機高級教程-應用與設計[M].北京:北京航空航天大學出版社,,2000.
[6] 初憲武,汪玉鳳,王麗. 基于82527的CAN總線智能傳感器節(jié)點設計[J].單片機與嵌入式系統(tǒng)應用, 2002(12).