一、總體設計思路 以AT89C52單片機為系統核心,充當分析和處理數據的功能。基於AT89C52設計智能濕度控制系統,該系統需對環境空氣中的濕度狀態具有實時監測的功能、當空氣中的相對濕度不理想時可以自動加濕或者自動除濕的功能、電子數位管可以隨時顯示空氣中的相對濕度、手動設置濕度範圍值、並且具有報警功 ...
一、總體設計思路
以AT89C52單片機為系統核心,充當分析和處理數據的功能。基於AT89C52設計智能濕度控制系統,該系統需對環境空氣中的濕度狀態具有實時監測的功能、當空氣中的相對濕度不理想時可以自動加濕或者自動除濕的功能、電子數位管可以隨時顯示空氣中的相對濕度、手動設置濕度範圍值、並且具有報警功能的智能濕度控制系統。數據處理功能由AT89C52實現、濕度監測功能由溫濕度感測器實現、除濕由風扇實現、加濕由加濕器實現,報警功能由蜂鳴器實現。
二、AT89C52單片機
以AT89C52單片機為核心。使用其為處理器主要是因為它具有低電壓、高性能、耗能低的優點,且AT89C52單片機是8位單片機,對於初學者較為友好,在設計中也更加有利於我們的發揮。AT89C52單片機在各行各業都有著很廣泛的使用,在電子行業尤為突出,生活中常見的電子產品中隨處可見他的身影。
(圖1 AT89C52引腳圖)
由AT89C52單片機晶元的引腳圖可知該單片機共有引腳40個,各個引腳的功能不盡相同,這裡簡單介紹一下VCC和VSS埠,這兩個埠的功能是一樣的,都是單片機的供電埠,分別接的是電源的正極和負極。
三、系統設計思路
首先設置一個最大值和最小值,然後由溫濕度模塊感測器收集濕度信號,將濕度信號傳給處理器,濕度信號經過處理器處理分析之後得到濕度值,若是讀出的濕度值大於設置的最大值則蜂鳴器會報警,並且將除濕信號傳到除濕器上,開始除濕,當濕度值達到設置範圍內時處理器會發出停止指令,除濕器在接收到指令後停止工作,除濕過程結束。若讀出的濕度值小於設置的最小值,蜂鳴器報警,則處理器就會發出加濕信號,將加濕信號指令傳給加濕器,加濕器啟動開始加濕直到濕度值達到所設置的範圍值內,讀出濕度值在範圍內,處理器將停止指令傳給加濕器,加濕器停止工作,加濕過程結束。
四、設計原理
濕度檢測電路收集環境的相對濕度信號並通過A\D轉換,將收集到的物理信號轉化為電信號,信號經過轉換後傳送到處理器,處理器通過程式的運行,將檢測到的濕度電信號通過顯示電路以數字化的方式顯示出來,同時處理器會通過程式的運行來判斷濕度是否在所設置的濕度範圍值內。若檢測到的濕度不在預先設定的範圍值時,那麼加濕器與風扇就會工作加濕或者除濕。
(圖2 系統原理圖)
五、系統流程圖
(圖3 系統流程圖)
六、電路
1. 溫濕度檢測電路
(圖4 濕度檢測電路)
- 由圖可知單匯流排上的電壓經過整流二極體VD1整流,又經電容C201濾波後給濕度感測器供電(HIH-3610濕度感測器)和匯流排器件DS2430供電。濕度感測器HIH-3610在檢測到濕度信號後會輸出電壓經過電阻R101後進入匯流排器件DS2430的VAD端,在匯流排器件內經過A\D轉換後由DQ端輸出。
- 濕度感測器的能耗很低,只需5V電壓就能夠工作,同時消耗的電流也很低消耗的電流不到250毫安,滿足系統對於器件功耗不能過高的要求。
- 濕度感測器的輸出電壓與濕度的關係:
- 式中的字母含義分別為:濕度感測器的輸出電壓,濕度感測器的電源電壓,空氣相對濕度。式子中有三個變數,因此可知其中任一變數有其他兩個變數決定,在這當中我們固定電源電壓為5伏,那麼式子僅為空氣相對濕度和輸出電壓的關係,通過這個關係就可以將空氣相對濕度數字化並且顯示出來。
2. 加濕、除濕電路
(圖5 加濕、除濕電路)
當濕度檢測裝置檢測到空氣相對濕度高於設置的上限值時,AT89C52單片機會通過運行程式使P2.0輸出低電平,加濕器在接收到低電平信號後就會停止加濕,在加濕器停止工作的同時單片機晶元通過運行程式使P2.1輸出高電平,風扇在接收到高電平信號後開始工作除濕。在風扇的持續工作下使相對濕度到達所設置的範圍內時風扇停止工作。
3. 設置按鍵電路
(圖6 設置按鍵電路)
為了方便控制濕度,在系統中加入了可以預先設置濕度範圍的按鍵:
- S1為啟動、停止按鍵,控制系統的啟動和停止。按下系統開始工作,再按一下系統停止工作。
- S2為加一按鍵,用於設置濕度範圍的上限值,按一下濕度值加1,兩下加2同理。
- S3為減一按鍵,用於設置濕度範圍的下限值,按一下濕度值減1,兩下減2同理。
- S4為設置定時時間按鍵。
七、 實現功能
- 自動檢測環境空氣濕度;
- 數位管顯示實時濕度;
- 手動調節濕度;
- 自動控制濕度;
- 濕度異常報警。
上述內容,我們正在準備進行原型實現。全文最開始發佈在:五點半配電技術資訊網站:https://www.wudianban.com/humiditycontrol.html