版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機的水溫控制系統(tǒng)</p><p><b> 摘要:</b></p><p> 隨著微機測量和控制技術(shù)的迅速發(fā)展與廣泛應(yīng)用,以單片機為核心的溫度采集與控制系統(tǒng)的研發(fā)與應(yīng)用在很大程度上提高了生產(chǎn)生活中對溫度的控制水平。本文主要采用AT89C51單片機為核心控制部分,DS18B20為溫度檢測器件,采用軟件編程,實現(xiàn)用PID算法對檢測溫度與設(shè)
2、定溫度的值處理后的結(jié)果來控制繼電器接觸時間,進(jìn)而控制電爐的加熱時間來實現(xiàn)溫度控制。十進(jìn)制數(shù)碼管顯示溫度,按鍵為設(shè)定溫度輸入電路。還介紹了常用低溫數(shù)字溫度檢測傳感器DS18B20。此系統(tǒng)加熱對象為1升凈水,容器為搪瓷器皿實驗裝置進(jìn)行控制取得了較滿意的效果。</p><p><b> 關(guān)鍵詞:</b></p><p> 單片機 PID調(diào)節(jié) 水溫控制系統(tǒng) DS18B20
3、 比例 積分 微分</p><p><b> 目錄:</b></p><p> 前言………………………………………………………………….....................4</p><p> 系統(tǒng)的任務(wù)書……………………………………………………………………...5</p><p> 系統(tǒng)的原理設(shè)計……
4、……………………………………………………………...6</p><p> 系統(tǒng)的硬件設(shè)計…………………………………………………………………...7</p><p> 4.1方案設(shè)計與認(rèn)證……………………………………………………………….7</p><p> 4.2特殊器件DS18B20的介紹…………………………………………………..8</p>&
5、lt;p> 4.3系統(tǒng)模塊系統(tǒng)………………………………………………………………...13</p><p> 系統(tǒng)的軟件設(shè)計………………………………………………………………….15</p><p> 5.1水溫控制方法與主程序……………………………………………………...15</p><p> 5.2 PID調(diào)節(jié)算法與子程序流程…………………………………
6、………………17</p><p> 系統(tǒng)的調(diào)試與數(shù)據(jù)記錄………………………………………………………….22</p><p> 6.1系統(tǒng)的硬件調(diào)試……………………………………………………………22</p><p> 6.2系統(tǒng)的軟件調(diào)試……………………………………………………………...22</p><p> 6.3系統(tǒng)的綜合調(diào)試……
7、………………………………………………………22</p><p> 6.4系統(tǒng)調(diào)試正確現(xiàn)象和數(shù)據(jù)記錄……………………………………………...22</p><p> 總結(jié)……………………………………………………………………………….24</p><p> 附1: 參考文獻(xiàn)…………………………………………………………………………….25</p>&l
8、t;p> 附2: 系統(tǒng)原理圖………………………………………………………………………….26</p><p><b> 第一章 前言</b></p><p> 在現(xiàn)代冶金、石油、化工及電力生產(chǎn)過程中,溫度是極為重要而又普遍的熱工參數(shù)之一。過低的溫度或過高的溫度都會造成資源的巨大浪費或達(dá)不到要求的指標(biāo)。在環(huán)境惡劣或溫度較高等場合下,為了保證生產(chǎn)過程正常安全
9、地進(jìn)行,提高產(chǎn)品的質(zhì)量和數(shù)量,以及減輕工人的勞動強度、節(jié)約能源,要求對溫度進(jìn)行測、顯示、控制,使之達(dá)到工藝標(biāo)準(zhǔn)。</p><p> 而今,隨著電子行業(yè)的迅猛發(fā)展,計算機技術(shù)和傳感器技術(shù)的不斷改進(jìn),而且計算機和傳感器的價格也日益降低,可靠性逐步提高,用信息技術(shù)來實現(xiàn)水溫控制并提高控制的精確度不僅是可以達(dá)到的而且是容易實現(xiàn)的。如以單片機為核心設(shè)計的爐溫控制系統(tǒng),可以同時采集多個數(shù)據(jù),并將數(shù)據(jù)通過通訊口送至上位機進(jìn)行
10、顯示和控制。</p><p> 水溫控制在工業(yè)及日常生活中應(yīng)用廣泛,分類較多。在一些溫控系統(tǒng)中,廣泛采用的是通過熱電偶、熱電阻或PN結(jié)測溫電路經(jīng)過相應(yīng)的信號調(diào)理電路,轉(zhuǎn)換成A/D轉(zhuǎn)換器能接收的模擬量,再經(jīng)過采樣/保持電路進(jìn)行A/D轉(zhuǎn)換,最終送入單片機及其相應(yīng)的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號調(diào)理電路實現(xiàn)復(fù)雜、易受干擾、不易控制且精度不高。因此,本系統(tǒng)用一種新型的可編程溫度傳感器(DS18B20),不需復(fù)雜
11、的信號調(diào)理電路和A/D轉(zhuǎn)換電路能直接與單片機完成數(shù)據(jù)采集和處理,實現(xiàn)方便、精度高,可根據(jù)不同需要用于各種低溫場合。系統(tǒng)還采用自動控制系統(tǒng)中最常用的算法----PID算法來控制繼電器的通斷來控制通電時間的一套實用的溫度測控系統(tǒng)。它在不同時間常數(shù)下均可以達(dá)到技術(shù)指標(biāo)。此外還有效減少了輸出繼電器的開關(guān)次數(shù),適用于環(huán)境參數(shù)經(jīng)常變化的小型水溫控制系統(tǒng)。此系統(tǒng)在實驗裝置上達(dá)到了滿意的效果.</p><p> 第二章 水溫
12、控制系統(tǒng)任務(wù)書</p><p> 一、題目:水溫控制系統(tǒng)</p><p> 二、任務(wù):設(shè)計并制作一個水溫自動控制系統(tǒng),控制對象為1升凈水,容器為搪瓷器皿。水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時實現(xiàn)自動控制,以保持設(shè)定的溫度基本不變。</p><p><b> 三、要求</b></p><p><
13、b> 1.基本要求</b></p><p> ?。?)溫度設(shè)定范圍為40~90℃,最小區(qū)分度為1℃,標(biāo)定溫度≤1℃。</p><p> ?。?)環(huán)境溫度降低時(例如用電風(fēng)扇降溫)溫度控制的靜態(tài)誤差≤1℃。</p><p> ?。?)用十進(jìn)制數(shù)碼管顯示水的實際溫度。</p><p><b> 2.發(fā)揮部分<
14、/b></p><p> ?。?)采用適當(dāng)?shù)目刂品椒ǎ?dāng)設(shè)定溫度突變(由40℃提高到60℃)時,減小系統(tǒng)的調(diào)節(jié)時間和超調(diào)量。</p><p> ?。?)溫度控制的靜態(tài)誤差≤0.2℃。</p><p> (3)在設(shè)定溫度發(fā)生突變(由40℃提高到60℃)時,數(shù)字顯示水溫隨時間變化的曲線。</p><p> 第三章 系統(tǒng)原理設(shè)計<
15、/p><p> 3.1 系統(tǒng)要求與性能指標(biāo)</p><p> (1) 溫度設(shè)定范圍為40~90℃,最小區(qū)分度為1℃,標(biāo)定溫度≤1℃。即要求能在40℃--90℃范圍內(nèi)設(shè)定控制水溫,并具有較好的快速性和較小的超調(diào)。</p><p> (2) 用十進(jìn)制數(shù)碼管顯示水的實際溫度。在設(shè)定溫度發(fā)生突變(由40℃提高到60℃)時,數(shù)字顯示水溫隨時間變化的曲線。溫度顯示要有設(shè)定溫
16、度的顯示和檢測溫度的顯示, 能夠保持不間斷顯示水溫,顯示位數(shù)4位,分別為百位,個位,十位,和小數(shù)位。(但由于規(guī)定不超過90度,所以百位也就沒有實現(xiàn),默認(rèn)的百位是不顯示的)。</p><p> 由上述要求和性能指標(biāo)可系統(tǒng)分為以下幾個部分:</p><p><b> 圖1:系統(tǒng)模塊圖</b></p><p> 溫度設(shè)定:可通過鍵盤來對控制溫度
17、的設(shè)定。</p><p> 溫度檢測:用于對現(xiàn)在的溫度采樣檢測,以轉(zhuǎn)換成單片機能處理的數(shù)字量。</p><p> 溫度顯示:可分為兩個部分。一:設(shè)定溫度的顯示;二:檢測溫度的顯示;</p><p> 加熱:用于當(dāng)當(dāng)前溫度低時,能使被控對象溫度升高,當(dāng)當(dāng)前溫度高時,不加熱。</p><p> 控制與數(shù)據(jù)數(shù)據(jù)處理:對設(shè)定的溫度和檢測的溫度
18、進(jìn)行比較,并產(chǎn)生控制信號,從而控制加熱器件對系統(tǒng)進(jìn)行控制。</p><p> 第四單 系統(tǒng)硬件設(shè)計</p><p> 該水溫控制系統(tǒng)主要由AT89C51單片機控制系統(tǒng)、前向通道(溫度采樣轉(zhuǎn)換)、后向通道(溫度控制)、鍵盤設(shè)定、溫度顯示電路和加熱五個部分組成</p><p> 4.1 方案的設(shè)計與論證</p><p> 4.1.1、
19、溫度控制模塊的設(shè)計及論證</p><p> 方案1:此方案是采用傳統(tǒng)的二位模擬控制方法,選用模擬電路,用電位器設(shè)定給定值,采用上下限比較電路將反饋的溫度值與給定的溫度值比較后,決定加熱或者不加熱。由于采用模擬控制方式,系統(tǒng)受環(huán)境的影響大,不能實現(xiàn)復(fù)雜的控制算法使控制精度做得很高,而且不能用數(shù)碼顯示和鍵盤設(shè)定。</p><p> 方案2:采用單片機AT89C51為核心。采用了溫度傳感器D
20、S18B20檢測溫度并轉(zhuǎn)換成數(shù)字信號并通過單片機處理后去控制溫度,使其達(dá)到穩(wěn)定。使用單片機具有編程靈活,控制簡單的優(yōu)點,使系統(tǒng)能簡單的實現(xiàn)溫度的控制及顯示,并且通過軟件編程能實現(xiàn)各種控制算法使系統(tǒng)還具有控制精度高的特點。比較上述兩種方案,方案2明顯的改善了方案1的不足及缺點,并具有控制簡單、控制溫度精度高的特點,因此本設(shè)計電路采用方案2。</p><p> 4.1.2、溫度檢測模塊的設(shè)計及論證</p>
21、;<p> 方案1: 采用模擬溫度傳感器。采用熱敏電阻,可滿足40攝氏度至90攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,溫度檢測與轉(zhuǎn)換比較麻煩.對于檢測小于1攝氏度的信號是不適用的。</p><p> 方案2: 采用數(shù)字溫度傳感器。DS18B20 數(shù)字溫度計是DALLAS 公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點只要求一個端口即可實現(xiàn)通信。實際應(yīng)用中不需要外部任
22、何元器件即可實現(xiàn)測溫,測量溫度范圍在-55℃到+125℃之間。數(shù)字溫度計的分辨率用戶可以從9 位到12 位選擇。內(nèi)部有溫度上、下限告警設(shè)置。由此可知,DS18B20很適用于本系統(tǒng),所以選擇方案2。</p><p> 4.1.3、溫度設(shè)定模塊的設(shè)計及論證</p><p> 方案1: 采用獨立式鍵盤來設(shè)定。獨立式鍵盤是用一根I/O線構(gòu)成的單個按鍵電路,每個獨立式按鍵單獨占有一根I/O線,每
23、根I/O線上的按鍵有工作狀態(tài)不會影響其它I/O口線的工作狀態(tài).電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一個I/O口,在按鍵數(shù)量較多時,I/O口線浪費較大,故在按鍵數(shù)量不多時,常采用這種按鍵結(jié)構(gòu)。</p><p> 方案2: 采用行列式鍵盤來設(shè)定。行列式鍵盤又叫矩陣式鍵盤。它由行線和列線組成,按鍵位于行、列的交叉點上。例如一個4×4的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤而只用了八個I/O口。
24、很明顯,在按鍵數(shù)量較多的場合,矩陣鍵盤與獨立式按鍵盤相比,要節(jié)省很多的I/O口。</p><p> 在本系統(tǒng)中,初步設(shè)定四個按鍵,而且對按鍵的要求不是很高,所以選用獨立式按鍵會更靈活,故選方案1。</p><p> 4.1.4.溫度顯示模塊的設(shè)計及論證</p><p> 方案1: 采用LED顯示。它是由若干個發(fā)光二極管組成的,當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點或
25、一個筆畫發(fā)亮??刂撇煌M合的二極管導(dǎo)通,就能顯示出各種字符。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。LED顯示器是單片機應(yīng)用系統(tǒng)中常用的價廉輸出設(shè)備。</p><p> 方案2: 采用LCD顯示。它一種是采用了液晶控制透光度技術(shù)來實現(xiàn)色彩的顯示器。由于通過控制是否透光來控制亮和暗,當(dāng)色彩不變時,液晶也保持不變,這樣就無須考慮刷新率的問題。</p><p&g
26、t; 由于本系統(tǒng)對顯示要不是很高。加之用LCD價格相對來說比LED要貴很多,所以用LED可以滿足本系統(tǒng)的要求,也降低了成本。所以采用方案1。</p><p> 4.1.5 加熱模塊的設(shè)計及論證</p><p> 方案1:采用可控硅來控制導(dǎo)通的周波數(shù)來實現(xiàn)。該方案是用單片機通過一定的算法來產(chǎn)生門極控制信號使可控硅導(dǎo)通,門極的脈沖的個數(shù)就是可控硅的導(dǎo)通的正弦波的個數(shù)。但用這個方法就必須保
27、證門極的脈沖信號與正弦波信號同時,這給系統(tǒng)設(shè)計與系統(tǒng)調(diào)試帶來很大的難度。</p><p> 方案2:采用繼電器來控制加熱時間。該方案只要求單片機能產(chǎn)生和控制繼電器的導(dǎo)通時間,也即控制繼電器的信號的電平要持續(xù)一定的時間,在這段時間內(nèi)加熱器是加熱的。</p><p> 由上所述,可知采用方案2較好。</p><p> 4.2 特殊器件DS18B20介紹:<
28、/p><p> 4.2.1. 溫度傳感器DS18B20原理與特性</p><p> DS18B20 數(shù)字溫度計是DALLAS 公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便,大大簡化了電路的復(fù)雜度,以及算法的要求。</p><p> 4.2.2. DSl
29、8B20的管腳及特點</p><p> DS18B20可編程溫度傳感器有3個管腳。(如圖:1) GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個較弱的上拉電阻與單片機相連, 開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。VDD為電源接口,既可由數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3.O~5.5 V。當(dāng)工作于寄生電源時,此引腳必須接地。</p><p><b&g
30、t; 主要特點有:</b></p><p> 1. 用戶可自設(shè)定報警上下限溫度值。2. 不需要外部組件,能測量-55~+125℃ 范圍內(nèi)的溫度。3. -10℃ ~ +85℃ 范圍內(nèi)的測溫準(zhǔn)確度為±0.5℃ 。4.
31、;通過編程可實現(xiàn)9~l2位的數(shù)字讀數(shù)方式,可在至多750 ms內(nèi)將溫度轉(zhuǎn)換成12 位的數(shù)字,測溫分辨率可達(dá)0.0625℃ 。5. 獨特的單總線接口方式,與微處理器連接時僅需要一條線即可實現(xiàn)與微處理器雙向通訊。</p><p> 4.2.3. DS18B20的內(nèi)部結(jié)構(gòu) </p><p> DSI8B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM
32、 (便箋式的內(nèi)部存儲器)和一個非易失性的可電擦除的EEPROM,后者存放高溫和低溫觸發(fā)器TH,TL和結(jié)構(gòu)寄存器。便箋存儲器包含了9個連續(xù)字節(jié)(0~8),前兩個字節(jié)是測得的溫度信息(圖4),字節(jié)0的內(nèi)容是溫度的低8位,字節(jié)1是溫度的高8位,字節(jié)2是TH(溫度上限報警),字節(jié)3是TL(溫度下限報警),字節(jié)4是配置寄存器(圖5),用于確定輸出分辨率9到12位。第5、6、7個字節(jié)是預(yù)留寄存器,用于內(nèi)部計算。字節(jié)8是冗余檢驗字節(jié),校驗前面所有8個
33、字節(jié)的CRC碼,可用來保證通信正確。</p><p> 由于DS18B20 是在一根I/O 線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20 有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行
34、寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。</p><p> DS18B20 的讀時序</p><p> 對于DS18B20 的讀時序分為讀0 時序和讀1 時序兩個過程。</p><p> 對于DS18B20 的讀時隙是從主機把單總線拉低之后,在15 秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20 在完
35、成一個讀時序過程,至少需要60us 才能完成。</p><p> DS18B20 的寫時序</p><p> 對于DS18B20 的寫時序仍然分為寫0 時序和寫1 時序兩個過程。</p><p> 對于DS18B20 寫0 時序和寫1 時序的要求不同,當(dāng)要寫0 時序時,單總線要被拉低至少60us,保證DS18B20 能夠在15us 到45us 之間能夠正確地采
36、樣IO 總線上的“0”電平,當(dāng)要寫1 時序時,單總線被拉低之后,在15us 之內(nèi)就得釋放單總線。</p><p> DS18B20的測溫功能</p><p> 當(dāng)DSI8B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進(jìn)制補碼形式存儲在高速暫存存儲器的0,1字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式以0.062 5℃/L
37、SB形式表示。DSI8B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與 TH做比較,若T>TH或T<TL,則將該器件內(nèi)的告警標(biāo)志置位,并對主機發(fā)出的告警搜索命令做出響應(yīng)。</p><p> DSl820工作過程中的協(xié)議</p><p> 初始化 -> ROM操作命令(讀時序)-> 存儲器操作命令(寫時序)-> 處理數(shù)據(jù)(溫度轉(zhuǎn)換)</p><p
38、><b> 1 初始化 </b></p><p> 單總線上的所有處理均從初始化開始 </p><p> 2 ROM操作命令(讀時序) </p><p> 總線主機檢測到DSl820的存在便可以發(fā)出ROM操作命令之一這些命令如 </p><p> 指令
39、60; 代碼 </p&
40、gt;<p> Read ROM(讀ROM) [33H] </p><p> Match ROM(匹配ROM)
41、 [55H] </p><p> Skip ROM(跳過ROM] [CCH] </p><p> Search ROM(搜索ROM)
42、60; [F0H] </p><p> Alarm search(告警搜索) [ECH] </p><p> 3存儲器操作命令(寫時序)
43、 代碼 </p><p> Write Scratchpad(寫暫存存儲器) [4EH] </p><p> Read Scratchpad(讀暫存存儲器)
44、60; [BEH] </p><p> Copy Scratchpad(復(fù)制暫存存儲器) [48H] </p><p> Convert Temperature(溫度變換) [44H] </p><p> Recall EPROM(重新調(diào)出)
45、 [B8H] </p><p> Read Power supply(讀電源) &
46、#160; [B4H]</p><p> 溫度傳感器與單片機通訊時序</p><p> 2.溫度轉(zhuǎn)換算法及分析</p><p> 由于DS18B20轉(zhuǎn)換后的代碼并不是實際的溫度值,所以要進(jìn)行計算轉(zhuǎn)換。溫度高字節(jié)(MS Byte)高5位是用來保存溫度的正負(fù)(標(biāo)志為S的bit11~bit15),高字節(jié)(MS Byte)低3位和低字節(jié)來保存溫度值(b
47、it0 ~ bit10)。其中低字節(jié)(LS Byte)的低4位來保存溫度的小數(shù)位(bit0 ~ bit 3)。由于本程序采用的是0.0625的精度,小數(shù)部分的值,可以用后四位代表的實際數(shù)值乘以0.0625,得到真正的數(shù)值,數(shù)值可能帶幾個小數(shù)位,所以采取小數(shù)舍入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了0.1度。</p><p> 4.3 系統(tǒng)模塊設(shè)計</p><p> 4.3.
48、1 溫度檢測模塊</p><p> DS18B20可編程溫度傳感器有3個管腳。GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個較弱的上拉電阻與單片機相連。當(dāng)被用著在寄生電源下,也可以向器件提供電源。當(dāng)工作于寄生電源時,此引腳必須接地。</p><p> 4.3.2 溫度設(shè)定模塊</p><p> K1為溫度設(shè)定按鈕,即進(jìn)入溫度設(shè)定的狀態(tài)。K2為溫度累加鍵,每按
49、一下加一。K3為溫度累減鍵,每按一下減一。K4為退出設(shè)計狀態(tài)。</p><p> 4.3.3 溫度顯示模塊</p><p> 兩片74LS273作為四個數(shù)碼管的驅(qū)動芯片,74LS02為兩個74LS273的片選信號,用于段碼和位碼的輸送.</p><p> 4.3.4 加熱模塊</p><p> 從P1.6口出來作為控制信號,通過一個
50、光耦可以作為高低電的隔離器,提高了系統(tǒng)的抗干擾性,控制信號通過光耦后可以控制繼電器的能斷,從而可以通過控制繼電器的加熱時間來進(jìn)行溫度控制.</p><p> 第五章 系統(tǒng)軟件設(shè)計</p><p> 5.1 水溫度的控制方法與主程序</p><p> 5.1.1水溫控制方法的方案設(shè)計與論證</p><p> 水溫的控制方法,最常用的方
51、法就是反饋控制。所謂反饋控制就是將輸入量與被控量相比較產(chǎn)生偏差信號,并據(jù)此產(chǎn)生控制信號來控制系統(tǒng)下一步的動作,從而減少甚至消除系統(tǒng)的偏差。因比,對于水溫控制而言,控制信號的產(chǎn)生方式就是其主要的差異所在。</p><p> 方案一:純比例調(diào)節(jié)方式。這種方法適合于一些常見的簡單系統(tǒng)的控制,因為其控制方法極其簡單而且易于實現(xiàn),所以用于簡單系統(tǒng)的控制是非常適合的。但水溫控制系統(tǒng)大慣性環(huán)節(jié),因而如果單單采用比例控制,必然
52、帶來水溫的過沖。不僅精度遠(yuǎn)遠(yuǎn)不夠,而且造成系統(tǒng)的穩(wěn)定性不高,還有可能會產(chǎn)生振蕩。</p><p> 方案二:PID控制。比例、積分、微分控制,簡稱PID控制,又稱PID調(diào)節(jié)。它以其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技術(shù)之一。當(dāng)被控對象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時,控制理論的其它技術(shù)難以采用時,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時應(yīng)用PID控制技術(shù)
53、最為方便。即當(dāng)我們不完全了解一個系統(tǒng)和被控對象﹐或不能通過有效的測量手段來獲得系統(tǒng)參數(shù)時,最適合用PID控制技術(shù)。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計算出控制量進(jìn)行控制的。是現(xiàn)今的一種比較成熟的控制方法,也是使用比較廣泛的一種控制方法,完全可以實現(xiàn)對水控制溫度的功能。</p><p> 所以水溫調(diào)節(jié)用PID方法調(diào)節(jié)。</p><p> 5.1.2 系統(tǒng)軟件主程序設(shè)計
54、</p><p> 在對溫度控制時,為使系統(tǒng)具有較好的快速性和較小的超調(diào),我們可以設(shè)計三個加熱狀態(tài),當(dāng)實際溫度離設(shè)定的溫度比較遠(yuǎn)時,讓系統(tǒng)持續(xù)地加熱。這時的功率最大,有利于水溫的迅速提高。當(dāng)實際水溫到達(dá)了一定的高度時,進(jìn)入第二個加熱階段,這時由單片機通過PID算法,產(chǎn)生控制信號對繼電器的導(dǎo)通時間進(jìn)行控制。這樣,水溫離設(shè)定溫度越近,導(dǎo)通時間越短,功率越小,有效地克服水溫的過沖。當(dāng)水溫達(dá)到或大于設(shè)定溫度時,進(jìn)入第三
55、個加熱階段,即停止加熱,水開始散熱,從而控制水溫,使其不會上升太高。當(dāng)水溫下降到比設(shè)定溫度低時,又開始加熱,反復(fù)調(diào)節(jié),從而使水溫幾乎在一個恒定的溫度值上,即設(shè)定溫度。</p><p> 溫度檢測可以通過中斷有實現(xiàn)定時采樣,定時時間為1S。由于DS18B20檢測到溫度后,至多還須750ms轉(zhuǎn)換,為確保轉(zhuǎn)換完成,所以在每次定時就讀當(dāng)前溫度數(shù)據(jù)并為下一次溫度的檢測做準(zhǔn)備。</p><p>
56、為節(jié)約資源,可把設(shè)定溫度的顯示和檢測溫度并為一個,當(dāng)在設(shè)計狀態(tài)下時,顯示設(shè)定溫度,反之顯示檢測溫度。</p><p> 在單片機內(nèi),單個定時器的最大定時為六十幾個毫秒,不足1S,而且過大的數(shù)據(jù)處理在定時子程序中會影響系統(tǒng)的時鐘,所以可以通過定時片來累加,每定時一次加一,如設(shè)定定時器的定時時間片為50ms,則定時20次為1S,數(shù)據(jù)處理可以放在主程序中,減小對系統(tǒng)的時鐘的影響.</p><p&g
57、t;<b> 系統(tǒng)主程序如下圖:</b></p><p> 定時1S溫度采樣程序:</p><p> 5.2 PID調(diào)節(jié)算法與子程序流程</p><p> 5.2.1 PID算法簡介</p><p> PID全稱比例(proportion)-積分(integral)-微分(derivative)控制器,是自動
58、控制系統(tǒng)設(shè)計中最經(jīng)典應(yīng)用最廣泛的一種控制器,實際上是一種算法.PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計算出控制量進(jìn)行控制的.</p><p> ?。?)比例積分微分的作用</p><p> 比例調(diào)節(jié)作用:是按比例反應(yīng)系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過大的比例,使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)
59、定。</p><p> 積分調(diào)節(jié)作用:是使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度。因為有誤差,積分調(diào)節(jié)就進(jìn)行,直至無差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值。積分作用的強弱取決與積分時間常數(shù)Ti,Ti越小,積分作用就越強。反之Ti大則積分作用弱,加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)器或PID調(diào)節(jié)器。</p><p> 微分調(diào)節(jié)作用:微分作用反映
60、系統(tǒng)偏差信號的變化率,具有預(yù)見性,能預(yù)見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用,在偏差還沒有形成之前,已被微分調(diào)節(jié)作用消除。因此,可以改善系統(tǒng)的動態(tài)性能。</p><p> (2) PID算法的兩種程序設(shè)計方式論證與比較</p><p> PID算法的程序設(shè)計一般有位置式和增量式兩種。</p><p><b> 位置式的算式為:</b>
61、;</p><p><b> 增量式的算式為:</b></p><p><b> 其中:</b></p><p> 在位置控制算式中,不僅需要對E(i)進(jìn)行累加,而且單片機的任何故障會引去P(k)大幅度變化,對控制不利。</p><p> 增量控制雖然改動不大,然而卻帶來了很多優(yōu)點:<
62、/p><p> (1)由于輸出是增量,所以誤動作影響小,必要時可用邏輯判斷的方法去掉;</p><p> (2)在位置型控制算法中,由手動到自動切換時,必須首先使輸出值等于閥門的原始開度,即P(k-1),才能保證手動/自動的無擾切換,這將經(jīng)程序設(shè)計帶來困難。而增量設(shè)計只與本次的偏差值有關(guān),與閥門原來的位置無關(guān),因而增量算法易于實現(xiàn)手動/自動的無擾切換。</p><p&g
63、t; (3)不產(chǎn)生積分失控,所以容易獲得較好的調(diào)節(jié)品質(zhì)。</p><p> 5.2.2 PID算法參數(shù)整定與控制子程序</p><p> PID的三個基本參數(shù)Kp、Ki、Kd,一般由試驗確定,根據(jù)我們的實際工作對象去初步確定,然后在實際運行過程中進(jìn)行調(diào)節(jié),以達(dá)到相對理想的效果在溫度采樣后進(jìn)行是否調(diào)用PID算法調(diào)節(jié)進(jìn)行判定,可實時對系統(tǒng)進(jìn)行實時調(diào)節(jié).以盡量減少系統(tǒng)的過沖。</p
64、><p> 本系統(tǒng)的溫度檢測周期為1S,采樣好后,就可以用PID算法來調(diào)節(jié)。所以調(diào)節(jié)時間T選取1S.綜合PID在系統(tǒng)中的作用,初步整定Kp為1、Ti為6、Td為12。檢測溫度在0.7R(k)-R(k)的范圍內(nèi)開始調(diào)節(jié),這樣可以提高系統(tǒng)的快速性,而又不會使系統(tǒng)過沖過大。即檢測溫度小于0.7R(k)時最大功率加熱,大于R(k)后不加熱.(R(k)為設(shè)定溫度) 。</p><p> 由分析可知,
65、采用增量式算法比位置式更適用,所以通過增量式算法算出增量△P(k),然后根據(jù)上次P(k-1),計算出P(k).所以導(dǎo)通時間為T*P(k)/Pmax,其中 Pmax為設(shè)定控制時的最大偏差算出來的最大P(k)量.從而控制繼電器導(dǎo)通的時間。</p><p> 系統(tǒng)檢測到的溫度為有小數(shù)的數(shù)據(jù),在進(jìn)行比較時,為確保精度,設(shè)定的溫度值與檢測的溫度值相應(yīng)的擴大十倍,這樣就可以連小數(shù)也在比較范圍內(nèi),而導(dǎo)通時間是由P(k)/Pm
66、ax計算出的,擴大十倍對比值沒什么影響。</p><p> 由于導(dǎo)通時間的不確切,而且如果時間過大,若用時來定則會影響鍵盤的掃描和顯示的效果.所以用一個定時器來實現(xiàn),又由于定時時間可能大于定時器所能定時的時間,所以可以用時間片的個數(shù)來定時,當(dāng)導(dǎo)通時間完了后,就把定時器關(guān)了,等到下一個控制周期再由PID算法來決定是否開定時。</p><p> 關(guān)于導(dǎo)通時間的時間片選擇</p>
67、<p> 溫度控制的范圍為40-90度.即相差50度。1S控制一次,假定要控制精確到0.1度,則把1S分成500份.此時時間片為2ms,但時間片過小會造成中斷頻繁,而影響系統(tǒng)的數(shù)據(jù)處理和工作等,所以先將時間片定為10ms.所以定時時間時間片的個數(shù)可有下式算出:100*P(k)/Pmax。</p><p> PID控制子程序流程圖如下圖:</p><p><b>
68、 導(dǎo)通時間的定時:</b></p><p> 第六章 系統(tǒng)調(diào)試及數(shù)據(jù)記錄</p><p> 6.1 系統(tǒng)的硬件調(diào)試</p><p> 由于采用了DS18B20數(shù)字溫度傳感器,所以硬件的調(diào)試就不會那么麻煩,按仿真原理圖接好系統(tǒng)硬件接好電路后進(jìn)行檢測:</p><p> (1) 檢查各芯片的電源端是否接正確;(2) 檢測
69、各芯片的各個使能端,片選端等是否接上該接的端;(3) 檢測單片機片子是否都接上使片子正確的工作的端;(4) 可用數(shù)據(jù)萬用表按原理圖檢測短路來檢測電路的走線是否接好,是否接牢</p><p> 6.2 系統(tǒng)的軟件調(diào)試</p><p> 軟件的設(shè)計與代碼的編寫的原則是由上至下,逐步求精,將系統(tǒng)細(xì)化成一個個的模塊.</p><p> (1)軟件的單元測試.單元測
70、試也稱為模塊測試,在編寫完成且無編譯錯誤后就可以進(jìn)行.一般用白盒測試法.包括重要的執(zhí)行路徑,出錯處理,邊界條件.即軟件是否做了該做的,而又沒做不該做的.</p><p> (2)軟件的組裝測試.單元測試無誤后就可以進(jìn)行組裝測試.就是把系統(tǒng)設(shè)計的要求組合起來進(jìn)行測試.組裝測試采用增量式集成測試,即把下一個要測試的模塊組合到已測試好的模塊中,測試完后再將下一個需要的測試模塊組合起來,進(jìn)行測試, 逐步把所有模塊組合在
71、一起.這樣易于錯誤的定位,而且已測試的模塊可以在新的條件下再測試,測試更徹底.</p><p> (3) 軟件的確認(rèn)測試.經(jīng)組裝測試后,軟件就被集成起來,接口方面的問題已經(jīng)解決,確認(rèn)測試的任務(wù)就是進(jìn)一步檢查軟件的功能和性能是否與用戶要求的一樣.</p><p> 以上調(diào)試的工作結(jié)合仿真軟件進(jìn)行,以達(dá)到要求的現(xiàn)象.</p><p> 6.3系統(tǒng)的綜合調(diào)試<
72、/p><p> 將調(diào)試好的軟件下載到單片機片子上,進(jìn)行硬軟結(jié)合調(diào)試.根據(jù)硬件的錯誤,找到問題的所在,修改軟件以適用于實際中.</p><p> 6.4 系統(tǒng)調(diào)試正確的現(xiàn)象和數(shù)據(jù)記錄</p><p> 1 按鍵可設(shè)定的溫度下限為40,上限為90</p><p> 2 初次設(shè)定溫度為50度,系統(tǒng)迅速給對象加熱,到顯示39度時,加熱指示燈有明顯
73、的斷開時間,到顯示大于50度時,不加熱.最后,溫度在49.8至50.2之間波動,但低于50度的時間比高于50度的時間長.</p><p> 3 再次設(shè)定溫度為70度,系統(tǒng)按時通時斷給對象加熱.最后,溫度在69.8至70.2之間波動,偶然會沖到70.3,也有時低到69.7.</p><p> 4 再設(shè)定溫度為90度,系統(tǒng)的現(xiàn)象和設(shè)定70度時差不多.誤差基本都保持在0.2度左右.</
74、p><p> 5 最后設(shè)定溫度為60度,系統(tǒng)不給對象加熱,對象溫度的下降速度逐漸減慢,初次下降最低達(dá)到59.5度,然后又開始上升,最后誤差也能保持在0.2度左右.</p><p><b> 總結(jié)</b></p><p> 很慶幸我們能通過初選,有了復(fù)試的機會.這是我們第一次用單片機做系統(tǒng),在做的時候走了很多彎路,下面為了我們的”第一次”做以下
75、總結(jié): </p><p> 1. 實踐是檢驗真理的唯一標(biāo)準(zhǔn)</p><p> 在以前雖然學(xué)過單片機,當(dāng)時感覺還可以,可等拿到練習(xí)題時,眼睛就有點傻了,真是狗咬耗子無從下手.后來在老師指導(dǎo)和同學(xué)的幫助下,才慢慢的找到一點思路,通過這點思路,然后上網(wǎng)查資料,遇到不懂的時候問同學(xué)和老師.花了將近十天才把基本的系統(tǒng)給弄出來,可在系統(tǒng)的PID調(diào)節(jié)這個環(huán)節(jié)上就是怎么也調(diào)不到想要的效果,可又感覺程序
76、寫得沒有錯,后來上網(wǎng)查了很多有關(guān)PID的資料才想到,原來是PID的Pmax的計算和初始化出了問題.通過這次動手大大地把原來停留在書本上的理論知識運用到實際中去。</p><p> 2. 團(tuán)隊精神很重要 </p><p> 很多時候一件事情不可能由一個人單獨完成,可能需要多個人協(xié)作完成,這個團(tuán)隊人員的選擇、資源的合理分配、人員調(diào)度很重要,例如我們本次選擇的水溫控制系統(tǒng),硬件如果用了DS1
77、8B20數(shù)字傳感器來采樣的話,硬件就顯得很簡單,而控制部分幾乎都由軟件來實現(xiàn)。那樣做完硬件設(shè)計后,其它兩個同學(xué)就可以加入到軟件編寫中去,在編寫的過程中我們經(jīng)常在一起討論確定實施方案,就彌補了一個人的思維的局限性,使系統(tǒng)能達(dá)到最佳的效果。當(dāng)然也有出現(xiàn)意見分歧的時候,一般以能達(dá)到最佳方案的原則來取舍,如果達(dá)到不到要求就退而求次。有些僵持不下而又需急待決定的問題,就要取模塊負(fù)責(zé)人的意見,不論對錯都是必要的。 </p><p
78、><b> 3.堅持就是勝利 </b></p><p> 做任何事情都要堅持。行百里者半九十!功虧一簣往往就是因為沒有堅持到底。由于剛接觸到動手做實際,剛開始時根本就不知如何做,該怎么做,后來不斷地問老師,才有思路,由于PID調(diào)試時出現(xiàn)問題,怎么也調(diào)不過,眼看時間一天一天的過去了,別人都做第二個了,有的做第三個,我們還停在第一個,看在眼里就是急啊,有時真的有改做其它系統(tǒng)的問題,可看
79、著用了將近十天做的東西還沒有個著落,心里就是難受。后來上網(wǎng)查資料,解決了PID的問題,系統(tǒng)一下就調(diào)出來了,當(dāng)看到溫度在設(shè)定溫度50度的上下浮動,誤差完全達(dá)到系統(tǒng)的要求時,心里就是有一種說不出的激動。后來由于精度還算可以而等到了老師的信任,我們感到很高興,因為我們的堅持我們沒有被困難嚇倒。我們戰(zhàn)勝了自己,戰(zhàn)勝了困難。</p><p> 非常感謝學(xué)院讓我們參加這次培訓(xùn)的機會。在這十天炎熱的夏天里,老師放棄休息時間給
80、我們輔導(dǎo),隨時陪伴在身邊,讓你解決問題有門路,就算有時問上低級問題老師也耐心的回答。更感謝學(xué)院給我們提供了這樣有意義的平臺。實驗室給我們爭取優(yōu)越的實驗條件和充足的器材與工具。通過這次自己做東西,我們學(xué)到了很多知識,同時也大大地提高了我們的實際動手能力,這對我們以后的系統(tǒng)設(shè)計會有很大的幫助。</p><p><b> 附1:參考文獻(xiàn)</b></p><p> 1.《
81、8051單片機實踐與應(yīng)用》 吳金 清華大學(xué)出版社 2002.92.《單片微型機原理、應(yīng)用與實驗》 張友德 復(fù)旦大學(xué)出版社 2003.63.《電子
82、系統(tǒng)設(shè)計》 何小艇 浙江大學(xué)出版社 2004.64.《單片機原理及其接口技術(shù)》 胡漢才 清華大學(xué)出版社 19965.《單片機外圍電路設(shè)計》 沙占友,王彥朋,孟志永 電子工業(yè)出版社 20036.《模擬電子技術(shù)基礎(chǔ)》 童詩白,華成英
83、 北京高等教育出版社 20017.《電子技術(shù)基礎(chǔ)》 康華光,陳大欽 北京高等教育出版社 20018.《實用單元電路及其應(yīng)用》黃繼昌,張海貴,郭繼忠 人民郵電出社 20029.《傳感器應(yīng)用及其電路精選》 張福學(xué) 北京電子工業(yè)出版社 199110.《單片機</p><p><b> 附
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的水溫控制系統(tǒng)設(shè)計論文
- 基于單片機水溫控制系統(tǒng)
- 基于單片機的水溫控制系統(tǒng)畢業(yè)設(shè)計
- 基于單片機的水溫控制系統(tǒng)設(shè)計
- 單片機水溫控制系統(tǒng)--畢業(yè)設(shè)計
- 基于單片機的水溫控制系統(tǒng)的畢業(yè)設(shè)計
- 基于單片機的智能水溫控制系統(tǒng)
- 畢業(yè)設(shè)計---基于單片機的水溫控制系統(tǒng)設(shè)計
- 基于單片機控制的水溫控制系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計----基于單片機的水溫控制系統(tǒng)設(shè)計
- 基于單片機的水溫控制系統(tǒng)設(shè)計開題報告
- 單片機水溫控制系統(tǒng)課程設(shè)計
- 基于單片機的水溫控制系統(tǒng)設(shè)計開題報告
- 畢業(yè)論文---水溫控制系統(tǒng)
- 基于單片機的水溫控制系統(tǒng)課程設(shè)計
- 課程設(shè)計--基于單片機的水溫控制系統(tǒng)
- 開題報告基于單片機的智能水溫控制系統(tǒng)
- 基于pid的水溫控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--基于單片機的自動恒溫控制系統(tǒng)的設(shè)計
- 畢業(yè)論文(或設(shè)計)基于單片機恒溫控制系統(tǒng)的設(shè)計
評論
0/150
提交評論