電加熱器溫度的數(shù)字PID控制畢業(yè)論文_第1頁(yè)
電加熱器溫度的數(shù)字PID控制畢業(yè)論文_第2頁(yè)
電加熱器溫度的數(shù)字PID控制畢業(yè)論文_第3頁(yè)
電加熱器溫度的數(shù)字PID控制畢業(yè)論文_第4頁(yè)
電加熱器溫度的數(shù)字PID控制畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2013 屆 本 科 畢 業(yè) 設(shè) 計(jì)(論 文)電加熱器溫度的數(shù)字PID控制 The digital PID control of electric heater 學(xué) 院: 工 學(xué) 院 專業(yè)班級(jí): 電子信息工程0902班 姓 名: 王 阿 東 學(xué) 號(hào): 090102050112 指導(dǎo)教師: 趙世強(qiáng)副教授 完成時(shí)間: 2013年4月10日 二一三年四月論文題目:電加熱器溫度的數(shù)字PID控制專 業(yè):電子信息工程學(xué) 生:王阿東 簽 名: 指導(dǎo)教師:趙世強(qiáng) 簽 名: 摘要 溫度是重要的物理量,溫度的測(cè)量和控制,在工業(yè)生產(chǎn)和科研工作中都非常重要。本文介紹了一種以STC89C52單片機(jī)為檢測(cè)控制中心的數(shù)字式

2、水溫自動(dòng)控制系統(tǒng)。溫度測(cè)量部分采用單總線集成溫度傳感器DS18B20,使系統(tǒng)簡(jiǎn)單可靠,且易于操作。溫度設(shè)置部分采用四個(gè)獨(dú)立按鍵組成,顯示部分采用四位共陰數(shù)碼管顯示,使系統(tǒng)變得簡(jiǎn)便而高效。溫度控制采用PID數(shù)字控制算法,通過(guò)計(jì)算偏差值來(lái)控制光耦合和可控硅的通斷,從而控制加熱器的加熱程度。實(shí)際調(diào)試表明,采用PID算法能使溫度穩(wěn)定在設(shè)定值附近。關(guān)鍵詞:PID算法;單片機(jī);溫度控制;光耦合;可控硅Title: The digital PID control of electric heaterMajor:Electronic information engineeringName:Wang Adong

3、 Signature: Supervisor:Zhao Shiqiang Signature: ABSTRACTTemperature is an important physical quantities,The Temperatures measurement and control are very important In industrial production and scientific research work.This article introduces a automatic digital waters temperature control system usin

4、g the STC89C52 microcontroller as the detect and control center.The temperature measurement part uses the one bus integrated temperature sensor DS18B20 ,which making the system more Simple and reliable,And easy to operate.Temperature setting part is made up of four separate buttons,and Display part

5、adopts four Led Display to display, which made the system easy and efficient.The Temperature is controled by the PID Digital control algorithm.The heater uses the common fast heater which the Ordinary families commonly used.Key words: PID algorithm;MCU;Temperature control;Optocoupler;Silicon control

6、led目錄前言11 硬件系統(tǒng)設(shè)計(jì)21.1 系統(tǒng)總體框圖21.2 單片機(jī)系統(tǒng)31.2.1 單片STC89C5231.3數(shù)字溫度傳感器DS18B2041.3.1單線數(shù)字溫度計(jì)DSl8B20 介紹.41.3.2 DSl8B20 工作過(guò)程及時(shí)序 .51.3.3 DS18B20連接圖.51.4 溫度顯示部分61.5 溫度設(shè)定部分61.6 光耦器件71.6.1光電耦合器件簡(jiǎn)介71.6.2 光電隔離技術(shù)的應(yīng)用71.6.3 光耦器件MOC3040.81.7可控硅81.7.1可控硅簡(jiǎn)介82 PID算法102.1 PID算法簡(jiǎn)介102.2 PID算法的程序設(shè)計(jì)122.3 PID算法參數(shù)整定方法133 軟件設(shè)計(jì)15

7、3.1PID控制流程153.2系統(tǒng)軟件設(shè)計(jì)總流程圖164 結(jié)語(yǔ)17參考文獻(xiàn)18 致謝20 附錄20西安外事學(xué)院本科畢業(yè)設(shè)計(jì)(論文)前言 溫度控制已成為工業(yè)生產(chǎn)、科研領(lǐng)域中很重要的一個(gè)環(huán)節(jié), 能否成功地將溫度控制在需要的范圍內(nèi)關(guān)系到整個(gè)工作的成敗。由于控制對(duì)象的多樣性和復(fù)雜性, 導(dǎo)致采用的溫控手段也具有多樣性。采用PID 控制原理研制成適合用于小型電加熱器的溫度控制器。該控制器能夠達(dá)到很好的控制效果, 若精心選擇PID 的各種參數(shù), 溫度控制的精度可以達(dá)到0.05。 溫度控制的目的就是將電加熱器的工作溫度以一定的精度穩(wěn)定在一定的范圍內(nèi), 這就要求根據(jù)電加熱器工作時(shí)的實(shí)際情況(如產(chǎn)熱量大小等) 采

