基于單片機的太陽能熱水器控制器(共52頁)_第1頁
基于單片機的太陽能熱水器控制器(共52頁)_第2頁
基于單片機的太陽能熱水器控制器(共52頁)_第3頁
基于單片機的太陽能熱水器控制器(共52頁)_第4頁
基于單片機的太陽能熱水器控制器(共52頁)_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 PAGE 1 分類號: 編號(bin ho):煙 臺 大 學畢 業 論 文(設 計)太陽能熱水器控制器設計(shj)The design of controller for solar water heater申請(shnqng)學位: 工學學士 院 系: 光電信息科學技術學院 專 業: 姓 名: 學 號: 指導老師: 年 05 月 日煙臺大學太陽能熱水器控制器設計(shj) 姓 名: 導 師: 年05月 日煙臺大學(dxu)煙臺大學(dxu)畢業論文(設計)任務書院(系):光電信息(xnx)科學技術學院姓名學號畢業屆別專業畢業論文(設計)題目太陽能熱水器控制器設計指導教師學歷博士職稱所學專

2、業通信與信息系統主要內容: 本文論述了基于C51單片機的太陽能熱水器控制器的實現。用C51單片機設計一種太陽能熱水器控制器,實現水溫、水位及時間的實時顯示以及水溫、水位的自動控制等功能,另外還需要實現時間和水溫設定的功能。基本要求: 著重培養學生綜合利用所學知識解決實際問題的能力以及查閱書籍資料、調查收集各種有用信息的能力。要求能夠比較熟練掌握C51單片機、DS18B20溫度測量芯片以及其他測量和顯示元件的使用。另外,有利于培養學生的英文閱讀、計算機操作和動手能力,撰寫畢業設計論文的能力。主要參考文獻:余錫存,曹國華. 單片機原理及接口技術(第二版)M.西安:西安電子科技大學出版社,2007趙

3、建領,薛園園等. 51單片機開發與應用技術詳解M北京:電子工業出版社,2009.進度安排:第一階段:13周向導師請教確定課題并查詢資料。第二階段:49周在導師的指導下確定設計方案和實現方法。第三階段:1013周根據方案完成軟件仿真和實物焊接,并撰寫畢業論文。第四階段:14周定稿,打印論文并參加答辯。指導教師(簽字): 年 月 日院(系)意見: 教學院長(主任)(簽字): 年 月 日備注:摘要(zhiyo) 該太陽能熱水器控制器是基于C51單片機設計(shj)和實施的,它以AT89C51單片機作為檢測和控制中心,由主控芯片模塊、DS18B20 溫度檢測及顯示模塊、水位檢測及顯示模塊、時鐘模塊、報

4、警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過DS18B20溫度檢測及顯示模塊實時檢測和顯示水溫,通過水位檢測及顯示模塊實時檢測和顯示水位,通過時鐘模塊實時顯示時鐘并在設定的時間給主控芯片特定的信號,通過電磁閥控制模塊實現熱水器的自動及手動上水,通過輔助加熱模塊實現太陽能熱水器自動及手動加熱,當水位過低且水溫過高時通過報警模塊報警,而主控芯片則負責協調其他各模塊的工作。關鍵詞 太陽能熱水器控制器;AT89C51單片機;DS18B20 Abstract The designing of this solar water heater controller is based on C51

5、single-chip microcomputer, The AT89C51 MCU is used as its detection and control center, It consists of a main control chip module, DS18B20 temperature detection and display module, the water level detection and display module, clock module, alarm module and the electromagnetic valve control module,

6、auxiliary heating module and etc. It is through the DS18B20 temperature detection and display module Detect and display the water temperature in time. It is through the water level detection and display module Detect and display the water level in time. It is through the clock module display time an

7、d at the given time, it will give the main control chip module a specific signal. It is through the electromagnetic valve control module to realize the automatic and manual water heater. It is through the auxiliary heating module to heat water automatically and manually. when the water level is too

8、low and the temperature is too high the alarm module will give an alarm, the responsibility of the main control chip is to Coordinate the work of other modules. Key words The Solar water heater controller ; AT89C51 MCU ; DS18B20PAGE PAGE 3目 錄 TOC o 1-3 h z u HYPERLINK l _Toc389125447 1 緒論(xln) PAGER

9、EF _Toc389125447 h 1 HYPERLINK l _Toc389125448 1.1 太陽能熱水器應用(yngyng)的意義 PAGEREF _Toc389125448 h 1 HYPERLINK l _Toc389125449 1.2 我國太陽能發展(fzhn)現狀 PAGEREF _Toc389125449 h 1 HYPERLINK l _Toc389125450 2 系統設計及仿真軟件 PAGEREF _Toc389125450 h 2 HYPERLINK l _Toc389125451 2.1 系統的總體結構設計 PAGEREF _Toc389125451 h 2 H

10、YPERLINK l _Toc389125452 2.2 設計功能要求 PAGEREF _Toc389125452 h 2 HYPERLINK l _Toc389125453 2.3 設計思路 PAGEREF _Toc389125453 h 2 HYPERLINK l _Toc389125454 2.4 仿真軟件(proteus)簡介 PAGEREF _Toc389125454 h 3 HYPERLINK l _Toc389125455 3 AT89C51簡介 PAGEREF _Toc389125455 h 4 HYPERLINK l _Toc389125456 3.1 主要特性 PAGERE

