畢業(yè)設計---基于單片機控制的快熱式家用電熱水器的設計_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于單片機控制的快熱式</p><p><b>  家用電熱水器的設計</b></p><p><b>  摘要</b></p><p>  隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中家用電熱水器就是一個典型的例子。在本設計中采用單片機AT8

2、9C51作為控制器來控制電路。本設計分別對硬、軟件進行設計說明。硬件包括加熱控制電路,溫度檢測電路,LED數(shù)碼管及指示燈顯示電路及報警器驅動電路等的設計,比如,利用熱敏電阻對熱水器出口溫度進行檢測;用溫度/頻率轉換電路通過單片機的檢測間接測出溫度值;用單片機通過光耦給可控硅觸發(fā)信號,控制可控硅的導通角,而控制電熱絲的有效加熱功率;用繼電器來控制加熱電源,使其在關機和超溫保護的狀態(tài)下可靠的關斷;用在繼電器線圈回路中串聯(lián)105℃的熔絲來防止

3、溫度過高時加熱管干燒。軟件部分給出了部分程序流程圖的設計,包括主程序的設計、顯示掃描子程序的設計、按鍵掃描處理子程序的設計、加熱和控制程序流程圖的設計、溫度檢測程序的設計、頻率測試程序的設計。軟件編程采用C語言編寫,因為其簡潔、使用方便靈活、容易實現(xiàn)程序的模塊化和結構化。</p><p>  關鍵詞:單片機;電熱水器;溫度/頻率轉化測溫;二分查找法</p><p>  Design of

4、rapid heating type household electric water heater based on single-chip microcomputer control</p><p><b>  Abstract</b></p><p>  As people living standard rise ceaselessly, the single

5、-chip microcomputer control is undoubtedly one of the goals of the people to pursue, it brings convenience is not negative, household electric water heater is a typical example of it. In this design uses AT89C51 microcon

6、troller as the controller to control circuit. The design of hardware and software respectively design and explains. Hardware including heating control circuit, temperature detection circuit, LED digital pipe and indicato

7、r show</p><p>  顯示對應的拉丁字符的拼音</p><p>  Key words: single-chip microcomputer; electric water heater; temperature/frequency conversion temperature measurement; binary search method </p><

8、p><b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  1 緒論1</b></p><p>  1.1 單片機的組成及特點1</p><p>  1.1

9、.1 單片機的組成1</p><p>  1.1.2 單片機的特點1</p><p>  1.2 選題目的和意義2</p><p>  1.3 國內外發(fā)展情況3</p><p>  1.4 即熱式電熱水器與普通電熱水器的區(qū)別3</p><p>  1.5 設計要求4</p><p>

10、  1.6 設計內容4</p><p>  2 快熱式電熱水器的硬件設計6</p><p>  2.1 硬件元件的選擇與方案論證6</p><p>  2.1.1 單片機的選擇6</p><p>  2.1.2 電源的選擇7</p><p>  2.1.3 鍵盤的選擇7</p><p&g

11、t;  2.1.4 顯示器的選擇8</p><p>  2.1.5 驅動及加熱控制元件的選擇8</p><p>  2.1.6 溫度檢測傳感器的選擇9</p><p>  2.1.7 供電線路的選擇9</p><p>  2.1.8 傳感器輸出的放大電路的選擇10</p><p>  2.2 系統(tǒng)硬件電路的設

12、計10</p><p>  2.2.1 加熱控制電路的設計11</p><p>  2.2.2 過壓保護電路的設計11</p><p>  2.2.3 溫度檢測電路的設計12</p><p>  2.2.4 數(shù)碼管顯示電路的設計13</p><p>  2.2.5 報警器驅動電路的設計13</p>

13、;<p>  3 快熱式電熱水器的軟件設計14</p><p>  3.1 主程序的設計14</p><p>  3.2 顯示掃描子程序的設計14</p><p>  3.3 按鍵掃描處理子程序的設計14</p><p>  3.4 加熱和控制程序流程圖的設計17</p><p>  3.5 溫

14、度檢測程序的設計18</p><p>  3.6 頻率測試程序的設計19</p><p><b>  結論22</b></p><p><b>  致謝23</b></p><p><b>  參考文獻24</b></p><p>  附錄A

15、控制源程序清單25</p><p>  附錄B系統(tǒng)總設計原理圖36</p><p><b>  1 緒論</b></p><p>  1.1 單片機的組成及特點</p><p>  隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的。其中家用電熱水器就是一個典型的例子,單

16、片機正朝著高性能和多種方向發(fā)展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內裝化等幾個方面發(fā)展。</p><p>  單片機采用面向控制的指令系統(tǒng),實時控制功能特別高。CPU可以直接對I/O口進行輸入、輸出操作及邏輯運算,并且具有很強的位處理能力,能有針對性解決由簡單到復雜各類控制任務。</p><p>  單片機作為嵌入式應用的微型計算機,由于其出色的性

17、價比,極強的實用性,它取得了巨大的發(fā)展。從最早的4位單片機,到今天的16位,甚至32位單片機,單片機的應用越來越成熟,要想設計出較好的快熱式電熱水器必須要以較強的單片機作為基礎,而單片機的發(fā)展正好為熱水器的開發(fā)奠定了前提條件。</p><p>  1.1.1 單片機的組成</p><p>  單片機是微型機的一個主要分支,在結構上的最大特點是把CPU、存儲器、定時器和多種輸入/輸出接口電路

18、集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊單片機芯片就是一臺計算機。</p><p>  單片機是通過內部總線把計算機的各個主要部件接為一體,其內部包括地址總線、數(shù)據(jù)總線和控制總線。其中,地址總線的作用是在進行數(shù)據(jù)交換時提供地址,CPU通過它們將地址輸出到存儲器或I/O接口;數(shù)據(jù)總線的作用是在CPU與存儲器或I/O接口之間,或存儲器與外設之間交換數(shù)據(jù);控制總線包括CPU發(fā)出的控制信號線和外部送入C

