(完整word版)基于PID的恒溫箱溫度控制系統(tǒng)設計_第1頁
(完整word版)基于PID的恒溫箱溫度控制系統(tǒng)設計_第2頁
(完整word版)基于PID的恒溫箱溫度控制系統(tǒng)設計_第3頁
(完整word版)基于PID的恒溫箱溫度控制系統(tǒng)設計_第4頁
(完整word版)基于PID的恒溫箱溫度控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于PID的恒溫箱溫度控制系統(tǒng)設計2008屆)2008年6月摘要本設計是恒溫箱溫度控制系統(tǒng)設計。 可供各類實驗室、 醫(yī)療機構(gòu)、食品加工、 生產(chǎn)部門等使用。 在周圍溫度不斷變化條件下, 使用恒溫箱, 可以使一定范圍的 溫度恒定在特定溫度下,從而適應生活和工作??刂频臏囟确秶鸀?501200C 。 恒溫箱可以在線設定溫度,并對溫度進行實時數(shù)碼顯示。設計內(nèi)容包括硬件和軟件兩個部分。硬件主要由AT89S52單片機、DS18B20 數(shù)字溫度傳感器、 8155 片外存儲器、繼電器, LED 數(shù)碼管和報警器等組成。電 原理圖包括數(shù)據(jù)采集、溫度顯示、鍵盤設定、溫度控制和復位電路等幾個模塊。軟件部分主要對 PI

2、D 算法進行了數(shù)學建模和編程。 本設計由鍵盤電路輸入設定溫度信號給單片機, 溫度信號采集電路采集現(xiàn)場 溫度信號給單片機, 單片機根據(jù)輸入與反饋信號的偏差進行 PID 計算,輸出控制 信號給加溫控制電路, 實現(xiàn)加溫和停止。 當實際溫度比設定溫度大 2 攝氏度以上 時,則清 P1.3 輸出口,從而停止對電阻絲的加熱。當實際溫度比設定溫度小 2 攝氏度以上時,取 PID 的最大值,實現(xiàn)全功率輸出。在它們之間時,實現(xiàn) PID 算法控制, 控制可控硅的接觸時間, 調(diào)節(jié)電阻絲功率。 顯示電路實現(xiàn)現(xiàn)場溫度的 實時監(jiān)控。軟件部分 ,采用 PID 控制和時間最優(yōu)控制相結(jié)合的控制方案,實現(xiàn)了控 制速度快、 超調(diào)小

3、、線性控制精度高和實現(xiàn)成本低等的優(yōu)點。 硬件部分采用單 片機來實現(xiàn)溫度控制,不僅具有控制方便、簡單、靈活等優(yōu)點,而且可以大幅 度的提高被控溫度的技術指標,從而大大提高產(chǎn)品的質(zhì)量。 關鍵詞:恒溫控制,單片機,數(shù)字 PID 算法ABSTRACTThe system of this design is the temperature controller of a constant temperature box.Can be provided as each kind of laboratory, medical treatment organization, food processing an

4、d produce the section etc. usage.Under the condition that the surroundings temperature continuously change, the usage constant temperature box, can make the temperature maintaining of the certain scope settle under the particular temperature, thus adapt the life and works.The temperature scope of th

5、e control is 50-120, The constant temperature box can with on-line enactment temperature, and carry on the solid hour to the temperature figures manifestation.When be placed in to setthe appearance, figures tubemanifestation enactment temperature, circulate, manifestation actual temperature.Design c

6、ontent including hardware and software two parts. The hardware mainly by at89S52 monolithic integrated circuit, the DS18B20 digit temperature sensor, 8155 piece of external memory, the relay, the LEDnixietube and the alarm apparatus and so on is composed. Electricity schematic diagram including data

7、 acquisition, temperature demonstration, keyboard hypothesis, temperature control and reset circuit and so on several modules. The software part mainly has carried on mathematics modelling and the programming to the PID algorithm.The circuit design of the keyboard input from the set temperature sign

8、al to the microcontroller, Temperature Signal Acquisition Circuit collect temperature signal to the microcontroller, According to SCMinput and feedback signal, the error for PID, the outputcontrol signals to the heating control circuit, Heating and achieve stop. Showcircuit scene of the real-time mo

9、nitoring of temperature. Whenactual temperature compares to set temperature big more than 2 degrees , then the pureexportation, thus stop to electric resistance silk of heating.When the actual temperature compares to set smaller than 2 degrees , taking the PID biggest value, carrying out the whole p

10、ower exportation.among the two , carry out the PID calculate way control, control contact time that controvable silicon , regulate the electric resistance silk power.thatspeedof the temperature,raisesoftware part, the adoption PID control and the control project time superior control combine togethe

11、r, carried out to control the quick, super adjust small, line control the accuracy is high and carry out the cost advantage of low etc.The hardware part adopts a machine to carry out the temperature control, not only have the control convenience, simple, vivid etc. advantage, and can is control with