11、F _Toc389125456 h 4 HYPERLINK l _Toc389125457 3.2 中斷向量 PAGEREF _Toc389125457 h 4 HYPERLINK l _Toc389125458 3.3 管腳說明 PAGEREF _Toc389125458 h 4 HYPERLINK l _Toc389125459 3.4 內部結構 PAGEREF _Toc389125459 h 6 HYPERLINK l _Toc389125460 4 控制器各模塊電路設計 PAGEREF _Toc389125460 h 7 HYPERLINK l _Toc389125461 4.1 主控

12、芯片模塊 PAGEREF _Toc389125461 h 7 HYPERLINK l _Toc389125462 4.1.1 時鐘電路 PAGEREF _Toc389125462 h 7 HYPERLINK l _Toc389125463 4.1.2 復位電路 PAGEREF _Toc389125463 h 8 HYPERLINK l _Toc389125464 4.1.3 單片機管腳分配 PAGEREF _Toc389125464 h 9 HYPERLINK l _Toc389125465 4.2 DS18B20 溫度檢測及顯示模塊 PAGEREF _Toc389125465 h 9 HYP

13、ERLINK l _Toc389125466 4.2.1 DS18B20芯片簡介 PAGEREF _Toc389125466 h 10 HYPERLINK l _Toc389125467 4.2.2 74LS245簡介 PAGEREF _Toc389125467 h 12 HYPERLINK l _Toc389125468 4.2.3 LED數碼管顯示 PAGEREF _Toc389125468 h 13 HYPERLINK l _Toc389125469 4.3 水位測量及顯示模塊 PAGEREF _Toc389125469 h 14 HYPERLINK l _Toc389125470 4.

14、4 報警模塊 PAGEREF _Toc389125470 h 15 HYPERLINK l _Toc389125471 4.5 輔助加熱模塊 PAGEREF _Toc389125471 h 16 HYPERLINK l _Toc389125472 4.5.1 繼電器工作原理 PAGEREF _Toc389125472 h 16 HYPERLINK l _Toc389125473 4.5.2 輔助加熱模塊工作原理 PAGEREF _Toc389125473 h 17 HYPERLINK l _Toc389125474 4.6 電磁閥控制模塊 PAGEREF _Toc389125474 h 17

15、HYPERLINK l _Toc389125475 4.6.1 電磁閥工作原理 PAGEREF _Toc389125475 h 18 HYPERLINK l _Toc389125476 4.6.2 電磁閥控制模塊工作原理 PAGEREF _Toc389125476 h 18 HYPERLINK l _Toc389125477 4.7 時鐘模塊 PAGEREF _Toc389125477 h 18 HYPERLINK l _Toc389125478 4.7.1 電子表發聲原理及控制器定時工作原理 PAGEREF _Toc389125478 h 19 HYPERLINK l _Toc3891254

16、79 5 控制器軟件程序設計 PAGEREF _Toc389125479 h 20 HYPERLINK l _Toc389125480 5.1 軟件設計分析 PAGEREF _Toc389125480 h 20 HYPERLINK l _Toc389125481 5.2 主程序模塊 PAGEREF _Toc389125481 h 20 HYPERLINK l _Toc389125482 5.3 子程序模塊 PAGEREF _Toc389125482 h 21 HYPERLINK l _Toc389125483 5.3.1 DS18B20溫度檢測子程序設計 PAGEREF _Toc3891254

17、83 h 21 HYPERLINK l _Toc389125484 5.3.2 DS18B20溫度轉化及顯示子程序 PAGEREF _Toc389125484 h 22 HYPERLINK l _Toc389125485 5.3.3 加熱子程序設計 PAGEREF _Toc389125485 h 23 HYPERLINK l _Toc389125486 5.3.4 上水子程序設計 PAGEREF _Toc389125486 h 24 HYPERLINK l _Toc389125487 5.4 中斷子程序設計 PAGEREF _Toc389125487 h 25 HYPERLINK l _Toc

18、389125488 5.4.1 外部中斷0(設定溫度+)子程序設計 PAGEREF _Toc389125488 h 25 HYPERLINK l _Toc389125489 5.4.2 外部(wib)中斷1(設定(sh dn)溫度-)子程序設計(chn x sh j) PAGEREF _Toc389125489 h 26 HYPERLINK l _Toc389125490 6 調試與總結 PAGEREF _Toc389125490 h 27 HYPERLINK l _Toc389125491 6.1 調試方法 PAGEREF _Toc389125491 h 27 HYPERLINK l _To

19、c389125492 6.2 遇到的問題及解決辦法 PAGEREF _Toc389125492 h 27 HYPERLINK l _Toc389125493 6.3 總結 PAGEREF _Toc389125493 h 28 HYPERLINK l _Toc389125494 致謝 PAGEREF _Toc389125494 h 29 HYPERLINK l _Toc389125495 參考文獻 PAGEREF _Toc389125495 h 30 HYPERLINK l _Toc389125496 附錄 PAGEREF _Toc389125496 h 31煙臺大學畢業論文(設計)1 緒論(x

20、ln)1.1 太陽能熱水器應用(yngyng)的意義邁入21世紀以來,隨著經濟的急速發展,對自然資源的需求缺口越來越大,人口基數過大使得將在很長一段時間保持人口數量的增長,而經濟的高發展速度也將持續對資源的供應提出考驗。顯而易見的,資源儲量并不是無限的,若要保證經濟的可持續發展,僅僅靠節約能源或是限制開采數量,并不是一個長久(chngji)的解決辦法,只有開發新的能源,才能從根本上解決發展與資源之間的矛盾。所以在今后,新能源必定將會有很大的發展空間,太陽能、風能、潮汐能,這些清潔能源是未來大規模利用的新趨勢。1在各類能源中,太陽能以其清潔、無害、長久和普遍等特點,有極高的發展潛力,可以說是取之

