方 小 坤
(揚(yáng)州職業(yè)大學(xué),江蘇 揚(yáng)州 225009)
目前,市場(chǎng)上多數(shù)太陽能熱水器的功能比較單一、操作不方便。鑒于此,本文設(shè)計(jì)了一款以89C51F310 為核心芯片[1],實(shí)現(xiàn)水溫、水位的顯示、自動(dòng)電加熱、自動(dòng)報(bào)警等多功能的太陽能溫控系統(tǒng),本系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低,具有良好的市場(chǎng)應(yīng)用前景。
太陽能溫度控制系統(tǒng)[2]主要由五個(gè)部分組成,分別為水溫、水位檢測(cè)、顯示、按鍵以及電磁閥驅(qū)動(dòng)部分組成。具體控制系統(tǒng)結(jié)構(gòu)框圖,如圖1所示。
89C51F310 系列單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,具有內(nèi)置的FLASH 程序存儲(chǔ)器和256 字節(jié)的內(nèi)部RAM,機(jī)器周期由標(biāo)準(zhǔn)的12 個(gè)系統(tǒng)時(shí)鐘周期降為1 個(gè)系統(tǒng)時(shí)鐘周期,處理能力大大提高,峰值性能可達(dá)25MIPS。
圖1 控制器的結(jié)構(gòu)
其工作過程,首先通過按鍵設(shè)置水箱的溫度,系統(tǒng)進(jìn)行水箱內(nèi)的水溫自動(dòng)檢測(cè),如果檢測(cè)溫度高于設(shè)置溫度且水位未達(dá)到最高位時(shí),控制系統(tǒng)打開電磁閥進(jìn)行上水同時(shí)點(diǎn)亮上水指示燈,直到水箱內(nèi)水溫與設(shè)置溫度一致時(shí)停止上水。如果檢測(cè)溫度低于設(shè)置溫度時(shí),系統(tǒng)控制電阻絲對(duì)水箱內(nèi)的水進(jìn)行加熱同時(shí)點(diǎn)亮加熱指示燈。系統(tǒng)通過五個(gè)指示燈表示水箱內(nèi)的水的位置,當(dāng)水箱內(nèi)水位低于最低水位或高于最高水位時(shí),會(huì)通過指示燈進(jìn)行報(bào)警。
本設(shè)計(jì)采用了DS18B20 數(shù)字溫度傳感器來測(cè)量溫度[3],該傳感器采用單總線技術(shù),能有效的減小外界的干擾,提高測(cè)量的精度,同時(shí),它可以直接將被測(cè)溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供單片機(jī)處理,DS18B20 可以程序設(shè)定9 ~12 位的分辨率,精度為±0.5℃。電路如圖2 所示。當(dāng)溫度低于設(shè)定溫度時(shí),通過繼電器開關(guān)使電阻絲加熱。
圖2 水溫檢測(cè)電路
水位傳感器采用5 個(gè)銅鉚釘作為電極[4],最下部的電極作為公共端,其余表示水位,電極間相當(dāng)于一個(gè)開關(guān),有水時(shí)水中的離子導(dǎo)電,開關(guān)導(dǎo)通,直流電壓通過電阻和水位開關(guān),將信號(hào)送到單片機(jī)端口,通過端口電壓變化判斷水位的大概位置,并通過4 個(gè)LED 燈顯示水位狀況,當(dāng)水位低于最低水位時(shí),紅色LED 燈報(bào)警,同時(shí)打開電磁閥自動(dòng)上水,水位檢測(cè)電路如圖3 所示。
圖3 水位檢測(cè)電路
按鍵的選擇電路如圖4 所示,本系統(tǒng)采用獨(dú)立式按鍵模式,各個(gè)按鍵相互獨(dú)立。通過調(diào)節(jié)按鍵可實(shí)現(xiàn)水溫的顯示、調(diào)節(jié)以及上水/停止等功能。
圖4 鍵盤電路
顯示電路采用共陰數(shù)碼管4BS2H501T,MAX7219 作為驅(qū)動(dòng)控制芯片實(shí)現(xiàn)動(dòng)態(tài)掃描電路,如圖5 所示,數(shù)碼管可顯示水溫?cái)?shù)值,4 個(gè)LED 指示燈顯示水位,其它4 個(gè)分別顯示上水、加熱、報(bào)警、電源的狀態(tài)。
本系統(tǒng)軟件程序采用C 語言,運(yùn)用PID 閉環(huán)控制理論。系統(tǒng)的程序主要由溫度采集程序、顯示程序、按鍵程序、驅(qū)動(dòng)程序等組成。溫度控制主程序流程如圖6 所示。
主程序:
圖5 顯示電路
圖6 流程
Read-Temperature();//溫度檢測(cè)
Read-Temperature();//溫度檢測(cè)
Delay-1ms(100);
EA=0;
TCON=0x10;//重新清除外部中斷標(biāo)志
Init-Max7219();//MAX7219 初始化
Clear-Max7219();//MAX7219 清除顯示,
免去干擾
ET0 =1;//打開T0 中斷
EA=1;
Led-Bit=0x40;
Write-Max7219(0x06,Led-Bit);//掃描第5位指示燈位(LSB),并送段碼顯示
while(1)
{Read-Temperature();//溫度檢測(cè)
Test-WaterLevel();//水位檢測(cè)
Scan-Key();//鍵盤掃描
if(P1 = =0xFF)
{Process-Key();//鍵盤處理}
if(!F-Set)
{Dis-Temp();//顯示溫度界面}
else
{Dis-Set-Temp();//顯示溫度設(shè)置界面}}
系統(tǒng)安裝后,針對(duì)幾種冷、熱水溫度進(jìn)行了測(cè)試[5],設(shè)定出水溫度為30℃。為考察實(shí)驗(yàn)系統(tǒng)對(duì)不同進(jìn)水溫度變化時(shí)的調(diào)節(jié)速度,實(shí)驗(yàn)中使用SWK -2 表面溫度計(jì)測(cè)量冷、熱水溫度,且保持水壓恒定。由于水的熱容量較大,水溫本身也難以突變。系統(tǒng)的控制方案較簡(jiǎn)單,只是線性的時(shí)間調(diào)節(jié)。若遇到溫差較大時(shí),則調(diào)節(jié)時(shí)間較長(zhǎng)。
針對(duì)現(xiàn)有多數(shù)熱水器不能自動(dòng)進(jìn)水、沒有水溫水位顯示、不能自動(dòng)加熱,造成了水資源和能源嚴(yán)重浪費(fèi)等現(xiàn)象。本設(shè)計(jì)方案創(chuàng)新的提出采用了高性能的89C51F310 單片機(jī),其豐富的片內(nèi)資源,實(shí)現(xiàn)對(duì)水溫、水位的檢測(cè)、自動(dòng)加熱以及自動(dòng)上水等功能的智能化控制,抗干擾能力強(qiáng),應(yīng)用前景廣泛。
[1] 孫育才.單片微型計(jì)算機(jī)及其應(yīng)用[M].南京:東南大學(xué)出版社,2004.
[2] 鮑文勝.基于單片機(jī)的太陽能熱水器控制系統(tǒng)研究[J].青島理工大學(xué)學(xué)報(bào),2007,(5):79 -80.
[3] 趙娜,趙剛,于珍珠,等.基于51 單片機(jī)的溫度測(cè)量系統(tǒng)[J].微計(jì)算機(jī)信息,2007(1 -2):146 -148.
[4] 王公堂,李秀琴,黃世亮,等.基于PIC16C73 芯片的水溫水位控制儀的設(shè)計(jì)[J].山東師大學(xué)報(bào):自然科學(xué)版,2001(3):326 -328.
[5] 馮明發(fā),盧錦川. 基于單片機(jī)的淋浴水溫控制系統(tǒng)的設(shè)計(jì)[J].價(jià)值工程,2010(15):178 -179.