基于單片機的溫度控制系統(tǒng)設(shè)計畢業(yè)論文_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  溫度是表征物體冷熱程度的物理量,是工農(nóng)業(yè)生產(chǎn)過程中一個很重要而普遍的參數(shù)。由于溫度測量的普遍性,溫度傳感器的數(shù)量在各種傳感器中居首位。溫度控制的發(fā)展引入單片機后,可以降低對某些硬件電路的要求?;趩纹瑱C的溫度控制系統(tǒng),可以實現(xiàn)對溫度的精確控制。</p><p>  本文以溫室為研究對象,以AT89C51

2、單片機為核心所實現(xiàn)的溫度控制系統(tǒng)具有自動完成數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)轉(zhuǎn)換控制、鍵盤終端處理及顯示的功能。當(dāng)實際溫度低于設(shè)定值,PTC進行加熱,反之PTC就停止加熱。實際溫度超上限或者低下限時,系統(tǒng)自動報警。溫度控制采用的是雙位控制,簡單易行,在精度要求不是特別高的溫室,可行度很高。 </p><p>  最后對系統(tǒng)進行調(diào)試并在PROTEUS里仿真,結(jié)果表明該系統(tǒng)原理可行。又在一個小空間進行試驗,誤差在1℃左

3、右,結(jié)果符合預(yù)期。運行穩(wěn)定、控制效果好、性價比高。</p><p>  關(guān)鍵詞:單片機,溫度控制,DS18B20,溫室</p><p><b>  Abstract</b></p><p>  Temperature is the physical quantity characterizing the temperature extent o

4、f objects; it is an important and general parameter in industrial and agricultural production process. Due to the universality of temperature measurement, the quantity of temperature sensor occupies first place among var

5、ious sensors. It can lower the requirements of some circuits after introducing the development of temperature control into microcontroller unit. It can also achieve precise control of the temperature, bas</p><

6、p>  In this article, greenhouse is the object of study. The temperature control system which takes AT89C51 as the core has the function of automatic complete data acquisition, data processing, data conversion control,

7、 keyboard terminal processing and display. When the actual temperature is below the set value, PTC starts heating, on the contrary, it stops heating. When the actual temperature exceeds the upper or lower limit, the syst

8、em gives an alarm automatically. Temperature control is simple and </p><p>  The results shows the principle is available after debugging the system and simulating in Proteus, we also conducted the same tria

9、l in a smaller room, and the error is about 1℃, which is in line with expectations. The system is stable, easy to control and cost-effective.</p><p>  Keyword: microcontroller unit, temperature control, DS18

10、B20, greenhouse</p><p><b>  第一章 緒論</b></p><p>  1.1課題研究背景及意義</p><p>  溫度是表征物體冷熱程度的物理量,是工農(nóng)業(yè)生產(chǎn)過程中一個很重要而普遍的參數(shù)。溫度的測量及控制對保證產(chǎn)品質(zhì)量、提高生產(chǎn)效率、節(jié)約能源、生產(chǎn)安全、促進國民經(jīng)濟的發(fā)展起到非常重要的作用。由于溫度測量的普遍性

11、,溫度傳感器的數(shù)量在各種傳感器中居首位。而且隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,溫度傳感器的種類還是在不斷增加豐富來滿足生產(chǎn)生活中的需要。在單片機溫度測量系統(tǒng)中的關(guān)鍵是測量溫度、控制溫度和保持溫度,溫度測量是工業(yè)對象中主要的被控參數(shù)之一。</p><p>  溫度控制采用單片機設(shè)計的全數(shù)字儀表,是常規(guī)儀表的的升級產(chǎn)品。溫度控制的發(fā)展引入單片機后,可以降低對某些硬件電路的要求,但依然需要重視測試電路本身的重要性,尤其是直

12、接獲取被測信號的傳感器部分,仍應(yīng)給以充分的重視,有時提高整臺儀器的性能的關(guān)鍵仍然在于測試電路尤其是傳感器的改進?,F(xiàn)在傳感器也正在受著微電子技術(shù)的影響,不斷發(fā)展變化。傳感器正朝著小型、固態(tài)、多功能和集成化的方向發(fā)展。</p><p>  基于單片機的溫度控制系統(tǒng),可以實現(xiàn)對溫度的精確控制,使得在某些場合下人們對溫度高低的要求得以實現(xiàn)。對人們的生產(chǎn)和生活影響巨大,比如,在我國的北方,冬天溫度極低,但引入溫室大棚后,冬

13、天的時候人們也能吃到新鮮的蔬菜;鋼鐵廠里煉鐵,對溫度的要求更高,這就使得溫度控制變得極為有意義,而在我們的日常生活中,空調(diào)讓冬天不冷夏天不熱,確實讓我們感受到溫度控制對我們生活質(zhì)量的提高也有著極大的作用。總之,現(xiàn)代工業(yè)設(shè)計,工程建設(shè)及日常生活中溫度控制都起著重要的作用。</p><p>  1.2國內(nèi)外研究現(xiàn)狀</p><p>  1.2.1國外研究現(xiàn)狀</p><p&

14、gt;  國外對溫度控制技術(shù)研究較早,始于20世紀(jì)70年代。先是采用模擬式的組合儀表,采集現(xiàn)場信息并進行指示、記錄和控制。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開發(fā)和研制計算機數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)。990年代中期,智能溫控儀問世,它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)的結(jié)晶。目前,國際上已開發(fā)出多種智能溫控器系列產(chǎn)品。智能溫控器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處理器和接口電路。有的產(chǎn)品還有多路選擇器、中央控制器

15、(CPU)、隨機存儲器(RAM)和只讀存儲器(ROM)。現(xiàn)在世界各國的溫度測控技術(shù)發(fā)展很快,一些國家在實現(xiàn)自動化的基礎(chǔ)上正向著完全自動化、無人化的方向發(fā)展。</p><p>  1.2.2國內(nèi)研究現(xiàn)狀</p><p>  我國對于溫度測控技術(shù)的研究較晚,始于20世紀(jì)80年代。我國工程技術(shù)人員在吸收發(fā)達國家溫度測控技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機控制技術(shù),該技術(shù)僅限于對溫度的單項環(huán)境因子的

16、控制。我國溫度測控設(shè)施計算機應(yīng)用,在總體上正從消化吸收、簡單應(yīng)用階段向?qū)嵱没⒕C合性應(yīng)用階段過渡和發(fā)展。在技術(shù)上,以單片機控制的單參數(shù)單回路系統(tǒng)居多,尚無真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達國家相比,存在較大差距。我國溫度測量控制現(xiàn)狀還遠遠沒有達到工廠化的程度,生產(chǎn)實際中仍然有許多問題困擾著我們,存在著裝備配套能力差,產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點。</p><p>  1.

