







摘" 要:溫濕度測量儀在農業發展中是一個很關鍵的測量監控設備。將溫濕度測量儀實際投入蔬菜大棚中使用,可以讓種植者實時觀測到室內精確的溫度與濕度數據,有利于生產者控制室內生長條件,為蔬菜提供一個優良的生長環境,最終達到產值大幅度提高的目的,實現農業發展的高質量需求。該文設計一個基于STC89C52型號單片機的可行的溫濕度測量系統。其中,將DHT11溫濕度傳感器、LCD1602液晶顯示屏、蜂鳴器等元件相組合,并且利用萬用板及導線完成系統電路的連接。
關鍵詞:STC89C52單片機;DHT11溫濕度傳感器;溫濕度測量儀;設計;蔬菜大棚環境
中圖分類號:TP273" " " 文獻標志碼:A" " " " " 文章編號:2096-9902(2024)06-0015-05
Abstract: Temperature and humidity meter is a key measuring and monitoring equipment in the development of agriculture. The actual use of the temperature and humidity meter in the vegetable greenhouse can enable growers to observe indoor accurate temperature and humidity data in real time, which is helpful for growers to control indoor growth conditions and provide an excellent growth environment for vegetables, so as to achieve the goal of greatly increasing the output value and realize the high-quality demand of agricultural development. This paper will design a feasible temperature and humidity measurement system based on STC89C52 single-chip microcomputer. Among them, the DHT11 temperature and humidity sensor, LCD1602 liquid crystal display screen, buzzer and other components will be combined, and the universal board and wire will be used to complete the connection of the system circuit.
Keywords: STC89C52 MCU; DHT11 temperature and humidity sensor; temperature and humidity meter; design; vegetable greenhouse environment
隨著社會和經濟的不斷發展,生活質量逐步提高,人們對健康綠色食品的需求也越來越大,所以在糧食蔬菜種植和食品生產方面的要求也越來越高。種植者通過嚴格控制糧食蔬菜的生長環境來提高產值,溫度和濕度的精確控制對良好的生長環境就顯得尤為重要。
同時隨著科學技術的不斷進步,單片機及相關的電子信息技術與產業的飛速發展,以及單片機具有的成本低、體積小、功能強和操作便捷等優點,使得單片機系統被廣泛應用到各個不同的領域。使用單片機與相關的傳感器實現對溫度與濕度精確地檢測和控制,不僅減少了人為檢測監控帶來的麻煩與人力消耗,還增加了數據的采集量與精確度,使數據更具備參考利用價值,從而對生產帶來積極的影響。
1" 系統總體設計方案
1.1" 系統功能
測量系統需要完成的功能是:①實時采集蔬菜大棚內的溫度和濕度,由單片機對采集到的數據進行數據處理、顯示并傳輸記錄下來,若檢測到的溫濕度超過規定范圍,發出報警信號,實現智能化檢測。②系統工作穩定,抗干擾能力強。溫度測量范圍控制在-10~50℃,誤差小于±1℃;濕度測量范圍20%~100%,誤差小于±5%。
1.2" 系統組成
以STC89C52單片機為核心,采用溫濕度測量技術、通信技術、控制技術等。以DHT11溫濕度一體傳感器作為測量元件。兩者結合構成自動化的溫濕度檢測系統。將由溫濕度測量電路、數據采集顯示電路、報警提醒電路等部分組成(具體模塊如圖1所示)。選用到的主要器件有:STC89C52單片機、DHT11溫濕度傳感器、LCD1602液晶顯示屏、蜂鳴器和LED小燈等。
1.3" 系統工作原理
本系統以STC89C52單片機為中央控制設備,所有關于數據的采集、傳輸、分析等都要通過單片機的控制來實現。由DHT11溫濕度傳感器對環境的溫濕度數據進行采集,然后將采集到的數據傳輸給單片機,單片機進行數據處理與分析,再將處理好的數據顯示在LCD1602液晶屏上;當數據超過了先前設定好的正常范圍時,蜂鳴器將會實時報警,報警的同時,紅色的LED警示小燈將會亮起。整個實驗中,單片機將通過C語言進行編程。
1.4" 系統功能詳細闡述
第一步:上電,啟動電源鍵,將程序燒入單片機。電源燈會亮起,DHT11傳感器工作狀態燈亮起,若溫濕度數值處于設置的正常范圍內,代表正常的LED小燈將會閃爍一次。
第二步:未調節設置正常測量范圍時,將保持上一次關機時設置的范圍。若要重新設置,需要通過按下不同的按鍵進行調節設置。比如:按下靠左邊的按鍵可選擇移動光標到想要調節的數字位置上;按下中間的按鍵可調節數字減小;按下靠右邊的按鍵可調節數字增加。
第三步:STC89C52單片機將會接收到來自DHT11溫濕度傳感器實時采集的環境溫濕度數據,單片機會對收到的數據進行分析處理,然后將數據通過LCD1602液晶屏顯示出來。
第四步:程序判斷采集到的數據是否在正常范圍內,若溫濕度都在正常范圍內,則直接顯示數據,LED小燈不會亮起,蜂鳴器也不會報警;若都不在正常范圍內,則顯示數據,代表溫度異常的黃色LED小燈和代表濕度異常的綠色LED小燈亮起,蜂鳴器報警提醒;若溫度不在正常范圍內,濕度在正常范圍內,代表溫度異常的黃色LED小燈亮起,蜂鳴器報警提醒;若濕度不在正常范圍內,溫度在正常范圍內,代表濕度異常的綠色LED小燈亮起,蜂鳴器報警提醒。
第五步:記錄與分析實時變化的數值。因為之后將通過對時鐘的設置,實時數據采集將會按照規定的時間每2 s更新一次,每更新一次記錄一次數據,至少記錄下10組以上的數據。提前準備一只標準的水銀溫度計和濕度測量儀器,每一次記錄下自制測量儀量到的數據時,同時也讀取一次溫濕度計上的一組數據。因為溫濕度計在生產過程中都經過精準的校對,所以溫濕度計的精確度都比自制測量儀的更高,所以溫濕度計上的數據作為一組標準值,將同一時間段的自制測量儀測量數據與之相比較,觀察2組數據的差異。10組數據中,至少8組數據達到溫度差異值小于1 ℃,濕度差異值小于5%這2個標準,才能得出傳感器測量數據相對精準的結論。
2" 硬件設備概述
2.1" DHT11數字溫濕度傳感器
該傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器[1]。因此該傳感器可以同時檢測到環境的溫度和濕度。并且DHT11溫濕度傳感器具有許多優點,比如品質優良、工作狀態穩定、響應速度快等。供電電壓為直流電3.3~5.5 V,濕度測量范圍為20~90 RH(Relative Humidity)溫度測量范圍為0~50 ℃,不可讀取負溫度和小數位溫度[1]。
相比于DS18B20溫度傳感器和HS1101濕度傳感器[2],兩者無論是在采集范圍還是采集精度方面,都占據優勢。但是,DHT11能夠實現同時測量環境的溫度和濕度,簡化了硬件設備的連接。
2.2" LCD1602液晶顯示屏
若使用LCD1602液晶顯示屏來顯示溫濕度數值雖然會使得程序編寫變得比較復雜繁瑣,但是該顯示屏可顯示的內容比較豐富完整,比如:完整地顯示出溫濕度的英文字母及符號,這樣能更清楚地表示系統此刻的工作狀態。
考慮到本次設計中需要清晰地顯示溫度與濕度的數值、符號及單位,并且LCD1602液晶顯示屏的可分行顯示的優點能夠讓我們呈現出更多的內容,比如說顯示出“DHT11 system”字樣,讓人能夠一目了然地看出該系統是選用DHT11溫濕度傳感器來完成溫度與濕度數據測量采集工作的。
2.3" 按鍵板塊——獨立按鍵
通過在電路中連接3個獨立按鍵,實現溫濕度測量范圍的調節與控制。比如:按下按鍵1,光標會移動,可選擇想要調節數字的相應位置;按下按鍵2,數字會增加;按下按鍵3,數字會減小。這樣設計的優點在于程序編程簡單,操作快捷,容易上手,便于調節到需要的任意值,缺點在于浪費IO口。
3" 硬件設計
3.1" 硬件模塊設計
首先,電源模塊將為整個系統供電,驅動每一個模塊的正常運行;其次,單片機作為核心將聯系起每一個單一的模塊,并且單片機也將統籌管理操控每一個模塊的工作;接著進入測量環節,溫濕度檢測模塊實時采集環境下的溫度和濕度數值,傳送給單片機,進行分析處理,單片機又將控制LCD顯示模塊將數據清晰地顯示出來。此時,用戶可通過按鍵設置模塊任意設置合理的范圍值,然后通過測量值與標準值的數據對比判斷,異常結果將通過LED燈警示模塊和蜂鳴器報警模塊呈現給用戶,起到提醒作用,幫助用戶及時實施溫濕度調控措施(圖2)。
3.2" 單片機的基本工作原理
單片機的最小系統為單片機電源、晶振電路和復位電路。本課題將利用到51系列單片機。51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。
STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。因為STC89C52單片機在芯片上擁有靈巧的8位CPU和在系統可編程Flash,所以 STC89C52單片機為很多系統提供了合適高效的解決方案[3]。STC89C52相關圖片如圖3所示。
4" 軟件設計
4.1" 編寫語言的選擇(C語言)
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用于底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以一個標準規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平臺的許多計算機平臺上進行編譯。
4.2" 編程軟件的選擇(Keil)
Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000和WINXP等操作系統[4]。
對于51系列單片機,最常用到的語言有匯編語言和C語言。該軟件利用C語言編寫,操作簡單,參考例程多,因此,很多高校學生的專業學習及開發人員的研究操作都選用該軟件來完成。
4.3" 程序燒錄軟件的選擇(STC-ISP)
STC-ISP 是一款單片機下載編程燒錄軟件,是針對STC系列單片機而設計的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機,使用簡便,現已被廣泛使用。在操作過程中,首先要選擇好單片機的型號以及連接的串口號;其次需要設置好波特率;然后選擇項目程序中后綴為“hex”的文件;最后點擊下載即可。
4.4" 系統軟件設計
系統軟件總體流程圖如圖4所示。
5" 測量精確度分析
為了涉及較廣的測量范圍,前2組數據的測量將運用到家用冰箱的冷藏、冷凍層模擬秋冬較為寒冷的蔬菜大棚環境。將自制測量儀和溫濕度計同一時間放入冰箱冷藏冷凍層,關上冰箱門大概20 min,給2個儀器足夠的時間適應環境,待示數穩定下來后再進行讀取;后3組數據利用到家用蒸汽鍋上方的蒸汽模擬春夏較為炎熱的蔬菜大棚環境。蒸汽鍋開始出氣后,將測量儀和溫濕度儀掛在蒸汽鍋上方的同一高度,對2組溫濕度數據進行觀察記錄;中間幾組數據則是常溫環境下的溫濕度數據(表1、表2)。
由圖5可觀察到點線代表標準溫度,實線代表測量溫度,短劃線代表溫度差值。其中,點線與實線基本吻合;而短劃線基本趨于一條平穩的直線,誤差在±1 ℃內。說明自制測量儀和溫濕度計的溫度測量數據基本一致,符合測量精度標準。
同理,由圖6可觀察到點線代表標準濕度,實線代表測量濕度,短劃線代表自制測量儀濕度數據和溫濕度儀濕度數據差值。其中,點線與實線基本吻合;而短劃線基本趨于一條平穩的直線。說明自制測量儀和溫濕度計的濕度測量數據基本一致,也符合測量精度標準。
6" 結束語
本文主要研究設計溫濕度測量儀,并將其有效應用于蔬菜大棚環境下的實時數據采集與監控。在理論分析的基礎上,以STC89C51單片機為核心,加上DHT11溫濕度傳感器、LCD1602液晶顯示屏等元件進行組裝連接,形成一個完整的系統;運用了Keil軟件編寫C語言代碼來完成元件的采集、顯示、傳輸和報警等功能,以及單片機對數據的分析處理。最終系統通過實驗數據證明,可正常運用到普通的溫室大棚環境下完成溫濕度的測試,基本達到預期的精確度。
但是如今這樣的高效自動化系統仍然存在一些不足之處,系統元件本身會發生由于老化造成一系列問題,比如反應遲緩、工作狀態不穩定、測量精度降低等;還有一個問題是系統的投入使用就意味著將長期暴露在不同條件的環境下工作,現在很難做到所有使用到的元件都能適應環境的大幅度變化,這也就加速了元件的老化,進而減短了元件的使用壽命,而且頻繁地更換新設備,生產者的開銷也將會有所提高。這樣的問題可能就會造成很多生產者放棄選用溫濕度測量系統,而是轉用原始的測量方式,導致可利用率也就隨之降低,發展趨勢并不樂觀。想要解決問題就需要研發人員去攻克硬件上的設計開發,創新出更多適應性強的產品,以及各個制作廠商也需要在工藝上有進一步的突破,在材質上也能促使產品達到更高的效果。同時在未來的科技發展中,進一步提高測量儀的精確度將成為努力的目標,這將給更多種類的糧食瓜果蔬菜提供更高、更精準的可控制生長環境。
參考文獻:
[1] 陳紹勇.基于單片機的溫濕度控制系統的設計[J].科技資訊,2016,14(27):22,24.
[2] 閔天倫,韓靜,冷豐汐.基于單片機的溫濕度檢測系統的設計[J].四川水泥,2016(7):99.
[3] 張為.基于單片機的溫濕度測量系統設計[J].陰山學刊(自然科學),2010,24(3):26-29.
[4] 趙健,吳順偉.基于單片機的溫濕度測量系統的研制[J].電子技術,2008(9):39-41.