21、不盡用之不竭。雖然離太陽能的廣泛利用還有很長的路要走,但是現在已經在不少地方開始使用,如常見的太陽能發電系統,太陽能熱水系統,太陽能路燈、交通燈等等。我國目前太陽能產業規模已躍至世界第一,隨著技術的日益成熟,太陽能相關的成熟產品造價也將隨之降低,將更加廣泛地在人們生產生活中普及,這同時也是解決越來越嚴重環境污染的一個極佳的解決方案。在我們的生活中,最為我們所熟知的太陽能利用系統便是太陽能熱水器,太陽能熱水器同傳統的熱水器相比有著許多顯著的特點。不僅節能環保,而且使用也非常方便。以其低廉的價格深受各層次消費者的青睞。隨著太陽能熱水器的大面積使用,太陽能的優勢特點已廣泛為人們所熟知,這也對以后的相

22、關產品的生產推廣起到了很好的宣傳效應。大力開發和利用豐富的太陽能資源,對于我國的經濟、社會可持續發展具有重大深遠意義。21.2 我國太陽能發展現狀我國太陽能熱水產業的發展特點可以用“起步晚,發展快”來形容,雖然國內與于上世紀80年代才開始研究推廣,但是歷經多年的飛速發展,我國的太陽能產業已經占據了世界首位,其中熱水器的產量占世界百分之五十以上,同時,中國國產太陽能產品在世界同類產品中也占據著很大的市場份額,并且市場占有率還在不斷增長。3盡管有著如此迅猛的發展勢頭,但是需要指出的是,目前國內的能與太陽能熱水器相配置的控制器的功能卻并不完善,在市面上很多同類的太陽能熱水器產品,控制系統簡單,功能不

23、全,大多數只具有設定水溫,顯示水溫這兩個功能,較為智能化的產品還尚未推廣應用,有些功能還處于研發階段。因此設計出一款具有溫度控制功能和水位控制功能的產品,將很具有實際意義。這樣的控制器,將能夠解決天氣原因導致的光線不足問題導致熱水器水溫過低的問題,并且因為有了水位控制功能,就可以解決當水位達到一定高度時不能自動開始或停止供水等等問題。2 系統設計(shj)及仿真軟件2.1 系統(xtng)的總體結構設計系統(xtng)總體結構設計如圖2.1,該系統包括保溫箱、排氣管、集熱管、溢流管、上下水管、調節閥等。圖2.1 系統總體結構設計2.2 設計功能要求該太陽能熱水器的控制器不但需要具有水位、水溫及

24、時間的實時顯示功能,而且需要具有水位、水溫的自動控制功能,必要時,還需要能夠實現對時間和水溫進行設定等功能。當蓄水箱水位低于40%時能夠實現自動上水,當設定時間到且水位低于蓄水箱水位90%時能夠實現自動上水,當上水到達規定的水位時能夠實現自動停止上水,當水位界于高低水位之間時,用戶可以通過按鍵操作手動上水、停水;當設定時間到且水溫低于規定值時,能夠實現自動加熱。必要時還可以對太陽能熱水器進行手動加熱和上水,禁止高溫空曬后進水以及淋浴時禁止上水等功能。2.3 設計(shj)思路該太陽能熱水器控制器是基于C51單片機設計和實施的,它以AT89C51單片機作為檢測和控制中心,由主控芯片模塊、DS18

25、B20 溫度(wnd)檢測及顯示模塊、水位檢測及顯示模塊、時鐘模塊、報警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過DS18B20溫度檢測及顯示模塊實時檢測和顯示水溫,通過水位檢測及顯示模塊實時檢測和顯示水位,通過時鐘模塊實時顯示時鐘并在設定的時間給主控芯片特定的信號,通過電磁閥控制模塊實現熱水器的自動及手動上水,通過輔助加熱模塊實現太陽能熱水器自動及手動加熱,當水位過低且水溫過高時通過報警模塊報警,而主控芯片則負責協調其他各模塊的工作。2.4 仿真軟件(run jin)(proteus)簡介Proteus可以仿真單片機,兼具EDA軟件的仿真功能,還能一部分外圍器件,是當前使用最廣,用

26、戶評價最好的仿真工具。可以從原理圖設計,程序編寫調試,再到與外圍電路同步仿真,提供與PCB板設計的簡單切換,可以由最初的模擬概型一直到產品的模擬仿真。該軟件也是第一款融合電路原理圖設計,PCB板設計,產品生產前的仿真三者結合的開發平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430,Cortex,DSP等系列處理器,截止到現在,依然在不斷增加其它系列處理器模型。程序編譯支持Keil和MPLAB軟件編譯器。4Proteus軟件具有其它EDA工具軟件的功能:1原理布圖2PCB自動或人工布線3SPICE電路仿真革命