8、取一定的措施,來(lái)控制電加熱器的加熱程度。 在溫控系統(tǒng)中, 首先將需要控制的被測(cè)參數(shù)溫度由傳感器轉(zhuǎn)換成一定的信號(hào)后再與預(yù)先設(shè)定的值進(jìn)行比較, 把比較得到的差值信號(hào)經(jīng)過(guò)一定規(guī)律的計(jì)算后得到相應(yīng)的控制值, 將控制量送給控制系統(tǒng)進(jìn)行相應(yīng)的控制, 不停地進(jìn)行上述工作, 從而達(dá)到自動(dòng)調(diào)節(jié)的目的。當(dāng)控制對(duì)象的精確數(shù)學(xué)模型難以建立時(shí), 比較成熟且廣泛使用的控制方法是采用按差值信號(hào)的比例(Proportionality),積分(Integration)和微分(Differentiation)進(jìn)行計(jì)算控制量的方法, 即PID 算法。 31西安外事學(xué)院本科畢業(yè)設(shè)計(jì)(論文)1 硬件系統(tǒng)設(shè)計(jì)1.1 系統(tǒng)總體框圖系統(tǒng)總體

9、設(shè)計(jì)思路為:當(dāng)系統(tǒng)上電后,數(shù)碼管會(huì)顯示當(dāng)前的溫度,然后等待按鍵輸入設(shè)定值,設(shè)定完畢后,系統(tǒng)開始溫度自動(dòng)控制過(guò)程,如果當(dāng)前溫度高于設(shè)定溫度,系統(tǒng)會(huì)斷開光耦器件及可控硅使水溫冷卻,如果當(dāng)前溫度低于設(shè)定溫度,若低于2度以上,系統(tǒng)會(huì)采取全加熱的方式,如果溫差小于2度,則采用PID算法進(jìn)行控制加熱。定時(shí)器0每半秒鐘會(huì)進(jìn)行一次溫度采樣然后與設(shè)定值進(jìn)行比較,比較出來(lái)的值將會(huì)決定定時(shí)器1控制的可控硅器件的通斷時(shí)間長(zhǎng)短,從而實(shí)現(xiàn)對(duì)溫度的精確控制。系統(tǒng)的總體框圖如圖1.1所示,具體連接電路如圖1.2所示。主控制器單片機(jī)STC89C52雙向可控硅加熱器溫度顯示時(shí)鐘振蕩及復(fù)位電路溫度傳感器DS18B20水溫設(shè)置圖1.

10、1 系統(tǒng)框圖圖1.2 總體電路1.2 單片機(jī)系統(tǒng)隨著集成電路技術(shù)的發(fā)展,單片微型計(jì)算機(jī)(單片機(jī))的功能也不斷增強(qiáng),許多高性能的新型機(jī)種不斷涌現(xiàn)出來(lái)。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開發(fā)周期短等優(yōu)點(diǎn),成為自動(dòng)化和各個(gè)測(cè)控領(lǐng)域中廣泛應(yīng)用的器件,在工業(yè)生產(chǎn)中成為必不可少的器件,尤其是在日常生活中發(fā)揮的作用也越來(lái)越大。1.2.1 單片機(jī)STC89C52STC89C52是一種高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編

11、程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位 定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)

12、位為止。最高運(yùn)作頻率35MHz,6T/12T可選。STC89C52的主要特性如下:1. 增強(qiáng)型8051 單片機(jī),6 時(shí)鐘/機(jī)器周期和12 時(shí)鐘/機(jī)器周期可以任意 選擇,指令代碼完全兼容傳統(tǒng)8051;2. 工作電壓:5.5V3.3V(5V 單片機(jī))/3.8V2.0V(3V 單片機(jī));3. 工作頻率范圍:040MHz,相當(dāng)于普通8051 的080MHz,實(shí)際工作 頻率可達(dá)48MHz;4. 用戶應(yīng)用程序空間為8K 字節(jié);5. 片上集成512 字節(jié)RAM;6. 通用I/O 口(32 個(gè)),復(fù)位后為:P1/P2/P3/P4 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,

13、作為 I/O 口用時(shí),需加上拉電阻;7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器,無(wú) 需專用仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片;8. 具有EEPROM 功能;9. 具有看門狗功能;10. 共3 個(gè)16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2;11. 外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒;12. 通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART;13. 工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí))。1.3數(shù)字溫度傳感器D

14、S18B201.3.1單線數(shù)字溫度計(jì)DSl8B20 介紹 DS18B20 數(shù)字溫度計(jì)提供9 位(二進(jìn)制)溫度讀數(shù)指示器件的溫度信息經(jīng)過(guò)單線接口送 入DSl8B20 或從 DSl8B20 送出 因此從主機(jī)CPU 到DSl8B20 僅需一條線(和地線) DSl8B20 的電源可以由數(shù)據(jù)線本身提供而不需要外部電源因?yàn)槊恳粋€(gè)DSl820 在出廠時(shí)已經(jīng)給定了唯一的序號(hào)因此任意多個(gè)DSl8B20 可以存放在同一條單線總線上這允許在許多不同的地方放置溫度敏感器件DSl8B20 的測(cè)量范圍從-55 到+125 增量值為0. 5 可在l s(典型值)內(nèi)把溫度變換成數(shù)字每一個(gè)DSl8B20 包括一個(gè)唯一的64 位

15、長(zhǎng)的序號(hào)該序號(hào)值存放在DSl8B20 內(nèi)部的ROM(只讀存貯器)中開始8 位是產(chǎn)品類型編碼(DS l 8B20 編碼均為10H ) 接著的48位是每個(gè)器件唯一的序號(hào) 最后8 位是前面56 位的CRC(循環(huán)冗余校驗(yàn))碼DSl8B20 中還有用于貯 存測(cè)得的溫度值的兩個(gè)8 位存貯器RAM 編號(hào)為0 號(hào)和1 號(hào)存貯器存放溫度值的符號(hào) 如果溫度為負(fù)( )則1 號(hào)存貯器8 位全為1 否則全為0 0 號(hào)存貯器用于存放溫度值的補(bǔ)碼 LSB(最低位) 的 1 表示0.5 將存貯器中的二進(jìn)制數(shù)求補(bǔ)再轉(zhuǎn)換成十進(jìn)制數(shù)并除以2 就得到被測(cè)溫度值(-55 125度) 。1.3.2 DSl8B20 工作過(guò)程及時(shí)序 DSl