19、PU的應答信號線等。</p><p>  1.1.2 單片機的特點</p><p>  由于單片機的各種結構形式及它所采取的半導體工藝,使其具有很多顯著的特點,因而在各個領域都得到了迅猛的發(fā)展。單片機主要有如下特點:有優(yōu)異的性價比。</p><p>  1.集成度高、體積小、有很高的可靠性。</p><p>  單片機把各功能部件集成在一塊芯

20、片上,內部采用總線結構,減少了芯片之間的連線,大大的提高了單片機的可靠性與抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。</p><p><b>  2.控制功能強</b></p><p>  為了滿足工業(yè)控制的要求,一般單片機的指令系統(tǒng)中均有極豐富的轉移指令、I/O口的邏輯操作以及微處理能力。單片機的邏輯控制功能及運行速度均高于同

21、一檔次的微機。</p><p>  3.低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。</p><p>  4.單片機系統(tǒng)擴展和系統(tǒng)配置較典型、規(guī)范,容易構成各種規(guī)模的應用系統(tǒng)。</p><p>  1.2 選題目的和意義</p><p>  當前,熱水器已成為日常生活中不可或缺的家用電器,設計制造更實用、更方便、更安全、更節(jié)能的熱水器是產(chǎn)品設計師和生

22、產(chǎn)廠家不斷追求的目標。快熱式電熱水器與普通電熱水器最大的區(qū)別在于取消了儲水罐,熱水隨開隨用,無需預熱,減少了電能浪費。另外,它還具有體積小,使用安全,水溫可以調節(jié),安裝方便等優(yōu)點。</p><p>  熱水器是一種可供浴室,洗手間及廚房使用的家用電器。目前市場上熱水器主要品種有:電熱水器、太陽能熱水器、燃氣熱水器,就中國的具體情況而言,太陽能熱水器作為一種綠色環(huán)保可再生資源,其開發(fā)和利用,因順應中國的能源與環(huán)保政

23、策,日益受到重視。加上日漸顯現(xiàn)的全球能源危機,進一步加劇了太陽能熱水器行業(yè)的發(fā)展,盡管前景光明,可因為太陽能熱水器的能源利用率較低及它對建筑的諸多要求,而且安裝麻煩,接受太陽能的板片還得輕拿輕放,切勿撞擊,屬易碎品,加大了其使用的不安全與不保險性。此外,其使用還受天氣原因的限制,適用范圍狹窄,導致太陽能熱水器行業(yè)的發(fā)展目前還存在很多障礙;燃氣熱水器由于以天然氣為燃料,而燃料供應量有困難,且國家對其使用年限有規(guī)定,適合在低氣價地區(qū)使用,來

24、滿足人們的需求,且不利于環(huán)境;人們在選擇熱水器時,除了要安全可靠和美觀耐用外,一次性購機費和經(jīng)常性開支(能耗)也是人們考慮的重要環(huán)節(jié),其中經(jīng)常性開支有時比一次性購機費更能左右用戶的選擇,因此如何來降低熱水器的能源消耗,使用戶能以最小的代價獲得更大的收益,這是一個大多數(shù)用戶十分關心的問題。隨著人們生活水平的不斷提高、日益增長的需求和電網(wǎng)供電能力的</p><p>  1.3 國內外發(fā)展情況</p>&

25、lt;p>  家用電熱水器在國外使用相當廣泛,尤其是在歐美和東南亞地區(qū)。當前,熱水器已經(jīng)成為日常生活中不可缺少的家用電器,設計制造更實用、更方便、更安全、更節(jié)能的熱水器是產(chǎn)品設計師和生產(chǎn)廠家不斷追求的目標,它具有體積小,使用安全,安裝方便等優(yōu)點。前些年,家用電熱水器產(chǎn)品在國內市場上曾經(jīng)出現(xiàn)過一段時間,由于當時國內電力條件不成熟,對大功率的電產(chǎn)品一般無法正常使用,也沒有好技術和科技來保證其產(chǎn)品質量與使用的安全,種種因素限制了其在國內

26、的發(fā)展。近幾年來,隨著人們生活水平的不斷提高,國家電網(wǎng)改造和相關規(guī)定的出臺,電力工業(yè)迅速發(fā)展,預示了家用電熱水器產(chǎn)品在國內的廣泛前景。根據(jù)國家住宅設計規(guī)范現(xiàn)有商品住房的電器線路導線必須采用銅芯線,每套住宅進線截面積不小于10平方毫米,分支引線不得小于2.5平方毫米,電表規(guī)格不得小于40安,所以現(xiàn)購新標準住宅用戶,都有條件使用上述這種安全、家用電熱水器,確保產(chǎn)品萬無一失,安全系數(shù)達100%,通過檢測,快熱式家用電熱水器比傳統(tǒng)的熱水器可節(jié)省

27、40%的能耗,用多少熱水就加熱多少熱水,沒有熱水用不完的浪費和使用中途熱水供應不足的現(xiàn)象,熱水利用率100%,因為它既不需要提前預熱,也不需</p><p>  1.4 即熱式電熱水器與普通電熱水器的區(qū)別</p><p>  普通電熱水器有如下缺點:</p><p>  1.熱水器長期通電,長期保持在六十度以上高溫,發(fā)熱管易結垢,內膽易漏水,因而較易損壞;</

28、p><p>  2.管道熱水、熱量損耗大;</p><p>  3.等候用水時間長;</p><p>  4.在熱水流出前都必須浪費一定量的熱水,根據(jù)管道的長短,一般家庭中冷水損耗量大,基本可達10-25升每次。</p><p>  而快熱式電熱水器克服了上述缺點。它有很多優(yōu)點,如:安全,干凈環(huán)保;即開即熱,3-5秒出熱水無需等候,熱水使用時間不

