摘 要:根據近幾年來的電熱水器發展趨勢,利用AT89C51單片機作為控制器的核心,結合模糊控制技術,設計出功能較為完善的電熱水器控制系統。該控制系統除了具有通常的控制加熱和保護外,還具有較強的智能性,包括根據用戶設定的溫度自動控制加熱管的工作,給出恒定溫度的出水以及漏電保護等功能,具有較強的實用性。
關鍵詞:AT89C51單片機;模糊控制;漏電保護;傳感器
中圖分類號:TP274 文獻標識碼:B 文章編號:1004373X(2008)1603904
Control System Design of Electric Water Heaters Based on Single Chip
Microcomputer with Fuzzy Control
ZHANG Min
(Hunan Institute of Science and Technology,Yueyang,414000,China)
Abstract:According to the electric boiler development tendency in the last few years,the function comparison perfect control system of electric water heaters is designed with fuzzy control and taking the AT89C51 SCM(single chip microcomputer) as the core.This control system in addition to the usual control heating and protection,but also has strong intelligence,including according to userset temperature to control heating pipe work,produces constant temperature water and provide leakage protection and so on.The control system is very practical.
Keywords:AT89C51 single chip microcomputer;fuzzy control;leakage protection;sensor
1 引 言
熱水器是一種可供浴室,洗手間及廚房使用的家用電器。就中國的具體情況而言,電熱水器因其具有無污染、安全、保溫時間長、使用方便等優點,越來越受到消費者的青睞。單片機是家用電器常用的控制器件,模糊控制方法,在強時變、大時滯、非線性系統中的控制效果有著明顯的優勢,把二者結合起來,可使控制器的性能指標達到最優的目的。基于模糊控制技術的單片機控制的電熱水器,是對傳統的電熱水器開關控制的改造,具有達到設定溫度的時間短、穩態溫度波動小、反應靈敏、抗干擾能力強、節省電能等優點。
2 系統設計
電熱水器由微控制器對水溫進行智能控制,并且實現溫度數字化顯示。測溫范圍在0~100 ℃,溫度設定范圍在10~85 ℃,能根據要求任意調節使用。進入水溫控制,系統自動設定45 ℃,如果需要另外設定溫度,僅由增加、減少2個按鍵進入或者完成設定狀態,數字為閃爍狀態,每設定一個溫度值,都有聲音提示。當實際溫度達到設定溫度時,受控電路由通態(即加熱態)轉換至斷態(停止加熱),同時發光二極管由顯示紅色轉為顯示綠色,處于保溫狀態,但不斷開電源,以防用戶繼續加熱,并且通過單片機進行蜂鳴報警5 s。溫度下降2~5 ℃時,受控電路由斷態又轉為通態,加熱同時,發光二極管由綠色轉化為紅色。系統對溫度的調節和控制都伴有聲光提示。
本控制系統的設計以AT89C51單片機為核心的控制單元,熱電阻溫度傳感器Cu100為傳感器,用2根PTC系列的MZ41型陶瓷波紋式電熱絲為加熱器,以模糊控制作為水溫控制原理,本控制電路另具有漏電保護功能,當有漏電時,強制斷電,提高使用安全性。
3 系統組成
3.1 溫度測量電路
本系統設計中選用具有負溫度系數的熱敏電阻Cu100型的銅電阻(當0~100 ℃時,阻值在3~1 kΩ之間變化)作為溫度測量傳感器,用環氧樹膠涂于其外表后置于熱水中,將溫度變化量轉化成電阻變化量輸出。該熱敏電阻具有良好的穩定性,測溫范圍:-50~150 ℃;溫度系數α為4.265×10.-3/℃;零度電阻為100 Ω。熱敏電阻的阻值計算方法如下:R<t<= R<0<(1+α)t(1) 式(1)中,R<t<,R<0<分別為銅電阻在t ℃和0 ℃時的電阻值。
由G<1<,G<2<,G<3<,G<4<,R<t<,R<s<,C組成多諧振蕩電路,是本系統中的溫度測量電路,將溫度傳感器接入,通過多諧振蕩電路把溫度轉化為對應頻率,接入單片機的INT0口,電路如圖4所示。其中R<s<是限流電阻(100 Ω),非門采用TTL門74LS04電路。振蕩周期T2.2 R<t<C,脈寬為1.1 R<t<C。可見,脈寬與R<t<是一一對應關系,因此,溫度與脈寬也就有一一對應關系。