16、8B20 工作過(guò)程中的協(xié)議如下 :初始化RoM操作命令存儲(chǔ)器操作命令處理數(shù)據(jù) (1)初始化 單總線上的所有處理均從初始化開始 (2)ROM操作指令 總線主機(jī)檢測(cè)到DSl820 的存在便可以發(fā)出ROM操作命令之一 指令 代碼 Read ROM (讀R OM ) 33H Match ROM (匹配ROM) 55H Skip ROM (跳過(guò)ROM CCH Search ROM( 搜索R OM ) F0 H Alarm search( 告警搜索) ECH(3)存儲(chǔ)器操作命令 指令 代碼 Write Scratchpad( 寫暫存存儲(chǔ)器) 4EH Read Scratchpad( 讀暫存存儲(chǔ)器) BEH

17、 Copy Scratchpad( 復(fù)制暫存存儲(chǔ)器) 48H Convert Temp erature(溫度變換) 44H Recall EPROM (重新調(diào)出) B8H Read Power supply (讀電源) B4H (4)時(shí)序 主機(jī)使用時(shí)間隙(tim e slots) 來(lái)讀寫DSl820 的數(shù)據(jù)位和寫命令字的位 。初始化 主機(jī)總線在開始時(shí)刻發(fā)送一復(fù)位脈沖(最短為480S 的低電平信號(hào)) 接著在下一時(shí)刻釋放總線并進(jìn)入接收狀態(tài)DSl820 在檢測(cè)到總線的上升沿之后等待15 -6 0u s 接著DS18B20在t2 時(shí)刻發(fā)出存在脈沖(低電平持續(xù)60-240 S) .1.3.3 DS18B

18、20連接圖DS18B20的連接電路如圖1.3所示。圖1.3 DS18B20連接圖1.4 溫度顯示部分溫度顯示部分采用4位共陽(yáng)數(shù)碼管來(lái)顯示,位選端采用4個(gè)PNP型三極管9012來(lái)驅(qū)動(dòng)。數(shù)碼管前兩位顯示溫度,后兩位顯示攝氏度符號(hào)。具體連接電路如圖1.4所示:圖1.4 溫度顯示部分1.5 溫度設(shè)定部分溫度設(shè)定部分采用四個(gè)獨(dú)立按鍵來(lái)完成,按鍵S0負(fù)責(zé)進(jìn)入設(shè)定部分,S1和S2分別為溫度加和溫度減,按鍵S3為切換到顯示當(dāng)前溫度。獨(dú)立按鍵的工作原理比較簡(jiǎn)單,其具體連接圖如圖1.5所示。圖1.5 按鍵連接圖1.6 光電耦合器件1.6.1光電耦合器件簡(jiǎn)介光電耦合器件(簡(jiǎn)稱光耦)是把發(fā)光器件(如發(fā)光二極管)和光敏

19、器件(如光敏三極管)組裝在一起,通過(guò)光線實(shí)現(xiàn)耦合構(gòu)成電光和光電的轉(zhuǎn)換器件。光電耦合器分為很多種類,常用的有三極管型光電耦合器。光電耦合器之所以在傳輸信號(hào)的同時(shí)能有效地抑制尖脈沖和各種雜訊干擾,使通道上的信號(hào)雜訊比大為提高,主要有以下幾方面的原因: (1)光電耦合器的輸入阻抗很小,只有幾百歐姆,而干擾源的阻抗較大,通常為105106。據(jù)分壓原理可知,即使干擾電壓的幅度較大,但饋送到光電耦合器輸入端的雜訊電壓會(huì)很小,只能形成很微弱的電流,由于沒(méi)有足夠的能量而不能使二極體發(fā)光,從而被抑制掉了。 光電耦合器的輸入回路與輸出回路之間沒(méi)有電氣聯(lián)系,也沒(méi)有共地;之間的分布電容極小,而絕緣電阻又很大,因此回路

20、一邊的各種干擾雜訊都很難通過(guò)光電耦合器饋送到另一邊去,避免了共阻抗耦合的干擾信號(hào)的產(chǎn)生。 (2)光電耦合器可起到很好的安全保障作用,即使當(dāng)外部設(shè)備出現(xiàn)故障,甚至輸入信號(hào)線短接時(shí),也不會(huì)損壞儀表。因?yàn)楣怦詈掀骷妮斎牖芈泛洼敵龌芈分g可以承受幾千伏的高壓。 (3)光電耦合器的回應(yīng)速度極快,其響應(yīng)延遲時(shí)間只有10S左右,適于對(duì)響應(yīng)速度要求很高的場(chǎng)合。 1.6.2 光電隔離技術(shù)的應(yīng)用 (1)微機(jī)介面電路中的光電隔離 微機(jī)有多個(gè)輸入端,接收來(lái)自遠(yuǎn)處現(xiàn)場(chǎng)設(shè)備傳來(lái)的狀態(tài)信號(hào),微機(jī)對(duì)這些信號(hào)處理后,輸出各種控制信號(hào)去執(zhí)行相應(yīng)的操作。在現(xiàn)場(chǎng)環(huán)境較惡劣時(shí),會(huì)存在較大的雜訊干擾,若這些干擾隨輸入信號(hào)一起進(jìn)入微機(jī)系

