2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科生畢業(yè)論文(設(shè)計)</p><p>  題 目: 一種溫度傳感器系統(tǒng)的設(shè)計 </p><p>  姓 名: </p><p>  學(xué) 院: 理學(xué)院 </p><p>

2、  專 業(yè): 電子科學(xué)與技術(shù) </p><p>  班 級: 08級(2)班 </p><p>  學(xué) 號: 1886080207 </p><p>  指導(dǎo)教師: 職稱: 副教授 <

3、;/p><p>  2012年 1月5日 </p><p>  安徽科技學(xué)院教務(wù)處制</p><p><b>  目錄</b></p><p>  摘要及關(guān)鍵詞...................................................................................

4、..........................................3</p><p>  前言...............................................................................................................................4</p><p>  1

5、.1 課題背景與意義..................................................................................................................4</p><p>  1.2 溫度傳感器系統(tǒng)的應(yīng)用..........................................................

6、............................................5</p><p>  1.3 畢業(yè)設(shè)計任務(wù)......................................................................................................................5</p><p>  

7、系統(tǒng)方案.......................................................................................................................6</p><p>  2.1 溫度傳感器系統(tǒng)設(shè)計任務(wù)和要求.......................................................

8、...............................6</p><p>  2.2 水溫控制系統(tǒng)部分..............................................................................................................6</p><p>  2.3 控制方式...........

9、...................................................................................................................9</p><p>  系統(tǒng)硬件設(shè)計...........................................................................

10、....................................9</p><p>  3.1 總體設(shè)計框圖和說明..........................................................................................................9</p><p>  3.2 外部電路設(shè)計.......

11、.............................................................................................................10</p><p>  3.3 單片機(jī)系統(tǒng)電路設(shè)計.........................................................................

12、...............................12</p><p>  系統(tǒng)軟件與設(shè)計.........................................................................................................16</p><p>  4.1 程序框架結(jié)構(gòu).................

13、...................................................................................................16</p><p>  4.2 程序流程圖及部分程序..................................................................................

14、..................17</p><p>  4.3系統(tǒng)安裝調(diào)試與測試.........................................................................................................22</p><p>  緒論.................................

15、............................................................................................23</p><p>  參考文獻(xiàn)...................................................................................................

16、................................24</p><p>  附件一(程序代碼)................................................................................................................25</p><p>  附件二(電路原理圖).......

17、......................................................................................................33</p><p>  一種溫度傳感器系統(tǒng)的設(shè)計</p><p>  摘要:溫度是工業(yè)控制對象主要被控參數(shù)之一,在溫度控制中,由于受到溫度被控對象特性(如慣性大、滯后大、非線性等)的影響

18、,使得控制性能難以提高,有些工藝過程其溫度控制的好壞直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計一種較為理想的溫度傳感器系統(tǒng)是非常有價值的。為了實現(xiàn)高精度的水溫測量和控制,本課題介紹了一種以Atmel公司的低功耗高性能CMOS單片機(jī)為核心,以PID算法控制以及PID參數(shù)整定相結(jié)合的控制方法來實現(xiàn)的水溫控制系統(tǒng),其硬件電路還包括溫度采集、溫度控制、溫度顯示、鍵盤輸入以及RS232接口等電路。該系統(tǒng)可實現(xiàn)對溫度的測量,并能根據(jù)設(shè)定值對溫度進(jìn)行調(diào)節(jié),實現(xiàn)控

19、溫的目的。 </p><p>  【關(guān)鍵詞】單片機(jī)AT89C51;溫度控制;溫度傳感器PT1000;PID調(diào)節(jié)算法 </p><p>  The summary:Temperature is the main control of industrial control of parameters, In temperature control, due to temperature co

20、ntrolled object properties (such as inertia big, big, lagging effect of nonlinear, etc.), to improve performance, some process temperature control of its direct impact on the quality of the product, and designed a kind o

21、f ideal </p><p>  temperature control system is a very valuable. In order to realize high precision temperature measurement and control, this paper introduces a meter taking Atmel company low-power high-perf

22、ormance CMOS chip as the core, and the PID control algorithm with PID parameters combination of control method to realize the temperature control system, the hardware circuit including temperature, temperature control, t

23、emperature gathering, keyboard input and RS232 interface circuits, etc. The system can real</p><p>  Keywords: AT89C51 microcontroller, Temperature control, PT1000 temperature sensor, PID algorithm <

24、;/p><p><b>  第一章 前言</b></p><p>  1.1 課題背景與意義</p><p>  溫度是表征物體冷熱程度的一個物理量,對許多生產(chǎn)過程都具有重要意義,是生產(chǎn)</p><p>  生活中非常重要的參數(shù),它對作物的生長,商品的保存,家禽孵化及許多科學(xué)實驗過程</p><p&g

25、t;  都會產(chǎn)生重要的影響,溫度傳感器系統(tǒng)的設(shè)計是許多生產(chǎn)過程不可缺少的技術(shù)手段。</p><p>  在現(xiàn)代化的工業(yè)生產(chǎn)中,溫度是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工</p><p>  生產(chǎn)、電力工程、造紙行業(yè)、機(jī)械制造和食品加工等諸多領(lǐng)域中,人們都需要對各類加</p><p>  熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測和控制。采用MCS-51單片機(jī)

26、來對溫</p><p>  度進(jìn)行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被</p><p>  控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。目前,溫度傳感器系統(tǒng)在國</p><p>  內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度傳感器來講,總體發(fā)展水平</p><p>  仍然不高,同國外的日本

