伍 薇,蘇文興,劉倩希
(玉林師范學校 計算機科學與工程學院,廣西 玉林 537000)
我國是農業大國,由水利部近三十年來發布的水資源公報可知,每年農業用水量占全國總用水量的60%左右[1]。從數據可以看出,農業用水方式還沒有得到明顯的優化。傳統的接觸式測距受外在因素影響較大,測距時要與被測物相接觸,增大了測量誤差[2-5]。本文就此問題設計了一款使用便捷且測距精度更高的非接觸式農田水位測量系統,通過超聲波實現非接觸式測距[6-8],并對超聲波在空氣中傳播導致的誤差進行溫度補償,以提高測距精度。
本系統設計的基本原理如圖1所示,總體框圖如圖2所示。

圖1 超聲波農田水位測量基本原理

圖2 系統總體框圖
本系統需要進行兩次定點測量,第一次測量超聲波傳感器距地面總高度h,第二次測量超聲波傳感器到農田水面之間的距離s。
首先對h的測量,在農田干旱的情況下進行,超聲波傳感器向地面定向發射超聲波,入射波到達農田地面后立即被反射,反射波被超聲波接收器接收,從超聲波發射到接收的時間間隔為Δt,利用時間渡越法就可以算出h:
式中,v為超聲波傳播速度。
再按下測量鍵,將h寫入E2PROM中,超聲波開始自動測量農田水位d:
按下測量鍵,代表已經確定好h,開始進行s的測量,與測量h一樣。測出s后,立即進行處理并得到農田水位。
最后可通過LCD屏實時查看農田水位情況,如果水位超過指定范圍,利用蜂鳴器和LED進行報警提示,以確保農田水位保持在一個適宜位置。
農田水位測量系統的電路原理如圖3所示。

圖3 硬件電路設計原理
以低功率、高性能的STC89C52為主控芯片,采用頻率為12 MHz的高精度晶振組成晶振電路,由K1按鈕控制復位形成復位電路,供電模塊采用5 V直流電源,以上即為最小系統的組成。
2.2.1 超聲波模塊電路
HC_SR04超聲波模塊的內部自帶一個40 kHz的電壓脈沖信號,其工作電壓為5 V,測量精度可達0.3 cm,其工作時序如圖4所示。工作方式是首先保持觸發控制信號Trig引腳為低電平,單片機P2.0引腳向Trig腳輸出一個持續10 μs以上的高電平,超聲波模塊被啟動后會連續發出8個40 kHz的脈沖,從而發出超聲波信號;信號發射完成后,回響信號Echo腳將發出持續的高電平,當模塊接收到反射回的超聲波時,該腳位被置地,Echo腳立即變為低電平,此時單片機處理該Echo的高電平持續時間即式(1)中的Δt。