21、統(tǒng),會(huì)使控制準(zhǔn)確性降低,產(chǎn)生誤動(dòng)作。因而,可在微機(jī)的輸入和輸出端,用光耦作介面,對(duì)信號(hào)及雜訊進(jìn)行隔離。(2)功率驅(qū)動(dòng)電路中的光電隔離 在微機(jī)控制系統(tǒng)中,大量應(yīng)用的是開關(guān)量的控制,這些開關(guān)量一般經(jīng)過(guò)微機(jī)的IO輸出,而IO的驅(qū)動(dòng)能力有限,一般不足以驅(qū)動(dòng)一些點(diǎn)磁執(zhí)行器件,需加接驅(qū)動(dòng)介面電路,為避免微機(jī)受到干擾,須采取隔離措施。如可控硅所在的主電路一般是交流強(qiáng)電回路,電壓較高,電流較大,不易與微機(jī)直接相連,可應(yīng)用光耦合器將微機(jī)控制信號(hào)與可控硅觸發(fā)電路進(jìn)行隔離。 3)遠(yuǎn)距離的隔離傳送 在電腦應(yīng)用系統(tǒng)中,由于測(cè)控系統(tǒng)與被測(cè)和被控設(shè)備之間不可避免地要進(jìn)行長(zhǎng)線傳輸,信號(hào)在傳輸過(guò)程中很易受到干擾,導(dǎo)致傳輸信號(hào)發(fā)

22、生畸變或失真;另外,在通過(guò)較長(zhǎng)電纜連接的相距較遠(yuǎn)的設(shè)備之間,常因設(shè)備間的地線電位差,導(dǎo)致地環(huán)路電流,對(duì)電路形成差模干擾電壓。為確保長(zhǎng)線傳輸?shù)目煽啃?,可采用光電耦合隔離措施,將2個(gè)電路的電氣連接隔開,切斷可能形成的環(huán)路,使他們相互獨(dú)立,提高電路系統(tǒng)的抗干擾性能。若傳輸線較長(zhǎng),現(xiàn)場(chǎng)干擾嚴(yán)重,可通過(guò)兩級(jí)光電耦合器將長(zhǎng)線完全“浮置”起來(lái)。1.6.3 光耦器件MOC3040由于單片機(jī)是弱點(diǎn),而電加熱器是強(qiáng)電,所以用光耦合很好的解決了強(qiáng)弱電隔離的問(wèn)題,在本設(shè)計(jì)中采用了一種比較常用的光耦器件MOC3040,其在本設(shè)計(jì)中的連接電路如圖1.6所示: 圖1.6 光耦合連接電路 1.7可控硅1.7.1可控硅簡(jiǎn)介可控

23、硅分為單向的和雙向的兩種,符號(hào)也不同.單向可控硅有三個(gè)PN結(jié),由最外層的P極和N極引出兩個(gè)電極,分別稱為陽(yáng)極和陰極,由中間的P極引出一個(gè)控制極. (1)單向可控硅單向可控硅的基本應(yīng)用電路如圖1.7所示。當(dāng)Uak0時(shí),若Ugk0時(shí),若Ugk0,可控硅導(dǎo)通;當(dāng)Uak0時(shí),不論Ugk為何值,可控硅都處于關(guān)斷狀態(tài),Iak=0。圖1.7單向可控硅應(yīng)用電路通過(guò)對(duì)單向可控硅的技術(shù)分析,可歸納出如下特點(diǎn):1)可控硅的導(dǎo)通條件是在陽(yáng)極A與陰極K之間加有正向電壓情況下,在門極G與陰極K之間加上一個(gè)正向脈沖信號(hào),形成門極電流,此電流將觸發(fā)可控硅進(jìn)入自鎖的導(dǎo)通狀態(tài)。2)門極G無(wú)法控制可控硅(2)雙向可控硅 雙向可控硅

24、相當(dāng)于兩個(gè)單向引腳多數(shù)是按T1、T2、G的順序從左至右排列(電極引腳向下,面對(duì)有字符的一面時(shí)).加在控制極G上的觸發(fā)脈沖的大小或時(shí)間改變時(shí),就能改變其導(dǎo)通電流的大小. 與單向可控硅的區(qū)別是,雙向可控硅G極上觸發(fā)脈沖的極性改變時(shí),其導(dǎo)通方向就隨著極性的變化而改變,從 而能夠控制交流電負(fù)載.而單向可控硅經(jīng)觸發(fā)后只能從陽(yáng)極向陰極單方向?qū)?所以可控硅有單雙向之分. 電子制作中常用可控硅,單向的有MCR-100等,雙向的有TLC336等可控硅的工作條件: 1. 可控硅承受反向陽(yáng)極電壓時(shí),不管門極承受哪種電壓,可控硅都處于關(guān)斷狀態(tài)。2. 可控硅承受正向陽(yáng)極電壓時(shí),僅在門極承受正向電壓的情況下可控硅才導(dǎo)通