27、性的特點Proteus的工作過程:在開始菜單中選擇proteus文件夾,單擊文件夾中的ISIS圖標進入proteus仿真軟件的主界面。在工作之前,先要設置捕捉對齊、顏色、圖形界面大小等項目。工作時,先要單擊工具欄中的P按鈕進入元件選擇對話框(pick devices),在對話框keyword中輸入所需元件的關鍵字(比如當需要電阻時輸入“res”),在results一欄中雙擊選出所需要的元器件(注意當選中元器件時在pick devices對話框中右側兩欄中會出現該元器件在仿真電路圖和PCB板上的預覽圖,根據此預覽圖進行選擇),選中的元件會自動出現在工作界面P按鈕下面。然后需要進行仿真電路圖的繪制

28、(具體做法為:在P按鈕下面單擊所需要的元器件即選中此元器件,根據實驗原理圖把選中的元器件放在工作界面的適當位置,雙擊工作界面中的元器件,在出現的對話框中修改元器件的參數,重復以上步驟直到所有的元器件都擺放到工作界面上,然后單擊各元器件的引腳進行連線。至此仿真電路圖制作完成。然后進行程序的編寫,在程序編寫時需要使用專門的程序編寫器(比如keil軟件等)來編寫并編譯連接運行,生成hex文件。接下來需要把程序存入相應的芯片中,具體做法是:雙擊目標芯片,在出現的對話框中“program file”中選擇相應的程序,然后點擊ok 按鈕即可。最后需要運行,在此步驟秩序點擊proteus工作界面左下方的pl

29、ay按鈕即可。3 AT89C51簡介(jin ji)3.1 主要(zhyo)特性與MCS-51 兼容(jin rn)具有4K 字節的可重復編程的flash,可寫入/抹掉數據1000次以上,寫入的數據能保存10年以上操作頻率:0Hz24MHz1288位內部RAM32條可規劃的I/O線5個中斷向量地址可編程串行通道需要振蕩電路和時鐘電路53.2 中斷向量中斷向量見圖3.16圖3.1 中斷向量表3.3 管腳說明AT89C51引腳見圖3.27VCC:供電電壓。GND:接地。P0管腳、P1管腳、P2管腳、P3管腳都是8位雙向I/O口,其中P3管腳還有第二功能。圖3.2 AT89C51 芯片(xn pin

30、)引腳圖P3管腳第二(d r)功能見圖3.3。RST:復位(f wi)輸入端。ALE/:地址鎖存信號線。圖3.3 P3口第二功能說明:外部程序存儲器讀選通端。/VPP:訪問內部程序存儲器控制端XTAL1、XTAL2:震蕩電路(dinl)輸入端。3.4 內部結構51單片機內部(nib)機構如圖3.48圖3.4 51單片機內部結構框圖(kungt)4 控制器各模塊(m kui)電路設計4.1 主控芯片(xn pin)模塊單片機只有(zhyu)40個管腳,其中I/O管腳只有32個,必須合理地分配單片機管腳,否則很容易造成單片機管腳的不夠用。另外,單片機運行需要時鐘電路、復位電路、電源、地線等,這些電

31、路也需要在單片機主控芯片里面設計。主控芯片模塊proteus仿真圖如圖4.1。9圖4.1 主控芯片模塊proteus仿真圖4.1.1 時鐘電路單片機的運行需要時鐘電路的支持,單片機 HYPERLINK /search?word=%E6%97%B6%E9%92%9F%E7%94%B5%E8%B7%AF&fr=qb_search_exp&ie=utf8 t _blank 時鐘電路是配合外部晶體實現振蕩的電路,它由一個晶振和兩個電容組成,其組成圖如圖4.2,它的兩端分別接在單片機的XTAL1和XTAL2管腳。它可以為單片機提供運行時鐘,如果運行時鐘為0 的話,單片機就不工作,當然超出單片機的工作頻率

32、的時鐘也會導致單片機不能正常工作,C51單片機的支持的時鐘頻率為024MHz。圖4.2 單片機時鐘(shzhng)電路4.1.2 復位(f wi)電路在單片機在使用過程中有時(比如上電瞬間以及運行中出現(chxin)錯誤的時候)需要使單片機從開始狀態重新運行,這時就需要單片機的復位電路了。它可以使單片機內部各寄存器的值變為初始狀態,復位電路如圖4.3。它可以在單片機上電瞬間和復位開關按下的瞬間給單片機RESET管腳加上一個程指數函數的電平信號,當此電平信號能夠在單片機的RESET管腳保持兩個機器周期以上的高電平時,單片機就能完成復位操作。10圖4.3 單片機復位電路4.1.3 單片機管腳分配(

33、fnpi)單片機管腳分配(fnpi)如圖4.4。 圖4.4 單片機管腳分配(fnpi)4.2 DS18B20 溫度檢測及顯示模塊蓄水箱水溫檢測電路使用單總線DS18B20芯片,它可以將溫度信號轉化成脈沖信號進而轉化成水溫高低的信號。DS18B20的DQ端與單片機的P3.7口相連,它可以將水溫大小直接以數值的方式存放在其內部的RAM中,單片機可以通過DS18B20的DQ引腳直接讀取其內部RAM中存放的溫度值。在水溫的顯示上,本設計采用兩位LED數碼管來實現,LED數碼管的段選信號由單片機的P0口來發出,其位選信號由單片機的P2.6、P2.7管腳發出。水溫檢測及顯示模塊的proteus電路仿真如圖

34、4.5。圖4.5 溫度檢測及顯示模塊(m kui)proteus仿真圖4.2.1 DS18B20芯片(xn pin)簡介DS18B20是美國DALLAS公司(n s)推出的一種溫度傳感器,它能比較準確的測量-55125之間的溫度。相對于以前的熱敏電阻等溫度傳感器,DS18B20更加智能,它能夠直接測出被測環境的溫度并以數值方式存在其內部的RAM中,當有需要時,它可以通過單總線實現單片機等對DS18B20內部RAM中數據的讀取。DS18B20有如下性能特點:單總線結構設計,僅需要一個引腳即可完成數據在DS18B20和單片機之間的通信。每個DS18B20都有獨一無二的序列號,可以在一條線上并聯多個

35、DS18B20芯片。測量溫度范圍55125。分辨率可調。DS18B20 內部結構11DS18B20 內部結構如圖4.6。圖4.6 DS18B20內部結構框圖(kungt) DS18B20引腳DS18B20引腳功能(gngnng)描述見圖4.7。序號名稱 引腳功能描述1GND地信號2DQ 數字信號輸入輸出引腳3 VDD 供電電源輸入端圖4.7 DS18B20各引腳功能(gngnng) DS18B20轉換成的溫度數據格式12當DS18B20接到溫度轉換命令時它就可以將測得的溫度信號轉換成溫度值并以16位帶符號擴展的二進制補碼形式存儲在其高速緩存RAM中,其溫度值格式如圖4.8。圖4.8 DS18B

36、20溫度數據格式單片機可以通過DS18B20的DQ引腳直接取RAM中溫度的值,讀取時,先讀取低位數據,然后讀取高位數據。在DS18B20溫度數據格式中,當S=0時表示此時的溫度值為正值,當S=1時表示此時溫度為負值。DS18B20 ROM命令13DS18B20的一系列操作基本都是通過ROM命令(mng lng)來實現的,DS18B20的ROM命令見圖4.9。圖4.9 DS18B20的ROM命令(mng lng)4.2.2 74LS245簡介(jin ji)74LS245為8位雙向3態緩沖電路,主要用途為數據的雙向緩沖,以增強芯片的驅動能力。1474LS245真值表如圖4.10所示。輸入輸出DI

37、RLL從B端到A端進行數據傳輸LH從B端到A端進行數據傳輸H高阻態圖4.10 74LS245真值表4.2.3 LED數碼管顯示(xinsh)LED數碼管是由八個發光二極管排列在一起(yq)并相互連接組成的,根據其連接方法的不同,LED數碼管可以分為共陰極和共陽極兩種連接方法。兩種接法電路圖如圖4.11。圖4.11 LED數碼管及接線(ji xin)方法當把數碼管中各發光二極管的陰極連接在一塊并與地相連,通過從各發光二極管陽極是否接電源來控制發光二極管的亮滅時成為共陰極接法。同理,當把數碼管中各發光二極管陽極接在一塊并與電源相連,通過在各發光二極管陰極是否接地來控制各發光二極管的亮滅時稱為共陽極

38、接法。不同的接法所需要點亮電平是不一樣的,所以在使用數碼管顯示時,一定要注意區分這兩種接法。當然為了顯示數字或字符,需要對數字或字符進行編碼,本設計采用共陰極LED數碼管顯示。 LED數碼管顯示方式有兩種,即靜態顯示方式和動態顯示方式。靜態顯示就是每個數碼管都需要連接一個8位的數據線,通過該8位數據線發送數據來保持顯示的字符,當向數碼管送入一次8位數據時數碼管就會一直顯示該字符,如果需要改變需要顯示的字符則需要重新給數碼管輸入另一個8位數據。動態顯示就是通過一定的操作使各個數碼管依次點亮,利用發光二極管的余暉效應和人眼的視覺暫留現象使人的感覺就像是同時點亮各個數碼管一樣。動態顯示的亮度比靜態顯

39、示稍微差一下,程序上稍微麻煩一些,占用的CPU時間長點,但當數碼管位數比較多時需要的管腳位數明顯減少,硬件電路會大大簡化。由于單片機輸出管腳有限,為了節省單片機管腳,本設計采用動態顯示方式。4.3 水位(shuwi)測量及顯示模塊蓄水箱水位是智能控制的一個重要參數,是實現智能控制的重要依據,只有準確檢測出水箱水位才能更好地實現水位地顯示以及蓄水箱的上水、停水等操作。要實現水位地精確檢測最好采用連續液位傳感器,但考慮到系統成本及使用范圍,本系統在進行水位檢測時仍然采用分段(fn dun)式液位傳感器(即在蓄水箱不同的位置放入水位探針),在水位顯示上采用由5個發光二極管組成的分段式液位顯示器。水位

40、檢測及顯示電路圖如圖4.12。圖4.12 水位檢測(jin c)及顯示電路圖檢測原理:把五個金屬水位探針分別固定在水箱的五個位置上,金屬探針通過一個1M的電阻(即上拉電阻)和+5V電源相連,水箱里的水通過導線和地相連。當金屬探針在水面以下時,+5V電源、上拉電阻、水箱里的水、地等組成一個回路,由于水的電阻遠比1M小,所以此時探針處電平為低電平。這個低電平通過一個反相器(非門)后變為高電平,這個高電平通過發光二極管、500的電阻放電,使得發光二極管點亮,顯示此時該液位有水。當金屬探針在水面以上時,金屬探針處電平為高電平,該高電平經過反相器時變為低電平,低電平不能使發光二極管發光,從而顯示該液位沒

41、有水。至此,水位的顯示完成。水位測量及顯示模塊proteus仿真圖如圖4.13。圖4.13 水位測量(cling)及顯示模塊proteus仿真圖本proteus仿真圖使用按鍵開關代替水和+5V電源、1M電阻及地構成回路,當按鍵按下時代表此位置處有水,當按鍵沒有按下時代表此水位處沒有水。需要注意的是,上拉電阻不宜選的太小,因為水是有電阻的,上拉電阻選的太小會導致當探針在水面以下時探針輸出低電平特性不明顯,此時很容易導致液位顯示(xinsh)上出現錯誤。位置最高到位置最低處的探針所測出的電平經反相器后會通過導線依次送到單片機的P2.0到P2.4管腳,經單片機接收、處理,實現水位控制的操作。4.4

42、報警(bo jng)模塊太陽能熱水器通常對蓄水箱內的水位有一定的要求,當水箱水位過低時,很容易給人們的正常生活帶來不便,所以,當水位過低時能及時讓人們知道就顯得比較重要,報警模塊正是基于此種原因設計的。報警模塊的proteus仿真圖如圖4.14。圖4.14 報警模塊的proteus仿真圖檢測及報警原理:當水位過低時,單片機相應管腳被清零,使得單片機通過P1.5口輸出一系列脈沖波。脈沖波經由(jngyu)Q1、R1組成的放大電路后作用于蜂鳴器BUZI的線圈上,線圈產生變化的磁場帶動蜂鳴器紙盆震動從而發出聲音。4.5 輔助加熱(ji r)模塊當光照不足時,太陽能熱水器的水溫很難達到指定(zhdng

43、)的要求,為了不影響人們的正常使用,輔助加熱設備就顯得尤為重要了。輔助加熱模塊的proteus電路仿真圖如圖4.15。圖4.15 輔助加熱模塊的proteus電路仿真圖4.5.1 繼電器工作原理繼電器工作原理圖如圖4.16所示。15圖4.16 繼電器工作原理圖當繼電器的控制回路沒有電流流過時,繼電器的銜鐵在彈簧的拉力作用下右端上翹,觸點3與觸點5斷開,與觸點4結合。當有電流流過繼電器的控制回路(即由導線和線圈組成(z chn)的電磁鐵)時,電流就會在在電磁鐵上產生磁場,此時,銜鐵會被電磁鐵吸引而下降,使得觸點3與觸點4分離,與觸點5連接。如果在端點3和端點5接上其他電路組成被控回路就會出現當有

44、電流流過控制回路時被控回路導通,當沒有電流流過控制回路時被控回路斷開。4.5.2 輔助加熱(ji r)模塊工作原理當加熱按鈕沒有按下時,此輔助加熱模塊為自動控制模式。在自動控制模式下,當設定的時間到時,單片機會自動對蓄水箱的水溫進行判斷。當水溫高于設定值時,P1.1口輸出為高電平,三極管Q1集電極和發射極斷開,此時,輸入回路中沒有電流為零,繼電器被控回路斷開,加熱電阻不工作。當P1.1口輸出為低電平時,三極管Q1集電極和發射極導通,+5V電源經電阻R1,繼電器控制回路、三極管Q1和地相連,輸入回路導通,此時,繼電器被控回路閉合,220V交流電源經繼電器被控回路給加熱電阻加熱,從而使水溫升高。當

45、臨時(ln sh)(不是設定時間)需要熱水時可以通過加熱按鈕進行加熱,此時,只需按下加熱按鈕即可對蓄水箱的水進行加熱。4.6 電磁閥控制模塊電磁閥是把電信號轉化成水龍頭開關信號的裝置,是實現水位智能控制不可缺少的一部分。電磁閥從原理上分為直動式、分步直動式和先導式三類電磁閥,本設計采用直動式電磁閥。電磁閥控制模塊proteus仿真如圖4.17。圖4.17 電磁閥控制模塊proteus仿真電路圖繼電器工作(gngzu)原理已在輔助加熱模塊介紹,此處不再敘述4.6.1 電磁閥工作(gngzu)原理電磁閥工作(gngzu)原理如圖4.18。圖4.18 電磁閥工作原理圖當電磁閥不通電時,活動鐵心在彈簧

46、的彈力作用下上升,入口和出口被閥門隔開,水被阻斷;當通電時,活動鐵心在線圈產生的磁場作用下下落,此時入口和出口導通,水從入口經電磁閥流向出口,完成上水。4.6.2 電磁閥控制模塊工作原理在本設計中,此電磁閥控制模塊分為自動控制和手動控制兩種工作情況:當上水按鍵開關斷開且淋浴開關閉合時電磁閥控制模塊為自動控制模式,此時當單片機P1.4口輸出為高電平時,繼電器的輸入端輸入電流為零,繼電器輸出端開路,電磁閥所在電路開路,電磁閥關閉;當單片機P1.4口輸出為低電平時,繼電器輸入端通過電阻、三極管和電源、地相連,此時,輸入回路有輸入電流,使得繼電器輸出回路閉合,電磁閥所在電路導通,電磁閥打開。當上水按鍵

47、開關直接閉合且淋浴開關閉合時,電磁閥通過按鍵開關直接和220V電源相連,此時電磁閥所在電路導通,電磁閥打開。另外,為了避免淋浴時因水位偏低而導致熱水器直接上水,本模塊加了一個淋浴狀態開關,當淋浴狀態打開(淋浴開關斷開)時,直接斷開電磁閥開關,此時無論水位多么低都不會上水,當淋浴狀態關閉(淋浴開關閉合)時,可以選擇自動控制和手動控制兩種模式。4.7 時鐘模塊時間是實現熱水器控制器定時上水、定時加熱的重要參考,所以設置時鐘模塊是非常有必要的。時鐘模塊可以通過單片機設置一個數字時鐘來實現,也可以時鐘芯片(比如DS1302)實現,還可以通過外接具有定時功能的電子表來實現。考慮到單片機管腳的數量限制和設

48、計的難易程度,本設計采用外接電子表的方式來實現定時上水、定時加熱。4.7.1 電子表發聲原理及控制器定時(dn sh)工作原理電子表里面裝有壓電陶瓷片,壓電陶瓷片是一種電子發音元件(yunjin),在兩個電極中間放入壓電陶瓷介質材料,當設定時間到時,會在壓電陶瓷片的兩個電極上加上特定的交流信號,壓電陶瓷片就會根據所加信號的大小和頻率震動,從而發出聲音。本設計中會把這個電極信號接在單片機的P1.0管腳,當該管腳的電平是低電平時可以給單片機一個觸發信號,經單片機處理,使得加熱設備開始工作;同理,當給單片機的P1.3管腳加上一個低電平時同樣能給單片機一個觸發信號,經單片機處理后,使得上水設備開始工作

49、。5 控制器軟件(run jin)程序設計5.1 軟件設計分析(fnx)軟件是系統的指揮中心,由軟件來配合硬件來完成電子設備特定的功能是目前電子設備的普遍規律。本系統同樣要求軟件和硬件兩部分協調工作才能所完:由硬件電路完成數據的采集、顯示以及對電磁閥和蜂鳴器的控制,由軟件來實現數據的判斷、處理(chl)等。由此可見,軟件和硬件一樣,都是該系統正常工作所必須的一部分。軟件相對于硬件電路來說具有更高的性價比,并且更容易實現,為了充分發揮C51單片機的優良的性能價格比,我們在進行系統設計時,更傾向于使硬件電路“軟件化”,即通過編程的方法使硬件電路簡化。考慮到C語言諸多優良特性,本設計采用C語言編寫,

50、為了增加系統的實時性,本設計對于偶然事件的處理采用中斷的方式來進行處理。在電路設計時我們采用模塊化設計,同理,在軟件設計時,我們也采用模塊化設計。首先需要編寫出大概的主程序,然后需要找出所設計的子程序并對子程序進行逐個分析和設計,編寫出子程序后應給予每個子程序語法檢驗以確定子程序是不是有語法錯誤,接下來需要把子程序和主程序以及一些的聲明函數等進行合理的檢查和修改直到沒有語法錯誤為止,再然后對偶然事件需要進行中斷處理函數的編寫。最后需要對整個程序進行編譯檢查以確定是否有語法錯誤,如果有語法錯誤需要對程序進行改正,如果沒有可以把程序烤到單片機里來檢驗程序的正確與否。165.2 主程序模塊主程序需要

51、完成對單片機端口的初始化,開外部中斷0,開外部中斷1等,此外,還包括溫度數據讀取、溫度數據顯示、水位數據讀取以及對熱水器加熱、上水等操作。其流程圖如圖5.1所示。圖5.1 主程序模塊流程圖5.3 子程序模塊子程序是指能夠實現某一特定功能并能被其他(qt)程序調用的一段程序。采用子程序結構可以使程序得到簡化,便于進行調試,并可實現程序的模塊化,本設計將采用子程序模塊的設計來實現部分功能。5.3.1 DS18B20溫度檢測(jin c)子程序設計DS18 B20溫度(wnd)檢測模塊的子程序流程圖如圖5.2,它包括對 DS18 B20的初始化、發 ROM命令、發溫度轉化命令、讀存儲器等操作。圖5.

52、2 DS18B20溫度(wnd)檢測流程圖5.3.2 DS18B20溫度轉化及顯示子程序DS18 B20溫度轉化及顯示子程序流程圖如圖5.3,它包括讀取溫度值、對溫度值得判斷、區分溫度的十位和個位數據、顯示十位數據、顯示個位數據等操作。開始讀溫度值溫度值大于等于100或小于0溫度十位和個位數據都置“-”區分溫度的十位數據區分溫度的個位數據顯示溫度十位數據顯示溫度個位數據返回是否圖5.3 DS18B20溫度(wnd)轉化及顯示流程圖5.3.3 加熱(ji r)子程序設計當設定時間到時,外部時鐘會在單片機的P1.0管腳給單片機一個觸發(chf)信號,使得單片機執行加熱子程序。加熱子程序流程圖如圖5

53、.4。圖5.4 加熱(ji r)子程序流程圖5.3.4 上水子程序設計(chn x sh j)同加熱子程序一樣,當設定時間到時,外部時鐘會在單片機的P1.3管腳給單片機一個觸發信號(xnho),使得單片機執行上水子程序。上水子程序流程圖如圖5.5。圖5.5 上水子程序流程圖5.4 中斷(zhngdun)子程序設計為了保證系統的實時性,本設計有一些功能是通過中斷來實現的,這就要求在軟件程序設計里面需要(xyo)有專門的中斷服務子程序的設計。本設計采用了兩個中斷服務,包括外部中斷0和外部中斷1。其中外部中斷0用作增加設定的溫度值,外部中斷1用作減小設定的溫度值。5.4.1 外部(wib)中斷0(設

54、定溫度+)子程序設計外部中斷0負責使設定(sh dn)的溫度值增加,每當執行一次外部中斷0,所設定的溫度值就會增加1。外部中斷0(設定溫度+)子程序流程圖如圖5.6。圖5.6 外部中斷(zhngdun)0(設定溫度+)子程序流程圖5.4.2 外部中斷1(設定溫度-)子程序設計同外部中斷0相對應,外部中斷1用作使設定的溫度值減小。每當執行一次外部中斷1,所設定的溫度值就會自動減1,當設定溫度值減小到30一下時設定溫度值自動變為99。外部中斷1(設定溫度-)子程序流程圖如圖5.7。圖5.7 外部中斷(zhngdun)1(設定溫度-)子程序流程圖6 調試(dio sh)與總結(zngji)6.1 調

55、試方法為了節省人力、物力,在正式調試之前往往會對電路進行仿真操作。所謂的仿真操作就是使用專門用于仿真的仿真軟件對系統的硬件電路圖及程序進行仿真。如果仿真結果滿足我們的要求,那么我們就可以進行硬件電路的制作了,如果仿真結果不能滿足我們的要求,那么我們就需要重新對程序及相關的硬件進行設計。本設計使用proteus對系統的各部分和整個系統進行仿真。具體做法為:根據系統要求用proteus 畫出整體系統的仿真電路圖(可以先一個模塊一個模塊的畫,然后在組裝在一塊)。2、根據系統要求及畫出的仿真電路圖編寫程序(本設計使用C語言編寫),并用keil軟件進行編譯,生成HEX文件。把生成的HEX文件下載到對應的

56、單片機中(具體做法為:在proteus仿真電路圖中雙擊相應的單片機會出現“Edit Component”對話框,在此對話框中program File一欄中選擇所需的HEX文件,然后點擊該對話框右上角的ok按鈕即可),然后點擊仿真電路圖界面左下角的play按鈕即可進行電路仿真。在完成系統的仿真操作后就需要對系統進行調試了。調試可以分為硬件調試和系統調試兩部分。硬件調試主要是對硬件部分進行調試,看看所設計的硬件能否完成我們期望的功能,而系統調試主要是看看系統能否按照預期進行工作。在制作完成PCB板之后就可以進行硬件部分(b fen)的調試了。在制作完PCB板之后就可以進行硬件電路調試了。在進行硬件

57、電路調試之前需要先對各元器件進行檢查,對于有問題的元器件需要及時替換(t hun)。在檢查完元器件之后就可以往PCB板上查元器件了。為了降低硬件調試的難度,便于更好的發現問題,在硬件調試過程中采用分塊調試的方法。在完成硬件電路調試(dio sh)之后就需要對系統進行調試了。所謂系統調試就是把提前編譯好的程序下載單片機中,對系統的整體性能進行觀察、調試。6.2 遇到的問題及解決辦法在進行proteus各模塊仿真電路圖設計時有部分元器件(比如電磁閥、加熱裝置等)在元件庫中找不到。解決方法:用其他有相似特點的元件代替,并將此元件的參數修改一下。在進行proteus總體仿真電路設計時,有很多現象(比如

58、:電磁閥的通斷、水位的高低等)不容易觀察或不容易操作。解決方法:用發光二極管、按鍵開關代替這些不容易觀察或不容易操作的現象。在程序設計時對DS18B20的程序設計總是弄不對。解決方法:參考其他人對這部分程序的編寫,然后按照自己的要求和DS18B20的原理進行修改。在程序設計過程中 ,對DS18B20測出的溫度進行轉化方面出現失誤:沒有注意DS18B20溫度數據是包含小數部分的溫度而導致在溫度轉化時出現錯誤。解決方法:在對DS18B20結構及原理仔細分析的基礎上對設計的程序進行修改,首先去除溫度的小數部分,然后吧溫度的個位數部分和十位數部分分別放在一個數組的兩個元素中。在系統調試中發現溫度顯示時

59、總是個位數在前,十位數在后,給人的感覺很別扭。解決方法有兩個:一、在溫度數據的處理子程序中把個位數據和十位數據處理的語句調換一下。二、在硬件電路中把兩個LED數碼管位選信號輸入端調換一下。本設計采用第一種方法,即在程序處理方面做改變。6.3 總結太陽能熱水器控制器是對太陽能熱水器進行控制的一種裝置,它需要能夠實現對熱水器水溫、水位的控制。在本設計的過程中,我先是對太陽能熱水器需要實現的功能進行分析,然后按照需要實現的功能按照模塊設計的思想進行設計,接下來把各模塊組合起來形成一個系統,用proteus對該系統進行仿真,最后進行實際電路連接。經過以上各個步驟的實際操作,我們可以看出,本設計是可行的

60、。本設計中我用的了單片機、C語言、模電、數電、電路分析等多門課程,可以說正是在這些知識的支撐下我才能順利完成本設計。在進行(jnxng)本設計的過程中,我較深刻理解了能夠綜合運用知識的重要性,當然,本設計對我綜合運用能力也有一定程度的提高。另外,在進行本設計的過程(guchng)中,我的交流能力也有一定程度的提高。在本設計中,我遇到過很多問題,正是與老師、學長、同學的交流給我解決這些問題很大的啟發,使我能夠順利完成本設計。致謝(zh xi)對于即將畢業的我們來說,本設計的完成就基本意味著大學學習生活的結束。離別時刻就要到來(doli),而我也將要開始我新一段的學習生活。此時此刻難免會有各種思緒

溫馨提示

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

評論

0/150

提交評論