27、、美國、德國等先進(jìn)國家相比,仍然有著較大的差距?,F(xiàn)在,</p><p>  我國在這方面總體技術(shù)水平處于20世紀(jì)80年代中后期水平。成熟產(chǎn)品主要以“點位”控</p><p>  制及常規(guī)的PID控制器為主,它只能適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后復(fù)雜時變溫</p><p>  度系統(tǒng)控制,而且適應(yīng)于較高控制場合的智能化、自適應(yīng)控制儀表國內(nèi)技術(shù)還不十分成</p&

28、gt;<p>  熟,形成商品化并廣泛應(yīng)用的控制儀表較少。隨著嵌入式系統(tǒng)開發(fā)技術(shù)的快速發(fā)展及其</p><p>  在各個領(lǐng)域的廣泛應(yīng)用,人們對電子產(chǎn)品的小型化和智能化要求越來越高,作為高新技</p><p>  術(shù)之一的單片機(jī)以其體積小、價格低、可靠性高、適用范圍大以及本身的指令系統(tǒng)等諸</p><p>  多優(yōu)勢,在各個領(lǐng)域、各個行業(yè)應(yīng)用廣泛。&l

29、t;/p><p>  1.2 溫度傳感器系統(tǒng)的應(yīng)用</p><p>  鹽浴爐溫度傳感器系統(tǒng)利用S型鉑銠-銠熱電偶檢測溫度,熱電偶進(jìn)行冷端補(bǔ)償,</p><p>  熱電偶檢測的信號通過放大、采樣保持、模數(shù)轉(zhuǎn)換再送單片機(jī)保存,采用分段查表法獲</p><p>  取各點溫度。選用可控硅過零觸發(fā)自動控制鹽浴爐溫度,控制周期為100個三相交流市<

30、;/p><p>  電周期,即2s。由單片機(jī)控制可按預(yù)設(shè)溫度曲線進(jìn)行加熱,并可實時顯示加溫曲線。大</p><p>  型糧庫采用主機(jī)為PC上位機(jī),從機(jī)為68HC08GP32為主控芯片的分機(jī)(下位機(jī))。下</p><p>  位機(jī)采用DALLAS的數(shù)字式溫度傳感器芯片DS1820,可以在三根線(電源線、地線、</p><p>  信號線)上同時并

31、聯(lián)多個溫度探測點。每個分機(jī)上可以連接10跟電纜,每根電纜上可</p><p>  并聯(lián)幾十個點。分機(jī)利用了68HC08GP32的片內(nèi)FLASH功能,實現(xiàn)了DS1820的序列</p><p>  號在68HC08GP32中的動態(tài)存取,從而節(jié)省了大量存儲器。溫度數(shù)據(jù)保存在68HC08GP32</p><p>  的片內(nèi)RAM里并且利用了充分利用了68HC08GP32的片

32、內(nèi)的A/D實現(xiàn)了濕度數(shù)據(jù)的測</p><p>  量,有的還用PLC來控制??傊疁囟葌鞲衅飨到y(tǒng)的控制方式是多種多樣的。</p><p>  1.3 課題設(shè)計任務(wù)</p><p>  本文主要介紹單片機(jī)溫度控制系統(tǒng)的設(shè)計過程,其中涉及系統(tǒng)結(jié)構(gòu)設(shè)計、元器件的</p><p>  選取和控制算法的選擇、程序的調(diào)試和系統(tǒng)參數(shù)的整定。以AT89C51為

33、CPU,溫度信</p><p>  號由PT1000和電壓放大電路提供。電壓放大電路用超低溫漂移高精度運算放大器OP07</p><p>  將溫度--電壓信號進(jìn)行放大,用單片機(jī)控制SSR固態(tài)繼電器的通斷時間以控制水溫,系</p><p>  統(tǒng)控制對象為1升凈水,容器為搪瓷器皿。水溫可以在環(huán)境溫度降低時實現(xiàn)自動控制,</p><p>  以

34、保持設(shè)定的溫度基本不變,具有較好的快速性與較小的超調(diào)。 </p><p><b>  第二章 系統(tǒng)方案</b></p><p>  2.1 溫度傳感器系統(tǒng)設(shè)計任務(wù)和要求 </p><p>  設(shè)計一個水溫自動控制系統(tǒng),控制對象為1升凈水,水溫可以在一定范圍內(nèi)由人工</p><p>  設(shè)定,并能在環(huán)境溫度降低時實現(xiàn)自

35、動調(diào)整,以保持設(shè)定的溫度基本不變,系統(tǒng)設(shè)計具</p><p>  體要求: 溫度設(shè)定范圍為40℃,目標(biāo)溫度的±5℃; 加熱棒功率2KW,控制器為繼電</p><p>  器; 用十進(jìn)制數(shù)碼管顯示水的實際溫度。</p><p>  2.2 水溫控制系統(tǒng)部分</p><p>  水溫控制系統(tǒng)是一個過程控制系統(tǒng),組成框圖如圖1所示,由控

36、制器、執(zhí)行器、被</p><p>  控對象其反饋作用的測量變送組成。測變量是通過溫度傳感器Pt1000來傳送的,控制</p><p>  器是通過單片機(jī)來完成。 </p><p>  2.2.1 CPU中央處理器 </p><p>  方案一:采用8031作為控制核心,使用最為普遍的器件ADC0804作模數(shù)轉(zhuǎn)換,控</p>&

