郝 倩,張亞楠
(河南工業(yè)職業(yè)技術(shù)學(xué)院,河南 南陽 473000)
目前,我國農(nóng)業(yè)機械化率明顯落后于歐美等發(fā)達國家,且我國農(nóng)機行業(yè)大多數(shù)中高端產(chǎn)品仍以進口為主。未來,隨著農(nóng)墾改革的持續(xù)推進,促使農(nóng)地集約化管理,大型農(nóng)機的需求將不斷增加。此外,我國聯(lián)合收割機在向大型、高效、多功能與智能控制發(fā)展過程中,存在喂入量提升、多種作物適應(yīng)性、作業(yè)質(zhì)量自動調(diào)控及智能測產(chǎn)等智能化技術(shù)缺失,制約了我國農(nóng)機化綜合生產(chǎn)水平進一步提高。為此,以解決聯(lián)合收割機智能測產(chǎn)為出發(fā)點,設(shè)計了一套基于Linux和Exynos4412的聯(lián)合收割機測產(chǎn)系統(tǒng)。
收割機測產(chǎn)手段采用的流量傳感器主要有沖量、容積及光電式3種。其中,以沖量式結(jié)構(gòu)最為簡單、成本最為低廉,因此本文采用該方法。沖量式流量傳感器結(jié)構(gòu)示意如圖1所示。
該傳感器由懸梁、外殼和沖量板三部分構(gòu)成,在實際應(yīng)用中被安裝在收割機的儲藏倉上方。作物經(jīng)過脫粒、谷穗分離后被拋出沖擊到流量傳感器的沖量板上,沖量板帶動懸梁發(fā)生形變,引起懸梁內(nèi)部電阻變化,從而輸出與沖擊作物重量相對應(yīng)的電壓u。其原理如下:
由沖量守恒定理得
F(t)Δt=Δm(t)Δv
(1)
(2)
其中,F(xiàn)(t)為作物的對沖量板的沖擊力;Δt為作物對沖量板的作用時間;Δm(t)為t時刻作用時間段的作物質(zhì)量之和;q(t)為t時刻作物對沖量板的沖量之和。
對于沖量式流量測重傳感器,假設(shè)聯(lián)合收割機運行速度恒定,則單位時間內(nèi)作物質(zhì)量與流量傳感器沖量的計算公式為
mi=kui
(3)
其中,k為沖量系數(shù);ui為流量傳感器瞬時電壓。
圖1 沖量式流量傳感器結(jié)構(gòu)示意圖
聯(lián)合收割機在正常作業(yè)過程中,作物從收割臺進入,由輸送裝置喂入至脫粒裝置處,經(jīng)過脫粒、谷穗分離后集中到儲藏倉,然后由傳送帶將糧食送到運輸車上。其中,作物產(chǎn)量由測產(chǎn)系統(tǒng)通過收獲的作物質(zhì)量、面積、谷物含水率計算得到。在計算過程中,由于收割機每一單位時間的數(shù)據(jù)不連續(xù)且變化較大,因此每隔單位周期T進行1次數(shù)據(jù)采集。第i塊單位區(qū)域作物單產(chǎn)量為
(4)
其中,fi為第i塊單位區(qū)域作物單產(chǎn)量(kg/hm2);mi為第i塊區(qū)域作物總產(chǎn)量(kg);vi為該區(qū)域收割機的運行速度(m/s);wi為收割機的割窗寬度(m)。
由于在作物收割時水分占據(jù)質(zhì)量比較大,因此在測產(chǎn)過程中需要去除作物的含水量,以合格作物含水率進行計算。另外,對作物的收獲損失也要進行考慮,則第i塊區(qū)域作物單產(chǎn)量(無含水量)為
(5)
其中,fid為第i塊單位區(qū)域作物的干重單產(chǎn)量;hα為收割時作物的含水量;hγ為收割時作物的含水量;η為作物收獲損失率。
在聯(lián)合收割機測產(chǎn)作業(yè)過程中,各單位產(chǎn)量可以存在差異,因此計算某一區(qū)域產(chǎn)量時結(jié)合多個單位區(qū)域數(shù)據(jù)會得到較為準確的結(jié)果。假設(shè)第k個區(qū)域內(nèi)有n個單位區(qū)域采樣點,結(jié)合式(3)和式(5)可得該區(qū)域的干重單產(chǎn)量fk為
(6)
聯(lián)合收割機測產(chǎn)系統(tǒng)是結(jié)合傳感器和微處理器技術(shù)優(yōu)勢的一種智能型測量系統(tǒng),包括Exynos4412、SD存儲卡,以及沖量式流量、含水率、地速、割臺高度等傳感器,其組成框架如圖2所示。
圖2 聯(lián)合收割機測產(chǎn)系統(tǒng)組成框架圖
當聯(lián)合收割機測產(chǎn)系統(tǒng)工作時,傳感器組會測出單位時間T的谷物流量、作物含水率、收割機前行速度及割臺高度等,同時將速度經(jīng)過處理后發(fā)送給微處理器進行單位面積的干重產(chǎn)量計算,最后將產(chǎn)量實時顯示在顯示終端上和存儲至SD卡。
1)Exynos4412嵌入式硬件平臺的搭建。Exynos4412嵌入式平臺的搭建主要包括CPU的選型、Linux操作系統(tǒng)的確定,以及SDRAM(512MB)、NandFlash(1G)、NorFlash(16MB)、網(wǎng)口(10M)、串口、SD卡和嵌入式外圍設(shè)備的參數(shù)選定。該平臺由Exynos4412、顯示屏、數(shù)據(jù)存儲、通信和電機啟動驅(qū)動模塊組成。Exynos4412嵌入式平臺框架如圖3所示。
圖3 Exynos4412嵌入式平臺框架圖
由圖3可知:該平臺主要包括三大模塊:①CPU及SDRAM、NAND Flash存儲模塊;②電源、時鐘和復(fù)位電路;③顯示屏和電機驅(qū)動模塊。
2)測產(chǎn)系統(tǒng)流量傳感器電路設(shè)計。測產(chǎn)系統(tǒng)流量傳感器電路是整個系統(tǒng)最為核心的部分,作物收割質(zhì)量由數(shù)據(jù)采集電路將質(zhì)量信號轉(zhuǎn)化為電壓信號,這部分由沖量式流量傳感器實現(xiàn)。沖量式流量傳感器產(chǎn)生的電壓比較微弱(mV級別),因此通常需要運放電路放大處理后再接至Exynos4412的GPIO管腳。測產(chǎn)系統(tǒng)流量傳感器電路設(shè)計如圖4所示。
圖4 測產(chǎn)系統(tǒng)流量傳感器電路圖
測產(chǎn)系統(tǒng)采用BLR高精度橋式?jīng)_壓式電路采集作物沖擊沖量板的質(zhì)量,該橋式電路精度高、穩(wěn)定性好。該模塊供電電壓為+12V,輸出的電壓信號在mV級別。一般來說,mV級別的信號放大需要極低的失調(diào)電壓,因此采用ADI公司生產(chǎn)的運算放大器AD8554。該運放失調(diào)電壓典型值為1uV,用于mV信號放大非常合適。
在收割機作業(yè)過程中,可能會因為地形和收割機自身的振動而使傳感器采集信號受到噪聲的影響。沖量產(chǎn)生的電壓信號相對于噪聲是一種低頻信號,在沖量信號經(jīng)過AD8554運放放大處理后可以接一個低通濾波器對噪聲進行去噪處理。本文采用一個OP07的低通濾波器對噪聲信號進行處理。
1)Exynos4412嵌入式軟件平臺的移植。Exynos4412軟件平臺的移植是通過交叉開發(fā)工具在宿主機上,向硬件平臺移植Linux系統(tǒng)。Exynos4412軟件平臺的移植流程如圖5所示。
圖5 Exynos4412軟件平臺的移植流程
Step1:創(chuàng)建交叉開發(fā)環(huán)境。該部分主要是在宿主機上,搭建編輯器、交叉編譯器、交叉鏈接器及交叉調(diào)試器等工具鏈。
Step2:移植Bootloader。盡管各種Bootloader之間細節(jié)差異較大,但具體流程卻大相徑庭,主要包括BL1和BL2兩部分。BL1采用匯編語言編寫,首先是進行基本的硬件初始化,加載BL2到RAM,并跳轉(zhuǎn)到BL2處開始執(zhí)行BL2的代碼;BL2采用C語言編寫,首先是對時鐘信號、串口的初始化,然后對系統(tǒng)內(nèi)存映射進行檢測,接著加載內(nèi)核鏡像和fs根文件系統(tǒng),最后設(shè)置Linux的啟動參數(shù)。
Step3:移植Linux內(nèi)核。Linux內(nèi)核代碼分為Stage1和Stage2兩個階段。Stage1階段主要是檢查Linux內(nèi)核是否支持該CPU和開發(fā)板;Stage2階段則是進行MMU初始化,清除bss段,設(shè)置SP堆棧,初始化系統(tǒng)各個軟件子系統(tǒng),掛載fs根文件系統(tǒng),并運行init進程。
Step4:制作根文件Ramdisk.img。本文采用Busybox-1.22.1工具制作根文件系統(tǒng),主要包括Busybox源碼的編譯、配置、安裝、庫的添加、inittab文件的添加、fstab文件的添加及rcS文件的創(chuàng)建等。
Step5:驅(qū)動程序的移植。主要是對電機驅(qū)動、網(wǎng)卡驅(qū)動、USB及UART串口驅(qū)動進行移植。
Step6:開發(fā)應(yīng)用程序。編寫聯(lián)合收割機測產(chǎn)子系統(tǒng)程序等。
2)測產(chǎn)系統(tǒng)主程序設(shè)計。聯(lián)合收割機測產(chǎn)系統(tǒng)軟件包括主程序、測產(chǎn)子系統(tǒng)、數(shù)據(jù)采集與傳輸、顯示、終端、串口通訊及初始化模塊等。測產(chǎn)系統(tǒng)主程序框圖如圖6所示。
圖6 測產(chǎn)系統(tǒng)主程序流程圖
主程序核心代碼如下所示:
int main(void)
{
uint8_t ret = 0;//判斷硬件控制是否成功,1為成功
int8_t send_pack_count = 0;
uint8_t send_pack_buf[8] = {0};
SystemInit();
GPIOInit();
// Enables clock for GPIO
HardwareInit();// 相關(guān)硬件初始化
LPC_IOCON->PIO0_1 &= ~0x07;
LPC_IOCON->PIO0_1 |= 0x01;/* CLK OUT */
SysTick_Config(48000);
SPI_IOConfig(0);//SPI0 initialization(LED屏相關(guān)配置)
SPI_Init(0, 8, 2);
OLED_Init_I();
//Led屏初始化
UARTInit(115200);
NVIC_SetPriority(UART_IRQn, 2);
SPI_IOConfig(1);//SPI1 initialization
SPI_Init(1, 8, 2);
SPI752_Init(1, 115200);//Set SPI752_Init
WDTInit();/* 看門狗初始化 */
delay_ms(200);
weight _signal();
}
應(yīng)用本文設(shè)計的聯(lián)合收割機測產(chǎn)系統(tǒng),于水稻收獲時節(jié)在某水稻種植示范區(qū)進行了水稻收割測產(chǎn)試驗,以驗證系統(tǒng)測產(chǎn)準確性和穩(wěn)定性。試驗條件如表1所示。為了提高試驗的可靠性和準確性,本文一共進行了8次測試,測試結(jié)果如表2所示。
表1 試驗條件
表2 測試結(jié)果
由表2可以看出:聯(lián)合收割機測產(chǎn)系統(tǒng)相對誤差在8%內(nèi),準確率較高,能夠達到設(shè)計要求。
針對現(xiàn)代農(nóng)業(yè)智能測產(chǎn)技術(shù)的發(fā)展需求,以作物測產(chǎn)系統(tǒng)為研究對象,設(shè)計了基于Linux和Exynos4412的聯(lián)合收割機測產(chǎn)系統(tǒng)。該系統(tǒng)硬件由Exynos4412處理器結(jié)合沖量式流量傳感器、流量傳感器電路設(shè)計和顯示界面組成;軟件以C語言編寫開發(fā),包括linux底層系統(tǒng)的移植、系統(tǒng)主程序及測產(chǎn)子系統(tǒng)等。試驗結(jié)果表明:聯(lián)合收割機測產(chǎn)系統(tǒng)相對誤差在8個百分點以內(nèi),準確率較高,能夠達到設(shè)計要求。