溫度傳感器及有關電路將溫度轉化為電脈沖的脈寬,單片機將測得的脈沖寬度的值轉化為與之對應的溫度值,與設定的溫度相比較后,以溫度偏差及其變化量為輸入,加熱量為輸出,通過模糊控制算法,就可達到水溫自動調節的目的。對任意溫度對應的脈寬值還可進行自動測量,并加以顯示。
多諧振蕩電路的輸出脈寬信號接入單片機,利用公式(2)將振蕩頻率f轉化為溫度形式并且制表存入單片機中。
f=1/T=1/2.2R<t<C =1/2.2R<0<(1+α)t·C (2)
3.2 控制信號隔離輸出電路
本系統中的光電隔離電路如圖2所示,通過光耦將加熱強電電路與單片機控制電路隔離,防止其干擾單片機的工作。單片機的輸出控制信號控制兩電熱絲的斷通,從而調節水溫。

3.3 加熱器的選擇
加熱器使用蘇州新業電子有限公司生產的MZFR系列波紋式PTC加熱器。將其與ICNE555時基電路相連,用溫度控制器的輸出量U來控制雙向可控硅的導通角,控制加熱器的通斷和加熱時間來實現溫度的調節。
3.4 顯示器及鍵盤設計
由于單片機AT89C51的I/O口資源有限,不能滿足系統對I/O口的要求,必須用芯片8155A擴展AT89C51的I/O口。單片機P2.0作為8155A I/O口或存儲器RAM的選擇信號,P2.7作為8155的片選信號;AT89C51通過P0向8155寫入命令和數據;或從8155讀出數據(主要是按鍵鍵位信號);數據的寫入和讀出由時鐘信號控制。
LED顯示器采用3位共陰極顯示器的動態顯示,8155A的B口的低3位PB5~PB7作為掃描口,經反相驅動器75452接口顯示器公共陰極;A口作為段數據,經同相驅動器7407接顯示器的各個陰極,對于3位顯示器在AT89C51RAM存儲器中設置3個顯示緩沖器單元38H~40H,分別存放3位顯示器的顯示數據。
鍵盤由3個功能按鍵組成,與8155A的C口采用相互獨立的接口方法,采用軟件查詢方法實現其鍵盤接口。按鍵S1~S3各自具有一種功能分別為“+”鍵、“-”鍵、開機電源鍵,當他們全部打開時均為高電平,經3輸入與非門及反相器后仍為高電平,因而不會產生中斷。當其中某一按鍵被按下時,INTO端變為低電平,向CPU申請中斷。CPU響應中斷后,通過軟件查詢方法查找功能鍵的入口地址,轉相應功能鍵服務程序。
3.5 系統漏電保護電路
電熱水器工作在潮濕的場合,為了確保人身安全,控制系統應具備漏電檢測和保護功能。漏電檢測線圈的輸出經過比較器后送給單片機中斷口,一旦漏電超過規定的閥值,單片機立即響應中斷,切斷整個系統的電源。電熱水器漏電檢測電路由電感L<1<,L<2<,電阻R<1~R<4,電容C<1和比較器LM393組成(漏電檢測電路如圖3所示)。

在熱水器安全狀態下,熱水器中的加熱元件加熱器,不管是處于正常通電工作或非工作狀態,通過電感L<1<上的電流都是恒定的。根據電磁感應定律,在電感L<2<上不會有感應電流通過;但在熱水器非安全狀態下(即漏電狀態下),熱水器中的加熱元件加熱器工作回路有泄漏電流產生,這時通過電感L<1<上的電流就會有變化。根據電磁感應定律,通過電感L<1<有變化的電流,就會產生磁場,產生的磁場感應電感L<2<,電感L<2<上就有電流通過。在圖3中A點的電位就升高,當漏電電流超過規定安全值,即圖3中A點的電位大于圖3中B點的電位時,經比較器LM393比較后送到單片機的中斷口,單片機立即響應中斷。
電熱水器漏電控制電路由光耦4N32、電阻、晶體三極管Q<1,二極管D<1和繼電器J1,J2組成。當單片機響應中斷后,從I/O口輸出高電平經過光電耦合器4N32進行光電隔離,使三極管Q<1導通并驅動繼電器J1閉合,繼電器J2通電,在0.1 s內迅速切斷整個系統的供電,從而可迅速切斷電流對人體的傷害程度,確保人身安全。同時,從單片機P1.5輸出信號,實現報警。
3.6 報警電路
采用模擬聲音集成芯片KD9561報警。它有多種不同的聲音(機槍、警笛、救護車、消防車聲),用戶可以自主選擇自己喜愛的聲音。