37、lt;p>  制上使用對加熱棒加電對水槽里的水升溫。此方案簡易可行,器件價格便宜,但8031</p><p>  內(nèi)部沒有程序存儲器需擴(kuò)展,增加了電路的復(fù)雜性。 </p><p>  方案二:此方案采用8951單片機(jī)實現(xiàn),可用編程實現(xiàn)各種控制算法和邏輯控制。</p><p>  進(jìn)行數(shù)據(jù)轉(zhuǎn)換,控制電路部分采用SSR固態(tài)繼電器控制加熱棒的通斷,此方案電路簡單&l

38、t;/p><p>  并且可以滿足題目中的各項要求的精度。 </p><p>  比較兩個方案可知,采用Atmel單片機(jī)來實現(xiàn)本題目,不管是從結(jié)構(gòu)上,還是從工</p><p>  作量上都占有很大的優(yōu)勢,所以最后決定使用AT89C51作為該控制系統(tǒng)的核心。根據(jù)</p><p>  溫度變化慢,并且控制精度不易掌握的特點,設(shè)計了水箱溫度自動控制系統(tǒng)

39、,總體框圖</p><p>  如圖2所示。溫度控制采用改進(jìn)的PID數(shù)字控制算法,顯 示采用用3位LED靜態(tài)顯示。</p><p>  (2) 溫度控制系統(tǒng)算法分析 </p><p>  系統(tǒng)算法控制采用工業(yè)上常用的位置型PID數(shù)字控制,并且結(jié)合特定的系統(tǒng)加以算</p><p>  法的改進(jìn),形成了變速積分PID—積分分離PID控制相結(jié)合的

40、自動識別的控制算法。該</p><p>  方法不僅大大減小了超調(diào)量,而且有效地克服了積分飽和的影響,使控制精度大大提高。 </p><p>  PID控制適用于負(fù)荷變化大、容量滯后較大、控制品質(zhì)要求又很高的控制系統(tǒng)。PID調(diào)</p><p>  節(jié)器有三個可設(shè)定參數(shù),即比例放大系數(shù)pK、積分時間常數(shù)iK、微分時間常數(shù)dK。比</p><p>

41、;  例調(diào)節(jié)的作用是使調(diào)節(jié)過程趨于穩(wěn)定,但會產(chǎn)生穩(wěn)態(tài)誤差;積分作用可消除被調(diào)量的穩(wěn)</p><p>  態(tài)誤差,但可能會使系統(tǒng)振蕩,甚至使系統(tǒng)不穩(wěn)定; 微分作用能有效的減小動態(tài)偏差,</p><p>  如圖3所示。 </p><p>  由圖4可知PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,這種調(diào)節(jié)器是將設(shè)定值w與實際</p>&

42、lt;p>  輸出值y進(jìn)行比較構(gòu)成偏差e=w-y。 </p><p>  并將其比例、積分、微分通過線性組合構(gòu)成控制量。其動態(tài)方程為: </p><p> ?。ㄆ渲蠯p為比例放大系數(shù);Ki為積分時間常數(shù);Kd為微分時間常數(shù)) </p><p>  PID調(diào)節(jié)器的離散化表達(dá)式為; </p><p>  其增量表達(dá)形式為(T為采樣周期):&

43、lt;/p><p><b>  2.3 控制方式 </b></p><p>  該控制系統(tǒng)是把輸出量檢測出來,經(jīng)過物理量的轉(zhuǎn)換,再反饋到輸入端去與給定量</p><p>  進(jìn)行比較(綜合),并利用控制器形成的控制信號通過執(zhí)行機(jī)構(gòu)SSR對控制對象進(jìn)行控</p><p>  制,抑制內(nèi)部或外部擾動對輸出量的影響,減小輸出量的誤

44、差,達(dá)到控制目的。在此控</p><p>  制系統(tǒng)中單片機(jī)就相當(dāng)于常規(guī)控制系統(tǒng)中的運算器控制器,它對過程變量的實測值和設(shè)</p><p>  定位之間的誤差信號進(jìn)行運算然后給出控制信息,單片機(jī)的運算規(guī)則稱為控制法則或控</p><p><b>  制算法。</b></p><p>  第三章 系統(tǒng)硬件設(shè)計</p

45、><p>  3.1 總體設(shè)計框圖及說明 </p><p>  本系統(tǒng)是一個簡單的單回路控制系統(tǒng),總體框圖如圖2所示。 單片機(jī)系統(tǒng)是整個</p><p>  控制系統(tǒng)的核心,AT89C51可以提供系統(tǒng)控制所需的I/O口、中斷、定時及存放中間結(jié)</p><p>  果的RAM電路;前向通道是信息采集的通道,主要包括傳感器、信號放大、A/D轉(zhuǎn)換<

46、;/p><p>  等電路;由于水溫變化是一個相對緩慢的過程,因此前向通道中沒有使用采樣保持電路;</p><p>  信號的濾波可由軟件實現(xiàn),以簡化硬件、降低硬件成本。 </p><p>  鍵盤設(shè)定:用于溫度設(shè)定,共三個按鍵。 </p><p>  數(shù)據(jù)采樣:將由傳感器及相關(guān)電路采集到的溫度轉(zhuǎn)為電壓信號,經(jīng)A/D轉(zhuǎn)</p>&l

