吉成芳,陳高麗
(鄭州工業應用技術學院,河南鄭州,450000)
濕度是衡量土壤濕度最基本的單位,在空氣中一定體積的含水量是一個衡量濕度的基本單位,空氣中含水分越少,則表明環境中的空氣越干燥,同時如果環境空氣中的水分越多則表明空氣越潮濕。隨著科技的進步,人們研發出了低功耗、高性能的土壤檢測控制系統,通過這個系統可以實時監控土壤的濕度情況,同時為農戶解決土壤濕度監控問題,并且實現自動灌溉,方便高效。因此濕度檢測控制系統的研究越來越受到重視,本設計也考慮這個原因,進一步學習研究濕度控制系統。
土壤濕度檢測主要分為三部分:軟件設計、仿真設計以及實物設計。最終三部分統一結合完成土壤濕度檢測和控制,通過多次調試、測試最終實現土壤濕度檢測和控制的各個功能。同時實現LCD1602顯示、按鍵調節、報警、LED指示。其中下圖左邊代表輸入單元,將信號輸入到單片機中,后面輸出單元,單片機對不同的功能或者單元實現不同的控制過程。系統框圖如圖1所示。

圖1 系統框圖
本文以STC89C52為核心,用于控制濕度測控系統,以達到其性能目標。該系統的關鍵在于土壤濕度的自動控制,在這方面單片機有自己的獨特優勢,價格便宜、控制方面、易于編程、具有較好的穩定性。
單片機最小系統包括電源、復位電路、震蕩電路。MCU復位是為了使CPU和其他系統特性在系統中返回到一個確定的初始狀態并運行從初始狀態到啟動工作,例如當MCU復位PC0000H時,SCM系統單元從開始取指令。主控制最小系統電路如圖2所示。

圖2 最小系統電路圖

圖3 系統濕度正常工作狀態

圖4 仿真圖加水狀態
土壤濕度檢測控制系統的控制單元為單片機,本設計采用STC89C52為MCU單元,軟件編程方面采用keil軟件進行程序設計,編程語言為C語言,Protues7.5進行系統的仿真測試實驗,Protel99SE作為PCB原理圖和PCB硬件設計的工具。在系統的編程方面,A/D的轉換過程是本次設計編程的重點和難點單元,并且按鍵的控制在編程設計中也是重點和難點,為了方便進行觀察和控制系統的濕度信息和設置的上下限信息通過LCD1602顯示。程序的邏輯順序,在 main里面是從上到下無限循環運行,當遇到中斷或者按鍵變化時,保存斷點,響應順序有一個優先級,先調用中斷,然后調用按鍵,當中斷和按鍵執行過后繼續返回斷點繼續執行。當所有的編程調試通過編譯之后生成hex文件,手動通過Protues7.5軟件將hex文件添加到MCU里面。在仿真軟件里面對濕度控制系統進行測試。
系統濕度正常工作的仿真如圖3所示。RH_L顯示當前的按鍵調節的值,此時RH大于RH_L,即測得的土壤濕度值大于設定值,可以看到蜂鳴器報警指示燈關閉,模擬LED加水指示燈關閉。表示土壤濕度值在正常狀態。
土壤濕度檢測控制系統以單片機作為CPU單元,土壤濕度傳感器采集土壤的濕度,將采集的數據傳送給送給ADC0832轉換芯片,將轉換后的模擬信號送給單片機,單片機根據采集的數據分析當前的濕度,如果RH小于RH_L,即采集的土壤濕度小于當前設定的濕度,單片機給蜂鳴器發送指令、蜂鳴器報警同時LED點亮。同時單片機給繼電器發送控制直流,通過繼電器吸合模擬給土壤加水,同時LED指示燈點亮。當前的土壤濕度、設定的土壤濕度通過LCD1602顯示。在任意過程中都可以通過按鍵對濕度值進行連加和連減的功能。系統仿真如圖4所示。
系統實物,通過USB接口供電,將濕度傳感器插入土壤,測量土壤濕度。實驗時我們不斷向土壤里面加水,可以看到上面顯示系統界面,下面顯示當前的濕度值。以及濕度上限值,濕度的上限值可以通過按鍵進行調整。如果采集的土壤濕度小于當前設定的濕度,單片機給蜂鳴器發送指令、蜂鳴器報警同時LED點亮。通過繼電器模擬加水。

圖5 實物加水狀態圖
隨著土壤中水分的增加,濕度傳感器將新測得的數據傳到A/D模塊,在A/D模塊中進行轉換后發送給單片機,直到檢測值達到設定值蜂鳴器停止報警LED燈熄滅,繼電器停止工作。此時,土壤濕度值已經達到預定值。

圖6 土壤濕度正常圖
本文通過仿真和實物對檢測系統正常階段與警報階段的過程的對比,實現了對土壤濕度的檢測和控制。經試驗驗證,可以設定不同的濕度來對系統進行測試,這對今后對土壤濕度的研究具有一定的參考價值。