郝帥紅,武志明,郭韋韜,余科松,溫鑫偉
(山西農業大學農業工程學院,山西 晉中030801)
農田作業的現代化技術離不開機械化、自動化[1]。中國是農業大國,也是全球農機制造大國,2019年,全國規模以上農機企業主營業務收入實現2 464.67億元[2]。拖拉機是我國保有量較大的農機產品之一,但是目前大部分拖拉機依舊由人工駕駛,駕駛員操作技術水平參差不齊,很難滿足高精度作業的要求[3]。發展拖拉機無人駕駛技術迫在眉睫,該技術可提高作業效率與作業精度,同時降低駕駛員勞動強度。
國外農業發達國家完成了對農田作業機械智能導航控制技術及相關產品的研究,并將相關技術應用于農業生產,生產效益得到顯著提高[4]。我國在農機自動化、信息化和智能化等技術方面的研究還處于起步階段,但發展速度很快,尤其是拖拉機自動導航駕駛技術,如東方紅X-804型拖拉機配備的載波相位差分全球定位系統(DGPS),實現了對拖拉機的無人駕駛控制[1]。
目前,國內對無人駕駛拖拉機的研究大多都是基于全新的機械設計基礎之上的一次開發,很少有在傳統的農機基礎之上進行無人駕駛技術的二次開發。如果能在已有農機上通過加裝底層執行機構并與智能決策系統相結合,將保有量較大的傳統農機改造成無人駕駛拖拉機,則意義重大。
本研究以Q/CR01-2015型山地拖拉機為載體,通過設計電子系統、液壓系統等,實現對無人駕駛拖拉機的底層控制,設計方案易于施行,方便對傳統農機進行無人駕駛改造。
無人駕駛拖拉機底層控制系統結構示意如圖1所示,底層控制系統主要由負責指令發送的SBUS發射器、負責指令接收的SBUS接收機、主控芯片、電子系統、液壓伺服系統及拖拉機機械硬件等部分組成。工作流程:SBUS發射器發送操作指令→SBUS接收機接收發射器指令→主控芯片解碼發射器指令→電子系統執行主控芯片程序完成拖拉機相應的電子電路功能→液壓伺服系統執行主控芯片程序完成拖拉機相應的機械構件功能。

圖1 無人駕駛拖拉機底層控制系統示意Fig.1 Bottom control system schematic of unmanned tractor
無人駕駛拖拉機底層控制系統包括硬件電路和軟件系統,硬件電路的性能直接決定整個系統的綜合性能,好的硬件支持對于軟件系統開發具有重要意義[5-6]。本研究主要從控制系統芯片的選型、最小系統、SBUS接收機連接電路、驅動執行部分和電源管理模塊等部分進行硬件電路設計。
主控芯片是控制系統的關鍵核心部件,合適的主控芯片對發揮控制系統的性能具有重要作用。芯片選擇往往需要考慮系統各方面的要求,如工作主頻、運算能力、外設資源、易于開發、集成等。STM32系列高速處理器是ST公司近年來推出的新型處理器,其內置資源豐富,內部集成的定時器多達7個,包括基本定時器、通用定時器和高級定時器等;同時擁有豐富的通信接口,如USART、CAN和SPI等,可以完成通信功能[7-8]。
無人駕駛拖拉機底層控制系統對芯片的響應速度要求較高,同時需要多達12路的PWM外設、1個USART接口,故選擇高性能的STM32單片機作為主控芯片。本底層控制系統配備1個串行接口用于SBUS通信,12路PWM信號用于控制數字舵機與伺服換向閥,3個通用GPIO口對開關設備進行控制。底層控制系統資源分配方案如表1所示。

表1 底層控制系統資源分配方案
STM32 F103系列單片機的最小系統主要由電源、晶振和復位電路3部分組成,供電電壓3.3 V。STM32單片機內部電路集成度高,芯片內部電源線比較細,為使單片機穩定工作,設計供電模塊由4組供電電源組成,同時電源正極與地之間均加入0.1uF的去耦電容,保證系統工作的穩定性[9]。復位電路主要由電阻、電容和按鍵組成,使用RC充放電電路主要實現芯片的上電復位,同時保證在按鍵彈起的狀態下,單片機NRST腳始終處于高電平,芯片正常工作;該芯片外接了一個8 MHz的晶振,為其工作產生穩定的頻率,STM32單片機內部設計了倍頻電路,可將該晶振頻率倍頻到72 MHz,從而指揮單片機快速、有序地工作。
SBUS接收機功能是實現拖拉機的遙控駕駛,由SBUS通信協議可知,該設備低電平為0,高電平為3.3 V,采用負邏輯,解碼該類接收機時需在數據線上加入一個取反電路,取反電路由1個S9013NPN型三極管與限流電阻、上拉電阻組成。
2.4.1繼電器
無人駕駛拖拉機電子系統多是大功率電子元件,普通電子開關管難以承受持續的大電流,因此采用繼電器控制大功率元件,實現電子驅動功能。將大功率元件的正極串聯于繼電器的常開觸點間,每路繼電器的控制端分別與單片機的GPIO口相聯,同時單獨為繼電器的控制側提供3.3 V電源。繼電器及負載電路如圖2所示。

