熊思華,李彥明,焦中元,劉成良
(1.上海交通大學 機械與動力工程學院,上海 200240;2.雷沃重工股份有限公司,山東 濰坊 261206)
在農機智能化要求越來越高、精準農業需求越來越迫切的背景下,農業現代化、農機智能化、信息化技術的應用成為趨勢[1]。監控系統是精準農業的信息集成中心,具有數據存儲、參數信息顯示、故障報警與診斷等功能。在精準農業的發展中,監控系統的改進不可或缺。
美國JOHN DEERE公司、德國CLAAS公司、美國Case IH公司等國外的一些收割機的監測技術較為成熟,已經實現了一些工作參數的監測和產量的記錄與分析及定位系統等的應用,如發動機轉速、作業面積及損失率等[2-4]。目前,國外技術積累較為成熟,占據全球市場的絕大部分,國內起步較晚,與國外差距較大。我國收割機械作業時主要靠人為判斷機器性能的優劣,狀態監測的手段處于大力研發階段。近年來,國內研究主要體現在監測過程中對行走速度、喂入量、損失率、割臺高度及GPS等基于ARM和CAN總線的軟硬件研究實現[5-9],尚處于研發階段,并未實現量產。因此,國內進行相關研究很有必要。參考SAE J1939通信協議及ISO11783農機總線通信協議作為收割機械總線標準基礎[10-11],總線化監測系統是本文的研究重點。
收割機械總線化監測系統包括對各傳感器、ECU節點與監測診斷系統之間進行總線標準化的柔性組態,包括用戶登錄、參數分類顯示、多線程CAN總線數據傳輸、數據存儲及用戶幫助等功能。收割機械監測系統大致結構如圖1所示(圖中箭頭表示數據傳輸方向)。收割機械各個傳感器和ECU部分包括需要監測收割機械相關部件的所有值,如發動機冷卻水溫、機油壓力、轉速等;收割機ECU部分包括工作時間、總里程、行駛速度、燃油位、轉向、遠近光燈、主離合卸糧筒等狀態、擋位狀態、風機增減速按鈕及卸糧筒展開收回等按鈕等;傳感器監測部分包括復脫器轉速、清選風扇轉速、風機轉速、上下尾篩開度、含水率、平方米產量、糧食干濕重、清選損失率及割臺損失率等。參考SAE J1939協議,采用ISO11783標準的CAN通信協議作為通信標準,設計各傳感器節點、收割機ECU和收割機械智能監測系統之間的通信機制,同時在終端中能實時顯示各個電磁閥相關狀態、相關參數的變化情況及故障報警等。
由于聯合收割機具有大量豐富的參數監測需求,基于此需要設計的傳感器種類、形式繁多,因而對這些豐富的作業及工作狀態參數進行分類整理顯得非常必要。這些參數分為4大類:發動機系統參數、行進傳動系統參數、作業狀態參數和參數設置。發動機系統參數主要是與發動機相關的參數,如發動機水溫、發動機機油壓力及發動機轉速等。行進傳動系統參數主要是收割機械行進過程中有關車輛傳動相關的參數,如行走速度、行駛里程、行走時間、馬達轉速、轉向燈及檔位等。作業狀態參數包括狀態顯示和參數檢測值兩部分,狀態顯示是收割機械作業過程中駕駛員對駕駛室相關操作引起某些狀態的改變而進行的顯示,如風機增速按鈕、撥禾輪提升按鈕、主離合嚙合按鈕及卸糧筒展開按鈕、割臺上升按鈕、割臺提升電磁閥、撥禾輪提升電磁閥、軸流滾筒速度提升電磁閥、卸糧筒展開電磁閥等;參數檢測值顯示是收割機械作業時對作物相關值進行實時監測后的顯示,如含水率、谷物流量檢測質量、平方米產量、糧食濕重、糧食干重、升運器轉速、清選損失率、清選含雜率及破碎率等。參數設置部分是由駕駛員設置的相關參數,需要由顯示系統將數據發送到總線上,然后相應的部分進行更新這個設置后的值,如米計清零、割臺高度一鍵復位、卸糧筒控制、千粒質量設置值、仿形高度設置值、割臺返回高度上限設置值、當前作物種類及切碎器工作模式等。
使用CAN總線化的好處:一是對數據傳輸進行標準化,使得這些數據的讀寫更具有可靠性、可擴展性和靈活性,同時可根據不同的優先級滿足不同的實時性需求;二是對參數進行分類,可以減少節點數和ID數,提高效率,并且便于系統測試管理。一個總線數據幀包括8個數據字節,這些字節可能不僅僅只包括1個需要監測的數據,很可能包含多個數據,而這樣的一組數據的分組標準已在ISO11783/J1939中部分已有定義。相比較于其他傳輸協議1個數據幀只能傳輸1個監測的數據而言,這樣傳輸數據效率要高得多;但是通過CAN總線傳輸數據時,每個監測數據的傳感器不能直接連接總線,需要將至少1個或多個參數組里的這8個字節的數據通過1個轉換節點打包到一起,然后將這個節點再連接到總線上,因為CAN總線不允許不同的物理單元共同擁有相同的ID。