29、受限制,想用多少就用多少;用多少燒多少,省電省水,沒有損耗;內置溫控儀保證溫度在30-50度之間,解決溫度持續(xù)高溫導致的結垢漏水問題。</p><p>  體積小不占空間,其中封閉式(尺寸為:24cm*9.5cm*25cm,類似25*25的衛(wèi)生間地磚那么小,純白色。)可以隱藏在櫥柜內,安裝方便,特別適合新裝修的房子,款式多樣,美觀實在,也是職工福利和客戶禮品的絕佳選擇。特別方便于洗滌和洗漱,是為現(xiàn)代家具廚房洗滌、

30、衛(wèi)生間洗漱專業(yè)設計生產(chǎn)的快速電加熱熱水器,結合了燃氣熱水器、太陽能熱水器和傳統(tǒng)儲水式電熱水器的諸多優(yōu)點。</p><p><b>  1.5 設計要求</b></p><p>  1.用2位數(shù)碼管顯示出水溫度,能顯示設定功率檔位。</p><p>  2.溫度檢測顯示范圍為00~99℃,精確度為±1℃。</p><

31、p>  3.設置3個功率檔位指示燈,1~4檔1個燈亮,5~8檔2個燈亮,9檔3個燈亮。0檔無功率輸出,檔位燈不亮。</p><p>  4.設置3個輕觸按鈕,分別為電源開關、“+”鍵和“-”鍵。加熱功率分0~9檔;按“+”鍵依次遞增至9檔,按“-”鍵依次遞減至0檔。0~9檔功率依次為0、1/9P、2/9P、3/9P、4/9P、5/9P、6/9P、7/9P、8/9P和P[1]。</p><

32、p>  5.出水溫度超過65℃時停止加熱,并蜂鳴報警,溫度降到45℃以下時恢復。</p><p>  6.內膽溫超過105℃時停止加熱,防止干燒。</p><p><b>  1.6設計內容</b></p><p>  本設計的設計內容包括硬件部分和軟件部分的設計。硬件部分分為元件選擇和電路的設計,元件選擇包括單片機、電源、鍵盤、顯示器、

33、驅動及加熱控制元件、溫度檢測傳感器等的選擇;電路包括加熱控制電路、過零檢測電路、溫度檢測電路、LED數(shù)碼管及指示燈電路、報警器驅動電路。軟件部分的設計即系統(tǒng)程序流程的設計,包括主程序的設計、顯示掃描子程序的設計、按鍵掃描處理子程序的設計、加熱控制程序流程圖的設計、溫度檢測程序的設計和頻率測試程序流程圖的設計等。</p><p>  其中,軟件編程采用C語言進行編寫,因為C語言在功能上、結構性、可讀性和可維護性上比

34、匯編語言有明顯的優(yōu)勢,Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點就是Keil C51生成的目標代碼效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢[2]。也容易實現(xiàn)程序的模塊化和結構化。此外關于快熱式電熱水器控制源程序在Keil u Vision2 V2.30(C51.exe V7.0)環(huán)境下調試。</p><p&g

35、t;  2 快熱式電熱水器的硬件設計</p><p>  根據(jù)設計要求,系統(tǒng)的組成框圖如圖2.1所示,主要包括電源電路、單片機控制器、溫度檢測電路、按鍵輸入電路、LED數(shù)碼管及指示燈電路、報警電路和加熱控制電路。對于快熱式家用電熱水器來說,硬件系統(tǒng)是它的最基本的框架,是系統(tǒng)的所有功能的基礎。硬件的選擇和所選硬件的性能對系統(tǒng)的功能實現(xiàn)以及系統(tǒng)的精度都有直接的影響,系統(tǒng)的設計成功與否很大程度上取決于硬件系統(tǒng)的設計。&

36、lt;/p><p>  圖2.1 電熱水器系統(tǒng)組成框圖</p><p>  2.1 硬件元件的選擇與方案論證</p><p>  2.1.1 單片機的選擇</p><p><b>  方案一:</b></p><p>  我們知道8031芯片內部無ROM,需要外擴程序存儲器,由此造成電路焊接的困難,況

37、且使用8031還要另外購買其他的芯片,如A/D轉換及定時/計數(shù)器(PWM)等芯片,從而造成成本較高,不適用。</p><p><b>  方案二:</b></p><p>  單片機51機的特點:①字長為8位。幾乎絕大多數(shù)的單片機外圍芯片都直接或間接的支持8位字長,這樣可供它選擇的余地相當大,這使得51單片機的應用達到了無孔不入的地步。②程序存儲器與數(shù)據(jù)存儲器分開。程

38、序存儲器和數(shù)據(jù)存儲器的容量都是64KB。這樣做的好處是可以盡可能使用大的存儲器,無論是程序還是數(shù)據(jù)都是這樣,在存儲器價格日益低廉的今天,幾乎可以用微不足道的價格換取相當可觀的性能。③功能日益強大。現(xiàn)在程序存儲器、數(shù)據(jù)存儲器、掉電不丟失數(shù)據(jù)存儲器、看門狗、A/D轉換電路、驅動電路等都集中到一個芯片上。沒有別的特殊要求,一個片子就能組成幾乎十分完整的單片機系統(tǒng)。④軟件上單片機的編制語言十分豐富。包括匯編語言、C語言、PLM,某些單片機甚至固

39、化有解釋型的BASIC語言,適應幾乎所有人員的需要[3]。</p><p>  因為89C51芯片內部有ROM,且芯片ROM全部采用Flash ROM,它能于3V的超低壓工作,與MCS-51系列單片機完全兼容,由于89C51單片機成本低廉且工作可靠,采用12MHz的晶振。此外,89C51還可以工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結CPU,而RAM定時器、串行口和中斷系統(tǒng)維持其功能。掉