圖2 繼電器及負載電路Fig.2 Relay and load circuit
2.4.2舵機
為實現拖拉機油門的精確控制,并且任意時刻油門的位置都保持在當前的油門量上,選擇大扭力伺服舵機作為油門的驅動執行裝置。大扭力伺服舵機內部有角度傳感器和控制芯片,控制芯片可實時采集當前的轉角并與控制信號實時比較,形成閉環系統,實現精準響應。油門控制電路如圖3所示。

圖3 油門控制電路Fig.3 Throttle control circuit
2.4.3伺服換向閥
為實現油路轉換,需要使用換向閥裝置,選用伺服換向閥進行精準的流量控制與方向控制。本設計中底層控制系統的強阻力執行機構有11個,因此配置11路伺服換向閥。伺服換向閥采用PWM信號控制,其內部有角度傳感器,實時形成閉環控制,使得控制更穩定、可靠。伺服換向閥電路如圖4所示。

圖4 伺服換向閥電路Fig.4 Servo directional valve circuit
底層控制電路使用的電源電壓等級主要有3.3、5和24 V,由于拖拉機能夠提供24 V的車載鉛蓄電池電源,所以選擇可調壓的直流調壓模塊2個,將24 V的車載電源分別降為5 V與3.3 V給相應模塊供電。該直流降壓模塊的最大輸出電流可達5 A,由于小電壓等級模塊的電流總和不會超過3 A,故該供電模塊完全滿足設計要求。電源管理模塊電路如圖5所示。

圖5 電源管理模塊電路Fig.5 Power management module circuit
底層控制系統的總體硬件連接如圖6所示。以主芯片為中心,將底層硬件電路分為3大部分:輸入部分、數據處理與邏輯控制部分、指令執行部分。輸入部分主要由SBUS接收機組成,SBUS接收機將SBUS發射器的指令傳給主控芯片。數據處理與邏輯控制部分主要由主控芯片組成,主控芯片將SBUS接收機的數據進行解碼并根據指令產生相應的邏輯控制指令。指令執行部分主要由繼電器、舵機和伺服換向閥組成,分別接收主控芯片的控制指令,完成相應的底層執行功能。電源模塊為整個系統提供穩定的電壓與電流,保證系統的穩定運行。

圖6 底層控制系統硬件連接電路Fig.6 Hardware connection circuit of bottom control system
軟件設計主要內容包括劃分功能模塊及安排程序結構,畫出各程序模塊流程圖,選擇合適的語言編寫程序,將各個模塊連接成完整的程序等[10]。本設計中將軟件系統分為接收數據、處理數據和控制邏輯3部分。
主控芯片對數據的接收主要通過SBUS協議完成,SBUS通信協議為串口通信,只需正確配置串口的工作模式與通信協議即可[11]。當主控芯片接收到SBUS接收機發出的數據后,其串口接收中斷將被觸發,中斷處理函數(圖7)對接收到的數據進行處理并正確保存。

圖7 中斷處理函數流程Fig.7 Interrupt handling function flow
當主控芯片成功接收到SBUS接收機的數據后,需根據SBUS協議對原始數據進行一次解碼,將SBUS接收機內各個通道的數據分離出來并標準化,供邏輯控制部分使用[12]。主要流程包括判斷是否正確接收數據、對數據解碼、判斷解碼是否完成及轉化成標準化數據。
數據正確解碼后需要進行二次解碼,然后根據解碼指令對電子系統與液壓系統進行邏輯控制。對于電子系統的控制,以引擎控制為例進行介紹,如圖8所示;對于液壓系統的控制,以制動執行為例進行介紹,如圖9所示。

圖8 引擎模塊控制流程Fig.8 Engine module control flow

圖9 制動執行模塊控制流程Fig.9 Brake execution module control process
依據上述硬件設計及軟件設計方案,搭建實際系統開發平臺,如圖10所示。在實際開發平臺上對相關代碼進行調試,以控制制動的踩放為例,利用程序通過控制換向閥,進而控制液壓缸的伸縮,實現制動,液壓缸的伸出和收縮效果如圖11和圖12所示。試驗證明,使用發射器發送油缸的伸縮指令,換向閥能夠快速、準確地響應,基本滿足底層控制系統的性能要求,故該底層控制系統具備與智能決策系統對接的條件。

圖10 系統開發平臺Fig.10 System development platform

圖11 油缸伸出效果Fig.11 Effect of cylinder extension

圖12 油缸縮回效果Fig.12 Effect of cylinder retraction
以Q/CR01-2015型山地拖拉機為載體對其進行改造,設計出底層控制系統,實現對無人駕駛拖拉機的底層控制。試驗證明該底層控制系統各項性能滿足設計要求,具備與智能決策系統對接的條件,為社會上保有量較大的傳統拖拉機進行無人駕駛改造升級提供了系統支撐。