電加熱爐溫度控制系統(tǒng)設(shè)計1_第1頁
電加熱爐溫度控制系統(tǒng)設(shè)計1_第2頁
電加熱爐溫度控制系統(tǒng)設(shè)計1_第3頁
電加熱爐溫度控制系統(tǒng)設(shè)計1_第4頁
電加熱爐溫度控制系統(tǒng)設(shè)計1_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 6 / 23摘要在現(xiàn)實(shí)生活當(dāng)中,很多場合需要對溫度進(jìn)行智能控制,日常生活中最常見的要算空調(diào)和冰箱了,他們都能根據(jù)環(huán)境實(shí)時情況,結(jié)合人為的設(shè)定,對溫度進(jìn)行智能控制。工業(yè)生產(chǎn)中的電加熱爐溫度監(jiān)控系統(tǒng)和培養(yǎng)基的溫度監(jiān)控系統(tǒng)都是計算機(jī)控制系統(tǒng)的典型應(yīng)用。通過這次課程設(shè)計,我們將自己動手設(shè)計一個小型的計算機(jī)控制系統(tǒng),目的在于將理論結(jié)合實(shí)踐以加深我們對課本知識的理解。本次設(shè)計采用單片機(jī)89C51與數(shù)字式溫度傳感器、數(shù)碼管顯示溫度。數(shù)字式溫度傳感器將采集到的溫度數(shù)據(jù)送入單片機(jī),單片機(jī)將采集到的溫度數(shù)據(jù)與設(shè)定值進(jìn)行比較,若大于設(shè)定值,則電熱爐關(guān)斷,若小于設(shè)定值,則電熱爐繼續(xù)加熱。對于設(shè)定的溫度

2、值的改變采用中斷方式,當(dāng)改變溫度設(shè)定時,檢測輸入的信號,改變設(shè)定值,并在數(shù)碼管上顯示出設(shè)定值,此次設(shè)計初始設(shè)定值為100攝氏度。關(guān)鍵字:溫度自動控制、單片機(jī)、數(shù)碼管目錄1設(shè)計容與步驟11.1設(shè)計要求11.2方案設(shè)計11.3設(shè)計思路12硬件設(shè)計22.1主要硬件介紹22.1.1單片機(jī)22.1.2溫度傳感器22.1.3開關(guān)器件22.2電路設(shè)計方法32.2.1顯示部分電路32.2.2溫度檢測電路42.2.3鍵盤電路42.2.4電氣開關(guān)與工作電路52.2.5整體硬件設(shè)計與工作說明53軟件設(shè)計63.1數(shù)碼管模塊63.2按鍵中斷輸入模塊73.3溫度檢測模塊83.4主程序流程圖94調(diào)試和分析105課程設(shè)計心得

3、體會12參考文獻(xiàn)13附錄1整體電路圖14附錄2源程序151設(shè)計容與步驟1.1設(shè)計要求設(shè)計一個溫度控制系統(tǒng),并用軟件仿真。功能要求如下:(1)能夠利用溫度傳感器檢測環(huán)境中的實(shí)時溫度;(2)能對所要求的溫度進(jìn)行設(shè)定;(3)將傳感器檢測到得實(shí)時溫度與設(shè)定值相比較,當(dāng)環(huán)境中的溫度高于或低于所設(shè)定的溫度時,系統(tǒng)會自動做出相應(yīng)的動作來改變這一狀況,使系統(tǒng)溫度始終保持在設(shè)定的溫度值。1.2方案設(shè)計達(dá)到技術(shù)要求的容,需要以下幾種器件:單片機(jī)、溫度傳感器、數(shù)碼管、直流電動機(jī)等。其中單片機(jī)用作主控制器,控制其他器件的工作和處理數(shù)據(jù);溫度傳感器用來檢測環(huán)境中的實(shí)時溫度,并將檢測值送到單片機(jī)中進(jìn)行數(shù)值對比;數(shù)碼管顯示