40、電模式下,保存RAM數(shù)據(jù),時鐘震蕩停止,同時停止芯片內其他功能。所以我們選擇了89C51作為系統(tǒng)微處理器。</p><p>  2.1.2 電源的選擇</p><p><b>  方案一:</b></p><p>  采用干電池,使用方便,安全可靠,但價格昂貴,且使用時間較短,所以不采用。</p><p><b&g

41、t;  方案二:</b></p><p>  由于89C51對電源要求不甚嚴格,+5V電源來源方便,且經(jīng)穩(wěn)壓管穩(wěn)壓比較可靠,較經(jīng)濟實惠,所以采用此方案。</p><p>  2.1.3 鍵盤的選擇</p><p><b>  方案一:</b></p><p>  鍵盤選用行列式鍵盤,行列式鍵盤的接口方法,直接

42、接口于單片機的I/O口上。鍵盤設置在行、列線的焦點上,行、列線分別連接到按鍵開關的兩端。行線通過上拉電阻接+5V,被拉在高電平狀態(tài)。但線路較復雜,價格較昂貴,不適用。</p><p><b>  方案二:</b></p><p>  獨立式鍵盤是由若干個機械觸點開關構成的,把它與單片機的I/O口線連起來,通過讀I/O口的電平狀態(tài),如果按鍵不被按下,其端口就為一種電平,

43、如果按鍵被按下,則端口就為另一種電平,即可識別出相應的按鍵是否被按下。獨立式鍵盤有上拉電平和下拉電平兩種接法,通常采用下拉電平接法,即各按鍵開關一端接低電平,另一端接單片機I/O口線,這是為了保證在按鍵斷開時各I/O口線有確定的高電平[4]。</p><p>  本設計采用獨立式按鍵,其是常用于需要少量幾個按鍵的計算機控制系統(tǒng)。每個獨立式按鍵單獨占用一根輸入端口線,各鍵的工作狀態(tài)不會相互影響。采用輕觸式獨立小按鈕

44、,既實用又方便,因為本電路對鍵盤的要求不高,所以采用這種方案。</p><p>  2.1.4 顯示器的選擇</p><p>  LED數(shù)碼管顯示器可分為兩種顯示方式:靜態(tài)顯示和動態(tài)顯示。</p><p><b>  方案一:</b></p><p>  LED數(shù)碼管靜態(tài)顯示,多片七段譯碼器驅動顯示,這不僅增加了成本,還

45、需要占用單片機多個I/O口,也給電路的焊接帶來了一定的困難,因此不選用這種方案作為顯示模塊。</p><p><b>  方案二:</b></p><p>  動態(tài)數(shù)碼管顯示一般用在需要多只數(shù)碼管顯示的場合,它采用分時的方法,讓每只數(shù)碼管輪流顯示。采用動態(tài)顯示可以大幅的降低硬件成本和電源的功耗。因為分時顯示,某一時刻只有一只數(shù)碼管在工作,顯示驅動電路也可以分時復用。通

46、常各位數(shù)碼管的段選線相應并聯(lián)在一起,由一個8位的I/O口控制;各位的位選線由另外的I/O口線控制。動態(tài)方式顯示時各數(shù)碼管輪流分時選通,要使其穩(wěn)定顯示必須采用動態(tài)掃描方式,即在每一時刻只選通一位數(shù)碼管,并送出相應的段碼,在另一時刻選通另外一位數(shù)碼管,并送出相應的段碼。雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應,只要每位顯示間隔足夠短就可以給人以數(shù)碼管同時顯示的感覺[5]。</p><p>  在

47、動態(tài)顯示方式下電路設計簡單,所以采用。</p><p>  2.1.5 驅動及加熱控制元件的選擇</p><p>  方案一: 對于加熱功率的控制,最簡單的方法是由若干不同功率的電熱絲組合得到幾種加熱功率,但由于快熱式熱水器的加熱功率較普通的大,且檔位設置較多,用電熱絲組合的方法需要幾組電熱絲和繼電器,成本增高且工作可靠性降低,所以不用。</p><p>&

48、lt;b>  方案二:</b></p><p>  通過一個繼電器驅動,采用可控硅控制功率,能經(jīng)受較高的功率,所以可以設置較多的檔位,成本大大降低可靠性較高,而且電路簡單,又控制方便,所以本方案采用。</p><p>  2.1.6 溫度檢測傳感器的選擇</p><p>  溫度檢測的方法很多,有熱電偶,熱敏電阻,還有專門的集成測溫傳感器等。<

49、;/p><p><b>  方案一:</b></p><p>  熱電偶傳感器是將溫度變化轉為電量變化的裝置,它利用敏感元件的電磁參數(shù)隨溫度變化而變化的特性來達到測量目的。通常把被測溫度的變化轉化為敏感元件的電阻變化、電勢的變化,再經(jīng)過相應的測量電路輸出電壓或電流,然后由這些參數(shù)的變化來檢測對象的溫度變化。熱敏電阻具有靈敏度高、體積小、較穩(wěn)定、制作簡單、壽命長、易于維護、

50、動態(tài)特性好等優(yōu)點。但有變化率非線性,不適合測量高溫區(qū)等缺點。</p><p><b>  方案二:</b></p><p>  溫度檢測的方法較多,最經(jīng)典的方法就是用熱敏電阻(或熱敏傳感器)組成電橋來采集信號,再經(jīng)放大、A/D轉換后送單片機。目前比較先進的方法是采用專門的集成測溫傳感器(如DS18B20),直接將溫度轉換成數(shù)字信號傳送給單片機。這種方法顯然比較先進,但

