閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

基于CAN總線的分布式位置伺服系統(tǒng)設(shè)計(jì)

星之球激光 來(lái)源:電子技術(shù)應(yīng)用2011-12-10 我要評(píng)論(0 )   

伺服系統(tǒng)(servo system)亦稱隨動(dòng)系統(tǒng),其在軍事、工業(yè)和日常生活中都有著廣泛的應(yīng)用。隨著計(jì)算機(jī)技術(shù)和現(xiàn)場(chǎng)總線技術(shù)的發(fā)展和成熟,也促使伺服系統(tǒng)的實(shí)現(xiàn)方式和體系結(jié)...

  伺服系統(tǒng)(servo system)亦稱隨動(dòng)系統(tǒng),其在軍事、工業(yè)和日常生活中都有著廣泛的應(yīng)用。隨著計(jì)算機(jī)技術(shù)和現(xiàn)場(chǎng)總線技術(shù)的發(fā)展和成熟,也促使伺服系統(tǒng)的實(shí)現(xiàn)方式和體系結(jié)構(gòu)在不斷地發(fā)展,將現(xiàn)場(chǎng)總線應(yīng)用于運(yùn)動(dòng)控制,構(gòu)成分布式控制的數(shù)字控制伺服系統(tǒng)日益受到人們的重視。基于現(xiàn)場(chǎng)總線的分布式伺服系統(tǒng)有很多優(yōu)點(diǎn),如連線少、可靠性高、易于系統(tǒng)的維護(hù)和擴(kuò)展等。目前,國(guó)外的Siemens、ORM EC Systems、Rexroth等公司已經(jīng)有各自的分布式伺服系統(tǒng)產(chǎn)品推出;國(guó)內(nèi)有一些單位和學(xué)者也進(jìn)行了該方面的研究,但相關(guān)的論文并不多,更沒(méi)有形成系列產(chǎn)品[1]。

    分布式伺服系統(tǒng)中,電機(jī)控制性能和多電機(jī)間協(xié)調(diào)控制性能的好壞直接影響生產(chǎn)過(guò)程質(zhì)量,如何實(shí)現(xiàn)系統(tǒng)的高效管理、方便應(yīng)用和實(shí)時(shí)控制都是需要解決的關(guān)鍵問(wèn)題。CAN總線是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信局域網(wǎng)絡(luò),以其結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低廉等優(yōu)點(diǎn)非常適合分布式伺服系統(tǒng)中數(shù)據(jù)通信的實(shí)現(xiàn)。通過(guò)CAN總線進(jìn)行數(shù)據(jù)傳輸與控制,使伺服電機(jī)的性能更加穩(wěn)定,能更好、更靈活地應(yīng)用于分布式運(yùn)動(dòng)控制系統(tǒng)中[2]。

1 系統(tǒng)的總體結(jié)構(gòu)和原理

    本文設(shè)計(jì)的分布式伺服系統(tǒng)的總體結(jié)構(gòu)如圖1所示。系統(tǒng)由主控制器PLC、CAN總線和現(xiàn)場(chǎng)伺服單元節(jié)點(diǎn)組成。PLC是整個(gè)系統(tǒng)的主控制器,除了對(duì)各個(gè)伺服電機(jī)發(fā)送實(shí)時(shí)控制命令外,還需要接收各驅(qū)動(dòng)器節(jié)點(diǎn)的工作狀態(tài)信息,并進(jìn)行判斷給操作人員以提示或報(bào)警。系統(tǒng)中所有的伺服電機(jī)系統(tǒng)都有各自的CAN接口,都掛接在CAN總線上構(gòu)成如圖1所示的分布式控制系統(tǒng)。系統(tǒng)中若有節(jié)點(diǎn)同時(shí)向總線發(fā)送CAN信息時(shí),根據(jù)每條信息的標(biāo)識(shí)符(ID)進(jìn)行仲裁,決定占用總線的優(yōu)先級(jí),信息的ID越小優(yōu)先級(jí)越高。這就是CAN總線的非破壞性總線仲裁機(jī)制,由此決定同時(shí)發(fā)送到總線上的不同報(bào)文對(duì)總線的占用權(quán)[3-4]。

2 系統(tǒng)硬件構(gòu)成