4、屏用來顯示溫度;直流電動機(jī)用來表示電加熱爐的工作情況,轉(zhuǎn)動表示電加熱爐通電加熱,停止轉(zhuǎn)動表示電加熱爐斷電停止加熱。1.3設(shè)計思路通過按鍵設(shè)定所需要的溫度值,然后利用溫度傳感器檢測電加熱爐的實(shí)時加熱溫度,并送至單片機(jī)與設(shè)定值進(jìn)行比較。若檢測值小于設(shè)定值,則繼電器得電,開關(guān)閉合,電加熱爐導(dǎo)通加熱;若檢測值大于設(shè)定值,則繼電器斷開,開關(guān)斷開,電加熱爐斷電停止加熱。若爐溫低于設(shè)定值,單片機(jī)又控制繼電器閉合,繼電器開關(guān)閉合,電加熱爐開始導(dǎo)通加熱。傳感器檢測到得溫度值會在數(shù)碼管顯示屏上顯示出來。當(dāng)設(shè)定溫度時,設(shè)定溫度會在數(shù)碼管上顯示出來。2硬件設(shè)計2.1主要硬件介紹2.1.1單片機(jī)這里選用AT89C51單

5、片機(jī)作為控制系統(tǒng)的處理器。P30P33作為按鍵輸入端,采用中斷方式。P0口作為數(shù)碼管的段選端,P10P13作為數(shù)碼管的位選端。P17作為溫度傳感器檢測溫度信號輸入端。P37作為控制電熱爐的信號輸出端。2.1.2溫度傳感器溫度傳感器選用DS18B20溫度傳感器。數(shù)字溫度傳感器DS18B20具有單總線接口方式,支持多節(jié)點(diǎn),使分布式溫度傳感器設(shè)計大為簡化獨(dú)特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。測溫圍55+125,固有測溫誤差0.5。支持多點(diǎn)組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,實(shí)現(xiàn)多點(diǎn)測溫,如果數(shù)量

6、過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。工作電源為35V/DC,在使用中不需要任何外圍元件,測量結(jié)果以912位數(shù)字量方式串行傳送。2.1.3開關(guān)器件由于單片機(jī)與電動機(jī)之間需要用開關(guān)器件連接,并且前者用弱電控制,后者由強(qiáng)電控制,這就尤其需要注意安全問題,因此采用繼電器。繼電器是由一個線圈和一個開關(guān)組成,當(dāng)線圈得電,就會使開關(guān)閉合,電動機(jī)回路工作。當(dāng)線圈失電,就會使開關(guān)斷開,電動機(jī)不工作。2.2電路設(shè)計方法2.2.1顯示部分電路顯示電路截圖如下圖2.1所示。圖2.1顯示部分電路圖這里選用4位7段數(shù)碼管作為系統(tǒng)的顯示器件,如圖2.1所示,P0口作為數(shù)碼管的段選端,由高到低分別與數(shù)碼管P

7、07P00連接P0口需接上拉電阻,位選端分別與P13P10連接,由于數(shù)碼管顯示數(shù)據(jù)中,位選線需要較大的電流驅(qū)動,而實(shí)際上89C51單片機(jī)管腳輸出拉電流一般為十幾到二十mA,不足以驅(qū)動數(shù)碼管,因此在位選線上要接驅(qū)動電路,起電流放大作用。數(shù)碼管顯示采用共陽極接法,在顯示數(shù)據(jù)時,采用動態(tài)掃描法。2.2.2溫度檢測電路溫度傳感器與單片機(jī)的連接情況如下圖2.2所示。圖2.2 溫度檢測電路圖溫度傳感器DS18B20主要功能是將環(huán)境中的溫度進(jìn)行檢測,并經(jīng)放大與A/D轉(zhuǎn)換為數(shù)字量,存入其部RAM的9個單元中。在讀出其部溫度值時,必須要對其發(fā)出控制命令。2.2.3鍵盤電路這里鍵盤設(shè)計采用中斷方式,“SHEZHI

