賈 賽 , 張 燕 , 王長云
(新疆農業大學機電工程學院,新疆 烏魯木齊 830052)
谷物水分含量是糧食回收貯藏的重要指標,但是在實際生產過程中,很少有農戶運用專業的設備測量。據相關數據,我國糧食在儲藏、運輸和加工等環節,每年損失量約為700億斤[1]。也就是說,農戶在糧食儲存環節中會產生嚴重損失;因為缺少技術指導或者沒有有效的檢測設備,農戶無法快速發現環境變化而導致的糧食發霉腐爛情況,從而造成嚴重的浪費。在“十四五”規劃[2]中,《糧食綠色倉儲提升行動方案(試行)》提出了建設一批高標準糧倉、改造提升倉房的氣密和保溫隔熱性能、推廣應用綠色儲糧技術、發展多參數多功能糧情測控系統、提升清理凈糧能力、推動糧倉分類分級等重點任務。由此可見檢測谷物水分含量設備的重要性[3],高效的檢測設備可以幫助農戶發現谷物水分含量過高的情況并及時處理,從而有效減少經濟損失。
近年來,越來越多的人開始研究糧食水分的動態檢測技術[4],不同的傳感器原理和相關的設備也不斷出現。單片機具有體積小、價格低廉等優點,但也存在內存小、無法大量計算、性能有限等缺點。如果采用高性能的單片機,數據處理速度可以提升,但這樣芯片的價格就比較貴,系統再加入數據存儲設備后,成本又會進一步提升。動態監測方案在單片機性能較低的情況下也無法實現數據采集功能,數據的分析處理和存儲這兩個問題更加不容易解決。如果可以將數據的分析和存儲過程全部放在云平臺進行,單片機只用來采集數據,那么單片機的性能就不需要太高,系統設計中也無需額外的存儲介質。
基于阿里云的谷物水分檢測系統由硬件系統、軟件系統、通信系統等部分組成。硬件系統主要完成水分和溫度數據的采集工作,實現數據顯示及谷物品種選擇等功能;軟件系統完成數據的初步處理,通過云平臺、數據庫、釘釘推送等對動態采集的數據進行計算、存儲和顯示。技術路線如圖1所示。

圖1 技術路線
根據總體方案要求,硬件系統主要由數據采集模塊、按鍵模塊、通信模塊和顯示模塊[5]等組成,如圖2所示。其控制單元的核心板為ESP32單片機,主要外圍電路為溫度傳感器DS18B20、電容式水分傳感器、按鍵電路、顯示屏幕等。

圖2 硬件系統結構圖
單片機是谷物水分測量控制系統的核心,常見的單片機有51單片機、STM32單片機[6]、AVR單片機等。51單片機和STM32單片機在嵌入式系統中使用廣泛,但它們還要額外的WIFI芯片[7]才能滿足數據傳輸的要求。而ESP32不僅是一個WIFI芯片,同時該單片機也可以進行片上編程,完全可以滿足通信和控制傳感器的功能要求。ESP32單片機電路如圖3所示。

圖3 ESP32單片機電路
在水分傳感器設計中,選擇精度較高、受外界干擾較小的電容式傳感器[8]。設計時,一方面通過硬件設計減小誤差,提高精確度;另一方面通過軟件進行誤差補償。本文設計了精確度為±2%RH以內的電容式水分傳感器,如圖3右下方所示。
單片機控制系統由初始化模塊、數據采集模塊、誤差補償模塊、通信模塊等組成[9]。首先通過網絡初始化連接網絡,通過全局變量使能硬件管腳,然后處理傳感器數據,接著進行品種選擇,最后通過通信功能將補償之后的數據上傳到云端。具體流程如圖4所示。

圖4 程序流程
其中誤差補償模塊(數據采集及修正)完成電容式水分傳感器軟件優化,主要通過程序設計了限幅和濾波兩個函數來減小誤差。
1)限幅通過函數map(x, y, a0)設置三個參數,分別對應初始濕度標定值、濕度最大標定量和傳感器讀取輸入量,參考程序如下。