圖1 具體實現方案Fig.1 The specific realization
收獲機械總線化智能監測系統基于Cortex-A8處理器,運行Linux3.2.0操作系統,使用跨平臺界面庫QT開發框架開發的顯示系統應用程序。Linux是基于Unix的多用戶、多任務、多線程和多CPU的開源操作系統,約占35%的國內市場份額[12]。基于Linux環境下開發的QT程序很容易實現跨平臺運行,如在Windows下、Ubuntu虛擬機下及開發板下運行都比較方便。QT在嵌入式平臺中使用范圍廣,且開發的圖形界面程序簡潔優美,功能齊全,QT庫以及自定義庫等功能的使用都很方便,易于上手。
系統是包含用戶登錄退出、CAN通訊方案、報警信息的顯示、參數圖標顯示及檢測參數數值顯示、按鈕狀態顯示、電磁閥狀態顯示、數據存儲等功能,提供了近128個參數信息顯示功能。其中,主線程主要運行界面顯示、CAN數據包解析及UI更新等。CAN通訊中的數據收發在兩個次線程中進行。整個系統流程如圖 2所示。

圖2 系統流程圖Fig.2 System flow chart
在QT界面程序設計過程中,由于數據是實時收發的,同時也可能需要手動切換頁面,因此需要采用多線程進行數據收發,這樣才不會導致手動切換頁面時出現反應慢、“卡頓”現象。其中,主線程用于更新界面UI及界面操作,次線程用于數據收發。為了使主線程效率更高,可以選擇只更新當前顯示的界面和故障報警信息。由于收割機械總線上數據傳送量較大,也會有很多id號與本系統無關,因此在設計時必須加上濾波器,其功能是只接收需要接收ID的數據。
該軟件運行時,先初始化CAN并設置波特率等,然后初始化數據庫,圖形界面啟動。進入用戶登錄頁面,輸入正確的用戶名和密碼后進入收割機械智能監測系統主界面,如圖 3 所示。該系統共有4個頁面,主頁面顯示一些比較重要的收獲機械的狀態和參數值32個:如第1排糧倉狀態、油水分離狀態、轉向燈、離合狀態、手剎及充電指示等,參數值如行進速度、發動機轉速、撥禾輪轉速、切碎器轉速、風機轉速、攪龍轉速、復脫器轉速、燃油位、發動機冷卻液溫度、含雜率、破碎率、總里程、總小時數及發動機機油壓力等。系統圖標大部分是按照GBT8593和ISO7000等標準進行設計的,有些圖標該標準沒有列出,需要自行根據相關標準進行改動設計。當顯示頁面為此界面時,本界面的參數會0.5s更新1次,報警信息也會實時更新。而其他界面非報警值不會實時更新,當界面切換到其他界面某個時,這個界面會0.5s更新1次。一共有4個界面:第2個界面主要是收割機械作業狀態的參數值,如割臺高度、割茬高度、凹版間隙、上篩開度、下篩開度、尾篩開度、糧食干重、前后馬達轉速、喂入量、割刀頻率等參數監測值,以及儀表控制、參數設置的設置值,如關閉語音報警、米計清零、糧食質量清零、糧食千粒質量及當前作物種類設置等;第3個頁面主要是按鈕和電磁閥狀態及報警具體信息顯示;第4個頁面是一些有關軟件的幫助信息。