8、”鍵是設(shè)置預(yù)定溫度的,調(diào)整對象為預(yù)定溫度。“+”鍵是向上加溫度值,“”鍵是向下減溫度值,“SURE”鍵是確定溫度調(diào)整完畢。在調(diào)整溫度的過程中,數(shù)碼管會顯示調(diào)整的溫度值。鍵盤電路如下圖2.3所示。圖2.3鍵盤電路圖2.2.4電氣開關(guān)與工作電路電器開關(guān)與工作電路如下圖2.4所示。圖2.4 電氣開關(guān)與工作電路圖 如圖2.4所示,P37接單片機(jī)的P3.7腳,電熱爐用電動機(jī)來代替。當(dāng)P3.7為高電平,D2、D3發(fā)光,NPN導(dǎo)通,繼電器得電,開關(guān)吸和,電動機(jī)工作;當(dāng)P3.7為低電平,D2、D3不發(fā)光,NPN截止,繼電器失電,開關(guān)斷開,電動機(jī)不工作。2.2.5整體硬件設(shè)計與工作說明 系統(tǒng)的工作過程為:1.溫

9、度傳感器檢測溫度與設(shè)定值進(jìn)行比較,若檢測溫度小于設(shè)定值,則P3.7腳保持高電平,發(fā)光二極管D3、D2發(fā)光,繼電器工作,開關(guān)吸和,電動機(jī)維持導(dǎo)通,相當(dāng)于電爐繼續(xù)加熱。2.若檢測溫度大于設(shè)定值,P3.7腳變?yōu)榈碗娖?,發(fā)光二極管D2、D3不發(fā)光,繼電器不工作,開關(guān)斷開,使電動機(jī)和D3停止工作,這就相當(dāng)于電爐斷電,停止加熱;3.當(dāng)過一段時間后,爐溫會降低,而溫度傳感器DS18B20不斷地檢測爐溫,當(dāng)檢測值低于設(shè)定值后,單片機(jī)又控制P3.7腳恢復(fù)高電平,繼電器工作,開關(guān)吸和,電動機(jī)和D3又開始工作,這相當(dāng)于電爐從新開始加熱。整體硬件電路圖如附錄1所示。3軟件設(shè)計3.1數(shù)碼管模塊對于數(shù)碼管顯示模塊采用動態(tài)

10、掃描,現(xiàn)將要顯示溫度的小數(shù)位送至數(shù)碼管,小數(shù)點(diǎn)位置1,小數(shù)點(diǎn)不亮,再選中數(shù)碼管位選端第4位然后進(jìn)行延時66微秒,再將數(shù)碼管熄滅一下,再將個位送至數(shù)碼管,同時小數(shù)點(diǎn)控制位至0,點(diǎn)亮小數(shù)點(diǎn),再選中第3位進(jìn)行延時66微秒后熄滅,個位與百位顯示原理與小數(shù)位一樣。當(dāng)這幾位快速顯示后再關(guān)斷并且不斷循環(huán)顯示溫度的這個過程,數(shù)碼管就會顯示出溫度了。流程圖如圖3.1所示:圖3.1數(shù)碼管模塊流程圖3.2按鍵中斷輸入模塊對于按鍵采用中斷方式,輸入信號用巡回檢測方式處理,首先,若SHEZHI鍵按下,則會產(chǎn)生中斷,進(jìn)入中斷服務(wù)程序,此時判斷SURE鍵是否按下,若按下,則中斷結(jié)束,返回溫度檢測與顯示的主程序,若沒按下,顯

11、示she里面存儲的設(shè)定的溫度值,然后判斷“+”鍵是否按下,若按下則she中存儲溫度值加1,若沒按下,則判斷“-”鍵是否按下,若按下,則she中溫度之減1,設(shè)定溫度在0128之間,然后判斷SURE是否按下,再顯示she中溫度值。流按鍵中斷輸入模塊程圖如圖3.2所示:圖3.2按鍵中斷輸入模塊流程圖3.3溫度檢測模塊溫度檢測模塊采用數(shù)字式溫度傳感器,首先對DS18B20進(jìn)行復(fù)位,再對它發(fā)出跳過ROM命令,再對溫度傳感器發(fā)出讀取溫度命令,然后讀取溫度,在讀溫度過程中,是對9字節(jié)的溫度值進(jìn)行讀取,每讀1字節(jié)后判斷CRC是否正確,若正確,則溫度讀取正確,若錯誤,重新讀取該字節(jié)溫度。讀完9字節(jié)的溫度后,再判

