版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 本系統(tǒng)采用單片機(C8051F020)作為溫度自動控制系統(tǒng)的控制、計算、顯示的核心部件,來實現(xiàn)對控制系統(tǒng)的溫度的自動控制與可調(diào)。電路由溫度信號采集、溫度控制、PWM變換、顯示及聲光指示等四部分組成。溫度傳感器選用線性溫度/電壓傳感器LM35,采用TI公司生產(chǎn)的四位半雙積分A/D轉(zhuǎn)換器ICL7135讀取溫度值采樣,利用它所采集的
2、反饋值與目標溫度進行比較后,采用PID控制算法,有效地減小系統(tǒng)的超調(diào)量與穩(wěn)態(tài)誤差,來快速地達到所要求的5℃~35℃的范圍內(nèi)的某一設定值。采用陶瓷半導體制冷片作為加熱、制冷的換能元件。系統(tǒng)采用閉環(huán)控制原理,使用PID算法,在線調(diào)試整定其比例系數(shù)KP、積分系數(shù)KI、微分系數(shù)KD,決定PWM的占空比,變換成0—12V的可調(diào)電壓作用在制冷片的兩端,通過繼電器的切換,實現(xiàn)加熱與制冷。 </p><p> 關鍵詞:溫度采集
3、與變換 PID算法 PWM波輸出 溫升曲線顯示 </p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><p> AbstractⅡ</p><p><b> 緒論1 </b></p><p> 1
4、 溫度控制的發(fā)展2</p><p> 1.1 溫度控制的發(fā)展及意義2</p><p> 1.2 課題的背景2</p><p> 2 PID 控制原理4</p><p> 2.1 PID控制的原理和特點4</p><p> 2.1.1 PID增量型算法4</p><p>
5、 2.1.2 PID參數(shù)整定4</p><p> 2.1.3 PID算法程序4</p><p> 3 系統(tǒng)總體設計6</p><p> 3.1 方案的設計與論證6</p><p> 3.1.1 控制對象分析6</p><p> 3.1.2 方案選擇6</p><p>
6、3.2 系統(tǒng)總體結(jié)構(gòu)7</p><p> 3.3 系統(tǒng)的具體設計與實現(xiàn)7</p><p> 3.3.1 硬件系統(tǒng)設計7</p><p> 3.3.2 軟件系統(tǒng)設計10</p><p> 3.3.3 PID參數(shù)工程整定法11</p><p> 3.3.4 16位脈寬調(diào)制器方式11</p>
7、<p> 3.3.5 16位脈寬調(diào)制器方式PWM輸出子函數(shù)12</p><p> 3.3.6 PCA CLOCK信號13</p><p> 3.3.7 數(shù)字濾波13</p><p> 3.4 系統(tǒng)調(diào)試與測試13</p><p> 3.4.1 溫度采集部分調(diào)試14</p><p> 3
8、.4.2 控制與采集電路調(diào)試14</p><p> 3.4.3 溫度自動控制測試結(jié)果14</p><p><b> 結(jié)論15</b></p><p><b> 注釋16</b></p><p><b> 致謝17</b></p><p>
9、;<b> 參考文獻18</b></p><p> 附錄1系統(tǒng)總硬件原理圖19</p><p> 附錄2系統(tǒng)總硬件PCB板圖20</p><p> 附錄3 系統(tǒng)主程序21</p><p><b> 緒 論</b></p><p> 伴隨著電子技術、半導體技
10、術的發(fā)展,數(shù)字系統(tǒng)在測控領域的應用日益廣泛。以集成電路為基礎的數(shù)字系統(tǒng)逐漸取代了以分立元件為基礎的模擬系統(tǒng)。單片機的出現(xiàn)是近代計算機技術發(fā)展史上的一個重要里程碑。在單片機誕生之前,為了滿足工控對象的嵌入式應用要求,只能將通用計算機進行機械加固、電氣加固后嵌入到對象體系中。但由于通用計算機的巨大體積和高成本無法嵌入到大多數(shù)對象體系中。單片機應嵌入式應用而生,它的微小體積和低成本可廣泛應用在儀器儀表和工業(yè)控制單元中。</p>
11、<p> 近些年計算機領域的變化令人目不暇接,而單片微型計算機(簡稱單片機),作為微型計算機家族中的一員、發(fā)展中的一個分支,以其體積小、單一電源、功能強、價格低廉、低功耗、運算速度快、可靠性高、面向控制等獨特優(yōu)點,稱為自動化和各個測控領域中廣泛應用的器件,在工業(yè)生產(chǎn)中稱為必不可少的器件,尤其是在日常生活中發(fā)揮的作用也越來越大。在我國高校的工科院校中,已普遍開設單片機及其相關課程,單片機已成為電子系統(tǒng)中最普便的應用手段。在許多
12、實踐環(huán)節(jié)中,如課程設計、畢業(yè)設計、電子競賽等,采用單片機系統(tǒng)來解決各類電子技術問題已成趨勢。在溫度控制系統(tǒng)中,單片機更是起到了不可替代的核心作用。</p><p> 基于以上的條件,我們選擇了單片機系統(tǒng)作為本畢業(yè)設計的應用手段。</p><p> 溫度檢測與控制系統(tǒng)在工業(yè)控制中應用廣泛,像在半導體、冶金、化工等領域隨處可見。溫度采集與控制系統(tǒng)的設計對自動化專業(yè)的學生而言是經(jīng)典的、涵蓋知
13、識面廣的題目。溫度采集與控制系統(tǒng)是單片機系統(tǒng)應用、高精度檢測以及控制算法的程序?qū)崿F(xiàn)的集合。采用單片機為CPU的系統(tǒng)對某些控制系統(tǒng)的控制可以得到良好的效果。作為畢業(yè)設計的課題,它具有很強的實用性。</p><p><b> 1 溫度控制的發(fā)展</b></p><p> 1.1 溫度控制的發(fā)展及意義</p><p> 現(xiàn)代工業(yè)設計、工程建設及
14、日常生活中常常需要用到溫度控制,早期溫度控制主要應用于工廠中,例如鋼鐵的水溶溫度,不同等級的鋼鐵要通過不同溫度的鐵水來實現(xiàn),這樣就可能有效的利用溫度控制來掌握所需要的產(chǎn)品了?! ≡诂F(xiàn)代社會中,溫度控制不僅應用在工廠生產(chǎn)方面,其作用也體現(xiàn)到了各個方面,隨著人們生活質(zhì)量的提高,酒店廠房及家庭生活中都會見到溫度控制的影子,溫度控制將更好的服務于社會。</p><p><b> 1.2 課題的背景</
15、b></p><p> 隨著電子技術的發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來了根本性的變化,如果說微型計算機的出現(xiàn)使現(xiàn)代的科學研究得到了質(zhì)的飛躍,那么單片機技術的出現(xiàn)則是給現(xiàn)代工業(yè)控制測控領域帶來了一次新的革命。目前,單片機在工業(yè)控制系統(tǒng)諸多領域得到了極為廣泛的應用。特別是其中的C51系列的單片機的出現(xiàn),具有更好的穩(wěn)定性,更快和更準確的運算精度,推動了工業(yè)生產(chǎn),影響著人們的工作和學習[1]
16、。</p><p> 溫度是工業(yè)生產(chǎn)中常見的工藝參數(shù)之一,任何物理變化和化學反應過程都與溫度密切相關,因此溫度控制是生產(chǎn)自動化的重要任務。對于不同生產(chǎn)情況和工藝要求下的溫度控制,所采用的加熱方式,燃料,控制方案也有所不同。例如冶金、機械、食品、化工等各類工業(yè)生產(chǎn)中廣泛使用的各種加熱爐、熱處理爐、反應爐等;燃料有煤氣、天然氣、油、電等;控制方案有直接數(shù)字控制(DDC),推斷控制,預測控制,模糊控制(Fuzzy),
17、專家控制(Expert Control),魯棒控制(Robust Control),推理控制等。 隨著集成電路技術的發(fā)展,單片微型計算機的功能也不斷增強,許多高性能的新型機種不斷涌現(xiàn)出來。單片機以其功能強、體積小、可靠性高、造價低和開發(fā)周期短等優(yōu)點,在工業(yè)生產(chǎn)中如:用于熱處理的加熱爐、用于融化金屬的坩鍋電阻爐、反應爐、鍋爐等,在日常生活中如:熱水器、電熱毯等等,都用到了電阻加熱的原理。隨著生產(chǎn)的發(fā)展,在工業(yè)中,上述設備對溫度的控制要
18、求越來越高,隨著人們生活水平的提高,對日常用品的自動化也提出了更高的要求,單片機的不斷更新?lián)Q代,滿足了上述的要求,達到自動控制品質(zhì)的目的。本溫度控制系統(tǒng)的對象是一封閉</p><p> 本次設計的論文題目是溫度控制系統(tǒng)的程序設計。主要涉及三個方面:控制算法的實現(xiàn)以及應用程序的設計;設計系統(tǒng)輸出驅(qū)動電路的實現(xiàn);單片機系統(tǒng)設計及將其應用于溫度采集與控制系統(tǒng)中。圍繞著實際應用的要求,重點解決:單片機應用系統(tǒng)中控制程
19、序設計、系統(tǒng)對輸出控制精度、對可靠性、穩(wěn)定性的要求等方面的電路設計。</p><p> 2 PID 控制原理</p><p> 2.1 PID控制的原理和特點 </p><p> 2.1.1 PID增量型算法</p><p> PID增量型算法表達式見公式(2-1)</p><p> △U(n)=KP[e(
20、n)-e(n-1)]+KIe(n)+KD[e(n)-2e(n-1)+e(n-2)] (2-1)</p><p> 誤差為e(n)=r(n)-c(n)。 </p><p> 其中,n—第n次采樣,r(n)—設定溫度,c(n)—實際溫度。</p><p> 當|e|>
21、;c時,uk(n)=最大(Max)或最?。∕in);</p><p> 當0<|e|<c時,見公式(2-2)</p><p> uk(n)=KPe(n)+ KI+KD (2-2)</p><p> 式中,c—根據(jù)實驗得到的溫差整定。</p><p> 增量型算法具有以下優(yōu)點:</p>
22、<p> (1) 增量型算法不需要做累加,控制量增量的確定僅與最近的幾次誤差采樣值有關,計算誤差或計算精度問題對控制量的計算影響較小。</p><p> ?。?) 增量型算法得出的是控制量的增量,例如閥門控制中,只輸出閥門開度的變化部分,誤動作影響小,必要時通過邏輯判斷限制或禁止本次輸出,不會嚴重影響系統(tǒng)的工作。</p><p> ?。?) 采用增量型算法,易于實現(xiàn)手動到自
23、動的無沖擊切換。</p><p> 2.1.2 PID參數(shù)整定調(diào)試</p><p> 比例系數(shù)KP的增大能夠加快系統(tǒng)的響應,在有靜差的情況下有利于減小靜差。但過大的比例系數(shù)Kp會使系統(tǒng)有較大的超調(diào),并產(chǎn)生振蕩,使穩(wěn)定性變壞。</p><p> 積分系數(shù)KI的減小有利于減小超調(diào),減小振蕩,使系統(tǒng)更加穩(wěn)定,但系統(tǒng)靜差的消除將隨之減慢。</p>&l
24、t;p> 微分系數(shù)KD的增大亦將有利于加快系統(tǒng)響應,使超調(diào)量減小,穩(wěn)定性增加,但系統(tǒng)對擾動的抑制能力減弱,對擾動有較敏感的響應。</p><p> 在對參數(shù)實行下述先比例、后積分、再微分的整定步驟。</p><p> (1) 整定比例部分。將比例系數(shù)由小變大,并觀察相應的系統(tǒng)響應,直至得到反應快、超調(diào)小的響應曲線。如果系統(tǒng)沒有靜差或靜差已小到允許范圍內(nèi),并且響應曲線已屬滿意,那
25、么只需要比例控制器即可,比例系數(shù)可由此確定。</p><p> ?。?) 加入積分環(huán)節(jié)。如果在比例調(diào)節(jié)的基礎上系統(tǒng)的靜差不能滿足設計的要求,則需要加入積分環(huán)節(jié)。整定時首先置積分時間TI為一較大值,并將第一步整定得到的比例系數(shù)略微縮?。ㄈ缈s小為原值的0.8倍),然后減小積分時間,使在保持系統(tǒng)良好動態(tài)性能的情況下,消除靜差。在此過程中,可根據(jù)響應曲線的好壞反復改變比例系數(shù)與積分時間,以期得到滿意的控制過程與整定參數(shù)。
26、</p><p> ?。?)加入微分環(huán)節(jié)。若使用比例積分控制器消除了靜差,但動態(tài)過程經(jīng)反復調(diào)整依舊不能滿意,則可加入微分環(huán)節(jié),構(gòu)成比例積分微分控制器。在整定時,可先置微分時間TD為零。在第二步整定的基礎上,增大TD,同時相應地改變比例系數(shù)與積分時間,逐步湊試,以獲得滿意的調(diào)節(jié)效果和控制參數(shù)[2]。</p><p> 2.1.3 PID算法程序</p><p>
27、增量式PID算法 ,Y為采樣值 ,Rk為目標溫度控制值,返回的結(jié)果來控制PWM波的生成。此函數(shù)按照一定的控制周期不斷地調(diào)用,RK≥Y 返回正值,RK≤Y返回負值。</p><p> double IncrementPID(double Rk,double Y) </p><p><b> {</b></p><p> double Ek
28、;</p><p> double result;</p><p><b> Ek=Rk-Y;</b></p><p><b> err=Ek;</b></p><p> result=Kp*(Ek-Ek1)+Ki*Ek+Kd*(Ek-2*Ek1+Ek2);</p><p
29、><b> Ek2=Ek1;</b></p><p><b> Ek1=Ek;</b></p><p> return (result*10);</p><p><b> }</b></p><p><b> 3 系統(tǒng)總體設計</b>&l
30、t;/p><p> 3.1 方案的設計與論證</p><p> 3.1.1 控制對象分析:</p><p> 被測對象是100mm*100mm*100mm的箱體,對于溫控對象,其數(shù)學模型一般可認為具有以下的傳遞函數(shù)形式,見式(3-1): </p><p><b> (3-1)</b></p><p
31、> 其中,K—比例系數(shù),T—時間常數(shù),τ—滯后時間。 </p><p> 由于被控制對象的非線性,并且具有較大的慣性和滯后的特點,設計時采用PID控制算法,利用單片機的脈寬調(diào)制輸出達到系統(tǒng)性能指標的要求。</p><p><b> 3.1.2方案選擇</b></p><p> (1) 單片機的選擇</p&g
32、t;<p> 方案一:此方案采用單片機89C52作為系統(tǒng)控制核心。該單片機軟件編程靈活,自由度大,可用軟件編程實現(xiàn)各種控制算法和邏輯控制。但由于其I/O口線較少,片內(nèi)數(shù)據(jù)存儲器與程序存儲器有限,若擴展外部存儲器,則系統(tǒng)較為復雜,故不選用此方案。</p><p> 方案二:本方案采用的單片機C8051F020作為溫度自動控制系統(tǒng)的控制、計算、顯示的核心部件。該單片機內(nèi)部存儲空間大,運算速度快,其內(nèi)
33、部自帶PWM輸出模塊,可大大提高單片機的控制效率。其I/O口線較多,能處理繁雜的鍵盤與液晶顯示任務,增強了單片機對外圍接口的處理能力[3]。</p><p><b> 故我們選用方案二。</b></p><p> (2) 溫度傳感器的選擇</p><p> 方案一:選用數(shù)字溫度傳感器DS18B20,它是數(shù)字溫度傳感器,不需要A/D轉(zhuǎn)換,使
34、用起來方便,但其固有分辨率只有0.5℃,這種溫度數(shù)字式的溫度傳感器,測量精度較差[4]。</p><p> 方案二:選用性能較好的線性溫度--電壓傳感器LM35DZ,該傳感器是溫度--電壓變換器,其轉(zhuǎn)換關系見(3-2):</p><p> Vout=10mV/℃ * T℃ (3-2)</p><p> 其中,
35、T為溫度值,Vout是溫度所對應的電壓值。LM35DZ的性能描述如表3-1所示。</p><p> 表3-1 LM35DZ性能描述:</p><p> LM35溫度傳感器與7135A/D轉(zhuǎn)換器配合使用,測量精度可以達到0.01℃。經(jīng)過研究與比較后,我們選用方案二。</p><p> 3.2 系統(tǒng)總體結(jié)構(gòu)</p><p> 在系統(tǒng)構(gòu)
36、建時選取單片機C8051F020作為該系統(tǒng)的控制核心,以實現(xiàn)對系統(tǒng)溫度的自動控制與可調(diào)[5]。單片機通過對4½ 雙積分A/D轉(zhuǎn)換器ICL7135 所采集的反饋值與目標溫度進行比較后,采用PID控制算法,有效地減小系統(tǒng)的超調(diào)量與穩(wěn)態(tài)誤差,來快速地達到所要求的5℃~35℃的范圍內(nèi)的某一設定值,最終由C8051F020產(chǎn)生的PWM波通過光耦隔離器件經(jīng)線性變換電路產(chǎn)生0-12V可調(diào)電壓,并通過對繼電器的通斷調(diào)節(jié)來實現(xiàn)制冷片的加熱與制冷
37、,從而實現(xiàn)對控制對象溫度的自動調(diào)節(jié)。系統(tǒng)總框圖如圖3-1所示。</p><p> 圖3-1 系統(tǒng)總框圖</p><p> 3.3 系統(tǒng)的具體設計與實現(xiàn)</p><p> 3.3.1 硬件系統(tǒng)設計</p><p> (1) A/D轉(zhuǎn)換器ICL7135</p><p> ICL7135與C8051F020接口
38、電路原理圖如圖3-2所示[6]。</p><p> 圖3-2 ICL7135與C8051F020簡易接口電路原理圖</p><p> ICL7135僅用三根I/O口線與單片機C8051F020相接。圖中用ICL7135的BUSY端接CPU的外部中斷INT0,利用BUSY信號作為計數(shù)器的門控信號。POL為信號的極性輸出端,接CPU的P0.0,高電平表示被測信號為正極性,低電平表示被測
39、信號為負極性。CPU的ALE端口為ICL7135 提供921.6KHZ的CLK信號。 </p><p> 在A/D轉(zhuǎn)換階段,狀態(tài)輸出引腳BUSY為高電平,這個高電平一直持續(xù)到A/D轉(zhuǎn)換結(jié)束。我們利用單片機內(nèi)部定時器對ICL7135的時鐘脈沖計數(shù)。ICL7135對信號積分階段10001個計數(shù)脈沖是固定的,則有式(3-3):</p><p> 輸入信號的
40、A/D轉(zhuǎn)換值= BUSY高電平期間內(nèi)計數(shù)器計數(shù)值 – 10001 (3-3)</p><p> 在中斷服務程序中,讀出輸入信號的A/D轉(zhuǎn)換值,即可轉(zhuǎn)換為當前的溫度值。</p><p> 為了滿足精度的要求,采用了精密的電壓基準源MC1403為ICL7135提供0.5V的基準電壓。ICL7135的滿量程為基準電壓的兩倍。</p><p> 因此,LM35與
41、ICL7135配合使用,200個數(shù)字量/℃,測量精度能達到0.01℃。</p><p> (2) PWM波變換</p><p> 對該部分電路設計,主要應解決兩方面的問題:強電和弱電的隔離及對制冷片的加熱與制冷的控制。這里我們利用了PWM波的線性變換來實現(xiàn)該要求。</p><p> 首先,CPU對PID算法產(chǎn)生的控制量送P1.0,經(jīng)光電隔離,穩(wěn)壓、放大,兩級
42、RC濾波,最后經(jīng)射級跟隨電路,功放達林頓管TIP142實現(xiàn)電壓可控,其電路原理圖如圖3-3所示。</p><p> 通過對繼電器的切換來實現(xiàn)制冷片的加熱與制冷,最終實現(xiàn)對控制對象的溫度自動調(diào)節(jié)。PWM波的線性變換電路與制冷片的制冷、加熱電路原理圖見圖3-4[7]。</p><p> 圖 3-3 PWM波的線性變換原理圖</p><p> 圖 3-4 制冷
43、片的加熱與制冷電路原理圖</p><p> (3) 鍵盤與液晶顯示板</p><p> 本系統(tǒng)采用內(nèi)藏T6963C控制器的240*128液晶顯示器及6個按鍵,通過按鍵可以設置目標溫度,加熱或致冷。液晶實時顯示相應的溫度調(diào)節(jié)曲線。</p><p> 3.3.2 軟件系統(tǒng)設計</p><p> 溫度自動控制系統(tǒng)結(jié)構(gòu)方框圖如圖3-5所示。
44、</p><p> 圖3-5 溫度自動控制系統(tǒng)結(jié)構(gòu)方框圖</p><p> 為了快速實現(xiàn)制冷片的加熱與制冷,改善調(diào)節(jié)時間、超調(diào)量及穩(wěn)態(tài)誤差,系統(tǒng)采用PID控制算法,以減少系統(tǒng)超調(diào)和靜態(tài)誤差[8]。系統(tǒng)總程序流程圖如圖3-6所示。</p><p> 圖3-6 總程序流程圖</p><p> 3.3.3 PID參數(shù)工程整定法 <
45、/p><p> PID參數(shù)工程整定法的步驟如下:</p><p> (1) 先將切除PID控制器中的積分與微分作用,取比例增益Kp 較小值,并投入閉環(huán)運行;</p><p> (2) 將Kp由小到大變化,對應于某一值Kp作小幅度的設定值階躍響應,直至產(chǎn)生等幅振蕩;</p><p> (3) 設等幅振蕩時振蕩周期為Tcr、控制器增益Kcr
46、,再根據(jù)控制器類型選擇以下PID參數(shù),如表1所示:</p><p> 表1 PID參數(shù)選擇表</p><p> 3.3.4 16位脈寬調(diào)制器方式</p><p> C8051F020每個PCA0模塊都可以工作在16位PWM方式。在該方式下,16位捕捉/比較模塊定義PWM信號低電平時間的PCA0時鐘數(shù)。當PCA0計數(shù)器與模塊的值匹配時,CEXn的輸出被置為高電
47、平;當計數(shù)器溢出時,CEXn的輸出被置為低電平。為了輸出一個占空比可變的波形,新值的寫入應與PCA0 CCFn匹配中斷同步。置‘1’ PCA0CPMn寄存器中的ECOMn、PWMn和PWM16n位將使能16位脈沖寬度調(diào)制器方式。為了輸出一個占空比可變的波形,應將CCFn設置為邏輯‘1’以允許匹配中斷。16位PWM方式的占空比見式(3-4)[9]。</p><p><b> (3-4)</b>
48、;</p><p> 關于捕捉/比較寄存器的重要注意事項:當向PCA0的捕捉/比較寄存器寫入一個16位數(shù)值時,應先寫低字節(jié)。向PCA0CPLn的寫入操作將清‘0’ECOMn位;向PCA0CPHn寫入時將置‘1’ECOMn位,最大占空比為100%(PCA0CPn = 0),最小占空比為0.0015%(PCA0CPn= 0xFFFF)??梢酝ㄟ^清‘0’ECOMn位產(chǎn)生0%的占空比。</p><p
49、> 圖2-1 PCA 的16 位PWM 方式原理框圖</p><p> 16 位脈寬調(diào)制器方式PWM輸出子函數(shù)</p><p> void setting_PWM(float percentage) //輸出占空比一定的PWM波</p><p> { unsigned int result;</p><p> if(
50、percentage>100) percentage=100;</p><p> if(percentage<0) percentage=0.0001; </p><p> percentage=percentage/100;</p><p> percentage=65536-percentage*65536;</p><p
51、> result=percentage;</p><p> PCA0CPL1=(result&0x00ff); </p><p> PCA0CPH1=(result&0xff00)>>8;</p><p><b> }</b></p><p> 功能:setting_PWM(4
52、0),P0.1發(fā)出占空比為40%的16位PWM波。</p><p> 3.3.6 PCA CLOCK信號</p><p> 此CLOCK提供給7135雙積分AD轉(zhuǎn)換器,除了5個16位的通用計數(shù)器/定時器之外,C8051F020 MCU系列還有一個片內(nèi)可編程計數(shù)器/定時器陣列(PCA)。PCA包括一個專用的16位計數(shù)器/定時器時間基準和5個可編程的捕捉/比較模塊。時間基準的時鐘可以是下
53、面的六個時鐘源之一:系統(tǒng)時鐘/12、系統(tǒng)時鐘/4、定時器0溢出、外部時鐘輸入(ECI)、系統(tǒng)時鐘和外部振蕩源頻率/8。每個捕捉/比較模塊都有六種工作方式:邊沿觸發(fā)捕捉、軟件定時器、高速輸出、頻率輸出、8位脈沖寬度調(diào)制器和16位脈沖寬度調(diào)制器。PCA捕捉/比較模塊的I/O和外部時鐘輸入可以通過數(shù)字交叉開關連到MCU的端口I/O引腳[10]。在主函數(shù)內(nèi)要調(diào)用PCA_Init()。</p><p> CLOCK信
54、號輸出函數(shù):</p><p> void PCA_Init()</p><p> { PCA0CN= 0x40; //直接給7135加CLOCK信號</p><p> PCA0MD= 0x01;</p><p> PCA0CPM0= 0x46;</p><p> PCA0CPH0= 0x01;<
55、/p><p> PCA0CPM1= 0xC2;//PWM波生成</p><p> EIE1= 0x08; //PCA</p><p> 3.3.7 數(shù)字濾波</p><p> 所謂數(shù)字濾波,就是通過一定的計算或判斷程序減少干擾在有用信號中的比重,也即是一種程序濾波或軟件濾波。數(shù)字濾波克服了模擬濾波器的不足,是用程序?qū)崿F(xiàn)的,不需要增加硬
56、設備,所以可靠性高、穩(wěn)定性好,且無阻抗匹配問題。常見的數(shù)字濾波方法有:程序判斷濾波、算術平均濾波、中值濾波、慣性濾波、加權平均濾波等。這里限于篇幅僅介紹加權平均濾波法。 在算術平均濾波中,N次采樣值在結(jié)果中占的比例是相等的,即每次采樣值具有相同的加權因子1/N。但有時為了提高濾波效果,往往對不同時刻的采樣值賦以不同的加權因子,這種方法稱為加權平均法。加權平均濾波適用于系統(tǒng)純滯后時間較大而采樣周期較短的過程。 </p>
57、;<p> 3.4系統(tǒng)調(diào)試與測試</p><p> 3.4.1溫度采集部分調(diào)試</p><p> (1) 校準基準電壓。先將ICL7135 的第十腳接地,調(diào)節(jié)電位器,使第二腳的對地電壓(基準電壓)為0.5伏。</p><p> (2) 自制100mV電壓源。接入ICL7035的第十腳。標定AD值為20000。</p><p&
58、gt; 3.4.2控制與采集電路調(diào)試</p><p> (1) 校準OPA132的輸出電壓,使其在0-12V范圍內(nèi)變化。</p><p> (2) 調(diào)節(jié)電位器使得2級RC電路能夠有比較平滑的電壓輸出。</p><p> (3) 控制繼電器線圈的得電,使得制冷片兩端的電壓能夠在0--12V之間切換。</p><p> 3.4.3溫度自
59、動控制測試結(jié)果</p><p><b> 如下表2所示:</b></p><p> 表2 溫度自動控制測試記錄表</p><p><b> 結(jié) 論</b></p><p> 經(jīng)過四年學習的積累,在已經(jīng)掌握相關專業(yè)方面知識及其它各方面知識的情況下,我認真嚴肅的完成了我的畢業(yè)設計。</p
60、><p> 從得到題目到查找資料,從對題目的研究設定到PCB電路板的制作,從電路板的調(diào)試到失敗后再一次全部重新開始……在這一個充滿挑戰(zhàn)伴隨挫折,充滿熱情伴隨打擊的過程中,我感觸頗深,它已不僅是一個對我四年學習知識情況和我的應用動手能力的檢驗,而且還是對我的鉆研精神,面對困難的心態(tài),做事的毅力和耐心的考驗。我在這個過程中深刻的感受到了做畢業(yè)設計的意義所在,和我一樣真正投入了身心去做的人也一定會有同樣的感觸。</
61、p><p> 本設計利用單片機C8051F020低功耗、處理能力強的特點,使用單片機作為主控制器,對木盒內(nèi)環(huán)境溫度進行監(jiān)控。其結(jié)構(gòu)簡單、可靠性較高,具有一定的實用價值和發(fā)展前景。</p><p> 通過測試的數(shù)據(jù)所示,本設計較好的完成了預期設計目標,溫度控制精度達0.01攝氏度以上,調(diào)節(jié)時間短,超調(diào)量小,抗干擾能力強,穩(wěn)定性好。本系統(tǒng)采用C8051F020單片機來實現(xiàn)溫度的自動控制,大大簡
62、化了控制系統(tǒng)的硬件結(jié)構(gòu)。實際上,該系統(tǒng)還能由用戶設定PID調(diào)節(jié)參數(shù),是一個數(shù)字控制器,因而具有較強的實用性和魯棒性。</p><p> 通過此次畢業(yè)設計,讓我對單片機、邏輯電路和控制系統(tǒng)有了更多的更全面系統(tǒng)的了解;鞏固和加深了我對單片機的實用價值的理解;提高了我綜合運用所學知識的能力;培養(yǎng)了我根據(jù)課題需要選學參考書籍、查閱手冊、圖表和文獻資料的自學能力;通過獨立思考,深入鉆研有關問題,學會自己分析解決問題的方法
63、。這次畢業(yè)設計使我熟練的掌握了硬件設計、軟件設計及系統(tǒng)軟、硬件調(diào)試的基本思路、方法和技巧,并能熟練使用當前較流行的一些有關電路設計與分析方面的軟件和硬件,增強了動手能力和樹立了對試驗操作和數(shù)據(jù)分析一絲不茍的的態(tài)度</p><p> 本次設計的完成,對我四年大學所學的東西做了一個完整的綜合,把許多學到的知識付諸實踐;學以致用,這才是學習的根本所在。同時,這次對新知識的學習,也鍛煉了自己的自學能力。在以后的學習當中
64、,更有信心把握自己努力的方向,不斷學習,不斷進步。</p><p><b> 致 謝</b></p><p> 轉(zhuǎn)眼間,大學本科四年的學習生涯即將結(jié)束,在這次畢業(yè)設計的過程中得到了指導教師李川香老師的悉心指導和幫助,李老師在此期間給了我不少的幫助,平日里李老師的工作就十分繁多,但是在我畢業(yè)設計過程當中仍然抽出時間來進行指導,還有自動化系所有的一直支持我們畢業(yè)設計的
65、老師們,正是他們?yōu)槲覀兲峁┝俗詈玫膶嶒瀳鏊?,讓我們能更潛心的研究設計內(nèi)容。其次我也要感謝課題組的各位同學,在畢業(yè)設計的短短4個月里,大家在一起合作都很努力,分工合作,做硬件的做硬件方向,做軟件的做軟件方向,合作的很愉快,正是有你們的配合和幫助,才使課題得以順利完成,在此也真誠的謝謝你們。</p><p> 此次設計過程中,困難與歡樂并駕齊驅(qū),細心與耐心相輔相成。每當遇到的困難能順利解決時,那種成功過后的歡樂最讓
66、人回味??偟恼f來,感謝李老師和同組同學的支持和幫助!</p><p> 大學生活的結(jié)束,也是我人生新的生活起點,我將謹記老師們的教誨,將自己的所學奉獻給社會。</p><p><b> 注 釋</b></p><p> [1] 胡乾斌,李關斌.單片微型計算機原理與應用.武漢:華中理工大學出版社,2006:3-4.</p>&
67、lt;p> [2] 余永權,李小青.單片機應用系統(tǒng)的功率接口技術.北京:北京航空航天大學出版社,1992:52-58.</p><p> [3] 肖來勝,馮建蘭.單片機技術實用教程.華中科技大學出版社.2004:12-16.</p><p> [4] 何希才.傳感器及其應用電路.電子工業(yè)出版社,2004:25-35.</p><p> [5] 汪建.M
68、CS-96系列單片機原理及應用技術.華中理工大學出版社.1998:15-20.</p><p> [6] 張洪潤,劉秀英.單片機應用設計200例.北京航天航空大學出版社.2006:56-67.</p><p> [7] 徐愛鈞.單片機高級語言 C51 應用程序設計[M]. 北京:電子工業(yè)出版社,</p><p> 2002:32-45.</p>
69、<p> [8] 張開生,郭國法.MCS-51 單片機溫度控制系統(tǒng)的設計.微計算機信息,2005:72-78.[9] 賴壽宏.微型計算機控制技術.北京:機械工業(yè)出版社,1994:90-95.</p><p> [10] 何立民.單片機應用系統(tǒng)設計系統(tǒng)配置與接口技術[M].北京:北京航空航天大</p><p> 學,1990:112-132.</p><
70、;p><b> 參考文獻</b></p><p> [1] 王克義,魯守智,蔡建新,王文保.微機原理與接口技術教程. 北京:北京大學出版社,2004.</p><p> [2] 何希才.傳感器及其應用電路.電子工業(yè)出版社,2004.</p><p> [3] 余永權,李小青.單片機應用系統(tǒng)的功率接口技術.北京:北京航空航天大學出版
71、社,1992.</p><p> [4] 肖來勝,馮建蘭.單片機技術實用教程.華中科技大學出版社.2004.</p><p> [5] 汪建.MCS-96系列單片機原理及應用技術.華中理工大學出版社.1998.</p><p> [6] 張洪潤,劉秀英.單片機應用設計200例.北京航天航空大學出版社.2006.</p><p> [7
72、] 徐愛鈞.單片機高級語言 C51 應用程序設計[M].北京:電子工業(yè)出版社,2002.</p><p> [8] 張開生,郭國法.MCS-51 單片機溫度控制系統(tǒng)的設計.微計算機信息,2005.[9] 賴壽宏.微型計算機控制技術.北京:機械工業(yè)出版社,1994.</p><p> [10] 何立民.單片機應用系統(tǒng)設計系統(tǒng)配置與接口技術[M].北京:北京航空航天大學,1990.<
73、;/p><p> [11] 李曉荃.單片機原理與應用[M]. 北京:電子工業(yè)出版社,2000.</p><p> [12] 劉和平.單片機原理及應用[M].重慶:重慶大學出版社,2002.</p><p> [13] 謝自美.電子線路設計實驗測試(第二版)[M].武漢:華中科技大學出版社,2000.</p><p> [14] 樊昌信.通
74、信原理(第五版)[M].北京:國防工業(yè)出版社,2001 .</p><p> [15] Richard c.Dorf.modern conctrol systerm[M].BEIJING:Science Publishing House,2002.</p><p> [16] Donald A. Neamen. Electronic circuit analysis and desig
75、n[M].Tsinghua UniversityPress and Springer Verlag.2002.</p><p> 附錄1 系統(tǒng)總硬件原理圖</p><p> 附錄2 系統(tǒng)總硬件PCB板圖</p><p><b> 附錄3 系統(tǒng)主程序</b></p><p> /*----------------端
76、口說明:---------------------------------------------</p><p> 單片機:P0.0PCA產(chǎn)生921.6KHZ頻率方波送入7135中</p><p> P0.1發(fā)出16位的PWM波信息</p><p> P0.2接收7135來的BUSY信號</p><p> P0.3 SPEAK&
77、lt;/p><p> P0.4 JiDianQi</p><p> 240*128液晶:WR =P2^0;RD = P2^1;RST = P2^2;</p><p> CD = P2^3;DATA=P1Key=P3 </p><p> ---------------------------------------------
78、-----------------------------*/ </p><p> #include "MODULE.h"</p><p> #include "math.h"</p><p> #include <HZ.h></p><p> sbit PWM = P0^1;&
79、lt;/p><p> sbit SPEAK=P0^3;</p><p> sbit JiDianQi=P0^4;</p><p> bit enPIDflag=0;</p><p> int buff;</p><p> double TestTempreture;</p><p
80、> double result1,err;</p><p> doubleDestnationTmep;</p><p> bit DrawDotFlag=0;</p><p> bit DrawDotNow=0;</p><p> bit JiangwenFlag=1;//默認降溫</p><
81、;p> bit ShengwenFlag=0;</p><p> bit JDQlastState;//繼電器的上一次狀態(tài)</p><p> unsigned int j=0;</p><p> unsigned int MuBiaoWenDu=25;//增益值</p><p> double ControlPW
82、M;</p><p> unsigned int TimerH; </p><p> unsigned char TimerL;</p><p> double En,En1; //滑動濾波寄存器</p><p><b> //PID</b></p><p>
83、 double Kp =5; </p><p> double Ki =10;</p><p> double Kd =5 ;</p><p> double Ek1 ; //E(k-1)變量</p><p> double PIk1; //PI(K-1)變量</p><p> doubl
84、e Ek2; //E(k-2)變量</p><p> void Disp8bit_5(INT8U line, INT8U column, INT8U dat);</p><p> void SYSCLK_Init (void)</p><p> {unsigned int i;</p><p> OSCXCN= 0x67;<
85、/p><p> for (i = 0; i < 3000; i++); // Wait 1ms for initialization</p><p> while ((OSCXCN & 0x80) == 0);</p><p> OSCIC= 0x0C;</p><p> WDTCN= 0xde; //禁止看門狗
86、 </p><p> WDTCN= 0xad; // source and enable missing clock </p><p> SPEAK=1; //高電平不響,低電平響</p><p> } </
87、p><p> void setting_PWM(float percentage) //輸出占空比一定的PWM波</p><p> {unsigned int result;</p><p> if(percentage>100) percentage=100;</p><p> if(percentage<0)
88、percentage=0.0001; </p><p> percentage=percentage/100;</p><p> percentage=65536-percentage*65536;</p><p> result=percentage;</p><p> PCA0CPL1= (result&0x00ff);
89、</p><p> PCA0CPH1= (result&0xff00)>>8;</p><p><b> }</b></p><p> void PCA_Init()</p><p> { PCA0CN= 0x40; //直接給7135加CLOCK信號</p><p&g
90、t; PCA0MD= 0x01;</p><p> PCA0CPM0= 0x46;</p><p> PCA0CPH0= 0x01;</p><p> PCA0CPM1= 0xC2;//PWM波生成</p><p> EIE1= 0x08; //PCA</p><p><b> }</b
91、></p><p> void Port_IO_Init()</p><p> { P0MDOUT= 0xf7;</p><p> XBR0= 0x10;</p><p> XBR1= 0x04;</p><p> XBR2= 0x40;</p><p> P1MDOUT=
92、0xFF;</p><p> P2MDOUT= 0xFF;</p><p> P3MDOUT= 0xFF;</p><p> P74OUT= 0xFF;//p4-p7為單片機的普通輸出口,</p><p> 沒有第二功能,要用必須這樣配置 </p><p> JiDianQi=0;//默認為低,制冷 室
93、溫26度</p><p><b> }</b></p><p> void initTimer(void)</p><p><b> {</b></p><p> TMOD=0x19; //定時器0外部觸發(fā),16位定時;定時器1為16位計數(shù)</p><p> TH
94、0=0; //外部觸發(fā)計數(shù)初值</p><p><b> TL0=0;</b></p><p> TH1=0x0; //定時器1 (35us*N)產(chǎn)生一次中斷顯示溫度</p><p><b> TL1=0x0 ;</b></p><p> IT0=1; //外
95、部中斷0邊沿觸發(fā)</p><p> EX0=1; //允許外部中斷0</p><p> ET1=1; //定時器1允許中斷</p><p><b> } </b></p><p> void DispJieMian();</p><p> doub
96、le IncrementPID(double Rk,double Y) ;</p><p> void DisplayTemperature(void);</p><p> void DisplayTemperatureAnother(void);</p><p> void MuBiaoWenDuSet(void);</p><p&
97、gt; void BaoJing(void);</p><p> void shengWen(void);</p><p> void jiangWen(void);</p><p> float tempretureAdjust(float temp1);</p><p> void main(void)</p>
98、<p><b> { </b></p><p> SYSCLK_Init();</p><p> Port_IO_Init();</p><p> PCA_Init() ;</p><p> T6963C_Init(); //LCD 初始化</p><p> initT
99、imer();//啟動定時器</p><p> setting_PWM(0.00001);</p><p> EA=1; //開總中斷</p><p> TR0=1; //開定時器0</p><p> TR1=1; </p><p> LCDClear_Text();</
100、p><p><b> start:</b></p><p> LCDClear_Text();</p><p> LCDClear_Graph();</p><p> DispJieMian();</p><p> DrawDotNow=0; //不顯示另</p><
101、p> MuBiaoWenDuSet(); //含內(nèi)循環(huán),一次只能將值加1</p><p> LCDClear_Text(); //進入顯示界面后,清屏,開始畫圖,開始執(zhí)行程序</p><p> LCDClear_Graph();</p><p> zhuobiao(); //顯示坐標</p><p> Dr
102、awDotNow=1;</p><p><b> while(1)</b></p><p> { // LCDClear_Graph();//清除文本區(qū)</p><p> if(DrawDotFlag==1)</p><p><b> {</b>&l
103、t;/p><p> DrawDotFlag=0;</p><p> drawDot();</p><p><b> }</b></p><p> if(ReadKey()==Esc) //Esc表返回 ,重新設置參數(shù)</p><p> goto start;</p>
104、<p> TestTempreture=buff*0.005; //AD轉(zhuǎn)換,讀取溫度值</p><p> TestTempreture=tempretureAdjust(TestTempreture);//溫度校正</p><p> if(JiangwenFlag==1) //如果按下降溫,開始降溫 ,指示燈不亮 </p><p>&
105、lt;b> { </b></p><p> ShengwenFlag=0;</p><p> JiDianQi=0; //再次確認繼電器是降溫狀態(tài)</p><p> JDQlastState=0; //為保持這一次值</p><p> jiangWen();</p><p>
106、;<b> }</b></p><p> else if(ShengwenFlag==1) //如果按升溫,開始升溫,指示燈亮</p><p><b> { </b></p><p> JiangwenFlag=0;</p><p> JiDianQi=1; //再次確認
107、繼電器是升溫狀態(tài)</p><p> JDQlastState=1; //為保持這一次值</p><p> shengWen();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b
108、></p><p><b> //降溫 子程序</b></p><p> void jiangWen(void)</p><p> { Kp=10; </p><p><b> Ki=10 ;</b></p><p><b> Kd=5 ;&
109、lt;/b></p><p> if ((TestTempreture-DestnationTmep)<=0.9&&(TestTempreture-DestnationTmep)>=0.8)</p><p><b> { </b></p><p> BaoJing();</p><p&
110、gt;<b> }</b></p><p> if((TestTempreture)<=7&&(TestTempreture)>=6.8)//手動升溫,</p><p> 5-20到19度開始加電,執(zhí)行降溫程序,報警</p><p><b> { </b></p><
111、p> BaoJing();</p><p><b> }</b></p><p> if((TestTempreture)<=20&&(TestTempreture)>=19.85)//手動升溫,</p><p> 5-20到19度開始加電,執(zhí)行降溫程序,報警</p><p>&
112、lt;b> { </b></p><p> BaoJing();</p><p><b> }</b></p><p> if(TestTempreture-DestnationTmep>0.4)</p><p><b> {</b></p><
113、p> ControlPWM=100; //溫度范圍大則采用模糊控制</p><p> setting_PWM(ControlPWM);</p><p><b> }</b></p><p> else if(TestTempreture-DestnationTmep<0)//實測溫度小于目標溫度,則不加熱</p
114、><p><b> {</b></p><p> ControlPWM=0.001; //溫度范圍大則采用模糊控制</p><p> setting_PWM(ControlPWM);</p><p><b> } </b></p><p><b>
115、else </b></p><p><b> { </b></p><p> ControlPWM=IncrementPID(DestnationTmep,TestTempreture);</p><p> setting_PWM(-ControlPWM*3); //生成任意的PWM波</p><p&
116、gt;<b> }</b></p><p><b> }</b></p><p><b> //升溫子程序</b></p><p> void shengWen(void)</p><p> { Kp= 6.5; </p><p>&l
117、t;b> Ki= 12;</b></p><p><b> Kd= 5 ;</b></p><p> if ((DestnationTmep-TestTempreture)<=0.15&&(DestnationTmep-TestTempreture)>0)</p><p> { BaoJi
118、ng();</p><p><b> }</b></p><p> if(DestnationTmep-TestTempreture>2)//3</p><p><b> { </b></p><p> ControlPWM=100; //溫度范圍大則采用模糊控制</p
119、><p> setting_PWM(ControlPWM);</p><p><b> }</b></p><p> else if(DestnationTmep-TestTempreture<0) //實測溫度小于目標溫度,則不加熱</p><p><b> {</b></p&g
120、t;<p> ControlPWM=0.001; //溫度范圍大則采用模糊控制</p><p> setting_PWM(ControlPWM);</p><p><b> } </b></p><p><b> else </b></p><p><b&g
121、t; { </b></p><p> ControlPWM=IncrementPID(DestnationTmep,TestTempreture);</p><p> setting_PWM(ControlPWM/2.6); //生成任意的PWM波</p><p><b> }</b></p><p&g
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫度控制系統(tǒng)畢業(yè)設計
- 畢業(yè)設計--溫度控制系統(tǒng)設計
- 溫度控制系統(tǒng)畢業(yè)設計
- 溫度控制系統(tǒng)設計畢業(yè)設計論文
- 溫度控制系統(tǒng)設計畢業(yè)設計論文
- 水箱溫度控制系統(tǒng)畢業(yè)設計
- 遠程溫度控制系統(tǒng)畢業(yè)設計
- 畢業(yè)設計----智能溫度控制系統(tǒng)
- 畢業(yè)設計----焦化爐溫度控制系統(tǒng)設計
- 畢業(yè)設計--電石爐溫度控制系統(tǒng)的設計
- 畢業(yè)設計--智能溫度控制系統(tǒng)硬件設計
- 雞舍溫度控制系統(tǒng)畢業(yè)設計上下限溫度控制
- 畢業(yè)設計-基于plc的溫度控制系統(tǒng)設計
- 畢業(yè)設計237智能溫度控制系統(tǒng)
- 畢業(yè)設計---電子溫度計溫度控制系統(tǒng)
- 畢業(yè)設計論文-智能溫度控制系統(tǒng)
- 雞舍溫度控制系統(tǒng)畢業(yè)設計上下限溫度控制
- 畢業(yè)設計237智能溫度控制系統(tǒng)
- 智能溫度控制系統(tǒng)畢業(yè)設計論文
- 雞舍溫度控制系統(tǒng)畢業(yè)設計上下限溫度控制.doc
評論
0/150
提交評論