47、t;p>  換后,送入AT89C51相應(yīng)接口中,換算成溫度值,用于控制和顯示。 </p><p>  數(shù)據(jù)顯示:采用了共陰極數(shù)碼管LED進(jìn)行顯示設(shè)置溫度與測量溫度。 </p><p>  繼電器/加熱棒:通過三極管控制繼電器的開關(guān)來完成對加熱棒的控制。</p><p>  3.2 外部電路設(shè)計 </p><p>  3.2.1 溫度采集

48、電路 </p><p>  采用溫度傳感器鉑電阻Pt1000,對于溫度的精密測量而言,溫度測量部分是</p><p>  整個系統(tǒng)設(shè)計的第一步。溫度傳感器的選擇是這塊電路的關(guān)鍵,它是直接影響</p><p>  整個系統(tǒng)的性能與效果的關(guān)鍵因素之一。這里采用的是精密級鉑電阻溫度傳感</p><p>  器Pt1000,它的金屬鉑含量達(dá)99. 9

49、999%,因為鉑電阻的物理和化學(xué)性能在高</p><p>  溫和氧化介質(zhì)中很穩(wěn)定、價格又便宜,常用作工業(yè)測量元件,以鉑電阻溫度計</p><p>  作基準(zhǔn)器線性好,溫度系數(shù)分散性小,在0~100攝氏度時,最大非線性偏差小</p><p>  于0.5攝氏度,性能穩(wěn)定,廣泛用于精密溫度測量和標(biāo)定。 </p><p>  鉑熱電阻與溫度關(guān)系式

50、,其中:</p><p>  Rt--溫度為t攝氏度時的電阻; R0--溫度為0攝氏度時的電阻; </p><p>  B--溫度系數(shù) A=3.94*102/℃;其中;T--任意溫度。</p><p>  3.2.2 溫度控制電路 </p><p>  此部分通過控制繼電器的通斷從而控制加熱棒,采用對加在加熱棒兩端的電壓進(jìn)行</p>

51、;<p>  通斷的方法進(jìn)行控制,以實現(xiàn)對水加熱功率的調(diào)整,從而達(dá)到對水溫控制的目的,即在</p><p>  閉環(huán)控制系統(tǒng)中對被控對象實施控制。</p><p>  此部分的繼電器采用的是SSR繼電器,即固態(tài)繼電器,主要由輸入(控制)電路,</p><p>  驅(qū)動電路和輸出(負(fù)載)電路三部分組成。固態(tài)繼電器的輸入電路是為輸入控制信號提</p&

52、gt;<p>  供一個回路,使之成為固態(tài)繼電器的觸發(fā)信號源。固態(tài)繼電器的輸出電路是在觸發(fā)信號</p><p>  的控制下,實現(xiàn)固態(tài)繼電器的通斷切換。輸出電路主要由輸出器件(芯片)和起瞬態(tài)抑</p><p>  制作用的吸收回路組成,固態(tài)繼電器(SSR)是一種全電子電路組合的元件,它依靠半</p><p>  導(dǎo)體器件和電子元件的電、磁和光特性來完成

53、其隔離和繼電切換功能。</p><p>  圖5是它的工作原理框圖,圖11中的部件①-④構(gòu)成交流SSR的主體,從整體上看,</p><p>  SSR只有兩個輸入端(A和B)及兩個輸出端(C和D),是一種四端器件。工作時只要</p><p>  在A、B上加上一定的控制信號,就可以控制C、D兩端之間的“通”和“斷”,實現(xiàn)“開關(guān)”</p><p&g

54、t;<b>  的功能。 </b></p><p>  由于開關(guān)電路在不加特殊控制電路時,將產(chǎn)生射頻干擾并以高次諧波或尖峰等污染</p><p>  電網(wǎng),為此特設(shè)“過零控制電路”。為使其實現(xiàn)過零控制,就是要實現(xiàn)工頻電壓的過零檢</p><p>  測,并給出脈沖信號,由單片機(jī)控制可控硅過零脈沖數(shù)目。當(dāng)在其輸入端加入控制信號</p>

55、<p>  時,輸出端接通,從而使得加熱棒加熱以致溫度上升;當(dāng)此時撤離控制信號時,輸出端</p><p>  斷開,而使加熱棒停止加熱從而溫度下降。 </p><p>  3.3 單片機(jī)系統(tǒng)電路設(shè)計</p><p><b>  3.3.1系統(tǒng)框圖</b></p><p>  3.3.2 A/D轉(zhuǎn)換電路 &

56、lt;/p><p>  ADC0804是CMOS集成工藝制成的逐次比較型A/D轉(zhuǎn)換器芯片。分辨率為8位,</p><p>  轉(zhuǎn)換時間為100μs,輸出電壓范圍為0~5V,增加某些外部電路后,輸入模擬電壓可為</p><p>  ±5V。該芯片內(nèi)有輸出數(shù)據(jù)鎖存器,當(dāng)與計算機(jī)連接時,轉(zhuǎn)換電路的輸出可以直接連接</p><p>  到CPU

57、的數(shù)據(jù)總線上,無需附加邏輯接口電路。</p><p>  采集數(shù)據(jù)時,首先微處理器執(zhí)行一條傳送指令,在指令執(zhí)行過程中,微處理器在控</p><p>  制總線的同時產(chǎn)生CS1、WR1低電平信號,啟動A/D轉(zhuǎn)換器工作,ADC0804經(jīng)100μS</p><p>  后將輸入模擬信號轉(zhuǎn)換為數(shù)字信號存于輸出鎖存器,并在INTR端產(chǎn)生低電平表示轉(zhuǎn)換</p>&

