溫度控制系統畢業(yè)設計
《溫度控制系統畢業(yè)設計》由會員分享,可在線閱讀,更多相關《溫度控制系統畢業(yè)設計(44頁珍藏版)》請在裝配圖網上搜索。
1、 摘 要 在日常生活及工農業(yè)生產中,對溫度的檢測及控制時常顯得極其重要。因此,對數字顯示溫度計的設計有著實際意義和廣泛的應用。本文介紹一種利用單片機實現對溫度只能控制及顯示方案。本畢業(yè)設計主要研究的是對高精度的數字溫度計的設計,繼而實現對對象的測溫。測溫系數主要包括供電電源,數字溫度傳感器的數據采集電路,LED顯示電路,蜂鳴報警電路,繼電器控制,按鍵電路,單片機主板電路。高精度數字溫度計的測溫過程,由數字溫度傳感器采集所測對象的溫度,并將溫度傳輸到單片機,最終由液晶顯示器顯示溫度值。該數字溫度計測溫范圍在-55℃~+125℃,精度誤差在0.5℃以內,然后通過LED數碼管直接顯示出溫度值。
2、數字溫度計完全可代替?zhèn)鹘y的水銀溫度計,可以在家庭以及工業(yè)中都可以應用,實用價值很高。 關鍵詞:單片機:ds18b20:LED顯示:數字溫度. Abstract In our daily life and industrial and agricultural production, the detection and control of the temperature, the digital thermometer has practical significance and a wide range of applications .This article describes
3、 a programmer which use a microcontroller to achieve and display the right temperature by intelligent control .This programmer mainly consists by temperature control sensors, MCU, LED display modules circuit. The main aim of this thesis is to design high-precision digital thermometer and then realiz
4、e the object temperature measurement. Temperature measurement system includes power supply, data acquisition circuit, buzzer alarm circuit, keypad circuit, board with a microcontroller circuit is the key to the whole system. The temperature process of high-precision digital thermometer, from collect
5、ing the temperature of the object by the digital temperature sensor and the temperature transmit ted to the microcontroller, and ultimately display temperature by the LED. The digital thermometer requires the high degree is positive 125and the low degree is negative 55, the error is less than 0.5, L
6、ED can read the number. This digital thermometer could replace the traditional mercurial thermometer, can be used in family or industrial and production, it has a great value. Key words: MCU: DS18B20 : LED display: Digital thermometer。 1.緒 論
7、 3 1.1課題背景 3 1.2立題的目的和意義 4 1.3溫度控制系統的預期功能和基本原理 4 1.4本系統主要研究內容 6 2.多功溫度控制系統總體分析與設計 7 2.1 溫度控制系統的組成和工作原理 7 2.2 溫度采集轉換系統 8 2.3 升降溫控制系統 10 2.4鍵盤顯示系統 11 2.5報警系統 12 2.6電源系統 13 2.7 硬件電路設計 14 2.7.1 系統硬件配置 14 2.7.2 主要元件簡介 14 3.軟件系統設計 28 3.1軟件總體設計 28 3.2系統初始化函數 30 3.3 控制函數 30 3.4鍵盤顯示函數 31
8、3.5降溫函數 32 3.6曲線算法 33 3.7采樣 34 結 論 35 致 謝 37 參考文獻 38 系統源程序 39 基于8051單片機的溫度采集器 1緒 論 1.1課題背景 溫度控制是自動控制經常討論的課題之一,它代表了一類自動控制的方法。而且其應用十分廣泛,可以說在生產生活中無處不在,例如鍋爐、電冰箱等。而由溫度控制帶來的時滯效應難題始終困擾著實際應用。隨著科學技術的高速發(fā)展,溫度控制技術得到了很大的進步,其應用的領域也不斷的擴大。 本文將使用8051型單片機對溫度控制的基本原理實例化
9、,設計一個帶有多功能的、能夠減小時滯效應的溫度采集控制系統。目的是利用畢業(yè)設計的這段時間學習一種利用8051型單片機進行溫度采集控制的方法。 1.2立題的目的和意義 8051型單片機是常用的控制芯片,在智能儀器儀、工業(yè)檢測控制、機電一體化等方面取得了令人矚目的成果,用其作為溫度采集控制系統的實例也很多。使用8051單片機能夠實現溫度全程的自動控制,而且8051單片機易于學習、掌握,性能價格比高。 使用8051型單片機設計溫度采集控制系統,可以即時、精確的反映溫度變化。完成諸如升溫到特定溫度、降溫到特定溫度、在溫度點保持恒溫等多種控制方式,可以應用到空調、鍋爐、電熱器一類的設備上。
10、 1.3溫度控制系統的預期功能和基本原理 多功能溫度控制系統的設計初衷是滿足實際生產中溫度控制的需要。為此本系統針對實際應用開發(fā)了兩種溫度控制的模式。 第一種控制模式類似于空調,鍋爐等需要保持在一定區(qū)間內恒溫的設備,他們都需要有加溫或降溫功能,有的當溫度超過一定上限時會報警。本系統中把這種工作模式命名為Control模式,簡寫為C模式。系統工作在這種模式下時,首先系統會提示用戶輸入溫度的上限與下限的溫度值。然后根據實際溫度的情況決定采取那些方案。如下圖1—3—1所示: 圖1—3—1 第一種控制模式示意圖 該時刻的實際溫度低于用戶設定的下限溫度,
11、所以此時刻系統正處于升溫狀態(tài),直到實際溫度到達上限溫度值,系統才停止升溫。反之,如果實際溫度高于用戶設定的下限值時,系統處于降溫狀態(tài)。當實際溫度超過用戶設定的上、下限溫度時,系統還會通過聲音、警報燈來報警,同時啟動相應的降升溫措施。 第二種模式在日常生產中是十分普遍的,例如鑄造模具、熱時效處理等都需要完成“升溫-恒溫-降溫”反復的過程。本系統模擬了熱時效的處理過程,采用“升溫-恒溫-升溫-恒溫-降溫-恒溫-降溫”的梯形曲線過程,如下圖1—3—2所示的: 圖1—3—2圖1—3—1 第二種控制模式示意圖 這種模式對溫度控制的要求比較高,技術指標也很多,例如必須保持采
12、樣時間有單位并且均勻、升溫降溫的過程要穩(wěn)定、迅速等。 常用的溫度控制算法都采用PID算法。本設計從成本、設計復雜度、實用性及開發(fā)時間諸多因素的考慮采用了DDC算法,主要體現在升降溫過程中。系統為典型的反饋式溫度控制系統,組成部分見圖1—3—3。其中數字控制器的功能由8051單片機實現。 圖1—3—3溫度控制系統組成框圖 1.4本系統主要研究內容 本系統所要完成的任務是: (1)能夠實時、準確的采樣溫度值。 (2)能夠以DDC控制方式,進行升溫、降溫過程。 (3)完成溫度梯形曲線的變化過程。 (4)更加人性化的設計。上、下界限溫度能夠用
13、戶輸入并顯示,聲音、警報燈的報警功能等。 2.多功溫度控制系統總體分析與設計 2.1 溫度控制系統的組成和工作原理 多功能溫度控制系統能是以8051單片機作為核心,周邊設備使用DS18B20型單線智能溫度傳感器、液晶顯示芯片74HC00、繼電器及其驅動電路、紅、藍色發(fā)光二極管、蜂鳴器、電加熱器、直流電機風扇等。經DS18B20采集到的數字量與用戶設定的溫度值進行比較,即可得到現場溫度和設定溫度的偏差。用戶設定值由鍵盤輸入。由8051單片機構成的數字控制器按最小拍進行運算,計算出所需要的控制量。數字控制器的輸出經標度變換后送給8051內部定時計數器轉變?yōu)楦叩碗娖降牟煌?/p>
14、持續(xù)時間,送至繼電器及其驅動電路,觸發(fā)晶閘管并改變其導通角大小,從而控制電加熱器的加熱電壓,起到控溫的作用。 系統基本硬件結構框圖如圖2—1—1所示。其功能和原理如下: (1)8051:負責中心運算和控制,協調系統各個模塊的工作。 (2)溫度溫度傳感器DS18B20:負責溫度與數字量的轉化。其精度可精確到小數點后四位。 (3)功率模塊:采用隨機型固態(tài)繼電器控制加熱設備的方式。隨機型固態(tài)繼電器采用低電壓輸入方式,一般為DC3~10V,用可控硅做輸出器件。這樣控制部分與大功率部分實現隔離,可抑制干擾。 圖2—1—1系統基本硬件結構框圖 (4)人機交互模塊
15、:用4X1鍵盤和液晶顯示器構成友善的人機交互界面。 (5)抗干擾模塊:使用看門狗芯片X25045,其看門狗功能將對系統起到有效的監(jiān)視作用,內含512B串行E2PROM,具有掉電非易失特性,在本系統中做數據備份用。 (6)紅、藍色LED,蜂鳴器:負責系統的報警功能。當溫度超過用戶設定的上、下限值時系統將報警。LED燈在單片機的控制下點亮,同時蜂鳴器發(fā)出報警聲,通知用戶采取相應的措施。 2.2 溫度采集轉換系統 在設計此類系統時,傳統的方法是通過熱敏電阻或模擬集成溫度傳感器采集溫度的模擬量,再用A/D器將轉換后的數字量送給單片機,這些方案的主要缺點是精度差,(例如典型的模擬集成溫度
16、傳感器AD590的精度僅為0.5℃)并且因為采用了A/D轉換器使電路過于復雜。基于簡化電路,提高性價比的考慮,本設計采用集成化智能型溫度傳感器DS18B20完成現場溫度的采集。系統電路圖如圖2—2—1所示 圖2—2—1溫度轉換采集系統電路圖 DS18B20是美國DALLAS公司生產單線智能溫度傳感器,其采用DALLAS公司獨特的“單線(1—Wire)總線”專有技術,通過串行通信接口(I/O)直接輸出被測溫度值(9~12位二進制數據,含符號位)。其工作在在12位模式下時,所對應的溫度分辨力高達0.0625℃。溫度/數字轉換時
17、間的典型值為93.75ms。 根據定義,單線總線只有一根線,這意味著總線上每個器件只能分時驅動單線總線,并要求每個器件必須有漏極開路輸出或三態(tài)輸出的特性。 DS18B20的單線接口I/O就屬于漏極開路輸出。在單線總線上必須接上拉電阻,其電阻值約為5KΩ(標稱值可取5.1 KΩ或4.7 KΩ)。當單線總線上掛有多個從屬器件時,也稱之為多點總線。 單線總線雜空閑狀態(tài)下呈高電平。操作單線總線時,必須從空閑狀態(tài)開始。單線總線加低電平的轉換時間超過480us時,總線上所有的器件均被復位。在主CPU發(fā)出復位脈沖后,從屬器件就發(fā)出應答脈沖(PRESENCE
18、PULSE),來通知主CPU它已經作好了接收數據和命令的準備工作。 DS18B20與微處理器的電路接法如圖2—2—2所示: 寄生電源接法 外部電源接法 圖2—2—2 DS18B20與微處理器連接圖 而傳統溫度采集轉換系統則通過溫度傳感器集成芯片將溫度變化量轉換成電流值變化量,輸入放大電路轉換為電流變化量,再輸入ADC0809將模擬信號轉換為數字信號。利用單片機采集并存儲采集到的數據。系統電路圖如下圖2—2—3所示。 圖2—2—3傳統溫度采集轉換系統電路圖 2.3 升降溫控制系統 本系統使用DDC控制技術。DDC控制
19、是當現場溫度在用戶設定的上、下限溫度范圍內時,加熱器或降溫器的工作隨著溫度接近臨界值而相應調整的一種控制方式,通常所說的DDC段一般定為5℃,當溫度變化超出這個范圍時,加熱器或降溫器被控制為DDC控制,一般有下面二種控制方式:時間DDC型、電流DDC型,DDC控制能消除"開關"型控制產生的鋸齒波形,減少對電網的沖擊,如圖2—3—1的DDC控制一般不用在負載變化范圍較大而控制精度又較高的場合。 圖2—3—1 DDC控制下的現場溫度曲線 此系統由繼電器及其驅動電路,直流電機風扇,散熱片及電加熱器組成,完成溫度的升降。利用繼電器及其驅動電路,直流電機風扇相組合可實現風扇的轉速
20、控制,驅動電路實際上是一個復雜的放大電路,如圖2—3—2所示: 圖2—3—2繼電器及其驅動電路電路圖 連接到直流電機風扇后,轉動方向是由電壓來控制的,電壓為正則正轉,電壓為負則反轉。轉速大小則是由輸出脈沖的占空比來決定的,正向占空比越大則轉速越快,反向轉則占空比越小轉速越快。見下面圖2—3—3: 圖2—3—3直流電機風扇控制脈沖圖 在程序設計中用P1.4控制送出脈沖。P1.4為“1”時,輸出12V;P1.4為“0”時,輸出0V。用輸出脈沖后的延時時間來決定輸出電壓值,具體的情況將在第三章中說明。 2.4鍵盤顯示系統
21、 本系統的用戶界面利用人機工程學原理,運用系統科學理論和系統科學方法進行設計,使其能夠適合操作者的應用需求。LCD的應用使操作者能夠用容易理解的方式顯示控制系統的當前狀態(tài)和操作者關心的信息,例如當前時間、當前溫度、上限溫度、下限溫度。系統給操作者提供容易理解和充分的信息提示,以方便操作者的正確使用。同時,還考慮了用戶操作界面有較好的容錯能力,提高了系統的整體綜合能力。系統的連接圖如圖2—4—1所示。 圖2—4—1鍵盤顯示系統電路圖 本設計由74HC00芯片控制的4鍵鍵盤和液晶顯示器組成,以實現用戶的輸入與數據輸出。第一個鍵的作用是配合第三個鍵(
22、加1)和第四個鍵(減1)對進行時間設定,第二個鍵的作用是配合第三個鍵(加1)和第四個鍵(減1)對上、下限溫度進行設定。 2.5報警系統 報警系統由聲報警和光報警組成。聲報警通過P1.6接控制愛迪克系統的音效模塊發(fā)聲,用單片機控制P1.6產生一定頻率的方波就可以實現音效模塊的發(fā)聲。音效模塊是一個帶有揚聲器的放大電路。其電路圖如圖2—5—1所示。 圖2—5—1報警系統(聲報警)電路圖 光報警由1個紅色發(fā)光二極管和1個藍色發(fā)光二極管組成,一共需要2根數據線,使用單片機直接控制。要實現的功能是在第一種工作模式下時,當現場溫度高
23、于用戶設定的上限溫度時,紅色發(fā)光二極管點亮;當現場溫度低于用戶設定的下限溫度時,藍色發(fā)光二極管點亮。在第二種工作模式下,保持恒久熄滅狀態(tài)。其電路圖如圖2—5—2所示。 圖2—5—2報警系統(光報警)電路圖 2.6電源系統 電源的濾波、保護電路對電源有重要的意義,系統能否安全使用,很大程度上取決于電源的穩(wěn)定和保護。本設計使用4個二極管構成的橋式整流電路為其整流電路,如圖2—6—1所示。濾波電路選用電容濾波,穩(wěn)壓選用三穩(wěn)壓塊7805和7812,此電路簡單適用。繼電器和直流電機風扇用到12V電源,單片機等使用+5V電源。
24、 本電源系統由U1(7805)、U2(7812)和發(fā)光二極管LED及相關阻容元件構成,其中U1輸出穩(wěn)定的5V電壓,U1輸出穩(wěn)定的12V電壓。發(fā)光二極管在這里作為電源指示,R3為LED的限流電阻。C8,C9,C10,C11為電源濾波電容。 圖2—6—1電源系統電路圖 2.7 硬件電路設計 2.7.1 系統硬件配置 采用總線型結構的設計。由P0口作數據線,P0口和P2口共同作地址線。 2.7.2 主要元件簡介 8051單片機 8051是Intel公司于80年代初推出的8位嵌入式微控制器(內部數據總線為
25、8位,外部數據總線為8位),它與MCS-96系統中的其它芯片相比,具有性能高、功能全、售價低廉、使用方便(48PINDIP)等優(yōu)點。8051在工業(yè)應用方面有許多明顯的特點,它具有靈活方便的8位總線外圍支援器擴展功能,而在數據處理方面又有8位微機的快速功能。由于大的高度集成化已把許多常駐用的輸入檢測輸出控制通道都制作在同一塊硅片上,大大地靈活了外部連線,增強了系統的穩(wěn)定性并且速度快(時鐘12MHz),非常適合于工業(yè)環(huán)境下安裝使用。因此本系統CPU選用8051芯片。 8051單片機引腳采用40雙列直插式封裝結構。其引腳圖如圖2—7—1所示。8051CPU中的主要元件有:高速寄存器陣列、特殊功能寄
26、存器(SFR)、寄存器控制器和算術邏輯單元(RALU)。它與外部通訊是通過特殊功能寄存器SFR或存儲器控制器進行的。8051CPU的主要特色是體積小,重量輕,抗干擾能力強,售價低,使用方便。此外,通過SFR還可以直接控制I/O、A/D、PWM、串行口等部件的有效運行。 CPU內部的一個控制單元和兩條總線寄存器陣列和EALU連接起來。這兩條總線是:16位地址總線(A-BUS)和8位數據總線(D-BUS)。數據總線僅在RALU與寄存器陣列或SFR之間傳送數據,地址總線用作上述數據傳送的地址總線或用作與寄存器控制器連接的多路復用地址/數據總線。CPU對片內RAM訪問是直接訪問和通過寄存器R0,R1
27、間接訪問的。 8051工作時所需的時鐘可通過其XTALL輸入引腳由外部輸入,也可采用芯片內部的振蕩器。8051的工作頻率為6~12MHz。在本系統中采用11.0592MHz頻率。 圖2—7—1 8051單片機引腳圖 8051每次上電時必須復位。所謂復位,就是讓單片機應用系統在正式工作之前處于一種特定狀態(tài),即正式工作前的起點,這個任務就是由復位電路來完成。8051單片機在引腳RESET/Vpp出現高電平時實現復位和初始化。RESET由高電平變低電平后,單片機從0000h地址開始執(zhí)行程序,其初始復位不影響內部RAM的狀態(tài),包括工作寄存器R7~R0。在正常運行的情況下,要實現復位操作,必須
28、使RESET引腳至少保持兩個機器周期的高電平。CPU在第二個機器周期內執(zhí)行內部復位操作,以后每一個機器周期重復一次,直至RESET端電平變低。復位期間不產生ALE及PSEN信號。8051的內部結構框圖如圖2—7—2所示。 圖2—7—2 8051單片機內部結構框圖 2. 1602液晶顯示器 液晶顯示器以其微功耗、體積小、顯示內容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應用系統中得到越來越廣泛的應用。 本設計使用的字符型液晶模塊是一種用5x7點陣圖形來顯示字符的液晶顯示器,容量為1行2行16個字。 1602采用標準的16腳接口,其中VS
29、S為地電源,VDD接5V正電源,V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,可通過一10KΩ的電位器調整對比度。RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。D0~D7為8位雙向數據線。 1602液晶模塊內部的字符發(fā)生存儲器(CGROM)存儲了160個點陣字符圖形
30、, 如圖2-7-1所示,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。 1602液晶模塊內部的控制器共有11條控制指令,如表2—7—1所示: 表2—7—1 1602液晶模塊指令表 指令 S /W 7 6 5 4 3 2 1 0 清顯示 0 0 0 0 0 0 0 0 0 1 光標返回 0 0 0 0 0 0 0 0
31、 1 * 置輸入模式 0 0 0 0 0 0 0 1 /D S 顯示開/關控制 0 0 0 0 0 0 1 D C B 光標或字符移位 0 0 0 0 0 1 /C /L * * 置功能 0 0 0 0 1 L N F * * 置字符發(fā)生存儲器地址 0 0 0 1 字符發(fā)生存儲器地址(ACG) 置數據存儲器地址 0 0 1 顯示數據存儲器地址(ADD) 讀忙標志或地址 0 1 F 計數器地址(AC) 寫數到CGRAM或DDRRAM 1 0 要寫的數據 從CGRA
32、M或DDRRAM 1 1 讀出的數據 1602液晶模塊的讀寫操作、屏幕和光標的操作都可以通過指令編程來實現。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置 指令2:光標復位,光標返回到地址00H 指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍 指令5:光標或顯示移位
33、 S/C:高電平時移動顯示的文字,低電平時移動光標 指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符 指令7:字符發(fā)生器RAM地址設置 指令8:DDRAM地址設置 指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。 指令10:寫數據 指令11:讀數據 1602液晶顯示模塊可以和單片機8051直接連接,電路如圖2—7—3所示。 圖2—7—31602液晶模塊與8051單片機連接圖 液晶顯示模塊是一個慢顯示
34、器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。 1602的內部顯示地址。 表2—7—2 1602液晶模塊內部顯示地址圖 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 2 40 41 42 43 44 45 46 47
35、 48 49 4A 4B 4C 4D 4E 4F 比如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數據應該是01000000B(40H)+10000000B(80H)=11000000B(C0H) 以下是在液晶模塊的第二行第一個字符的位置顯示字母“A”的程序: RS EQU P3.0 RW EQU P3.1 E EQU P3.5 ORG 0000H MOV P1,#00000001B ;清屏 ACALL ENABLE MOV P1
36、,#00111000B ;8位2行5x7點陣 ACALL ENABLE MOV P1,#00001111B ;顯示器開、光標開、閃爍開 ACALL ENABLE MOV P1,#00000110B ;文字不動,光標自動右移 ACALL ENABLE MOV P1,#0C0H ;寫入顯示起始地址(第二行第一個位置) ACALL ENABLE MOV P1,#01000001B ;字母A的代碼 SETB RS ;RS=1 CLR RW ;RW=0 CLR E ;E=0 ACALL DELAY SETB E ;E=1 AJMP $ ENABLE: CLR RS ;寫入控
37、制命令的子程序 CLR RW CLR E ACALL DELAY SETB E RET DELAY: MOV P1,#0FFH ;判斷液晶顯示器是否忙的子程序 CLR RS SETB RW CLR E NOP SETB E JB P1.7,DELAY ;如果P1.7為高電平表示忙就循環(huán)等待 RET 程序在開始時對液晶模塊功能進行了初始化設置,約定了顯示格式。注意顯示字符時光標是自動右移的,無需人工干預,每次輸入指令都先調用判斷液晶模塊是否忙的子程序DELAY,然后輸入顯示位置的地址0O0H,最后輸入要顯示的字符A的代碼41H。 3. DS18B20數字溫度
38、傳感器 DS18B20數字溫度計是DALLAS公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。 一、DS18B20的性能特點 (1)DS18B20采用DALLAS公司獨特的“單線(1-Wire)總線”專有技術,通過串行通信接口(I/O)直接輸出被測溫度值(9位二進制數,含符號位)。 (2)測溫范圍是—55~+125℃。其分辯力為0.5℃,但若采用高分辨力模式,分辯力可達0.1℃。溫度/數字量轉換時間的典型值為200ms,最大值為500 ms。 (3)內含64位經過激光
39、修正的只讀存儲器ROM,扣除8位產品系列號和8位循環(huán)冗余校驗碼CRC之后,產品序號占48位。出廠前就作為DS18B20唯一的產品序號,存入其ROM中,在構成大型溫控系統時,允許在單線總線上掛接多片DS18B20。 (4)適配各種單片機或系統機。 (5)用戶可分別設定各路溫度的上、下限并寫入隨機存儲器RAM中。利用報警搜索命令和尋址功能,可迅速識別出發(fā)生了溫度越限報警的器件。 (6)內含寄生電源。該器件既可以由單線總線供電,也可選用外部+5V電源(允許電壓范圍是3.4~5.5V),進行溫度/數字轉換時的工作電流約為1.5 mA,待機電流僅為25uA,典型功耗為5mW。 二、DS18B20
40、的引腳介紹 PR—35封裝的DS18B20的引腳排列圖2—7—4,其引腳功能描述見表2-7-1。 圖2—7—4 DS18B20的引腳排列圖 DS18B20詳細引腳功能描述 序號 名稱 引腳功能描述 1 GND 地信號 2 DQ 數據輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。 3 VDD 可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。 表2—7—3 DS18B20引腳功能描述圖 三、DS1820的工作原理 DS1820的內部結構如圖2—7—5所示。由圖2—7—5可知,DS18
41、20由三個主要數字器件組成:① 64bit閃速ROM;②溫度傳感器;③非易失性溫度報警觸發(fā)器TH和TL。64bit閃速ROM的結構如圖2—7—6所示 圖2—7—5 DS1820內部結構圖 圖2—7—6 DS1820內部的64bit閃速ROM結構圖 它既可寄生供電也可由外部5V電源供電。在寄生供電情況下,當總線為高電平時,DS1820從總線上獲得能量并儲存在內部電容上當總線為低電平時,由電容向DS1820供電。 DS1820的測溫原理:內部計數器對一個受溫度影響的振蕩器的脈沖計數,低溫時振蕩器的脈沖可以通過門電路,而當到達某一設置高溫時振蕩器的脈
42、沖無法通過門電路。計數器設置為-55℃時的值,如果計數器到達0之前,門電路未關閉,則溫度寄存器的值將增加,這表示當前溫度高于-55℃。同時,計數器復位在當前溫度值上,電路對振蕩器的溫度系數進行補償,計數器重新開始計數直到回零。如果門電路仍然未關閉,則重復以上過程。溫度表示值為9bit,高位為符號位,其結構如下: 對DS1820的使用,多采用單片機實現數據采集。處理時,將DS1820信號線與單片機一位口線相連,單片機可掛接多片DS1820,從而實現多點溫度檢測系統。 系統對DS1820的操作以ROM命令和存儲器命令形式出現。 (1)ROM命令代碼及其含義 ?READR
43、OM命令代碼[33H]:如果只有一片DS1820,可用此命令讀出其序列號,若在線DS1820多于一個,將發(fā)生沖突。 ?MATCHROM命令代碼[55H]:多個DS1820在線時,可用此命令匹配一個給定序列號的DS1820,此后的命令就針對該DS1820。 ?SKIPROM命令代碼[CCH]:此命令執(zhí)行后的存儲器操作將針對在線的所有DS1820。 ?SEARCHRDH命令代碼[F0H]:用以讀出在線的DS1820的序列號。 ?ALARMSEARCH命令代碼[ECH]:當溫度值高于TH或低于TL中的數值時,此命令可以讀出報警的DS1820。 (2)存儲器操作命令代碼
44、及其含義 ?WRITESCRATCHPAD命令代碼[4EH]:寫兩個字節(jié)的數據到溫度寄存器。 ?READSCRATCHPAD命令代碼[BEH]:讀取溫度寄存器的溫度值。 ?COPYSCRATCHPAD命令代碼[48H]:將溫度寄存器的數值拷貝到EERAM中,保證溫度值不丟失。 ?CONVERT命令代碼[44H]:啟動在線DS1280做溫度A/D轉換。 ?RECALL EE命令代碼[B8H]:將EERAM中的數值拷貝到溫度寄存器中。 ?READPOWERSUPPLY命令代碼[B4H]:在本命令送到DS1280之后的每一個讀數據間隙,指出
45、電源模式:“0”為寄生電源;“1”為外部電源 四、DS18B20的使用方法 由于DS18B20采用的是1-Wire總線協議方式,即在一根數據線實現數據的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協議,因此,我們必須采用軟件的方法來模擬單總線的協議時序來完成對DS18B20芯片的訪問。 由于DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。DS18B20有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,單總線器件作為從設備。而每一次命令和數據的傳輸都是從
46、主機主動啟動寫時序開始,如果要求單總線器件回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。數據和命令的傳輸都是低位在先。 DS18B20的復位時序 DS18B20的讀時序 對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內就得釋放單總線,以讓DS18B20把數據傳輸到單總線上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。 DS18B20的寫時序 對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要
47、被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。 X25045看門狗芯片 在微機智能測控系統的設計中,斷電數據保存功能、看門狗功能、上電掉電復位功能、電源電壓監(jiān)控功能等對系 統是非常重要的。美國Xicro公司生產的X25045芯片集上述功能于一身,這種組合大大簡化了硬件設計,提高了系統的 可靠性,減少了對印制電路板的空間要求,降低了成本和系統功耗。 X25045芯片的引腳排列如圖2—7—7所示。 圖2—7—7看門狗芯片X25045引腳圖 CS(①腳)為
48、片選輸入端,CS電平變化將復位看門狗定時器。 SO(②腳)為串行輸出端,數據由此腳輸出,串行時鐘SCK(⑤腳)的下降沿同步輸出數據?!? WP(③腳)為寫保護輸入端,當WP為低電平時,X25045的非易失性寫操作被禁止,其它功能正常,WP為高電平時所有功能正常。 SI(⑥腳)為串行輸入端,所有寫入的數據、操作碼、字節(jié)地址在此腳上輸入,數據由串行時鐘的上升沿鎖存。 RESET(⑦腳)為復位輸出端,高電平有效,漏極開路輸出方式。用于電源檢測和看門狗定時器?!? Vss(④腳)為接地端?!? Vcc(⑧腳)為電源正端,X25045芯片的電源電壓有兩種規(guī)格,一種是4.5V至5.
49、5V,另一種是2.7V至5.5V?!? X25045芯片有4K位串行E2PROM;可編程的看門狗定時器;低電壓Vcc檢測;直至Vcc=1V復位輸出有效;SPI接口方式;低功耗,待機電流為10μA,工作電流為3mA,工作電壓為2.7V至5V;具有塊鎖定保護功能,可以保護1/4,1/2,或所有E2PROM陣列;片內異常事件寫保護:上電、掉電保護電路,寫鎖存,寫保護引腳;1MHz時鐘頻率;可擦寫次數為 100000次,數據保存期為100年;ESD靜電放電保護;有8引腳DIP和SOIC或14引腳TSSOP封裝三種形式;高電平復位信號 輸出。 X25045共有6條指令,如表2—7—4所示。所有指
50、令都以MSB(最高有效位)2在前方式傳送。讀寫指令中3位的A8是高位地址,此位用于選擇器件的上半部或下半部。 表2—7—4 X25045指令表 X25045內部的狀態(tài)寄存器格式、 表2—7—5 X25045內部狀態(tài)寄存器格式表 D7 D6 D5 D4 D3 D2 D1 D0 X X WD1 WD0 BL1 BL0 WLE WIP WIP位表示X25045是否忙于向E2PROM寫數據。該位是只讀位,WIP為0表示沒有寫操作在進行,可向E2PROM寫數據;WIP為1時表示正在進行寫操作,此時不能向E2PROM寫數據?!? WEL位
51、表示寫使能鎖存器的狀態(tài)。該位是只讀位,由 WRDI指令復位,寫使能鎖存器被復位時向E2PROM寫操作被禁止?!? WRSR指令可以對狀態(tài)寄存器中非易失性位BL1、BL0、WD1、WD0進行設置。BL1和BL0位確定E2PROM的塊保護地址范圍,被保護地址范圍與這兩位的關系如表2—7—6所示。 表2—7—6 BL1和BL0位與被保護地址范圍關系表 WD1和WD0位是看門狗定時器超時選擇的設定位,超時選擇如表2—7—7所示。 表2—7—7 WD1和WD0位與看門狗定時值關系表
52、 三軟件系統設計 3.1軟件總體設計 軟件設計是為了滿足系統功能的需要。其總體流程圖如圖3—1—1所示: 圖3—1—1軟件總體流程圖 本系統的軟件設計采用了模塊化設計方法,對每一個功能編寫了一個或幾個功能函數,下表3—1—1說明了功能所對應的函數。 表3—1—1本設計各項功能所對應的功能函數 功能 函數 主函數 void main(void) 聲音警報、提示音 void sound(short) LED燈報警 void led(void) 用戶數據輸入 void in8051
53、(short *p) 延時 void delay(int) DDC降溫 void cool(short) 液晶顯示 void display(short,short) 采樣轉換溫度 Short ds18b20(void) 設定系統工作模式,系統初始化 short getmode(void) A模式下的溫度控制 void control(short,short) 3.2系統初始化函數 系統初始化函數主要完成系統的初始化和設定系統的工作狀態(tài)。它的工作步驟是: (1)系統啟動時,液晶顯示器的時間顯示為“00—00—00”,當前溫度顯示為當前的環(huán)境溫度值,用戶設定
54、的上、下限溫度默認為30℃和10℃。表示系統已經正常啟動,可以工作。 (2)等待用戶設定工作模式。用戶可通過第一個鍵選擇設定時間,然后配合使用第三個鍵(加1)和第四個鍵(減1)對進行時間設定;也可通過第二個鍵選擇設定上、下限溫度,然后配合第三個鍵(加1)和第四個鍵(減1)對上、下限溫度進行設定。當設定的上、下限溫度為同一值時進入第一種工作模式,當設定的上、下限溫度為不同值時進入第二種工作模式。 程序的流程圖如下圖3—2—1所示: 圖3—2—1系統初始化程序流程圖 3.3 控制函數 控制函數是決定系統將要進行什么工作的。如溫度高于上限時需要降溫,低于下限時需要升溫,溫度
55、過高時啟動報警等等。在系統的1模式下專有一個控制函數,名為void control(short i,short j)。實際上主函數也算的上一個控制函數,其C模式的控制方式和control()函數類似,只不過比control()函數更加完善些??刂坪瘮档牧鞒滩捎梅种ЫY構設計,程序流程如圖3—3—1所示。 圖3—3—1控制程序流程圖 3.4鍵盤顯示函數 第一個鍵的作用是選擇設定時間,可配合使用第三個鍵(加1)和第四個鍵(減1)對進行時間設定;第二個鍵的作用是選擇設定上、下限溫度,可配合第三個鍵(加1)和第四個鍵(減1)對上、下限溫度進行設定
56、。 程序的流程圖如下圖3—4—1所示: 圖3—4—1 按鍵處理子程序流程圖 3.5降溫函數 降溫函數是實現溫度控制比例控制方式的重要環(huán)節(jié),體現了整個系統的先進性。函數名為void cool(short i),其中i為主函數中給定的參數,參數值等于實際溫度與上限溫度的差。當(實際溫度-上限溫度)>0時,cool()函數將啟用控制直流電機風扇,根據差值的大小決定風扇的轉速。根據2.3小節(jié)中說明的那樣,驅動電路的輸出電壓和輸入脈沖的占空比有關,可根據參數i的值來決定占空比。cool()函數使用脈沖信號在正方向的延時時間和在負方向的延時時間的比值來決
57、定占空比。另外說明以下本系統使用的風扇占空比越小轉速越快,也就是反轉。 如下程序: j=10000;//保持一個加到勻速的時間 while(j>0) {//比值大,轉速小 P1_1=1; delay(21-3*i);//電壓關系 P1_1=0; delay(1); j--;} 占空比=delay(21-3*i):delay(1) 21-3i這個公式是經過反復實驗得出的。首先這個公式滿足參數i越大占空比越小,并且實際測量的電壓區(qū)間也滿足風扇電壓的需要。 i由1到7的參數占空比和電壓的關系表
58、 3—5—1占空比和電壓關系表 參數i 電壓(伏特) 占空比 1 5.12 26 2 5.63 22 3 6.11 18 4 6.74 14 5 7.54 10 6 8.56 6 7 9.92 2 實際上在參數i為1、2時風扇的轉速不理想,所以使用了3及其之后的參數值,當0
59、恒溫-升溫-恒溫-降溫-恒溫-降溫”7個過程,如采用順序結構代碼的重復率將會很高,可以設計使用循環(huán)完成。 圖3—6—1 溫度控制曲線圖 可將7個過程分成圖中的4段,每段都包括一個升溫或降溫過程和一個恒溫過程。恒溫過程使溫度保持恒定,高于恒定溫度啟動降溫設備,低于恒定溫度啟動升溫設備,同時使用計時器計時,本系統恒溫時間為60秒。 編寫一段4次的循環(huán)完成該功能,代碼如下: for (i=0;i<4;i++)//4個過程:溫度變化+恒溫.i case 0,1升.2,3降 {numstart; //開始計時 if (i<2)
60、{do 升溫 while(溫度<界限[i]);} else {do 降溫while(溫度>界限[i]);} if (i<3) do 恒溫 while(60秒以內); numend; //結束計時} 3.7采樣 為了滿足曲線的技術指標,對系統的采樣方式進行了改進。一般的溫度控制程序采樣是根據系統的速度采樣或是延時采樣,前者會使系統反復振蕩。例如溫度升高時由27度到28度,系統會由27度到28度來回振蕩,從液晶顯示器上根本看清顯示的是什么。如果使用打印機將十分可怕,系統將始終打印而不做其它工作。雖然使用采樣延時可以緩解這種情況,但延時的時間過長會影響控
61、制,因為延時時間是占用CPU的,延時時間內什么工作也做不了。通??吹降默F象是系統不連續(xù)工作,例如系統處于降溫過程,但風扇不連續(xù)旋轉,而是一會停一會轉。并且采樣的時間沒有單位,滿足不了溫度曲線的要求。 解決這個問題的根本方法是采用定時采樣的方法。具體方法是使用計時器計時,每到特定的時間采樣一次,例如本系統是每隔2秒采樣一次。采樣后根據采樣結果再采取方案,采樣以外的時間來實施方案。由于采樣的時間非常短,用戶是感覺不到系統停頓的。更為重要的是采樣時間有了單位,這樣曲線的縱軸(溫度)、橫軸(時間)都有了單位,滿足了曲線的技術指標。 采樣的代碼如下: if (sec%2==0&&k==0)
62、 { t_last=t; t=adc0809(); control(tt[i],t); print(t_last,t); k=1; } 變量k的作用是每到2的倍數秒時保證只取樣一次,否則在這一秒之內將連續(xù)采樣。 時間函數 時鐘的基本顯示原理:時鐘開始顯示為0時0分0秒,也就是液晶顯示器顯示000000,然后每秒秒位加1,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分鐘加1,10秒位回0。依次類推,時鐘最大的顯示值為23小時59分59秒。這里只要確定了1秒的定時時間, 其他位均以此為基準往上累加。開始程序定義了秒,
63、十秒, 分, 十分,小時, 十小時,共6位的寄存器, 分別存在30h,31h,32h,33h,34h,35h單元,便于程序以后調用和理解。 結 論 本次畢業(yè)設計使我受益匪淺,不但了解了8051型單片機及其相關芯片的系統結構、工作原理,還學會了單片機C語言的設計方法。對今后走上工作崗位打下了良好的基礎。 本系統采用了符合溫度控制需要的DDC控制方法,有效的減小了所控溫度的振蕩。對數據的每一次轉化過程都保持了科學嚴謹的態(tài)度。其兩種工作模式能夠滿足多數設備溫度控制的需要,尤其是溫度曲線的設計采用了循環(huán)算法、改進了采樣原理。還增加了液晶顯示功能,將系統的實用型大大提高。人性
64、化的設計理念始終貫穿系統設計的全過程,對用戶的每一步操作都有相應的提示。 由于時間的倉促,系統還有許多不完善之處。個人還有不少想法沒有應用到系統設計中去。例如:提高數據的精度,將數據精度提高到小數點后五位;可更好的解決溫度保持在絕對恒定溫度值。 總體來說這次所設計的溫度測控系統符合技術指標,能夠達到預期的目標。 致 謝 此次畢業(yè)設計是在朱愛軍導師的精心指導及全力支持下完成的。本系統的設計成功全賴朱老師毫不吝惜的把所有的相關知識教授于我。朱老師對新知識、新事物有獨到的理解,這也影響了我對知識的學習態(tài)度,將使我一生受益匪淺。同時還要感謝在很多模塊設計上指導過
65、我的黃新導師。朱老師對單片機有著非常獨到的見解和想法,黃老師對單片機的知識十分全面,他們一絲不茍的態(tài)度和認真負責的教導同樣給了巨大的收益和鼓舞。這些將使我畢生受用! 最后,再次感謝本次畢業(yè)設計的所有導師,是你們用辛勤的勞動、無私的奉獻換來了我們巨大的進步。感謝各位同學對我的幫助,只有我們不斷的學習,明天才會更加美好 參考文獻 1.翟生輝, 馮毛官.單片計算機原理與應用[M].西安交通大學出版社,1995 2.何立民.單片機應用技術選編1-7[M].北京航天航空大學出版社,1992
66、
3.竇振中.單片機外圍器件實用手冊[M].北京航天航空大學出版社,2003
4.公茂法.單片機人機接口實例集[M]. 北京航天航空大學出版社,1998
5.趙佩華.單片機接口技術及應用[M].機械工業(yè)出版社,2003
6.高海生,楊文煥.單片機應用技術大全[M].西南交通大學出版社,1996.10
7.郁有文,常健.傳感器原理及工程應用[M].西安電子科技大學出版社,2003
8.蘇鐵力.傳感器及其接口技術[M].中國石化出版社,1998
9.Hafted, M.M,Roberts, G.W.Techniques for high-frequency integrated test and measurement[J].Instrumentation and Measurement,2003,52(6):1780—1786
系統源程序
#include
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。