2)濾波通過中位值升序排列取中間值,MedianAverage函數兩個參數分別為輸入值和輸入值個數,通過控制數據個數盡可能排除不良數據,減小誤差,參考程序如下。

通信系統由阿里云、數據庫和上位機模塊組成。通過MQTT協議[10]將數據上傳到阿里云平臺上,最終完成數據的顯示、計算、儲存等功能。
采用阿里云、硬件設備、IOT Studio雙向連接的MQTT協議,不同端之間可以進行數據的轉發,從而滿足設計要求。
阿里云主要完成業務編排和釘釘機器人的功能。其中,業務編排借助API實行更簡單的數據處理,在不借助其他軟件的情況下完成阿里云平臺和設備的通信功能開發,如圖5所示。釘釘機器人[11]為了解決移動端數據讀取問題,實現推送和報警功能,釘釘推送如圖6所示。

圖5 業務編排

圖6 釘釘群消息
數據庫錄入的是標準的溫濕度值,可以通過業務編排將該數據回傳給單片機做下一次采集的補償計算。MySQL數據庫[12]錄入系統具體界面如圖7所示,包括左側的數據顯示表格和右側的增刪改查按鈕。

圖7 MySQL數據庫錄入系統
通過本文設計的QT上位機[13]可以將顯示功能和數據庫操作集成在一個軟件操作,上位機的第一個標簽頁是數據顯示中心,可以顯示和查詢歷史數據。由于糧食水分含量受溫度的影響比較大,為了消除溫度對糧食水分測量造成的誤差,設計成組網模式,多個設備進行檢測,提高檢測精度。組網模式頁面如圖8所示,頁面左上角為設備管理欄,當選擇“谷物水分檢測”這個項目時就可以顯示該項目下的設備名稱,之后單擊“B_Dev”設備就可以顯示篩選設備上線所有時間段的數據表或者趨勢圖。右上角顯示了A、B、C三個設備對應的實時溫濕度數據,下方兩個表格為設備對應的曲線圖,方便觀察走勢并進行分析。

圖8 組網模式
為了檢驗電容式水分傳感器的數據采集及阿里云平臺的數據顯示、存儲效果,對整個系統進行靜態試驗。試驗的材料和設備包括:新鮮的玉米種子(一盆),谷物水分檢測系統設備(1臺),數據線(1根),電腦(1臺),電烘箱(加熱臺)。具體如圖9所示。

圖9 單機模式
在單機模式下,將檢測設備探頭插入玉米堆中,上位機立即顯示采集的相關數據,同時可以查詢詳細的數據。為了驗證該設備的實用性,在盡可能保證試驗可行性的情況下,本文進行了如下試驗。
設置A、B、C、D、E五組玉米堆,分別在常溫1(20 ℃)、常溫2(30 ℃)和烘干等三種試驗環境中,對每組進行3次測量,取平均值。如表1、表2所示。

表1 20 ℃溫度下試驗數據 單位:%

表2 30 ℃溫度下試驗數據 單位:%
由表1和表2的試驗數據可知,在溫度相同的情況下,各組三次試驗的平均值與每一次測量值誤差在2%左右,驗證了該設計數據檢測的正確性,同時系統硬件設計和軟件設計可以減小誤差。
分析不同溫度下的試驗數據,五組數據的平均值顯示,高溫(30 ℃)比低溫(20 ℃)谷物含水率降低了0.42%,說明溫度變化會對谷物含水率產生一定的影響:溫度越高,谷物含水率越低。數據實時顯示曲線如圖10所示。

圖10 數據顯示曲線
試驗驗證,該系統具有動態測量谷物含水率的基本功能,同時能云端存儲和顯示數據,方便、直觀,具有一定的實用性。
課題組為了解決傳統單片機數據處理和存儲困難的問題,設計了一種基于ESP32和阿里云的電容式谷物水分檢測系統,并通過試驗分析驗證了該系統的實用性。該系統能夠實時快速檢測并顯示谷物溫度值和水分值,并且在云平臺中存儲數據,可以隨時查詢歷史數據。