58、lt;p>  結(jié)束,并通知微處理器可來取數(shù)。當(dāng)微處理器通過總線查詢到INTR為低電平時,立即</p><p>  執(zhí)行輸入指令,以產(chǎn)生CS、RD2低電平信號到ADC0804相應(yīng)引腳,將數(shù)據(jù)取出并存入</p><p>  存儲器中。整個數(shù)據(jù)采集過程中,由微處理器有序地執(zhí)行若干指令完成,AD0804的連</p><p><b>  接圖如圖10。<

59、/b></p><p>  3.3.3 鍵盤設(shè)置電路 </p><p>  單片機(jī)上的P25口接S1,P26口接S2,P27口接S3。 </p><p>  S1:設(shè)置溫度的十位數(shù):0—9 </p><p>  S2:設(shè)置溫度的個位數(shù):0—9 </p><p>  S3:工作模式選擇鍵,共有兩種工作模式正常工作狀

60、態(tài)、溫度重新設(shè)置。 </p><p>  系統(tǒng)上電后,數(shù)碼管全部顯示為零,根據(jù)按S1次數(shù),十位的數(shù)碼管順序增加。同</p><p>  樣S2,的溫度進(jìn)行比較,通過軟件來控制加熱棒的開關(guān)。 </p><p>  3.3.4數(shù)碼顯示電路 </p><p>  數(shù)碼管作為單片機(jī)系統(tǒng)最為常用的輸出器件,在顯示時可以由數(shù)字和少量字母

61、組合</p><p>  完成輸出功能的系統(tǒng)中應(yīng)用十分方便。圖23為AT89C51最小系統(tǒng)以及一個四位共陰數(shù)</p><p>  碼管,DIG0、DIG1、DIG2、DIG3分別與單片機(jī)的P21、P22、P23、P24相連,每一個</p><p>  都擁有一個共陰的位選端。從而可以通過單片機(jī)選通所需顯示的數(shù)碼管。SegA--SegDp</p><

62、;p>  口傳輸要顯示的數(shù)據(jù),利用其串/并轉(zhuǎn)換功能,送入數(shù)碼管顯示。在此外接了一個10K</p><p>  的排阻來保護(hù)LED。 </p><p>  第四章 系統(tǒng)軟件設(shè)計</p><p>  4.1 程序框架結(jié)構(gòu) </p><p>  一個整體的系

63、統(tǒng)軟件設(shè)計是由各個在系統(tǒng)里起著不同作用的模塊整合在一起,從而</p><p>  實現(xiàn)系統(tǒng)的所要實現(xiàn)的功能。本系統(tǒng)硬件接口如下: </p><p>  P1--AD; P00~P07--LEDa~LEDdp.; </p><p>  P25~P27--S1~S3; P20~P23--COM1~COM3; </

64、p><p>  此系統(tǒng)包括主控制程序,A/D采樣數(shù)據(jù)處理程序,PID算法程序,LED顯示及按鍵處理</p><p>  程序。結(jié)構(gòu)框架圖如圖13所示。 </p><p>  主程序模塊對子程序模塊的調(diào)用進(jìn)行管理,它主要負(fù)責(zé)初始化IO口;等待鍵盤的</p><p>  鍵被按下,并調(diào)用相應(yīng)的模塊進(jìn)行處理;在適當(dāng)?shù)臅r候接受A/D采樣的數(shù)據(jù),并與所設(shè)&

65、lt;/p><p>  定的值進(jìn)行比較,然后通過調(diào)用PID算法處理數(shù)據(jù),處理后來控制繼電器的通斷,從而</p><p>  控制熱電管達(dá)到控制水溫的目的。</p><p>  4.2 程序流程圖及部分程序</p><p>  4.2.1主程序模塊 </p><p>  由于模塊化程序的設(shè)計,通過調(diào)用程序即可實現(xiàn)所用功能,主

66、程序流程圖如圖14</p><p>  所示。寫程序時,調(diào)用程序前即系統(tǒng)運行首要先對系統(tǒng)進(jìn)行初始化。然后對按鍵進(jìn)行掃</p><p>  描,對按鍵事件做出相應(yīng)的反應(yīng)。接下來看是否有溫度數(shù)據(jù)采集到,如果有就進(jìn)行A/D</p><p>  采樣及PID處理數(shù)據(jù),最后所得結(jié)果與設(shè)定值比較從而控制繼電器通斷。</p><p>  4.2.2 系統(tǒng)初

67、始化 </p><p>  系統(tǒng)初始化包括A/D口初始化、按鍵初始化等。對端口的初始化即是對端口相應(yīng)位</p><p>  進(jìn)行設(shè)置,這些初始化程序都嵌入在各個子程序里面。 </p><p>  4.2.3 按鍵程序 </p><p>  按鍵掃描:由于機(jī)械觸點有彈性,在按下或彈起按鍵時會出現(xiàn)彈跳抖動過程,從最</p><

68、p>  初按下到接觸穩(wěn)定要經(jīng)過數(shù)毫秒的彈跳時間,因此為了保證探險鍵識別的準(zhǔn)確性,必須</p><p>  消除抖動。鍵值處理:圖15是對鍵值的處理流程圖。 </p><p>  4.2.4 A/D采樣數(shù)據(jù)處理 </p><p>  當(dāng)采樣到溫度數(shù)據(jù)時,為了防止在采樣過程中外界干擾而造成采樣數(shù)據(jù)的不準(zhǔn)確,</p><p>  必須調(diào)用溫