51、電路比較復雜,成本也比較高[2]。</p><p><b>  方案三:</b></p><p>  為了簡化電路,降低成本,本文采用了溫度/頻率轉化測溫法,直接將溫度信息轉換成頻率信號,用單片機測出頻率的大小,從而間接測出溫度值,溫度/頻率轉換電路簡單可靠,成本低廉。所以采用此方案。</p><p>  2.1.7 供電線路的選擇</p

52、><p>  快熱式電熱水器為了達到“快熱”的效果,取消了儲水罐,使冷水在進入加熱管后立即被加熱,這就要求加熱管有較大的加熱功率。家用電熱水器一般采用方便、可靠的電熱絲加熱方法。根據(jù)熱學及流體力學原理,結合實際實驗室測試,可以得到水溫與流量、加熱功率之間的關系如表2.1所列。</p><p>  表2.1中所列水溫值和流量值可以滿足大多數(shù)家庭用戶使用要求。當最大的加熱功率為7.5kW時,按22

53、0V供電計算,電流約為34A,所以要求專線供電。</p><p>  表2.1 水溫與流量、加熱功率的關系</p><p>  注:進水溫度為15℃,輸入電壓為AC220V。</p><p>  2.1.8 傳感器輸出的放大電路的選擇</p><p><b>  方案一:</b></p><p>

54、  運算放大器LM324帶有真差動輸入的四運算放大器。該四運算放大器可以工作在低到3V或者高于32V的電源下,靜態(tài)電流為MC1741的靜態(tài)電流的五分之一。共模輸入范圍包括負電源,因而消除了在許多應用場合中采用外部偏置元件的必要性。它的性能特點是保護輸出、真差動輸入級、底偏置電流為最大100mA、每封裝含四個運算放大器、具有內部補償?shù)墓δ?、共模范圍擴展到負電源、行業(yè)標準的引腳排列、輸入端具有靜電保護功能。但用在本電路中接線較復雜,且價格昂

55、貴,所以不用。</p><p><b>  方案二:</b></p><p>  采用74LS04作為輸出放大電路的選擇,它還可以作為驅動電路使用,74LS04是TTL電平反相器,使用較經(jīng)濟且性能也很理想,所以在本方案中采用。</p><p>  2.2 系統(tǒng)硬件電路的設計</p><p>  快熱式熱水器控制系統(tǒng)電路如

56、附錄圖B所示。它由加熱控制電路、過零檢測電路、溫度檢測電路、數(shù)碼管顯示電路、報警器驅動電路等電路組成。</p><p>  控制器采用成本低廉且工作可靠的89C51或其兼容系列的單片機,采用12MHz的晶振。89C51對電源要求不甚嚴格,電源電路采用普通的市電降壓整流,然后經(jīng)集成穩(wěn)壓器(7805)穩(wěn)壓輸出+5V電壓。按鍵采用輕觸小按鈕。顯示電路采用兩位共陽數(shù)碼管,由兩個三極管9012驅動。3個LED指示燈用于指示

57、加熱功率。報警電路采用5V的自鳴式蜂鳴報警器。</p><p>  2.2.1加熱控制電路的設計</p><p>  圖2.2所示為加熱控制電路原理圖,電熱絲的加熱功率由雙向可控硅控制,單片機通過光耦給可控硅觸發(fā)信號,控制可控硅的導通角從而控制電熱絲的有效加熱功率。而加熱電阻通過發(fā)光二極管來顯示加熱與否,當加熱時二極管發(fā)光,而不加熱時二極管不發(fā)光,為了在關機和超溫保護的狀態(tài)下能可靠的關斷加

58、熱電源,電路中加入了繼電器來控制加熱電源。其中串聯(lián)在繼電器線圈電路的熔絲為105℃的熱保險絲,當溫度超過105℃時,熱保險絲會熔斷,防止加熱管干燒。與電熱絲并聯(lián)的LED發(fā)光管用來指示電熱絲的工作狀態(tài)。</p><p>  圖2.2 加熱控制電路圖</p><p>  2.2.2 過壓保護電路的設計</p><p>  此電路通過變壓器將220V交流電變?yōu)?V的交流電

59、,然后經(jīng)過橋式整流將其變?yōu)橹绷麟?,通過R2和R3進行分壓,從而實現(xiàn)過壓保護。</p><p>  電路如圖2.3所示。</p><p>  圖2.3 過壓保護電路圖</p><p>  2.2.3 溫度檢測電路的設計</p><p>  溫度檢測電路如圖2.4所示,溫度/頻率變換電路是利用反相器組成的RC多諧振蕩器,其中的R24是一個熱敏電阻

60、,當溫度變化時引起熱敏電阻的阻值變化,因而電流發(fā)生變化,從而改變了振蕩器輸出的方波頻率。所以通過頻率值可以間接求得溫度值。</p><p>  該頻率的估算可用如下公式:</p><p>  f≈1.1RC (2.1)</p><p>  它的電路圖如圖2.4所示。</p><

61、p>  圖2.4 溫度檢測電路圖</p><p>  2.2.4 數(shù)碼管顯示電路的設計</p><p>  數(shù)碼管顯示電路的設計是采用雙向共陽極串行接口電路,用來顯示加熱檔位,直觀性更強,亦可大大減少電源的功耗。它的電路圖如圖2.5所示。</p><p>  圖2.5 數(shù)碼管顯示電路圖</p><p>  2.2.5 報警器驅動電路的設

62、計</p><p>  電路圖如圖2.6所示。</p><p>  圖2.6 報警器驅動電路圖</p><p>  3 快熱式電熱水器的軟件設計</p><p>  本設計的軟件設計部分即為系統(tǒng)程序的設計。按快熱式熱水器的功能,系統(tǒng)程序必須實現(xiàn)顯示掃描、按鍵掃描處理、加熱控制和溫度檢測(包括超溫報警)4項任務。51系列單片機實現(xiàn)多任務運行的方

