基于PID的水溫控制系統(畢業論文)_第1頁
基于PID的水溫控制系統(畢業論文)_第2頁
基于PID的水溫控制系統(畢業論文)_第3頁
基于PID的水溫控制系統(畢業論文)_第4頁
基于PID的水溫控制系統(畢業論文)_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單位代碼 01 學號 100119026 分 類 號 TP273 密 級 畢業設計說明書基于PID的水溫控制系統設計 院(系)名稱信息工程學院 專業名稱測控技術與儀器 學生姓名 指導教師2014年4月25日第 頁黃河科技學院畢業設計說明基于PID的水溫控制系統設計摘 要本次設計采用proteus仿真軟件,以AT89C51單片機做為主控單元,運用PID控制算法,仿真實現了一個恒溫控制系統。設計中使用溫度傳感器DS18B20采集實時溫度,不需要復雜的信號調理電路和A/D轉換電路,能直接與單片機完成數據的采集和處理,使用PID算法控制加熱爐仿真模型進行溫度控制,總體實現了一個恒溫控制仿真系統。系統設

2、計中包含硬件設計和軟件設計兩部分,硬件設計包含顯示模塊、按鍵模塊、溫度采集模塊、溫度加熱模塊、蜂鳴器報警模塊。軟件設計的部分,采用分層模塊化設計,主要有:鍵盤掃描、按鍵處理程序、數碼管顯示程序、繼電器控制程序、溫度信號處理程序、超溫報警程序。另外以 AT89C51 單片機為控制核心,利用PID 控制算法提高了水溫的控制精度,使用PID 控制算法實施自動控制系統,具有控制參數精度高、反映速度快和穩定性好的特點。關鍵詞 :proteus仿真,PID,AT89C51,DS18B20溫度控制第 頁黃河科技學院畢業設計說明 The Design of Water Temperature Control

3、Based on PIDAuthor:Tutor:AbstractThis design uses proteus simulation software and takes AT89C51 as master unit, using PID control algorithm to simulation a temperature control system. The Design uses temperature sensor DS18B20 acquisition real-time temperature, and does not require complex signal co

4、nditioning circuitry and A/D converter circuit with the MCU completing the acquisition and processing of data directly.The use of PID algorithm control furnace temperature control simulation model, the overall implementation of a temperature control simulation system. The system design contains hard

5、ware design and software design two 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 proced

6、ures, relay control procedures, temperature signal processing program and super temperature alarming program. In addition to AT89C51 control core, the use of PID control algorithm to improve the accuracy of temperature control using PID control algorithm to implement automatic control system with hi

7、gh precision control parameters, reflecting the speed and stability characteristics.Keywords: proteus simulation, PID, AT89C51, DS18B20 Temperature Control第 頁黃河科技學院畢業設計說明書目 錄1 緒論11.1 背景意義11.2 溫度控制系統國內外發展現狀11.3 本課題研究的主要內容22 系統總體設計方案論證42.1 設計要求42.2 總體設計方案43 系統的硬件設計63.1 系統硬件構成概述63.2 各單元總體說明63.3 按鍵單元63.

8、4 LED數碼管顯示單元73.5 溫度超、低溫與異常情況報警單元83.6 溫度測試單元93.7 溫度控制器件單元104 恒溫控制算法研究(PID)114.1 PID控制器的設計114.2 PID算法的流程實現方法與具體程序125 系統的軟件設計165.1 統軟件設計概述165.2 系統軟件程序流程及程序流程圖175.3 溫度數據顯示模塊分析185.4 測試分析206 模擬仿真結果22第 頁黃河科技學院畢業設計說明書結 論25致 謝26參考文獻27附 錄29第 38 頁黃河科技學院畢業設計說明書1 緒論1.1 背景意義在現實情況中,由于環境中溫度值的滯后現象嚴重,慣性很大,且存在很多不確定的因素

9、,所以很難建立精確的數學模型,因此常常導致控制系統的性能不佳,有時還會出現控制不穩定和失控現象。本次設計采用proteus仿真軟件,以AT89C51單片機做為主控單元,運用PID控制算法,仿真實現了一個恒溫控制系統,可以避免一些不確定的影響因素。傳統的繼電器溫控電路雖然運用起來比較簡單,但由于繼電器運作頻繁,可能會因觸點不良而影響正常工作。現今在控制領域,一般使用PID算法進行溫度控制,不過PID控制對象的數學參數也是難以建立的,并且當擾動因素不確定時,參數調整會比較麻煩,這依然是普遍存在的技術難題。本設計中的溫度采集是用數字溫度傳感器DS18B20,在其內部集成了A/D轉換器,可使電路結構更