69、度均值處理程序,然后確定溫度系數(shù)使采樣轉(zhuǎn)換得到的電壓信號轉(zhuǎn)換成溫度</p><p>  值,并進(jìn)行十進(jìn)制轉(zhuǎn)換,用于顯示和PID計算。其中均值處理是一個重要的環(huán)節(jié),是</p><p>  A/D轉(zhuǎn)換前必不可少的工具,流程圖如圖16所示。 </p><p>  4.2.5 PID計算 </p><p>  由于單片機(jī)控制是一種采樣控制,系統(tǒng)中

70、PID調(diào)節(jié)規(guī)律可通過數(shù)值公式近似計算。</p><p>  由此可得增量式算法公式: </p><p>  這個計算的過程可用一個簡單的程序來實現(xiàn)。</p><p>  4.2.6 繼電器控制 </p><p>  繼電器是和AT89C51單片機(jī)的P25口相連的,它的開斷完全取決于P25口的輸出,</p><p>  

71、即PID計算的結(jié)果。當(dāng)輸出小于零說明設(shè)定值小于實際輸出值,這是就要關(guān)閉電爐,同</p><p>  時關(guān)閉定時器的計時。如果輸出值大于設(shè)定值5攝氏度時就可以開電爐對水開始加熱。</p><p>  如果設(shè)定值與實際輸出值差值在5攝氏度以內(nèi)時,我們就調(diào)用中斷程序定時加熱。 </p><p>  圖17數(shù)據(jù)采樣中斷服務(wù)程序的流程圖,此中斷程序采用的是2Hz中斷定時<

72、;/p><p>  0.5秒鐘采樣一次。 </p><p>  圖18控制程序的中斷服務(wù)程序,用來對繼電器定時加熱。它利用中斷定時器10ms</p><p>  確定加熱時間,當(dāng)加熱時間未到時,繼續(xù)時間累積,若加熱時間到時,就調(diào)用關(guān)定時器子程序,停止計時。 </p><p>  4.2.7 單片機(jī)最小系統(tǒng) </p><p&

73、gt;  在以單片機(jī)為控制核心的控制系統(tǒng)中,單片機(jī)擔(dān)負(fù)著接受外部信號,發(fā)出控制指令</p><p>  等重要作用,是構(gòu)建控制系統(tǒng)的前提,所以在開始直流電機(jī)控制系統(tǒng)的設(shè)計之前必須首</p><p>  先搭建起一套能正常工作的單片機(jī)最小系統(tǒng)。 最小系統(tǒng)是實現(xiàn)實驗的一個最基本的關(guān)</p><p>  鍵環(huán)節(jié),它的好壞決定了一個系統(tǒng)的好壞,所以說最小系統(tǒng)是單片機(jī)里最基

74、本的系統(tǒng),</p><p><b>  也是重要的系統(tǒng)。 </b></p><p>  4.3 系統(tǒng)安裝調(diào)試與測試 </p><p><b>  1 測觸點電阻 </b></p><p>  用萬能表的電阻檔,測量常閉觸點與動點電阻,其阻值應(yīng)為0;而常開觸點與動點</p><p&

75、gt;  的阻值就為無窮大。由此可以區(qū)別出那個是常閉觸點,那個是常開觸點。經(jīng)測試本系統(tǒng)</p><p>  使用的繼電器為常開式。 </p><p><b>  2 測線圈電阻 </b></p><p>  可用萬能表R×200Ω檔測量繼電器線圈的阻值,從而判斷該線圈是否存在著開路現(xiàn)象。 </p><p>  

76、3 測量吸合電壓和吸合電流 </p><p>  找來可調(diào)穩(wěn)壓電源和電流表,給繼電器輸入一組電壓,且在供電回路中串入電流表</p><p>  進(jìn)行監(jiān)測。慢慢調(diào)高電源電壓,聽到繼電器吸合聲時,記下該吸合電壓和吸合電流。為</p><p>  求準(zhǔn)確,可以試多幾次而求平均值。 </p><p>  4 測量釋放電壓和釋放電流 </p>

77、;<p>  進(jìn)行連接測試,當(dāng)繼電器發(fā)生吸合后,再逐漸降低供電電壓,當(dāng)聽到繼電</p><p>  器發(fā)生釋放聲音時,記下此時的電壓和電流,亦可嘗試多幾次而取得平均的釋</p><p>  放電壓和釋放電流。一般情況下,繼電器的釋放電壓約在吸合電壓的10~50%,</p><p>  如果釋放電壓太?。ㄐ∮?/10的吸合電壓),則不能正常使用了,這樣會

78、對電</p><p>  路的穩(wěn)定性造成威脅,工作不可靠。 </p><p><b>  第五章 結(jié)論</b></p><p>  此課程設(shè)計是溫度傳感器系統(tǒng)的設(shè)計,首先是方案的選擇,這是課程設(shè)計的最主要</p><p>  的環(huán)節(jié)。然后進(jìn)行軟件編程,通過數(shù)據(jù)線連接電腦下載編好的程序,進(jìn)行調(diào)試。再接下</p

79、><p>  來是添加單元電路,并進(jìn)行調(diào)試。調(diào)試過程中,遇到不少問題,主要是經(jīng)驗不足,經(jīng)過</p><p>  不停的摸索,問題基本上得到了解決。我也懂得了系統(tǒng)要有良好的控制效果,其前端采</p><p>  集溫度信號需要足夠精確,其次系統(tǒng)的構(gòu)成要簡單實用,實時監(jiān)控系統(tǒng)狀態(tài)參數(shù),并且</p><p>  運用多種算法使得數(shù)據(jù)更為接近真實值。 此