25、。 3. 可控硅在導(dǎo)通情況下,只要有一定的正向陽(yáng)極電壓,不論門極電壓如何,可控硅保持導(dǎo)通,即可控硅導(dǎo)通后,門極失去作用。 4. 可控硅在導(dǎo)通情況下,當(dāng)主回路電壓(或電流)減小到接近于零時(shí),可控硅關(guān)斷。注意可控硅是半控件,關(guān)斷不由門極控制,而只當(dāng)主電流接近零時(shí)才能關(guān)斷。(3)雙向可控硅在本設(shè)計(jì)中的電路連接圖如圖1.8所示。圖1.8 可控硅連接電路 2 PID算法2.1 PID算法簡(jiǎn)介在過(guò)程控制中,按偏差的比例P(Proportional)、積分I(Integral)和微分D(Differential)進(jìn)行控制的PID控制器是應(yīng)用最為廣泛的一種自動(dòng)控制器。它具有原理簡(jiǎn)單,易于實(shí)現(xiàn),適用面廣,控制參

26、數(shù)相互獨(dú)立,參數(shù)的選定比較簡(jiǎn)單等優(yōu)點(diǎn) 。數(shù)字PID算法分為置位式和增量式兩種。當(dāng)執(zhí)行需要的不是控制量的絕對(duì)值,而是控制量的增量時(shí),需要用PID的“增量算法”。如圖2.1所示:PID算法可控硅受控對(duì)象r +euuy-圖2.1 增量式PID控制算法增量式PID控制算法可以通過(guò)2-1式推導(dǎo)出。由2-1可以得到控制器的第k-1個(gè)采樣時(shí)刻的輸出值為式2-2: 式2-1 式2-2將式5-1與式5-2相減并整理,就可以得到增量式PID控制算法公式為: 式2-3其中由式5-3可以看出,如果計(jì)算機(jī)控制系統(tǒng)采用恒定的采樣周期T,一旦確定A、B、C,只要使用前后三次測(cè)量的偏差值,就可以由式5-3求出控制量。增量式P

27、ID控制算法與位置式PID算法5-1相比,計(jì)算量小得多,因此實(shí)際中得到廣泛的應(yīng)用。位置式PID控制算法也可以通過(guò)增量式控制算法推出遞推計(jì)算公式: 式2-4式2-4就是目前在計(jì)算機(jī)控制中廣泛應(yīng)用的數(shù)字遞推PID控制算法。a.比例系數(shù)P對(duì)系統(tǒng)性能的影響:比例系數(shù)加大,使系統(tǒng)的動(dòng)作靈敏,速度加快,穩(wěn)態(tài)誤差減?。籔偏大,振蕩次數(shù)加多,調(diào)節(jié)時(shí)間加長(zhǎng);P太大時(shí),系統(tǒng)會(huì)趨于不穩(wěn)定;P太小,又會(huì)使系統(tǒng)的動(dòng)作緩慢。P可以選負(fù)數(shù),這主要是由執(zhí)行機(jī)構(gòu)、傳感器以及控制對(duì)象的特性來(lái)決定的。如果P得符號(hào)選擇不當(dāng)對(duì)象測(cè)量值就會(huì)離控制目標(biāo)的設(shè)定值越來(lái)越遠(yuǎn),如果出現(xiàn)這樣的情況P的符號(hào)就一定要取反。b.積分控制I對(duì)系統(tǒng)性能的影響

28、:積分作用使系統(tǒng)的穩(wěn)定性下降,I?。ǚe分作用強(qiáng))會(huì)使系統(tǒng)不穩(wěn)定,但能消除穩(wěn)態(tài)誤差,提高系統(tǒng)的控制精度。c.微分控制D對(duì)系統(tǒng)性能的影響:微分作用可以改善動(dòng)態(tài)特性,D偏大時(shí),超調(diào)量較大,調(diào)節(jié)時(shí)間較短;D偏小時(shí),超調(diào)量也較大,調(diào)節(jié)時(shí)間也較長(zhǎng);只有D合適,才能使超調(diào)量較小,減短調(diào)節(jié)時(shí)間。2.2 PID算法的程序設(shè)計(jì) 要編寫一個(gè)已知算法的單片機(jī)程序,首先要考慮的就是數(shù)據(jù)的結(jié)構(gòu)和存儲(chǔ)方式了。因?yàn)樗苯佑绊懙较到y(tǒng)的控制精度,以及PID算法的實(shí)現(xiàn)質(zhì)量。本系統(tǒng)從一開始的設(shè)計(jì)思路就是盡可能高的提高系統(tǒng)的控制精度。要提高系統(tǒng)的控制精度,在計(jì)算過(guò)程中僅取整數(shù)或定點(diǎn)小數(shù)是不夠的,所以本設(shè)計(jì)采用三字節(jié)浮點(diǎn)數(shù)運(yùn)算。對(duì)于ST

29、C89C52單片機(jī)而言,有足夠的內(nèi)存去存儲(chǔ)和處理這些數(shù)據(jù)。另外,為了使程序的參數(shù)修改方便,更易于應(yīng)用到其他PID控制系統(tǒng)中去,在一開始的參數(shù)賦值程序中,參數(shù)是以十進(jìn)制BCD碼浮點(diǎn)數(shù)存儲(chǔ)的,參數(shù)賦值完成后,緊接著就是對(duì)參數(shù)進(jìn)行二進(jìn)制浮點(diǎn)數(shù)的歸一化處理。這些工作在系統(tǒng)啟動(dòng)后迅速就完成了,之后PID控制器只進(jìn)行PID核心控制算法的計(jì)算。PID算法的程序框圖如圖2.2 所示算法。由于本設(shè)計(jì)中主要用到增量式PID控制算法,所以在此我們只對(duì)增量式PID算法的程序?qū)崿F(xiàn)做介紹。增量式PID算式為: 式2-5設(shè) 則有 -圖2.2 PID增量式程序流程圖2.3 PID算法參數(shù)整定方法三個(gè)基本參數(shù)Kp、Ki、Kd在