12、 the significant exaltation the technique index sign the quantity of the product thus and consumedly.PID ,algorithm, MATLABKeywords:Temperature,control,microcontroller,目錄緒論把溫度作為被控參數(shù)進行研究無論在工業(yè)生產(chǎn),還是在日常生活中, 都已 經(jīng)變得非常適用和廣泛了。 在工業(yè)生產(chǎn)中, 例如冶金工業(yè)、化工生產(chǎn)、 電力工程、 食品加工、 機械制造、醫(yī)療以及科研研究室等, 人們對需要對溫度進行監(jiān)測和控 制;而日常生活中的家用電器如電烤

13、箱、微波爐、烘干箱、保溫箱等等,也是我 們不可或缺的。 因此,就恒溫箱的研究就有極其重要的現(xiàn)實意義。 本設計系統(tǒng)主要由AT89S52單片機、8155片外存儲器、繼電器、27128片外存儲器和 DS18B20 數(shù)字溫度傳感器等組成。電原理圖包括數(shù)據(jù)采集、 BCD 碼轉(zhuǎn)換和溫度顯示、鍵 盤設定、溫度控制和復位電路等幾個模塊。通常,采用單片機系統(tǒng)來實現(xiàn)對溫度的控制,不僅具有控制方便、簡單、靈 活等優(yōu)點,而且可以大幅度的提高被控溫度的技術指標。在本設計中,需要達到以下幾點技術要求:(1)(2)(3)(4)(5)控制溫度范圍50-1200C,控制精度為2C 。溫度采集數(shù)字量輸入。 鍵盤按鍵輸入,具有設定

14、功能。 顯示功能,數(shù)碼管顯示設定值及當前所測溫度值。具有超溫報警功能。 本課題應該解決的問題: 在設計過程中, 對硬件選型時一定要注意控制精度。 所選用的芯片必須達到 我們設計任務書中的精度要求。 顯然,恒溫箱的微機系統(tǒng)的設計是一個閉環(huán)控制 系統(tǒng),雖然可以到達一定的精度,但是仍然有極限。第一章方案設計分析核心設計內(nèi)容是硬件和軟件部分, 硬件是基礎, 在軟件設計中, 分析清楚各 個功功能模塊,如主程序,中斷服務程序,以及包含在中斷程序中的數(shù)據(jù)采集, PID 控制,溫度顯示子程序??刂颇K的選擇, 數(shù)字比較器與模擬控制器相比較, 數(shù)字比較器具有以下幾 個優(yōu)點:1 、模擬調(diào)節(jié)器調(diào)節(jié)能力有限,當控制規(guī)

15、律較為復雜時,就難以甚至無法實 現(xiàn)。而數(shù)字控制器能實現(xiàn)復雜控制規(guī)律的控制。2、計算機具有分時控制能力,可實現(xiàn)多回路控制。3、數(shù)字控制器具有靈活性。起控制規(guī)律可靈活多樣,可用一臺計算機對不 同的回路實現(xiàn)不同的控制方式, 并且修改控制參數(shù)或控制方式一般只可改變控制 程序即可,使用起來簡單方便,可改善調(diào)節(jié)品質(zhì),提高產(chǎn)品的產(chǎn)量和質(zhì)量。4、采用計算機除實現(xiàn) PID 數(shù)字控制外,還能實現(xiàn)監(jiān)控、數(shù)據(jù)采集、數(shù)字顯 示等其他功能。綜合考慮,本設計控制模塊采用數(shù)字 PID 調(diào)節(jié)器。本系統(tǒng)是一個恒溫箱的溫度控制器。其控溫范圍是 50-120攝氏度??刂破?可以在線設定控制溫度,并對溫度進行實時數(shù)碼顯示。當系統(tǒng)處于設

16、定狀態(tài)時, 數(shù)碼管顯示設定溫度值,平時顯示實際溫度。當實際溫度與設定溫度偏差達小于 負2時,全功率加熱電阻絲,當偏差值在正負 2的范圍內(nèi)時,實行PID控制來 達到控制溫度的目的,當偏差值大于2時,停止加熱,從而達到恒溫控制的目的。 這樣的一閉環(huán)控制系統(tǒng),其控制速度快,超調(diào)小、線性控制精度高和實現(xiàn)成本低。根據(jù)上面分析,結(jié)合控制要求,總體方案確定如下為了使設計的成本低、 抗 干擾強,系統(tǒng)動態(tài)性能與穩(wěn)態(tài)性能好的前提下,設計方案的總體結(jié)構(gòu)框圖如圖1.4所示:圖1.4設計總體結(jié)構(gòu)框圖此系統(tǒng)主要有單片機系統(tǒng)、用戶接口、溫度控制電路、傳感器等組成。單片機系統(tǒng)主要用來運行控制軟件,接受溫度設定和控制指令,輸入