圖3 收獲機械智能監測系統主界面Fig.3 The main interface of intelligent monitoring system for harvesting machine
聯合收割機監測系統總線通信符合ISO11783農林業拖拉機械串行控制和通信數據網絡標準。該標準以SAEJ1939協議為參考,將控制器局域網總線協議(CAN)作為網絡協議支持,規定了拖拉機械或農具懸掛或安裝不同設備(包括任務管理器、參數組分配、VT虛擬終端、設備控制器、傳感器以及執行器等)之間進行信息傳輸和交換的方法和格式。
ISO11783協議在CAN2.0B協議的基礎上具體實現了應用層,ISO11783把CAN2.0B協議中的29位ID識別封裝成為一個協議數據單元(PDU)。在傳輸時,這些PDU被分隔成1個或多個CAN數據幀,通過物理介質傳輸到其他網絡掛接設備上。PDU由優先級P、保留位、數據頁位、PDU格式、特定PDU、源地址和數據字段組成。其中,保留位、數據頁位、PDU格式字段和特定PDU用于建立18位參數組編號(PGN)。ISO11783中定義了串行拖拉機械大部分參數組編號及參數類型的定義,如時間、日期、相對地面的速度和距離、動力輸出相關參數、輔助閥參數、照明參數等。SAE J1939中定義了車輛應用層相關參數,如扭矩、減速器控制、發動機結構、進氣口排氣口及渦輪壓縮機信息等。定義參數組的格式如表1所示,參數定義格式如表 2所示。

表1 參數組分配舉例Table 1 Example of parameter group assignment

表2 參數定義舉例Table 2 Example of parameter definition
收獲機械中也有些參數組合參數沒有在ISO11783和SAE J1939中定義,這時需要根據標準定義。參數組的分配應使用ISO11783中列出的未定義且保留可供需要使用的參數組。參數組中參數按照如下準則定義:①按照實現功能,而不按照類型;②具有相近的更新速度;③按照通用的子系統。表3為自己定義的參數組編號。

表3 自定義參數組舉例Table 3 Example of customized parameter group
收獲機械智能監測系統中,設計了30個參數組的數據收發及顯示,基本滿足收獲機械參數監測功能,較為全面地顯示了收獲機械運行狀態及作業狀態。
建立的系統可實際應用在系列聯合收割機械中,如雷沃GK100型聯合收割機。將該總線智能監測系統接入收割機總線上,安裝位置如圖4所示。其總線上相應接上雷沃收割機的ECU及傳感器節點,給檢測系統供電12~36V上電開機后,將會自動讀取總線上相關數據,實現對收獲機械狀態的實時顯示。在山東濰坊、黑龍江嫩江農場及東營孤島某農場保護區調試時,系統運行穩定,數據傳輸可靠,基本沒有數據丟失,相應速度快,能實現基本功能。

圖4 收獲機械智能監測系統現場安裝調試Fig.4 Field installation and debugging of intelligent monitoring system for harvester
設計了一種基于Linux系統QT/C++的稻麥收獲機械作業參數與工況參數監控系統,該系統采用SAE J1939高速通信的網絡協議和ISO11783標準。介紹了稻麥聯合收獲機械監控系統的運行環境、軟件架構、硬件組成、相關協議,以及作業與控制參數歸類方法。試制了原理樣機,并進行了車間調試和田間試驗,結果表明:該監控系統能夠實現稻麥聯合收獲機械 128個工況參數和作業參數的實時在線顯示,運行穩定可靠,滿足稻麥聯合收獲機械使用需求。