邱逸凡 , 林仕聰 , 柯文韜 , 王家博,2 , 肖茂華 , 周路雙
(1.南京農業大學,江蘇 南京 210031;2.江蘇農林職業技術學院,江蘇 鎮江 212400;3.金湖雙洋機械有限公司,江蘇 淮安 211600)
山地果園坡度較陡,山路曲折迂回,果樹栽植密集,運載果品時操作人員與軌道運輸機距離較遠,再加上彼此間有果樹遮擋,因此要求較遠的通信距離和較高的遠程控制系統的穩定性[1]。針對山地果園運輸中惡劣的作業環境和較差的舒適性,設計了一套用于軌道運輸機的遠程控制系統,供軌道運輸機運送果品使用。LoRa 技術是一種低功耗、遠距離數據傳輸技術,目前LoRa 技術最大覆蓋直徑可以達到10 km,具有超低的延遲,可以滿足大多數對數據傳輸延遲要求較高的使用場景[2]。課題組基于LoRa 技術設計了一種應用于山地果園軌道運輸機的遠程控制系統,應用該系統后能夠在5 km 的直徑范圍內遠程控制以汽油發動機為動力的山地果園軌道運輸機。該系統具有功耗低、傳輸距離遠、成本低且穩定性好等特點[3],可提升丘陵山地農業生產效率,推進山地農業向機械化、智能化方向快速轉型[4]。
課題組設計的山地果園軌道運輸機遠程控制系統以裝有推桿、汽油機為動力的山地果園軌道運輸機為主要應用對象。遙控器部分由STC89C51 單片機、鍵盤模塊、LCD1602 模塊、干電池和Lora 無線通信模塊組成[5]。在鍵盤端可輸入前進、后退、停止3 種指令,STC89C51 單片機接收到指令信號后,在LCD1602 模塊上將指令顯示出來,并通過LoRa 無線通信模塊將指令向山地果園軌道運輸機發出,干電池作為遙控器的電源。山地果園軌道運輸機上的LoRa無線通信模塊接收到遙控器發送的信號后傳輸到STC89C51 單片機中,此時STC89C51 單片機將指令轉換為電平信號傳輸給L298N 電機驅動模塊,該模塊控制電動推桿,將山地果園軌道運輸機的控制推桿運行到指定的位置,來達到物理控制山地果園軌道運輸機的效果,以此來控制軌道運輸機的啟動、停止及運動方向。干電池給STC89C51單片機供電,24 V 鋰電池通過L298N 電機驅動模塊給電動推桿供電。系統整體設計如圖1所示。

圖1 系統整體設計圖
本次設計采用4 位獨立鍵盤作為指令輸入端,使用STC89C51 芯片接收輸入的指令并進行處理,外接LCD1602 顯示屏顯示單片機接收到的指令信息,遙控器端AS32-TTL-1W 模塊接收數據并通過廣播的方式發送出去,在接收端山地果園軌道運輸機上使用相同配置(波特率、空中速度、模塊地址、通信信道)的AS32-TTL-1W 模塊進行數據的接收,從而達到遠距離低功耗傳輸,指令通過另一STC89C51 芯片處理后轉換為電平信號傳輸給L298N 電機驅動模塊,最后電動推桿推動離合搖桿和換擋搖桿實現軌道運輸機的控制。
2.1.1 LoRa模塊
LoRa 模塊選用的是AS32-TTL-1W 型號,此型號的LoRa模塊是一款433 MHz、1 W、具有高穩定性的無線傳輸模塊,根據SX1278 射頻芯片設計開發[6]。該模塊采用高效的循環糾錯算法,具有編碼效率高、糾錯能力強的特點,提高了穩定性和抗干擾性。接收靈敏度達-130 dBm,傳輸距離達10 000 m,休眠電流低至1.5 μA,頻率410 MHz~441 MHz,有32 個信道可選,默認工作在433 MHz,無需申請即可使用,滿足設計要求。
AS32-TTL-1W 模塊具有4 種工作狀態,可在運行時通過引腳的輸入切換狀態。本次設計使用省電工作狀態和喚醒工作狀態,在這兩種狀態下,消耗電流極低,極低的功耗滿足使用要求。4 種工作狀態如下。
1)一般工作狀態:串口和無線打開。
2)省電工作狀態:串口接收關閉,無線處于空中喚醒模式,接收到無線數據后打開串口發送數據。
3)喚醒工作狀態:串口和無線打開,與一般工作狀態不同之處在于,此狀態下,數據包在發送之前會自動添加喚醒碼,喚醒省電工作狀態下的接收方。
4)休眠工作狀態:無線進入休眠狀態,只可通過接收命令進行參數配置。
LoRa 模塊引腳定義:MD0、MD1 作為輸入互相配合,0 和1 決定模塊的4 種工作模式。RXD 作為TTL 串口輸入,連接到外部TXD 輸出引腳,可配置為漏極開路或上拉輸入。TXD 作為TTL 串口輸出,連接到外部的RXD 輸入引腳,可配置為漏極開路或推免輸出。AUX 作為用于指示模塊工作狀態的用戶,喚醒外部的MCU 上電自檢初始化期間輸出低電平,可配置為漏極開路輸出或推免輸出,VCC 電源輸入端,GND接地[4]。模塊引腳連接如圖2所示。