10、簡單,且減少了溫度測量轉換時的精度損失,從而使測量溫度更為精確。數字溫度傳感器DS18B20只用一個引腳,即可與單片機進行連接了,這樣大大的減少了設計中接線麻煩的問題,使得單片機可以節約許多端口。DS18B20芯片的體積又比較小,且還是單線與主控芯片連接,于是在實際運用中,常常把數字溫度傳感器DS18B20做成小型的測量溫度的探頭,即使是一些狹小的位置也能很方便的檢測到,使溫控系統發揮最大的作用1。 現在國內外市場用單片機作為為核心的溫度控制系統已經越來越廣泛了,且設計方案都很靈活,應用起來相當的廣泛,應用于工業上的加熱爐、熱處理爐、反應爐,在我們日常生活中的應用也是比較廣的,如熱水器,室溫控

11、制,農業中的大棚溫度控制等等。現在人們的物質生活已經轉好,隨之而來的就是對生活質量的需求了。在舒適的溫度下休息、活動,在不同的季節里都可以吃到各種蔬菜、水果,等等這些都需要對溫度的控制。可見不僅在工業生產上溫度控制是重點,在人們的日常生活中溫度控制領域也潛藏這巨大的前景。如飼養幾條魚兒也成為一種趨勢,這也將會帶動與之相關的產業也應運發展起來。魚缸是養魚的必備用具,型魚缸也在市場上層出,其中水溫的控制是關鍵。1.2 溫度控制系統國內外發展現狀目前,國外溫度控制系統正向著高精度、高智能化發展。溫度控制系統在我國各個行業的應用雖然已經很普遍了,可是從國內生產的溫度控制器來看,總體發展水平還是落后與先

12、進國家,同先進國家相比,還是有著很大的差距。在高端,高精度的溫度控制方面,我國的溫度控制技術受到了很大的局限性。在這方面有待與我們這代人的努力,同時在這方面我國還潛藏著巨大的潛力,有許多我們伸展的空間2。 由于市場的需求,國內以信息化時代的到來,帶動了溫度控制產業的迅速發展。溫度已成為工業對象控制中一個最重要的參數,特別是在化工工業、冶金工業、機械工業、電力工業、食品工業等等領域,都需要對各種加熱爐的溫度進行精確的控制。隨著信息工業不斷的發展,傳統的控制方式已滿足不來高精度、高速度的控制要求了。必須不斷的開發研究創造出新型的信息花的溫度控制系統。近幾年,國內外對溫度控制系統都進行了大量的研究。

13、在各國,溫度控制系統技術都已經被列為未來控制領域研究的幾大方向之一,具有廣闊的應用、市場前景。1.3 本課題研究的主要內容溫度是工業生產過程中最常見的變量參數之一,對溫度控制的精確度,直接影響到產品的質量。及時準確地獲得溫度信息并對其進行精確的控制。不同產品和不同工藝要求下的溫度控制,所采用的控制方式和加熱方式都是不一樣的。現今基于數字PID和單片機的溫度控制系統在工業生產上已經被廣泛的使用,此系統的任務是對溫度進行實時監控。在控制過程中,系統采用的是數字PID控制算法來實現其功能的。傳統PID控制電路結構相當的復雜(不適應現代工業發展的需求),對溫度進行控制時需要配合可控硅控制電路才能實現,

14、此系統不僅器件煩多,生產成本高,而且電路調試還很復雜。在新型的溫度控制系統中,運用單片機來進行數字PID運算,這樣可以充分發揮其軟件系統的靈活性,可以使得工業生產中控制方便,簡單和靈活性大等等優點。而系統中的單片機是整個控制系統的核心。在溫度控制系統的設計中,溫度采集為很一個重要的模塊。在本次設計中,采用數字傳感器DS18B20來采集溫度。數字溫度傳感DS18B20只用一個引腳,即可與51單片機進行連接了,這樣大大的減少了設計中接線麻煩的問題,使得單片機可以節約許多端口。DS18B20芯片不僅體積比較小,且還是單線與主控芯片連接,于是在實際運用中,常常把數字溫度傳感器DS18B20做成小型的測

15、量溫度的探頭,即使是一些狹小的位置也能很方便的檢測到,使溫控系統發揮最大的作用。先通過按鍵設置溫度,然后通過溫度傳感器DS18B20,從環境中采集溫度,由單片機獲取采集的溫度值,經過處理后,可得到當前環境溫度中一個比較穩定的溫度值,并且通過LED數碼管顯示。再去根據當前設定的溫度值的上下限,溫度未達到預定的下限溫度時,單片機向蜂鳴器發送高電平信號驅動使其發出警報生,同時輸出高電平控制信號來驅動加熱爐工作,為系統提供熱量,來升高溫度。溫度上升到預定上限溫度時,單片機向蜂鳴器發送高電平信號使其發出警報生,同時輸出低電平控制信號來驅動使得加熱爐停止加熱,讓溫度慢慢回落。當因環境溫度變化劇烈或因加熱、