80、次系統(tǒng)設(shè)計中主要難題為控制系統(tǒng)輸出控</p><p>  制和PID控件,系統(tǒng)PID輸出為模擬信號而該系統(tǒng)的控制對象為一加熱棒,因此一般的</p><p>  執(zhí)行器無法滿足控制需求,而使用普通的觸點式繼電器會因頻繁開關(guān)而產(chǎn)生電弧,可能</p><p>  導(dǎo)致事故發(fā)式繼電器的不足。PID控件的難題在于參數(shù)整定,對于本系統(tǒng)來說參數(shù)整定</p><

81、p>  只能使用經(jīng)驗湊試,而且調(diào)試的時候一定要耐心。 </p><p>  總的來說通過這次設(shè)計實驗,學(xué)到了很多東西,分析問題的能力都得到了提高,重</p><p>  要的是建立了對電子設(shè)計興趣。最大的體會還是理論運用到實踐還是有很大差距,理論</p><p>  學(xué)得再好到了實際運用的時候還是會出現(xiàn)很多問題,這些問題通過多實踐積累經(jīng)驗可以</p>

82、;<p><b>  得到解決。</b></p><p><b>  致 謝 </b></p><p>  本課題的研究是在王老師的精心指導(dǎo)下完成的,從課程學(xué)習(xí)、論文選題直至最后完</p><p>  稿,無不浸透著老師的心血。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和淵博的知識給我留下了深刻的印象,</p>&

83、lt;p>  使我終生難忘。從尊敬的老師身上,我不僅學(xué)到了扎實、寬廣的專業(yè)知識,也學(xué)到了做</p><p><b>  事做人的道理。</b></p><p>  在我最后校園生活的一段時間內(nèi),非常感謝王老師對我的學(xué)習(xí)和畢業(yè)設(shè)計上的幫</p><p>  助,在這里真心地說一句:“老師,您辛苦了?!蔽疫€要感謝我的各位老師,是你們傳授<

84、;/p><p>  了我知識,給了我無私的照顧和關(guān)愛,祝你們工作順利、永遠(yuǎn)健康快樂。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]黃智偉. 全國大學(xué)生電子設(shè)計競賽電路設(shè)計. 北京:北京航天航空大學(xué)出版社,2007 </p><p>  [2]黃智偉. 全國大學(xué)生電子設(shè)計競賽技能訓(xùn)練. 北京:北京航

85、天航空大學(xué)出版社,2007 </p><p>  [3]黃智偉. 全國大學(xué)生電子設(shè)計競賽制作實訓(xùn). 北京:北京航天航空大學(xué)出版社,2007 </p><p>  [4]譚浩強(qiáng). C程序設(shè)計. 北京:清華大學(xué)出版社,2002 </p><p>  [5]胡壽松.自動控制原理(第四版). 北京:科學(xué)出版社, 2000,P220~236</p><p&

86、gt;<b>  附件一(程序代碼)</b></p><p>  #include <AT89C51.h> </p><p>  #include <intrins.h> </p><p>  #define uint unsigned int </p><p>  #define uchar u

87、nsigned char </p><p>  sbit S1 = P2^5; </p><p>  sbit S2 = P2^6; </p><p>  sbit S3 = P2^7; </p><p>  unsigned GetCh (void) </p><p>  { unsigned char s =

88、0,k = 0; </p><p>  if(!S1) s = 1; //對于不同按鍵按下賦予不同數(shù)值,以供后面程序判斷 </p><p>  if(!S2) s = 2; </p><p>  if(!S3) s = 3; </p><p><b>  k = s; </b></p>&

89、lt;p><b>  if(s) </b></p><p>  { while(s) </p><p>  { delay(1000); </p><p><b>  s = 0; </b></p><p>  if(!S1) s = 1; </p><p>  

90、if(!S2) s = 2; </p><p>  if(!S3) s = 3; </p><p><b>  } </b></p><p><b>  } </b></p><p>  return k; </p><p><b>  } </b>&l

91、t;/p><p>  //以下是A/D轉(zhuǎn)換程序 </p><p>  void System_Initial (void) </p><p>  { CS = 1; </p><p><b>  WR = 1; </b></p><p><b>  RD = 1; </b><

92、;/p><p><b>  } </b></p><p>  void GetAD(void) </p><p>  { CS = 0; </p><p>  nop(); //空操作 </p><p><b>  WR1 = 0; </b></p><p&

93、gt;  Delay(100); </p><p><b>  WR1 = 1; </b></p><p><b>  nop(); </b></p><p><b>  CS = 1; </b></p><p>  while(!INTR); </p><

94、p><b>  nop(); </b></p><p><b>  CS = 0; </b></p><p><b>  nop(); </b></p><p><b>  RD1 = 0; </b></p><p><b>  nop()

95、; </b></p><p>  dat = P2; </p><p><b>  RD1 = 1; </b></p><p><b>  nop(); </b></p><p><b>  CS = 1; </b></p><p>  ch

96、 = dat; //ch是全局變量 </p><p>  int adc_data; </p><p>  if(G_ADC_flag) //判斷是否有溫度采樣 1,有 0,無 </p><p>  { G_ADC_flag = 0; </p><p>  adc_data = adc_data_cmp();

97、</p><p>  adc_data /= SET_ADC_TIME; //計算溫度平均值 </p><p>  if(adc_data >0x0255) K = 0.079; //確定溫度系數(shù) </p><p>  else K = 0.076; </p><p>  fT = adc_data * K;

98、 //換算成溫度值 </p><p>  //將溫度值轉(zhuǎn)換成十進(jìn)制用于LED顯示 </p><p>  guiLED_Value[0] = (int)fT/10; </p><p>  guiLED_Value[1] = (int)fT%10; </p><p>  guiLED_Value[2] = (int)(f

99、T*10)%10; </p><p>  stPID.Proportion = 1; // 設(shè)置PID比例值 </p><p>  stPID.Integral = 0.5; // 設(shè)置PID積分值 </p><p>  stPID.Derivative = 0.0; // 設(shè)置PID微分值