17、2.3總的發(fā)展階段</p><p>  總的來說,溫控器被廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量日漸上升。近百年來,溫控器的發(fā)展大致經(jīng)歷了三個階段:1.模擬溫度控制器;2.集成溫度控制器;3.能溫度控制器,目前,國際上新型溫控器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。</p><p>  1.3課題研究的內(nèi)容</p><p>  本文所要研

18、究的課題是基于單片機的溫度控制系統(tǒng)的設(shè)計,控制對象為溫室,主要目標(biāo)是實現(xiàn)溫度的設(shè)定值顯示、實際值實時測量及顯示,溫度超上限和低下限危險報警。單片機連接的溫度調(diào)節(jié)裝置由軟件與硬件電路配合來實現(xiàn)溫度實時控制,顯示可由軟件控制并在數(shù)碼管中顯示。比較采集到溫度與設(shè)定值及上下限的大小,然后做出相應(yīng)的反應(yīng),控制執(zhí)行機構(gòu)是否降溫或升溫,判斷警報與否。</p><p>  第二章 硬件系統(tǒng)總體方案設(shè)計</p>&l

19、t;p>  本次畢業(yè)設(shè)計以 51系列單片機為核心對溫度進行控制,使被控對象的溫度穩(wěn)定在某一指定數(shù)值上,允許有1℃的誤差(不包括元件本身的制造引起的誤差),鍵盤輸入設(shè)定溫度值,LED數(shù)碼管顯示溫度值(實際的或設(shè)定的)?;谏鲜鲆螅岢鲆韵聝煞N方案,下文是對兩種方案的具體論述。</p><p>  2.1硬件系統(tǒng)總體設(shè)計方案一</p><p>  方案一如圖2-1所示,此方案選用DS1

20、8B20芯片進行溫度采集及模擬量與數(shù)字量之間的轉(zhuǎn)換,并直接輸出數(shù)字量,無需信號放大,且只占用一根口線,然后將其送數(shù)碼管顯示。4X4矩陣式鍵盤,首先要對其進行鍵盤掃描,判斷是否有鍵按下,如有鍵按下,要判斷是那個鍵按下,確定鍵值,然后對其進行輸入,把最后設(shè)定的溫度值送給數(shù)碼管進行顯示。如果對一個溫度值已經(jīng)設(shè)定完畢后,無需再按任何鍵即有效,如果溫度值設(shè)定得不合理,可對溫度進行重新設(shè)定,溫度的上下限可由軟件編程設(shè)定,這樣就完成了對溫度的總體設(shè)置

21、。對于數(shù)碼管顯示模塊,采用了動態(tài)顯示的方法,在程序的設(shè)計中也相應(yīng)的采用動態(tài)顯示方法對其進行編寫。首先把設(shè)定的(或采集到)數(shù)據(jù)的十進制數(shù)進行字節(jié)拆分,分別求出要顯示個位數(shù)、十位數(shù)、百位數(shù)(顯示實際溫度時,還要求出十分位),然后將其送至數(shù)碼管顯示。顯示設(shè)定值還是實際值,可由按鍵進行切換。對于溫度控制模塊,首先是把采集的數(shù)據(jù)和設(shè)定的溫度上下限進行比較,如低于下限值或高于上限值,蜂鳴器警報,再把實際溫度和設(shè)定的溫度比較,決定加熱與否以及加熱時間

22、的控制。 單片機軟件編程靈活、自由度大,可用軟件編程實現(xiàn)各種控制算法和邏輯控制,不</p><p>  圖2-1 方案一框圖</p><p>  2.2硬件系統(tǒng)總體設(shè)計方案二</p><p>  方案二如圖2-2所示,采用 AT89C51作為控制核心,以使用最為普遍的器件 ADC0809作模數(shù)轉(zhuǎn)換,控制上使用電阻絲進行加熱。此方案簡易可行,器件的價格便宜,且 ADC

23、0809是 8位的模數(shù)轉(zhuǎn)換,測溫范圍是 0-800℃,誤差為 0.5%,即分辨率為 1/200,而 ADC0809的分辨率為 1/256,故能滿足本題目的精度要求。系統(tǒng)要有溫度設(shè)定部分,由于 8051的接口不夠的問題,所以對其進行接口擴展,采用最常用的 8255并行接口芯片對其擴展,采用 4×4矩陣式鍵盤接在 8255的 A口和 B口,鍵盤中有 0到 15之間十六個數(shù)字鍵,對溫度的顯示采用三個數(shù)碼管對其進行顯示,分別是百位、十

24、位、個位。且系統(tǒng)設(shè)置報警裝置,使用戶能夠?qū)崟r知道溫度是否在所設(shè)定所的范圍內(nèi)??刂齐娐凡糠植捎肕OC3041控制可控硅的通斷以實現(xiàn)對溫室溫度的控制。 </p><p>  圖2-2 方案二框圖</p><p>  2.3硬件系統(tǒng)的方案選擇</p><p>  兩種方案的區(qū)別在于溫度的采集部分,由上可知,DS18B20相對于AD590在此系統(tǒng)的優(yōu)勢相當(dāng)明顯,節(jié)約單片機的

25、I/O口線,數(shù)據(jù)傳送路徑短,精確度高,節(jié)約成本,故選用方案一。此方案以單片機為該系統(tǒng)的控制核心。溫度的檢測部分使用了DS18B20、AT89C51單片機及數(shù)碼管的硬件電路完成對室溫的實時檢測與顯示,通過4×4鍵盤設(shè)定溫室的溫度,比較溫度的設(shè)定值與實測值的大小,然后由單片機發(fā)出信號,控制光電耦合器和雙向可控硅導(dǎo)通與否,由此控制PTC加熱器的通斷,實現(xiàn)對溫室溫度的恒溫控制。因為溫室的溫度波動比較小,故不必采用軟件濾波對溫度進行平滑

26、控制。報警部分采用一個3V的有源蜂鳴器,發(fā)出危險警報。此單片機溫度控制系統(tǒng)具有微型化、低功耗、高性能、易配微處理器等優(yōu)點,可以進行多點測溫,DS18B20可以直接將溫度轉(zhuǎn)化成串行數(shù)字信號供微機處理,而且每片DS18B20都有唯一的產(chǎn)品號,可以一并存入其ROM中,以便在構(gòu)成大型溫度測控系統(tǒng)時在單線上連接多個DS18B20芯片,當(dāng)然一個I/O口能掛接多少片DS18B20,因單片機的不同而異。從DS18B20讀出或?qū)懭隓S18B20信息僅需要

27、一根口線,其讀寫及溫</p><p>  單片機具體實現(xiàn)的功能如下:</p><p>  1、連續(xù)測量溫室的溫度值,控制數(shù)碼管顯示溫室的實際溫度;</p><p>  2、控制鍵盤設(shè)定溫室的溫度值,并用數(shù)碼管顯示。設(shè)定范圍為室溫至125℃;實現(xiàn)溫室的恒溫控制,比如設(shè)定值為50℃,則應(yīng)使實際值與50℃相接近。</p><p>  第三章 控制系