16、降溫設備出現故障時,或者因溫度傳感頭出現故障,導致在一段時間內不能將環境溫度調整到溫度限內的時,單片機向蜂鳴器發送高電平信號使其發出警報生。2 系統總體設計方案論證2.1 設計要求一種基于數字PID和單片機的溫度控制系統設計。要求如下:1、超調量10%2、溫度連續可調,范圍為20403、人機對話方便4、溫度誤差±0.52.2 總體設計方案在仿真設計中,先通過按鍵設置溫度,然后通過溫度傳感器DS18B20,從環境中采集溫度,由單片機獲取采集的溫度值,經過處理后,可得到當前環境溫度中一個比較穩定的溫度值,并且通過LED數碼管顯示。再去根據當前設定的溫度值的上下限,溫度未達到預定的下限溫度

17、時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報聲,同時通過P2.6口連接的RELAY輸出高電平控制信號來驅動RL1,使得加熱爐工作,為系統提供熱量,來升高溫度。溫度上升到預定上限溫度時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報生,同時通過P2.6口連接的RELAY輸出低電平控制信號來驅動RL1,使得加熱爐停止加熱,讓溫度慢慢回落3。當因環境溫度變化劇烈或因加熱、降溫設備出現故障時,或者因溫度傳感頭出現故障,導致在一段時間內不能將環境溫度調整到溫度限內的時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報聲。 工作原理圖如圖2.1所示:圖2.1 工作原理圖在

18、設計中使用溫度傳感器DS18B20采集實時溫度,使用PID算法控制加熱爐仿真模型進行溫度控制。DS18B20是DALLAS公司生產的經典的數字溫度傳感器,具有低功耗、高性能、抗干擾能力、微型化、強易配處理器等等優點,它特別適合用于多點溫度測控的系統,它可直接將溫度轉化成數字信號,交給單片機處理,并且在同一總線上可掛接多個傳感器芯片,進行范圍性的溫度檢測。在其內部集成了A/D轉換器,可使電路結構更簡單,且減少了溫度測量轉換時的精度損失。數字溫度傳感DS18B20只用一個引腳,即可與單片機進行連接了,這樣大大的減少了設計中接線麻煩的問題,使得單片機可以節約許多端口。DS18B20芯片的體積又比較小

19、,且還是單線與主控芯片連接,于是在實際運用中,常常把數字溫度傳感器DS18B20做成小型的測量溫度的探頭,即使是一些狹小的位置也能很方便的檢測到,使溫控系統發揮最大的作用4。在本仿真設計中DS18B20與51單片機的P3.4口鏈接。DS18B20可以仿真設置環境溫度,來完成設計要求,設置到20和40攝氏度時蜂鳴器就會發起警報。本次設計采用proteus仿真軟件,以AT89C51單片機做為主控單元。51單片機上連接晶振和復位電路,保證單片機的正常運行。P0口與LED數碼管連接,顯示測量結果。P1.0,P1.4,P3.3分別與3個控制按鍵連接,P1.5口與報警系統蜂鳴器連接。由AT89C51的端口

20、豐富使得整個系統設計起來方便簡單,線路清晰,且AT89C51是一個高性能,低功耗的CMOS 8位單片機,AT89C51設計和配置了振蕩頻率可為0Hz,在實際的應用中性價比很高,是溫控系統的不二選擇。本設計中選擇AT89C51做為主控單位也是考慮到了實際的需求和做此設計的意義的5。3 系統的硬件設計3.1 系統硬件構成概述本章主要介紹本次設計中的硬件設計部分,其中包含:顯示模塊、按鍵掃描模塊、溫度采集模塊、溫度加熱模塊、蜂鳴器報警模塊。3.2 各單元總體說明1、 顯示模塊:本設計中采用4位LED數碼管顯示溫度值,其中最后一位為小數位。2、 按鍵模塊:本設計中采用3按鍵設置,第一按鍵為復位按鍵,第

21、2、3按鍵為溫度調節按鍵,連接上拉電阻使其未按鍵時能夠保持高電平。3、 溫度采集模塊:本次設計中使用溫度傳感器DS18B20采集實時溫度,使用PID算法控制加熱爐仿真模型進行溫度控制,數字溫度傳感器DS18B20只需一個引腳,即可與單片機進行通信,在設計中將DS18B20與51單片機的P3.4口連接,用其來完成溫度的測量6。4、 溫度加熱模塊:本設計采用加熱爐來進行溫度值的控制,其配有功率顯示表,以便在仿真中與溫度傳感器DS18B20相對應,便于統計。加熱爐與光電耦合器連接,光電耦合器通過RELAY與51單片機的P2.6口連接。通過51單片機發送信號來控制加熱爐的運作。5、 蜂鳴器報警模塊:本