100、</p><p>  Out = 100*PIDCalc ( &stPID,(int)(fT*10) ); // PID計算 </p><p><b>  } </b></p><p><b>  } </b></p><p>  //函數(shù): int adc_data_cmp() <

101、;/p><p>  //語法: int adc_data_cmp() </p><p>  //描述: ADC采樣數(shù)據(jù)的均值處理,抗干擾作用 </p><p><b>  //參數(shù): 無 </b></p><p><b>  //返回: 無 </b></p><p>  int

102、adc_data_cmp() </p><p>  { int max; </p><p><b>  int min; </b></p><p><b>  int Sum; </b></p><p><b>  int i; </b></p><p&

103、gt;  max = ADC_DataSave[0]; </p><p>  for(i=0;i<10;i++) </p><p>  { if(ADC_DataSave[i]>max) </p><p>  max = ADC_DataSave[i]; //取出最大值 </p><p><

104、b>  } </b></p><p>  min = ADC_DataSave[i]; </p><p>  for(i=0;i<10;i++) </p><p>  { if(ADC_DataSave[i]<min) </p><p>  min = ADC_DataSave[i]; //取

105、出最小值 </p><p><b>  } </b></p><p>  for(i=0;i<10;i++) </p><p>  Sum += ADC_DataSave[i]; //計算累計值 </p><p>  Sum = Sum - max-min; /

106、/排除最大最小值 </p><p>  return(Sum); </p><p><b>  } </b></p><p>  //PID算法子程序 </p><p>  //函數(shù): void PID_Initial(void) </p><p>  //語法:void PID_Initial(

107、void) </p><p>  //描述:PID初始化 </p><p><b>  //參數(shù):無 </b></p><p><b>  //返回:無 </b></p><p>  void PID_Initial(void) </p><p>  { stPID.Last

108、Error = 0; </p><p>  stPID.PrevError = 0; </p><p>  stPID.SumError = 0; </p><p><b>  } </b></p><p>  //函數(shù):float PIDCalc( PID *pp, int NextPoint ) </p>

109、<p>  //語法:float PIDCalc( PID *pp, int NextPoint ) </p><p>  //描述:PID計算 </p><p>  //參數(shù):1、PID數(shù)值2、采樣溫度值 </p><p>  //返回:PID輸出值 </p><p>  float PIDCalc( PID *pp, int

110、 NextPoint ) </p><p>  { int dError, </p><p><b>  Error; </b></p><p>  Error = pp->SetPoint*10 - NextPoint; // 偏差 </p><p>  pp->SumError

111、 += Error; // 積分 </p><p>  dError = pp->LastError - pp->PrevError; // 當(dāng)前微分 </p><p>  pp->PrevError = pp->LastError; </p><p>  pp->La

112、stError = Error; </p><p>  return (pp->Proportion * Error // 比例項 </p><p>  + pp->Integral * pp->SumError // 積分項 </p><p>  + pp->De

113、rivative * dError // 微分項 </p><p><b>  ); </b></p><p><b>  } </b></p><p>  //繼電器控制子程序 </p><p>  //函數(shù): void active() </p><

114、;p>  //語法:void active() </p><p>  //描述:PID輸出值的處理 </p><p><b>  //參數(shù):無 </b></p><p><b>  //返回:無 </b></p><p>  void active() </p><p>

115、;  { if(Out<=0) </p><p>  { turn_off_relay(); //溫度高于設(shè)定值,關(guān)閉電爐 </p><p>  turn_off_timerB(); //停止計時 </p><p><b>  } </b></p><p><

116、b>  Else </b></p><p>  { if(Out>30*stPID.Proportion) //溫度低于設(shè)定值2攝氏度 </p><p>  turn_on_relay(); //開電爐加熱 </p><p><b>  else </b></p><p&

117、gt;  { turn_on_relay(); </p><p>  SP_INT_TIMEB() </p><p>  } //初始化定時器,開始定時加熱 </p><p><b>  } </b></p><p><b>  } </b></p>&l

118、t;p>  //函數(shù): 主程序 </p><p>  //語法:int main(void) </p><p>  //描述:鍵盤掃描、溫度控制 </p><p><b>  //參數(shù):無 </b></p><p><b>  //返回:無 </b></p><p> 

119、 int main(void) </p><p>  { int KeyValue; </p><p>  status = temperature_set; </p><p>  System_Initial(); </p><p>  PID_Initial(); //PID初始化</p><p><b&

120、gt;  while(1) </b></p><p>  { KeyValue = GetCh(); //鍵盤掃描、去抖動處理、取鍵值 </p><p>  key_value_process(KeyValue); //鍵值處理 </p><p>  if(status = temperature_control) </p

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

評論

0/150

提交評論