基于單片機的水溫控制系統(tǒng)設(shè)計-畢業(yè)設(shè)計.doc
《基于單片機的水溫控制系統(tǒng)設(shè)計-畢業(yè)設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機的水溫控制系統(tǒng)設(shè)計-畢業(yè)設(shè)計.doc(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
基于單片機的水溫控制系統(tǒng)設(shè)計 學(xué)生: 指導(dǎo)教師: 內(nèi)容摘要:說起溫度控制系統(tǒng),大家并不陌生了,在我們生活中許許多多的家用電器都可以涉及到溫度的控制,像存儲美食的電冰箱,為我們帶來涼爽的空調(diào)都會用到溫度控制系統(tǒng),為我們帶來熱氣騰騰開水的飲水機等等。而本文介紹了水溫控制系統(tǒng)的基本原理,本系統(tǒng)可以用于飲水機等電路,整個系統(tǒng)的核心就是AT89C51單片機,它是這個系統(tǒng)的主控制單元,對于水溫控制當然溫度控制系統(tǒng)也是必不可少的,這個系統(tǒng)則應(yīng)用了DS18B20為溫度傳感器的溫度控制系統(tǒng),采集溫度后利用數(shù)碼管顯示當前溫度,并通過繼電器對其加熱等??偠灾疁乜刂葡到y(tǒng)在生活中的大量應(yīng)用為我們帶來了方便,提高了我們的生活質(zhì)量。 關(guān)鍵詞:水溫控制系統(tǒng) 單片機 AT89C51 DS18B20 繼電器 Design for microcomputer temperature control system Abstract: Speaking of temperature control system, everybody is not strange, in our life, many household appliances can be involved in temperature control, like food storage refrigerator, bring us cool air conditioning, the temperature control system is used for us a steaming hot water drinking machine, and so on. Water temperature control system are introduced in this paper, the basic principle of this system can be used for water dispensers circuit, such as the core of the whole system is AT89C51 single chip microcomputer, it is the main control unit to the system, the water temperature control temperature control system is also indispensable, of course, the application system, the temperature control system of temperature sensor DS18B20, after collecting temperature using digital tube display the current temperature, and through the relay on the heating, etc. Overall water temperature control system in the life of a large number of applications for our brought convenient, improve the quality of our life. Keywords: water temperature control system of single chip microcomputer AT89C51 DS18B20 relay . 目 錄 前言 ..............................................................1 1 水溫控制器背景 1 2 方案比較 1 2.1 控制電路的方案比較 1 2.2 溫度采集模塊 2 2.3 顯示模塊 2 2.4 溫度控制模塊 2 3 硬件電路 3 3.1 硬件框圖 3 3.2 功能介紹 3 3.2.1 控制電路模塊 3 3.2.2 溫度采集模塊功能 6 3.2.3 溫度控制模塊功能 7 3.2.4 顯示模塊功能 8 4 軟件設(shè)計 10 4.1 主程序流程圖 10 4.2 溫度采集程序 11 4.2.1 溫度轉(zhuǎn)換 12 4.3 按鍵處理 13 4.4 顯示模塊 13 5 調(diào)試說明 15 5.1 溫度采集誤差 15 5.2 水溫控制測試 16 5.3 溫度突變測試 17 6 結(jié)束語 18 附錄 .............................................................19 參考文獻 .........................................................21 基于單片機的水溫控制系統(tǒng)設(shè)計 前言 電飯煲,電冰箱,電空調(diào)在我們生活中隨處可見,為我們的生活帶來了極大的方便,這一切的功勞都歸屬于水溫控制系統(tǒng)的誕生。隨著科技不斷進步,如今的水溫控制系統(tǒng)越來越精確,質(zhì)量越來越高,效率也越來越好。 然而水溫控制系統(tǒng)不僅僅應(yīng)用在一些日常的家電中,還在工業(yè)上普遍應(yīng)用。例如冶金,電力生產(chǎn)等對溫度都有極其高的要求,工業(yè)冶煉都是在高溫環(huán)境下操作的,在如此惡劣的環(huán)境下,控制溫度是對員工安全的負責,是對產(chǎn)品質(zhì)量的指標,是對成品數(shù)量的標準,可見水溫控制的重要性,不僅提高了產(chǎn)品質(zhì)量,還相應(yīng)節(jié)約了人力勞動。 在現(xiàn)在工業(yè)發(fā)達的領(lǐng)域,自動化控制應(yīng)用越來越廣泛,大大節(jié)約了人力物力資源,由于單片機的廣泛應(yīng)用和發(fā)展,使水溫控制系統(tǒng)越來越精確,越來越方便,越來越與我們的生活息息相關(guān),人們也越來越放心使用。 1 水溫控制器背景 人們對生活質(zhì)量的要求越來越高,現(xiàn)在電子技術(shù)的不斷發(fā)展推動了水溫控制的不斷進步,即能滿足人類現(xiàn)在的需要。目前水溫的控制系統(tǒng)一般采用以微處理器為核心的計算機控制技術(shù),代替了從前落后的控制器,從而提高了自動化能力,并且精確度也越來越高。由于單片機的問世,自動化控制將單片機的功能發(fā)揮到淋漓盡致,單片機也成為了大多電子產(chǎn)品中必不可少的核心元件,而對于本課題的水溫控制系統(tǒng)也涉及到了單片機的應(yīng)用,在當代生活水溫控制系統(tǒng)應(yīng)用越來越廣泛,說明了水溫控制系統(tǒng)在我們生活中的地位,并且適合各種場合的智能水溫控制器也隨之誕生。本課題就是在STC89C52單片機上的水溫控制系統(tǒng)。 2 方案比較 2.1 控制電路的方案比較 方案一:采用FPGA作為系統(tǒng)控制器。FPGA具有高速運行,編程簡單的優(yōu)勢,但是本系統(tǒng)只是一個簡單普通的水溫測試系統(tǒng),高速運行對本系統(tǒng)來說與不是高速運行的控制系統(tǒng)相比不會產(chǎn)生太大優(yōu)勢,所以不需要高速運行這個特點,并且FPGA成本高,引腳多,十分麻煩,對于本系統(tǒng)利用不到其優(yōu)勢且由于引腳多會給其帶來額外麻煩,所以排除它。 方案二:采用STC89C52RC單片機作為控制器。本單片機是在一塊芯片中集成了數(shù)據(jù)存儲器ROM,中央處理器,定時器,計數(shù)器和程序存儲器RAM,32位IO口,可通過編程實現(xiàn)邏輯,運算等控制,且其具有體積小,功耗低,成本低的優(yōu)勢,而且此單片機引腳較少,對于本系統(tǒng)是最佳的選擇。不僅可以實現(xiàn)自動化控制水溫的功能,又可以降低成本又是十分簡便的方式。 綜上所述選擇方案二。 2.2 溫度采集模塊 方案一:采用熱敏電阻器采集溫度,盡管其靈敏度較高,工作范圍也挺廣泛,但是其阻值與溫度關(guān)系非線性嚴重,調(diào)試較復(fù)雜,固不采用。 方案二:采用熱電偶采集溫度,盡管其精確度較高,穩(wěn)定性好,但是其靈敏度低,成本較高,對污染特別敏感,調(diào)試困難,固也不采用。 方案三:采用DS18B20溫度傳感器采集溫度,可直接與本系統(tǒng)控制電路單片機通信,讀取測溫數(shù)據(jù)。且線路簡單,耗用資源少,靈敏度高,測溫范圍-55℃~125℃,分辨率最大可達0.0625 ℃,而且較其它溫度采集模塊,我們已對DS18B20有了初步的接觸,在我們使用時會更加等心應(yīng)手,減少不必要的麻煩,最主要是DS18B20能滿足本系統(tǒng)所有要求。 綜上所述選擇方案三。 2.3 顯示模塊 方案一:采用LED八段數(shù)碼管。使用該方案時就要用到三個LED分別顯示溫度的十位、個位和小數(shù)位,在制作時就使其復(fù)雜麻煩。盡管數(shù)碼管低消耗,但是其引腳不規(guī)則,在辨別和確認引腳時也較為麻煩,還有一點就是溫度是可以變化的,是隨著時間會改變的,固該系統(tǒng)是動態(tài)顯示,為滿足這點要求LED八段數(shù)碼管在使用時要外加驅(qū)動電路,就更為復(fù)雜。 方案二:采用液晶顯示屏。液晶顯示屏不但具有數(shù)碼管顯示的特點,但是較LED八段數(shù)碼管而言,它的引腳就較其簡單,而且抗干擾能力強,編程也相對簡單容易,使本系統(tǒng)在制作時更為簡單,且滿足我們的所有需求。 綜上所述選擇方案二。 2.4 溫度控制模塊 方案一:采用可控硅來控制加熱器有效功率。采用本方案需通過控制其導(dǎo)通角來掌握電流大小,盡管可控硅開端速度快且無涌流,但該方案電路復(fù)雜,還需增加其他光耦器件,使電路更顯復(fù)雜,并且成本高,功耗大,所以不使用該方案。 方案二:采用PWM控制固態(tài)繼電器來達到控制電流大小的目的,從而控制加熱溫度降低溫度,繼電器可以很容易地實現(xiàn)通過較高的電壓和電流,并且較方案一電路簡單,不用外加光耦器件,且成本低,對整體系統(tǒng)無干擾,響應(yīng)快,能滿足該系統(tǒng)要求。 綜上所述選擇方案二。 3 硬件電路 3.1 硬件框圖 該總系統(tǒng)主要以STC89C52為核心模塊來控制整個系統(tǒng),還有溫度采集模塊,顯示模塊,溫度控制模塊,鍵盤輸入等共同協(xié)調(diào)而成,該系統(tǒng)可以簡單的控制水溫,并加熱水溫使其達到預(yù)設(shè)狀態(tài),該系統(tǒng)最常見的實例就是飲水機。飲水機是設(shè)置水溫達到幾乎100攝氏度,當打開電源自動開始加熱到預(yù)設(shè)溫度,當達到預(yù)設(shè)溫度時保溫,保持預(yù)設(shè)溫度,當溫度未達到時,又繼續(xù)自動加熱,以此循環(huán)。水溫控制器的硬件框圖如3.1-1所示。 STC89C52 單 片 機 溫度采集 鍵盤輸入 數(shù)據(jù)存儲 溫度控制 數(shù)據(jù)顯示 圖3.1-1 硬件框圖 3.2 功能介紹 3.2.1 控制電路模塊 本系統(tǒng)控制電路模塊是采用單片機STC89C52,它屬于51系列單片機,具有51系列單片機的特點,51系列單片機又被叫做位處理器,因為其有一優(yōu)點就是從內(nèi)的硬件到軟件都有一套按位操作的系統(tǒng),由此顯而易見51系列單片機處理方式是按位處理,單片機還具有高集成度,體積小的特點,它是將各功能部件集成在一塊小芯片上,具有邏輯運算,置位,清零等功能,最主要是其控制能力強,而本系統(tǒng)用到的STC89C52單片機是一個8位單片機,,它的外部晶振為12MHz,一個指令周期為1μS,它還有32個IO口,而單片機的IO口邏輯操作及位處理能力很強,適用于使用控制功能系統(tǒng)。單片機STC89C52內(nèi)部有8KB單元的程序存儲器及256字節(jié)的數(shù)據(jù)存儲器。系統(tǒng)不必擴展外部程序存儲器和數(shù)據(jù)存儲器這樣大大的減少了系統(tǒng)硬件部分。 單片機不但引腳少,而且功能強大,本系統(tǒng)主要應(yīng)用了STC89C52具有控制能力強,及內(nèi)部又8KB單元的程序存儲器及256字節(jié)的數(shù)據(jù)存儲器,使我們采集溫度后可以直接將數(shù)據(jù)傳輸?shù)絾纹瑱C,并可以記錄儲存到此時的數(shù)據(jù),并且它的控制能力可以協(xié)調(diào)控制各模塊之間自動運行,且編寫程序控制較其它而言相對簡單,再者單片機引腳少,使電路不至于麻煩,為操作者帶來很大的便利。如圖3.2.1-1為STC89C52電路圖。 圖3.2.1-1 STC89C52電路圖 STC89C52單片機共有40個引腳,其中有2個用于主電源引腳,分別是Vcc和Vss,位于40和20引腳;2個外接晶振的引腳,分別是XTAL1和XTAL2,其中XTAL1在單片機內(nèi)是反相放大器中的輸入端,而XTAL2則是輸出端;4個控制或與其它電源復(fù)用的引腳,分別是RST(上電復(fù)位),ALE(允許地址鎖存信號),PSEN(片外程序存儲器讀選通輸出端),EA/Vpp(訪問外部程序儲器控制信號和編程電源);以及32個輸入輸出IO引腳,其中分為P0(P0.0~P0.7),P1(P1.0~P1.7),P2(P2.0~P2.7),P3(P3.0~P3.7)口,而P3口不僅具有準雙向接口的功能,還具有其它功能,具體如表3.2.1-1所示。 每個輸入輸出IO口,輸入輸出的數(shù)據(jù)總類是不一樣的。 P0:共有P0.0~P0.7。它分為兩種接口情況,其中一種是不接不擴展IO接口或外部存儲器時,它就被用作準雙向8位輸入輸出接口。另外一種是接有擴展IO口或外部程序存儲器時,P0口就被作為地址數(shù)據(jù)分時復(fù)用口,然而其中分時的接口可提供8位的雙向數(shù)據(jù)總線。在片內(nèi)含有EPROM的單片機,P0還有其它作用。EPROM可以編程和檢驗,當它進行編程的時候,就可以從P0輸入指令字節(jié);而當檢驗程序的時候,對于片內(nèi)含有EPROM的單片機,當EPROM編程時,從P0口輸入指令字節(jié),而當檢驗程序時,P0口輸出指令字節(jié)。 P1:共有P1.0~P1.7。它具有輸入輸出端口的通用特點就是可被用作準雙向IO接口使用。對于STC89C52單片機來說它的功能較唯一。 P2:共有P2.0~P2.7。它也具有輸入輸出口的一般特性就是可用作雙向IO接口。它接有外部IO接口或者外部程序存儲器,并且它的尋址范圍大于了256個字節(jié)的時候,P2就被用作P高8位地址總線并且可以送出高8位地址 。 P3:共有P3.0~P3.7。它也具有輸入輸出口的一般特性就是可用作雙向IO接口。P3口又被叫作雙功能口,它的每一個引腳都可以單獨使用,不僅可以單獨用作輸入輸出接口,并且每一個單獨的引腳都有其單獨的其它功能,如表3.2.1-1P3口其它功能所示。 表3.2.1-1 P3口其它功能 引腳 功能 P3.0 RXD(串行口輸入端0) P3.1 TXD(串行口輸出端) P3.2 INT0(部中斷0請求輸入端,低電平有效) P3.3 INT1(中斷1請求輸入端,低電平有效) P3.4 T0(時器/計數(shù)器0計數(shù)脈沖端) P3.5 T1(時器/計數(shù)器1數(shù)脈沖端) P3.6 WR(部數(shù)據(jù)存儲器寫選通信號輸出端,低電平有效) P3.7 RD(部數(shù)據(jù)存儲器讀選通信號輸出端,低電平有效) 4個控制引腳,它還能與其它電源復(fù)用,RST引腳又可以作為VPD引腳,叫作備用電源,它的作用就是當VCC發(fā)生故障不能使用時,譬如斷電或者電平降到低電平范圍,此時可接到備用電源VDP為系統(tǒng)RAM供電,以保證RAM繼續(xù)運行,使其中的數(shù)據(jù)不至于丟失。EA引腳又可以作為VPP引腳,但是被看作VPP時的條件是當片內(nèi)含有EPROM的單片機,并且當EPROM在編程的時候,這時該控制引腳用來接21V的編程電源,也就是Vpp。 3.2.2 溫度采集模塊功能 該系統(tǒng)采用數(shù)字溫度傳感器DS18B20,將該傳感器輸出信號上拉電阻直接接到單片機的P1.0引腳上。該傳感器上具有半導(dǎo)體溫敏器,數(shù)據(jù)存儲器,數(shù)模轉(zhuǎn)換等都集成在一塊芯片上,所以它具有溫度測量,通過A/D轉(zhuǎn)換之后得出溫度數(shù)值并存儲記憶,其測量溫度-55℃~+125℃,滿足我們測溫的范圍。 該學(xué)期我們在嵌入式的課程上也初步接觸到了DS18B20,在課內(nèi)我們利用DS18B20的感溫測溫功能測試了室內(nèi)溫度并且通過SSI數(shù)碼管顯示出數(shù)據(jù)。通過那次實驗我了解到DS18B20是一種工業(yè)中常用的數(shù)字溫度傳感器,它的接線十分方便簡單,且封裝形式很多,譬如不銹鋼封裝封裝式,螺紋式,管道式,磁鐵吸附式等等。封裝后的該器件應(yīng)用廣泛,譬如用于高爐水循環(huán)測溫,機房測溫,潔凈室測溫,鍋爐測溫等。 DS18B20采用的是獨特的單線接口方式,當在與微處理器連接使用時僅僅只需要一條口線就可以實現(xiàn)其與微處理器的雙向通訊,對于該水溫測試系統(tǒng)來說十分方便,減少了安裝制作的麻煩,其測溫范圍在-55℃~+125℃,測溫誤差也極其小。DS18B20還有個特點就是支持多點組網(wǎng),也就意味著在一個測溫系統(tǒng)中不僅僅只能采用一個DS18B20,還可以多個DS18B20可以并聯(lián)在唯一的三線上,其最多可以并聯(lián)8個,即就能實現(xiàn)多點測溫的功能。但是有一點不足就是過多的DS18B20并聯(lián)在一起時,從而造成供電的電源電壓值較低,因為電壓過低,使傳輸不穩(wěn)定,即信號傳輸就不穩(wěn)定。 DS18B20有三根外引線,外部構(gòu)造十分簡單明了,三根引線,分別是DQ,VDD,GND,DQ就是單線數(shù)據(jù)傳輸總線端口,VDD就是外供電源線,而GND則是共用地線。了解到DS18B20的外引線之后,我們就可以更加深入了解到它的供電方式,它共有兩種常用的供電方式,其中一種為數(shù)據(jù)線供電方式,這種方法是將VDD接地,然而它獲得能量的方法是通過內(nèi)部電容在空閑時從數(shù)據(jù)線汲取,從而可任意使其完成溫度的轉(zhuǎn)換,但是有一點不足的就是完成相應(yīng)的溫度轉(zhuǎn)換的時間較長,面對這一種不足時,通常采用單片機的一個I/O口來使其來完成對DS18B20總線上拉,使時間盡可能縮短。另一種方法則是外部供電方式,也就是說VDD接+5V,然而這種方式完成相應(yīng)的溫度測量的時間較短。所以我們這個水溫系統(tǒng)則采用了第二種方式以節(jié)省時間為目的。如圖3.2.2-1為DS18B20接口電路圖。 圖3.2.2-1 DS18B20接口電路圖 3.2.3 溫度控制模塊功能 溫度控制模塊,就是經(jīng)過單片機判斷后得出此時的溫度與預(yù)設(shè)溫度相比,若大于預(yù)設(shè)值則進行散熱,若小于預(yù)設(shè)值則進行加熱。該系統(tǒng)采用繼電器控制電流的大小,來掌握溫度的加熱和冷卻。繼電器就是一種電控制器件,它的工作原理是當輸入量也就是激勵量的變化達到一定的要求時,從而在電氣的輸出回路中使被控制的量發(fā)生預(yù)先設(shè)定的階躍變化。通俗說就是用小電流來控制大電流是否運行的開關(guān)。 繼電器有許多種類,按功能可以分為電磁繼電器,固體繼電器,舌簧繼電器,溫度繼電器,高頻繼電器,光繼電器等等。按外形尺寸可以分為微繼電器,小型繼電器,超小型微型繼電器。按防護特征可分為密封繼電器敞開式繼電器等。按反應(yīng)的物理量可分為電流繼電器,電壓繼電器,阻抗繼電器等。按原理可以分為電磁型,電子型,整流型等等。按保護回路可以分為啟動繼電器,出口繼電器等。 現(xiàn)采用兩個繼電器分別控制加熱和降溫的功能,根據(jù)控制電流的大小來進行加熱或降溫。當溫度比預(yù)設(shè)溫度低時,此時系統(tǒng)需要加熱,對于加熱系統(tǒng)繼電器的兩輸出端輸出220V的交流電,通過控制繼電器的閉合來控制電熱絲是否加熱;當溫度比預(yù)設(shè)溫度高時,此時需要降溫,對于冷卻系統(tǒng)通過控制繼電器閉合,從而控制+12V直流電機的轉(zhuǎn)與停來降低溫度。然而繼電器直流可通過36V,交流最高可達250V,滿足該系統(tǒng)的要求,且電路方便,如下圖3.2.3-1為繼電器組成的溫度控制電路。 圖3.2.3-1 溫度控制電路圖 3.2.4 顯示模塊功能 該系統(tǒng)采用的是液晶屏128*64作為顯示模塊,抗干擾能力強,顯示清晰明了。當有電源通過的時候,排列有秩序,從而光線就較容易通過,當電源斷開不導(dǎo)電時,排列就變得換混亂無序,阻止了光線的通過。液晶就像一個開關(guān)一樣,可以阻止光線通過,或允許光線通過。通常,液晶的面板包括了兩片十分精密的無鈉玻璃素材,在兩片無鈉玻璃之間就夾了一層液晶。然而當光束透過中間那層液晶時,其本身會一排排的站立,或者扭轉(zhuǎn)而變成不規(guī)則的形狀,因此就可以使光束通過或阻止它通過。大多數(shù)的液晶都屬于有機的復(fù)合物,它們是由長棒形狀的分子而構(gòu)成,在無外界干擾條件下,他們的長軸大致相平行。而LCD技術(shù),也就是單色液晶顯示器,它是把液晶倒入兩個平面間的,而在這兩個平面上有各有一列細槽,且互相垂直。就在兩個平面之間的分子不得不也成為了90度的扭轉(zhuǎn)形態(tài),再加上光線是沿著分子排列的方向傳播的,所以光線在經(jīng)過液晶之后就旋轉(zhuǎn)了90度。但是一旦液晶有電壓通過時,分子由于受外界影響,就重新垂直的排列,從而光線就能直接射出,就不會發(fā)生旋轉(zhuǎn)了。在了解了液晶顯示的原理后,我們關(guān)心的就是怎樣將它接入我們的系統(tǒng)。下圖3.2.3-1為液晶顯示接口電路。 圖3.2.3-1 液晶顯示接口電路 3.2.5 鍵盤電路模塊功能 鍵盤的功能顧名思義,既然為水溫控制,必然會有溫度等一系列參數(shù)的設(shè)定,該系統(tǒng)采用四個按鍵來更改參數(shù),功能分別為預(yù)設(shè)溫度加1,預(yù)設(shè)溫度減1,更改預(yù)設(shè)溫度,確定等按鍵。按鍵模塊,不僅要使參數(shù)設(shè)定得到實現(xiàn),而且還要讓使用者一眼便能清楚明白每個按鍵的功能,所以我們采用較少的按鍵,以免使程序復(fù)雜,使用較少的按鍵也可以使接入電路更為簡單。如圖3.2.4-1為鍵盤模塊電路。 圖3.2.4-1 鍵盤模塊電路 4 軟件設(shè)計 4.1 主程序流程圖 該系統(tǒng)是水溫控制系統(tǒng),屬于溫度控制中的一種,其軟件部分主要采用編寫程度使系統(tǒng)自動運行,主要應(yīng)用C語言的編寫來對單片機等硬件系統(tǒng)的控制。主程序大概分為溫度初始化設(shè)定,采集水溫模塊收集水溫,通過單片機的控制和BCD的轉(zhuǎn)換,在液晶顯示的作用下讀出溫度,通過單片機的判斷,對水溫是否達到預(yù)設(shè)溫度通過繼電器做出相應(yīng)的加熱或散熱措施。主程序流程圖如下圖4.1-1 所示。 開始 系統(tǒng)界面初始化 溫度讀取、顯示及控制 按鍵掃描,設(shè)置預(yù)設(shè)溫度 當前溫度> 預(yù)設(shè)值 Y 啟動降溫 N 當前溫度<預(yù)設(shè)值 Y N 啟動加熱 溫度保持 圖4.1-1 主程序流程 4.2 溫度采集程序 水溫系統(tǒng)固然溫度是至關(guān)重要的因素,對于溫度采集選擇了DS18B20,它具有高靈敏度,高精度的優(yōu)勢。當整個系統(tǒng)連接了DS18B20,則溫度采集系統(tǒng)開始運作,通過識別DS18B20是否連接,當確定連接后,ROM操作命令開始運行,從而進行存儲操作,最后可以讀出當前溫度,以此循環(huán)。如圖4.3-1溫度采集流程圖所示。 開始 初始化 DS18B20存在? ROM操作指令 存儲操作命令 讀取溫度值 返回 N Y 4.2-1 溫度采集流程圖 4.2.1 溫度轉(zhuǎn)換 溫度的轉(zhuǎn)換也需要程序運行,在硬件系統(tǒng)中運行傳輸數(shù)據(jù),就要將十進制碼轉(zhuǎn)換成機器能識別的代碼,現(xiàn)在的的計算機一般都是二進制代碼,所以首先要將RAM中存儲的值進行BCD碼的轉(zhuǎn)換運算,然后來判斷溫度的正負值。如圖4.2.1-1所示。 開始 溫度是否零下 溫度值取補碼置“—”標志 計算小數(shù)位溫度BCD值 計算整數(shù)位溫度BCD值 結(jié)束 置“+”標志 N Y 圖4.2.1-1 溫度轉(zhuǎn)換流程圖 4.3 按鍵處理 溫度初始化通過鍵盤輸入,每按下一次鍵盤上的按鍵,通過系統(tǒng)設(shè)置的程序掃描該按鍵下是否會有一系列操作,若有則根據(jù)按下的按鍵進入相應(yīng)程序,從而進行對應(yīng)的操作設(shè)置,若沒有則退出程序,不做出反應(yīng)。該按鍵系統(tǒng)主要有如下幾個按鍵功能:預(yù)設(shè)溫度設(shè)定,溫度增加1,溫度減少1,確定保存等按鍵。流程如圖附錄2所示。 4.4 顯示模塊 顯示模塊采用的液晶顯示,也要通過編譯相應(yīng)程序做出一系列操作,該系統(tǒng)顯示主要包括當前溫度顯示,和正在進行的操作提示。譬如預(yù)設(shè)溫度加1或減1等等。如圖4.4-1所示。 液晶驅(qū)動函數(shù) 寫命令函數(shù) 寫數(shù)據(jù)函數(shù) 液晶管腳宏定義 畫圖及溫度讀取顯示子函數(shù) 圖4.4-1 液晶顯示流程圖 溫度是可以變幻的,隨著時間的變化,經(jīng)過一系列的加熱或散熱操作,溫度會逐漸增加或者逐漸降低,在設(shè)置參數(shù)時,溫度的顯示也會根據(jù)按鍵的操作而改變數(shù)據(jù),自然液晶屏上溫度的顯示是不斷更新的,而顯示數(shù)據(jù)的刷新其實就是對顯示緩沖器中的數(shù)據(jù)進行刷新更改操作,且最重要一點就是最高位前的符號表示,當最高顯示位為0時將符號顯示位移入下一位。如圖4.4-2所示。 溫度數(shù)據(jù)移入顯示寄存器 十位數(shù)0? 百位數(shù)0? 十位數(shù)顯示符號百位數(shù)不顯示 百位數(shù)顯示數(shù)據(jù)(不顯示符號) 結(jié)束 N N Y Y 圖4.4-2 數(shù)據(jù)刷新流程圖 4.5 繼電器加熱系統(tǒng) 通過單片機控制,接收到DS18B20傳輸?shù)亩M制代碼經(jīng)過一系列的公式計算將二進制代碼轉(zhuǎn)換成十進制數(shù)得出實際測量溫度,根據(jù)事先預(yù)設(shè)的溫度值做出比較,并判斷出對溫度到底是加熱還是降溫,繼而繼電器做出一些列反應(yīng),通過控制電流的大小從而控制溫度。 5 調(diào)試說明 水溫控制器對水溫的精確度要求較高,現(xiàn)在我們需要將制作的基于單片機的水溫控制器對其溫度誤差,顯示誤差,水溫控制等進行調(diào)試,使的該系統(tǒng)更加精確。 該調(diào)試過程需用到精密溫度計(量程是0℃-100℃,分度值是0.5℃,且防水);秒表等。該調(diào)試過程中,室內(nèi)溫度在13℃。 5.1 溫度采集誤差 在該水溫控制系統(tǒng),設(shè)置溫度的最小分度為1℃,按一下上調(diào)和下調(diào)鍵分別增加溫度1和減少溫度1,固按鍵系統(tǒng)調(diào)整成功,顯示預(yù)設(shè)參數(shù)值模塊也調(diào)試成功。 然而,在本系統(tǒng)中溫度采集部分相當重要,該水溫控制系統(tǒng)是否可靠就是看溫度采集數(shù)據(jù)的精確度到什么地步。對溫度采集模塊調(diào)試采用精密溫度計測試出的溫度作為基準溫度,測不同的水溫,在溫度穩(wěn)定且不在上升或下降時讀出當前溫度,并與顯示值做比較,得出誤差。調(diào)試結(jié)果如表5.1-1所示。 表5.1-1 溫度數(shù)據(jù)采集及誤差 實測顯示值(℃) 系統(tǒng)顯示值(℃) 誤差(℃) 40.1 40.3 +0.2 52.6 52.5 -0.1 65.2 65.2 0 76.4 76.7 +0.2 86.6 86.5 -0.1 由上表數(shù)據(jù)可知,實際測量溫度與系統(tǒng)顯示得出溫度值誤差掌握在1℃以內(nèi),誤差及其小,可以滿足我們的實際所需,固該采集溫度模塊運行正常,調(diào)試成功。 5.2 水溫控制測試 水溫控制系統(tǒng)是對單片機通過判斷,對繼電器進行控制,進而進行對水溫的加熱或是散熱的操作。固然控制系統(tǒng)也較為重要,使水溫能達到我們預(yù)設(shè)值,水溫控制的調(diào)試,我們采用的方法是先預(yù)設(shè)一個溫度,通過向之前的水里添加較之前水溫更熱的水或比之前水溫更低的水來改變之前水的水溫,通過繼電器控制電流的大小對當前水溫進行操作,使其與預(yù)設(shè)值相當。測試數(shù)據(jù)如下表5.2-1所示。 表5.2-1 水溫控制測試 預(yù)設(shè)溫度(℃) 當前溫度(℃) 工作狀態(tài) 測試結(jié)果 45.0 35.4 加熱 通過 45.0 45.2 保持 通過 45.0 50.3 降溫 通過 60.0 52.3 加熱 通過 60.0 59.5 保持 通過 60.0 68.8 降溫 通過 80.0 74.4 加熱 通過 80.0 80.1 保持 通過 80.0 86.5 降溫 通過 我們采用三組實驗,設(shè)置溫度分別為45.0℃,60.0℃,80.0℃使測試數(shù)據(jù)更精確,更有可靠性。由上表數(shù)據(jù)可知當水溫未達到預(yù)設(shè)值,繼電器會對水溫進行加熱或降溫使其與接近預(yù)設(shè)值,固控制模塊能正常工作,調(diào)試成功。 5.3 溫度突變測試 對于水溫控制系統(tǒng)運用,溫度是變化的,當一個溫度達到預(yù)設(shè)值恒溫時,這時突然改變預(yù)設(shè),當前水溫達不到預(yù)設(shè)值,系統(tǒng)將會對其進行調(diào)節(jié),我們將對其調(diào)節(jié)時間和起調(diào)溫度做一個測試記錄,對于溫度突變測試采用起初設(shè)置溫度為40℃,將其設(shè)定溫度提高到60℃,當調(diào)到60℃用秒表開始計時。測試數(shù)據(jù)如表5.3-1所示。 表5.3-1 溫度突變測試 當前溫度(℃) 突變設(shè)置溫度(℃) 時間(S) 超調(diào)溫度(℃) 40.0 60.0 74 0.5 40.0 60.0 71 0.3 40.0 60.0 77 0.6 由上表數(shù)據(jù)可知,當溫度突變時,本測試是從40℃突變到60℃,其調(diào)節(jié)時間掌握在80秒內(nèi),時間夠短,且起調(diào)溫度也在1℃以內(nèi),起調(diào)量較小,符合我們的需求。 6 結(jié)束語 這次寫作論文過程中,也遇到過許多麻煩和問題,譬如在硬件的選擇上就很是糾結(jié),面對那么多的硬件都可以采用,怎么才能選出最佳方案,使整個系統(tǒng)制作起來更簡單,要想選出最佳方案,就要了解每個硬件系統(tǒng)的工作原理,這些就需要大量在網(wǎng)上和書本上搜集資料,光是靠平時在課內(nèi)學(xué)習的知識遠遠是不夠的,通過這次寫論文的過程我深刻明白了課內(nèi)學(xué)習的知識固然重要,不但要認真踏實學(xué)好課內(nèi)老師教授的知識,還要靈活的去掌握和應(yīng)用,不然對于其它系統(tǒng)的制作時,就不能游刃有余,不能靈活將所學(xué)知道應(yīng)用到實際生活中去,課內(nèi)的時間畢竟是有限的,學(xué)到的知道也必然是極少一部分的,這還需要我們平時多看書不斷充實自己,使自己知識面更廣闊,在遇到不懂的問題時,要學(xué)會充分利用網(wǎng)絡(luò)和圖書館的資源。通過這次論文的寫作,我還感受到了自學(xué)在大學(xué)生活中的重要性,大學(xué)沒有了初中高中老師天天監(jiān)督著大家學(xué)習,就算你成核差經(jīng)常不去上課,也不會有老師在給家長打小報告這回事了,大學(xué)學(xué)習每天也沒有了家長的嘮叨,所有的學(xué)習任務(wù)都要靠自己自覺自愿完成,這次寫作論文,沒有老師每天催促我們完成,也沒有老師每天給我們講授系統(tǒng)工作原理等等,要完成這次論文就要靠自己自覺利用時間請教老師,詢問同學(xué),查閱資料。大學(xué)生活已經(jīng)有兩年多了,我領(lǐng)會到大學(xué)的學(xué)習自由,最終的學(xué)業(yè)效果主要靠自覺,是否會利用課余時間,因為大學(xué)期間自己的休息時間是很多的,如果應(yīng)用好課余時間,大學(xué)這幾年我們會學(xué)到很多。 這次論文能夠完成,我要感謝我的爸爸媽媽,是他們的辛勤工作才能給我提供一個學(xué)習環(huán)境,在這里有耐心的老師,友好的同學(xué),豐富的書籍資料;我要感謝我的老師,是他們教授了我許多知識,讓我在寫作論文過程可以將所學(xué)知識應(yīng)用其中,并且在我遇到很難解決的問題時,向他們請教,他們都會耐心的給我一一解答,直到我明白為止;我要感謝我的室友,在我遇到有些問題拿摸不準時,他們可以給我提出一些有用的信息使我可以繼續(xù)完成我的論文,為我在寫作時節(jié)省了不少時間,并且當我在寫論文時他們給我提供了一個安靜舒適的環(huán)境,營造了學(xué)習的好氛圍。這次的論文寫作不僅讓我了解了水溫控制系統(tǒng)的工作原理,也讓我學(xué)習到了不少硬件的原理結(jié)構(gòu),還讓我對通信知識產(chǎn)生了極大的興趣,令我受益匪淺! 附錄1:系統(tǒng)原理圖 附錄2:按鍵處理流程圖 開始 ENTER鍵是否按下 ENTER_FLAG為1 是否有ENTER按下 是否有UP按下 是否有DOWN按下 是 否 是 否是 否 是 ENTER子程序flag=1 DISPLAY顯示 否是 否是 UP子程序 DOWN子程序 退出子程序(RET)返回主程序 是 是 參考文獻 [1]郭天祥:51單片機C語言教程,電子工業(yè)出版社,2008.11,P3-P9 [2]屈召貴、劉強、孫活、晏勇:嵌入式系統(tǒng)原理及應(yīng)用,電子科技大學(xué)出版社,2011.9,P100-P121 [3]張富:C及C++程序設(shè)計,人民郵電出版社,2008.10,P12-P28 [4]華成英、童詩白:模擬電子技術(shù)基礎(chǔ),北京,高等教育出版社,2000.9,P200-P213 [5]閻石著:數(shù)字電子技術(shù)基礎(chǔ)編,北京,高等教育出版社,2005.3,P111-P234 [6]黃鴻、陳杰:傳感器與檢測技術(shù),北京,高等教育出版社,2008.2,P10-P18 [7]張毅剛:單片機原理及應(yīng)用,高等教育出版社, 2003.5,P20-P29 [8]余錫存、曹國華:單片機原理及接口技術(shù),西安電子科技大學(xué)出版社,2004.9,P89-P129 [9]于海生:計算機控制技術(shù),機械工業(yè)出版社,2007.5,P229-P289 [10]黃智偉全國大學(xué)生電子設(shè)計競賽——系統(tǒng)設(shè)計,北京航空航天大學(xué)出版社,2006.12,P236-P310- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機 水溫 控制系統(tǒng) 設(shè)計 畢業(yè)設(shè)計
鏈接地址:http://www.3dchina-expo.com/p-6645547.html