28、統(tǒng)硬件設(shè)計</p><p>  基于上章的分析,我選擇了方案一,方案一的原理圖如圖3-1所示。本章主要介紹介紹控制系統(tǒng)中所使用到的各種元器件。</p><p>  圖3-1 系統(tǒng)原理圖</p><p><b>  3.1單片機</b></p><p>  將運算器、控制器、存儲器和各種輸入/輸出接口等計算機的主要部件集成

29、在一塊芯片上,就能得到一個單芯片的微型計算機。它雖然只是一個芯片,但在組成和功能上已經(jīng)具有了計算機系統(tǒng)的特點,因此稱之為單片微型計算機(Single-ChipMicrocomputer),簡稱單片機。因為其體積小、功耗低、價格低廉、抗干擾能力強且可靠性高,適合應(yīng)用于工業(yè)過程控制、智能儀器儀表和測控系統(tǒng)的前端裝置。本次畢業(yè)設(shè)計所采用的是AT89C51。以下簡述本次畢業(yè)設(shè)計所用到的與其相關(guān)的知識。</p><p>&

30、lt;b>  1、主要特性:</b></p><p> ?。?)與MCS-51兼容</p><p>  (2)4K字節(jié)可編程閃爍存儲器,壽命為1000次寫/擦循環(huán),數(shù)據(jù)可保留時間為10年</p><p> ?。?)全靜態(tài)工作:0Hz-24Hz</p><p> ?。?)三級程序存儲器鎖定</p><p&g

31、t; ?。?)128X8位內(nèi)部RAM</p><p>  (6)4個I/O口,共32根可編程口線</p><p>  (7)兩個16位定時器/計數(shù)器</p><p><b> ?。?)5個中斷源</b></p><p>  (9)可編程串行通道</p><p> ?。?0)低功耗的閑置和掉電模式&

32、lt;/p><p> ?。?1)片內(nèi)振蕩器和時鐘電路</p><p><b>  2、管腳說明:</b></p><p>  AT89C51的管腳布置如圖3-2所示</p><p>  VCC:供電電壓。 GND:接地。</p><p><b>  P0口:</b></p&

33、gt;<p>  P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p><b>  P1口:</b></p><p

34、>  P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。</p><p><b>  P2口:</b></p><p>  P2口為一個內(nèi)部上拉電阻的8位雙向I/O口

35、,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號

36、。</p><p><b>  P3口:</b></p><p>  P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:P3口管腳備選功能</p&g

37、t;<p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1) </p><p>  P3.4 T0(記時器0外部輸入)</p><p>  P3.5 T1(

38、記時器1外部輸入)</p><p>  P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p>  P3口同時為閃爍編程和編程校驗接收一些控制信號。 </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><

39、;p>  ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低8位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用

40、。另外,該引腳被略微拉高。微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指令期間,每個機器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)</p><p>  EA/VPP:當(dāng)EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式

41、1時,EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  圖3-2 AT89C51管腳</p><p>  3.2 數(shù)字溫度計DS18B20</p><p>  在傳統(tǒng)的模擬信號遠距離傳送的測量系統(tǒng)中,需要很好的解決引線誤差補償問題、多點切換誤差問題和放大電路的零

42、點誤差問題等技術(shù)。另外考慮到一般的測量現(xiàn)場的電磁環(huán)境非常的惡劣,各種干擾信號較強,模擬信號很容易受到干擾而產(chǎn)生測量誤差,影響測量精度。因此,在溫度測量系統(tǒng)中,采用抗干擾能力較強的新型數(shù)字溫度傳感器是解決這些問題的最有效的方案。在實際的溫度測量過程中被廣泛應(yīng)用,同時也取得了良好的測量效果。</p><p>  3.2.1 DS18S20數(shù)字溫度計的主要特性</p><p>  1、DS18S

43、20的適應(yīng)電壓范圍更寬,其范圍為:3.0-5.5V,而且它能夠直接由數(shù)據(jù)線獲取電源(寄生電源),無需外部工作電源。</p><p>  2、DS18S20提供了9-12位攝氏溫度測量,具有非易失性、上下觸發(fā)門限用戶可編程的報警功能。</p><p>  3、DS18S20通過1-Wire總線與中央微處理器通信,僅需要單根數(shù)據(jù)線(或地線)。同時,在使用過程中,它不需要任何的外圍的元件,全部的

44、傳感元件和轉(zhuǎn)換電路集成在形狀如一只三極管的集成電路內(nèi)。</p><p>  4、DS18S20具有-55°C至+125°C的工作溫度范圍,在-10°C至+85°C溫度范圍內(nèi)精度為±0.5°C。 </p><p>  5、每片DS18B20具有唯一的

45、64位序列碼,這些序列碼允許多片DS18B20在同一條1-Wire總線上工作,因而,可方便地使用單個微處理器控制分布在大范圍內(nèi)的多片DS18S20器件。 </p><p>  6、DS18S20的測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時還可以傳送給CR

46、C校驗碼,它具有極強的抗干擾糾錯的能力。 </p><p>  7、DS18S20具有負載特性,當(dāng)電源極性接反時,芯片不會因發(fā)熱而燒毀,但是不能正常的工作。

47、 </p><p><b>  3.3 4×4鍵盤</b></p><p>  用于計算機系統(tǒng)的鍵盤通常有兩類:一類是編碼鍵盤,即鍵盤上閉合鍵的識別由專用硬件來實現(xiàn):另一類是非編碼鍵盤,即鍵盤上閉合鍵的識別由軟件來完成。本次畢業(yè)設(shè)計采用的是4×4矩陣鍵盤,矩陣鍵盤由行線與列線組成

48、,按鍵位于行列線的交叉點上。如圖3-3所示,一個4×4的行列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣鍵盤較之獨立式鍵盤要節(jié)省很多的I/O口線。 </p><p>  本次畢業(yè)設(shè)計中鍵盤的設(shè)計思路如下:</p><p>  對P1賦值使P1=0xff,然后令第一行即P1.0等于零,如果第一行有按鍵按下,則P1.4至P1.7的值會發(fā)生變化:如果第一個按鍵按

49、下,則P1.4等于0;如果第二個按鍵按下,則P1.5等于0;如果第三個按鍵按下,則P1.6等于0;如果第四個按鍵按下,則P1.7等于0。按此規(guī)律,直至第四行掃描完成。</p><p>  圖3-3為鍵盤的原理圖</p><p>  在此系統(tǒng)中,鍵盤用于設(shè)定溫度值,只是CPU的工作內(nèi)容之一。CPU對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實際運用系統(tǒng)中CPU的工作狀況而定,其選擇