聲光報警電路(如圖4示)與AT89C51的P1.5口相連接,當溫度沒達到設定的溫度時,P1.5為高電平,通過74LS04轉換為低電平,聲光報警電路不工作,發光二極管光顯為綠色,當溫度達到設定溫度時,則為低電平,通過74LS04轉換為高電平,聲光報警電路中的發光二極管發光為紅色、鳴叫,發出聲光報警信號。同時控制切換自動切換加熱器的工作狀態,使之為保溫狀態。
3.7 基于模糊控制原理的溫度控制電路
為了提高溫度控制的精度,設計雙輸入單輸出模糊控制器,將溫度檢測部分得到溫度偏差E(實際溫度0與給定溫度1的偏差)和偏差變化率ΔE作為模糊控制器的輸入信號,輸出量μ用來控制雙向可控硅的導通角,控制加熱器的加熱時間來實現溫度的調節。
模糊控制器的輸入為測得溫度與設定溫度的偏差E(E=t0-t;t0為設定的水溫;t為測得的水溫。)以及偏差的變化量ΔE(ΔE=t本-t前,其中t前為前次測得的溫度,t本為本次測得的溫度),輸出為電熱絲加熱量U。將E分為4個模糊子集B(大)、M(中)、S(小)、N(負),對應溫度的偏差為:t0-t>TM1℃,TM2 ℃< t0-t

由單片機對溫度進行測量,將本次測得的溫度與設定的溫度值相減得到溫度的偏差E,并存儲到存儲單元TMS;將本次測得的溫度減前次測量的溫度,得到溫度的偏差變化量ΔE并存入存儲單元TMCB;根據溫度的偏差及偏差的變化量由模糊控制表決定電熱絲的斷閉。如果將E的4個模糊子集N,S,M,B分別用數字-1,1,3,6表示,ΔE的3個模糊子集N,Z,P分別用數字-1,0,1表示,則根據模糊控制規則表1,可得到如表2所示的E+ΔE。將表2與表1對照可以看出:當E+ΔE≤0時,加熱量為Z;當1≤E+ΔE<3時,加熱量為S;當3≤E+ΔE<5時,加熱量為M;當E+ΔE≥5時,加熱量為B。故可編制所需的模糊控制程序。
4 軟件設計
系統軟件設計的關鍵是繼電器的開斷(加熱及停止加熱),為了降低功耗,繼電器的開斷是由P1.7喚醒的。條件是在溫度設定后自動打開,當溫度到達設定溫度時,判斷P1.7是否控制繼電器的斷開。然后判斷溫度是否下降2~5 ℃,又進行打開或者不打開。
需要說明的是,保護電路的程序問題僅作為參考,現今電熱水器的有效期為5年,隨著電熱絲的老化及內膽的固化,導致加熱失調的情況不考慮在內。模糊控制部分,只判斷溫度偏差,以控制電熱水器的加熱速度。
INT1先用于各溫度值對應的脈寬計數器值的測量顯示。中斷1的中斷服務程序先固化自動測量、顯示的中斷服務程序如圖5所示。

從INT1輸入的設定溫度用的脈沖將引起中斷,中斷服務程序可對與一定水溫對應的電脈沖寬度的計數值(TL0)進行測量并顯示,記下其數值后便可制定“溫度表”(與一定溫度對應的TL0值并存放于程序存儲器中的表),將“溫度表”固化于程序存儲器中。然后,INT1再用于溫度的設定,將中斷1的服務程序換為預置溫度的程序,如圖5所示。讓定時器T1定時中斷,配合軟件計數器,每隔5 s測量1次溫度的當前值。將溫度的測量值及前次測得的值分別存于一個存儲單元,通過模糊控制程序以決定兩電熱絲的通斷情況。將測得的脈寬轉化為溫度值是這樣實現的:先讓脈沖從INT0進入單片機,T0在INT0為高電平時開始定時,變為低電平時停止,于是在TL0中得到脈寬對應的定時計數值,查找與“溫度表”中與計數值一一對應關系的溫度。
5 結 語
本文設計的電熱水器控制系統由單片機AT89C51、溫度傳感器、多諧振蕩電路、輸出信號隔離及加熱元件控制電路、鍵盤及顯示電路、漏電保護電路、聲光報警電路等部分構成。系統軟件的設計采用模塊化結構,采用定時中斷的結構,主要由主系統程序、LED顯示子程序、鍵盤中斷服務子程序、中值濾波子程序等程序組成。該控制系統具有較強的智能,可根據用戶設定的溫度自動控制加熱管的工作,給出恒定溫度的出水以及漏電保護等功能。且具有不需預熱、無需等待、節能省電、安全環保、體積小巧、節約空間和水溫恒定等突出優點。
參 考 文 獻
[1]丁肇紅.溫度模糊控制系統的設計[J].上海應用技術學院學報:自然科學版,2006,6(3):163165.
[2]甄麗平,司紹偉.一種單片機溫度模糊控制系統的實現[J].現代電子技術,2005,28(17):100101.
[3]熊朝暉.模糊邏輯在溫度控制中的應用[J].計量與測試技術,2002,29(5):1618.
[4]陳建華,李干林.基于模糊理論的單片機溫度控制系統的設計[J].熱力發電,2007,36(1):6769.
[5]張海.基于AT89C51和DS18B20的最簡溫度測量系統的設計\\.現代電子技術,2007,30(9):8586,89.
作者簡介 張 敏 女,1974年出生,講師,研究生。主要研究方向為光機電一體化、自動控制。