12、斷CRC是否正確,若正確,讀取溫度后將溫度移入溫度暫存器中,若錯誤,則直接跳出溫度檢測模塊。溫度檢測模塊的主要功能是將傳感器中存儲的溫度值正確的讀到溫度暫存器中,供主程序處理溫度,并發(fā)出控制信號使用。溫度檢測模塊流程圖如圖3.3所示:圖3.3溫度檢測模塊流程圖3.4主程序流程圖主程序主要完成數(shù)碼管示數(shù)的顯示、控制溫度傳感器轉(zhuǎn)換溫度、溫度的讀取、與處理溫度等功能,在處理溫度的過程中,若溫度低與設(shè)定值,則電熱爐繼續(xù)加熱,若溫度值高于設(shè)定值,則繼電器開關(guān)斷開,電熱爐停止加熱。主程序過程為首先對數(shù)碼管初始化,即開機(jī)先顯示888.8,顯示2S左右開始對DS18B20進(jìn)行初始化,啟動DS18B20開始溫度

13、轉(zhuǎn)換,然后再讀出傳感器中溫度,將讀出溫度放入溫度暫存器,調(diào)出暫存器中溫度進(jìn)行處理,通過與設(shè)定溫度的儲存器she中設(shè)定溫度相比較,判斷繼電器開關(guān)的通斷,從而控制電熱爐是否加熱,然后開始將檢測得到的溫度值送入數(shù)碼管進(jìn)行顯示,顯示溫度后需要再次啟動DS18B20對溫度進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換溫度后,系統(tǒng)再次對轉(zhuǎn)換得到的溫度值進(jìn)行讀出溫度、處理溫度、顯示溫度、轉(zhuǎn)換溫度等等一系列處理。主程序流程圖如圖3.4所示:圖3.4整體流程圖4調(diào)試和分析在Protues軟件中,按下運(yùn)行按鈕,系統(tǒng)開始仿真。系統(tǒng)仿真截圖如下圖所示。圖4.1溫度為98度系統(tǒng)仿真圖圖4.2溫度為100度系統(tǒng)仿真圖圖4.1是當(dāng)溫度采樣值小于設(shè)定值,電

14、熱爐處于工作狀態(tài)時的仿真截圖。圖4.2是當(dāng)溫度采樣值等于設(shè)定值后,系統(tǒng)自動做出反應(yīng),使電熱爐斷電停止工作的仿真截圖。當(dāng)采樣溫度低于設(shè)定值的時候,系統(tǒng)不會對電熱爐做出相應(yīng)動作,電熱爐保持加熱。一旦采樣溫度高于設(shè)定值,系統(tǒng)就會做出反應(yīng),使電加熱爐斷電停止加熱。當(dāng)溫度降下來后,系統(tǒng)又會自動控制電加熱爐重新開始加熱。系統(tǒng)的反應(yīng)速度也是十分精確的,會在很短的時間作出相應(yīng)動作。圖4.3初始設(shè)定溫度 圖4.4設(shè)定溫度加一度圖4.3為系統(tǒng)溫度的初始設(shè)定值,當(dāng)按下SHEZHI鍵會顯示初始設(shè)置溫度為100攝氏度,按下“+”鍵后,設(shè)置溫度會加1度為101度,數(shù)碼管顯示如圖4.4所示,按下SURE鍵后,系統(tǒng)會進(jìn)行正常

15、溫度檢測與顯示。設(shè)定值加1度后仿真圖形如圖4.5和圖4.6所示。圖4.5設(shè)定值為101時100度仿真圖 圖4.6設(shè)定值為101時101度仿真圖5課程設(shè)計心得體會本次課程設(shè)計,我的題目是設(shè)計電加熱爐溫度控制系統(tǒng)。我們也會發(fā)現(xiàn)實(shí)際中一般的電加熱爐是沒有溫度自動控制的,當(dāng)溫度上升到我們需要的程度時,它仍然繼續(xù)加熱,這不僅會影響到加熱效果,還會造成電能的浪費(fèi)。那么就有必要設(shè)計一種能自動調(diào)節(jié)爐溫的系統(tǒng),把它應(yīng)用到日常生活中,將會給人們帶來極大的方便。在設(shè)計的過程中,我也遇到一些麻煩,比如說怎樣來實(shí)現(xiàn)電動機(jī)回路的自動通斷調(diào)節(jié)、怎樣來實(shí)現(xiàn)溫度的調(diào)整等等,這些問題都令我十分棘手。通過去圖書館查閱相關(guān)資料和上網(wǎng)