50、的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常,鍵盤的工作方式有3種,即編程掃描、定時掃描和中斷掃描,本次畢業(yè)設(shè)計采用中斷掃描。采用編程掃描或定時掃描,無論是否有鍵按下,CPU都要定時掃描,而按鍵按下不是經(jīng)常發(fā)生的事件,這樣CPU對鍵盤會時常進行空掃描。為進一步提高CPU的工作效率,故選用中斷掃描,其工作過程如下:當(dāng)無鍵按下,CPU處理自己的工作,當(dāng)鍵盤上有鍵按下時才產(chǎn)生一個外部中斷請求,CPU響應(yīng)鍵盤中

51、斷請求,在中斷服務(wù)子程序中掃描并判別鍵盤上閉合的鍵號,求出輸入的數(shù)值。CPU對鍵盤上閉合鍵的鍵號進行確定,可以根據(jù)行線和列線的狀態(tài)確定;也可以預(yù)先在程序存儲器中放入鍵盤鍵值表,本次畢業(yè)設(shè)計采用前者。</p><p><b>  3.4數(shù)碼管</b></p><p>  在單片機應(yīng)用系統(tǒng)中通常使用的是七段LED,這種顯示器的結(jié)構(gòu)如圖2-1所示,共有8個發(fā)光二極管,其中7

52、個發(fā)光二極管七段字形“8”,一個發(fā)光二極管構(gòu)成小數(shù)點。本次畢業(yè)設(shè)計用的是四位共陰極數(shù)碼管,數(shù)碼管的發(fā)光二極管陰極接地,當(dāng)某個發(fā)光二極管的陽極為高電平,即邏輯“1”時,發(fā)光二極管點亮。</p><p>  如圖3-4所示,P0口接一個5V的上拉電阻,P0.0-P0.7依次與數(shù)碼管的A-DP相接,構(gòu)成數(shù)碼管的段選,P2.0-P2.3依次與1-4相接,構(gòu)成數(shù)碼管的位選。</p><p>  圖3

53、-4 數(shù)碼管顯示原理圖</p><p>  LED顯示器工作原理:點亮顯示器有靜態(tài)和動態(tài)兩種方法。所謂靜態(tài)顯示,就是當(dāng)顯示某一字符時,相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,如上圖中七段顯示器的a、b、c、d、e、f導(dǎo)通,g截止,則顯示“0”。這種顯示方式每一位顯示器都需要有一個8位輸出口控制,其優(yōu)點是顯示穩(wěn)定,無閃爍,缺點是占用口線多,適用于顯示位數(shù)較少的場合。當(dāng)顯示位數(shù)較多時,一般采用動態(tài)顯示方法。所謂動態(tài)顯示就是

54、一位一位的輪流點亮各位顯示器,對于每一位顯示器來說每隔一段時間點亮一次。由于循環(huán)顯示的頻率高較高時,利用人眼的暫留特性,看不出閃爍現(xiàn)象,顯示器的點亮既跟點亮?xí)r的導(dǎo)通電流有關(guān),也跟點亮?xí)r間和間隔時間有關(guān),調(diào)整電流和時間的參數(shù),可實現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示的位數(shù)不大于8位,則控制顯示器的公共電極只需一個I/O口控制各位顯示器,所顯示的字形也只需一個I/O口。</p><p>  LED數(shù)碼管分為共陽極和共陰極,

55、不同的共極方式,顯示同樣的字符,數(shù)碼管的段選是不同的,如下表1為七段共陰極LED字型碼。</p><p>  表1 七段共陰極LED段字型碼</p><p><b>  3.5光電耦合器</b></p><p>  光電隔離器件從大的方面來看,可粗略的分為光耦合器及應(yīng)用光耦合器或其他電子器件制成或應(yīng)用光耦合器制成的器件。</p>

56、<p>  光耦合器因可實現(xiàn)輸入與輸出電位上的嚴(yán)格隔離,所以在電力電子設(shè)備中晶閘管的門極控制與全控型器件的驅(qū)動及信號傳輸實現(xiàn)輸入輸出的隔離等方面都得到了廣泛的應(yīng)用,光電耦合器雖種類較多,內(nèi)部結(jié)構(gòu)有所不同,其速度也有差別,但其基本特性和參數(shù)定義卻有共同點。在光電耦合器內(nèi)部,由于發(fā)光二極管和光敏管之間的耦合電容很小,所以共模輸入電壓通過極間耦合電容對電流Ic的影響很小,因而共模抑制比很高。</p><p>

57、  光電耦合器中光敏管的集電極電流與發(fā)光二極管的注入電流之比稱之為電流傳輸比。對于微小變量輸出電流與注入電流之比叫微變電流傳輸。對于線性度比較好的光耦合器,以上兩者近似相等。</p><p>  光耦合器的發(fā)光二極管和光敏晶體管之間額隔離電阻(絕緣電阻)較大 ,隔離電壓為500~4000V,有的可達10KV,隔離電容小于2pF。光耦合器與晶體管一樣,可以線性工作,也可開關(guān)狀態(tài)工作。在電源的驅(qū)動電路中,光耦合器一般

58、用來傳送脈沖信號,所以光耦合器工作在開關(guān)狀態(tài)。在高頻工作時,應(yīng)考慮光耦合器的響應(yīng)時間。發(fā)光二極管電阻Ri的大小影響光耦合器的響應(yīng)時間,Ri越小,光耦合器響應(yīng)的時間越短,所以,在實際應(yīng)用中,在光耦合器允許的集電極電流范圍內(nèi),盡量減小負載電阻,以提高光耦合器的響應(yīng)速度。</p><p>  MOC3041是直流輸入雙向晶閘管輸出的光耦合器。該器件有輸入、輸出兩部分組成,它的輸入端有兩個引腳,輸入極是一個砷化鎵紅外發(fā)光

59、二極管,工作時該二極管發(fā)出足夠的紅外光,觸發(fā)輸出部分,它的輸出端也有兩個引腳組成,輸出極為具有過零觸發(fā)的光控雙向晶閘管,當(dāng)紅外發(fā)光二極管中通過5~15mA的正向電流時,發(fā)出紅外光,輸出極的雙向晶閘管的光敏基極受到紅外光的照射,而觸發(fā)雙向晶閘管,使輸出端電壓接近0時導(dǎo)通,即輸入與輸出端有光耦合,器件導(dǎo)通后,其輸出端電壓降至很低,當(dāng)電流小于雙向晶閘管維持電流100μA時,雙向晶閘管關(guān)斷。如圖3-5所示,單片機的P3.0通過7406反相器接在