63、法就是分時復用,在程序設計時要相應地分配好各任務的CPU占用時間。對于以上幾個任務稍加分析可以看出,顯示掃描、按鍵掃描和加熱控制任務相對而言有實時要求,而溫度檢測任務則可用定時(0.5~1s)實現(xiàn)。</p><p>  3.1 主程序的設計</p><p>  系統(tǒng)在上電復位后,先對溫度寄存器、檔位寄存器賦默認值,并進行清除超溫標志,設置定時器及中斷系統(tǒng)的工作方式等初始化工作。</p

64、><p>  由于51系列單片機沒有停機指令,所以可以利用主程序設置死循環(huán)反復運行各個任務。把有實時要求的子程序(顯示掃描、按鍵掃描、加熱控制)放在最內層的循環(huán)中,計算其運行一次占用的CPU時間,然后根據(jù)溫度檢測定時的間隔時間,計算出該循環(huán)的循環(huán)次數(shù)。本例中每運行一次有實時要求的子程序(即顯示掃描、按鍵掃描、加熱控制)約占用5 ms CPU時間,運行測溫子程序的時間間隔為0.5s,那么循環(huán)次數(shù)應為100次。</

65、p><p>  圖3.1所示為主程序流程圖。</p><p>  3.2 顯示掃描子程序的設計</p><p>  顯示掃描子程序完成兩位共陽數(shù)碼管的掃描顯示任務。</p><p>  圖3.2所示為顯示掃描子程序流程圖。</p><p>  3.3按鍵掃描處理子程序的設計</p><p>  按鍵

66、掃描處理子程序負責逐個掃描檔位“+”鍵、“-”鍵和開關鍵是否被按下,若有鍵按下,則作出相應處理。具體根據(jù)用戶設定的加熱檔位和系統(tǒng)當前的狀態(tài),決定是否加熱和控制加熱的功率并點亮相應的指示燈。若有超溫標志,還應打開蜂鳴器報警。這將在加熱控制中介紹其處理過程。本設計所采用的按鍵開關為機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連

67、串的抖動,為了不產(chǎn)生這種現(xiàn)象,保證系統(tǒng)的可靠性,所以采取了按鍵消抖的措施[6]。</p><p>  圖3.3所示為按鍵掃描處理子程序流程圖。</p><p>  圖3.1 主程序流程圖 圖3.2 顯示掃描子程序流程圖</p><p>  圖3.3 按鍵掃描子程序流程圖</p><p>  圖3.4 加熱控制程序流

68、程圖</p><p>  3.4 加熱和控制程序流程圖的設計</p><p>  加熱控制程序通過控制繼電器的通斷來決定是否給電熱絲通電加熱,而加熱的功率大小則由雙向可控硅的導通角決定。系統(tǒng)程序利用外中斷INT1檢測市電的過零點,檢測到過零點后,立即根據(jù)設定的加熱檔位給定時器T1賦一個延時參數(shù),并打開定時器T1,允許其中斷。當定時器T1計數(shù)溢出后觸發(fā)中斷,T1中斷程序就會給可控硅發(fā)一個觸發(fā)

69、信號,使其導通。</p><p>  圖3.4所示為加熱控制程序流程圖。</p><p>  圖3.5和圖3.6所示分別為過零檢測程序圖和可控硅觸發(fā)信號控制程序流程圖。</p><p>  圖3.5 過零檢測程序流程圖 圖3.6 可控硅觸發(fā)信號控制程序流程圖</p><p>  3.5 溫度檢測程序的設計</p>

70、;<p>  溫度檢測程序的基本原理就是將溫度/頻率轉換電路測得的頻率與事先建立好的溫度/頻率表進行比較,查找出與該頻率相應的溫度值。在實驗測試后建立的溫度/頻率表是0~100℃溫度所對應的頻率值。它是一個頻率對應于溫度遞減的非線性函數(shù),在C語言中用一個一維數(shù)組Tab[101]來表示,下標為溫度,數(shù)組元素為頻率值。計算溫度采用高效、準確的二分查找法。查表的過程如下:</p><p>  1.先給定查

71、找的溫度最大值Tmax和最小值Tmin,即確定查找的范圍,根據(jù)已有的溫度表默認最大值Tmax=100,最小值Tmin=0。</p><p>  2.假定測得溫度Temp為最大值與最小值的中間值,即Temp=(Tmax+Tmin)/2。</p><p>  3.將實際測的頻率值T0rig與假定溫度Temp在表格中對應的頻率Tab[temp]相比較,如果相等,那么假定溫度就是當前實際溫度,即完

72、成查找。</p><p>  4.若T0rig> Tab[temp],說明實際溫度應該在Tmin與Temp之間(因為遞減函數(shù)特性),則修改查找范圍,令Tmax=Temp;同理,若 T0rig<Tab[temp],說明實際溫度應該在Temp與Tmax之間,則令Tmin=Temp;</p><p>  5.檢查查找范圍,若Tmax-Tmin<=1,則判斷T0rig更接近于最大

73、值對應的頻率Tab[Tmax]還是最小值對應的頻率Tab[Tmin],實際溫度值取頻率更接近的那個值既完成查找。</p><p>  6.若Tmax-Tmin>1,則重復第2,3,4,5步驟,直到查找完成。 </p><p>  溫度檢測程序完成溫度計算后,便刷新系統(tǒng)當前溫度寄存器,并判斷有無超溫、置位或消除相應的標志位[7]。</p><p>  圖3.7

74、所示為溫度檢測程序流程圖。</p><p>  3.6頻率測試程序的設計</p><p>  單片機使用外中斷INT0和計數(shù)器T0檢測輸入頻率的大小。為了減少測量的系統(tǒng)誤差相對值和隨機誤差對測量精度的影響,程序中取100個方波周期的和作為測量結果。程序中使用靜態(tài)變量px0count進行外中斷的計數(shù),在測量開始時,給px0count賦值2是為了讓頻率測量有準確的起點。</p>