22、設計中采用蜂鳴器做為報警系統,當采集到的溫度經過處理后,超過規定溫度上、下限時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報生。3.3 按鍵單元一般的鍵盤設計采用的是硬件設計,可是其在仿真設計中連接,線路會比較麻煩。所以在本此設置中我采用的是3按鍵軟件控制,第一個按鍵為復位按鍵,其他兩個為調節按鍵,3按鍵即可完成設計中起始溫度設置與復位要求,方便簡潔,線路清晰設計起來也較為方便。連接上上拉電阻,使其當未有按鍵按下時,各各按鍵位都處于高電平。按鍵操作說明:1號按鍵為復位設置按鍵,第一次按下它時,1號按鍵位將處于低電平,LED數碼管將會顯示HT(上限溫度值),此時,可通過2號鍵和3好鍵

23、來調整預設的上限溫度值,每次按一下2號按鍵預設的溫度上限值就上升一度,每次按一下3號鍵時預設的溫度上限值就下降一度,此過程都會同過LED數碼管顯示。設置好上限溫度后,再次按下1號按鍵,同樣1號按鍵位處于了低電平,LED數碼管將會顯示LT(下限溫度值),此時同樣此時,可通過2號鍵和3好鍵來調整預設的下限溫度值,每次按一下2號按鍵預設的溫度下限值就上升一度,每次按一下3號鍵時預設的溫度下限值就下降一度,此過程都會同過LED數碼管顯示。在設置好預設溫度的上、下限時,我們再次按下1號鍵,此時LED數碼管顯示的將是溫度傳感器DS18B20傳送的溫度值,51單片機將會把此測量值與先前預設的溫度上、下限值進

24、行比較處理,然后進行其他功能模塊的操作。復位具體如下: , 按一下為設置上限,按兩下為設置下限,再按一下進入顯示狀態。上限 按下復位進入上下限設置時,每按一下為上限升高一度。下限 按下復位進入上下限設置時,每按一下為下限降低一度。電路如圖3.1所示:圖3.1 按鍵電路3.4 LED數碼管顯示單元為使溫度顯示的更為準確,本次設計中我選擇的是8段的供陽的4位LED數碼管(其中一段為小數點),LED數碼管的8段位分別連接51單片機的P0.0P0.7端口,數碼管的4位選位分別通過P2.0P2.3端口連接。LED數碼管在工作時,由于其為供陽的,每個段位只有當輸入低電平時此段位被點亮,以顯示數字“0”為例

25、,共陽的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端電路進行控制,來決定那個數碼管顯示字符,所以只要將需要顯示的數碼管的選通控制打開,該單元就會顯示字形,沒選通的就不會點亮。這樣通過分時分別控制LED數碼管的COM端,可以使每個位輪流顯示,每位點亮的時間間隔大概為1ms左右7。LED數碼管如圖3.

26、2所示:圖3.2 LED數碼管電路3.5 溫度超、低溫與異常情況報警單元采集到的溫度經過處理后,超過規定溫度上限時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報聲,同時通過P2.6口連接的RELAY輸出低電平控制信號來驅動RL1,使得加熱爐停止加熱,讓溫度慢慢回落;當采集到的溫度經過處理后,低于設定溫度下限時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報生,同時通過P2.6口連接的RELAY輸出高電平控制信號來驅動RL1,使得加熱爐工作,為系統提供熱量,來升高溫度。要是由于環境溫度變化太劇烈或加熱、降溫設備出現故障,或溫度傳感頭出現故障,而在一定時間內,不能將溫度控制到

27、規定的溫度限內,單片機也將會通過P1.5口向蜂鳴器發送高電平信號使其發出警報聲8。在實驗中設置的下限溫度是20攝氏度,當溫度達到20攝氏度時,蜂鳴器就會發出報警。實驗中設置的上限溫度為40攝氏度,當溫度達到所示的40攝氏度時,蜂鳴器就會開始報警。仿真電路如圖3.3所示:圖3.3 蜂鳴器電路3.6 溫度測試單元在本設計中溫度測試采用溫度芯片DS18B20與51單片機的P3.4口連接。此集成芯片,可以很好的減少外界的干擾。其內部集成A/D轉換器,使得電路結構更簡單,且減少了溫度測量轉換時的精度損失,從而使測量的溫度值更為精確,具有實在的設計意義。且數字溫度傳感器DS18B20只用一個引腳,即可與單

