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