75、<p>  另外,為了區(qū)分測頻的開始和結束,還使用了測頻開始標志位T0tst和測頻完成標志位Testok。</p><p>  圖3.8所示為頻率測試程序流程圖。</p><p>  圖3.7 溫度檢測程序流程圖</p><p>  圖3.8 頻率測試程序流程圖</p><p><b>  結論</b><

76、/p><p>  本次設計的快熱式家用電熱水器采用51系列單片機對電路進行簡單的控制,系統(tǒng)的穩(wěn)定性比較高。本方案著重體現(xiàn)在速度之快上,它采用雙向晶閘管(即可控硅)對加熱電路進行控制,這樣系統(tǒng)的可靠性就大大增強,因為晶閘管能夠根據(jù)門極電壓可靠的接通和斷開,而且采用發(fā)光二極管來及時的檢測電路的加熱情況。而設計的另一個優(yōu)勢還在于它采用了溫度/頻率檢測電路,通過電路頻率的變化及時的反映當時的溫度變化,這樣就避免了因為熱敏電阻

77、的變化不能及時的傳給單片機而帶來的滯后問題。頻率的變化受到外界的干擾要遠遠小于電阻變化所帶來的干擾,而且完全不涉及非線性造成的溫度過高時造成的錯誤,因此準確性,可靠性都得到了大大提高。</p><p>  在設計中還采用了兩位共陽數(shù)碼管來反應功率檔位,通過它們的亮滅數(shù)量輸出加熱功率,及時的提醒使用者當時的水溫變化情況,更加清晰,也能減少功耗。而在設計中還采用了輕觸式按鈕來調節(jié)功率的檔位,其中按“+”按鈕時逐漸增加

78、功率檔位,而按“-”按鈕時逐漸減小功率檔位,還有一個是控制電源開關的通斷,即總開關。設計中還采用報警器來及時的反應溫度是否超標,提示操作者是否繼續(xù)加熱熱水器。</p><p>  盡管這次設計中我還不能做到盡善盡美,一些內容還是有待于進一步的研究,因為畢竟我們的知識有限,而且以前還沒有接觸過單片機的具體設計與深入研究,但為了這次論文設計,我還是看了不少資料,特別是很多有關單片機設計的書籍,再加上我們學習了一些理論

79、知識,開拓了我的視野,使我親身了解到了單片機的用處是如此的廣泛。在設計中我遇到了很多困難,讓我對一些生疏的知識有了溫習與鞏固,對其有了更加深刻的了解,比如二分查找算法。</p><p>  在本次課程設計中,我真正了解到實踐與理論相結合的重要性,以前總是在頭腦中產(chǎn)生一些想法,卻從來沒有機會去認真的研究它,以至于不知道結果是成功還是失敗,但通過這一次畢業(yè)設計終于可以使我通過自己的努力與導師及同學的幫助親自完成了一個

80、設計,雖然成果難免有不足之處,但終究是親自動手去做的,收益是可想而知的。 </p><p><b>  致謝</b></p><p>  時光荏苒,四年的大學時光即將結束,在這里,我首先要感謝我的導師xx老師,本文在大綱的確定,初稿的完成以及最終定稿,都有賴于xx老師的悉心指導。在設計過程中,xx老師一直給我很大的幫助

81、,幫我分析遇到的困難,支持、鼓勵我解決問題的信心,使我的設計得以順利完成。此外,我還要感謝電信學院的各位老師,感謝他們傳授我知識以及對我的關懷與鼓勵。最后感謝對我有幫助的同學,謝謝他們給我的照顧與關心。</p><p>  我深深的知道,幾句簡單的話語根本無法表達對你們的感激之情,只有在心里默默的祝福我的老師、同學們,祝你們一生幸福安康!</p><p><b>  參考文獻&l

82、t;/b></p><p>  [1]郇玉龍,趙寧,盧洪武.用AT89C51單片機設計智能家用電熱水器[EB/OL].http://www.do cin.com/p-17343095.html.</p><p>  [2]湯競南,沈國琴.51單片機語言開發(fā)與實例[M].北京:人民郵電出版社,2008,20-38,138-14 3.</p><p>  [3]韓

83、成.拿來就用單片機[M].北京:人民郵電出版社,2008,1-5.</p><p>  [4]馬長林,陳怡,程利民.單片機實踐應用與技術[M].北京:清華大學出版社,2008,209.</p><p>  [5]田立,田清,代方震.51單片機C語言程序設計快速入門[M].北京:人民郵電出版社,2007, 153-165.</p><p>  [6]張友德,趙志英,涂

84、時亮.單片微型機原理、應用與實驗[M].上海:復旦大學出版社,2006,294.</p><p>  [7]耿國華.數(shù)據(jù)結構:C語言描述[M].北京:高等教育出版社,2005,250-253.</p><p>  附錄A 控制源程序清單</p><p>  以下是快熱式電熱水器控制源程序清單,采用C51編寫,在Keil u Vision2 V2.30(C51.exe

85、 V7.0)環(huán)境下調試通過,并下載到AT89C51測試運行成功。</p><p>  /*---------------------------------------------</p><p><b>  快熱式熱水器程序</b></p><p>  MCU AT89C51 XAL 12 MHz</p><p>

86、;  ------------------------------------------------*/</p><p>  #include<reg51.h></p><p>  #include<intrins.h></p><p>  #include<math.h></p><p>  void

87、delay(unsigned int); //延時函數(shù)</p><p>  void display(void); //顯示函數(shù)</p><p>  unsigned char keyscan(void); //按鍵掃描處理函數(shù)</p><p>  void

