CAN總線在高速液壓多缸同步運動控制中的應(yīng)用
Control System of Synchronous Motion of High Speed Hydraulic
Multi-cylinder Based on CAN Bus
嚴(yán)景常 李曉明
(浙江理工大學(xué)浙江省現(xiàn)代紡織裝備技術(shù)重點實驗室,浙江杭州 310018)
摘 要:高速液壓多缸同步運動裝置有瞬時大功率的特點,其高速液壓缸要求達(dá)到24m/s的速度,需要采集的數(shù)據(jù)量大,控制算法也較復(fù)雜,所以選用分布式的控制系統(tǒng)。大量的信號在系統(tǒng)中需實時交換,傳統(tǒng)線束已不能滿足要求,所以用CAN總線來完成測控中的數(shù)據(jù)傳送。CAN總線有易擴(kuò)充、易實現(xiàn)多主結(jié)構(gòu)、可靠性高、實時性強(qiáng)、通信介質(zhì)無特殊要求的特點。設(shè)計了總體結(jié)構(gòu),具體的方案,對針對本系統(tǒng)自己定義的CAN應(yīng)用層協(xié)議進(jìn)行說明。實踐證明,該系統(tǒng)成本低,運行穩(wěn)定。
關(guān)鍵字:CAN總線;應(yīng)用層協(xié)議;數(shù)據(jù);高速液壓系統(tǒng)多缸同步運動裝置. 1、引 言
彈射裝置在航空航天領(lǐng)域應(yīng)用很廣泛,如艦載飛機(jī)的彈射。從空間站發(fā)射衛(wèi)生及無人飛機(jī)等。以液壓缸為執(zhí)行元件的高速液壓彈射是新型發(fā)射彈射技術(shù),有隱蔽性強(qiáng)、發(fā)射使用頻率高等特點。目前提高系統(tǒng)有效發(fā)射載荷以及液壓缸極限運動速度的最佳方法是多缸并聯(lián)同步控制驅(qū)動。原因有幾點:(1)多缸并聯(lián)同步驅(qū)動能加倍地增大系統(tǒng)的最大負(fù)載。(2)可分散壓力和流量,讓每路的驅(qū)動液壓回路的壓力和流量相對僅用單缸驅(qū)動變小。(3)恰當(dāng)?shù)陌仓抿?qū)動點,并考慮被發(fā)射物運動中重心變化情況,彈射裝置就可發(fā)射多種物體,其使用范圍擴(kuò)大。
由于高速液壓系統(tǒng)多缸并聯(lián)驅(qū)動裝置的工作時間短,485總線的傳輸速率不能滿足各控制器或數(shù)據(jù)采集模塊之間的高速通訊,常通信失敗,所以選用基于CAN總線故采取分布式的數(shù)字測控系統(tǒng)。
目前,CAN總線在車輛、工程機(jī)械上有一些應(yīng)用,但在高速液壓方面,CAN總線使用很少。如何清華、紀(jì)云鋒等人以CAN總線連接挖掘機(jī)的電子控制系統(tǒng)中控制器與位于現(xiàn)場的測量變送器、開關(guān)、馬達(dá)、電液閥等執(zhí)行器。付永領(lǐng)提出了PB-211噴漆機(jī)器人的基于CAN總線的上、下位微機(jī)控制系統(tǒng),上位機(jī)為一臺PC工控機(jī),主要負(fù)責(zé)機(jī)器人的路徑規(guī)劃,任務(wù)分配,系統(tǒng)監(jiān)視等,下位機(jī)為6個單片機(jī),主要負(fù)責(zé)伺服閥的控制和位置傳感器的信號采集等。
2、系統(tǒng)的總體方案
如圖1所示,高速液壓系統(tǒng)多缸并聯(lián)驅(qū)動裝置模擬實驗臺由各種傳感器、數(shù)據(jù)采集和伺服控制器模塊、同步控制器、CAN總線、泵和蓄能器組、大流量控制閥、多級液壓缸、負(fù)載組成。
圖(1): 高速液壓系統(tǒng)多缸并聯(lián)驅(qū)動裝置模擬實驗臺
多缸并聯(lián)同步運動控制方案是在虛軸法改進(jìn)后的基礎(chǔ)上進(jìn)行同步運動系統(tǒng)建模和控制。虛軸法是比較新的多軸同步運動的方法,可自動改變單軸驅(qū)動的能量轉(zhuǎn)化速度,讓各軸的加速度耦合,并能適應(yīng)變化的負(fù)載。原理如圖2所示,它是一個虛擬的主軸,與其他運動元件間機(jī)械耦合裝置,以多軸運動之間的力矩耦合來協(xié)調(diào)使各軸同步運動?梢杂糜嬎銠C(jī)來模擬虛擬的主軸。
圖(2): 虛擬同步機(jī)械裝置
每路液壓缸的伺服控制由單獨的伺服控制器實現(xiàn),為CAN總線上的一個節(jié)點,其任務(wù)有參數(shù)設(shè)置、節(jié)點狀態(tài)查詢、控制大流量閥等。
PC機(jī)通過CAN接口卡連在CAN總線上作一節(jié)點,CAN接口卡選用周立功單片機(jī)發(fā)展有限公司的
PCI-9810,作用有:① 監(jiān)控高速液壓系統(tǒng)的運行狀態(tài),② 承擔(dān)同步控制器的功能,③ 提供一個良好的操作整個液壓裝置的界面。PC機(jī)根據(jù)數(shù)據(jù)采集和伺服控制器模塊節(jié)點通過CAN總線發(fā)送來的每路液壓缸的工作狀態(tài)數(shù)據(jù)計算同步參數(shù),然后由CAN總線送到每路伺服控制器動態(tài)調(diào)整其控制輸出。可在PC機(jī)上設(shè)置或修改液壓裝置的一些參數(shù)。 這樣既能夠獨立的驅(qū)動單個液壓缸,也能夠接收由同步控制器的輸出調(diào)整其控制器參數(shù),實現(xiàn)多缸同步控制驅(qū)動高速液壓彈射過程。
本系統(tǒng)有瞬時大流量的特征,若大流量控制閥用價格較貴的大流量伺服閥,不能物盡其用。高速液壓彈射在單行程伺服控制即可,執(zhí)行機(jī)構(gòu)不需位置伺服?稍谥鬟M(jìn)油路上控制流量,采取以一高頻響小流量閥控缸伺服系統(tǒng)代替常用的大流量插裝閥的先導(dǎo)回路,對大量伺流服控制。并把拖動用液壓缸和插裝閥閥芯、閥套做成一個整體,來提高系統(tǒng)的響應(yīng)能力。
3、數(shù)據(jù)采集和伺服控制器模塊節(jié)點的硬件設(shè)計
數(shù)據(jù)采集和伺服控制器模塊節(jié)點的CAN部分電路總體結(jié)構(gòu)如圖3所示。
圖3 數(shù)據(jù)采集和伺服控制器模塊節(jié)點的CAN部分電路總體圖
單片機(jī)節(jié)點的主控制器采用ATMEL公司的80C51系列的AT89S52。
按鍵采用行列式鍵盤。如圖4所示,每個按鍵的一端接在行線,另一端接在列線上。列線通過二極管接到AT89S52的P3.2中斷引腳。開始Pl口的P1.2 P1.3輸出低電平,P1.0 P1.l為上拉。單片機(jī)的P3.2設(shè)置為內(nèi)部上拉,低電平觸發(fā)中斷。當(dāng)某按鍵按下時P3.2變成低電平,觸發(fā)中斷,由系統(tǒng)決定在適當(dāng)?shù)臅r候進(jìn)行處理。鍵盤中斷子程序被調(diào)用,程序掃描鍵盤,確定哪個鍵被按下,不同的鍵再調(diào)用對應(yīng)的自定義的函數(shù)。不同的自定義函數(shù)有各自的功能。如數(shù)據(jù)采集和處理、通訊
(向其他節(jié)點發(fā)送數(shù)據(jù))等。
圖4 鍵盤與AT89S52的連接圖
AT89S52的ADO/PO.0~AD7/PO.7分別與SJA1000的AD0~AD7相連,AT89S52的P2.0接SJA1000
片選信號,AT89S52的ALE/PROG接SJA1000的ALE,AT89S52的WR及RD與SJA1000的WR和RD分別連接,SJA1000的中斷輸出引腳到AT89S52的外部中斷0。
SJA10O0的XTAL1和XTAL2之間接16MHz的晶振,并各通過15pF的電容接地。其復(fù)位由主控制器AT89S52的一個IO引腳P1.7來控制。SJA1O00的CLKOUT向主控制器輸出時鐘頻率。和SJA1000
相連的AT89S52為80C51系列,所以SJA1000的11腳MODE接高電平,即Intel模式。
CAN收發(fā)器用PHILIPS公司的TJA1050高速收發(fā)器。CAN控制器和收發(fā)器以串行數(shù)據(jù)輸出線和串行數(shù)據(jù)輸入線相連接。收發(fā)器通過可差動接收和發(fā)送的引腳CANH和CANL接到CAN總線上。
4、軟件設(shè)計
在本裝置中CAN為多主工作方式,總線上任一節(jié)點都可主動發(fā)送數(shù)據(jù)到其他節(jié)點。PC機(jī)節(jié)點或數(shù)據(jù)采集和伺服控制器節(jié)點中的任意兩節(jié)點可直接通訊。
4.1 CAN初始化
CAN控制器在復(fù)位后,要配置相關(guān)的寄存器,然后才可收發(fā)數(shù)據(jù)。如圖5所示。
圖5 CAN初始化示意圖
4.2 CAN總線上發(fā)送和接收數(shù)據(jù)流程
以PC機(jī)把同步參數(shù)送到伺服控制器為例說明收發(fā)流程。
PC機(jī)首先把計算好的同步參數(shù)以應(yīng)用層協(xié)議規(guī)定的幀格式存放,然后調(diào)用將數(shù)據(jù)包轉(zhuǎn)換成多個CAN報文的函數(shù),將標(biāo)識符和數(shù)據(jù)送入發(fā)送緩沖區(qū),然后置位命令寄存器中的發(fā)送請求位,啟動CAN
核心模塊讀取發(fā)送緩沖區(qū)中的數(shù)據(jù),按CAN協(xié)議封裝成一完整CAN信息幀通過收發(fā)器發(fā)往總線。
由于CAN報文含有接收節(jié)點地址,已被設(shè)置節(jié)點地址的伺服控制器經(jīng)過其驗收濾波器的濾波,
確定是傳送到本節(jié)點的信息,節(jié)點才把CAN報文送入接收FIFO緩沖區(qū),并置位接收緩沖區(qū)狀態(tài)標(biāo)志。節(jié)點從CAN總線上接收到CAN報文先存貯,當(dāng)某一數(shù)據(jù)包的所有CAN報文全部接收完后,就調(diào)用將多個CAN報文轉(zhuǎn)換成數(shù)據(jù)包的函數(shù),以應(yīng)用層協(xié)議規(guī)定的幀格式存放PC機(jī)發(fā)來的同步參數(shù),供本節(jié)點的應(yīng)用(如:控制)程序使用,調(diào)整伺服控制器的輸出,從而完成多缸的并聯(lián)同步運動。
4.3 節(jié)點地址的設(shè)置
節(jié)點地址由單片機(jī)對節(jié)點初始化的程序中,用BasicCAN模式里的驗收濾波時設(shè)置CAN控制器的驗收碼寄存器和驗收屏蔽寄存器確定。驗收屏蔽寄存器的第5、6、7位置0,其它位置1。驗收碼寄存器的第5、6、7位設(shè)為節(jié)點地址。
4.4 CAN報文標(biāo)識符分配
本系統(tǒng)使用2.0A規(guī)范,標(biāo)識符分配以信息類型為最高優(yōu)先級,選用標(biāo)準(zhǔn)格式。CAN報文的ID越小,它在CAN總線上傳送的優(yōu)先級越高。ID28-ID27為信息標(biāo)識,越重要或緊急的信息標(biāo)識越小,也就是此CAN報文傳送的優(yōu)先級越高,如表1所示。ID26是否需要應(yīng)答標(biāo)識,需應(yīng)答為1,不需應(yīng)答為0。ID26-ID22為目的節(jié)點地址標(biāo)識,ID21-ID19為源節(jié)點地址標(biāo)識。ID18為數(shù)據(jù)是否大于8個字節(jié)標(biāo)識,小于或等于8字節(jié)為0,大于8字節(jié)為1。
4.5 自定義應(yīng)用層協(xié)議
目前比較流行的標(biāo)準(zhǔn)化應(yīng)用層協(xié)議有CANopen和DeviceNet。這些協(xié)議價格昂貴,而本系統(tǒng)使用自定義的應(yīng)用層協(xié)議即可滿足。自定義的這一協(xié)議具有通用性,可在同類系統(tǒng)中使用。
4.5.1 自定義應(yīng)用層協(xié)議規(guī)定的幀格式
應(yīng)用程序以此格式存放數(shù)據(jù),所使用的數(shù)據(jù)也要是這種格式。
第0個字節(jié)代表數(shù)據(jù)包的長度,第1個字節(jié)代表信息功能標(biāo)識,信息功能標(biāo)識越小則優(yōu)先級越高。此數(shù)據(jù)第2個字節(jié)代表其它功能標(biāo)識如是否要求應(yīng)答,第3個字節(jié)代表源節(jié)點地址標(biāo)識,第4個字節(jié)代表目的節(jié)點地址標(biāo)識,其它字節(jié)為傳送的數(shù)據(jù)。
4.5.2 大于8個字節(jié)的數(shù)據(jù)包傳送
當(dāng)發(fā)傳的數(shù)據(jù)大于8個字節(jié)時,將應(yīng)用層協(xié)議規(guī)定的幀格式的數(shù)據(jù)包分為多個CAN格式的幀。每個幀的數(shù)據(jù)場的第一個字節(jié)為索引,表示此幀為數(shù)據(jù)的第幾湞,最后一幀的第一個字節(jié)各位規(guī)定為0,表示這個數(shù)據(jù)包傳送完畢。當(dāng)某一數(shù)據(jù)包的所有CAN報文全部接收完后,就將多個CAN報文轉(zhuǎn)換成應(yīng)用層協(xié)議規(guī)定的幀格式數(shù)據(jù)包然后存儲。
4.6 PC機(jī)節(jié)點通訊程序的編寫
PC機(jī)通過CAN接口卡接入CAN總線。CAN接口卡分為PCI總線接口和CAN總線通訊部分。PCI總線
接口部分是連接PC機(jī)的PCI總線的。CAN總線部分完成數(shù)據(jù)的發(fā)送和接收、數(shù)據(jù)包的拆合、解碼、編碼等任務(wù)。
PC機(jī)上的程序使用Borland C++Builder6.0實現(xiàn)。調(diào)用CAN接口卡提供的接口函數(shù)來進(jìn)行打開或關(guān)閉CAN接口卡、接受數(shù)據(jù)、獲得當(dāng)前接收緩沖數(shù)據(jù)的幀數(shù)量等操作,完成PC機(jī)節(jié)點與其它節(jié)點的CAN通訊。
5、結(jié)束語
CAN總線有很高的實時性能,有強(qiáng)有力的檢錯功能,可在高噪聲干擾環(huán)境中使用.由于本液壓系統(tǒng)有高速、瞬時大流量等獨特之處,數(shù)據(jù)處理量大,如對這些數(shù)據(jù)集中處理和運算,難以保證快速性。而這種基于CAN總線的分布結(jié)構(gòu),能較好地分散處理數(shù)據(jù)和運算的負(fù)擔(dān),可大幅度地提高控制系統(tǒng)的響應(yīng),讓整個裝置可靠地運行。
參 考 文 獻(xiàn)
[1] M.Anibal Valenzuela,RobertD.Lorenz.Electronic Line-shafting shafting Control for Paper Machine Drivers[J]。IEEE Transactions on
Industry,37(1),2OOl.
[2] 陶小軍,李曉明,朱祖超.高速液壓彈射實驗裝置中高速液壓缸的設(shè)計[J]。
液壓氣動與密封,2006(6)。
[3] 何清華,紀(jì)云鋒,陳欠根等;贑AN總線技術(shù)的挖掘機(jī)電子控制系統(tǒng)設(shè)計[J]。
機(jī)床與液壓,2O04(5)。
[4] 付永領(lǐng),王巖,裴忠才;贑AN總線液壓噴漆機(jī)器人控制系統(tǒng)設(shè)計與實現(xiàn)[J]。
機(jī)床與液壓,2003(6).
[5] 金鳳蓮,蘭振平,牛悅苓.基于CAN總線的電除塵器遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計[J]。
儀表技術(shù)與傳感器2007(5). |
|