2.1 主控制器PLC模塊

    本系統(tǒng)的主控制器PLC選用的是芬蘭EPEC公司生產(chǎn)的EPEC 3G系列控制模塊中的一種,該模塊功能強(qiáng)大,性能優(yōu)越;堅(jiān)固、體積小、耐低溫、抗振動(dòng)、抗強(qiáng)電磁干擾,并具有高壓、過(guò)載、過(guò)熱和輸出短路保護(hù)功能;16位的高性能微處理器和超大容量的內(nèi)存空間使其具有很強(qiáng)的數(shù)字處理能力,可以完成較復(fù)雜的算法;具有豐富的I/O口資源,包括AI、DI、DO和PWM輸出等,還具有CANopen和CAN2.0B 兩個(gè)總線接口,可以與很多標(biāo)準(zhǔn)的CAN總線產(chǎn)品直接連接,而且接線簡(jiǎn)單方便,可靠性高。本系統(tǒng)利用的是該模塊的CAN2.0B總線接口。

2.2 伺服驅(qū)動(dòng)器節(jié)點(diǎn)硬件原理

  本系統(tǒng)目前的工程應(yīng)用是控制油門閥的開度,圖1中的每1個(gè)伺服電機(jī)系統(tǒng)就是一個(gè)集成的直流電動(dòng)推桿,其包括DC 24 V直流電機(jī)、推桿機(jī)構(gòu)和推桿位置傳感器。通過(guò)電機(jī)的正反轉(zhuǎn)帶動(dòng)推桿機(jī)構(gòu)直線運(yùn)動(dòng)從而控制某型號(hào)油門閥的開度大小。

  伺服驅(qū)動(dòng)器的CAN節(jié)點(diǎn)主要由單片機(jī)AT89C52、AD芯片、CAN控制器82527、收發(fā)器PCA82C250和繼電器構(gòu)成,其硬件原理如圖2所示。單片機(jī)從CAN總線上接收PLC發(fā)送的位置給定命令,推桿位置傳感器的反饋電壓信號(hào)經(jīng)AD轉(zhuǎn)換后進(jìn)入單片機(jī),與位置給定量進(jìn)行比較,然后完成推桿位置的閉環(huán)控制算法??刂屏客ㄟ^(guò)單片機(jī)的I/O_1和I/O_2輸出,經(jīng)過(guò)驅(qū)動(dòng)芯片后,I/O_1的信號(hào)控制1個(gè)雙刀雙擲繼電器實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)切換,I/O_1的信號(hào)控制1個(gè)單刀繼電器以控制電機(jī)的啟動(dòng)和停止[5]。

3 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)CAN總線網(wǎng)絡(luò)的通信協(xié)議是按照CAN2.0B標(biāo)準(zhǔn)設(shè)計(jì)的,采用11位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀格式,初始波特率為250 Kb/s(可修改),各節(jié)點(diǎn)的數(shù)據(jù)發(fā)送方式都采用廣播式,接收數(shù)據(jù)時(shí)采用報(bào)文標(biāo)識(shí)符過(guò)濾的方式從總線上接收本地所需要的數(shù)據(jù)。