28、片機進行通信了,大大的減少了接線麻煩的問題,使得單片機更加具擴展性。由于DS18B20芯片的小型化,通過單條數據線,就可以和主電路連接,在實際應用中,可把數字溫度傳感器DS18B20做成測溫探頭,可方便的探入到狹小的地方,從而增加了實用性9。DS18B20的開始運作時,首先要做的是復位工作,即在開始工作前,51單片機將會給DS18B20當總先發送一個不小于480us的低電平信號,對其進行復位。DS18B20在接收到這個信號后的1560us內會回發一個芯片的存在脈沖。為了接收存在脈沖,數據當總線將會被控制器拉高,存在脈沖是一個60240us的低電平信號。接下去將進行51單片機與DS18B20間的

29、通信。51單片機發送控制的指令共有5指令,而每一個工作周期只可以發送一條指令。5條指令分別為:讀取數據、指定匹配的芯片、跳躍ROM、芯片搜索、報警芯片搜索。接著51單片機發送存儲器操作指令(在指令發送給DS18B20后,馬上就發送存儲器操作指令了)。存儲器指令的功能就是控制DS18B20怎么樣進行工作。DS18B20同51單片機的接線如圖3.4所示:圖3.4 DS18B20電路見圖可知DS18B20只需與單片機的一個端口連接即可,不過當總線為開漏需要外接一個上拉電阻,為4.7K。3.7 溫度控制器件單元在本次設計中,是采用加熱爐通過PID算法來對溫度進行控制的,其配有功率顯示表,以便在仿真中與

30、溫度傳感器DS18B20相對應,便于統計。加熱爐與光電耦合器連接,光電耦合器通過RELAY與51單片機的P2.6口連接。當測量到的溫度值未達到先前設定的預期溫度值下限時,51單片機通過RELAY口向光電耦合器發送高電平時,無電流流過,光電耦合器將不導通,繼電器也不能導通,繼電器的線圈無電流通過,RL1打向電源處,加熱爐通電開始工作加熱,可以根據功率表的數據顯示看出加熱爐提升的溫度。當測量到的溫度值超出先前設定的預期溫度值上限時,51單片機通同過RELAY口向光電耦合器發送低電平時,光電耦合器將導通,有電流流過,使得繼電器也導通,繼電器的線圈有電流通過,RL1打向繼電器線圈,加熱爐斷開連接,停止

31、工作,使溫度慢慢的回落。溫控系統連接方法如圖3.5所示:圖3.5 溫控系統電路4 恒溫控制算法研究(PID)4.1 PID控制器的設計PID控制是目前在溫度控制中應用最廣泛的一種控制算法,其核心思想是按設定值與測量值之間的偏差比例、偏差的積累和偏差變化的趨勢來控制輸出量,即根據偏差值來計算控制量。數字PID控制律的實現,需采用數值逼近法,當采樣的周期相當短時,可以用用差商代替微分,求和代替積分,可以有如下近似變換10。 (4.1)式中,k為采樣的序號,k=l,2,;T為采樣的周期。在離散化的過程中,采樣時間T須足夠的短,不然難以確保精度。在運算時,把表示成等,省去了T。則可推算出離散的PID表

32、達式寫成: (4.2) 式中,k為采樣的序號,k=1,2,;是第k次采樣時,計算機輸出的值;是第k次采樣時輸入的偏差值;是第次采樣時輸入的偏差值;是積分系數,;是積分系數,。在實際的應用中,通常采用增量式PID控制算法,即數字控制器輸出只是控制量的增量,該算法編程簡單,數據可以遞推使用,占用存儲空間少,運算快。根據遞推原理可得: (4.3)公式(4.2)與公式(4.3)相減,即得到增量式PID控制算法(4.4): (4.4)本次設計中,控制器的設計采用增量數字PID控制算法的功能,可以比較靈活的調節控制信號的導通時間來控制溫度值控制的工作。能夠基本滿足溫度控制的要求。4.2 PID算法的流程實

33、現方法與具體程序本系統設計的溫度控制系統是與光電耦合器連接的加熱爐。傳統的方法是:當測量的環境溫度達到設定值時,加熱爐不在加熱狀態,可是此時加熱爐的溫度仍然會高與設定的溫度值,加熱爐還是會起到加熱的作用,使得系統的溫度經常繼續要升高一會后才能開始下降。當下降到設定的下限溫度值時,溫控系統會促使加熱爐開始工作,對系統進行加熱,此過程需要一定的時間,所以往往又會下降一定溫度,才能開始上升溫度。所以傳統的方法往往會出現一定的誤差,此誤差就是溫度的慣性引起的11。PID算法是PID模糊控制技術的核心部分,通過比例、積分、微分三方面的結合與調整構成一個反饋控制,可解由于溫度的慣性而產生的誤差。經過PID

