




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于單片機的溫度控制系統(tǒng)設(shè)計與實現(xiàn)——下位機系統(tǒng)摘要溫度的測量與控制在工業(yè)生產(chǎn)和日常生活中應(yīng)用廣泛。本文介紹了一個基于單片機STC89C52的簡單溫度控制系統(tǒng),該系統(tǒng)由上下位機兩級組成,上位機采用PC機運行溫度監(jiān)控程序,對溫度進行實時監(jiān)控,同時設(shè)定下位機的控制參數(shù),可實現(xiàn)對溫度數(shù)據(jù)的存儲管理。下位機由單片機構(gòu)成溫度現(xiàn)場采集與控制終端,負責現(xiàn)場溫度的采集與控制。本文著重介紹了下位機系統(tǒng)的設(shè)計方案與軟硬件實現(xiàn)。下位機系統(tǒng)采用8051單片機組成溫度現(xiàn)場測控單元,使用DS18B20數(shù)字式溫度傳感器進行溫度測量,溫度的實時測量數(shù)據(jù)通過RS-232上傳至上位機,進行實時監(jiān)視,同時接收上位機的控制指令,通過繼電器控制電加熱絲的通斷,實現(xiàn)對溫度的控制。實驗說明該系統(tǒng)能夠?qū)崿F(xiàn)對溫度的控制,具有一定的控制精度。該系統(tǒng)測溫電路簡單、連接方便,可用于簡單溫度控制的場合。關(guān)鍵詞:單片機;溫度控制;溫度傳感器;串口通訊BasedonaTemperatureControlSystemDesignandImplementation-ControllerSystemAbstractTheapplicationabouttemperaturemeasurementandcontrolisnormalintheareaofindustryanddailylife.Asimpletemperaturecontrolsystem,basedontheSTC89C52MCU,isintroducedinthispaper,whichincludehostcomputerandslaveone.Thehostone,thatisPC,runstemperaturemonitorsoftwarewhichmonitorsreal-timetemperaturevalue,setsthecontrolparameterstotheslave,andsavethedata.TheslaveistemperaturefieldcollectionandcontrolunitcomposedbyMCU,thedigitaltemperaturesensor,DS18B20,isusedforthetemperaturemeasurement,thereal-timedataistransferredtothehostcomputerbyRS-232fortheonlinemonitoring,thecontrolinstructiondownloadedfromthehostisusedtocontroltemperaturebymeansofheatingwiremake-breakcontrolledbyrelay.Theexperimentshowsthatthesystemcancontrolthetemperaturewiththebettercontrolprecise.Withthesimplicityofthetemperaturemeasurementcircuitandtheconvenientconnectionprocedure,thissystemmaybeadaptableforthesituationsneededsimpletemperaturecontrol.Keywords:MCU;Temperaturecontrol;Temperaturesensor;Serialcommunication目錄TOC\t"標題_謝辭及參考文獻,1,標題_附錄,1,第2級標題,2,第3級標題,3,第1級標題,1"1緒論11.1溫度控制系統(tǒng)的開展現(xiàn)狀11.2課題的內(nèi)容及要求31.3論文的內(nèi)容及安排42溫度控制系統(tǒng)總體方案設(shè)計52.1系統(tǒng)總體方案設(shè)計52.2硬件總體方案設(shè)計52.3軟件總體方案設(shè)計73溫度控制系統(tǒng)硬件系統(tǒng)設(shè)計83.1單片機最小系統(tǒng)設(shè)計83.2測溫電路設(shè)計103.2.1DS18B20的介紹10測溫電路設(shè)計133.3控溫電路設(shè)計143.4電平轉(zhuǎn)換及串口通信電路15電平轉(zhuǎn)化電路16串口通信電路164溫度控制系統(tǒng)的軟件方案設(shè)計194.1初始化子程序設(shè)計194.2DS18B20測溫子程序設(shè)計194.3串口通信子程序設(shè)計224.4控制局部子程序設(shè)計245系統(tǒng)調(diào)試255.1硬件局部調(diào)試255.2軟件局部調(diào)試265.3系統(tǒng)聯(lián)調(diào)27結(jié)論29社會經(jīng)濟效益分析30參考文獻31致謝33附錄Ⅰ電路圖34附錄Ⅱ程序清單35附錄Ⅲ元器件清單44緒論溫度是生活及生產(chǎn)中最根本的物理量,它表征的是物體的冷熱程度。自然界中任何物理、化學過程都緊密的與溫度相聯(lián)系。在很多生產(chǎn)過程中,溫度的測量和控制都直接和平安生產(chǎn)、提高生產(chǎn)效率、保證產(chǎn)品質(zhì)量、節(jié)約能源等重大技術(shù)經(jīng)濟指標相聯(lián)系。因此,溫度的測量與控制在國民經(jīng)濟各個領(lǐng)域中均受到了相當程度的重視。在實際的生產(chǎn)實驗環(huán)境下,由于系統(tǒng)內(nèi)部與外界的熱交換是難以控制的,其他熱源的干擾也是無法精確計算的,因此溫度量的變化往往受到不可預(yù)測的外界環(huán)境擾動的影響。為了使系統(tǒng)與外界的能量交換盡可能的符合人們的要求,就需要采取其他手段來到達這樣一個絕熱的目的,例如可以讓目標系統(tǒng)外部環(huán)境的溫度與其內(nèi)部溫度同步變化。根據(jù)熱力學第二定律,兩個溫度相同的系統(tǒng)之間是到達熱平衡的,這樣利用一個與目標系統(tǒng)溫度同步的隔離層,就可以把目標系統(tǒng)與外界進行熱隔離。另外,在大局部實際的環(huán)境中,增溫要比降溫方便得多。因此,對溫度的控制精度要求比擬高的情況下,是不允許出現(xiàn)過沖現(xiàn)象的,即不允許實際溫度超過控制的目標溫度。特別是隔熱效果很好的環(huán)境,溫度一旦出現(xiàn)過沖,將難以很快把溫度降下來。這是因為很多應(yīng)用中只有加熱環(huán)節(jié),而沒有冷卻的裝置。同樣道理,對于只有冷卻沒有加熱環(huán)節(jié)的應(yīng)用中,實際溫度低于控制的目標溫度,對控制效果的影響也是很大的。鑒于上述這些特點,高精度溫度控制的難度比擬大,而且不同的應(yīng)用環(huán)境也需要不同的控制策略。下面就簡要的討論一下溫度測控技術(shù)的開展與現(xiàn)狀。溫度控制系統(tǒng)的開展現(xiàn)狀近年來,溫度的檢測在理論上開展比擬成熟,但在實際測量和控制中,如何保證快速實時地對溫度進行采樣,確保數(shù)據(jù)的正確傳輸,并能對所測溫度場進行較精確的控制,仍然是目前需要解決的問題。溫度測控技術(shù)包括溫度測量技術(shù)和溫度控制技術(shù)兩個方面。在溫度的測量技術(shù)中,接觸式測溫開展較早,這種測量方法的優(yōu)點是:簡單、可靠、低廉、測量精度較高,一般能夠測得真實溫度;但由于檢測元件熱慣性的影響,響應(yīng)時間較長,對熱容量小的物體難以實現(xiàn)精確的測量,并且該方法不適宜于對腐蝕性介質(zhì)測溫,不能用于超高溫測量,難于測量運動物體的溫度。另外的非接觸式測溫方法是通過對輻射能量的檢測來實現(xiàn)溫度測量的方法,其優(yōu)點是:不破壞被測溫場,可以測量熱容量小的物體,適于測量運動物體的溫度,還可以測量區(qū)域的溫度分布,響應(yīng)速度較快。但也存在測量誤差較大,儀表指示值一般僅代表物體表觀溫度,測溫裝置結(jié)構(gòu)復(fù)雜,價格昂貴等缺點。因此,在實際的溫度測量中,要根據(jù)具體的測量對象選擇適宜的測量方法,在滿足測量精度要求的前提下盡量減少投入。溫度控制技術(shù)按照控制目標的不同可分為兩類:動態(tài)溫度跟蹤與恒值溫度控制。動態(tài)溫度跟蹤實現(xiàn)的控制目標是使被控對象的溫度值按預(yù)先設(shè)定好的曲線進行變化。在工業(yè)生產(chǎn)中很多場合需要實現(xiàn)這一控制目標,如在發(fā)酵過程控制,化工生產(chǎn)中的化學反響溫度控制,冶金工廠中燃燒爐中的溫度控制等;恒值溫度控制的目的是使被控對象的溫度恒定在某一給定數(shù)值上,且要求其波動幅度〔即穩(wěn)態(tài)誤差〕不能超過某允許值。本文所討論的基于單片機的溫度控制系統(tǒng)就是要實現(xiàn)對溫控箱的恒值溫度控制要求,故以下僅對恒值溫度控制進行討論。從工業(yè)控制器的開展過程來看,溫度控制技術(shù)大致可分以下幾種:定值開關(guān)控溫法所謂定值開關(guān)控溫法,就是通過硬件電路或軟件計算判別當前溫度值與設(shè)定目標溫度值之間的關(guān)系,進而對系統(tǒng)加熱裝置〔或冷卻裝置〕進行通斷控制。假設(shè)當前溫度值比設(shè)定溫度值高,那么關(guān)斷加熱器,或者開動制冷裝置;假設(shè)當前溫度值比設(shè)定溫度值低,那么開啟加熱器并同時關(guān)斷制冷器。這種開關(guān)控溫方法比擬簡單,在沒有計算機參與的情況下,用很簡單的模擬電路就能夠?qū)崿F(xiàn)。目前,采用這種控制方法的溫度控制器在我國許多工廠的老式工業(yè)電爐中仍被使用。由于這種控制方式是當系統(tǒng)溫度上升至設(shè)定點時關(guān)斷電源,當系統(tǒng)溫度下降至設(shè)定點時開通電源,因而無法克服溫度變化過程的滯后性,致使被控對象溫度波動較大,控制精度低,完全不適用于高精度的溫度控制。PID線性控溫法這種控溫方法是基于經(jīng)典控制理論中的PID調(diào)節(jié)器控制原理,PID控制是最早開展起來的控制策略之一,由于其算法簡單、魯棒性好、可靠性高等優(yōu)點被廣泛應(yīng)用工業(yè)過程控制中,尤其適用于可建立精確數(shù)學模型確實定性控制系統(tǒng)。由于PID調(diào)節(jié)器模型中考慮了系統(tǒng)的誤差、誤差變化及誤差積累三個因素,因此,其控制性能大大地優(yōu)越于定值開關(guān)控溫。其具體控制電路可以采用模擬電路或計算機軟件方法來實現(xiàn)PID調(diào)節(jié)功能。前者稱為模擬PID控制器,后者稱為數(shù)字PID控制器。其中數(shù)字PID控制器的參數(shù)可以在現(xiàn)場實現(xiàn)在線整定,因此具有較大的靈活性,可以得到較好的控制效果。采用這種方法實現(xiàn)的溫度控制器,其控制品質(zhì)的好壞主要取決于三個PID參數(shù)〔比例值、積分值、微分值〕。只要PID參數(shù)選取的正確,對于一個確定的受控系統(tǒng)來說,其控制精度是比擬令人滿意的。但是,它的缺乏也恰恰在于此,當對象特性一旦發(fā)生改變,三個控制參數(shù)也必須相應(yīng)地跟著改變,否那么其控制品質(zhì)就難以得到保證。智能溫度控制法為了克服PID線性控溫法的弱點,人們相繼提出了一系列自動調(diào)整PID參數(shù)的方法,PID參數(shù)的自學習,自整定等等。并通過將智能控制與PID控制相結(jié)合,從而實現(xiàn)溫度的智能控制。智能控溫法以神經(jīng)網(wǎng)絡(luò)和模糊數(shù)學為理論根底,并適當加以專家系統(tǒng)來實現(xiàn)智能化。其中應(yīng)用較多的有模糊控制、神經(jīng)網(wǎng)絡(luò)控制以及專家系統(tǒng)等。尤其是模糊控溫法在實際工程技術(shù)中得到了極為廣泛的應(yīng)用。目前已出現(xiàn)一種高精度模糊控制器,可以很好的模擬人的操作經(jīng)驗來改善控制性能,從理論上講,可以完全消除穩(wěn)態(tài)誤差。所謂第三代智能溫控儀表,就是指基于智能控溫技術(shù)而研制的具有自適應(yīng)PID算法的溫度控制儀表。目前國內(nèi)溫控儀表的開展,相對國外而言在性能方面還存在一定的差距,它們之間最大的差異主要還是在控制算法方面,具體表現(xiàn)為國內(nèi)溫控儀在全量程范圍內(nèi)溫度控制精度比擬低,自適應(yīng)性較差。這種缺乏的原因是多方面造成的,如針對不同的被控對象,由于控制算法的缺乏而導致控制精度不穩(wěn)定。課題的內(nèi)容及要求1.課題內(nèi)容本課題擬設(shè)計一個基于單片機的溫度控制系統(tǒng),控制對象基于電熱裝置,進行水溫的控制,本設(shè)計為控制系統(tǒng)的下位機設(shè)計,主要由單片機構(gòu)成溫度采集與控制終端,實現(xiàn)溫度的采集與控制,其控制器參數(shù)由上位機設(shè)定。具體設(shè)計方案如下:(1)了解和掌握溫度控制系統(tǒng)設(shè)計原理及方法。(2)查閱文獻,掌握單片機數(shù)據(jù)采集、控制技術(shù)現(xiàn)狀。(3)進行系統(tǒng)方案設(shè)計。(4)構(gòu)建硬件平臺,編制采集及通信程序,進行聯(lián)機調(diào)試,完成系統(tǒng)功能。2.課題要求(1)實現(xiàn)溫度在60~90℃(2)控制精度:1℃。(3)設(shè)備等條件要求:單片機開發(fā)系統(tǒng),PC機。論文的內(nèi)容及安排本論文共分5章,具體內(nèi)容如下:第1章緒論,介紹溫度測控系統(tǒng)的背景和開展現(xiàn)狀。第2章針對該課題的任務(wù)進行具體方案論證和可行性分析,包括硬件方案和軟件方案的設(shè)計及分析。第3章介紹溫度控制系統(tǒng)的硬件系統(tǒng)電路設(shè)計。包括單片機最小系統(tǒng)、測溫電路局部、控溫電路、電平轉(zhuǎn)換電路和串行通信電路等。第4章闡述了溫度控制系統(tǒng)的軟件設(shè)計,包括DS18B20測溫子程序、串口通信子程序、溫度控制子程序等。第5章介紹軟硬件調(diào)試的步驟和故障分析,最后得出結(jié)論并作社會經(jīng)濟效應(yīng)分析。溫度控制系統(tǒng)總體方案設(shè)計溫度控制有許多種方法,可供選擇的器件和運用的技術(shù)也有多種,因此,系統(tǒng)的總體方案設(shè)計應(yīng)在滿足系統(tǒng)整體性能指標的前提下,充分考慮系統(tǒng)使用的環(huán)境,所選的結(jié)構(gòu)要盡量簡單實用,易于實現(xiàn),器件的選用要著眼于適宜的參數(shù)、穩(wěn)定的性能、較低的功耗、低廉的本錢以及較好的性能等等。本章將介紹基于單片機的測控系統(tǒng)的總體方案的設(shè)計并給出結(jié)構(gòu)框圖,分別從軟硬件兩個方面來進行討論。系統(tǒng)總體方案設(shè)計溫控系統(tǒng)是將負載的電加熱絲看成是被控對象,溫度是控制量,控制前先設(shè)定溫度值,然后對電加熱絲進行溫度采集,并將采集的數(shù)據(jù)通過串行通信傳送給上位機,通過控制P口的上下電平,控制電加熱絲的通斷,從而實現(xiàn)對溫度的控制。此課題是一個基于單片機的溫度測控系統(tǒng),需由上下位機聯(lián)合完成,此系統(tǒng)為下位機系統(tǒng),主要由單片機構(gòu)成溫度采集與控制終端,實現(xiàn)溫度采集與控制,使受控對象到達上位機設(shè)定的溫度。此系統(tǒng)由軟硬件兩局部組成,硬件電路是系統(tǒng)的結(jié)構(gòu)框架,是軟件的載體,軟件是系統(tǒng)的內(nèi)核,通過硬件來進行具體操作,因此軟硬件相互配合,共同完成各種功能。此系統(tǒng)硬件主要由以下幾個局部構(gòu)成:單片機、溫度采集電路、溫度控制電路、電平轉(zhuǎn)換電路以及串口通訊等局部組成,而系統(tǒng)軟件主要通過對單片機編程來實現(xiàn),此系統(tǒng)使用C語言來完成編程。硬件總體方案設(shè)計本文所研究的系統(tǒng)硬件局部按照功能大致分為以下幾個局部:最小系統(tǒng)、測溫局部、控溫局部以及電平轉(zhuǎn)換和串口通訊局部。其結(jié)構(gòu)框圖如圖2.1所示:受控對象受控對象溫度采集電路溫度控制電路單片機串口通訊計算機電平轉(zhuǎn)換硬件總體結(jié)構(gòu)框圖本設(shè)計本著低功耗、低本錢、性能好等原那么,最終選用以下器件來搭建硬件平臺:1.單片機最小系統(tǒng)單片機最小系統(tǒng)包括單片機芯片,時鐘電路和復(fù)位電路。時鐘電路用于產(chǎn)生單片機工作時所必須的時鐘信號。STC89C52單片機的內(nèi)部電路在時鐘信號控制下,嚴格地按時序執(zhí)行指令進行工作;復(fù)位操作是單片機的初始化操作,只需給單片機的復(fù)位引腳RST加上大于2個機器周期的高電平就可以使單片機復(fù)位。2.測溫局部傳統(tǒng)的溫度檢測大多以熱敏電阻為溫度傳感器,這種熱敏傳感器的工作原理是其電阻值隨著溫度的變化而發(fā)生顯著變化,熱敏傳感器廣泛用于一般精度的溫度測量,或在計量設(shè)備、晶體管電路中作溫度補償。由于熱敏電阻的可靠性差,測量溫度準確率低,而且必須經(jīng)過專門的接口電路轉(zhuǎn)換為數(shù)字信號后才能由單片機進行處理,在高精度要求的溫度檢測應(yīng)用中,熱敏電阻已經(jīng)被精度高、準確性好的各種集成溫度采集設(shè)備所代替。本局部采用的是DS18B20傳感器進行溫度測量,它在測量溫度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面也有很大的改良。與傳統(tǒng)的熱敏電阻相比,它不僅能夠直接讀出被測溫度值,并且可以根據(jù)實際要求通過簡單的變成來讀取9到12位的溫度值,DS18B20溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源,因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更簡單,可靠性更高,因此,DS18B20被廣泛應(yīng)用于溫度采集與處理、數(shù)字溫度計及各種溫度控制系統(tǒng)中。3.控制電路局部該局部通過單片機的P口輸出的上下電平來控制固態(tài)繼電器的通斷,從而決定電熱絲是否加熱,當P口輸出低電平時,加熱電阻通電,周圍的溫度緩慢升高,DS18B20測得的溫度值也升高;當P口輸出高電平時,加熱電路斷開,溫度回落。4.電平轉(zhuǎn)換與串口通信局部由于單片機的TTL電平與計算機要求的232電平并不兼容,故使用MAX232芯片對電平進行轉(zhuǎn)換,轉(zhuǎn)換后的電平通過串口與計算機進行串口通信。軟件總體方案設(shè)計溫度控制系統(tǒng)的硬件電路確定之后,其主要功能將依賴于軟件來實現(xiàn),本系統(tǒng)的軟件主要是完成溫度數(shù)據(jù)的采集并把采集的數(shù)據(jù)通過串口通信傳送給上位機,同時接收上位機的命令,到達溫度控制的目的。軟件具體結(jié)構(gòu)框圖如圖2.2所示:開始開始初始化調(diào)用溫度模塊程序?qū)囟葌魉徒o上位機繼電器控制接收上位機指令系統(tǒng)結(jié)構(gòu)圖溫度控制系統(tǒng)硬件系統(tǒng)設(shè)計本系統(tǒng)需要焊接硬件電路。硬件電路作為整個系統(tǒng)運行的必要框架,是軟件正常運行的結(jié)構(gòu)根底,離開了硬件架構(gòu),整個系統(tǒng)需要實現(xiàn)的功能就無從談起。本章內(nèi)容首先介紹數(shù)字式溫度傳感器,說明了傳感器的使用特點,以及它的工作原理及主要特點。其次分別介紹了系統(tǒng)的硬件模塊:單片機最小系統(tǒng)、DS18B20與單片機接口電路、控制電路、電平轉(zhuǎn)換和串口通信電路。單片機最小系統(tǒng)設(shè)計本系統(tǒng)主控芯片選用的是STC89C52單片機,是由深圳宏晶公司代理銷售的一款MCU,是美國設(shè)計生產(chǎn)的一種低電壓、高性能CMOS8位單片機,片內(nèi)含8kbytes的可反復(fù)寫的FlashROM和128位bytes和RAM,2個16位定時計數(shù)器。STC89C52單片機內(nèi)部主要包括累加器ACC、程序狀態(tài)字PSW、地址指示器DPTR、制度存儲器ROM、隨機存取存儲器RAM、存放器、并行I/O接口P0-P3,定時器/計數(shù)器、串行I/O接口以及定時控制邏輯電路等,這些部件通過內(nèi)部總線連接起來,構(gòu)成一個完整的微型計算機,其管腳圖如圖3.1所示:STC89C52引腳圖單片機系統(tǒng)是本溫度測控系統(tǒng)的核心部件,包括時鐘電路和復(fù)位電路的設(shè)計。時鐘電路采用的是內(nèi)部方式時鐘電路〔如圖3.2所示〕。STC89C52要形成時鐘信號,必須外接元件。用外接11.0592MHz晶振以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在反響回路中,電容C1和C2的值選擇為30pF。單片機內(nèi)部方式時鐘電路圖本系統(tǒng)的復(fù)位電路是采用按鈕復(fù)位的電路,如圖3.3所示,是常用復(fù)位電路之一。當STC89C52單片機的ALE及PSEN兩引腳輸出高電平,RET引腳高電平到時,單片機復(fù)位。RET/VPD端的高電平直接由上電瞬間產(chǎn)生那么為上電復(fù)位。假設(shè)通過按動按鈕產(chǎn)生高電平復(fù)位稱手動復(fù)位。上電時,剛接通電源,電容C相當于瞬間短路,+5V立即加到RET/VPD端,該高電平使STC89C52全機自動復(fù)位,這就是上電復(fù)位;假設(shè)運行過程中需要程序從頭執(zhí)行,只需按動按鈕即可。按下按鈕,那么直接把+5V加到了RET/VPD端從而復(fù)位稱為手動復(fù)位。復(fù)位后,P0到P3并行I/O口全為高電平,其它存放器全部清零,只有SBUF存放器狀態(tài)不確定。單片機復(fù)位電路原理圖由單片機以及時鐘電路和復(fù)位電路構(gòu)成了單片機的最小系統(tǒng),最小系統(tǒng)的電路圖如圖3.4所示:單片機最小系統(tǒng)電路圖測溫電路設(shè)計本局部電路主要通過傳感器來實現(xiàn)對溫度的測量,本系統(tǒng)選用的是DS18B20傳感器,DS18B20是美國DALLAS公司繼DS1820之后推出的增強型單總線數(shù)字溫度傳感器。它在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較DS1820有了很大的改良,給用戶帶來了更方便的使用和更令人滿意的效果。DS18B20的介紹DS18B20的結(jié)構(gòu)DS18B20主要由寄生電源、溫度傳感器、64位串行ROM單線接口、存儲中間數(shù)據(jù)的高速暫存器〔內(nèi)含便箋式RAM〕、用于存儲用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲與控制邏輯、8位循環(huán)冗余檢驗碼(CRC)發(fā)生器局部。DS18B20管腳排列如圖3.5所示:DS18B20的引腳圖本設(shè)計使用的是三引腳的產(chǎn)品。其中,1號引腳接地,2號引腳接數(shù)據(jù)端,3號引腳接電源。DS18B20的主要特點數(shù)字型智能溫度傳感器有以下主要特點:(1)適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。(3)DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的單總線上,實現(xiàn)組網(wǎng)多點測溫。(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(5)溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃。(6)溫度分辨力可編程。DS18B20的數(shù)字溫度輸出可進行9~12位編程。在實際應(yīng)用時,需要在分辨力與轉(zhuǎn)換時間兩者之間權(quán)衡考慮。當DS18B20工作在12位分辨力時,溫度與數(shù)字輸出的對應(yīng)關(guān)系見表3.1。DS18B20輸出數(shù)據(jù)與溫度的對應(yīng)關(guān)系溫度/℃數(shù)字輸出〔二進制〕數(shù)字輸出〔十六進制〕+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100010191H+10.125000000011010001000A2H+0.500000001101010000008H000000000000000000000H-10.1251111111101011110FF5EH-25.06251111111001011111FE6FH-551111110010010000FC90H(7)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線〞串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。(8)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線〞串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。DS18B20測溫原理用一個高溫度系數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個門周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。計數(shù)器被預(yù)置到對應(yīng)于-55℃的一個值。如果計數(shù)器在門周期結(jié)束前到達0,那么溫度存放器(同樣被預(yù)置到-55℃)的值增加,說明所測量的溫度大于同時,計數(shù)器被復(fù)位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補償感溫振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期仍未結(jié)束,將重復(fù)這一過程。斜坡式累加器用來補償感溫振蕩器的非線性,以期在測溫時獲得比擬高的分辨力。這是通過改變計數(shù)器對溫度每增加一度所需計數(shù)的值來實現(xiàn)的。因此,要想獲得所需的分辨力,必須同時知道在給定溫度下計數(shù)器得值和每一度的計數(shù)值。溫度測電路的方框圖如圖3.6所示:停止停止增加斜率累加器減法計數(shù)器1減法計數(shù)器2比擬計數(shù)器溫度存放器減到0減到0預(yù)置高溫度系數(shù)振蕩器低溫度系數(shù)振蕩器預(yù)置DS18B20測溫原理圖測溫電路設(shè)計本文中測溫電路主要使用DS18B20傳感器,通過P1.0口與單片機相連,實現(xiàn)數(shù)據(jù)的傳遞,其具體硬件原理圖如圖3.7所示:測溫電路原理圖DS18B20芯片有兩種供電方式:寄生電源供電方式和外部電源供電方式。本文采用的是外部電源供電方式。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流缺乏的問題,可以保證轉(zhuǎn)換精度,同時在理論上總線上可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否那么不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。外部電源供電方式是DS18B20的最正確工作方式,工作穩(wěn)定可靠,抗干擾能力強,而且電路也比擬簡單,可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng),在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點,即使電源電壓VCC降到3V在實際應(yīng)用中還需要注意的是,連接DS18B20的總線電纜是有長度限制的,試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的溫度數(shù)據(jù)將發(fā)生錯誤,當將總線電纜改為雙絞線帶屏蔽電纜時,正常通信距離可達150m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通信距離進一步加長,這種情況主要是由總線分布電容使信號波形發(fā)生畸形造成的,因此,在用DS18B20進行長距離測溫系統(tǒng)設(shè)計時,要充分考慮總線分布電容和阻抗匹配問題。控溫電路設(shè)計控制電路是硬件電路局部中十分重要的一局部,這局部的功能通過改變單片機輸出口上下電平來控制固態(tài)繼電器的開關(guān)通斷,調(diào)節(jié)加熱電阻絲的他通斷,從而到達控制水溫的目的,使之到達設(shè)定溫度值。在設(shè)計這局部電路時,選用下面的方案。該方案所需的元器件主要有:1.電加熱絲電加熱絲的選擇是主要要考慮穩(wěn)定性,耐熱性能,額定功率等。在此電路中,選用了一個300W的電加熱棒來作為電熱絲,以此來加熱容器內(nèi)的水,水的溫度那么是被控對象。2.固態(tài)繼電器主要作用是控制加熱電路的通斷,它是用半導體器件代替?zhèn)鹘y(tǒng)電接點作為切換裝置的具有繼電器特性的無觸點開關(guān)器件,單相SSR為四端有源器件,其中兩個輸入控制端,兩個輸出端,輸入輸出間為光隔離,輸入端加上直流或脈沖信號到一定電流值后,輸出端就能從斷態(tài)轉(zhuǎn)變成通態(tài)。固態(tài)繼電器的有點可以歸結(jié)為以下幾點:(1)高壽命,高可靠:SSR沒有機械零部件,有固體器件完成觸點功能,由于沒有運動的零部件,因此能在高沖擊,振動的環(huán)境下工作,由于組成固態(tài)繼電器的元器件的固有特性,決定了固態(tài)繼電器的壽命長,可靠性高。(2)靈敏度高,控制功率小,電磁兼容性好:固態(tài)繼電器的輸入電壓范圍較寬,驅(qū)動功率低,可與大多數(shù)邏輯集成電路兼容不需加緩沖器或驅(qū)動器。(3)快速轉(zhuǎn)換:固態(tài)繼電器因為采用固體器件,所以切換速度可從幾毫秒至幾微妙。(4)電磁干擾小:固態(tài)繼電器沒有輸入“線圈〞,沒有觸點燃弧和回跳,因而減少了電磁干擾。大多數(shù)交流輸出固態(tài)繼電器是一個零電壓開關(guān),在零電壓處導通,零電流處關(guān)斷,減少了電流波形的突然中斷,從而減少了開關(guān)瞬態(tài)效應(yīng)。SSR在導通時,元件將承受P=V〔管壓降〕×I〔負載〕的耗散功率,其中V有效值和I有效值分別為飽和壓降和工作電流的有效值。此時,需依據(jù)實際工作環(huán)境條件,嚴格參照額定工作電流時允許的外殼溫升(75℃),合理選用散熱器尺寸或降低電流使用,否那么將因過熱引起失控,該方案的特點是:元器件簡單、價格低、應(yīng)用廣泛。電路的搭接簡單易行。實際操作時平安。由于電源電壓很小,以致溫度不會上升太高,故只能在被控制的溫度不太高的情況下使用。由于本設(shè)計處于初級設(shè)計階段,且控制溫度不使太高,因此采用器件較為簡單、本錢較低、易于實現(xiàn)的方案。該方案的設(shè)計圖如圖3.8所示:控溫電路原理圖電平轉(zhuǎn)換及串口通信電路STC89C52單片機串行口的輸入輸出均為TTL電平,這種以TTL電平傳輸數(shù)據(jù)的方式,抗干擾性差,傳輸距離短,為了提高串行通信的可靠性,增大通信距離,工程設(shè)計人員一般采用標準串行接口,如RS-232、RS-422、RS485等標準單行接口來進行串行通信,本文選用RS-232標準串行接口來實現(xiàn)穿行通信的功能,電平轉(zhuǎn)換局部選用MAX232芯片來實現(xiàn),其具體電路圖如3.9所示:圖3.9電平轉(zhuǎn)換及串行通信電路圖電平轉(zhuǎn)化電路由于RS-232C的邏輯0電平規(guī)定為十5V~+15V,邏輯1電平規(guī)定為-15V~-5V,因此,在與TTL電路接口時必須經(jīng)過電平轉(zhuǎn)換。此系統(tǒng)選用的電平轉(zhuǎn)換芯片為MAX232芯片。其引腳分配圖如圖3.10所示:圖3.10MAX232引腳分配圖MAX232是MAXIM公司生產(chǎn)的、包含兩路接收器和驅(qū)動器的RS-232C電平轉(zhuǎn)換芯片,適用于各種232通信接口。MAX232芯片內(nèi)部有一個電源電壓變換器,可以把輸入的+5V電源電壓變換成為RS-232C輸出電平所需的士lOV電壓。所以,采用此芯片接口的串行通信系統(tǒng)只需單一的+5V電源就可以了。由于其適應(yīng)性強,加之價格低廉,硬件接口簡單,所以被廣泛采用。串口通信電路隨著計算機系統(tǒng)的應(yīng)用和微機網(wǎng)絡(luò)的開展,計算機的通信功能顯得越來越重要。從廣義上講,計算機通信可以分為并行通信和串行通信。并行通信速度快、實時性好,但占用的口線多、本錢高、通信距離短,不適用于小型化產(chǎn)品。串行通信只需一根傳輸線即可完成通信功能,本錢低,在通信中得到了廣泛應(yīng)用。計算機與外界的數(shù)據(jù)傳送大多數(shù)都是串行的,通常把計算機與外界的數(shù)據(jù)傳送稱之為通信,因此提到通信就是指串行通信。串行通信是計算機與外圍設(shè)備之間進行信息交換的一種方式,是指數(shù)據(jù)一位一位的按順序在一根信號線上進行傳輸?shù)耐ㄐ欧绞?。串行通信有兩種根本工作方式:異步傳送和同步傳送。在單片機中使用的串行通信都是異步方式,因此本系統(tǒng)中采用異步串行通信方式來實現(xiàn)單片機與PC之間的通信。異步串行通信是以字符為單位組成的幀傳送的,即一幀一幀的傳送。幀由發(fā)送端一幀一幀地發(fā)送,通過傳輸線被接收設(shè)備一幀一幀地接收。發(fā)送端何時開始發(fā)送和何時結(jié)束發(fā)送是由幀格式規(guī)定的。通信線上沒有數(shù)據(jù)傳送時為邏輯高電平,每當接收端檢測到傳輸線上發(fā)送來的邏輯低電平〔幀起始位〕時就知道發(fā)送端已開始發(fā)送,每當接收端接收到幀的停止時就知道一幀字符信息已發(fā)送完畢。幀是一個字符的完整通信格式,由起始位、數(shù)據(jù)位、奇偶校驗位和停止位等四局部組成。字符串送的幀格式如圖3.11所示:圖3.11異步通信的幀格式1.幀中各局部結(jié)構(gòu)和功能如下:(1)起始位:位于字符幀開頭,始終為邏輯“0”低電平。用于向接收設(shè)備表示發(fā)送端開始發(fā)送一幀信息。(2)數(shù)據(jù)位:緊跟起始位之后,數(shù)據(jù)位的個數(shù)可以是5,6,7,8或9位。PC機中經(jīng)常采用7位或8位數(shù)據(jù)傳送,8051串行口采用8位或9位數(shù)據(jù)傳送。傳送時,數(shù)據(jù)位從最低有效位開始發(fā)送,依次在接收設(shè)備中被轉(zhuǎn)換為并行數(shù)據(jù)。(3)奇偶校驗位:位于數(shù)據(jù)位后,用于對字符傳送作正確性檢查,因此奇偶校驗位是可選擇的,共有3種可能,即奇(4)停止位:位于字符幀末尾,為邏輯“1”高電平,用于標志一個字符傳送的結(jié)束??扇?,1.5或2位。2.串行通信的數(shù)據(jù)傳送方式在串行通信中,數(shù)據(jù)通常是校驗、偶校驗和無校驗,由用戶根據(jù)需要選定。在發(fā)送端和接收端之間進行傳送,根據(jù)數(shù)據(jù)傳送的方向,可分成三種根本的傳送形式:單工、全雙工和半雙工。3.串行通信的傳送速率在串行通信中,用“波特率〞來描述數(shù)據(jù)的傳輸速率。所謂波特率,即每秒鐘傳送的二進制位數(shù),其單位為bps。它是衡量串行數(shù)據(jù)傳輸速度決慢的重要指標。接收方的波特率和發(fā)送方的波特率可以分別設(shè)置,但接收方的接收波特率必須與發(fā)送方的發(fā)送波特率相同。在串行通信時,要求雙方都采用一個標準接口,使不同的設(shè)備可以方便地連接起來進行通信。RS-232C是美國電子工業(yè)EIA公布的串行通信標準,RS代表推薦,232是標識號,C表示修改的次數(shù)。RS-232C適用于短距離或帶調(diào)制解器的通信場合,目前已廣泛應(yīng)用于計算機外圍設(shè)備的串行異步通信接口中。RS-232C的機械特性主要指兩個通信裝置如何實現(xiàn)機械對接。RS-232C是數(shù)據(jù)終端設(shè)備DTE和數(shù)據(jù)通訊設(shè)備DCE之間的接口,RS-232C的機械標準規(guī)定DTE應(yīng)配置DB25的插頭,即25針連接器,DEC應(yīng)配置DB25的插座,即25孔連接器。實際應(yīng)用中,DB25型連接器的許多信號用不上,對于一般的雙工通信,僅需幾條信號線就可以實現(xiàn),包括一條發(fā)送線、一條接收線和一條地線。因此普遍采用DB9插頭,即9針連接器。為使數(shù)據(jù)PC和單片機之間無過失地傳送,本文采用協(xié)議來約定數(shù)據(jù)的傳輸。PC與單片機雙方的通信協(xié)議約定如下:波特率:9600bps數(shù)據(jù)格式:8位數(shù)據(jù)位,1位停止位,無奇偶校驗。傳送方式:單片機采用查詢法向PC發(fā)送數(shù)據(jù),傳送的數(shù)據(jù)格式為二進制格式。DS18B20轉(zhuǎn)換出的溫度信息包含兩個字節(jié),經(jīng)過處理后,一個字節(jié)為溫度的整數(shù)局部,另一個字節(jié)為溫度的小數(shù)局部。每個DS1820共傳送二個字節(jié),第一個字節(jié)是溫度整數(shù)局部,第二個字節(jié)是溫度小數(shù)局部。溫度控制系統(tǒng)的軟件方案設(shè)計溫度控制電路的硬件電路確定之后,測控系統(tǒng)的主要功能將依賴于軟件實現(xiàn)。軟件的設(shè)計應(yīng)遵循結(jié)構(gòu)化設(shè)計原那么,在總體概況設(shè)計的根底上進行具體的詳細設(shè)計,功能分解,模塊劃分,細化軟件層次,優(yōu)化軟件結(jié)構(gòu),以到達模塊功能的獨立性,執(zhí)行的高效性。總之,設(shè)計的程序應(yīng)該到達可讀性,可理解性,可維護性,有效性,可修改性。該溫度控制系統(tǒng)程序主要包括以下幾個模塊:初始化子程序、DS18B20測溫子程序、串口通信子程序、溫度控制子程序等。初始化子程序設(shè)計在初始化子程序中,主要是對單片機的各種參數(shù)進行軟件設(shè)置,本文設(shè)置的是定時器1、工作方式2、波特率為9600Kbps。voidInitUART(void){TMOD=0x20;/*定時器1,工作方式2*/SCON=0x50;TH1=0xFD;/*設(shè)置波特率為9600Kbps*/TL1=TH1;PCON=0x00;EA=1;ES=1;TR1=1;}DS18B20測溫子程序設(shè)計DS18B20測溫過程,調(diào)用程序開始后,首先進行初始化,定義全局變量,局部變量等。然后判斷DS18B20是否存在,是那么執(zhí)行下不操作命令,否那么返回繼續(xù)判斷程序,接下來執(zhí)行程序存儲器ROM操作命令,然后執(zhí)行存儲操作命令,延時等待轉(zhuǎn)換完成后執(zhí)行讀取操作命令,最后結(jié)束并輸出結(jié)果。其具體工作流程圖如圖4.1所示:NNY返回讀取溫度值存儲操作命令ROM操作命令開始初始化DS18B20是否存在測溫子程序流程圖具體子程序如下:voidTemperatuerResult(void){p=id_buff;ReadID();Init18b20();WriteByte(0xcc);//跳過romWriteByte(0x44);//溫度轉(zhuǎn)換Init18b20();WriteByte(0xcc);//跳過romWriteByte(0xbe);//讀取溫度p=temp_buff;GetTemp();}從DS18B20測溫工作流程圖可以看出,主CPU經(jīng)過單總線接口訪問DS18B20芯片的命令可以分為初始化命令、ROM操作命令、存儲器操作命令。1.DS18B20初始化命令單總線上的所有處理均從初始化命令開始,初始化命令為主機發(fā)出一個復(fù)位脈沖并由總線送入DS18B20芯片,隨后等待芯片送出的存在的應(yīng)答脈沖。假設(shè)檢測到應(yīng)答脈沖,那么說明DS18B20芯片可以正常工作,假設(shè)無那么繼續(xù)檢測。voidInit18b20(void){dq=1;_nop_();dq=0;TempDelay(86);//延時530uS//80_nop_();dq=1;TempDelay(14);//延時100uS//14_nop_();_nop_();_nop_();if(dq==0)flag=1;//DS18B20存在elseflag=0;//DS18B20不存在TempDelay(20);//延時20_nop_();_nop_();dq=1;}2.ROM操作命令一旦總線主機檢測到附屬器件的存在,它便可以發(fā)出器件ROM操作命令之一,所有ROM操作命令均為8位,在單片機檢測到應(yīng)答脈沖后,就可以發(fā)ROM命令,該命令字要通過1-Wire通信協(xié)議規(guī)定的嚴格的寫時隙,逐位寫到單總線上,DS18B20會自動接收到這些命令,并準備響應(yīng)相應(yīng)的操作。與DS18B20的通信經(jīng)過一個單線接口,在單線接口情況下,在ROM操作未建立之前,不能使用存儲器和控制操作,主機必須首先提供5種ROM操作命令之一:ReadROM(讀ROM)、MatchROM(匹配ROM)、SearchROM(搜索ROM)、SkipROM(跳過ROM)、AlarmSearch(告警搜索)。3.存儲器操作命令在DS18B20成功地執(zhí)行了ROM操作序列之后,要使用存儲器命令。主機可以提供6種存儲器命令:溫度變換、讀暫存器、寫暫存器、復(fù)制暫存器、重寫、讀供電方式。串口通信子程序設(shè)計1.數(shù)據(jù)的接收接收數(shù)據(jù)時,不斷查詢RI是否置1,一旦發(fā)現(xiàn)RI置1后就將串行數(shù)據(jù)緩存器SBUF讀出,再把接收中斷標志位RI清0。voidUARTInterrupt(void)interrupt4{if(RI){RI=0;if(!inbufful) {inbuf[inlast]=SBUF;/*放入數(shù)據(jù)*/inlast++;/*最后放入的位置加一*/inbufsign=1;if(inlast==ILEN)inlast=0;/*地址到頂部回到底部*/if(inlast==getlast) inbufful=1;/*接收緩沖區(qū)滿置滿標志*/}}elseTI=0;}unsignedcharGetByte(void){unsignedcharc;unsignedinti;ES=0;c=inbuf[getlast];/*取數(shù)據(jù)*/getlast++;/*最后取走的數(shù)據(jù)位置加一*/inbufful=0;/*輸入緩沖區(qū)的滿標志清零*/if(getlast==ILEN)getlast=0;/*地址到頂部回到底部*/if(getlast==inlast)inbufsign=0;/*地址相等置接收緩沖區(qū)空空標志,再取數(shù)前要檢該標志*/ES=1;return(c);/*取回數(shù)據(jù)*/}2.數(shù)據(jù)的發(fā)送本系統(tǒng)采用的是單點采集,即單片機采集一個數(shù)據(jù)便保存起來,待全部采集完后存放在指定存儲單元中,通過串口發(fā)送給上位機。發(fā)送結(jié)束后清發(fā)送標志位。voidSendOneByte(unsignedcharc){ES=0;SBUF=c;while(!TI);TI=0;ES=1;}控制局部子程序設(shè)計本局部主要實現(xiàn)的功能是接收上位機的命令,當接收的命令為“K〞時,對單片機P0.1輸出低電平,固態(tài)繼電器閉合,從而接通加熱絲使其對水進行加熱;反之,假設(shè)接收的命令為“G〞,那么P0.1口輸出高電平,加熱絲停止加熱,使溫度回落。子程序的流程圖如圖4.2所示:““K〞“G〞接收數(shù)據(jù)P0.1=0加熱絲工作P0.1=1加熱絲停止工作判斷數(shù)據(jù)為“K〞還是“G〞開始控制局部流程圖具體子程序如下:if(inbufsign){k=GetByte();if(k=='K')DRV=0;if(k=='G')DRV=1;}系統(tǒng)調(diào)試STC89C52單片機功能雖然很強,但只是一個芯片,本身無自開發(fā)能力,必須借助一定的開發(fā)系統(tǒng)來開發(fā)軟件和對硬件電路進行診斷、調(diào)試。本設(shè)計使用的仿真系統(tǒng)是偉福開發(fā)系統(tǒng),對所設(shè)計的測控系統(tǒng)進行仿真。該仿真系統(tǒng)可以對用戶樣機硬件電路進行診斷與檢查,具有程序的輸入與修改,運行、調(diào)試、排錯等功能,而且具有較全的開發(fā)軟件,支持多種語言進行軟件開發(fā)。硬件局部調(diào)試按照電路圖焊接好電路板后,就需要對硬件電路進行調(diào)試了,我焊接的硬件電路板如圖5.1所示:焊接完成后電路板硬件局部的調(diào)試主要是對照設(shè)計的電路圖,利用萬用表來檢測各個引腳之間有沒有虛焊,硬件板上各個相鄰引腳之間有沒有短路。1.系統(tǒng)板焊接完后,測試單片機各個功能管腳,當測到(RESET)腳時,發(fā)現(xiàn)不復(fù)位時,此腳的電壓也為高電平。原因及解決方法:復(fù)位電路中有一些地方焊接得不對。解決方法:把復(fù)位電路中的錯誤地方拆下來,再按照正確的方式焊接上。2.單片機復(fù)位電路中,經(jīng)查,10uF電容的兩個引腳發(fā)生短路,導致復(fù)位電路失效。經(jīng)重新焊接,使該局部功能恢復(fù)正常。3.溫度控制電路的調(diào)試在調(diào)試溫度控制電路時,由于控制比擬復(fù)雜,所以采用先用面板上進行插接,通過給一個高電平到控制電路輸入,看是否能控制繼電器的通斷以至控制加熱電路的通斷。在面板上調(diào)試成功后再焊接到電路板上。調(diào)試的目的是排除硬件和軟件的故障,使研制的樣機符合預(yù)定設(shè)計目標,下面就調(diào)試過程中遇到的問題及其解決方法作以下表達。4.加熱后溫度上升很緩慢原因分析:DS18B20離熱源較遠,使其對熱源的溫度的改變不靈敏,導致升溫慢。解決方法:把DS18B20靠近加熱絲一些。5.單片機最小系統(tǒng)不能正常工作,全部接好后,從單片機ALE口不能輸出方波信號。經(jīng)過分析發(fā)現(xiàn)有很多原因都可能導致這個問題,可能的情況有:電路接線焊接不對、有虛焊點、元器件已經(jīng)燒壞等。解決方法:首先,觀察了電路焊接是否正確,經(jīng)過與電路的仔細對照,發(fā)現(xiàn)電路沒有問題,接著,利用萬用表觀察是否有虛焊點,在測量之后,發(fā)現(xiàn)有一個點沒有焊接牢固,改正之后,電路工作正常。6.焊接好溫度傳感器后,沒有正常測溫。經(jīng)查,在實驗箱上溫度測量系統(tǒng)工作正常,排除了溫度傳感器損壞的原因。查看電路后,發(fā)現(xiàn)溫度傳感器沒有接電源。解決方法:將溫度傳感器DS18B20的3引腳接到+5V電源上。軟件局部調(diào)試任何人在編制軟件時根本上不可能一次成功,因為軟件的開發(fā)是一項仔細的嚴謹?shù)南到y(tǒng)工作,是一個重復(fù)的不斷進行修改和完善的過程,尤其是一些復(fù)雜的功能強大的系統(tǒng),對軟件的要求也就更標準嚴格,要求符合軟件設(shè)計的各項指標。本多點測溫系統(tǒng)的硬件電路確定之后,系統(tǒng)的功能將依賴于軟件設(shè)計,所以軟件設(shè)計好壞直接影響系統(tǒng)功能的實現(xiàn)和系統(tǒng)的運行,在設(shè)計和調(diào)試軟件時盡量使軟件符合軟件開發(fā)的要求,各個功能模塊明確,使軟件功能強大。軟件開發(fā)調(diào)試系統(tǒng)使用了偉福編譯系統(tǒng),對于編制的軟件程序,可以在偉福系統(tǒng)的編譯環(huán)境下運行,本系統(tǒng)軟件的調(diào)試步驟如下:1.溫度傳感器不能正常測量溫度。原因:由于DS18B20是數(shù)字式溫度傳感器,使用時必須遵循嚴格的時序關(guān)系,在編程時沒有弄清楚溫度傳感器的時序。解決方法:查閱了大量資料,對照時序圖和文字說明理清時序關(guān)系。2.把系統(tǒng)分成假設(shè)干個模塊,包括溫度測量、溫度控制、串口通信,分別進行編譯、調(diào)試。3.對各模塊輸入變量賦值,單步運行,看其運算是否正確,最終輸出是否符合要求。4.將各個模塊連接起來,單步運行,檢查各模塊接口處運行是否正確及各模塊之間的邏輯關(guān)系。系統(tǒng)聯(lián)調(diào)在開發(fā)系統(tǒng)上單獨進行軟件調(diào)試后和在保證硬件連線根本正確的前提下進行軟硬聯(lián)調(diào),即在線仿真,也就聯(lián)機調(diào)試。聯(lián)機調(diào)試就是整個系統(tǒng)組合起來進行運行測試,查看硬件電路連線正確與否,軟件和硬件的配合完成的功能正確與否。本系統(tǒng)聯(lián)機調(diào)試的步驟如下:1.將整個硬件系統(tǒng)連接起來,再現(xiàn)場進行連機調(diào)試,先將源程序分成對應(yīng)于各功能模塊,再分別與硬件結(jié)合,測試其性能狀況,先進行溫度測量顯示局部的調(diào)試,使被測物體接觸DS18B20的感應(yīng)芯片,運行程序,查看測量顯示的溫度值是否正確.2.系統(tǒng)完整調(diào)試。將溫度控制結(jié)果通過上位機顯示出來,如圖5.2所示:系統(tǒng)聯(lián)調(diào)結(jié)果圖結(jié)論該基于STC89C52單片機的溫度控制系統(tǒng)具有硬件結(jié)構(gòu)簡單、價格低廉和易于操作等許多優(yōu)點,同時本論文在新型數(shù)字溫度測控系統(tǒng)方面做了一定的研究工作,為今后實現(xiàn)數(shù)字化與網(wǎng)絡(luò)化的溫度測控系統(tǒng)工程提供了一種新的參考。本文在深入分析溫度控制工作原理的根底上,完成了該系統(tǒng)設(shè)計和調(diào)試任務(wù),并且系統(tǒng)的性能誤差到達了任務(wù)書的要求,使之能到達現(xiàn)場運行水平。但是由于時間和精力的有限,本系統(tǒng)還存在著許多缺乏,在后續(xù)的研究中還應(yīng)在以下方面逐步完善:(1)控制局部的控制效果并不是很理想,以后可以在該局部采用PID控制算法以及脈沖調(diào)寬的控制方法來實現(xiàn)對溫度的控制,可以提高系統(tǒng)的控制精度。(2)本系統(tǒng)僅加了加熱裝置,而沒有制冷裝置,在降溫時,只能通過自然冷卻來實現(xiàn)降溫,這樣使反響時間變長,降低了系統(tǒng)的工作效率,如果允許的話,可以外加一個散熱裝置,從而減少反響時間??傊?,本論文在新型數(shù)字溫度測控系統(tǒng)方面做了一定的研究工作。該系統(tǒng)初步完成了溫度測控方案的預(yù)定目標,為今后實現(xiàn)數(shù)字化與網(wǎng)絡(luò)化的溫度測控系統(tǒng)工程提供了一種新的參考。社會經(jīng)濟效益分析本溫度測控系統(tǒng)可以產(chǎn)生的社會經(jīng)濟效益是顯而易見的。在工農(nóng)業(yè)許多場合,溫度測量和控制對生產(chǎn)起著非常重要的作用,通過溫度測控,可以更好的提高工農(nóng)業(yè)生產(chǎn)的產(chǎn)量和效率。本設(shè)計利用數(shù)字化的溫度傳感器作為載體,以STC89C52單片機為控制核心,通過對所測量的溫度值進行控制和數(shù)據(jù)上傳,將數(shù)字信息上傳給上位機進行進一步的處理,從而可以實現(xiàn)這套系統(tǒng)的商品化和技術(shù)效勞的穩(wěn)定性。本設(shè)計所用的DS18B20溫度傳感器價格在每個十元左右,STC89C52單片機的價格也不過十元,再加上其它的元器件和外圍的芯片及端口,總本錢完全可以控制在一百元人民幣以內(nèi)。這套系統(tǒng)只需添加DS18B20的初始化程序和與本設(shè)計測控類似的程序即可以實現(xiàn),所以程序修改上也比擬方便。本系統(tǒng)可以實現(xiàn)產(chǎn)品的專業(yè)化和工廠化大生產(chǎn),應(yīng)用領(lǐng)域廣泛,例如,可以對小區(qū)內(nèi)的供暖系統(tǒng)進行溫度監(jiān)控,實時處理DS18B20溫度傳感器上傳的數(shù)據(jù);可以在對溫度要求比擬嚴格的車間內(nèi)進行溫度測控,以保持室內(nèi)的精準溫度;可以在化學反響爐內(nèi)安裝本系統(tǒng),使化學反響可以在精確的溫度條件下進行,等等。參考文獻賈伯年.傳感器技術(shù).福建:東南大學機械工業(yè)出版社,2000:150-155沙占友等.集成傳感器應(yīng)用.中國電力出版社,2000:46-53宿元斌.集成控制器及其應(yīng)用:中國儀器儀表,2002,21(3):68-70徐潔.測量儀器演進與計算機開展.湖南職業(yè)技術(shù)學院學報,2002,13(1):16-20趙茂泰.智能儀器原理及應(yīng)用.北京:電子工業(yè)出版社:2004:120-125李世平,韋增亮.PC計算機測控技術(shù)及應(yīng)用.西安:西安電子科技大學出版社,2003:208-210李蕾.儀表的可行性研究方案.平原大學學報,2004,17(5):15-18曹玲芝.現(xiàn)代測試技術(shù)及虛擬儀器.北京航空航天大學出版社,2001:115-124楊寧.單片機與控制技術(shù).北京:北京航空航天大學出版社,2002:123-147基于MCS-51系列單片機原理及應(yīng)用.北京:國防工業(yè)出版社,2003:63-65陳永甫.常用電子元件及其應(yīng)用.北京:人民郵電出版社,2001:237-269王昊,李新.通用電子元件的選用與檢測.北京:電子工業(yè)出版社,2002:237-269樓然苗.51系列單片機設(shè)計實例.北京:北京航空航天大學出版社,2006:125-128韋瓏,楊榮松.基于DS18B20的單片機多點溫度測量系統(tǒng).機械與電子,2007,21(1):36-39戴蓉,游鳳荷和周景霞.由單片機和多片DS1820組成的多點溫度測控系統(tǒng).國外電子元器件,2001,16(3):60-63丁幼春,李文新和黃劍.基于AT98S52和DS18B20的多點溫度檢測報警系統(tǒng).農(nóng)機化研究,2007,5(3):60-63李業(yè)德,唐詩.單片機和DS18B20組成的多點溫度測控系統(tǒng).山東工程學院學報,2001,5(4):15-18張紅潤,劉秀英,張亞凡.單片機應(yīng)用設(shè)計200例〔下冊〕北京:北京航空航天大學出版社,2006:124-129張毅剛,彭喜元,姜守達和等.MCS-51單片機應(yīng)用設(shè)計.哈爾濱:哈爾濱工業(yè)大學出版社,2003:56-61張毅剛,劉杰.單片機原理及應(yīng)用.哈爾濱:哈爾濱工業(yè)大學出版社,2004:79-86何立民主編.單片機應(yīng)用文集.第一版.北京航空航天大學出版社,1993:123-131韓志軍,沈晉源等.單片機應(yīng)用系統(tǒng)設(shè)計.機械工業(yè)出版社,2005:265-269王曉明主編.電動機的單片機控制.北京航空航天大學出版社,2002:217-219YANJian-min,JIAHong.TheControlSystemofFastWaterHeater.ThenewsofTechicalCommunication.2005,19(6):36-39Shazhanyou.TheApplicationofIntelligentTemperatureSensorinprotectcircuitofdispersingoftheComputer.ICEMI.2003,17(11):62-66致謝本次畢業(yè)設(shè)計過程中,我要感謝導師張曉東老師。張曉東老師工作繁忙,但仍然一直關(guān)心我們的學習和工作。他的諄諄教誨和無微不至的關(guān)心給了我巨大的支持和鼓勵,在此對張曉東老師致以我最衷心的感謝!在硬件的調(diào)試和程序的編寫中,張曉東老師給了我很多具體的指導和幫助,使我可以將學到的知識和實際工作相結(jié)合產(chǎn)生新的飛躍,開拓新的思路。在他的指引下,我開始了在預(yù)測方面進行了深入的研究。張老師嚴謹?shù)闹聦W態(tài)度和扎實的技術(shù)知識給我留下了深刻的印象,我以后還要繼續(xù)多多向他學習。畢業(yè)設(shè)計題目涉及的知識面廣,是本科階段所學知識的全面檢驗,也是一次理論與實踐相結(jié)合的時機。從畢業(yè)設(shè)計中找到了自己的缺乏,明確了自己的學習方向。我將更加有目的學習,嚴格要求自己,提高綜合能力,為學校爭光,以報答學校對我的培養(yǎng)。畢業(yè)設(shè)計雖然結(jié)束了,但它卻給我留下了最深刻的回憶,回憶自己的艱辛和成果,成就感油然而生。同時,我也深刻認識到我學到的課本知識遠遠不夠,實踐學真知,我還有很長的路要走。相信此次畢業(yè)設(shè)計,會為我今后的進步做一個良好的鋪墊,也再次謝謝廣闊師生的幫助,希望大家共同進步!最后,再次感謝在畢業(yè)設(shè)計期間給予我?guī)椭睦蠋?、同學和朋友,祝愿他們身體健康,工作順利。附錄Ⅰ電路圖附錄Ⅱ程序清單#pragmaCODE,SMALL,db,ot(4)#include<reg52.h>#include<stdio.h>#include<intrins.h>#defineILEN20/*sizeofserialreceivingbuffer*/unsignedcharidataprintstr[ILEN];unsignedcharidatainbuf[ILEN];unsignedcharinlast=0;/*最后由中斷進入接收緩沖區(qū)的字節(jié)位置*/unsignedchargetlast=0;/*最后取走的字節(jié)位置*/bitinbufsign;/*接收緩沖區(qū)非空標志有=1*/bitinbufful;/*接收緩沖區(qū)滿標志滿=1*/#defineCRPutString("\r\n")/*CR=回車換行*/voidInitUART(void){TMOD=0x20;SCON=0x50;TH1=0xFD;/*9600*/TL1=TH1;PCON=0x00;EA=1;ES=1;TR1=1;}voidUARTInterrupt(void)interrupt4{if(RI){RI=0;if(!inbufful) {inbuf[inlast]=SBUF;/*放入數(shù)據(jù)*/inlast++;/*最后放入的位置加一*/inbufsign=1;if(inlast==ILEN)inlast=0;/*地址到頂部回到底部*/if(inlast==getlast) inbufful=1;/*接收緩沖區(qū)滿置滿標志*/}}ElseTI=0;}/*從接收緩沖區(qū)取一個byte,如不想等待那么在調(diào)用前檢測inbufsign是否為1。*/unsignedcharGetByte(void){unsignedcharc;unsignedinti;ES=0;c=inbuf[getlast];/*取數(shù)據(jù)*/getlast++;/*最后取走的數(shù)據(jù)位置加一*/inbufful=0;/*輸入緩沖區(qū)的滿標志清零*/if(getlast==ILEN)getlast=0;/*地址到頂部回到底部*/if(getlast==inlast)inbufsign=0;/*地址相等置接收緩沖區(qū)空空標志,再取數(shù)前要檢該標志*/ES=1;return(c);/*取回數(shù)據(jù)*/}voidSendOneByte(unsignedcharc){ES=0;SBUF=c;while(!TI);TI=0;ES=1;}/***************************************//*發(fā)送一個定義在程序存儲區(qū)的字符串到串口*/voidPutString(unsignedchar*puts){for(;*puts!=0;puts++)/*遇到停止符0結(jié)束*/SendOneByte(*puts);}/*************************************//*發(fā)送一個字節(jié)的hex碼,分成兩個字節(jié)發(fā)。*/unsignedcharcodehex_[]={"0123456789ABCDEF"};voidPutHex(unsignedcharc){intch;ch=(c>>4)&0x0f;SendOneByte(hex_[ch]);ch=c&0x0f;SendOneByte(hex_[ch]);}sbitLED=P0^0;sbitDRV=P0^1;voiddelay5ms(void){unsignedcharcyc=255;while(cyc--);}voiddelay(void){unsignedchari;for(i=0;i<50;i++){delay5ms();}}/*************************************************************18B20驅(qū)動程序,DQ為數(shù)據(jù)口,接于P1.0*11.0592M晶振,上拉1.5k電阻*************************************************************/sbitdq=P1^0;bitflag;unsignedintTemperature;unsignedchartemp_buff[9];/*存儲讀取的字節(jié),readscratchpad為9字節(jié),readromID為8字節(jié)*/unsignedcharid_buff[8];unsignedchar*p;unsignedcharcrc_data;unsignedcharcodeCrcTable[256]={0,94,188,226,97,63,221,131,194,156,126,32,163,253……75,169,247,182,232,10,84,215,137,107,53};/**********************************延時處理********************************/voidTempDelay(unsignedcharus){while(us--);}/************************************************************DS18B20初始化*************************************************************/voidInit18b20(void){dq=1;_nop_();dq=0;TempDelay(86);//delay530uS//80_nop_();dq=1;TempDelay(14);//delay100uS//14_nop_();_nop_();_nop_();if(dq==0)flag=1;//detect1820success!elseflag=0;//detect1820fail!TempDelay(20);//20_nop_();_nop_();dq=1;}/************************************************************向18B20寫入一個字節(jié)******************************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民間貸款抵押合同范本
- 2025年端蓋行業(yè)深度研究分析報告
- 中國AFC自動售檢票機行業(yè)發(fā)展監(jiān)測及發(fā)展趨勢預(yù)測報告
- “我和蔬菜交朋友”(教學設(shè)計)-2023-2024學年三年級上冊綜合實踐活動切割圖
- 2025至2030年三輥Y型銅軋機項目投資價值分析報告
- 2025至2030年中國環(huán)保型潤滑油數(shù)據(jù)監(jiān)測研究報告
- 果凍匙行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 2025年陶瓷納米粉體材料項目可行性研究報告
- 2025年精密長度計項目可行性研究報告
- Unit 1 How can I get there Part B Read and write(教學設(shè)計)-2024-2025學年人教PEP版英語六年級上冊
- 剪叉式升降工作平臺作業(yè)專項施工方案24
- 卒中后足內(nèi)翻康復(fù)治療
- 診所申請醫(yī)保定點資料模板(一套)
- 2023年英語專業(yè)四級時態(tài)測試題及答案
- 《社區(qū)康復(fù)》課件-第十一章 其他疾病的社區(qū)康復(fù)實踐
- 2023年國網(wǎng)陜西省電力有限公司高校畢業(yè)生招聘考試真題及答案
- 項目團隊的激勵和激勵理論
- 廣東省社會培訓評價組織備案申請材料清單說明(2024年)
- 我國校本課程開發(fā)現(xiàn)狀調(diào)研報告
- 行為危險因素干預(yù)健康教育干預(yù)課件
- 下肢動脈硬化閉塞癥的護理查房
評論
0/150
提交評論