3.1 PLC控制程序

  系統(tǒng)選用的PLC的軟件開發(fā)環(huán)境是CoDeSys,它是德國(guó)3S公司開發(fā)的一種可視化PLC編程環(huán)境,支持IEC11311-3標(biāo)準(zhǔn)的指令表、梯形圖、功能模塊圖、順序流程圖、結(jié)構(gòu)化文本、連續(xù)功能圖等6種編程語(yǔ)言,用戶可在同1個(gè)項(xiàng)目中選擇不同的語(yǔ)言編寫程序。CoDeSys以工程文件的形式組織程序的各個(gè)對(duì)象。1個(gè)工程文件包含PLC程序里的所有對(duì)象:POUs(Program Organization Units)、數(shù)據(jù)類型和資源。1個(gè)POUs包括主程序(PLC_PRG)、子程序(PRG)、功能塊(FB)、函數(shù)(FUN)及語(yǔ)句,其中主程序必須命名為PLC_PRG。子程序可以調(diào)用函數(shù)和功能塊,但函數(shù)和功能塊不能調(diào)用子程序,且當(dāng)程序在線運(yùn)行時(shí),子程序中的中間變量值是可視的。另外,CoDeSys還具有豐富的庫(kù)文件資源,編程過(guò)程中可以靈活調(diào)用,大大節(jié)省了軟件開發(fā)時(shí)間。

    根據(jù)CoDeSys程序編寫的特點(diǎn),系統(tǒng)的PLC程序是用結(jié)構(gòu)化文本語(yǔ)言編寫的。程序的主要功能是把由AI口輸入的油門控制腳踏板的模擬電壓進(jìn)行一定調(diào)理后通過(guò)CAN總線發(fā)送給各個(gè)被控節(jié)點(diǎn),并從CAN總線上接收各節(jié)點(diǎn)的狀態(tài)信息,進(jìn)行判斷后對(duì)操作人員給出提示或報(bào)警信號(hào)。PLC的CAN總線通信初始化的主要設(shè)置有:波特率等相關(guān)參數(shù)、報(bào)文濾波參數(shù)、創(chuàng)建接收?qǐng)?bào)文的數(shù)據(jù)緩存區(qū)等,這些設(shè)置都可以直接調(diào)用CAN2.0的庫(kù)函數(shù)實(shí)現(xiàn),十分方便。PLC在發(fā)送數(shù)據(jù)時(shí),調(diào)用庫(kù)函數(shù)CAN_IITX(),設(shè)置ID、DLC等參數(shù),把數(shù)據(jù)打包給每幀數(shù)據(jù)段的相應(yīng)字節(jié)即可;接收數(shù)據(jù)時(shí),需要先調(diào)用庫(kù)函數(shù)CAN_II_GET_MSG()創(chuàng)建接收數(shù)據(jù)緩存區(qū),設(shè)置OBJ、ID等參數(shù)(OBJ是緩存初始化序號(hào), ID是接收數(shù)據(jù)的標(biāo)識(shí)符),實(shí)現(xiàn)報(bào)文過(guò)濾。然后調(diào)用庫(kù)函數(shù)GET_MSG(),其參數(shù)MESSAGE必須與緩存區(qū)初始化序號(hào)OBJ相等,才能讀入相應(yīng)緩存區(qū)的數(shù)據(jù)。函數(shù)GET_MSG()讀數(shù)據(jù)是分字節(jié)讀取的,可以很容易實(shí)現(xiàn)數(shù)據(jù)的字節(jié)操作和位操作,可為數(shù)據(jù)的計(jì)算和處理提供方便。順序循環(huán)執(zhí)行PLC程序,本系統(tǒng)設(shè)計(jì)的循環(huán)周期為10 ms,可以滿足控制系統(tǒng)實(shí)時(shí)性的要求。

3.2 單片機(jī)程序

    單片機(jī)的主程序流程如圖3所示,包括單片機(jī)與82527的初始化程序和各子程序。對(duì)反復(fù)執(zhí)行的程序段利用主程序調(diào)用子程序的方式實(shí)現(xiàn)。子程序主要有閉環(huán)控制子程序、故障處理子程序和參數(shù)修改子程序[6]。

    系統(tǒng)的閉環(huán)控制采用的是Bang-Bang算法。該算法是一種時(shí)間最優(yōu)控制,且算法簡(jiǎn)單,便于單片機(jī)實(shí)現(xiàn),又能滿足系統(tǒng)控制精度的要求。設(shè)精度允許的推桿位置誤差帶為[-Δ1,Δ2],當(dāng)前偏差為e(t),-Δ1≤e(t)≤Δ2時(shí),可認(rèn)為推桿當(dāng)前位置即為給定要求的位置。若把控制量u(t)歸一化處理,則此算法可以表示為:
  
   由于伺服電機(jī)正轉(zhuǎn)和反轉(zhuǎn)時(shí)推桿運(yùn)動(dòng)的慣性不同,所以正、反向最大誤差允許值Δ2和Δ1一般是不相等的。圖4是Bang-Bang算法子程序流圖。

    故障處理程序處理的故障包括CAN通信中斷故障、位置反饋斷線故障、電機(jī)堵轉(zhuǎn)故障等,通過(guò)對(duì)這些故障的自動(dòng)處理或給出提示信息提高了系統(tǒng)的可靠性??刂破髟诓煌瑘?chǎng)合使用時(shí),對(duì)一些參數(shù)的要求也不相同,如控制器CAN報(bào)文的ID、通信波特率、控制死區(qū)、位置標(biāo)定等參數(shù)的值都可以通過(guò)CAN總線報(bào)文進(jìn)行人工修改。本設(shè)計(jì)選用的X5045芯片帶有512字節(jié)的E2PROM,可由單片機(jī)對(duì)其存儲(chǔ)空間進(jìn)行串行讀寫,因此,X5045芯片除了實(shí)現(xiàn)單片機(jī)的上電復(fù)位和看門狗功能外,還可把需要進(jìn)行修改的參數(shù)存放在其E2PROM空間中。對(duì)故障處理和參數(shù)修改子程序的具體編寫這里不再詳述。#p#分頁(yè)標(biāo)題#e#