34、控制器處理后可輸出電壓的控制信號,從而反饋調節溫度。數字PID的控制示意圖如圖4.1所示:圖4.1 數字PID的控制實驗中最主要的就是PID參數的選擇,它決定著整個溫度控制的精確度。我們可以根據具體情況的要求,來調節合適的參數。P為比例系數,當在一定范圍內若是調節增加P時,系統的反映將會變的靈敏,穩態的誤差值將會變小,可要是P值過大時的話,同樣會時系統變得不穩定。P值過于小了,系統的反映又會變的很慢。可見的,P值要是選取不恰當,測量值就會和設定值的偏差越來越大,要是出現了這樣的問題時,可將P值的符號取反12。I為積分系數,I的值越小積分的作用就會越強,積分作用強了就會導致系統的穩定性下降,不過

35、T值小了,穩態所產生的誤差將會減小。D為微分控制,微分控制可以改善動態的特性,當D偏大時,超調量隨之變大,調節時間會減短;D偏小時,超調量同樣變大,不過調節時間就會比較長,只有D合適時,才能使超調量較小,調節時間也較短。調試時,只能參考參數對系統控制過程的變化趨勢,來對參數調整來先比例,后積分,再微分的步驟慢慢調試,一直湊到滿意的結果為止。數字PID的差分方程: (4.5)在上式中,稱為比例項;稱為積分項;稱為微分項。得到增量式公式為: (4.6)在此式中,。PID的具體算法程序如下13:EnumY,U,R,;/Y采集量、U控制量、R設定量、采樣時間、微分、比例 int para6,ptr,o