88、heatctrl(void); //加熱控制函數(shù)</p><p>  void temptest(void); //測溫函數(shù)</p><p>  sbit swkey=P1^0; //開關鍵</p><p>  sbit unkey=P

89、1^1; //加熱檔位“+”鍵 </p><p>  sbit downkey=P1^2; //加熱檔位“-”鍵</p><p>  sbit buzz=P1^5; //蜂鳴器輸出端</p><p>

90、;  sbit triac=P1^6; //可控硅觸發(fā)信號輸出端</p><p>  sbit relay=P1^7; //繼電器控制信號輸出端</p><p>  sbit led1=P2^5; //加熱檔位指示燈1</p>&l

91、t;p>  sbit led2=P2^6; //加熱檔位指示燈2</p><p>  sbit led3=P2^7; //加熱檔位指示燈3</p><p>  signed char data ctemp; //當前測得水溫寄存器</p>

92、;<p>  unsigned char data dispram[2]={0x10,0x10}; //顯示區(qū)緩存</p><p>  unsigned char data heatpower,px0count; //加熱檔位寄存器、外中斷0計數(shù)器</p><p>  bit tempov,t0tst,testok; //超溫標志、測溫開始標志、測溫完成

93、標志</p><p>  /*----------------------------------------------</p><p>  主函數(shù) void main(void)</p><p><b>  無參數(shù),無返回值</b></p><p>  循環(huán)調用顯示、鍵掃描、溫度檢測和加熱控制函數(shù)</p>

94、<p>  ---------------------------------------------*/</p><p>  void main(void)</p><p><b>  {</b></p><p>  Unsigned char i,j;</p><p>  ctemp=15;

95、 //初始化水溫寄存器</p><p>  heatpower=5; //初始化加熱檔位為5檔</p><p>  tempov=0; //清除超溫標志</p><p>  swkey=0; //默認開關

96、鍵被按下,進入待機狀態(tài)</p><p>  TMOD=0x11; //設定T0和T1工作方式為16位定時器</p><p>  TCON=0x05; //設置外中斷0和1為下降沿觸發(fā)</p><p>  IP=0x01; //設置外中斷0優(yōu)先&l

97、t;/p><p>  IE=0x80; //打開總中斷</p><p><b>  While(1)</b></p><p><b>  {</b></p><p><b>  i=1;</b></p><p&

98、gt;<b>  do{</b></p><p>  for (j=0;j<100;j++) //循環(huán)100次約0.5s</p><p><b>  {</b></p><p>  if(keyscan())i=6; //如果有鍵按下,則顯示當前檔位3s</p&

99、gt;<p>  display(); //調用顯示函數(shù)一次約4ms</p><p>  heatctrl(); //調用加熱控制函數(shù)</p><p>  }//end for (b=0;b<100;b++)</p><p>  temptest();

100、 //沒0.5s進行一次測溫</p><p>  }while(--i); //通過改變循環(huán)次數(shù)i的大小決定是否刷新顯示</p><p>  j=abs(ctemp); //取溫度絕對值</p><p>  dispram[1]=j%10; //取個位數(shù)送顯示</

101、p><p>  j/=10; //取十位數(shù)</p><p>  dispram[0]=j? j:0x11; //送顯示(帶滅零)</p><p>  }//end while (1)</p><p><b>  }</b></p>&

102、lt;p>  /*---------------------------------------------</p><p>  延時函數(shù) void delay(unsigned int dt)</p><p>  參數(shù):dt,無返回值</p><p>  延時時間=dt×500機器周期</p><p>  ---------

103、------------------------------------*/</p><p>  void delay(unsigned int dt)</p><p><b>  {</b></p><p>  register unsigned char bt; //定義寄存器變量</p>

104、<p>  for(;dt;dt--)</p><p>  for (bt=250;--bt;); //此句編譯時以“DJNZ”實現(xiàn),250×2=500機器周期</p><p><b>  }</b></p><p>  /*---------------------------------------------

105、</p><p>  顯示函數(shù) void display(void)</p><p><b>  無參數(shù),無返回值</b></p><p>  兩位共陽數(shù)碼管掃描顯示</p><p>  ----------------------------------------------*/</p><p&g

106、t;  void display(void)</p><p><b>  {</b></p><p>  Unsigned char code table[]={0xc0,0xf9,0xa4,0xbo,0x99,0x92,0x82,0xf8,0x80,0x90,\</p><p>  0x88,0x83,0xc6,0xa1,0x86,0x8e,

107、0xbf,0xff};</p><p>  unsigned char i,a;</p><p>  a=0xfe; //位選賦初值 </p><p>  for(i=0;i<2;i+

108、+) //循環(huán)掃描兩位數(shù)碼管</p><p><b>  {</b></p><p>  P2|=0x1f; //清除位選</p><p>  P0=table[dispram[i]]; //送顯示段碼</

109、p><p>  P2&=a; //選通一位</p><p>  delay(4); //延時2ms</p><p>  a=_crol_(a,l); //改變位選字</p><p>  P0

110、=0xff; //消隱</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*------------------------------------------------</p><p>  按

111、鍵掃描處理函數(shù) unsigned char keyscan(void)</p><p>  無參數(shù),返回值:無符號字符型,無鍵按下為其他</p><p>  影響全局變量:heatpower</p><p>  -----------------------------------------------*/</p><p>  unsign

112、ed char keyscan(void)</p><p><b>  {</b></p><p>  unsigned char i,ch;</p><p>  if(upkey==0) //“+”鍵</p><p><b>  {</b><

113、;/p><p>  buzz=0; //打開蜂鳴器(發(fā)出按鍵音)</p><p>  for(i=0;i<5;i++)display(); //延時消抖</p><p>  buzz=1; //關閉蜂鳴器</

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論