圖4 HC_SR04模塊工作時序
2.2.2 溫度檢測電路
本設計中通過DS18B20溫度傳感器[9]對系統進行溫度補償,其不需要進行A/D轉化,能夠提高農田水位測量的實時性。溫度傳感器的電壓范圍為3.0~5.5 V,測量范圍為-55~125 ℃,滿足農田環境溫度測量要求。單總線通信接口(DQ)與單片機的引腳P1.0連接就可以實現互相通信,大大減小了外界對系統的干擾。
本次設計采用五個獨立式按鍵實現對農田安全水位值進行調整,五個按鍵分為設置/退出鍵、設置加鍵、設置減鍵、復位鍵、測量鍵。按下設置鍵后,進入最高、最低水位閾值進行界面設定,然后通過設置加減按鍵進行調整;按下復位鍵,本系統進行初始化到空狀態;按下測量鍵,表示已經測量好了超聲波發射器到農田地面之間的距離,開始實時測量農田水位。
數據顯示模塊由LCD液晶顯示和聲光報警兩部分組成。
LCD液晶顯示部分選用了體積小、低功耗的1602液晶屏,其主要原理是用電流刺激液晶分子產生點、線、面并配合背部的燈管來形成畫面的,按照顯示字符的行或點陣的行、列來命名;其主要顯示內容為設定的農田水位閾值、農田水位和當前環境溫度。
聲光報警部分由蜂鳴器與LED組成,當測量水位不在閾值范圍內時,會聽到報警聲并可以看到LED亮起[10];否則,無任何情況。
為提高測距精度和穩定性,本系統在設計中添加了溫度補償算法,利用數字溫度傳感器對超聲波模塊進行溫度補償,單片機通過溫度傳感器實時讀取當前環境溫度的數值,使得測距數據更加精確。超聲波在空氣中傳播時可以看作是在理想狀態下的小振幅聲波,對超聲波傳播速度進行溫度補償。
式中:B為氣體的彈性模量;ρ為氣體的密度,當溫度為0 ℃時,空氣密度為1.293 kg/m3。
由理想氣體壓縮特性可得:
式中:γ為氣體的比熱容,空氣的比熱容為1.402;P為氣體壓強,標準大氣壓為1.013×105Pa。
由理想的氣體狀態方程可得:
式中:V為氣體體積;m為氣體質量;M為氣體的物質的量,空氣為28.8×10-3kg/mol;R為摩爾氣體常數,為8.134 kg/mol;T為氣體溫度。
結合式(2)、(3)可得:
式中,V0為0 ℃下空氣中的聲速,為331.6 m/s。
由此可得,傳播介質溫度與超聲波的聲速呈非線性關系,進行溫度補償是必不可少的。利用溫度補償算法即可得到超聲波的波速。
本系統采用運行速度極快、存儲量小的C語言編寫,能夠使超聲波測距更加精確、實時性更強。在單片機內部設置最高/最低水位閾值,當測得的水位高于或低于閾值時,系統進行聲光報警提示,根據水位的高低報警頻率也會有所不同,直到水位恢復到最佳狀態時,才退出聲光提示。農田水位系統的整體軟件設計如圖5所示。

圖5 農田水位系統的整體軟件設計
以一個高30 cm的水池作為農田,并用高精度測量工具在水池內以5 cm為單位進行標記,選取標準大氣溫度(20 ℃)和常溫(25 ℃)作為環境溫度因變量,控制好環境溫度,使其溫度分別穩定在(20±0.5)℃和(25±0.5)℃,測試對象分別為未加溫度補償儀器(即市面上常見儀器)和本系統測距儀器,進行測距對比實驗,并在同一水位進行5次測量取其平均值進行記錄。將記錄數據繪制成折線圖,如圖6所示。

圖6 測試數據分析
按照平均相對誤差公式計算兩種溫度下的平均相對誤差,數據見表1所列。

表1 測量水位平均相對誤差
根據圖6與表1可得,采用本設計系統進行水位測量時,相較于未加溫度補償的設備,優勢在于誤差小、穩定性高,其在20 ℃環境下平均相對誤差從5.45降低到2.71,在25 ℃環境下其溫度補償水位測量精度大大優于未加溫度補償的水位測量。進行多次不同溫度環境下的測量后發現,未加溫度補償水位測量時波速是在標準大氣溫度下(20 ℃)確定的,所以環境溫度越偏離20 ℃,誤差就會越大;而溫度補償水位測量時可以發現其平均相對誤差會在0~5%區間內,大大保證了數據的準確性。
超聲波發射器發出的超聲波呈喇叭狀擴散傳播,會因反射物的不同而產生誤差。主要使用場景為農田,其空氣濕度的不同也會使測距存在一定的誤差。
本文根據超聲波測距原理,結合STC89C52單片機設計一種基于溫度補償算法的超聲波農田水位測量系統,添加溫度監測模塊有效地降低了超聲波水位測量的誤差,使得超聲波的穩定性和精確度得到了很大的提高。