30、實(shí)際控制中的作用:比例調(diào)節(jié)作用:是按比例反映系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差,屬于“即時(shí)”型調(diào)節(jié)控制。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過(guò)大的比例,使系統(tǒng)的穩(wěn)定性下降甚至造成系統(tǒng)的不穩(wěn)定。積分調(diào)節(jié)作用:使系統(tǒng)消除靜態(tài)誤差,提高無(wú)誤差度。因?yàn)橛姓`差,積分調(diào)節(jié)就進(jìn)行,直至無(wú)誤差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值,屬于“歷史積累”型調(diào)節(jié)控制。積分作用的強(qiáng)弱取決與積分時(shí)間常數(shù)Ti,Ti越小,積分作用就越強(qiáng)。反之Ti大則積分作用弱,加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動(dòng)態(tài)響應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)器或PID調(diào)節(jié)器。微分調(diào)節(jié)作用:微分作用反

31、映系統(tǒng)偏差信號(hào)的變化率,具有預(yù)見性,能預(yù)見偏差的變化趨勢(shì),因此能產(chǎn)生超前的控制作用,在偏差還沒(méi)有形成之前,以被微分調(diào)節(jié)作用消除,因此屬于“超前或未來(lái)”型調(diào)節(jié)控制。因此,可以改善系統(tǒng)的動(dòng)態(tài)性能。在微分時(shí)間選擇合適的情況下,可以減少超調(diào),減少調(diào)節(jié)時(shí)間。微分作用對(duì)噪聲干擾有放大作用,因此過(guò)強(qiáng)的加微分調(diào)節(jié),對(duì)系統(tǒng)抗干擾不利。此外,微分反映的是變化率,而當(dāng)輸入沒(méi)有變化時(shí),微分作用輸出為零。微分作用不能單獨(dú)使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,組成PD或PID控制器。PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計(jì)的核心內(nèi)容。它是根據(jù)被控過(guò)程的特性確定PID控制器的比例系數(shù)、積分時(shí)間和微分時(shí)間的大小。PID控制器參數(shù)整

32、定的方法很多,概括起來(lái)有兩大類:一是理論計(jì)算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過(guò)理論計(jì)算確定控制器參數(shù)。這種方法所得到的計(jì)算數(shù)據(jù)未必可以直接使用,還必須通過(guò)工程實(shí)際進(jìn)行調(diào)整和修改。二是工程整定方法,它主要依賴工程經(jīng)驗(yàn),直接在控制系統(tǒng)的試驗(yàn)中進(jìn)行,且方法簡(jiǎn)單、易于掌握,在工程實(shí)際中被廣泛采用。PID控制器參數(shù)的工程整定方法,主要有臨界比較法、反應(yīng)曲線法和衰減法。三種方法各有其特點(diǎn),其共同點(diǎn)都是通過(guò)試驗(yàn),然后按照工程經(jīng)驗(yàn)公式控制器參數(shù)進(jìn)行整定。但無(wú)論采用哪一種方法所得到的控制器參數(shù),都需要在實(shí)際運(yùn)行中進(jìn)行最后調(diào)整與完善?,F(xiàn)在一般采用的是臨界比較法。PID參數(shù)的設(shè)定是靠經(jīng)驗(yàn)及工藝的熟悉,參考測(cè)量

33、值跟蹤與設(shè)定值曲線,從而調(diào)整P/I/D的大小。1.PID調(diào)試一般原則a.在輸出不振蕩時(shí),增大比例增益P。b.在輸出不振蕩時(shí),減小積分時(shí)間常數(shù)Ti。c.在輸出不振蕩時(shí),增大微分時(shí)間常數(shù)Td。2.數(shù)據(jù)調(diào)試的一般步驟a.確定比例增益P確定比例增益P時(shí),首先去掉PID的積分項(xiàng)和微分項(xiàng),一般是令Ti=0、Td=0,使PID為純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許的最大值的60%70%,由0逐漸加大比例增益P,直至系統(tǒng)出現(xiàn)振蕩;再反過(guò)來(lái),從此時(shí)的比例增益P逐漸減小,直至系統(tǒng)振蕩消失,記錄此時(shí)的比例增益P,設(shè)定PID的比例增益P為當(dāng)前值得60%70%。比例增益P調(diào)試完成。b.確定積分時(shí)間常數(shù)Ti比例增益P確定后,設(shè)

34、定一個(gè)較大的積分時(shí)間常數(shù)Ti的初值,然后逐漸減小Ti,直至系統(tǒng)出現(xiàn)振蕩,之后再反過(guò)來(lái),逐漸加大Ti,直至系統(tǒng)振蕩消失。記錄此時(shí)的Ti,設(shè)定PID的積分時(shí)間常數(shù)Ti為當(dāng)前值得150%180%。積分時(shí)間常數(shù)Ti調(diào)試完成。c.確定積分時(shí)間常數(shù)Td積分時(shí)間常數(shù)Td一般不用設(shè)定,為0即可,若要設(shè)定,與確定P和Ti的方法相同,取不振蕩時(shí)的30%。d.系統(tǒng)空載,帶載聯(lián)調(diào),再對(duì)PID參數(shù)進(jìn)行微調(diào),直至滿足要求。3.PID參數(shù)調(diào)節(jié)中與到的問(wèn)題及解決辦法(1)迅速達(dá)到目標(biāo)值,但是沖擊很大:a.比例系統(tǒng)太大,致使在未達(dá)到設(shè)定值前調(diào)節(jié)比例過(guò)高;b.微分系數(shù)過(guò)小,致使對(duì)象反應(yīng)不敏感;(2)經(jīng)常打不到目標(biāo)值,小與目標(biāo)值較

35、多a.比例系數(shù)過(guò)小,加速比例不夠;b.積分系數(shù)過(guò)小,對(duì)恒偏差補(bǔ)償不足; (3)基本上能夠在控制目標(biāo)上,但上下偏差偏大,經(jīng)常波動(dòng)a.微分系數(shù)過(guò)小,對(duì)即時(shí)變化反應(yīng)不夠快,反應(yīng)措施不力;b.積分系數(shù)過(guò)大,使微分反應(yīng)被鈍化;c.設(shè)定的基本定時(shí)周期過(guò)短,調(diào)節(jié)參數(shù)還沒(méi)有來(lái)得及傳遞出去; (4)受工作環(huán)境影響較大,在稍有變動(dòng)時(shí)就會(huì)引起溫度的波動(dòng)a.微分系數(shù)過(guò)小,對(duì)即時(shí)變化反應(yīng)不夠快,不能即時(shí)反映;b.設(shè)定的基本定時(shí)周期過(guò)長(zhǎng),不能及時(shí)得到修正;3 軟件設(shè)計(jì)3.1 PID控制流程將設(shè)定值與測(cè)量值分別傳送到PID控制器,經(jīng)PID計(jì)算處理,計(jì)算出控制交流通過(guò)脈沖數(shù)的定時(shí)器1的定時(shí)值,將該定時(shí)值送入定時(shí)器,溫度值將趨

36、于設(shè)定的溫度值。具體流程圖如圖3.1所示。圖3.1 PID控制流程圖3.2系統(tǒng)軟件設(shè)計(jì)總流程圖 本設(shè)計(jì)的軟件設(shè)計(jì)流程是,當(dāng)系統(tǒng)上電后,數(shù)碼管會(huì)顯示當(dāng)前的溫度,然后等待按鍵輸入設(shè)定值,設(shè)定完畢后,系統(tǒng)開始溫度自動(dòng)控制過(guò)程,如果當(dāng)前溫度高于設(shè)定溫度,系統(tǒng)會(huì)斷開光耦器件及可控硅使水溫冷卻,如果當(dāng)前溫度低于設(shè)定溫度,若低于2度以上,系統(tǒng)會(huì)采取全加熱的方式,如果溫差小于2度,則采用PID算法進(jìn)行控制加熱。定時(shí)器0每半秒鐘會(huì)進(jìn)行一次溫度采樣然后與設(shè)定值進(jìn)行比較,比較出來(lái)的值將會(huì)決定定時(shí)器1控制的光耦器件的通斷時(shí)間長(zhǎng)短,從而實(shí)現(xiàn)對(duì)溫度的精確控制。具體流程圖如圖3.1所示。T0,T1初始化開始讀溫度設(shè)置值啟動(dòng)

37、后采集溫度溫度采集標(biāo)志位置1顯示溫度查詢采集標(biāo)志是否等于1存控制值PID算法采集標(biāo)志位置0結(jié)束NY 讀溫度值關(guān)T0中斷T0中斷寫T1常數(shù)采集標(biāo)志置1存溫度值開T0中斷置P3.4=1啟動(dòng)T1 關(guān)T1中斷T1中斷開T1中斷P3.4=0 圖3.2 流程圖4 結(jié)語(yǔ) 本次設(shè)計(jì)基本上實(shí)現(xiàn)了PID算法溫度自動(dòng)控制的功能,基本完成了設(shè)計(jì)要求,不足之處是沒(méi)有降溫控制系統(tǒng),另外PID的控制也不是很精確。在本次設(shè)計(jì)過(guò)程中,我在專業(yè)理論知識(shí)上有了很大的收獲,比如PID算法,比如光耦器件以及可控硅的基本知識(shí),另外動(dòng)手實(shí)踐能力也得到了很大的提升,另外軟件編寫的能力也有很大的進(jìn)步。我一定會(huì)好好總結(jié)并且銘記在這次畢設(shè)中遇到的

38、問(wèn)題以及得到的經(jīng)驗(yàn),從而為以后的學(xué)習(xí)和工作打下一個(gè)扎實(shí)的基礎(chǔ)。參考文獻(xiàn)1金以慧等.過(guò)程控制M.北京:清華大學(xué)出版社,20022康華光.電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,20003陳炳和.計(jì)算機(jī)控制系統(tǒng)基礎(chǔ)M.北京:航空航天大學(xué)出版社,20014何克忠.計(jì)算機(jī)控制系統(tǒng)M.北京:清華大學(xué)出版社,20015張友德等.單片微機(jī)MCS-51用戶手冊(cè)M. 上海:復(fù)旦大學(xué)出版社, 19906謝自美. 電子線路設(shè)計(jì)(第二版)M. 武漢:華中理工大學(xué)出版社, 20007 孫增圻.智能控制理論與技術(shù)M.北京:清華大學(xué)出版社, 20048 諸靜.模糊控制原理與應(yīng)用M.北京:機(jī)械工業(yè)出版社, 19959Allan

39、 R.Hambley.Electronics 2nd ed.New Jersey:Prentice Hall Inc, 200010David Johns,Ken Martin.Analog Integrated Circuit Design.New York:John Wiley&Sons Inc, 1997 致謝在歷時(shí)大約3個(gè)月后,在我的導(dǎo)師趙世強(qiáng)教授以及其他各科老師的幫助下,我終于完成了自己的畢業(yè)設(shè)計(jì)任務(wù)。經(jīng)過(guò)了這次設(shè)計(jì)過(guò)程,我不僅專業(yè)理論知識(shí)得到了鞏固,動(dòng)手實(shí)踐能力和設(shè)計(jì)能力也得到了很大的提升,而且于我而言,最彌足珍貴的是我從我的導(dǎo)師以及其他老師身上學(xué)到了很多知識(shí)以外的東西,比如他們對(duì)

40、于科學(xué)問(wèn)題的探索精神,對(duì)于工作的奉獻(xiàn)精神等等。我相信這些美好的品質(zhì)都將伴隨我一生的學(xué)習(xí)生活中,并且讓我受益無(wú)窮。因此,在這畢設(shè)將要結(jié)束以及我的大學(xué)生涯也將畫上一個(gè)句號(hào)的時(shí)刻,我要鄭重的感謝,感謝這四年來(lái)給于我?guī)椭c關(guān)懷的學(xué)校領(lǐng)導(dǎo),老師,和同學(xué)朋友,我會(huì)永遠(yuǎn)記住這段美好的歲月,并在以后的工作中努力上進(jìn),不辜負(fù)老師和同學(xué)們的期望,做一個(gè)成功的人,一個(gè)對(duì)社會(huì)有用的人。謝謝!附錄本設(shè)計(jì)程序如下:#include #include #define uchar unsigned char#define uint unsigned intsbit DS=P37;sbit gou=P33;sbit key1=

41、P20;sbit key2=P21;sbit key3=P22;sbit key4=P23;void display(uchar wei,uchar duan);void dis_temp(uint t);uchar code duma=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x9c,0xc6;uchar code wema=0xfe,0xfd,0xfb,0xf7; int temp;uint settemp=100;uchar data1,kp,ki,kd;uint t,hightime,count;int e1,e2,e3,du

42、k,uk; /*延時(shí)子程序10ms*/ void delay10ms() uchar a,b;for(a=10;a0;a-)for(b=30;b0;b-);void delay1()uchar a,b;for(a=30;a0;a-)for(b=30;b0;b-); /*延時(shí)子程序,空5個(gè)指令*/ void delay(void)_nop_();_nop_();_nop_();_nop_();_nop_();/*延時(shí)子程序*/ void delayb(uint count) uint i;while(count)i=200;while(i0)i-;count-;/*DS18B20初始化*/voi

43、d dsreset(void) uint i; DS=0;i=103;while(i0)i-;DS=1;i=4;while(i0)i-;/*讀一位數(shù)據(jù)值*/bit tmpreadbit(void) uint i;bit dat;DS=0;i+; /i+,小延時(shí)一下DS=1;i+;i+;dat=DS;i=8;while(i0)i-;return (dat);/*讀一個(gè)字節(jié)數(shù)據(jù)*/uchar tmpread(void) uchar i,j,dat;dat=0;for(i=1;i=8;i+)j=tmpreadbit();dat=(j1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好/一個(gè)字節(jié)在DAT里re

44、turn(dat); /將一個(gè)字節(jié)數(shù)據(jù)返回/*寫一個(gè)字節(jié)到DS18B20里*/void tmpwritebyte(uchar dat) uint i;uchar j;bit testb;for(j=1;j1;if(testb) / 寫1部分DS=0;i+;i+;DS=1;i=8;while(i0)i-;elseDS=0; /寫0部分i=8;while(i0)i-;DS=1;i+;i+;/*獲取溫度并轉(zhuǎn)化命令*/void tmpchange(void) dsreset(); /初始化DS18B20delayb(1); /延時(shí)tmpwritebyte(0xcc); /跳過(guò)序列號(hào)命令tmpwrite

45、byte(0x44); /發(fā)送溫度轉(zhuǎn)換命令/*讀取DS18B20中溫度寄存器數(shù)據(jù)*/uint get_temp() float ftemp;uchar a,b;dsreset();delayb(1);tmpwritebyte(0xcc); tmpwritebyte(0xbe); /發(fā)送讀取數(shù)據(jù)命令a=tmpread(); /連續(xù)讀兩個(gè)字節(jié)數(shù)據(jù),讀低8位b=tmpread(); /讀高8位temp=b;temp=8; /temp高8位和低8位交換,將交換過(guò)的值重新賦給temp。不懂的看C語(yǔ)言基礎(chǔ)書temp=temp|a; /兩字節(jié)合成一個(gè)字ftemp=temp*0.0625; /得到真實(shí)十進(jìn)制溫

46、度值,因?yàn)镈S18B20可以精確到0.0625度 /所以讀回?cái)?shù)據(jù)的最低位代表的是0.0625度 temp=ftemp*10+0.5; /放大十倍,這樣做的目的將小數(shù)點(diǎn)后第一位也轉(zhuǎn)換為可顯示數(shù)字,同時(shí)進(jìn)行一個(gè)四舍五入操作。return temp; /返回溫度值/*定時(shí)器0初始化程序*/void init_time0(void)TMOD |= 0x01; /使用模式1,16位定時(shí)器,使用|符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響 TH0=(65536-50000)/256;TL0=(65536-50000)%256; EA=1; /總中斷打開 ET0=1; /定時(shí)器T0允許中斷 TR0=1; /定時(shí)器T0開始工作/*定時(shí)器1初始化程序*/void init_time1(void)TMOD |= 0x10; /使用模式1,16位定時(shí)器,使用|符號(hào)可以在使用多個(gè)定時(shí)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論