4 實(shí)驗(yàn)結(jié)果及分析

    本系統(tǒng)實(shí)現(xiàn)1個(gè)腳踏板同時(shí)對(duì)2個(gè)油門閥的控制,腳踏板電位器輸出的電壓信號(hào)經(jīng)主控制器PLC的模擬量輸入口進(jìn)行A/D轉(zhuǎn)換,再通過(guò)CAN總線接口發(fā)給2個(gè)伺服驅(qū)動(dòng)節(jié)點(diǎn),控制油門閥的開度快速精確跟蹤腳踏板的運(yùn)動(dòng)變化。在實(shí)際應(yīng)用過(guò)程中,PLC還用于整車的其他控制功能。由于通信線使用的是普通雙絞線的特征阻抗120 Ω,所以需要在CAN總線兩端的CANH和CANL之間各加1個(gè)120 Ω的終端電阻,使總線阻抗匹配,以較好地抑制干擾。

   經(jīng)過(guò)實(shí)驗(yàn),系統(tǒng)能夠達(dá)到以下要求:

   (1)在波特率250 Kb/s、總線長(zhǎng)度100 m的情況下,各節(jié)點(diǎn)之間通信正常,2個(gè)伺服驅(qū)動(dòng)節(jié)點(diǎn)能正常工作。

   (2)推桿的有效運(yùn)動(dòng)長(zhǎng)度約為50 mm,5 s內(nèi)可實(shí)現(xiàn)全程運(yùn)動(dòng),可滿足油門閥調(diào)節(jié)快速性的要求。

   (3)圖5是調(diào)試過(guò)程中通過(guò)CodeSys開發(fā)環(huán)境的變量觀察窗口繪出的2個(gè)推桿運(yùn)動(dòng)的階躍響應(yīng)曲線,其中圖5(a)是控制推桿伸出的情況,圖5(b)是縮回的情況。圖中,x表示位置給定量的階躍變化,y1、y2分別表示2個(gè)推桿位置對(duì)階躍給定的動(dòng)態(tài)響應(yīng)曲線。由圖可以看出,2個(gè)推桿的位置均能及時(shí)跟隨給定量的變化,并能達(dá)到控制精度的要求。

   本文設(shè)計(jì)的分布式直流電動(dòng)伺服系統(tǒng)已經(jīng)應(yīng)用在某大型工程運(yùn)輸車的油門閥控制中,其工作穩(wěn)定可靠,與氣動(dòng)油門相比,大大提高了油門控制的響應(yīng)速度和系統(tǒng)的可靠性。該系統(tǒng)的伺服驅(qū)動(dòng)節(jié)點(diǎn)結(jié)構(gòu)簡(jiǎn)單、成本低廉,CAN總線網(wǎng)絡(luò)的應(yīng)用使整個(gè)系統(tǒng)具有很強(qiáng)的通用性和可擴(kuò)展性,根據(jù)應(yīng)用需要可以方便地增減驅(qū)動(dòng)節(jié)點(diǎn)的數(shù)量,實(shí)現(xiàn)更多軸和多點(diǎn)的伺服控制系統(tǒng),并進(jìn)一步實(shí)現(xiàn)多電機(jī)的協(xié)同控制。

 

轉(zhuǎn)載請(qǐng)注明出處。

暫無(wú)關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來(lái)源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來(lái)源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。
③ 任何單位或個(gè)人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請(qǐng)及時(shí)向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會(huì)依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點(diǎn)評(píng)
0相關(guān)評(píng)論
精彩導(dǎo)讀