圖2 LoRa 模塊引腳連接圖
2.1.2 4位獨立鍵盤
在山地果園軌道運輸機的遠程控制系統設計中,本次設計采用了4 位獨立鍵盤作為輸入設備,用于實現用戶與STC89C51 單片機之間的交互操作。4 位獨立鍵盤是一種常見的數字輸入裝置,由4 個獨立按鍵或按鈕組成,每個按鍵分別代表一個數字或功能,可實現用戶對系統的輸入和控制。4 個按鍵都與單片機的I/O 口相連,使用其中3 個,通過I/O 口來讀取按鍵的輸入狀態。用戶可以通過鍵盤按鍵S4、S3、S2 輸入前進、后退、停止3 種指令,獨立鍵盤引腳圖及實物圖如圖3 所示。這種設計為山地果園軌道運輸機的遠程控制系統提供了簡單、直觀且有效的輸入方式,增強了系統的友好性和可操作性。

圖3 獨立鍵盤引腳圖及實物圖
2.1.3 LCD顯示模塊
本次設計采用LCD1602A 字符型液晶顯示模塊,其中1602 代表每行顯示16 個字符,共有2 行顯示,專門用于顯示字母、數字元、符號等的點陣型液晶顯示模塊[7]。LCD1602A 具有功耗低、抗干擾能力強、體積小、價廉等優點,使其成為山地果園軌道運輸機的遠程控制系統設計中的理想選擇。LCD1602A 模塊的引腳包括:
1)VSS:接地,用于提供LCD模塊的電源地線。
2)VCC:接5 V 電源,用于供給LCD模塊的工作電壓。
3)VO:接滑動變阻器,可通過調節電壓大小來調節LCD亮度,實現背光的控制。
4)RS:為寄存器選擇,用于區分數據和命令的輸入。高電平狀態和低電平狀態分別選擇數據寄存器和指令寄存器。
5)RW:為對單片機的讀寫指令,用于控制LCD的讀寫操作。高電平時進行讀操作,低電平時進行寫操作[8]。
6)E:為顯示屏的輸入使能端,用于啟動LCD顯示。
7)D0 到D7:為8 位總線結構,用于雙向傳輸數據和命令。
8)BLK 和BLA:分別接背光電源的正負極,用于控制LCD的背光亮度。
2.1.4 電機驅動模塊
在山地果園軌道運輸機的STC89C51 單片機上連接L298N 邏輯的7 A/160 W 雙路直流電機驅動模塊,單片機將指令處理后轉換為電信號,通過此模塊達到控制電動推桿的目的。7 A/160 W雙路直流電機驅動模塊是雙H 橋結構,可同時驅動兩臺直流電機,每一路擁有7 A 大功率;寬電壓6.5 V~27 V;光耦隔離輸入信號[9];可I/O 口直接控制,不受干擾;帶隔離和欠壓保護;符合電磁兼容EMC 設計規范,有靜電泄放回路,穩定可靠。
2.2.1 控制流程設計
本次山地果園軌道運輸機的遠程控制系統設計使用keil5 軟件進行程序的編寫,控制系統流程圖如圖4所示。

圖4 控制系統流程圖
2.2.2 設計程序實現
程序編寫主要分為兩個部分,一個作為指令信息發送端的遙控器部分,主要是鍵盤輸入和LCD 顯示屏顯示以及LoRa 模塊進行數據發送;另一個在山地果園軌道運輸機上作為指令信息的接收端,主要是LoRa 模塊對數據的接收和電機驅動模塊驅動電動推桿的運行。具體程序如表1~3所示。

表1 STC89C51單片機主函數代碼

表2 LoRa模塊初始化代碼

表3 串口顯示程序
系統整體測試地點在金湖雙洋機械有限公司場地,通過遙控器對山地果園軌道運輸機前進、后退、停止3 種指令在有無裝載貨物的情況下進行多次試驗,得出運輸機在遙控器操控下,能夠實現任一點換擋,任一點瞬間制動,頻繁換向及極限位置自動停止功能,滿足控制系統所需[10]。運輸機整體測試主要包括以下幾個方面:
1)控制距離與延遲測試。控制距離與延遲時間結果如表4 所示。

表4 控制距離與延遲時間
此次試驗選取了3 個各自相差大于70°的方向,分別與軌道運輸機相距0.5 km、2 km 和5 km 的距離,在遙控器端輸入指令,通過軟件測試出軌道運輸機端LoRa 模塊接收到指令的延遲時間,滿足遠程精確控制的要求。
2)指令準確性測試。在控制距離與延遲時間測試中,在各方向不同距離裝載貨物和空載情況下各測試10 次換擋指令。試驗結果表明軌道山地果園運輸機能夠根據輸入的指令進行換擋操作,傳輸數據誤碼率幾乎為0。
3)功耗性測試。AS32-TTL-1W 型號的LoRa 模塊工作在收發模式下最大功耗在1 W 左右,接收靈敏度高達-130 dBm,休眠電流低至1.5 μA,功耗低,續航久。
課題組基于AS32-TTL-1W 型號的LoRa 模塊設計了山地果園軌道運輸機控制系統,充分利用 LoRa模塊的傳輸距離遠的特性,在山地丘陵等地形陡峭崎嶇的果園生產中遠距離控制軌道運輸機。本設計主要特色體現在:1)遠距離的傳輸,其覆蓋直徑可以達到5 km;2)極短的延遲時間,數據平均傳輸時間在2 ms 以內,可以實現精確控制;3)功耗低,續航時間久,最大功耗在1 W 左右,休眠電流低至1.5 μA,能夠長時間使用。另外本設計的控制系統對于以柴油機為動力和電動機驅動的軌道運輸機同樣適用,在其他的遠程控制領域也能得到應用,為人們的生活提供了便利,在農業機械化、智慧農業、無人農場等領域有廣闊的應用前景。