◇咸陽師范學院物理與電子工程學院 王二寶 李夢琪 黃忠南 宋 丹
本文主要目的是設計一個能夠符合大眾需求的太陽能熱水器水位水溫控制器,并介紹了一種太陽能熱水器水位水溫控制器的系統。該系統采用了52單片機、DS18B20溫度傳感器、HCSR04超聲波測距模塊等元器件,能夠對水位、水溫進行實時監測和控制。硬件設計是用STC89C52作為核心芯片,通過按鍵設置溫度和水位的上下限,從而進行功能選擇,以達到控制水溫水位的目的,并通過LCD進行顯示。軟件設計依靠Keil編寫程序,并在Proteus軟件中進行仿真。軟件和硬件相結合,讓本次設計更有可行性,可以達到預期設想功能。
太陽能熱水器采用了溫室工作的原理,它將收集到的太陽能轉化為熱能,再將熱能遞送到需要加熱的水中,最終實現冷水加熱的設備。
集熱鍍膜吸收太陽輻射后,發熱,通過熱傳遞將內能傳遞至水中,水受熱后由于受到重力作用而獲得動力,儲存在水箱的上部,較低溫度的水會不停的進入水箱,反復循環,直至達到預設溫度。
優點:太陽能熱水器低碳綠色、適應力強、安全可靠。只要有陽光,便可正常運行,適合家庭多人使用;同時,太陽能熱水器抗凍能力比較強,避免過冷而結冰。
缺點:體積比較大,容易聚集水垢;安裝程序比較復雜,日常維護困難。
該控制器是基于52系列單片機設計的,設計思路如下:STC89C52單片機作為主控芯片,其和傳感器、顯示器件、報警器等共同構成控制器,傳感器采集水箱中的水溫和水位信號,將信號傳送給單片機后,最終顯示在LCD1602上[3]。本次設計通過按鍵設置水溫和水位的上下限,并進行功能選擇,以達到控制水溫水位的目的,當達到水溫和水位的下限值時,會觸發報警系統,并開始自動加熱和上水;當達到上限值時,會再次觸發報警系統,停止加熱加水。
(1)控制芯片的選擇。方案一:采用STC89C52作為主控芯片,其屬于52系列,不僅包含51系列的所有功能,還有很多51系列沒有的功能。其速度比傳統8051快8~12倍,且市場供應充足,是一款低功耗、高性能、加密性好、抗干擾強的單片機。方案二:采用51系列單片機,51系列單片機入門芯片,使用熟練,復雜運算難以實現。比較以上兩種方案,最終選擇了方案一,不僅僅是因為它的價格、實現功能的方式,而且它符合本次設計,可行性也比較強。
(2)水位檢測電路選擇。對于水位檢測電路有很多方案,通過篩選,最終選擇了以下兩種方案。方案一:采用簡單的機械式檢測水位。優點是結構簡單,成本低。但精確度低,且不能顯示數值。方案二:采用HCSR04超聲波測距模塊,其可以準確的測量距離,測量的范圍廣,且誤差小,其便于安裝。比較以上兩種方案,考慮到精確度以及實施可行性,決定采用方案二。方案二更加方便,也更加合理。
水位采集工作是HCSR04超聲波測距模塊與單片機一起完成的,在檢測水位時,HCSR04發送超聲波,并觸到水面時返回,并通過計算得到水位。采用此電路不僅簡化了電路,而且加強了可靠性。
工作原理:單片機和HCSR04一起完成水位采集工作,其原理就是所謂的時間差測距法。單片機發出一個高電平信號HCSR04接收后開始進行測距,模塊發出信號,并檢測是否有返回的信號,若有則ECHO口輸出高電平。
當與設定的溫度值進行比較后,如果測得的溫度低于所設下限值,單片機將會接收此信息的反饋,發出加熱的指令,直至達到設定溫度上限值時,停止加熱。
顯示電路在本設計中要求顯示溫度和水位值,方便用戶可以直接查看數值,對當前的水溫水位有直接的了解,來選擇之后是否升溫、是否加水。本設計在經過模塊對比之后,最終選擇LCD1602作為顯示電路的核心元件。在此系統中,其用來顯示溫度以及水位值。
按鍵模塊是利用獨立按鍵進行設定固定值和功能,將按鍵接入電路中,達到自己所要預期上下限值和功能。按鍵電路是用來實現調節設定溫度和水位的固定值以及所需要的功能。
容積設定按鍵K1,按一下K1鍵可以設置水位的上限值,按兩下可設水位的下限值,再按一下確定設置。
溫度設置按鍵K2,按一下K2鍵可以設置水位的上限值,按兩下可設水位的下限值,再按一下確定設置。
當處于設置水溫界面時,按下按鍵K3/K4,可以設置水溫。
當水的溫度低于設定的下限溫度值時,單片機輸出高電平,三極管導通,觸發報警設置,提示水溫過低,并自動加熱,當水的溫度到達上限溫度值后,加熱系統停止加熱。當水位低于設定的下限水位值時,電路報警,水泵工作,開始自動抽水,直至達到上限水位值時電路會再次報警,且系統停止抽水。
接上電源后,單片機、傳感器、顯示屏開始初始化,進入主程序運行,進行按鍵掃描處理,以及對各模塊子程序的調用,以及在各個模塊無外部中斷申請時,在顯示屏上進行實時顯示。主程序流程如圖1所示。

圖1 系統主程序流程圖
單片機功能的實現依靠軟件的運行。在軟件Keil4中用C語言進行編寫程序,編譯鏈接,直至沒有錯誤,再生成.hex格式的文件,將它再加載到Proteus原理圖中進行仿真。
在仿真軟件Proteus上畫出電路圖,添加.hex文件后進行仿真運行。觀察現象是否達到預期結果,再焊接實物圖。
在經過元器件選擇、軟件仿真、以及焊接之后,進行實物的調試。
接通電源后,顯示屏上顯示當前的水位、水溫、桶的容積以及HCSR04距水面的位置。