17、采樣溫度信 息,輸出加熱控制信號、溫度顯示數(shù)據(jù)。(1) 用戶接口包括溫度顯示,報警和按鍵三部分。由于控溫范圍為50-120攝氏 度,可以采用三位8段LED數(shù)碼管顯示。溫度超過一定的范圍報警。按鈕設 置四個,分別為設定鍵、增鍵、減鍵和移位鍵。(2) DS18B2(采集到的就是為數(shù)字信號。(3) 繼電器的接通時間來控制電阻絲的加熱功率,而繼電器的接通時間又由 P1.3上的觸發(fā) 脈沖來控制。其中我主要負責按鍵、LED顯示、溫度米集第 2 章 恒溫控制系統(tǒng)硬件設計考慮到盡量降低成本和避免與復雜的電路, 此系統(tǒng)所用到的元器件均為常用 的電子器件。而主控器采用低功耗、高性能、片內(nèi)含 8k byte 可反復

18、檫寫的 Flash、只讀程序器CMOS位單片機AT89S52溫度傳感器采用 DALLAS公司生 產(chǎn)的單總線數(shù)字溫度傳感器 DS18B20采用控制端TTL電平,即可實現(xiàn)對繼電器 的開關,使用時完全可以用 NPN 型三極管接成電壓跟隨器的形式驅(qū)動;單片機 所需要的+5V工作電源是通過220V交流電壓通過變壓、整流、穩(wěn)壓、濾波得到。 用DS18B20定時采集環(huán)境溫度存到 EEPRQM通過三個LED實時顯示采集到的溫 度值,并用此溫度與設定的溫度比較, 通過單片機對偏差進行PID運算,控制繼 電器的通斷,加熱或斷開熱敏電阻, 使溫度上升或下降, 溫度達到時斷開繼電器, 使溫度自然下降, 不夠時接通繼電

19、器加熱, 控制顯示器、 鍵盤并通過單片機來完 成鍵盤掃描與輸出動態(tài)顯示。2.1 AT89S52 單片機簡介2.1.1 AT89S52 單片機資源簡介AT89S52的結(jié)構(gòu)如圖2.1所示。由于它的廣泛使用使得市面價格較 8155、 8255、8279要低,所以說用它是很經(jīng)濟的。該芯片具有如下功能:有1個專用的鍵盤/顯示接口;有1個全雙工異步串行通信接口;有 2個16位定時/ 計數(shù)器。這樣,1個89S52,承擔了 3個專用接口芯片的工作;不僅使成本大大 下降,而且優(yōu)化了硬件結(jié)構(gòu)和軟件設計,給用戶帶來許多方便。89S52有40個引腳,有32個輸入端口( I/O ),有2個讀寫口線,可以反 復插除。所以

20、可以降低成本。主要功能特性:1)2)3)4)5)6)7)8)兼容MCS5指令系統(tǒng)32 個雙向 I/O 口線3 個 16 位可編程定時 / 計數(shù)器中斷2 個串行中斷口2 個外部中斷源2 個讀寫中斷口線低功耗空閑和掉電模式8k可反復擦寫(1000次)Flash ROM(9) 256x8 bit 內(nèi)部 RAM(10)(11)(12)(13)時鐘頻率0-24MHZ可編程UART串行通道共6個中斷源3級加密位軟件設置睡眠和喚醒功能(14)IJ1+I?IS1 .O 1 _J i, 1- ( Tr B-R P-iH 西a nd37IT3211 sT 更 TT互23UIDIHDPf1* iT392.1.2 A

21、T89S52 芯片ATe9S522.1.3 AT89S52單片機時鐘和復位電路時鐘電路單片機內(nèi)部有一個高增益反向放大器,輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片外部XTALi和XTAL?之間跨接晶體振蕩器和微調(diào)電容, 從而構(gòu)成一個穩(wěn)定的自激振蕩器。 晶體震蕩頻率高,則系統(tǒng)的時鐘頻率也高,單 片機運行速度也就快,但反過來運行速度快對存儲器的速度要求就高,對印制電aHIr iir外卜 匚二IIlfF國N2 肘鐘電路XAUSbU路板的工藝要求也高,所以,這里使用震蕩頻率為6MHZ勺石 英晶體。震蕩電路產(chǎn)生的震蕩脈沖并不直接是使用,而是經(jīng) 分頻后再為系統(tǒng)所用,震蕩脈沖經(jīng)過二分頻后才

22、作為系統(tǒng)的 時鐘信號。在設計電路板時,振蕩器和電容應盡量靠近單片 機,以避免干擾。需要注意的是:電路板時,振蕩器和電容 應盡量安裝得與單片機靠近,以減小寄生電容的存在更好的保障振蕩器穩(wěn)定、可靠的工作電路圖如圖2.2所示復位電路單片機的復位電路分上電復位和按鍵復位兩種方式。miE(a) 上電復位:在加電之后通過外部復位電路的電容充電來實現(xiàn)的。當Vcc的上升時間不超過1ms就可以實現(xiàn)自動上電復位,即接 通電源就完成了系統(tǒng)的初始化電路原理圖。RST上的電壓必須保證在斯密特觸發(fā)器的閥值電壓以上足夠長時間,滿足復位操 作的要求。(b) 按鍵復位:程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為了擺 脫困境

23、,也需按復位鍵以重新啟動。RST引腳是復位信號的輸 入端,復位信號是高電平有效。按鍵復位又分按鍵脈沖復位(圖 2.3 )和按鍵電平復位。電平復位將復位端通過電阻與Vcc相連,按鍵脈沖復位是利用RC分電路產(chǎn)生正脈沖來達到復位的。(c) 注意:因為按鍵脈沖復位是利用 RC微分電路產(chǎn)生正脈沖來達到復位的。所以電平 復位要將復位端通過電阻與Vcc相連.如復位電路中R、C的值選擇不當,使復位 時間過長,單片機將處于循環(huán)復位狀態(tài)。故本設計采用按鍵復位。2 .2 DS18B20數(shù)字溫度傳感器簡介2.2.1DS18B20數(shù)字溫度傳感器資源簡介新的一線器件DS18B20體積更小、適用電壓更寬、更經(jīng)濟。美國Dal

24、las半導體公司的數(shù)字化溫度傳感器 DS1820是世界上第一片 支持一線總線接口的溫度傳感器,在其內(nèi)部使用了在板(ON-BOARD專利技 術。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡,為測量系統(tǒng)的構(gòu)建引入全 新概念?,F(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟、更靈活。使你可以充分發(fā) 揮“一線總線”的優(yōu)點。目前 DS18B20批量采購價格僅10元左右。DS18B20 DS1822 一線總線數(shù)字化溫度傳感器同DS1820-樣,DS18B20也支持一線總線接口,測量溫度范圍為 -55 C+125 C,在-10+85C范圍內(nèi),精

25、度為 0.5 G DS1822的精度較 差為 2 Co現(xiàn)場溫度直接以一線總線的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗 干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測 溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V5.5V的電壓范圍,使系統(tǒng)設計更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。DS18B20 DS1822的特性DS18B20可以程序設定912位的分辨率,精度為 0.5 G可選更 小的封裝方式,更寬的電壓適用范圍。分辨率設定,及用戶設定的報警溫度存儲 在EEPR0中,掉電后依然保存。DS18B20勺性能是新一代產(chǎn)品中最好的!性能 價格比也非常出色! DS182

26、2與 DS18B20軟件兼容,是DS18B20勺簡化版本。省 略了存儲用戶定義報警溫度、分辨率參數(shù)的 EEPROM精度降低為 2 C,適用 于對性能要求不高,成本控制嚴格的應用,是經(jīng)濟型產(chǎn)品。繼一線總線的早期 產(chǎn)品后,DS1820開辟了溫度傳感器技術的新概念。 DS18B20和DS1822使電壓、 特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟的測溫系統(tǒng)。2.2.2DS18B20數(shù)字溫度傳感器引腳介紹DS18B2(引腳定義:(1) DQ為數(shù)字信號輸入/輸出端;(2) GND為電源地;(3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。DS18B20電路圖參考圖:DSl名B2D外

27、理及引腳排列圖DALLAS 1SB2D1 2 3non(JM virw!T M2i DSl Sir 0)o 口 Q2.2.3 DS18B20數(shù)字溫度傳感器的使用一、DS18B20勺主要特性(1) 適應電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù) 據(jù)線供電(2) 獨特的單線接口方式,DS18B2(在與微處理器連接時僅需要一條口線 即可實現(xiàn)微處理器與DS18B20勺雙向通訊(3) DS18B2(支持多點組網(wǎng)功能,多個 DS18B2(可以并聯(lián)在唯一的三線上, 實現(xiàn)組網(wǎng)多點測溫(4) DS18B2(在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集 成在形如一只三極管的集成電路內(nèi)(

28、5)溫范圍55C+ 125C,在-10+85C時精度為 0.5 C(6) 可編程的分辨率為912位,對應的可分辨溫度分別為0.5 C、0.25 C、 0.125 C和0.0625 C,可實現(xiàn)高精度測溫(7) 在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時 最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快(8) 測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU同 時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力(9) 負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工 作。、DS18B20勺內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM溫度傳

29、感器、 非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。、DS18B20X作原理DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù) 因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms DS18B20測溫原理如圖3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改 變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在- 55C所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法 計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預置1的預

30、置值。將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù), 如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器 中的數(shù)值即為所測溫度。圖3中的斜率累加器用于補償和修正測溫過程中的非線 性,其輸出用于修正計數(shù)器DS18B2(有4個主要的數(shù)據(jù)部件:(1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是 該DS18B20的地址序列碼。64位光刻ROM勺排列是:開始8位(28H)是產(chǎn)品類 型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán) 冗余校驗碼(CRC=X8+X5+X4+1。光刻ROM勺作用是使每一個DS18B2(都各不

31、相 同,這樣就可以實現(xiàn)一根總線上掛接多個 DS18B20勺目的。(2) DS18B2(中的溫度傳感器可完成對溫度的測量,以 12位轉(zhuǎn)化為 例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以 0.0625 C/LSB形式表達, 其中S為符號位。表1: DS18B20溫度值格式表LS byteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit023222122-12-22-32-4LS byteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSSS2622這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進 制中的前面5位是符號

32、位,如果測得的溫度大于 0,這5位為0,只要將測到的 數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值 需要取反加1再乘于0.0625即可得到實際溫度。例如+125C的數(shù)字輸出為07D0H +25.0625 C的數(shù)字輸出為0191H,-25.0625 C的數(shù)字輸出為FF6FH -55C的數(shù)字輸出為 FC90HTEMPERATUREDIGITAL OUT PUTDIGITAL OUT PUT+125C0000 0111 1101 000007D0H+85C0000 0101 0101 00000550H+25.0625 C0000 0001 1001 00010191

33、H+10.125 C0000 0000 1010 001000A2H+0.50 C0000 0000 0000 10000008H0C0000 0000 0000 00000000H-0.5 C1111 1111 1111 1000FFF8H-10.125 C1111 1111 0101 1110FF5EH-25.0625 C1111 1110 0110 1111FE6FH-55 C1111 1100 1001 0000FC90HThe po wer on reset value of the temp erature register is +85C(3) DS18B2Q溫度傳感器的存儲器D

34、S18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存 RAM和一個非易 失性的可電擦除的EEPRAM后者存放高溫度和低溫度觸發(fā)器 TH TL和結(jié)構(gòu)寄存 器。(4)配置寄存器該字節(jié)各位的意義如下:R1R0分辨率溫度最大轉(zhuǎn)換時間表3:配置寄存器結(jié)構(gòu)TMR1R011111低五位一直都是1,TM是測試模式位,用于設置 DS18B20在工作模式還是 在測試模式。在DS18B2C出廠時該位被設置為0,用戶不要去改動。R1和R0用 來設置分辨率,如下表所示:(DS18B2(出廠時被設置為12位) 表4 :溫度分辨率設置表009位93.75ms0110位187.5 ms1011位375 ms1112位750 m

35、s四、高速暫存存儲器高速暫存存儲器由9個字節(jié)組成,其分配如表5所示。當溫度轉(zhuǎn)換命 令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后, 數(shù)據(jù)格式如表1所示。對應的溫度計算:當符號位S=0時,直接將二進制位轉(zhuǎn)換 為十進制;當S=1時,先將補碼變?yōu)樵a,再計算十進制值。表 5是對應的一部 分溫度值。第九個字節(jié)是冗余檢驗字節(jié)。表5: DS18B20&存寄存器寄存器內(nèi)容字節(jié)地址溫度值低位(LS Byte )0溫度值高位(MS Byte)11高溫限值(TH2低溫限值(TL)3配置寄存器4保留5保留6保留7CRC校驗

36、值8根據(jù)DS18B20勺通訊協(xié)議,主機(單片機)控制DS18B2(完成溫度轉(zhuǎn)換必須 經(jīng)過三個步驟:每一次讀寫之前都要對DS18B2(進行復位操作,復位成功后發(fā)送 一條ROM旨令,最后發(fā)送RAM旨令,這樣才能對DS18B2(進行預定的操作。復位 要求主CPU各數(shù)據(jù)線下拉500微秒,然后釋放,當DS18B20攵到信號后等待16 60微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU攵到此信號表示復位 成功。表6: ROM旨令表指令約定代碼功能讀ROM33H讀DS18B2(溫度傳感器ROM中的編碼(即64位地址)符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROMS碼,訪問單 總線上與該編碼相對的

37、DS18B20使之作出響應,為 下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROMte址。為操作各器件作好準備跳過ROM0CCH忽略64位ROMfe址,直接向DS18B2(發(fā)溫度變換命 令,適用于單片機工作告警搜索命令0ECH執(zhí)行后只有溫度超過設定值上限或下限的片子才做I出響應。表6: RAM旨令表指令約定代碼功能溫度變換44H啟動DS18B20進行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時最廠為750MS(9位93.75MS。結(jié)果存入內(nèi)部9字節(jié)ROM中讀暫存器OBEH讀內(nèi)部RAM中 9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM勺3、4字節(jié)寫上、下限

38、溫度數(shù)據(jù)命 令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。復制暫存器48H將RAM中第3、4字節(jié)的內(nèi)容復制到 EEPRO中重調(diào)EEPROM1 0B8H將EEPRO中內(nèi)容恢復到RAM中底第3、4字節(jié)讀供電方式0B4H讀DS18B20勺供電模式,寄生供電時 DS18B20發(fā)送 “0”,外接電源供電DS18B2(發(fā)送“ 1”。2.3并行I/O接口芯片的選擇在單片機控制系統(tǒng)中,經(jīng)常利用I/O接口芯片來擴張CPU的并行I/O端口。 這類I/O接口芯片的種類很多。在單片機系統(tǒng)中,廣泛應用的 I/O接口芯片是 8155。2.3.1 In tel81558155是In tel公司研制的通用I/O接口芯片。AT89S

39、52芯片和8155相連不 僅可為外設提供兩個八位I/O端口( A 口和B 口)和一個六位I/O端口( C 口), 而且也為CPU提供一個256字節(jié)的RAM存儲器和一個14位定時器/計數(shù)器。內(nèi)部 結(jié)構(gòu)如下圖所示。Ui11131T1517191?KMMHMEME皿心AD7CE inmcuKUiiamEESEI27Ji1*It-17195031班3+JIJ7旳11IL31 j J圖 2-4 8155 芯片引腳圖2.3.2 內(nèi)部結(jié)構(gòu)8155 共有七部分電路組成,她們是雙線數(shù)據(jù)總線緩沖器、地址鎖存器、地 址譯碼器和讀寫編碼盤、RAM存儲器、I/O寄存器、命令寄存器和狀態(tài)寄存器以 及定時器 /計數(shù)器等。雙

40、向數(shù)據(jù)總線緩沖器:該緩沖器是8位的,用于傳送CPU對RAM存儲器的讀 寫數(shù)據(jù)。地址譯碼器:共八位,用于鎖存 CPU送來的RAM單元地址和端口地址。 地址譯碼器和讀寫控制器:地址譯碼器的三位地址由地址鎖存器輸出端送來,譯碼后可以選中命令/狀態(tài)寄存器、定時器/計數(shù)器和ABC三個I/O寄存器中 的某個工作。讀寫控制其接收 RD和WF線上的信息,實現(xiàn)對 CPU和8155間所傳 信息的控制。RAMF儲器,容量為256字節(jié),主要用于存放實時數(shù)據(jù)。存儲器存儲單元地 址由地址鎖存器輸出端送來。I/O寄存器,分為ABC三個端口。A 口和B 口的I/O寄存器為8位,既可以 存放外設的輸出數(shù)據(jù)又可以存放外設的輸入數(shù)

41、據(jù); C 口的I/O寄存器只有6位, 用于存放 I/O 數(shù)據(jù)或命令 /狀態(tài)信息。 8155在某一瞬間只能選中某個 I/O 寄存器 工作,這有CPU送給8155的命令字決定。命令寄存器和狀態(tài)寄存器,皆為8位寄存器。命令寄存器存放CPU送來的命 令字,狀態(tài)寄存器存放 8155的狀態(tài)字。定時器/計數(shù)器,這是一個二進制 14 位的減 1 計數(shù)器,計數(shù)器初值由 CPU 通過程序送來。定時器 /計數(shù)器由 T/N 輸入線上脈沖減 1,每當計滿溢出時可在 T/OUT線上輸出一個終止脈沖。2.3.3 引腳功能(1)AD7-AD0(8條):AD7-ADQ為地址/數(shù)據(jù)總線,??珊?MCS-51的P0 口相 接,用于

42、分時的傳送地址 /數(shù)據(jù)信息。I/O總線(22條):PA7-PA0通用I/O線,用于傳送A 口上的外設數(shù)據(jù),數(shù)據(jù)外 送方向由8155命令字決定。PB7-PB0為通用I/O線,用于傳送B 口上的外設數(shù) 據(jù),數(shù)據(jù)傳送的方向也是由8155命令字決定的。PC5-PC(為I/O數(shù)據(jù)/控制線, 共6條,通用 I/O 方式下,用作傳送 I/O 數(shù)據(jù),在選通 I/O 方式下,用作傳送命令/狀態(tài)信息。(2)控制總線( 8條)RESET8155總清輸入線,在RESETS上輸入一個大于 600ns寬的正脈沖時, 8155立即處于總清狀態(tài),A、B、C三口也定義為輸入方式。CE和IO/M: CE為8155片輸入線,若CE

43、=0貝U CPI選中本8155工作;否則,本 8155不工作。IO/M為I/O端口或RAM存儲器的選通輸入線;若IO/ M=0則CPU 選中8155的RAM存儲器工作;若IO/M=1,則CPU選中8155內(nèi)某一寄存器工作。RD和 WR RD是8155的讀/寫命令輸入線,WR為寫命令線當RD=0和 WR=1 時,8155處于讀出數(shù)據(jù)狀態(tài);當 RD=1和 WR=寸,8155處于寫入數(shù)據(jù)狀態(tài)。ALE為允許地址輸入線,高電平有效。若 ALE=1,貝U 8155允許AD7 AD0 上的地址鎖存道“地址鎖存器” ;否則, 8155的地址鎖存器處于封鎖狀態(tài)。 8155 的ALE常和MCS-51的同名端相連。

44、T/IN 和 T/OUT:T/IN 實計數(shù)器輸入線,其上脈沖用于對 8155 片內(nèi) 14 位計 數(shù)器減1o T/OUT為計數(shù)器輸出線,當14位計數(shù)器從計滿回零時就可以在該引線 上輸出脈沖波形,輸出脈沖的形狀和計數(shù)器工作方式有關。(3)電源線(2條):Vcc為+5V電源輸入線,Vss為接地線。第 3章 恒溫控制系統(tǒng)模塊分析設計3.1 溫度的采集溫度測量轉(zhuǎn)換部分是整個系統(tǒng)的數(shù)據(jù)來源, 直接影響系統(tǒng)的可靠性。 傳統(tǒng)的 溫度測量方法是:溫度傳感器例如 AD590將測量的溫度轉(zhuǎn)換成模擬電信號,再 經(jīng)過 A/D 轉(zhuǎn)換器把模擬信號轉(zhuǎn)換成數(shù)字信號, 單片機再對采集的數(shù)字信號進行處 理3 。這種模擬數(shù)字混合電路

45、實現(xiàn)起來比較復雜,濾波消噪難度大系統(tǒng)穩(wěn)定性不 高,鑒于這些考慮,本設計采用數(shù)字式溫度傳感器DS18B20。DS18B20支持“一線總線”接口,測量溫度的范圍為 -55 C+125 C,現(xiàn) 場溫度直接以“一線總線”的數(shù)字式傳輸,大大的提高了系統(tǒng)的抗干擾性。 DS18B20 為3引腳,DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸 入端。2 腳和 3 腳之間接一個 4.7K 上溫度采集電路模塊如圖2.4所示。DSB8B20的3腳接系統(tǒng)中單片機的P1.4 口線,用于將采集到的溫度送入單片機中處理, 拉電阻,即可完成溫度采集部分硬件電路。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64

46、位光刻ROM溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH和TL、配置寄存器。1SE20Ovccgag O Q 114.7KH|vcc1P14DS18B2(中的溫度傳感器可完成對溫度的測量,以 12位轉(zhuǎn)化為例:用16位 符號擴展的二進制補碼讀數(shù)形式提供,以 0.0625C /LSB形式表達,其中S為符號位。 數(shù)據(jù)轉(zhuǎn)換如下表2.1。表2.1DS18B20溫度數(shù)據(jù)轉(zhuǎn)換表LSBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Byte232221202-12-22-32-4MSBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8ByteSSSSS262524這是12位轉(zhuǎn)

47、化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中, 二進制中的前面5位是符號位,如果測得的溫度大于 0,這5位為0,只要將測 到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的 數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。例如+125C的數(shù)字輸出為07D0H +25.0625C的數(shù)字 輸出為0191H, -25.0625 C的數(shù)字輸出為FF6FH -55C的數(shù)字輸出為FC90HDS18B2(采集到的溫度數(shù)字量存在 31H (高位),30H(低位3.2鍵盤和顯示電路的設計3.2.1 按鍵設置本系統(tǒng)中,采用四個按鍵實現(xiàn)溫度的設定,分別為設定鍵、增鍵、減

48、鍵和移 位鍵,溫度值有三個位,通過移位鍵可以方便的設定溫度值。并接在8155 PC 口中。PC為讀入口 表2.2按鍵功能按鍵鍵名功能SET鍵設定鍵或退出鍵使系統(tǒng)產(chǎn)生中斷,進入設置狀態(tài)或退出+鍵增鍵按一次當前值加1-鍵減鍵按一次當前值減1MOffi移位鍵按一次移動到另一位設置電路參考圖2.7 (在下面)3.2.2 LED數(shù)碼管顯示原理LED上顯顯示電路實行LED顯示。這里采用八段共陽LED A 口字段口,B為在字位 口。LED數(shù)碼管結(jié)構(gòu)簡單,價格便宜。八段 LED顯示管有八只發(fā)光二極管組成, 編號分別為a、b、c、d、e、f、gS、P,分別和同名管相連。八段LED數(shù)碼顯示 管原理簡單,是通過同名

49、管腳上所加電壓高低來控制發(fā)光二極管是否點亮而顯示 不同的字形的。例如,若在共陽LED管的SP g、f、e、d、c、b、a管腳上分別 加上80H控制電平(即SP上為TTL高電平,不亮,其余為0伏,亮),則LED 顯示管顯示字形“ 8”。80H是按照SP g、f、e、d、c、b、a順序排列后的十六 進制編碼(0為TTL低電平,1為TTL高電平),常稱為字形碼。因此, 示字形不同,相應字形碼也不一樣。LED管的顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。(1)靜態(tài)顯示的特點是各個LED管能穩(wěn)定地同時顯示各自字形;動態(tài)顯示 是指各LED輪流地一遍一遍顯示各自字符,人們因視覺氣管惰性而看到的是各 LED似乎在同

50、時顯示不同字形。但是靜態(tài)顯示所需的硬件開鎖大,CPU也無法預先知道什么時候需要改變LED的被顯示字符。CPU可以通過C 口控制各LED(或 BCD碼)轉(zhuǎn)換為相應的字形顯示緩沖區(qū)內(nèi)包含的存儲單元為了減少硬件開鎖,提高系統(tǒng)可靠性和降低成本,單片機控制控制系統(tǒng)通常 采用動態(tài)掃描顯示。在本電路圖中,8031通過8155對三只共陽LED的接口電路; A 口和所有LED的a、b、c、d、e、f、g、SP引線相連,各LED控制端G和8155C 口相連,故B 口為字形口和C 口為字形口,因為 是否點亮。(2)動態(tài)顯示采用軟件法把欲顯示十六進制 碼,故它通常需要在RAM區(qū)建立一個顯示緩沖區(qū)。個數(shù)常和系統(tǒng)中LED

51、的個數(shù)相等。顯示緩沖區(qū)的起始很重要,它決定了顯示緩沖 區(qū)在RAM中的位置。在本系統(tǒng)程序中,設置了 70H, 71H, 72H三個顯示緩沖區(qū)。323 LED 接口電路顯示采用3位共陽LED動態(tài)顯示方式,顯示內(nèi)容有溫度值的百位、十位、個 位,按鍵并接在8155PC口中,PC為讀入口。顯示電路實行LED顯示,A 口字段口,B 口為在位選口,LED用動態(tài)顯示,這里采用八段共陽 LED模塊電路如下圖2.7所示:131415161718198心9 y10 ,711亠34THKOUT THEINCE RD WE_IDM ALE12A AA A A A ARESETPCQ PCIPC2PCSPC4PC5PBO

52、 PBlPKPB3PB4PBiPBPE7圖2.7顯示接口電路P P P P Pol234l-67aaaaaaaa ppp第4章 恒溫控制系統(tǒng)各功能和軟件設計4.1工作流程恒溫箱在復位后處于停止加熱的狀態(tài),此時,系統(tǒng)默認顯示設定溫度值為 50攝氏度。我們可以通過用設定鍵改變預設定溫度,也可以直接啟動運行。在 運行的過程中,系統(tǒng)不斷的檢測當前溫度,并送往顯示器顯示,超過設定溫度值 允許的范圍后停止加熱,當溫度下降到上限(比設定溫度大2度時)啟動加熱,實行PID計算達到控制溫度的目的。當下降到下限(比設定溫度小2以上)時,實行全功率控制。快速達到加熱到設定溫度的目的。這樣不斷的重復上述的過程, 使溫

53、度保持在與設定的溫度范圍內(nèi)。 當然,運行過程中,也可以隨時地改變設定 溫度,溫度設定好之后運行,系統(tǒng)按新設定的溫度運行。4.2主程序設計主程序應該包括各個的初始化工作,TO初始化,開中斷、溫度顯示和鍵盤 的掃描以及看門狗子程序。其相應的程序框圖以及程序見附錄。TO初始化時,設定TO的計數(shù)器方式為2,初值為06H,故它的溢出中斷時間為250個過零同步觸發(fā)脈沖。而T1中斷服務程序的執(zhí)行時間必須滿足 T0的這一時 間要求,因為T1的中斷是嵌套在T0中斷之中的。其中有LED顯示子程序,按鍵溫度設定子程序。主程序設計基本框圖主程序;主程序匯編:MAIN: MOA,#03H;初始化8155 A,B輸出,C

54、輸入(方式控制字03H)MOVDP TR,#8000HMOVXDP TR,AMOVTMOD,#56H ; 定義T0為定時器計數(shù)方式 2,T1為方式1(01010110)MOV TL0,#06H裝入定時初值MOV TH0,#06HCLR PT0;T0為低中斷優(yōu)選MOV IE,#82H開 T0 中斷(10000010)SETB TR0啟動T0計數(shù)MIAN1:ACALL LED_DIS PACALL BUTTONAJMP MIAN14.2.1 LED 顯示子程序LED采用動態(tài)顯示,先由PA 口送段選碼,PB 口送位選碼,延時1MS指向下一單元,判斷是否 3 位顯示完,完了返回,沒完,位選碼左移,繼續(xù)顯示。; 動態(tài)顯示匯編子程序:LED_DISP: MOVR0,#00HMOVR1,#00HMOVA,#03H ;A口輸出, B 輸出 C 輸入MOVDPTR,#8000H; 命令狀態(tài)字MOVX DPTR,AMOVR0,LED_NUM1; 顯示存儲首址送 R0MOVR1,0FEH;LED1 位選(字位碼始址送 R1)MOVA,R1LED_1: MOVDPTR,#8002H; 位選碼送 B 口MOVX DPTR,AMOVA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論