36、ut;/out是從PID( )得到的控制量 int r,Ts,e2,e1,e0,u;/*/Void initPID( ) / 初始化PID函數paraR=20; para=2; para=2; para=1Void PID( ) paraY=(int)(ad_data); r=paraR; e0=e1;e1=e2;e2=r-paraY/10; =para;Kd=para;ts=para; u=r+*e2+*(e2-e1);,if(u<0)u=0; / 控制量限制 if(u>200)u=200; parau=u/10; out=parau; Void Tem_timer0( ) in

37、terrupt 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 TH1=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-wd

38、Ctrl)>2)out=0; else out=CtrltabwdCtrl+2-(int)(ad_data)/10; Else if (tx+>=ts) PID( ); t=0; 5 系統的軟件設計5.1 統軟件設計概述在恒溫PID控制系統中軟件是整個系統的核心,在軟件設計中采用分層模塊化設計,其中主要的模塊包含:人機交互模塊、數據顯示模塊、PID控制器模塊、信號采集模塊、超、低溫報警模塊幾部分14。1、人機交互模塊,是通過3位按鍵來實現的。第一個按鍵為復位按鍵,其他兩個為調節按鍵,當有鍵按下時該鍵位將會處于低電平狀態,按鍵連接上了電阻,使其當未有按鍵按下時,各各按鍵位都處于高電平

39、15。本設計中的按鍵具體原理與操作方法,在第三章的按鍵單元中已經做了詳細的說明。2、數據顯示模塊,是通過8段的供陽的4位LED數碼管(其中一段為小數點)實現的。采用的是通過動態顯示法,分時分別控制LED數碼管的COM端,使每個位輪流顯示,每位點亮的時間間隔大概為1ms左右。3、PID控制器模塊,本設計是運用PID控制算法,仿真實現一個恒溫控制系統。在上一章中我們已經描述了,電壓的控制信號,從而反饋調節溫度。設計中最主要的就是PID參數的選擇,它決定著整個溫度控制的精確度。我們可以根據具體情況的要求,來調節合適的參數。對PID函數進行初始化時,需設置函數參數,這些參數都是根據實驗測定獲得的,具體

40、參數在上一章PID算法研究中有詳細說明。4、信號采集模塊,本設計中是運用DS18B20進行溫度采集的,在DS18B20開始運作時,首先要做的是復位工作,DS18B20在接收到這個信號后的1560us內會回發一個芯片的存在脈沖。為了接收存在脈沖,數據當總線將會被控制器拉高,存在脈沖是一個60240us的低電平信號。接下去將進行51單片機與DS18B20間的通信。接著51單片機發送存儲器操作指令(在指令發送給DS18B20后,馬上就發送存儲器操作指令了)。控制DS18B20怎么樣進行工作16。5、超、低溫報警模塊,本設計中采用蜂鳴器,對異常情況進行報警。當出現異常情況,溫度過高或是過低時,控制芯片

41、將會向蜂鳴器發送高電平,蜂鳴器在接收高電平時就會發出鳴叫聲報警。5.2 系統軟件程序流程及程序流程圖系統軟件流程如圖5.2所示:圖5.2 系統軟件流程圖程序流程為:在程序開始的時,先設置初始化,通過按鍵設置預定溫度值,然后通過數碼管來顯示當前的溫度,再比較設定的預期溫度與測量溫度值的大小,將比較的信息通過繼電器,去根據當前設定的溫度值的上下限,當測量到的溫度值未達到先前設定的預期溫度值下限時,使單片機向蜂鳴器發送高電平信號使其發出警報生,再通過RELAY口向光電耦合器發送高電平時,無電流流過,光電耦合器將不導通,繼電器也不能導通,繼電器的線圈無電流通過,RL1打向電源處,加熱爐通電開始工作加熱

42、,可以根據功率表的數據顯示看出加熱爐提升的溫度。當測量到的溫度值超出先前設定的預期溫度值上限時,使單片機將向蜂鳴器發送高電平信號使其發出警報生,再通過過RELAY口向光電耦合器發送低電平時,光電耦合器將導通,有電流流過,使得繼電器也導通,繼電器的線圈有電流通過,RL1打向繼電器線圈,加熱爐斷開連接,停止工作,使溫度慢慢的回落。5.3 溫度數據顯示模塊分析在本次軟件設計中,核心的部分就是PID算法的控制與DS18B20溫度采集的實現,PID算法在上文中已經做了詳細的介紹,在此再具體的分析下DS18B20。在本次設計我選擇了DS18B20來繼續溫度檢測,因為數字溫度傳感器DS18B20只需一個引腳

43、,即可與單片機進行通信了,大大的減少了接線麻煩的問題,使得單片機更加具擴展性。由于DS18B20芯片的小型化,通過單條數據線,就可以和主電路連接,可把數字溫度傳感器DS18B20做成測溫探頭,可方便的探入到狹小的地方,從而增加了實用性。且本次設計采用proteus仿真軟件,在proteus仿真軟件里DS18B20可以隨意設定溫度,模仿實際環境溫度值,便于實驗17。DS18B20數字溫度傳感器的內部包含了高速暫存RAM與用來存儲TH、TL的E2ARM。接受到的數據先是存入RAM,經檢驗后傳送至E2ARM。RAM中的第5個字節用與控制溫度的數字轉換分辨率,此分辨率決定DS18B20工作時溫度轉換的

44、先對應的數值。其中要注意的是設定的分辨率越高,就需要消耗越多的轉換時間。所以在設置分辨率時我們需要有所考慮18。DS18B20在接收到溫度轉換的命令后,將溫度值數據轉換成以二進制補碼的形式存儲在RAM中,然后51單片機再通過單總線接收此數據,以地位在前高位在后的方式來讀取數據。接收數據后通過溫度計算,將得出的溫度值與設定的TH、TL進行比較,51單片機再根據比較的結果做出相應的運行工作。為此我們在程序設計中設計了下面主要幾個子程序。首先對DS18B20進行初始化處理void Init_DS18B20(void) unsigned char x=0; DQ = 0; /單片機將DQ拉低 dela

45、y_18B20(80); /精確延時大于480us DQ = 1; /拉高總線 delay_18B20(14); x=DQ; /稍做延時后,如果x=0則初始化成功x=1則初始化失敗 delay_18B20(20);在初始化后,先讓DS18B20讀一個字節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); r

46、eturn(dat);再讓其寫一個字節,運行子程序如下:void WriteOneChar(unsigned 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的工作狀態,設置其上、下限報警溫度分別為TH和TL,且設置顯示的分辨率為RS,執行的子程序如下18:void setds18b20(unsigned char TH,unsigned char TL,unsigned char RS

47、)Init_DS18B20();WriteOneChar(0xCC); / 跳過讀序號列號的操作WriteOneChar(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的溫度值了,執行子程序如下:unsigned char *ReadTem

48、perature(void)unsigned char tt2;Init_DS18B20();WriteOneChar(0xCC); / 跳過讀序號列號的操作WriteOneChar(0x44); / 啟動溫度轉換delay_18B20(70); / 溫度轉化要一段時間Init_DS18B20();WriteOneChar(0xCC); /跳過讀序號列號的操作WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度/delay_18B20(70);tt0=ReadOneChar(); /讀取溫度值低位tt1=ReadOneChar(); /讀取溫度值高位re

49、turn(tt);5.4 測試分析1、測試環境仿真環境溫度2040攝氏度。2、測試方法用調節DS18B20,來模擬環境溫度,通過按鍵來設置溫度的上、下限與復位,根據LED數碼管顯示來觀察結果。3、測試結果(1)設定溫度由20攝氏度到40攝氏度。(2)標定溫差1攝氏度調節時間15s(具體情況隨實際情況)。(3)靜態誤差0.5攝氏度最大超調量1攝氏度。4、通過仿真測試分析,對于實際的室內的溫度控制,可以再得出以下2點方法:(1)我們可以通過增加傳感器的個數,然后算出平均值,這樣可以獲得較為精確的溫度值。(2)在對環境溫度的控制環節中,我們可采用功率較大的加熱電阻,實現對環境溫度的提升,用風扇來對環

50、境溫度進行降溫處理。6 模擬仿真結果在模擬仿真中,當將DS18B20的溫度設置為17攝氏度時,如圖6.1所示:圖6.1 17的溫度顯示51單片機通過RELAY口向光電耦合器發送高電平時,無電流流過,光電耦合器將不導通,繼電器也不能導通,繼電器的線圈無電流通過,RL1打向電源處,如圖6.2所示:圖6.2 17時系統電流流向圖此時加熱爐通電開始工作加熱,可以根據功率表的數據顯示得出加熱爐提升的溫度,如圖6.3所示:圖6.3 17時加熱爐顯示當將DS18B20的溫度設置為41攝氏度時,如圖6.4所示:圖6.4 41的溫度顯示51單片機通同過RELAY口向光電耦合器發送低電平時,光電耦合器將導通,有電

51、流流過,使得繼電器也導通,繼電器的線圈有電流通過,RL1打向繼電器線圈,如圖6.5所示:圖6.5 41時的系統電流流向圖此時加熱爐斷開連接,停止工作,但是加熱爐還是會有一定的延遲性,只能讓溫度慢慢的回落,如圖6.6所示:圖6.6 41時加熱爐顯示結 論本次設計采用proteus仿真軟件,以AT89C51單片機做為主控單元,運用PID控制算法,仿真實現了一個恒溫控制系統。設計中使用溫度傳感器DS18B20采集實時溫度,使用PID算法控制加熱爐仿真模型進行溫度控制,總體實現了一個恒溫控制仿真系統。仿真中先通過按鍵設置溫度,然后通過溫度傳感器DS18B20,從環境中采集溫度,由單片機獲取采集的溫度值

52、,經過處理后,可得到當前環境溫度中一個比較穩定的溫度值,并且通過LED數碼管顯示。再去根據當前設定的溫度值的上下限,溫度未達到預定的下限溫度時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報生,同時通過P2.6口連接的RELAY輸出高電平控制信號來驅動RL1,使得加熱爐工作,為系統提供熱量,來升高溫度。溫度上升到預定上限溫度時,單片機將通過P1.5口向蜂鳴器發送高電平信號使其發出警報生,同時通過P2.6口連接的 RELAY輸出低電平控制信號來驅動RL1,使得加熱爐停止加熱,讓溫度慢慢回落。致 謝首先,我要感謝黃河科技學院,感謝信院電子系對我四年的培養,讓我學到了許許多多的知識,感謝電

53、子系各位老師在這四年里對我的關懷與照顧,在此致以我深深的謝意。本論文從選題到最后定稿成文,本校付瑞玲老師一直給予了悉心指導,付老師那種嚴謹求實的作風,廣博深邃的洞察力,孜孜不倦的開拓精神和敬業精神令我深受啟迪和教益,謹向我的指導老師付瑞玲老師致以深深的謝意。最后,我還要向所有幫助過我的同學和朋友們致敬,你們的鼓勵和幫助永遠是我前進的動力。參考文獻1劉昭斌.單片機控制的溫度控制系統J.蘭州石化職業技術學院學報, 1999,12(02A):43-46.2於丹.春風化雨芽將萌談我國單片機的發展J.微電腦世界, 1998,06(17A):22-23.3黃天戍,羅璠,徐長寶,任清珍.一種可靈活使用的溫度控制系統設計方法研究J.中國儀器儀表,2003,22(07):55-58.4張毅剛.單片機原理及應用M.北京:高等教育出版社,2001:10-15,31.5李健云,張振輝,訾壯輝.一種新型恒溫控制系統J.黑龍江大學自然科學學報,1998,37(01A):78-79. 6鄭豐隆.新型二線AT24C系列串行E2PROM及其在單片機系統中的應用J.微電腦世界,1995,29(01A):89-91. 7元紅妍,張鑫.電子綜合設計實驗教程M.山東:山東大學,1999:19-21.8楊鳳山,李穎宏,李正熙.混PID的設計及仿真研究J.北方工業

溫馨提示

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

評論

0/150

提交評論