60、MOC3041的陰極(管腳2),當(dāng)P3.0口置1時,MOC3041的管腳2被置零,又5/330=0.015A,即MOC的觸發(fā)電流小于但約等于15Am,MOC3041的紅外發(fā)光二級管發(fā)出足夠的紅光,觸發(fā)輸出部分。當(dāng)P3.0置0時,MOC3041的管腳2被置1,處于高電平,此時,MOC3041的紅外發(fā)光二極管處于截至狀態(tài),輸出部分不被觸發(fā)。 </p><p>  MOC3041相關(guān)參數(shù)如下:</p>&

61、lt;p> ?。?)、隔離電壓:7500V ac</p><p> ?。?)、輸出類型:過零檢測</p><p>  (3)、輸入電流:60mA</p><p>  (4)、輸出電壓:400V</p><p><b> ?。?)、針腳數(shù):6</b></p><p> ?。?)、光電耦合器類型

62、:三端雙向可控驅(qū)動器</p><p> ?。?)、關(guān)態(tài)電壓:400V</p><p> ?。?)、功耗:250mW</p><p> ?。?0)、工作溫度范圍:-40°C至+85°C</p><p>  (11)、正向電壓Vf最大:1.5V</p><p>  (12)、電壓, Vf典型值:1.25

63、V</p><p> ?。?3)、觸發(fā)電流, If最大:15mA</p><p><b>  3.6 雙向晶閘管</b></p><p>  在溫度控制系統(tǒng)中,主電路一般使用晶閘管組成開關(guān)電路,通過控制晶閘管的導(dǎo)通時間來控制加熱時間,因此本系統(tǒng)中,主電路采用了雙向晶閘管,在交流電壓的正半周期使其沿某方向?qū)?,在負半周期則逆向?qū)ā?lt;/p&

64、gt;<p><b>  主要參數(shù)的選?。?lt;/b></p><p>  負載為220V,120W的PTC加熱器</p><p><b>  負載電流有效值為</b></p><p><b>  負載電流峰值為×</b></p><p>  因為當(dāng)雙向晶閘

65、管全開時,單方向的電流為交流半個周期的電流,所以</p><p>  而流過雙向晶閘管的電流的平均值</p><p>  晶閘管額定電壓的選擇:晶閘管的額定電壓應(yīng)為正常工作峰值電壓的2-3倍。</p><p>  ××所以取U=600V。</p><p>  晶閘管額定電流的選擇:晶閘管通態(tài)平均電流為實際正常平均值的1.5

66、-2.0倍。</p><p>  =2.0×=2.0×0.49=0.98A</p><p>  所以晶閘管的額定電流可取8A。根據(jù)計算的數(shù)據(jù)選擇雙向晶閘管的型號為BTA08-600C。</p><p><b>  主要參數(shù)為:</b></p><p>  通態(tài)電流IT(RMS)=8A</p>

67、;<p>  浪涌電流ITSM=80A</p><p>  正向耐壓VDRM>600V</p><p>  反向耐壓VRRM>600V</p><p>  觸發(fā)電流IGT<25mA</p><p>  通態(tài)壓降VTM<1.55V</p><p>  晶閘管的過流,過壓保護采用了一般的阻容保護電路,其

68、參數(shù)為:</p><p>  =50×0.1×(×220)×=0.0484w</p><p>  圖3-5 光電耦合器控制可控硅原理圖</p><p>  3.7 PTC加熱器</p><p>  加熱裝置是對溫室進行加熱,使溫度穩(wěn)定在設(shè)定的溫度值。本系統(tǒng)采用PTC加熱器進行加熱。PTC是Positiv

69、e Temperature Coefficient 的縮寫,意思是正的溫度系數(shù),泛指正溫度系數(shù)很大的半導(dǎo)體材料或元器件。通常我們提到的PTC是指正溫度系數(shù)熱敏電阻,簡稱PTC熱敏電阻。圖3-6是其電阻隨溫度變化的曲線,PTC熱敏電阻是一種典型具有溫度敏感性的半導(dǎo)體電阻,超過一定的溫度(居里溫度)時,它的電阻值隨著溫度的升高呈階躍性的增高。</p><p>  陶瓷材料通常用作高電阻的優(yōu)良絕緣體,而陶瓷PTC熱敏電

70、阻是以鈦酸鋇為基,摻雜其它的多晶陶瓷材料制造的,具有較低的電阻及半導(dǎo)特性。通過有目的的摻雜一種化學(xué)價較高的材料作為晶體的點陣元來達到的:在晶格中鋇離子或鈦酸鹽離子的一部分被較高價的離子所替代,因而得到了一定數(shù)量產(chǎn)生導(dǎo)電性的自由電子。對于PTC熱敏電阻效應(yīng),也就是電阻值階躍增高的原因,在于材料組織是由許多小的微晶構(gòu)成的,在晶粒的界面上,即所謂的晶粒邊界(晶界)上形成勢壘,阻礙電子越界進入到相鄰區(qū)域中去,因此而產(chǎn)生高的電阻,這種效應(yīng)在溫度低

71、時被抵消:在晶界上高的介電常數(shù)和自發(fā)的極化強度在低溫時阻礙了勢壘的形成并使電子可以自由地流動。而這種效應(yīng)在高溫時,介電常數(shù)和極化強度大幅度地降低,導(dǎo)致勢壘及電阻大幅度地增高,呈現(xiàn)出強烈的PTC效應(yīng)。</p><p>  圖3-6 PTC電阻溫度曲線</p><p>  PTC型陶瓷加熱器采用PTC陶瓷發(fā)熱組件與波紋鋁條經(jīng)高溫膠粘組成。該類型PTC加熱器有熱電阻小、換熱效率高的優(yōu)點,是一種自

72、動恒溫、省電的電加熱器。它的顯著特點有加熱器本體的設(shè)計加熱溫度在200攝氏度以下的多檔次,任何情況下本體不發(fā)紅且有保護隔離層,任何應(yīng)用場合均不需要石棉等隔熱材料進行降溫處理,可放心使用不存在對人體燙傷和引發(fā)火災(zāi)的問題。比較電熱管和電阻絲加熱產(chǎn)品,本產(chǎn)品是靠材料自身的特性,根據(jù)環(huán)境溫度的改變來調(diào)節(jié)自身的熱功率輸出,所以它能將加熱器的電能消耗優(yōu)化控制在最小,同時高發(fā)熱效率的材料也大幅提升了電能的利用效率。本次畢業(yè)設(shè)計我所選用的PTC加熱器的

73、主要參數(shù)有電壓:220V,功率120w,長40mm,寬40mm,厚7mm。屬于小功率類型,用其加熱時恒溫發(fā)熱、無明火、熱轉(zhuǎn)換率高、受電源電壓影響小。</p><p>  3.8 反相器7406</p><p>  在本系統(tǒng)中,兩次運用了7406反向器,一次是在單片機的P3.0口與MOC3041的管腳2之間,作用是使P3.0被置1時,MOC3041的管腳2被置0,且與真實的0更接近,MOC3

