蔣建東 孫遠(yuǎn)方 金 驍 周 倩 毛智琳
(1.浙江工業(yè)大學(xué)特種裝備制造與先進(jìn)加工技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室, 杭州 310014;2.星光農(nóng)機(jī)股份有限公司, 湖州 313017)
谷物聯(lián)合收獲機(jī)是一種復(fù)式農(nóng)業(yè)作業(yè)機(jī)械,可以實(shí)現(xiàn)收獲、脫粒、清選、儲(chǔ)糧、卸糧等多種作業(yè)功能[1]。隨著電子控制單元的不斷引入,為了提高信號(hào)利用率,要求大量數(shù)據(jù)在不同的電子單元中共享,傳統(tǒng)的電氣系統(tǒng)大多采用點(diǎn)對(duì)點(diǎn)的單一通信方式,造成布線系統(tǒng)龐大[1-2],而CAN總線是一種可靠的實(shí)時(shí)控制網(wǎng)絡(luò),近年來廣泛應(yīng)用在農(nóng)業(yè)機(jī)械上。
目前,國(guó)內(nèi)農(nóng)機(jī)CAN總線系統(tǒng)的研究主要針對(duì)某一特定功能進(jìn)行開發(fā)[3-4],尚處于起步階段。魏新華等[5]將CAN總線技術(shù)用于收獲機(jī)的故障檢測(cè),實(shí)現(xiàn)各個(gè)模塊的協(xié)調(diào)工作和信息共享。張美娜等[6]采用CAN總線設(shè)計(jì)了聯(lián)合收獲機(jī)導(dǎo)航數(shù)據(jù)采集系統(tǒng),可以獲得收獲機(jī)實(shí)時(shí)的位置、姿態(tài)等導(dǎo)航信息。上述研究大都針對(duì)傳統(tǒng)收獲機(jī),將CAN總線作為實(shí)現(xiàn)某個(gè)功能的工具,并未從本質(zhì)上優(yōu)化整個(gè)收獲機(jī)的控制系統(tǒng)。國(guó)外對(duì)大型作業(yè)農(nóng)機(jī)已有成熟的CAN總線系統(tǒng)[7-8]。HOFSTEE等[9]提出了一種用于農(nóng)業(yè)噴灑作業(yè)裝備的CAN總線系統(tǒng)解決方案。ISO 11783系列標(biāo)準(zhǔn)為拖拉機(jī)和農(nóng)業(yè)作業(yè)設(shè)備提供了全面的網(wǎng)絡(luò)協(xié)議,包括牽引拖拉機(jī)和掛載作業(yè)機(jī)具[10]。然而,對(duì)聯(lián)合收獲機(jī)的研究稍稍落后,尚未形成行業(yè)標(biāo)準(zhǔn),也沒有系統(tǒng)的解決方案。另外,目前農(nóng)業(yè)機(jī)械物聯(lián)網(wǎng)控和附屬設(shè)施的發(fā)展也相對(duì)滯后。因此,設(shè)計(jì)聯(lián)合收獲機(jī)CAN總線系統(tǒng)時(shí)需考慮未來農(nóng)機(jī)的發(fā)展趨勢(shì),附屬設(shè)施、信息設(shè)備等也要作為系統(tǒng)的一部分。
本文以谷物聯(lián)合收獲機(jī)為研究對(duì)象,在現(xiàn)有子系統(tǒng)的基礎(chǔ)上,考慮到未來信息化的發(fā)展需求,設(shè)計(jì)聯(lián)合收獲機(jī)網(wǎng)絡(luò)結(jié)構(gòu)和通信協(xié)議,并通過試驗(yàn)驗(yàn)證系統(tǒng)的可靠性。
為了滿足聯(lián)合收獲機(jī)的自動(dòng)導(dǎo)航需求,底層動(dòng)力傳動(dòng)對(duì)通信的實(shí)時(shí)性要求較高。聯(lián)合收獲機(jī)作業(yè)系統(tǒng)復(fù)雜,需要大量的傳感器和執(zhí)行器來滿足作業(yè)精細(xì)化需求。考慮到未來農(nóng)機(jī)信息化和舒適化的發(fā)展方向,還需考慮聯(lián)合收獲機(jī)附屬設(shè)備和遠(yuǎn)程交互通信需求。
為了滿足上述聯(lián)合收獲機(jī)通信需求,設(shè)計(jì)了由4條CAN總線構(gòu)成的控制網(wǎng)絡(luò),如圖1所示。聯(lián)合收獲機(jī)測(cè)控系統(tǒng)由動(dòng)力CAN總線、設(shè)備管理CAN總線和2條專用設(shè)備CAN總線構(gòu)成,每一條CAN總線上掛接數(shù)個(gè)控制器節(jié)點(diǎn)負(fù)責(zé)收獲機(jī)特定子系統(tǒng)的測(cè)控功能。其中,動(dòng)力CAN總線負(fù)責(zé)收獲機(jī)的底盤、驅(qū)動(dòng)等底層設(shè)備通信。設(shè)備管理CAN總線有收獲機(jī)控制中心、附屬設(shè)備和遠(yuǎn)程交互模塊等節(jié)點(diǎn)。在聯(lián)合收獲機(jī)上,專用設(shè)備CAN總線被劃分為2條,分別完成切割輸送部分和脫粒卸糧部分的數(shù)據(jù)采集和控制。不同總線之間通過網(wǎng)關(guān)連接[11-12],網(wǎng)關(guān)有選擇地將一條總線上的數(shù)據(jù)傳輸?shù)搅硪粭l總線。網(wǎng)絡(luò)系統(tǒng)如圖2所示。
圖1 CAN總線網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 Network structure diagram of CAN bus
圖2 聯(lián)合收獲機(jī)CAN總線網(wǎng)絡(luò)系統(tǒng)Fig.2 CAN bus network system of combine harvester
由于聯(lián)合收獲機(jī)工作環(huán)境復(fù)雜多樣,各個(gè)子系統(tǒng)之間需要相互協(xié)調(diào)工作,才能滿足農(nóng)業(yè)精細(xì)化生產(chǎn)的要求。為了使聯(lián)合收獲機(jī)控制系統(tǒng)滿足以上要求,CAN總線的協(xié)議設(shè)計(jì)應(yīng)達(dá)到以下指標(biāo)[13]:①遵循ISO 11783國(guó)際標(biāo)準(zhǔn)中規(guī)定的CAN總線數(shù)據(jù)鏈路層規(guī)范,參考該標(biāo)準(zhǔn)針對(duì)拖拉機(jī)應(yīng)用層協(xié)議的建議,設(shè)計(jì)符合聯(lián)合收獲機(jī)的應(yīng)用層協(xié)議。②應(yīng)用層協(xié)議應(yīng)覆蓋收獲機(jī)的各個(gè)子系統(tǒng)所有部件,為各個(gè)子系統(tǒng)的所有部件的信息分配數(shù)據(jù)幀標(biāo)識(shí)符。通信協(xié)議的標(biāo)識(shí)符資源應(yīng)至少預(yù)留50%用于擴(kuò)展定義。③設(shè)計(jì)要求總線處于高負(fù)載時(shí)(數(shù)據(jù)發(fā)送周期為20 ms),總線負(fù)載率應(yīng)小于50%,且滿足通信實(shí)時(shí)性要求。
ISO 11783以CAN 2.0B為基礎(chǔ),通過CAN總線進(jìn)行數(shù)據(jù)通信。它的數(shù)據(jù)鏈路層定義了信息幀的數(shù)據(jù)結(jié)構(gòu)、編碼規(guī)則,包括通信優(yōu)先權(quán)、傳輸方式、通信要求、總線仲裁、錯(cuò)誤檢測(cè)及處理。它重新分組定義了CAN總線擴(kuò)展幀的29位標(biāo)識(shí)符[14],報(bào)文的標(biāo)識(shí)符可以描述報(bào)文的全部特征,如圖3所示。
圖3 數(shù)據(jù)幀報(bào)文格式Fig.3 Message format of data frame
在29位標(biāo)識(shí)符中,優(yōu)先級(jí)位、保留位、數(shù)據(jù)頁(yè)位、協(xié)議數(shù)據(jù)單元(Protocol data unit, PDU)格式位和特定PDU構(gòu)成報(bào)文的參數(shù)組編號(hào)(Parameter group numbers, PGN)。PGN除確定或標(biāo)識(shí)命令、數(shù)據(jù)、某些請(qǐng)求、確認(rèn)和否定之外,還可以確定或標(biāo)識(shí)要求多個(gè)CAN數(shù)據(jù)幀通信的信息,若消息長(zhǎng)度大于8字節(jié),必須將消息分組封裝發(fā)送。PS(PDU specific)的定義取決于PF(PDU format),若PF段的值小于240,PS是目標(biāo)地址;若PF段的值在240~255之間,PS是參數(shù)組擴(kuò)展值。在ISO 11783標(biāo)準(zhǔn)中可用參數(shù)組的總數(shù)目為:[240+(16×256)]×2=8 672。
總之,參數(shù)組編號(hào)PGN是CAN總線系統(tǒng)中報(bào)文的唯一標(biāo)識(shí)。設(shè)計(jì)CAN總線通信協(xié)議的一個(gè)主要內(nèi)容是為不同的報(bào)文分配其特有的參數(shù)組編號(hào)。
根據(jù)聯(lián)合收獲機(jī)的數(shù)據(jù)需求,將聯(lián)合收獲機(jī)上的CAN總線數(shù)據(jù)分為10個(gè)部分:GPS位置信息、行駛控制系統(tǒng)、網(wǎng)絡(luò)信息系統(tǒng)、柴油機(jī)引擎、切割輸送、脫粒卸糧、環(huán)境和燈光、液壓系統(tǒng)、電氣系統(tǒng)和傳動(dòng)系統(tǒng)。各個(gè)數(shù)據(jù)區(qū)的參數(shù)組編號(hào)(PGN)以及可定義的報(bào)文數(shù)如表1所示[15]。ISO 11783標(biāo)準(zhǔn)中規(guī)定有8 672個(gè)參數(shù)組可用,在保證每個(gè)數(shù)據(jù)塊有充足空間的前提下,仍具有80%的擴(kuò)展定義空間。
ISO 11783標(biāo)準(zhǔn)中規(guī)定了對(duì)每個(gè)參數(shù)都應(yīng)該確定它的數(shù)據(jù)類型。數(shù)據(jù)類型可以是命令數(shù)據(jù)或測(cè)量數(shù)據(jù)。命令數(shù)據(jù)是指發(fā)送命令的傳輸節(jié)點(diǎn)將某個(gè)參數(shù)設(shè)為某一個(gè)指定的狀態(tài)。命令數(shù)據(jù)有發(fā)動(dòng)機(jī)剎車啟動(dòng)、割臺(tái)控制、速度控制等。測(cè)量值類型數(shù)據(jù)表示了傳輸節(jié)點(diǎn)對(duì)某個(gè)參數(shù)測(cè)量后得到的當(dāng)前值,這樣可以確定已定義參數(shù)的狀態(tài)。屬于測(cè)量值類型的數(shù)據(jù)有位置信息、發(fā)動(dòng)機(jī)轉(zhuǎn)速以及當(dāng)前行駛速度等。
表1 CAN系統(tǒng)參數(shù)組編號(hào)定義Tab.1 PGN definition of CAN system
參考標(biāo)準(zhǔn)制定一個(gè)表示聯(lián)合收獲機(jī)行駛狀態(tài)的報(bào)文[10],該報(bào)文的8個(gè)字節(jié)的數(shù)據(jù)用于描述聯(lián)合收獲機(jī)的運(yùn)行狀態(tài)。其中,字節(jié)1、2表示行駛速度,一個(gè)比特代表1 m/s,解析上限64 255 m/s。字節(jié)3~6表示行駛距離,一個(gè)比特代表1 m,可以表示0~4 211 081 215 m。字節(jié)8的前兩個(gè)比特表示行駛方向,01表示前進(jìn),00表示后退,其余的值認(rèn)為錯(cuò)誤或無效。剩余未定義的位即為保留,見表2。
表2 數(shù)據(jù)幀示例Tab.2 Examples of data frames
CAN總線系統(tǒng)中,命令數(shù)據(jù)根據(jù)聯(lián)合收獲機(jī)實(shí)時(shí)的作業(yè)需求,不定期發(fā)送。測(cè)量數(shù)據(jù)是各個(gè)ECU周期性采集的收獲機(jī)的運(yùn)行狀態(tài)和作業(yè)狀態(tài)參數(shù)。參考ISO 11783標(biāo)準(zhǔn)和文獻(xiàn)[9]中對(duì)數(shù)據(jù)采集周期的定義,本文定義了2種數(shù)據(jù)采集周期,50 ms(典型工作狀態(tài))和20 ms(高負(fù)載工作狀態(tài))。
建立了CAN總線試驗(yàn)平臺(tái),包括動(dòng)力CAN總線、設(shè)備管理CAN總線和專用設(shè)備CAN總線,如圖4所示。由于2條專用設(shè)備CAN總線在網(wǎng)絡(luò)結(jié)構(gòu)和應(yīng)用邏輯上有相似性,因此,試驗(yàn)系統(tǒng)只有1條專用設(shè)備CAN總線。該試驗(yàn)平臺(tái)共有20個(gè)節(jié)點(diǎn),其中動(dòng)力CAN總線上有8個(gè)節(jié)點(diǎn),專用設(shè)備CAN總線上有4個(gè)節(jié)點(diǎn),設(shè)備管理CAN總線上有8個(gè)節(jié)點(diǎn),2個(gè)網(wǎng)關(guān)將3條CAN總線連接起來。模擬網(wǎng)關(guān)1連接動(dòng)力CAN總線和設(shè)備管理CAN總線,模擬網(wǎng)關(guān)2連接專用設(shè)備CAN總線和設(shè)備管理CAN總線。
圖4 CAN總線系統(tǒng)試驗(yàn)平臺(tái)Fig.4 Test platform of CAN bus system1.專用設(shè)備CAN總線 2.網(wǎng)關(guān)2 3.CAN總線分析儀 4.動(dòng)力CAN總線 5.網(wǎng)關(guān)1 6.設(shè)備管理CAN總線
試驗(yàn)平臺(tái)模擬設(shè)備節(jié)點(diǎn)在500 kb/s的波特率下周期性地收發(fā)數(shù)據(jù)。CAN總線分析儀將總線上的數(shù)據(jù)轉(zhuǎn)發(fā)到上位機(jī)。上位機(jī)可以實(shí)時(shí)獲取CAN報(bào)文以及CAN總線負(fù)載。通過示波器采集不同節(jié)點(diǎn)發(fā)送和接收的時(shí)差,來觀察通信的實(shí)時(shí)性。
根據(jù)制定的協(xié)議和收獲機(jī)參數(shù)組設(shè)定,為了模擬聯(lián)合收獲機(jī)設(shè)備節(jié)點(diǎn),對(duì)試驗(yàn)平臺(tái)的節(jié)點(diǎn)編程進(jìn)行收發(fā)試驗(yàn)。在不同的周期下進(jìn)行監(jiān)測(cè)實(shí)時(shí)負(fù)載和通信延時(shí)。以20 ms和50 ms模擬聯(lián)合收獲機(jī)最大負(fù)載和典型情況。
3.2.1實(shí)時(shí)負(fù)載分析
50 ms周期下的各總線負(fù)載如圖5a所示。其中專用設(shè)備CAN總線和動(dòng)力CAN總線在100 s內(nèi)的平均負(fù)載率分別為2.41%和3.94%。設(shè)備管理CAN總線平均負(fù)載率是11.13%。
20 ms周期下的各CAN總線負(fù)載如圖5b所示。其中專用設(shè)備CAN總線和動(dòng)力CAN總線在100 s內(nèi)的平均負(fù)載率分別為6.15%和12.49%,設(shè)備管理CAN總線的平均負(fù)載率是26.58%。
圖5 不同周期下CAN總線實(shí)時(shí)負(fù)載Fig.5 Real-time load under different cycles of CAN bus
試驗(yàn)結(jié)果表明,不論在50 ms周期還是20 ms的高負(fù)載工作周期,3條CAN總線的負(fù)載率均低于30%,完全滿足聯(lián)合收獲機(jī)控制系統(tǒng)50%負(fù)載率的設(shè)計(jì)需求。
3.2.2通信實(shí)時(shí)性
運(yùn)行CAN總線系統(tǒng),使3條總線的負(fù)載穩(wěn)定在圖5b所示的負(fù)載。分別選取3條CAN總線上的任意節(jié)點(diǎn)作為發(fā)送節(jié)點(diǎn),再分別選取3條CAN總線上的節(jié)點(diǎn)作為接收節(jié)點(diǎn),發(fā)送節(jié)點(diǎn)發(fā)送方波。重復(fù)多次試驗(yàn),示波器讀出發(fā)送端和接收端的方波延時(shí),結(jié)果如表3所示。為了驗(yàn)證總線負(fù)載對(duì)傳輸延時(shí)的影響,增大CAN總線通信試驗(yàn)的數(shù)據(jù)量,將總線負(fù)載率逼近100%,單條CAN總線在不同負(fù)載下的通信延時(shí)如圖6所示。
表3 CAN總線數(shù)據(jù)傳輸時(shí)間Tab.3 Data transmission time of CAN bus μs
圖6 傳輸延時(shí)與負(fù)載關(guān)系Fig.6 Relationship between transmission delay and CAN bus load
從表3可以看出,3條CAN總線各自在總線內(nèi)部通信的平均延時(shí)在300 μs左右。設(shè)備管理CAN總線與其他CAN總線通信需要經(jīng)過一個(gè)網(wǎng)關(guān),所以設(shè)備管理CAN總線與其他兩條CAN總線的通信延時(shí)明顯高于在總線內(nèi)部通信。延時(shí)為兩條總線內(nèi)部延時(shí)之和,約為600 μs。專用設(shè)備CAN總線與動(dòng)力CAN總線之間通信需通過2個(gè)網(wǎng)關(guān),所以延時(shí)最高,平均延時(shí)為910 μs左右,最大延時(shí)也在1 ms以內(nèi)。對(duì)于單條CAN總線來說,如圖6所示,50%以下負(fù)載率的變化對(duì)傳輸延時(shí)沒有明顯的影響;50%~70%之間負(fù)載率的增大會(huì)帶來相對(duì)明顯的傳輸延時(shí);70%以上負(fù)載率的增大會(huì)導(dǎo)致傳輸延時(shí)顯著增大。
試驗(yàn)結(jié)果表明,50%以下的負(fù)載率對(duì)通信實(shí)時(shí)性影響不大,本系統(tǒng)通信延時(shí)主要在于通信所涉及的不同CAN總線的數(shù)量,報(bào)文經(jīng)過越多的總線或網(wǎng)關(guān),延時(shí)相應(yīng)越高,最大總延時(shí)在1 ms以內(nèi)。由于CAN總線在底層出錯(cuò)重發(fā)的錯(cuò)誤處理機(jī)制和幀間隙的存在,CAN總線很難達(dá)到滿負(fù)荷[16-17]。雖然會(huì)增大CAN總線的負(fù)載,但在一定程度上預(yù)防了丟幀問題,保證了傳輸?shù)目煽啃浴K詫?duì)于本CAN總線系統(tǒng)而言,只要保證負(fù)載率在50%以下,通信的實(shí)時(shí)性和可靠性都可以得到保證。
以聯(lián)合收獲機(jī)導(dǎo)航控制為應(yīng)用實(shí)例[18-19]。表4給出了實(shí)例的CAN節(jié)點(diǎn)在4條CAN總線上的分布情況。表中的CAN1、CAN2、CAN3和CAN4分別對(duì)應(yīng)系統(tǒng)的動(dòng)力CAN總線、設(shè)備管理CAN總線、專用設(shè)備CAN總線1和專用設(shè)備CAN總線2。在自動(dòng)導(dǎo)航的一個(gè)計(jì)算周期里,CAN3和CAN4上的GPS和陀螺儀模塊首先采集到收獲機(jī)的位置和姿態(tài)信息,然后將數(shù)據(jù)發(fā)給CAN2上的車載控制中心??刂浦行母鶕?jù)位置信息和預(yù)設(shè)好的路徑,通過導(dǎo)航算法計(jì)算出收獲機(jī)的期望速度和轉(zhuǎn)角,將控制指令分別發(fā)送給CAN1上的2個(gè)電機(jī)驅(qū)動(dòng)器,配合編碼器實(shí)現(xiàn)對(duì)速度的閉環(huán)控制。指示燈的閃爍狀態(tài)反映導(dǎo)航偏差大小和方向。在一個(gè)導(dǎo)航周期中,所有4條CAN總線均有數(shù)據(jù)傳輸,既有單條CAN總線內(nèi)部的數(shù)據(jù)傳輸,也有通過網(wǎng)關(guān)在不同CAN總線之間的數(shù)據(jù)傳輸。在車輛行駛過程中不斷重復(fù)上述過程實(shí)現(xiàn)導(dǎo)航。
表4 導(dǎo)航試驗(yàn)CAN節(jié)點(diǎn)構(gòu)成及分布Tab.4 Structure and distribution of CAN nodes in navigation test
在保持原有導(dǎo)航算法的基礎(chǔ)上[20],在本文所述的CAN總線架構(gòu)上進(jìn)行驗(yàn)證測(cè)試,試驗(yàn)系統(tǒng)如圖7所示。小型履帶式聯(lián)合收獲機(jī)以0.3 m/s的速度跟隨一條預(yù)設(shè)的直線,每0.5 s采集一個(gè)坐標(biāo)點(diǎn)并記錄。取20 s內(nèi)的40個(gè)坐標(biāo)點(diǎn)對(duì)比預(yù)設(shè)直線,計(jì)算出橫向偏差。試驗(yàn)結(jié)果如圖8所示,20 s內(nèi)橫向偏差的平均值為2.55 cm,最大值為5.90 cm。使用傳統(tǒng)的單機(jī)控制時(shí)[21],橫向偏差平均值為2.45 cm,最大偏差為5.86 cm,控制效果與本系統(tǒng)保持一致。試驗(yàn)結(jié)果表明,本CAN總線架構(gòu)優(yōu)化了傳統(tǒng)的聯(lián)合收獲機(jī)控制方式,系統(tǒng)性能滿足聯(lián)合收獲機(jī)導(dǎo)航控制的需求。
圖7 小型履帶式聯(lián)合收獲機(jī)導(dǎo)航試驗(yàn)Fig.7 Navigation experiment of combine harvester
圖8 橫向偏差曲線Fig.8 Lateral deviation curves
設(shè)計(jì)了聯(lián)合收獲機(jī)CAN總線應(yīng)用解決方案。建立了模塊化、可擴(kuò)展的網(wǎng)絡(luò)結(jié)構(gòu),以ISO 11783標(biāo)準(zhǔn)為基礎(chǔ),制定了聯(lián)合收獲機(jī)CAN總線通信協(xié)議,協(xié)議包括聯(lián)合收獲機(jī)的各個(gè)子系統(tǒng),并且在網(wǎng)絡(luò)結(jié)構(gòu)和通信協(xié)議上都具有大量可擴(kuò)展空間。試驗(yàn)結(jié)果表明,系統(tǒng)各條CAN總線負(fù)載率均小于30%,數(shù)據(jù)通過網(wǎng)關(guān)在不同CAN總線間的傳輸總延時(shí)小于1 ms。在小型履帶式聯(lián)合收獲機(jī)底盤自動(dòng)導(dǎo)航中,對(duì)比了傳統(tǒng)單機(jī)控制方式,導(dǎo)航偏差基本保持一致,滿足聯(lián)合收獲機(jī)導(dǎo)航控制需求。