16、搜索各硬件的原理以與應(yīng)用,我最終都一一解決了這些問題。在設(shè)計過程中,我遇到困難的時候也經(jīng)常與同學(xué)相互討論,相互請教,最終一起解決問題??偟膩碚f,此次課程設(shè)計的過程比較輕松,從拿到問題到徹底解決問題,這是一個令人振奮并享受的過程。經(jīng)過去圖書館大量的查閱書籍,我也學(xué)到了很多在課本上沒有的知識,收獲頗豐。這段過程讓我懂得了一個道理,那就是學(xué)生要學(xué)的絕對不該僅僅是課本上的東西,有些東西只有走進(jìn)圖書館,你才可能學(xué)習(xí)到。也只有這樣,我們才能成為一個見多識廣、淵博的人。參考文獻(xiàn)1于海生微型計算機(jī)控制技術(shù)M清華大學(xué),20042譚浩強(qiáng)C程序設(shè)計(第三版)M. 清華大學(xué),20063戴焯. 傳感與檢測技術(shù)M. 理工

17、大學(xué),20064毅剛. 單片機(jī)原理與應(yīng)用M. 高等教育,20035柯節(jié)成. 簡明電子元件器件手冊M. 高等教育,2005附錄1整體電路圖附錄1整體電路圖附錄2源程序#include "reg51.h"#include "intrins.h" /延時調(diào)用子函數(shù)#define Disdata P0 /段碼輸出口#define discan P1 /掃描口#define uchar unsigned char#define uint unsigned intsbit DQ=P17; /溫度輸入口sbit DIN=P07; /LED小數(shù)點(diǎn)控制sbit OUT=P

18、37; /加熱爐控制uchar data she=100; /溫度設(shè)定uchar data temp;sbit jia=P30;sbit jian=P31;sbit sure=P33;uint h;uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09; /溫度小數(shù)部分用查表法uchar code dis_712=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;uchar code

19、scan_con4=0xf1,0xf2,0xf4,0xf8;/列掃描控制字uchar data temp_data2=0x00,0x00;/讀出溫度暫放uchar data display5=0x00,0x00,0x00,0x00,0x00;void delay(uint t) /11毫秒延時函數(shù)for(;t>0;t-); void scan(void) char k; for(k=0;k<4;k+) Disdata=dis_7displayk; if(k=1)DIN=0; discan=scan_conk;delay(90);discan=0x00; ow_reset(void)

20、char presence=1; while(presence) while(presence) DQ=1;_nop_();_nop_(); DQ=0; delay(50); DQ=1; delay(6); presence=DQ; delay(45); presence=DQ; DQ=1;void write_byte(uchar val)uchar i; for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ=val&0x01; delay(6); val=v

21、al/2; DQ=1;delay(1);uchar read_byte(void) uchar i; uchar value=0; for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); value>>=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); DQ=1;_nop_();_nop_();_nop_();_nop_(); if(DQ) value|=0x80; delay(6); DQ=1; return(value);void read_temp(void) ow_reset(); write_byte(0xcc);

22、 write_byte(0xbe); temp_data0=read_byte(); temp_data1=read_byte(); ow_reset(); write_byte(0xcc); write_byte(0x44);work_temp()uchar n=0; if(temp_data1>127) temp_data1=(256-temp_data1); temp_data0=(256-temp_data0); n=1; display4=temp_data0&0x0f; display0=ditabdisplay4; display4=(temp_data0&0xf0)>>4)|(temp_data1&0x0f)<<4); temp=display4; display3=display4/100; display1=display4%100; display2=display1/10; display1=display1%10; if(!display3) display3=0x0a; if(!display2) display2=0x0a; if(n)display3=0x0b;main()Disdata=0

溫馨提示

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

評論

0/150

提交評論