74、041的光敏二級管導(dǎo)通;當(dāng)P3.0被置0時,MOC3041的管腳被置1,且更接近5V,使MOC3041的光敏二級管真正能夠處于截至狀態(tài)。另一處是與蜂鳴器的陰極相接,作用和上述的類似。我所采用的型號是SN7406N,14管腳,6路獨立反向驅(qū)動,,VCC的范圍為4.75-5.25V。</p><p>  圖3-7 反相器7406管腳</p><p>  3.9雙四輸入與門74LS21</

75、p><p>  74LS21是雙輸入四與門,Y=ABCD,我所使用的型號是SN74LS21N,14管腳,VCC的范圍為4.75-5.25V,推薦使用5V。在此系統(tǒng)中,按鍵未按下時,P3.2始終為高電平,當(dāng)有鍵按下時,通過74LS21的作用,輸出低電平,使P3.2的高電平變?yōu)榈碗娖?,觸發(fā)外部中斷0,在中斷程序里掃描鍵盤,并計算輸入的溫度的設(shè)定值。使用中斷的好處是使CPU在有鍵按下時才掃描鍵,提高了CPU的效率。<

76、/p><p>  圖3-8 四輸入與門74LS21管腳</p><p><b>  3.9蜂鳴器</b></p><p>  本次畢業(yè)設(shè)計的警報部分是通過一個有源的3V蜂鳴器來實現(xiàn)的,當(dāng)實際溫度超上限或低下限時進行危險報警,其長腳為正極,短腳為負極,正極與5V電壓相接,負極通過一個7406與P3.1相接。</p><p> 

77、 第四章 控制系統(tǒng)軟件設(shè)計</p><p>  為了實現(xiàn)系統(tǒng)的溫度檢測和控制,并能夠?qū)崟r顯示,整個系統(tǒng)由如下幾個主要模塊組成,主程序模塊、溫度采集模塊、溫度設(shè)定模塊、溫度顯示模塊,報警模塊,溫度控制模塊等幾個模塊組成。本章將對如上所敘述的幾個模塊分別進行介紹,并闡述程序的編寫思路和所實現(xiàn)的功能。</p><p>  4.1 主程序模塊設(shè)計</p><p>  主程序

78、的主要設(shè)計思想是圍繞題目基本要求而展開的,系統(tǒng)按鍵設(shè)定溫度產(chǎn)生外部中斷0,轉(zhuǎn)入中斷服務(wù)程序,在中斷服務(wù)程序中獲取設(shè)定的溫度值,之后在主程序進行數(shù)據(jù)存儲、調(diào)用數(shù)碼管顯示、報警控制、溫度控制等子程序模塊。所以主程序主要是對系統(tǒng)的初始化和調(diào)用各子程序模塊。</p><p>  4.1.1主程序流程圖</p><p>  圖4-1為主程序流程圖</p><p>  圖4-1

79、 主程序流程圖</p><p>  4.2溫度采集模塊程序設(shè)計</p><p>  溫度的采集是數(shù)字溫度計DS18B20通過單片機進行嚴(yán)格的時序控制來完成的,在空間不是很大的范圍內(nèi),采用一片DS18B20進行單點測溫即可實現(xiàn)對溫度的較為精確的控制。</p><p>  4.2.1 DS18B20的時序</p><p>  DS18B20的時序

80、可分為三個部分:初始化時序、寫時序和讀時序。只有遵守嚴(yán)格的時序,DS18B20才能進行溫度的采集。</p><p>  4.2.2.1 初始化時序</p><p>  DS18B20的所有通信都是由復(fù)位脈沖組成的初始化序列開始。該初始化序列由主機發(fā)出,后跟由DS18B20發(fā)出的存在脈沖(presence pulse)。圖4-2闡述了這一點,當(dāng)發(fā)出應(yīng)答復(fù)位脈沖的存在脈沖后,DS18B20通知

81、主機它在總線上并且準(zhǔn)備好操作了。在初始化步驟中,總線上的主機通過拉低單總線至少480μs來產(chǎn)生復(fù)位脈沖。然后總線主機釋放總線并進入接收模式。當(dāng)總線釋放后,5kΩ的上拉電阻把單總線上的低電平拉回高電平。當(dāng)DS18B20檢測到上升沿后等待15到60μs,然后以拉低總線60-240μS的方式發(fā)出存在脈沖,主機將總線拉低最短480μS,之后釋放總線。由于5kΩ上拉電阻的作用,總線恢復(fù)到高電平。至此,初始化和存在時序完畢。</p>

82、<p>  4.2.2.2寫時序</p><p>  如圖4-3所示,所有的寫時隙必須至少有60μs的持續(xù)時間。相鄰兩個寫時隙必須要有最少1μs的恢復(fù)時間。所有的寫時隙(寫0和寫1)都由拉低總線產(chǎn)生。為產(chǎn)生寫1時隙,在拉低總線后主機必須在15μs內(nèi)釋放總線(拉低的電平要持續(xù)至少1us)。由于上拉電阻的作用,總線電平恢復(fù)為高電平,直到完成寫時隙。為產(chǎn)生寫0時隙,在拉低總線后主機持續(xù)拉低總線即可,直到寫時隙

83、完成后釋放總線(持續(xù)時間60-120μs)。寫時隙產(chǎn)生后,DS18B20會在產(chǎn)生后的15到60μs的時間內(nèi)采樣總線,以此來確定寫0還是寫1。</p><p>  4.2.2.3讀時序</p><p>  如圖4-4所示,DS18B20只有在主機發(fā)出讀時隙時才能發(fā)送數(shù)據(jù)到主機。因此,主機必須在BE(讀存儲器) 命令,B4(讀電源)命令后立即產(chǎn)生讀時隙以使DS18B20提供相應(yīng)的數(shù)據(jù)。另外,在

84、44(溫度轉(zhuǎn)換)命令,B8(recall)命令后也要產(chǎn)生讀時隙。 所有的讀時隙必須至少有60μs的持續(xù)時間。相鄰兩個讀時隙必須要有最少1μs的恢復(fù)時間。所有的讀時隙都由拉低總線,持續(xù)至少1μs后再釋放總線(由于上拉電阻的作用,總線恢復(fù)為高電平)產(chǎn)生。DS18B20輸出的數(shù)據(jù)在下降沿產(chǎn)生1后5μs內(nèi)有效。因此,釋放總線和主機采樣總線等動作要在15μs內(nèi)完成。</p><p>  圖4-2 DS18B20復(fù)位時序圖&

85、lt;/p><p>  圖4-3 DS18B20寫時序圖</p><p>  圖4-4 DS18B20讀時序圖</p><p>  4.2.3 讀溫度子程序流程圖 </p><p>  讀溫度子程序是在單片機的控制下,形成嚴(yán)格的時序,完成溫度的轉(zhuǎn)換并作數(shù)據(jù)的相應(yīng)處理。溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,本次畢業(yè)設(shè)計采用

