【摘 要】主要介紹了太陽能熱水器的檢測控制系統的硬件設計和軟件設計。將低價位的單片機引入太陽能熱水器中,以AT89C52 為核心, 實時采集溫度和水位數據, 并設置報警系統,具備水溫水位及時間的顯示功能,實現了太陽能熱水器的水溫水位的檢測與控制,在生產生活中將起到很大的作用。
【關鍵詞】AT89C52單片機;溫度檢測與控制;水位檢測與控制;LED顯示
在全球提倡綠色環保并采用新型能源的今天,太陽能熱水器得到了廣泛的應用,因為其節省能源,沒有污染,并且使用方便。在太陽能熱水器的整個系統中,起到至關重要的作用的中心環節就是檢測控制系統。控制器不僅實現了對水溫,水位的檢測與控制,而且也實現了對時間,日期的控制及顯示。但目前市場上太陽能熱水器的控制系統大部分都存在功能單一、操作復雜、控制不方便等或多或少的缺點。隨著科學技術的發展,人們生活水平的提高,對太陽能控制系統也就提出了更高的要求,所以開發一種控制方便,操作靈活的太陽能熱水器的控制系統是當務之急。
1.控制器系統的總體設計
1.1系統的總體要求
本控制器有主從兩個系統,主控系統以AT89C52單片機為核心控制整個系統,選用合適傳感器及接口,鍵盤,顯示電路,實現太陽能熱水器的溫度,壓力,時間檢測與控制;從控系統是輔助加熱系統,在陰天下雨等陽光不充足的情況下,從控系統對水進行加熱,以達到24小時都能夠供應熱水的目的。所以本設計既充分利用太陽能的豐富的免費的資源,又能在陰天及夜間無法利用太陽能的時對蓄水箱加熱。
1.2系統的組成
太陽能熱水器的控制器主要由主控制器(即單片機),溫度檢測單元,水位檢測單元以及輔助加熱單元組成。各個單元發揮各自不同的作用及功能。外接顯示器以及按鍵作為人機交流介質。
太陽能熱水器控制器結構如圖1所示。
圖1 太陽能熱水器控制器的結構圖
2.系統的硬件設計
2.1溫度檢測電路設計
為了實現對水箱內水溫的實時檢測,蓄水箱溫度檢測電路采用DS18B20傳感器,它的精度高、互換性好,只使用一根電纜遠距離傳輸溫度數據,抗干擾性好。通過測量輸出脈沖頻率的大小來換算成水溫信號,再將溫度信號轉換成脈沖電信號,將溫度數據進行編碼送到AT89C52的I/O 口(編程為計數器工作模式)P1.3口,單片機通過讀取該線數據,經處理后送LCD12864顯示,溫度檢測電路如圖2所示。 圖2 溫度檢測電路
2.2水位檢測電路
水位檢測電路利用了水具有導電的性質。
在此設計中有四個水位段,分別是低水位、中水位、高水位和超高水位,水位由潛入太陽能熱水器的儲水箱不同深度的水位電極和潛入儲水箱底部的公共電極(導線)進行檢測,共5個電極。每檢測到水位到達的電極,電路便得到一位數據,待檢測一遍以后便得到了5個串行數據,然后把這5個數據轉化為字節一路送發光二極管,我們可以用發光二極管亮的盞數來顯示水位的高低。
2.3控制器時鐘接口電路設計
采用美國DALLAS半導體公司最新推出的時鐘芯片DS12887,為單片機中斷線IN TO提供中斷信號的是P3.2。SQW端口輸出頻率為2Hz方波,經二分頻后,驅動顯示時鐘秒閃爍的兩個LED發光二極管。時鐘接口電路如圖3所示。
圖 3 時鐘接口電路
2.4顯示接口電路的設計
為了實現對水溫水位以及時間的形象顯示,本設計采用FYD12864-0402B液晶顯示模塊。該模塊為128 64點陣顯示,不僅能顯示漢字,而且可以顯示圖像,可以使實用者的操作更為簡單,清晰。
采用的AT89S52和液晶12864LCD模塊的接口電路如圖4所示。由于12864采用串口通信,其特點是占用單片機口線少,電路簡單、直觀、操作方便。
圖4 顯示接口電路
2.5單片機復位電路的設計
2.5.1上電復位電路
設計中用的是上電復位,是指單片機只要一上電,便自動的進入復位狀態,當采用的晶體頻率為12MHZ時,可采取C=10uF,R=8.2KΩ。
2.5.2晶振電路
單片機的時鐘信號通常用兩種電路形式得到:內部振蕩方式和外部震蕩方式。本設計采用內部震蕩方式。XTAL1為內部時鐘工作電路的輸入,XTAL2為來自反向振蕩器的輸出,在這兩個引腳端外接石英晶體振蕩器,形成自激振蕩電路,并產生震蕩時鐘脈沖。
上電復位電路和晶振電路如圖5所示。
圖5 上電復位電路和晶振電路
2.6光電隔離與輔助加熱電路設計
在陽光充足時,熱水器能夠正常加熱工作,但是在陰雨天,由于陽光不足,水溫有時會達不到所需的設定溫度。因此本設計給出了一套從系統,即輔助加熱系統,在光線不足的時候,可以啟動次從系統對水箱中的水進行加熱,以實現熱水的連續供應。
光耦合器選用型號6N137,續流二極管選用型號IN4007,繼電器選用型號HLR1000-240DT1H2Q。
當單片機AT89C51的P3.3口輸出高電平時,三極管V1導通,致使發光二極管發光,同時光敏三極管導通,繼電器閉合,電阻絲R10~R14發熱,這樣就完成了加熱任務,此電路雖然簡單,但在太陽能熱水器中是必不可少的,光電隔離與輔助加熱電路如圖6所示。
圖6 光電隔離與輔助加熱電路
3.系統的軟件設計
控制系統的軟件是服務于硬件的,系統將實時采集到的數據與相應的設定值進行比較、判斷,結果是控制循環水泵或上水電磁閥的工作,實現各種智能控制。同時,軟件還要兼顧到操作人員方便地選擇工作方式、設置和修改各種設定值,因為人們可以根據天氣情況及用戶的需要選擇定時加熱狀態、自動加熱狀態。軟件還要設定以太陽能為優先使用的能源,只有在太陽能沒有將水溫加熱到用戶要求的溫度下,才啟動輔助能源進行加熱。
整個系統的控制程序采用MCS-51匯編語言編寫,軟件系統由主程序和子程序組成。 圖7 系統主程序流程圖
子程序要實現各種功能,包括:初始化子程序、裝載設定值子程序、加熱子程序、定時中斷服務子程序、溫差跟蹤循環子程序、手動檢測子程序、顯示子程序、鍵處理子程序、水位檢測子程序、報警子程序等。
主程序主要實現對系統加熱、設定值、手動檢測三種工作方式的選擇,主程序流程圖如圖7所示。
3.1溫度和時間設定設計
設定值主要是完成溫度和時間設定。
對于對溫度的設定,每次開機系統都要從DS1288讀取設定值,如果系統沒有設定值,系統就默認為前次關機時的設定值,所以無需每次開機都要從頭設定。對時間的設定,一般采用模糊控制的思路,對水位、溫差與加熱時間長短對應分出幾檔,加熱前對檢測水位及溫差,就可對照相應檔的加熱時間,這樣就可以計算出提前加熱的時間,實現系統的預定功能。
3.2水位檢測子程序設計
系統采用分段式水位檢測,共四段水位,當水位低于設定最小值時,系統自動上水補給。當到達設定水位最大值時,給水停止。從而時間循環不間斷供水。
3.3鍵盤掃描子程序設計
系統采用獨立式鍵盤。通過判斷那個鍵按下,從而轉到相應的程序進行處理。實現功能設置以及設定時間,水溫及水位功能。功能按鍵按一次為水溫設計模式。兩次為水位設置模式,三次進入時間調節模式。
3.4顯示子程序設計
為了形象的顯示出當前的時間水溫及水位,本系統采用LCD12864點陣液晶顯示模塊作為顯示部分。此液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊。可顯示漢字及圖形。
4.結束語
本系統的設計基于節能減排的目的,具有控制與顯示精度高、可靠性好,按鍵較少、易于控制的特點,而且價格低廉,容易讓廣大用戶接受。
【參考文獻】
[1]楊麗君.AT89C51單片機控制的多路溫度檢測系統.自動化與儀表,2000(3):66-68.
[2]劉福才,樸春俊,劉豐.基于DS12887的太陽能熱水器只能控制的設計[J].自動化與儀表,2000(4):15-17.
[3]王彤.太陽能熱水器自動溫度控制器設[J].儀器儀表用戶,2004,05:38-39.
[4]李全利.單片機原理及接口技術[M].北京:高等教育出版社,2007.
[5]王俊杰.基于AT89C51單片機的太陽能熱水器智能控制器的設計[J].鄭州輕工業學院學報(自然科學版),2005(3):67-68.