郝帥紅,武志明,郭韋韜,余科松,溫鑫偉
(山西農(nóng)業(yè)大學(xué)農(nóng)業(yè)工程學(xué)院,山西 晉中030801)
農(nóng)田作業(yè)的現(xiàn)代化技術(shù)離不開(kāi)機(jī)械化、自動(dòng)化[1]。中國(guó)是農(nóng)業(yè)大國(guó),也是全球農(nóng)機(jī)制造大國(guó),2019年,全國(guó)規(guī)模以上農(nóng)機(jī)企業(yè)主營(yíng)業(yè)務(wù)收入實(shí)現(xiàn)2 464.67億元[2]。拖拉機(jī)是我國(guó)保有量較大的農(nóng)機(jī)產(chǎn)品之一,但是目前大部分拖拉機(jī)依舊由人工駕駛,駕駛員操作技術(shù)水平參差不齊,很難滿足高精度作業(yè)的要求[3]。發(fā)展拖拉機(jī)無(wú)人駕駛技術(shù)迫在眉睫,該技術(shù)可提高作業(yè)效率與作業(yè)精度,同時(shí)降低駕駛員勞動(dòng)強(qiáng)度。
國(guó)外農(nóng)業(yè)發(fā)達(dá)國(guó)家完成了對(duì)農(nóng)田作業(yè)機(jī)械智能導(dǎo)航控制技術(shù)及相關(guān)產(chǎn)品的研究,并將相關(guān)技術(shù)應(yīng)用于農(nóng)業(yè)生產(chǎn),生產(chǎn)效益得到顯著提高[4]。我國(guó)在農(nóng)機(jī)自動(dòng)化、信息化和智能化等技術(shù)方面的研究還處于起步階段,但發(fā)展速度很快,尤其是拖拉機(jī)自動(dòng)導(dǎo)航駕駛技術(shù),如東方紅X-804型拖拉機(jī)配備的載波相位差分全球定位系統(tǒng)(DGPS),實(shí)現(xiàn)了對(duì)拖拉機(jī)的無(wú)人駕駛控制[1]。
目前,國(guó)內(nèi)對(duì)無(wú)人駕駛拖拉機(jī)的研究大多都是基于全新的機(jī)械設(shè)計(jì)基礎(chǔ)之上的一次開(kāi)發(fā),很少有在傳統(tǒng)的農(nóng)機(jī)基礎(chǔ)之上進(jìn)行無(wú)人駕駛技術(shù)的二次開(kāi)發(fā)。如果能在已有農(nóng)機(jī)上通過(guò)加裝底層執(zhí)行機(jī)構(gòu)并與智能決策系統(tǒng)相結(jié)合,將保有量較大的傳統(tǒng)農(nóng)機(jī)改造成無(wú)人駕駛拖拉機(jī),則意義重大。
本研究以Q/CR01-2015型山地拖拉機(jī)為載體,通過(guò)設(shè)計(jì)電子系統(tǒng)、液壓系統(tǒng)等,實(shí)現(xiàn)對(duì)無(wú)人駕駛拖拉機(jī)的底層控制,設(shè)計(jì)方案易于施行,方便對(duì)傳統(tǒng)農(nóng)機(jī)進(jìn)行無(wú)人駕駛改造。
無(wú)人駕駛拖拉機(jī)底層控制系統(tǒng)結(jié)構(gòu)示意如圖1所示,底層控制系統(tǒng)主要由負(fù)責(zé)指令發(fā)送的SBUS發(fā)射器、負(fù)責(zé)指令接收的SBUS接收機(jī)、主控芯片、電子系統(tǒng)、液壓伺服系統(tǒng)及拖拉機(jī)機(jī)械硬件等部分組成。工作流程:SBUS發(fā)射器發(fā)送操作指令→SBUS接收機(jī)接收發(fā)射器指令→主控芯片解碼發(fā)射器指令→電子系統(tǒng)執(zhí)行主控芯片程序完成拖拉機(jī)相應(yīng)的電子電路功能→液壓伺服系統(tǒng)執(zhí)行主控芯片程序完成拖拉機(jī)相應(yīng)的機(jī)械構(gòu)件功能。
圖1 無(wú)人駕駛拖拉機(jī)底層控制系統(tǒng)示意Fig.1 Bottom control system schematic of unmanned tractor
無(wú)人駕駛拖拉機(jī)底層控制系統(tǒng)包括硬件電路和軟件系統(tǒng),硬件電路的性能直接決定整個(gè)系統(tǒng)的綜合性能,好的硬件支持對(duì)于軟件系統(tǒng)開(kāi)發(fā)具有重要意義[5-6]。本研究主要從控制系統(tǒng)芯片的選型、最小系統(tǒng)、SBUS接收機(jī)連接電路、驅(qū)動(dòng)執(zhí)行部分和電源管理模塊等部分進(jìn)行硬件電路設(shè)計(jì)。
主控芯片是控制系統(tǒng)的關(guān)鍵核心部件,合適的主控芯片對(duì)發(fā)揮控制系統(tǒng)的性能具有重要作用。芯片選擇往往需要考慮系統(tǒng)各方面的要求,如工作主頻、運(yùn)算能力、外設(shè)資源、易于開(kāi)發(fā)、集成等。STM32系列高速處理器是ST公司近年來(lái)推出的新型處理器,其內(nèi)置資源豐富,內(nèi)部集成的定時(shí)器多達(dá)7個(gè),包括基本定時(shí)器、通用定時(shí)器和高級(jí)定時(shí)器等;同時(shí)擁有豐富的通信接口,如USART、CAN和SPI等,可以完成通信功能[7-8]。
無(wú)人駕駛拖拉機(jī)底層控制系統(tǒng)對(duì)芯片的響應(yīng)速度要求較高,同時(shí)需要多達(dá)12路的PWM外設(shè)、1個(gè)USART接口,故選擇高性能的STM32單片機(jī)作為主控芯片。本底層控制系統(tǒng)配備1個(gè)串行接口用于SBUS通信,12路PWM信號(hào)用于控制數(shù)字舵機(jī)與伺服換向閥,3個(gè)通用GPIO口對(duì)開(kāi)關(guān)設(shè)備進(jìn)行控制。底層控制系統(tǒng)資源分配方案如表1所示。
表1 底層控制系統(tǒng)資源分配方案
STM32 F103系列單片機(jī)的最小系統(tǒng)主要由電源、晶振和復(fù)位電路3部分組成,供電電壓3.3 V。STM32單片機(jī)內(nèi)部電路集成度高,芯片內(nèi)部電源線比較細(xì),為使單片機(jī)穩(wěn)定工作,設(shè)計(jì)供電模塊由4組供電電源組成,同時(shí)電源正極與地之間均加入0.1uF的去耦電容,保證系統(tǒng)工作的穩(wěn)定性[9]。復(fù)位電路主要由電阻、電容和按鍵組成,使用RC充放電電路主要實(shí)現(xiàn)芯片的上電復(fù)位,同時(shí)保證在按鍵彈起的狀態(tài)下,單片機(jī)NRST腳始終處于高電平,芯片正常工作;該芯片外接了一個(gè)8 MHz的晶振,為其工作產(chǎn)生穩(wěn)定的頻率,STM32單片機(jī)內(nèi)部設(shè)計(jì)了倍頻電路,可將該晶振頻率倍頻到72 MHz,從而指揮單片機(jī)快速、有序地工作。
SBUS接收機(jī)功能是實(shí)現(xiàn)拖拉機(jī)的遙控駕駛,由SBUS通信協(xié)議可知,該設(shè)備低電平為0,高電平為3.3 V,采用負(fù)邏輯,解碼該類接收機(jī)時(shí)需在數(shù)據(jù)線上加入一個(gè)取反電路,取反電路由1個(gè)S9013NPN型三極管與限流電阻、上拉電阻組成。
2.4.1繼電器
無(wú)人駕駛拖拉機(jī)電子系統(tǒng)多是大功率電子元件,普通電子開(kāi)關(guān)管難以承受持續(xù)的大電流,因此采用繼電器控制大功率元件,實(shí)現(xiàn)電子驅(qū)動(dòng)功能。將大功率元件的正極串聯(lián)于繼電器的常開(kāi)觸點(diǎn)間,每路繼電器的控制端分別與單片機(jī)的GPIO口相聯(lián),同時(shí)單獨(dú)為繼電器的控制側(cè)提供3.3 V電源。繼電器及負(fù)載電路如圖2所示。
圖2 繼電器及負(fù)載電路Fig.2 Relay and load circuit
2.4.2舵機(jī)
為實(shí)現(xiàn)拖拉機(jī)油門(mén)的精確控制,并且任意時(shí)刻油門(mén)的位置都保持在當(dāng)前的油門(mén)量上,選擇大扭力伺服舵機(jī)作為油門(mén)的驅(qū)動(dòng)執(zhí)行裝置。大扭力伺服舵機(jī)內(nèi)部有角度傳感器和控制芯片,控制芯片可實(shí)時(shí)采集當(dāng)前的轉(zhuǎn)角并與控制信號(hào)實(shí)時(shí)比較,形成閉環(huán)系統(tǒng),實(shí)現(xiàn)精準(zhǔn)響應(yīng)。油門(mén)控制電路如圖3所示。
圖3 油門(mén)控制電路Fig.3 Throttle control circuit
2.4.3伺服換向閥
為實(shí)現(xiàn)油路轉(zhuǎn)換,需要使用換向閥裝置,選用伺服換向閥進(jìn)行精準(zhǔn)的流量控制與方向控制。本設(shè)計(jì)中底層控制系統(tǒng)的強(qiáng)阻力執(zhí)行機(jī)構(gòu)有11個(gè),因此配置11路伺服換向閥。伺服換向閥采用PWM信號(hào)控制,其內(nèi)部有角度傳感器,實(shí)時(shí)形成閉環(huán)控制,使得控制更穩(wěn)定、可靠。伺服換向閥電路如圖4所示。
圖4 伺服換向閥電路Fig.4 Servo directional valve circuit
底層控制電路使用的電源電壓等級(jí)主要有3.3、5和24 V,由于拖拉機(jī)能夠提供24 V的車載鉛蓄電池電源,所以選擇可調(diào)壓的直流調(diào)壓模塊2個(gè),將24 V的車載電源分別降為5 V與3.3 V給相應(yīng)模塊供電。該直流降壓模塊的最大輸出電流可達(dá)5 A,由于小電壓等級(jí)模塊的電流總和不會(huì)超過(guò)3 A,故該供電模塊完全滿足設(shè)計(jì)要求。電源管理模塊電路如圖5所示。
圖5 電源管理模塊電路Fig.5 Power management module circuit
底層控制系統(tǒng)的總體硬件連接如圖6所示。以主芯片為中心,將底層硬件電路分為3大部分:輸入部分、數(shù)據(jù)處理與邏輯控制部分、指令執(zhí)行部分。輸入部分主要由SBUS接收機(jī)組成,SBUS接收機(jī)將SBUS發(fā)射器的指令傳給主控芯片。數(shù)據(jù)處理與邏輯控制部分主要由主控芯片組成,主控芯片將SBUS接收機(jī)的數(shù)據(jù)進(jìn)行解碼并根據(jù)指令產(chǎn)生相應(yīng)的邏輯控制指令。指令執(zhí)行部分主要由繼電器、舵機(jī)和伺服換向閥組成,分別接收主控芯片的控制指令,完成相應(yīng)的底層執(zhí)行功能。電源模塊為整個(gè)系統(tǒng)提供穩(wěn)定的電壓與電流,保證系統(tǒng)的穩(wěn)定運(yùn)行。
圖6 底層控制系統(tǒng)硬件連接電路Fig.6 Hardware connection circuit of bottom control system
軟件設(shè)計(jì)主要內(nèi)容包括劃分功能模塊及安排程序結(jié)構(gòu),畫(huà)出各程序模塊流程圖,選擇合適的語(yǔ)言編寫(xiě)程序,將各個(gè)模塊連接成完整的程序等[10]。本設(shè)計(jì)中將軟件系統(tǒng)分為接收數(shù)據(jù)、處理數(shù)據(jù)和控制邏輯3部分。
主控芯片對(duì)數(shù)據(jù)的接收主要通過(guò)SBUS協(xié)議完成,SBUS通信協(xié)議為串口通信,只需正確配置串口的工作模式與通信協(xié)議即可[11]。當(dāng)主控芯片接收到SBUS接收機(jī)發(fā)出的數(shù)據(jù)后,其串口接收中斷將被觸發(fā),中斷處理函數(shù)(圖7)對(duì)接收到的數(shù)據(jù)進(jìn)行處理并正確保存。
圖7 中斷處理函數(shù)流程Fig.7 Interrupt handling function flow
當(dāng)主控芯片成功接收到SBUS接收機(jī)的數(shù)據(jù)后,需根據(jù)SBUS協(xié)議對(duì)原始數(shù)據(jù)進(jìn)行一次解碼,將SBUS接收機(jī)內(nèi)各個(gè)通道的數(shù)據(jù)分離出來(lái)并標(biāo)準(zhǔn)化,供邏輯控制部分使用[12]。主要流程包括判斷是否正確接收數(shù)據(jù)、對(duì)數(shù)據(jù)解碼、判斷解碼是否完成及轉(zhuǎn)化成標(biāo)準(zhǔn)化數(shù)據(jù)。
數(shù)據(jù)正確解碼后需要進(jìn)行二次解碼,然后根據(jù)解碼指令對(duì)電子系統(tǒng)與液壓系統(tǒng)進(jìn)行邏輯控制。對(duì)于電子系統(tǒng)的控制,以引擎控制為例進(jìn)行介紹,如圖8所示;對(duì)于液壓系統(tǒng)的控制,以制動(dòng)執(zhí)行為例進(jìn)行介紹,如圖9所示。
圖8 引擎模塊控制流程Fig.8 Engine module control flow
圖9 制動(dòng)執(zhí)行模塊控制流程Fig.9 Brake execution module control process
依據(jù)上述硬件設(shè)計(jì)及軟件設(shè)計(jì)方案,搭建實(shí)際系統(tǒng)開(kāi)發(fā)平臺(tái),如圖10所示。在實(shí)際開(kāi)發(fā)平臺(tái)上對(duì)相關(guān)代碼進(jìn)行調(diào)試,以控制制動(dòng)的踩放為例,利用程序通過(guò)控制換向閥,進(jìn)而控制液壓缸的伸縮,實(shí)現(xiàn)制動(dòng),液壓缸的伸出和收縮效果如圖11和圖12所示。試驗(yàn)證明,使用發(fā)射器發(fā)送油缸的伸縮指令,換向閥能夠快速、準(zhǔn)確地響應(yīng),基本滿足底層控制系統(tǒng)的性能要求,故該底層控制系統(tǒng)具備與智能決策系統(tǒng)對(duì)接的條件。
圖10 系統(tǒng)開(kāi)發(fā)平臺(tái)Fig.10 System development platform
圖11 油缸伸出效果Fig.11 Effect of cylinder extension
圖12 油缸縮回效果Fig.12 Effect of cylinder retraction
以Q/CR01-2015型山地拖拉機(jī)為載體對(duì)其進(jìn)行改造,設(shè)計(jì)出底層控制系統(tǒng),實(shí)現(xiàn)對(duì)無(wú)人駕駛拖拉機(jī)的底層控制。試驗(yàn)證明該底層控制系統(tǒng)各項(xiàng)性能滿足設(shè)計(jì)要求,具備與智能決策系統(tǒng)對(duì)接的條件,為社會(huì)上保有量較大的傳統(tǒng)拖拉機(jī)進(jìn)行無(wú)人駕駛改造升級(jí)提供了系統(tǒng)支撐。