86、12位分辨率,轉(zhuǎn)換所需的時間約為750ms。因為是單點測溫,不需要CRC校驗。</p><p>  圖4-5為讀溫度子程序流程圖</p><p>  圖4-5 讀溫度子程序流程圖</p><p>  4.3溫度設(shè)定模塊程序設(shè)計</p><p>  溫度設(shè)定模塊是用來設(shè)定溫度的,通過4X4鍵盤輸入想要控制的溫度值。本次畢業(yè)設(shè)計通過中斷進行掃描。

87、</p><p>  4.3.1中斷服務(wù)子程序</p><p>  系統(tǒng)中中斷采用的是外部中斷0,外部中斷0的初始化子程序在主程序開始時即被調(diào)用,當(dāng)鍵盤上有鍵按下時,即產(chǎn)生一個外部中斷0,執(zhí)行中斷子程序,獲取輸入的設(shè)定值,之后中斷回。 </p><p>  圖4-6為中斷服務(wù)子程序的流程圖</p><p>  圖4-6 中斷服務(wù)子程序流程圖&

88、lt;/p><p>  4.3.2 鍵盤掃描子程序</p><p>  鍵盤的掃描是中斷掃描,若有鍵按下,則從第一行開始掃描,直到確定按鍵的行與列,確定鍵值,并返回鍵值。</p><p>  圖4-7為鍵盤掃描子程序流程圖</p><p>  圖4-7 鍵盤掃描子程序流程圖</p><p>  4.4溫度顯示模塊設(shè)計<

89、;/p><p>  溫度顯示模塊要顯示的溫度有設(shè)定值與實際值,通過P3.5的電平的高低來控制,而P3.5電平的高低由與其相連的開關(guān)的通斷來控制。</p><p>  4.4.1設(shè)定值顯示子程序</p><p>  設(shè)定的數(shù)值范圍為自然狀態(tài)下室溫-125℃且為整數(shù),所以四位七段的數(shù)碼管的左數(shù)第一位的位選信號始終被置零,P0口進行段選,P2口的低四位依次進行千、百、十、個位

90、的數(shù)碼管的位選。</p><p>  圖4-8為設(shè)定值顯示子程序的流程圖</p><p>  圖4-8 設(shè)定值顯示子程序</p><p>  4.4.2 實際值顯示子程序</p><p>  實際值是一個溫室自然狀態(tài)下的室溫-125℃之間的數(shù),其帶有一位小數(shù),四位八段的數(shù)碼管從左至右依次是百位、十位、個位、十分位。數(shù)碼管的段選口還是P0口,P

91、2口的低四位依次是百位、十位、各位、十分位數(shù)碼管的位選口線。</p><p>  圖4-9為實際值顯示子程序的流程圖。</p><p>  圖4-9 實際值顯示子程序流程圖</p><p>  4.5溫度控制模塊設(shè)計</p><p>  溫度控制模塊簡單的說就是要實現(xiàn)溫度的控制,實際溫度高于設(shè)定值,降溫;實際溫度低于設(shè)定值,加熱。系統(tǒng)中加熱的

92、裝置為PTC加熱器。</p><p>  4.5.1雙位控制算法設(shè)計</p><p>  溫室環(huán)境是一個復(fù)雜分布式參數(shù)系統(tǒng),由于其本身的復(fù)雜性和外界大氣候較強的影響,要使自控系統(tǒng)將其控制到一定的指標(biāo)上存在一定的難度,但由于溫室內(nèi)作物對于各種參數(shù)變化不是很敏感,因此,沒有必要將各種參數(shù)進行精確控制,只要控制在一段適宜的范圍內(nèi)即可,又考慮到本智能終端的通用性,本次畢業(yè)設(shè)計采用實現(xiàn)起來比較簡單的

93、雙位控制算法。雙位控制又稱為繼電器接觸控制,理想的雙位控制規(guī)律的數(shù)學(xué)表達式為:</p><p>  雙位控制規(guī)律是測量值大于(或小于)給定值時,控制器的輸出為最大(或最小)值,即系統(tǒng)只有兩個輸出值,在此系統(tǒng)中,P3.0就相當(dāng)于一個雙位控制器。其只有“1”和“0”這兩種狀態(tài)。執(zhí)行機構(gòu)也只有“開"和“關(guān)"兩個極限工作位置。給定溫度的設(shè)定值,當(dāng)被控溫室的溫度低于設(shè)定值時,P3.0置1,PTC加熱器工

94、作,而當(dāng)溫室內(nèi)的溫度高于設(shè)定值時,P3.0置0,關(guān)閉PTC加熱器,從而實現(xiàn)溫度的控制。雙位控制對象特性好、負荷變化較小、過程滯后小、允許被控制參數(shù)在一定的范圍內(nèi)波動,可以適用于溫室系統(tǒng)的控制。</p><p>  4.5.2溫度控制子程序流程圖</p><p>  圖4-10為溫度控制子程序流程圖</p><p>  圖4-10 溫度控制子程序流程圖</p&g

95、t;<p>  4.6報警模塊程序設(shè)計</p><p>  報警模塊的工作很簡單,就是判斷實際溫度超上限或低下限報警。</p><p>  圖4-11為報警控制子程序流程圖</p><p>  圖4-11報警控制子程序流程圖</p><p><b>  第五章 結(jié)果分析</b></p><

96、;p>  5.1 PROTEUS仿真</p><p>  總體電路原理圖設(shè)計好后,在KEIL3里用C語言編出相應(yīng)的程序,程序調(diào)試在沒有問題后,接著就對程序進行仿真,總體思路是:由局部到整體。首先進行鍵盤設(shè)定溫度值并用數(shù)碼管顯示的仿真,再進行DS18B20采集溫度并用數(shù)碼管顯示的仿真,這兩個關(guān)鍵部分完成后,就進行總體程序的仿真。</p><p>  5.1.1 鍵盤設(shè)定溫度仿真<

97、/p><p>  將4×4鍵盤的掃描程序編好后,在PROTEUS里進行仿真,發(fā)現(xiàn)當(dāng)我按下某個按鍵時,數(shù)碼管的百位,十位,各位顯示的都是那個鍵的值,比如我按下3的時候,這三個位的數(shù)碼管都是3,思考了許久,我初步判斷原因可能是是按鍵按下后,因為鍵盤一直處于按下的狀態(tài),而按鍵掃描程序掃描按鍵的速度非???,以至于我按下一次,鍵盤掃描了好些次,如此想后,我就設(shè)定一個標(biāo)志位,按鍵按下置1,鍵抬起置0,但效果依舊不佳;最

