版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、(2011屆)畢業(yè)設計題 目: 一種基于數字PID和單片機的溫度控制系統(tǒng)設計 姓名: 專業(yè): 電子信息工程 班級: 學 號: 指導教師: 導師職稱: 年 月 日 III一種基于數字PID和單片機的溫度控制系統(tǒng)設計摘 要本次設計采用proteus仿真軟件,以AT89C51單片機做為主控單元,運用PID控制算法,仿真實現了一個恒溫控制系統(tǒng)。設計中使用溫度傳感器DS18B20采集實時溫度,使用PID算法控制加熱爐仿真模型進行溫度控制,總體實現了一個恒溫控制仿真系統(tǒng)。系統(tǒng)設計中包含硬件設計和軟件設計兩部分,硬件設計包含溫度控制電路、溫度檢測電路等主要電路、LED顯示電路等部分。軟件設計的部分,采用模塊
2、化結構,主要的模塊有:鍵盤掃描、按鍵處理程序、數碼管顯示程序、繼電器控制程序、溫度信號處理程序、超溫報警程序。關鍵詞:PROTEUS仿真 PID DS18B20溫度控制Based on PID and AT89C51 emperature Control System's DesignAbstractThis design uses proteus simulation software and takes AT89C51 as master unit, using PID control algorithm to simulation a temperature control sy
3、stem. The Design uses temperature sensor DS18B20 acquisition real-time temperature, the use of PID algorithm control furnace temperature control simulation model, the overall implementation of a temperature control simulation system. The System design contains hardware design and software design two
4、 parts and the Hardware design include temperature control circuit, temperature detection and LED display circuit and so on . Part of the software design adopts modular structure .the main module is Keypad scanning. Key processing program digital pipe display procedures, relay control procedures, te
5、mperature signal processing program andSuper temperature alarming program.Keywords:PROTEUS simulation;DS18B20 Temperature Chip;Temperature Control;目錄摘 要IIIAbstractIV第一章 緒論11.1課題的來源11.2課題的意義11.3溫度控制系統(tǒng)的國內外發(fā)展現狀3第二章 系統(tǒng)總體設計論證及總體設計方案32.1設計要求32.2總體設計方案3第三章 系統(tǒng)硬件模塊設計63.1系統(tǒng)硬件構成概述63.2 各單元總體說明63.3按鍵單元83.4 LED數碼
6、管顯示單元83.5溫度超、低溫與異常情況報警單元93.6溫度測試單元103.7溫度控制器件單元11第四章 恒溫控制算法研究(PID)134.1 PID控制器設計134.2 PID算法的流程實現方法與具體程序14第五章 軟件設計實現185.1系統(tǒng)軟件設計概述185.2系統(tǒng)軟件各模塊介紹及模塊構圖185.3系統(tǒng)軟件程序流程及程序流程圖20結論25模擬仿真過程26測試分析29參考文獻30致謝32附錄A33附錄B3455一種基于數字PID和單片機的溫度控制系統(tǒng)設計第一章 緒 論1.1課題的來源 在現實情況中,由于環(huán)境中溫度值的滯后現象嚴重,慣性很大,且存在很多不確定的因素,所以很難建立精確的數學模型,
7、因此常常導致控制系統(tǒng)的性能不佳,有時還會出現控制不穩(wěn)定和失控現象。本次設計采用proteus仿真軟件,以AT89C51單片機做為主控單元,運用PID控制算法,仿真實現了一個恒溫控制系統(tǒng),可以避免一些不確定的影響因素。傳統(tǒng)的繼電器溫控電路雖然運用起來比較簡單,但由于繼電器運作頻繁 ,可能會因觸點不良而影響正常工作。現今在控制領域,一般使用PID算法進行溫度控制,不過PID控制對象的數學參數也是難以建立的,并且當擾動因素不確定時,參數調整會比較麻煩,這依然是普遍存在的技術難題。本設計中的溫度采集是用數字溫度傳感器DS18B20,在其內部集成了A/D轉換器,可使電路結構更簡單,且減少了溫度測量轉換時
8、的精度損失,從而使測量溫度更為精確。數字溫度傳感器DS18B20只用一個引腳,即可與單片機進行連接了,這樣大大的減少了設計中接線麻煩的問題,使得單片機可以節(jié)約許多端口。DS18B20芯片的體積又比較小,且還是單線與主控芯片連接,于是在實際運用中,常常把數字溫度傳感器DS18B20做成小型的測量溫度的探頭,即使是一些狹小的位置也能很方便的檢測到,使溫控系統(tǒng)發(fā)揮最大的作用1。 1.2課題的意義現在國內外市場用單片機作為為核心的溫度控制系統(tǒng)已經越來越廣泛了,且設計方案都很靈活,應用起來相當的廣泛,應用于工業(yè)上的加熱爐、熱處理爐、反應爐,在我們日常生活中的應用也是比較廣的,如熱水器,室溫控制,農業(yè)中的
9、大棚溫度控制等等?,F在人們的物質生活已經轉好,隨之而來的就是對生活質量的需求了。在舒適的溫度下休息、活動,在不同的季節(jié)里都可以吃到各種蔬菜、水果,等等這些都需要對溫度的控制??梢姴粌H在工業(yè)生產上溫度控制是重點,在人們的日常生活中溫度控制領域也潛藏這巨大的前景。如飼養(yǎng)幾條魚兒也成為一種趨勢,這也將會帶動與之相關的產業(yè)也應運發(fā)展起來。魚缸是養(yǎng)魚的必備用具,型魚缸也在市場上層出,其中水溫的控制是關鍵??梢姳敬卧O計的溫度控制系統(tǒng)具有實在的研究意義。1.3溫度控制系統(tǒng)國內外發(fā)展現狀目前,國外溫度控制系統(tǒng)正向著高精度、高智能化發(fā)展。溫度控制系統(tǒng)在我國各個行業(yè)的應用雖然已經很普遍了,可是從國內生產的溫度控制
10、器來看,總體發(fā)展水平還是落后與先進國家,同先進國家相比,還是有著很大的差距。在高端,高精度的溫度控制方面,我國的溫度控制技術受到了很大的局限性。在這方面有待與我們這代人的努力,同時在這方面我國還潛藏著巨大的潛力,有許多我們伸展的空間2。 由于市場的需求,國內以信息化時代的到來,帶動了溫度控制產業(yè)的迅速發(fā)展。溫度已成為工業(yè)對象控制中一個最重要的參數,特別是在化工工業(yè)、冶金工業(yè)、機械工業(yè)、電力工業(yè)、食品工業(yè)等等領域,都需要對各種加熱爐的溫度進行精確的控制。隨著信息工業(yè)不斷的發(fā)展,傳統(tǒng)的控制方式已滿足不來高精度、高速度的控制要求了。必須不斷的開發(fā)研究創(chuàng)造出新型的信息花的溫度控制系統(tǒng)、近幾年,國內外對
11、溫度控制系統(tǒng)都進行了大量的研究。在各國,溫度控制系統(tǒng)技術都已經被列為未來控制領域研究的幾大方向之一,具有廣闊的應用、市場前景。第二章 系統(tǒng)總體設計論證及總體設計方案2.1設計要求:一種基于數字PID和單片機的溫度控制系統(tǒng)設計。要求如下: 1. 超調量0%10%2. 溫度連續(xù)可調,范圍為20-403. 人-機對話方便4. 溫度誤差±0.52.2 總體設計方案在仿真設計中,先通過按鍵設置溫度,然后通過溫度傳感器 DS18B20 ,從環(huán)境中采集溫度,由單片機獲取采集的溫度值,經過處理后,可得到當前環(huán)境溫度中一個比較穩(wěn)定的溫度值,并且通過LED數碼管顯示。再去根據當前設定的溫度值的上下限,溫
12、度未達到預定的下限溫度時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生,同時通過P2.6口連接的RELAY輸出高電平控制信號來驅動RL1,使得加熱爐工作,為系統(tǒng)提供熱量,來升高溫度。溫度上升到預定上限溫度時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生,同時通過P2.6口連接的 RELAY輸出低電平控制信號來驅動RL1,使得加熱爐停止加熱,讓溫度慢慢回落 3 。當因環(huán)境溫度變化劇烈或因加熱、降溫設備出現故障時,或者因溫度傳感頭出現故障,導致在一段時間內不能將環(huán)境溫度調整到溫度限內的時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生。 工作原理圖如下圖2-
13、1:AT89C51導通加熱斷開降溫鍵盤電路DS18B20溫度芯片數據傳送LED數據顯示超、低溫報警繼電器圖2-1工作原理圖在設計中使用溫度傳感器DS18B20采集實時溫度,使用PID算法控制加熱爐仿真模型進行溫度控制。DS18B20是DALLAS公司生產的經典的數字溫度傳感器,具有低功耗、高性能、抗干擾能力、微型化、強易配處理器等等優(yōu)點,它特別適合用于多點溫度測控的系統(tǒng),它可直接將溫度轉化成數字信號,交給單片機處理,并且在同一總線上可掛接多個傳感器芯片,進行范圍性的溫度檢測。在其內部集成了A/D轉換器,可使電路結構更簡單,且減少了溫度測量轉換時的精度損失。數字溫度傳感DS18B20只用一個引腳
14、,即可與單片機進行連接了,這樣大大的減少了設計中接線麻煩的問題,使得單片機可以節(jié)約許多端口。DS18B20芯片的體積又比較小,且還是單線與主控芯片連接,于是在實際運用中,常常把數字溫度傳感器DS18B20做成小型的測量溫度的探頭,即使是一些狹小的位置也能很方便的檢測到,使溫控系統(tǒng)發(fā)揮最大的作用4。在本仿真設計中DS18B20與51單片機的P3.4口鏈接。DS18B20可以仿真設置環(huán)境溫度,來完成設計要求,設置到20和40攝氏度時蜂鳴器就會發(fā)起警報。本次設計采用proteus仿真軟件,以AT89C51單片機做為主控單元。51單片機上連接晶振和復位電路,保證單片機的正常運行。P0口與LED數碼管連
15、接,顯示測量結果。P1.0,P1.4.P3.3分別與3個控制按鍵連接,P1.5口與報警系統(tǒng)蜂鳴器連接。由AT89C51的端口豐富使得整個系統(tǒng)設計起來方便簡單,線路清晰,且AT89C51 是一個高性能,低功耗的CMOS 8位單片機, AT89C51設計和配置了振蕩頻率可為0Hz,在實際的應用中性價比很高,是溫控系統(tǒng)的不二選擇。本設計中選擇AT89C51做為主控單位也是考慮到了實際的需求和做此設計的意義的5。第三章 系統(tǒng)硬件模塊設計3.1系統(tǒng)硬件構成概述本章主要介紹本次設計中的硬件設計部分,其中包含:顯示模塊、按鍵掃描模塊、溫度采集模塊、溫度加熱模塊、,蜂鳴器報警模塊。系統(tǒng)電路如下圖3-1:354
16、213-1系統(tǒng)電路圖3.2 各單元總體說明1 顯示模塊:本設計中采用4位LED數碼管顯示溫度值,其中最后一位為小數位。2 按鍵模塊:本設計中采用3按鍵設置,第一按鍵為復位按鍵,第二、三按鍵為溫度調節(jié)按鍵,連接上拉電阻使其未按鍵時能夠保持高電平。3 溫度采集模塊:本次設計中使用溫度傳感器DS18B20采集實時溫度,使用PID算法控制加熱爐仿真模型進行溫度控制,數字溫度傳感器DS18B20只需一個引腳,即可與單片機進行通信,在設計中將DS18B20與51單片機的P3.4口連接,用其來完成溫度的測量6。4 溫度加熱模塊:本設計采用加熱爐來進行溫度值的控制,其配有功率顯示表,以便在仿真中與溫度傳感器D
17、S18B20相對應,便于統(tǒng)計。加熱爐與光電耦合器連接,光電耦合器通過RELAY與51單片機的P2.6口連接。通過51單片機發(fā)送信號來控制加熱爐的運作。5 蜂鳴器報警模塊:本設計中采用蜂鳴器做為報警系統(tǒng),當采集到的溫度經過處理后,超過規(guī)定溫度上、下限時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生。3.3 按鍵單元一般的鍵盤設計采用的是硬件設計,可是其在仿真設計中連接,線路會比較麻煩。所以在本此設置中我采用的是3按鍵軟件控制,第一個按鍵為復位按鍵,其他兩個為調節(jié)按鍵,3按鍵即可完成設計中起始溫度設置與復位要求,方便簡潔,線路清晰設計起來也較為方便。連接上上拉電阻,使其當未有按鍵按下
18、時,各各按鍵位都處于高電平。按鍵操作說明:1號按鍵為復位設置按鍵,第一次按下它時,1號按鍵位將處于低電平, LED數碼管將會顯示HT(上限溫度值),此時,可通過2號鍵和3好鍵來調整預設的上限溫度值,每次按一下2號按鍵預設的溫度上限值就上升一度,每次按一下3號鍵時預設的溫度上限值就下降一度,此過程都會同過LED數碼管顯示。設置好上限溫度后,再次按下1號按鍵,同樣1號按鍵位處于了低電平,LED數碼管將會顯示LT(下限溫度值),此時同樣此時,可通過2號鍵和3好鍵來調整預設的下限溫度值,每次按一下2號按鍵預設的溫度下限值就上升一度,每次按一下3號鍵時預設的溫度下限值就下降一度,此過程都會同過LED數碼
19、管顯示。在設置好預設溫度的上、下限時,我們再次按下1號鍵,此時LED數碼管顯示的將是溫度傳感器DS18B20傳送的溫度值,51單片機將會把此測量值與先前預設的溫度上、下限值進行比較處理,然后進行其他功能模塊的操作。具體如下:復位 , 按一下為設置上限,按兩下為設置下限,再按一下進入顯示狀態(tài)。上限 按下復位進入上下限設置時,每按一下為上限升高一度。下限 按下復位進入上下限設置時,每按一下為下限降低一度。真電路如下圖3-2:3-2 按鍵電路圖3.4 LED數碼管顯示單元為使溫度顯示的更為準確,本次設計中我選擇的是8段的供陽的4位LED數碼管(其中一段為小數點),LED數碼管的8段位分別連接51單片
20、機的P0.0P0.7端口,數碼管的4位選位分別通過P2.0P2.3端口連接。LED數碼管在工作時,由于其為供陽的,每個段位只有當輸入低電平時此段位被點亮,以顯示數字“0”為例,共陽的g f e d c b a 相應的為1000000,字型碼為C0H。在本設計中將所以LED數碼管的8個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連接在一起,另外為每個數碼管的公共極COM增加位元選通的控制電路,位元選通由它們自己的I/O端口鏈接控制。當51單片機運作時,所有的數碼管都會接收到同樣的字符碼,我們可以通過51單片機對COM端電路進行控制,來決定那個數碼管顯示字符,所以只要將需要顯示的數碼管的選
21、通控制打開,該單元就會顯示字形,沒選通的就不會點亮。這樣通過分時分別控制LED數碼管的COM端,可以使每個位輪流顯示,每位點亮的時間間隔大概為1ms左右7。LED數碼管如下圖3-3:3-3 LED數碼管電路圖3.5溫度超、低溫與異常情況報警單元采集到的溫度經過處理后,超過規(guī)定溫度上限時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生,同時通過P2.6口連接的 RELAY輸出低電平控制信號來驅動RL1,使得加熱爐停止加熱,讓溫度慢慢回落;當采集到的溫度經過處理后,低于設定溫度下限時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生,同時通過P2.6口連接的RELAY輸出高電
22、平控制信號來驅動RL1,使得加熱爐工作,為系統(tǒng)提供熱量,來升高溫度。要是由于環(huán)境溫度變化太劇烈或加熱、降溫設備出現故障,或溫度傳感頭出現故障,而在一定時間內,不能將溫度控制到規(guī)定的溫度限內,單片機也將會通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生8。在實驗中設置的下限溫度是20攝氏度,當溫度達到20攝氏度時,蜂鳴器就虎發(fā)出報警。實驗中設置的上限溫度為40攝氏度,當溫度達到所示的40攝氏度時,蜂鳴器就會開始報警。仿真電路如下圖3-4:3-4蜂鳴器電路圖3.6溫度測試單元在本設計中溫度測試采用溫度芯片DS18B20與51單片機的P3.4口連接。此集成芯片,可以很好的減少外界的干擾。其內部集成
23、A/D轉換器,使得電路結構更簡單,且減少了溫度測量轉換時的精度損失,從而使測量的溫度值更為精確,具有實在的設計意義。且數字溫度傳感器DS18B20只用一個引腳,即可與單片機進行通信了,大大的減少了接線麻煩的問題,使得單片機更加具擴展性。由于DS18B20芯片的小型化,通過單條數據線,就可以和主電路連接,在實際應用中,可把數字溫度傳感器DS18B20做成測溫探頭,可方便的探入到狹小的地方,從而增加了實用性9。DS18B20的開始運作時,首先要做的是復位工作,即在開始工作前,51單片機將會給DS18B20當總先發(fā)送一個不小于480us的低電平信號,對其進行復位。DS18B20在接收到這個信號后的1
24、560us內會回發(fā)一個芯片的存在脈沖。為了接收存在脈沖,數據當總線將會被控制器拉高,存在脈沖是一個60240us的低電平信號。接下去將進行51單片機與DS18B20間的通信。51單片機發(fā)送控制的指令共有5指令,而每一個工作周期只可以發(fā)送一條指令。5條指令分別為:讀取數據、指定匹配的芯片、跳躍ROM、芯片搜索、報警芯片搜索。接著51單片機發(fā)送存儲器操作指令(在指令發(fā)送給DS18B20后,馬上就發(fā)送存儲器操作指令了)。存儲器指令的功能就是控制DS18B20怎么樣進行工作。DS18B20同51單片機的接線如下3-5圖:3-5 DS18B20電路圖見圖可知DS18B20只需與單片機的一個端口連接即可,
25、不過當總線為開漏需要外接一個上拉電阻R2,為4、7K。3.7 溫度控制器件單元在本次設計中,是采用加熱爐通過PID算法來對溫度進行控制的,其配有功率顯示表,以便在仿真中與溫度傳感器DS18B20相對應,便于統(tǒng)計。加熱爐與光電耦合器連接,光電耦合器通過RELAY與51單片機的P2.6口連接。當測量到的溫度值未達到先前設定的預期溫度值下限時,51單片機通過RELAY口向光電耦合器發(fā)送高電平時,無電流流過,光電耦合器將不導通,繼電器也不能導通,繼電器的線圈無電流通過,RL1打向電源處,加熱爐通電開始工作加熱,可以根據功率表的數據顯示看出加熱爐提升的溫度。當測量到的溫度值超出先前設定的預期溫度值上限時
26、,51單片機通同過RELAY口向光電耦合器發(fā)送低電平時,光電耦合器將導通,有電流流過,使得繼電器也導通,繼電器的線圈有電流通過,RL1打向繼電器線圈,加熱爐斷開連接,停止工作,使溫度慢慢的回落。溫控系統(tǒng)連接方法如下3-6圖:3-6 溫控系統(tǒng)電路圖第四章恒溫控制算法研究(PID)4.1 PID控制器的設計PID控制是目前在溫度控制中應用最廣泛的一種控制算法,其核心思想是按設定值與測量值之間的偏差比例、偏差的積累和偏差變化的趨勢來控制輸出量,即根據偏差值來計算控制量。數字PID控制律的實現,需采用數值逼近法,當采樣的周期相當短時,可以用用差商代替微分,求和代替積分,可以有如下近似變換10。 (4-
27、1)式中,k為采樣的序號,k=l,2,;T為采樣的周期。在離散化的過程中,采樣時間T須足夠的短,不然難以確保精度。在運算時,把表示成)等,省去了T。則可推算出離散的PID表達式寫成: (4-2)式中,k為采樣的序號,k=1,2,;u(k)是第k次采樣時,計算機輸出的值;是第k次采樣時輸入的偏差值;是第次采樣時輸入的偏差值;是積分系數,;是積分系數。在實際的應用中,通常采用增量式PID控制算法,即數字控制器輸出只是控制量的增量,該算法編程簡單,數據可以遞推使用,占用存儲空間少,運算快。根據遞推原理可得: (4-3)公式(4-2)與公式(4-3)相減,即得到增量式PID控制算法(4-4): (4-
28、4)本次設計中,控制器的設計采用增量數字PID控制算法的功能,可以比較靈活的調節(jié)控制信號的導通時間來控制溫度值控制的工作。能夠基本滿足溫度控制的要求。4.2 PID算法的流程實現方法與具體程序本系統(tǒng)設計的溫度控制系統(tǒng)是與光電耦合器連接的加熱爐。傳統(tǒng)的方法是:當測量的環(huán)境溫度達到設定值時,加熱爐不在加熱狀態(tài),可是此時加熱爐的溫度仍然會高與設定的溫度值,加熱爐還是會起到加熱的作用,使得系統(tǒng)的溫度經常繼續(xù)要升高一會后才能開始下降。當下降到設定的下限溫度值時,溫控系統(tǒng)會促使加熱爐開始工作,對系統(tǒng)進行加熱,此過程需要一定的時間,所以往往又會下降一定溫度,才能開始上升溫度。所以傳統(tǒng)的方法往往會出現一定的誤
29、差,此誤差就是溫度的慣性引起的11。PID算法是PID模糊控制技術的核心部分,通過比例、積分、微分三方面的結合與調整構成一個反饋控制,可解由于溫度的慣性而產生的誤差。經過PID控制器處理后可輸出電壓的控制信號,從而反饋調節(jié)溫度。數字PID的控制示意圖如下4-1:PID控制器系統(tǒng)圖4-1數字PID的控制實驗中最主要的就是PID參數的選擇,它決定著整個溫度控制的精確度。我們可以根據具體情況的要求,來調節(jié)合適的參數。P為比例系數,當在一定范圍內若是調節(jié)增加P時,系統(tǒng)的反映將會變的靈敏,穩(wěn)態(tài)的誤差值將會變小,可要是P值過大時的話,同樣會時系統(tǒng)變得不穩(wěn)定。P值過于小了,系統(tǒng)的反映又會變的很慢。可見的,P
30、值要是選取不恰當,測量值就會和設定值的偏差越來越大,要是出現了這樣的問題時,可將P值的符號取反12。I為積分系數,I的值越小積分的作用就會越強,積分作用強了就會導致系統(tǒng)的穩(wěn)定性下降,不過T值小了,穩(wěn)態(tài)所產生的誤差將會減小。 D為微分控制,微分控制可以改善動態(tài)的特性,當D偏大時,超調量隨之變大,調節(jié)時間會減短;D偏小時,超調量同樣變大,不過調節(jié)時間就會比較長,只有D合適時,才能使超調量較小,調節(jié)時間也較短。調試時,只能參考參數對系統(tǒng)控制過程的變化趨勢,來對參數調整來先比例,后積分,再微分的步驟慢慢調試,一直湊到滿意的結果為止。數字PID的差分方程: (4-5)在上式中,稱為比例項;稱為積分項;稱
31、為微分項。得到增量式公式為: (4-6)在此式中,。PID的具體算法程序如下13:EnumY,U,R,Ts,Kd,Kp;/Y采集量、U控制量、R設定量、Ts采樣時間、Kd微分、Kp比例 int para6,ptr,out;/out是從PID( )得到的控制量 int r,Kp,Kd,Ts,e2,e1,e0,u;/*/Void initPID( ) / 初始化PID函數paraR=20; paraKp=2; paraKd=2; paraTs=1Void PID( ) paraY=(int)(ad_data); r=paraR; e0=e1;e1=e2;e2=r-paraY/10; Kp=para
32、Kp;Kd=paraKd;ts=paraTs; u=r+Kp*e2+Kd*(e2-e1);,if(u<0)u=0; / 控制量限制 if(u>200)u=200; parau=u/10; out=parau; Void Tem_timer0( ) interrupt 1 / 采樣時間 THO=tim0>>8;TL0=tim0;If(tm+>out)TEM=1;else TEM=0; if(m>200)tm=0; if(out<10)TEM=1;if(timecnt+=100) timecnt=0;Void timer1( ) interrupt 3 T
33、H1=timer 1( )>>8;TLI=tim 1;If(dealCS=0) wdCtrl=paraR; if(wdCtrl-(int)(ad_data)/10)>10)out=200; else if (int)(ad_data)/10-wdCtrl)>2)out=0; else out=CtrltabwdCtrl+2-(int)(ad_data)/10; Else if (tx+>=ts) PID( ); t=0; 第五章 軟件設計實現5.1統(tǒng)軟件設計概述在恒溫PID控制系統(tǒng)中軟件是整個系統(tǒng)的核心,在軟件設計中采用分層模塊化設計,其中主要的模塊包含:人機交互
34、模塊、數據顯示模塊、PID控制器模塊、信號采集模塊、超、低溫報警模塊幾部分。5.2、系統(tǒng)軟件各模塊介紹及模塊結構圖系統(tǒng)總體軟件構成下圖5-1: 人機交互模塊數據顯示模塊PID控制器模塊信號采集模塊超、低溫報警模塊驅動輸出圖5-1系統(tǒng)總體軟件構成圖人機交互模塊,是通過3位按鍵來實現的。第一個按鍵為復位按鍵,其他兩個為調節(jié)按鍵,當有鍵按下時該鍵位將會處于低電平狀態(tài),按鍵連接了上電阻,使其當未有按鍵按下時,各各按鍵位都處于高電平。本設計中的按鍵具體原理與操作方法,在第三章的按鍵單元中已經做了詳細的說明。數據顯示模塊,是通過8段的供陽的4位LED數碼管(其中一段為小數點)實現的。采用的是通過動態(tài)顯示法
35、,分時分別控制LED數碼管的COM端,使每個位輪流顯示,每位點亮的時間間隔大概為1ms左右。 PID控制器模塊,本設計是運用PID控制算法,仿真實現一個恒溫控制系統(tǒng)。在上一章中我們已經描述了電壓的控制信號,從而反饋調節(jié)溫度。設計中最主要的就是PID參數的選擇,它決定著整個溫度控制的精確度。我們可以根據具體情況的要求,來調節(jié)合適的參數。對PID函數進行初始化時,需設置函數參數,這些參數都是根據實驗測定獲得的,具體參數在上一章PID算法研究中有詳細說明。信號采集模塊,本設計中是運用DS18B20進行溫度采集的,在DS18B20開始運作時,首先要做的是復位工作, DS18B20在接收到這個信號后的1
36、560us內會回發(fā)一個芯片的存在脈沖。為了接收存在脈沖,數據當總線將會被控制器拉高,存在脈沖是一個60240us的低電平信號。接下去將進行51單片機與DS18B20間的通信。接著51單片機發(fā)送存儲器操作指令(在指令發(fā)送給DS18B20后,馬上就發(fā)送存儲器操作指令了)??刂艱S18B20怎么樣進行工作16。超、低溫報警模塊,本設計中采用蜂鳴器,對異常情況進行報警。當出現異常情況,溫度過高或是過低時,控制芯片將會向蜂鳴器發(fā)送高電平,蜂鳴器在接收高電平時就會發(fā)出鳴叫聲報警。5.3系統(tǒng)軟件程序流程及程序流程圖 系統(tǒng)軟件流程如下圖5-2開始系統(tǒng)初始化溫度采集溫度顯示按鍵設置預設溫度比較設定的溫度與測量溫
37、度值的大小PID控制 圖5-2系統(tǒng)軟件流程圖程序流程為:在程序開始時,先進行初始化,通過按鍵設置給定溫度值,然后通過數碼管來顯示當前的溫度,再比較設定的預期溫度與測量溫度值的大小,將比較的信息通過繼電器來控制加熱爐的通斷,超過先前設定的預期溫度值時,使單片機向蜂鳴器發(fā)送高電平信號使其發(fā)出報警,同時點亮報警指示燈。再通過單片機I/O口向三極管發(fā)送低電平時,使對應三極管截止,三極管不導通,繼電器也不能導通,繼電器的線圈無電流通過,繼電器開關不能吸合,加熱爐回路處于斷開狀態(tài),電路處于報警狀態(tài)。可以根據電壓表的數據顯示看出加熱爐提升的溫度。當測量到的溫度值低于先前設定的預期溫度值上限時,使單片機將向蜂
38、鳴器發(fā)送高電平信號使對應三極管導通,再通過I/O口向對應三極管發(fā)送高電平,三極管將處于導通狀態(tài)有電流流過,使得繼電器也導通,繼電器的線圈有電流通過,繼電器開關吸合,加熱爐回路導通,加熱爐開始工作。5.4 DS18B20溫度傳感器分析在本次軟件設計中,核心的部分就是PID算法的控制與DS18B20溫度采集的實現,PID算法在上文中已經做了詳細的介紹,在此再具體的分析下DS18B20。在本次設計我選擇了DS18B20來繼續(xù)溫度檢測,因為數字溫度傳感器DS18B20只需一個引腳,即可與單片機進行通信了,大大的減少了接線麻煩的問題,使得單片機更加具擴展性。由于DS18B20芯片的小型化,通過單條數據線
39、,就可以和主電路連接,可把數字溫度傳感器DS18B20做成測溫探頭,可方便的探入到狹小的地方,從而增加了實用性。且本次設計采用proteus仿真軟件,在proteus仿真軟件里DS18B20可以隨意設定溫度,模仿實際環(huán)境溫度值,便于實驗17。DS18B20數字溫度傳感器的內部包含了高速暫存RAM與用來存儲TH、TL的E 2ARM。接受到的數據先是存入RAM,經檢驗后傳送至E 2ARM。RAM中的第5個字節(jié)用與控制控制溫度的數字轉換分辨率,此分辨率決定DS18B20工作時溫度轉換的先對應的數值。其中要注意的是設定的分辨率越高,就需要消耗越多的轉換時間。所以在設置分辨率時我們需要有所考慮18。DS
40、18B20在接收到溫度轉換的命令后,將溫度值數據轉換成以二進制補碼的形式存儲在RAM中,然后51單片機再通過單總線接收此數據,以地位在前高位在后的方式來讀取數據。接收數據后通過溫度計算,將得出的溫度值與設定的TH、TL進行比較,51單片機再根據比較的結果做出相應的運行工作。為此我們在程序設計中設計了下面主要幾個子程序。首先對DS18B20進行初始化處理void Init_DS18B20(void) unsigned char x=0; DQ = 0; /單片機將DQ拉低 delay_18B20(80); /精確延時 大于 480us DQ = 1; /拉高總線 delay_18B20(14);
41、 x=DQ; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay_18B20(20);在初始化后,先讓DS18B20讀一個字節(jié)unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-) DQ = 0; / 給脈沖信號 dat>>=1; DQ = 1; / 給脈沖信號 if(DQ) dat|=0x80; delay_18B20(4); return(dat);再讓其寫一個字節(jié),運行子程序如下:void WriteOneChar(unsigned
42、char dat) unsigned char i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat>>=1; 接下來設計DS18B20的工作狀態(tài),設置其上、下限報警溫度分別為TH和TL,且設置顯示的分辨率為RS,執(zhí)行的子程序如下:void setds18b20(unsigned char TH,unsigned char TL,unsigned char RS)Init_DS18B20();WriteOneChar(0xCC); / 跳過讀序號列號的操作WriteOneC
43、har(0x4E); / /寫入"寫暫存器"命令,修改TH和TL和分辯率配置寄存器/先寫TH,再寫TL,最后寫配置寄存器WriteOneChar(TH);/寫入想設定的溫度報警上限WriteOneChar(TL);/寫入想設定的溫度報警下限WriteOneChar(RS);/寫配置寄存器,格式為0 R1 R0 1,1 1 1 1/R1R0=00分辨率婁9位,R1R0=11分辨率為12位最后就是讀取DS18B20的溫度值了,執(zhí)行子程序如下:unsigned char *ReadTemperature(void)unsigned char tt2;Init_DS18B20();
44、WriteOneChar(0xCC); / 跳過讀序號列號的操作WriteOneChar(0x44); / 啟動溫度轉換delay_18B20(70); / 溫度轉化要一段時間Init_DS18B20();WriteOneChar(0xCC); /跳過讀序號列號的操作WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度/delay_18B20(70);tt0=ReadOneChar(); /讀取溫度值低位tt1=ReadOneChar(); /讀取溫度值高位return(tt);結論 本次設計采用proteus仿真軟件,以AT89C51單片機
45、做為主控單元,運用PID控制算法,仿真實現了一個恒溫控制系統(tǒng)。設計中使用溫度傳感器DS18B20采集實時溫度,使用PID算法控制加熱爐仿真模型進行溫度控制,總體實現了一個恒溫控制仿真系統(tǒng)。仿真中先通過按鍵設置溫度,然后通過溫度傳感器 DS18B20 ,從環(huán)境中采集溫度,由單片機獲取采集的溫度值,經過處理后,可得到當前環(huán)境溫度中一個比較穩(wěn)定的溫度值,并且通過LED數碼管顯示。再去根據當前設定的溫度值的上下限,溫度未達到預定的下限溫度時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生,同時通過P2.6口連接的RELAY輸出高電平控制信號來驅動RL1,使得加熱爐工作,為系統(tǒng)提供熱量,來升
46、高溫度。溫度上升到預定上限溫度時,單片機將通過P1.5口向蜂鳴器發(fā)送高電平信號使其發(fā)出警報生,同時通過P2.6口連接的 RELAY輸出低電平控制信號來驅動RL1,使得加熱爐停止加熱,讓溫度慢慢回落。本設計可以大體的模擬仿真實現溫度檢測系統(tǒng)的運行過程,具體的仿真現實如下所述20。模擬仿真過程在模擬仿真中,當將DS18B20的溫度設置為17攝氏度時。51單片機通過RELAY口向光電耦合器發(fā)送高電平時,無電流流過,光電耦合器將不導通,繼電器也不能導通,繼電器的線圈無電流通過,RL1打向電源處。此時加熱爐通電開始工作加熱,可以根據功率表的數據顯示得出加熱爐提升的溫度。當將DS18B20的溫度設置為41
47、攝氏度時。51單片機通同過RELAY口向光電耦合器發(fā)送低電平時,光電耦合器將導通,有電流流過,使得繼電器也導通,繼電器的線圈有電流通過,RL1打向繼電器線圈。此時加熱爐斷開連接,停止工作,但是加熱爐還是會有一定的延遲性,只能讓溫度慢慢的回落。測設分析1、測試環(huán)境仿真環(huán)境溫度20-40攝氏度2、測試方法用調節(jié)DS18B20,來模擬環(huán)境溫度,通過按鍵來設置溫度的上、下限與復位,根據LED數碼管顯示來觀察結果。3、測試結果設定溫度由20攝氏度到40攝氏度標定溫差<=1攝氏度 調節(jié)時間 15s(具體情況隨實際情況)靜態(tài)誤差<=0.5攝氏度 最大超調量1攝氏度4、通過仿真測試分析,對于實際的
48、室內的溫度控制,可以再得出以下 2 點方法 :我們可以通過增加傳感器的個數,然后算出平均值,這樣可以獲得較為精確的溫度值。在對環(huán)境溫度的控制環(huán)節(jié)中,我們可采用功率較大的加熱電阻,實現對環(huán)境溫度的提升,用風扇來對環(huán)境溫度進行降溫處理。 參考文獻1劉昭斌.單片機控制的溫度控制系統(tǒng)J.蘭州石化職業(yè)技術學院學報, 1999,(02).2於丹.春風化雨芽將萌談我國單片機的發(fā)展J.微電腦世界, 1998,(17). 3黃天戍,羅璠,徐長寶,任清珍.一種可靈活使用的溫度控制系統(tǒng)設計方法研究J.中國儀器儀表,2003,(07). 4張毅剛,單片機原理及應用M,高等教育出版社.5李健云,張振輝,訾壯輝.一種新型
49、恒溫控制系統(tǒng)J.黑龍江大學自然科學學報,1998,(01). 6鄭豐隆.新型二線AT24C系列串行E2PROM及其在單片機系統(tǒng)中的應用J.微電腦世界,1995,(01). 7元紅妍,張鑫.電子綜合設計實驗教程M,山東大學.8馬喜順.8位單片機仍是當前應用的主流J.電子產品世界,1999,(01). 賴志昌,王麗慧,王君,金鴻章.8098單片機調速器的研究J.應用科技 , 2000,(07).9楊鳳山,李穎宏,李正熙.混PID的設計及仿真研究J. 北方工業(yè)大學學報 , 2003,(03). 10張岱,永海,馬源.智能化PID控制實驗系統(tǒng)J.實驗技術與管理1995 (03)11Stefani RT
50、, Savant CJ Jr, Shahian B, Hostetter GH (1994) Design of feedback control systems. Saunders College, Boston.12Cannell MB, Lederer WJ (1986)A novel experimental chamber for single-cell voltage-clamp and path-clamp applications with low electrical noise and excellent temperature and flow control. Pflu
51、gers Arch 406:536-539.13Velichkov IV(1988)Simple temperature controller using 723 integrated voltage regulator. J Phys E Sci Instrum 21:1098-1099.14何小艇.電子系統(tǒng)設計M.浙江:浙江大學出版社,2004.15譚克俊.電爐爐溫微機群控系統(tǒng)的設計J.微型機與應用,1993,(11).16馬云峰,數字溫度傳感器DS18B20的原理與應用J.電子原器件應用,2002.17宋劉非,基于DS18B20傳感器的溫度檢測系統(tǒng)J.光電技術應用,200918黃燦勝,基于DS18B20數字溫度計溫度補償和測量系統(tǒng)設計J.廣西民族師范學院學報,2010.19金以慧.過程控制J.北京清華大學出版社,1993.20國強,王淑鈞.高精度恒溫連續(xù)可調型溫控器的設計J.應用科技,2003,(04). 附錄A1、將溫度控制系統(tǒng)的開關打到“關”的位置。2、將DS18B20放到需要檢測溫度的位置。3、接上溫度控制系統(tǒng)的電源、并打開開關。在溫度控制系統(tǒng)上的數碼管顯示出當前溫度。4、通過按鍵設置所需要的溫度。系統(tǒng)會將設置值與當前值進行比較,通過溫度芯片的反饋,單片機控制會通過加熱爐控制環(huán)境的溫度,使測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北師大版高三歷史上冊階段測試試卷含答案
- 2025年滬教新版選修3物理上冊階段測試試卷含答案
- 2025年粵人版高一數學下冊階段測試試卷
- 2025年北師大版九年級地理下冊月考試卷含答案
- 2025年湘教版選擇性必修1歷史下冊月考試卷含答案
- 2025年浙教新版必修三英語上冊階段測試試卷
- 公共文化服務理論與實務知到智慧樹章節(jié)測試課后答案2024年秋四川藝術職業(yè)學院
- 2025年度美容院美容產品包裝設計與生產合同4篇
- 二零二五年度農業(yè)休閑觀光園開發(fā)合同4篇
- 二零二五年度綠色生態(tài)農用地流轉合同4篇
- 2024年蘇州工業(yè)園區(qū)服務外包職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 人教版初中語文2022-2024年三年中考真題匯編-學生版-專題08 古詩詞名篇名句默寫
- 2024-2025學年人教版(2024)七年級(上)數學寒假作業(yè)(十二)
- 山西粵電能源有限公司招聘筆試沖刺題2025
- 2024年高考全國甲卷英語試卷(含答案)
- 2024光伏發(fā)電工程交流匯流箱技術規(guī)范
- 旅游活動碳排放管理評價指標體系構建及實證研究
- 2022年全國職業(yè)院校技能大賽-電氣安裝與維修賽項規(guī)程
- 小學德育養(yǎng)成教育工作分層實施方案
- 2024年湖南高速鐵路職業(yè)技術學院單招職業(yè)技能測試題庫附答案
- 黑枸杞生物原液應用及產業(yè)化項目可行性研究報告
評論
0/150
提交評論