98、后,我在掃描每行鍵的最后都加上一個判斷按鍵是否釋放的程序,如釋放,再讀取鍵值,如此之后,就能正確輸入按鍵的值,比如,我要輸入123,就只需要依次按下1、2、3。</p><p>  如圖5-1所示,鍵盤設(shè)定初值32℃并用數(shù)碼管顯示</p><p>  圖5-1 鍵盤設(shè)定溫度32℃仿真</p><p>  5.1.2 溫度采集仿真</p><p&g

99、t;  根據(jù)DS18B20的時序圖編好程序并在KEIL3里檢查好語法沒有錯誤后,鏈接到PROTEUS里進行仿真。開始在PROTEUS里設(shè)定改變溫度的步長為1℃,在軟件里也就相應(yīng)的將采集到的溫度設(shè)置為整數(shù),上下限與這個整數(shù)相差為一度。這樣會使誤差加大,之后將仿真的步長改為0.1℃,程序也做出相應(yīng)的的修改,使實際溫度保留一位小數(shù)。仿真能夠獲取實際溫度,這個實際溫度可從DS18B20的仿真模型中設(shè)置。如圖5-2所示,PROTEUS仿真溫度采集

100、,獲取當(dāng)前的環(huán)境溫度為28.7℃。</p><p>  圖5-2 溫度采集仿真</p><p>  5.1.3 整體仿真</p><p>  因為實際溫度保留一位小數(shù),在仿真的時候,就出現(xiàn)了一個錯誤,比如,我設(shè)定的溫度為28攝氏度時,在正確的情況下,蜂鳴器會在實際溫度小于27℃和大于29℃報警,但是仿真出來的結(jié)果是小于27℃時,蜂鳴器報警,但是當(dāng)溫度大于29℃時蜂鳴

101、器并未報警,直至實際大于30℃時蜂鳴器才會報警。仔細檢查程序后,我發(fā)現(xiàn)在讀溫度子程序模塊中,我讀取的是實際溫度的10倍并取整,然后在我將其與實際值比較之前,又讓其除以10,所得值賦給一個整形數(shù),這樣就出現(xiàn)了這樣種情況,比如,我最初測得的實際值是27.8℃,10倍變?yōu)?78℃,這是為了方便顯示,為了判斷是否報警,我要將其與設(shè)定值比較,又設(shè)定值是個整形數(shù),因此,將此數(shù)縮小10倍,賦給一個整形數(shù)后實際溫度就變?yōu)?7℃。如此實際溫度就當(dāng)于自減了

102、1℃,故要到實際值為30℃時才能報警。實際溫度比設(shè)定小1℃能報警,又是因為,只有實際值比設(shè)定值小1℃才會報警,實際溫度等于設(shè)定的下限并不會報警,因此,(27.0-27.9)℃賦值給整形數(shù)始終是27℃,只有當(dāng)實際溫度小于27℃時,實際值才會小于下限(設(shè)定值28-1),蜂鳴器才會警報。找出問題的所在后,我將設(shè)定值擴大10倍,再與實際值的</p><p>  由上可知,在仿真調(diào)試過程中,我遇到了很大的麻煩。在仿真的過程

103、中,有時會感覺程序和硬件都沒有一點問題,但是就是不能實現(xiàn)系統(tǒng)所要實現(xiàn)的功能,因為它不允許軟件和硬件有一點問題,哪怕是細小的一點問題都不允許。舉一個最簡單的例子,就拿數(shù)碼管顯示程序的調(diào)試仿真來說,PROTEUS 里單片機的I/O口可以直接驅(qū)動動態(tài)顯示的數(shù)碼管,但在實際中卻是不可以的。</p><p>  因為在PROTEUS中加熱裝置和實際出入大,所以在PROTEUS里進行加熱仿真就是成功也沒有太大的實際意義,所以

104、我只進行了系統(tǒng)中兩個重要部分的軟件仿真,以及這兩部分合起來的一個總體仿真。</p><p><b>  5.2實際運行結(jié)果</b></p><p>  仿真結(jié)果符合預(yù)期后,我就著手實物的制作,將所用到的元件焊接在電路板后,就開始測試系統(tǒng)性能。第一次因為焊接技術(shù)不過關(guān),數(shù)碼管顯示時好時壞,為了求得個良好的結(jié)果,我又重新將元件焊接在另一塊板子上,積累了上次焊接的經(jīng)驗后,第

105、二次的焊接效果比之前好了很多,數(shù)碼管顯示正常。由于是動態(tài)顯示,數(shù)碼管的亮度不是很高。</p><p>  加熱裝置我選擇的是PTC加熱器,其功率為120W,很小,只能在比較小的空間內(nèi)才能進行溫度控制。在實際的試驗中,DS18B20在以此加熱器為圓心,以半徑20CM為圓,高度不超過15CM圓柱范圍內(nèi),控制效果良好,誤差較小。以下簡述實際試驗的一些情況。</p><p>  首先,給單片機上電

106、后,設(shè)定溫度為29℃,這個值就是我的期望值了,與此同時,軟件中相應(yīng)的把系統(tǒng)能容忍的溫度上下限分別定為30℃和28℃,按下溫度的切換鍵,顯示當(dāng)前溫度為27.6℃,低于溫控系統(tǒng)要求的下限,產(chǎn)生報警。因為實際溫度小于設(shè)定溫度,PTC加熱,一小段時間后,警報解除,說明溫度已進入溫度控制系統(tǒng)的上下限之間,又過了一段時間(時間長短由DS18B20離PTC加熱器的距離而變,但當(dāng)系統(tǒng)穩(wěn)定后,時間的差異性變?。?,實際溫度達到29℃,PTC關(guān)斷,其余溫使溫

107、度繼續(xù)上升,但沒有觸發(fā)警報,一段時間后,溫度又降到29度,比29℃稍低一點,PTC就會加熱,因為PTC的加熱很快,冷卻較慢,實際溫度在PTC關(guān)斷后,下降超過設(shè)定值的幅度很小,即使再小,PTC也會進行加熱,如此循環(huán),經(jīng)過多次長時間的試驗,實際溫度28.8℃<T<29.8℃,誤差為1℃左右,又由于DS18B20的誤差為±0.5℃,累計的最大誤差為2℃,這個誤差在本系統(tǒng)中是可以容忍的。故本次畢業(yè)設(shè)計總體來說是成功的。&l

108、t;/p><p>  圖5-3,為本次畢業(yè)設(shè)計的實物顯示設(shè)定溫度</p><p>  圖5-4,為本次畢業(yè)設(shè)計的實物顯示實際溫度</p><p>  圖5-3 系統(tǒng)運行顯示設(shè)定溫度</p><p>  圖5-4 系統(tǒng)運行顯示實際溫度</p><p><b>  第六章 總結(jié)與展望</b></p&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論