歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

基于PID控制算法的溫度控制系統(tǒng)的設(shè)計(jì)與仿真.doc

  • 資源ID:6682151       資源大?。?span id="9151zcv" class="font-tahoma">531.50KB        全文頁(yè)數(shù):49頁(yè)
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

基于PID控制算法的溫度控制系統(tǒng)的設(shè)計(jì)與仿真.doc

摘 要本設(shè)計(jì)是一種溫度控制系統(tǒng),溫度控制在工業(yè)生產(chǎn)和科學(xué)研究中具有重要意義。其控制系統(tǒng)屬于一階純滯后環(huán)節(jié),具有大慣性、純滯后、非線性等特點(diǎn),導(dǎo)致傳統(tǒng)控制方式超調(diào)大、調(diào)節(jié)時(shí)間長(zhǎng)、控制精度低。采用單片機(jī)進(jìn)行爐溫控制,具有電路設(shè)計(jì)簡(jiǎn)單、精度高、控制效果好等優(yōu)點(diǎn),對(duì)提高生產(chǎn)效率、促進(jìn)科技進(jìn)步等具有重要的現(xiàn)實(shí)意義。PID控制法最為常見(jiàn),控制輸出采用PWM波觸發(fā)可控硅來(lái)控制加熱通斷。使系統(tǒng)具有較高的測(cè)量精度和控制精度。單片機(jī)控制部分采用AT89S51單片機(jī)為核心,采用Keil軟件進(jìn)行編程,同時(shí)采用分塊的模式,對(duì)整個(gè)系統(tǒng)的硬件設(shè)計(jì)進(jìn)行分析,分別給出了系統(tǒng)的總體框圖、溫度檢測(cè)調(diào)理電路、A/D轉(zhuǎn)換接口電路,按鍵輸入電路以及顯示電路,并對(duì)相應(yīng)電路進(jìn)行相關(guān)的闡述軟件采用PID算法進(jìn)行了建模和編程,在Proteus環(huán)境中進(jìn)行了仿真。關(guān)鍵詞:PID;單片機(jī);溫度控制;Keil;Proteus Abstract This design is a kind of temperature control system,The temperature control in industrial production and scientific research is of great significance.Belongs to pure first-order lag link, the control system has the characteristics of big inertia, pure lag and nonlinear, the traditional control overshoot and adjustment time is long, low control precision.By single chip microcomputer temperature control, has simple circuit design, high accuracy and good control effect, to improve the production efficiency, promote the progress of science and technology has important practical significance.PID control is the most common, the control output PWM wave triggering thyristor is used to control the heating on and off.Make the system has high accuracy of measurement and control precision.Single-chip microcomputer control part adopts single chip microcomputer AT89S51 as the core,Using Keil software programming,Using block pattern at the same time, analyzes the hardware design of the whole system, respectively, of the overall system block diagram is given, the temperature detection circuit, A/D conversion interface circuit, key input circuit and display circuit, and the corresponding circuit are related in this paper, the software, the PID algorithm is used for modeling and programming in the Proteus simulation environment.Key words:PID;Single chip microcomputer;The temperature control;Keil;Proteus目 錄 1緒論12設(shè)計(jì)方案23系統(tǒng)硬件仿真電路33.1 溫度測(cè)量調(diào)理電路33.2 A/D轉(zhuǎn)換電路43.3 按鍵輸入電路53.4 數(shù)碼管顯示電路63.5 溫度控制電路74 程序設(shè)計(jì)94.1 程序整體設(shè)計(jì)94.2 子程序設(shè)計(jì)114.3 源程序設(shè)計(jì)195 軟件調(diào)試與運(yùn)行結(jié)果41結(jié)論42致謝43參考文獻(xiàn)44 1緒論 現(xiàn)代工業(yè)生產(chǎn)過(guò)程中,用于熱處理的加熱爐,需要消耗大量的電能,而且溫度控制是純滯后的一階大慣性環(huán)節(jié)?,F(xiàn)有企業(yè)多采用常規(guī)儀表加接觸器的斷續(xù)控制,隨著科技進(jìn)步和生產(chǎn)的發(fā)展,這類(lèi)設(shè)備對(duì)溫度的控制要求越來(lái)越高,除控溫精度外,對(duì)溫度上升速度及下降速度也提出了可控要求,顯而易見(jiàn)常規(guī)控制難于滿足這些工藝要求。隨著微電子技術(shù)的發(fā)展,采用功能強(qiáng)、體積小、價(jià)格低的智能化溫度控制裝置控制加熱爐已成為現(xiàn)實(shí)。 采用單片機(jī)來(lái)對(duì)溫度進(jìn)行控制不僅具有控制方便、簡(jiǎn)單靈活性等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量,比過(guò)去單純采用電子線路進(jìn)行PID調(diào)節(jié)的控制效果要好的多。 微機(jī)控制系統(tǒng)的快速計(jì)算、靈活多樣的邏輯判斷和高效的信息加工能力使自動(dòng)控制進(jìn)入了更高一級(jí)的領(lǐng)域,提高了生產(chǎn)過(guò)程的自動(dòng)化程度,減少了人工干預(yù),并不斷地完善和滿足工農(nóng)業(yè)生產(chǎn)和國(guó)防科技日益增長(zhǎng)的需要。微機(jī)控制系統(tǒng)由于具有成本低、體積小、功耗小、可靠性高和使用靈活等特點(diǎn),因而廣泛的應(yīng)用于工農(nóng)業(yè)生產(chǎn)、交通運(yùn)輸、國(guó)防建設(shè)和空間技術(shù)等各個(gè)領(lǐng)域。其控制對(duì)象已從單一的工廠流程擴(kuò)展到企業(yè)生產(chǎn)過(guò)程的管理和控制。隨著微機(jī)和單片機(jī)的推廣使用,實(shí)現(xiàn)信息自動(dòng)化與過(guò)程控制相結(jié)合的分級(jí)分布式計(jì)算機(jī)控制,使計(jì)算機(jī)控制技術(shù)的水平發(fā)展到一個(gè)嶄新的階段。 現(xiàn)在,許多常規(guī)的控制儀表和調(diào)節(jié)器已經(jīng)為計(jì)算機(jī)所取代。計(jì)算機(jī)不斷地監(jiān)視整個(gè)生產(chǎn)過(guò)程,對(duì)生產(chǎn)中的各個(gè)參數(shù)進(jìn)行采樣,迅速進(jìn)行復(fù)雜的數(shù)據(jù)處理,打印和顯示工藝過(guò)程的統(tǒng)計(jì)數(shù)字和參數(shù),并發(fā)出各種控制命令。 溫度控制是工業(yè)生產(chǎn)過(guò)程中經(jīng)常遇到的過(guò)程控制,有些工藝過(guò)程對(duì)其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計(jì)一種較為理想的溫度控制系統(tǒng)是非常有價(jià)值的。2設(shè)計(jì)方案 在溫度測(cè)量控制系統(tǒng)中,實(shí)際溫度值由PT100恒流工作調(diào)理電路進(jìn)行測(cè)量。為了克服PT100線性度不好的缺點(diǎn),在信號(hào)調(diào)理電路中加入負(fù)反饋非線性校正網(wǎng)絡(luò);調(diào)理電路的輸出電壓經(jīng)ADC0808轉(zhuǎn)換后送入單片機(jī)AT89S51;對(duì)采樣數(shù)據(jù)進(jìn)行濾波及標(biāo)定處理后,由3位7段數(shù)碼管顯示。輸入的設(shè)定值由4位獨(dú)立按鍵電路進(jìn)行設(shè)定,可分別對(duì)設(shè)定值的十位和個(gè)位進(jìn)行加1、減1操作。設(shè)定值送入單片機(jī)后,由另外一組3位7段數(shù)碼管顯示。數(shù)碼管的段碼由74HC05驅(qū)動(dòng),位碼由三極管2N2222A驅(qū)動(dòng)。為了使兩組數(shù)碼管實(shí)時(shí)顯示,對(duì)兩組數(shù)碼管進(jìn)行動(dòng)態(tài)掃描。整體的電路原理框圖如圖1-1所示。圖1-1整體電路原理框圖系統(tǒng)采用PID閉環(huán)控制方案。如圖1-2所示,將預(yù)置初值與溫度傳感器反饋信號(hào)比較得到偏差(e)進(jìn)行PID運(yùn)算處理得到控制量(u),通過(guò)此量來(lái)控制加熱器的加熱時(shí)間,從而控制加熱功率。由于水本身具有很大的熱慣性,所以必須對(duì)水溫的變化趨勢(shì)作出預(yù)測(cè),并且根據(jù)需要及時(shí)反方向抑制,以防止出現(xiàn)較大的超調(diào)量的波動(dòng)。在PID控制中,積分環(huán)節(jié)(I)具有很強(qiáng)的滯后效應(yīng),而微分環(huán)節(jié)(D)具有預(yù)見(jiàn)性,所以該方案最終采用PD算法,能夠很好的控制超調(diào),并且穩(wěn)態(tài)誤差也很小。圖1-2 系統(tǒng)控制方案 3系統(tǒng)硬件仿真電路3.1 溫度測(cè)量調(diào)理電路圖3-1溫度測(cè)量調(diào)理電路本系統(tǒng)采用恒流工作調(diào)理電路,鉑電阻選用標(biāo)稱(chēng)值為100的PT100作為溫度傳感器。A1、A2、A3采用低漂移運(yùn)放OP07C,由于有電流經(jīng)PT100傳感器,所以當(dāng)溫度為0時(shí),在PT100傳感器上有電壓降,這個(gè)電壓為PT100傳感器的偏置電壓,是運(yùn)放A1輸出電壓的一部分,使恒流工作調(diào)理電路的輸出實(shí)際不為零。所以需要對(duì)這個(gè)偏置電壓調(diào)零,R3為調(diào)零電阻,其作用為當(dāng)溫度為0時(shí),將恒流工作調(diào)理電路的輸出調(diào)到零。又因?yàn)镻T100的電阻特性為非線性,PT100在0到100變化范圍內(nèi)非線性誤差為0.4%(0.4),由于本系統(tǒng)無(wú)小數(shù)顯示,0.4的誤差本身不會(huì)對(duì)A/D量化和數(shù)碼管顯示造成影響,但由于軟件編制中,對(duì)標(biāo)度變化程序中的變換系數(shù)做了近似處理,使得非線性誤差接近0.79%(0.79),就有可能對(duì)A/D量化和數(shù)碼管顯示造成影響,所以加進(jìn)了線性化電路,運(yùn)放A3及電阻R1、R4和R6一同構(gòu)成了負(fù)反饋非線性校正網(wǎng)絡(luò)。R5用于調(diào)整運(yùn)放A2的增益。電路的調(diào)整方法如下(用普通電阻代替PT100進(jìn)行調(diào)整):(1) 接入相當(dāng)于0的100的電阻,用于R3調(diào)零。(2) 接入相當(dāng)于50的119.70的電阻,用于R5調(diào)整增益。(3) 接入相當(dāng)于100的139.10的電阻,用于R1或R4調(diào)整線性。 反復(fù)調(diào)整多次,在0到100溫度范圍內(nèi)適宜為止。以溫度值為橫坐標(biāo),電壓值為縱坐標(biāo),由表3-1分析非線性誤差可知:在50時(shí),存在最大偏差為0.005,故非線性校正后非線性誤差變?yōu)?.1%(0.1),A/D量化及數(shù)碼管顯示不會(huì)產(chǎn)生誤操作。表3-1 顯示對(duì)照表理想溫度值0102030405060708090100對(duì)應(yīng)電阻值100103.9107.9111.8115.7119.7123.9127.4131.3135.2139.1實(shí)際輸出電壓0.0020.5021.0041.5022.0042.5053.0013.5024.0014.4984.996顯示溫度值0102030405060708090100注釋1;溫度單位/;電阻值單位/;電壓?jiǎn)挝?V。3.2 A/D轉(zhuǎn)換電路本系統(tǒng)采用5V的電壓源,用PT100電阻傳感器組成的信號(hào)調(diào)理電路作為信號(hào)的輸入裝置,當(dāng)PT100傳感器置于溫度場(chǎng)時(shí),調(diào)理電路將根據(jù)PT100的阻值輸出相應(yīng)的電壓值。將該輸出電壓送到ADC0808的模擬量輸入通道IN0,經(jīng)ADC0808進(jìn)行模數(shù)轉(zhuǎn)換,將標(biāo)準(zhǔn)的模擬信號(hào)轉(zhuǎn)換為等價(jià)的數(shù)字信號(hào)。本設(shè)計(jì)選用IN0作為模擬量輸入通道,則將ADC0808的A、B、C三條地址線均置為低電平。轉(zhuǎn)換啟動(dòng)信號(hào)START接到AT89S51的P2.0口,轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)EOC接P3.7口,輸出允許信號(hào)OE接P3.6口,地址鎖存允許信號(hào)ALE接P3.3口,由于ADC0808內(nèi)部沒(méi)有時(shí)鐘電路,所以用AT89S51的ALE經(jīng)二分頻接ADC0808的CLK端,VREF-接地,VREF+接+5V電壓。ADC0808的轉(zhuǎn)換結(jié)果輸出到AT89S51的P0.0到P0.7口,作為AT89S51的輸入信號(hào)。A/D轉(zhuǎn)換接口電路如圖3-2所示。 圖3-2 A/D轉(zhuǎn)換接口電路3.3 按鍵輸入電路 本系統(tǒng)采用4個(gè)按鍵搭建鍵盤(pán)電路,如圖3-3所示。第一個(gè)按鍵用來(lái)判斷是轉(zhuǎn)入控制處理程序運(yùn)行,還是轉(zhuǎn)入鍵盤(pán)處理子程序運(yùn)行;若未按下則轉(zhuǎn)入控制處理子程序運(yùn)行,按下則轉(zhuǎn)入鍵盤(pán)處理子程序運(yùn)行;若第一個(gè)按鍵按下,則第二個(gè)按鍵開(kāi)始起作用,用第二個(gè)按鍵來(lái)判斷是十位進(jìn)行加減操作。若第二個(gè)按鍵未按下,轉(zhuǎn)十位進(jìn)行加減操作,否則轉(zhuǎn)個(gè)位進(jìn)行加減操作;第三個(gè)按鍵為減一操作,第四個(gè)按鍵為加一操作。為了方便按鍵操作,將個(gè)位和十位的設(shè)定值均設(shè)置為5,如果加一操作結(jié)果等于11,給加一單元重新賦值5,如果減一操作結(jié)果等于0FFH,給減一單元重新賦值5。這樣考慮最壞情況,即用鍵盤(pán)設(shè)置離初始設(shè)定值最遠(yuǎn)的值,第三個(gè)按鍵最多按5次,第四個(gè)按鍵最多按5次。從而大大減少了按鍵次數(shù),且更方便地給出設(shè)定值。第一個(gè)鍵和第二個(gè)鍵的加入,也充分考慮了總程序的整體調(diào)度。圖3-3 按鍵輸入電路3.4 數(shù)碼管顯示電路顯示電路采用兩個(gè)4位LED顯示數(shù)碼管,共陰極接法。第一個(gè)數(shù)碼管顯示A/D轉(zhuǎn)換數(shù)據(jù)采集的采樣值,選用3位顯示采樣值,顯示范圍為0到100;第二個(gè)數(shù)碼管顯示由鍵盤(pán)輸入的設(shè)定值,用于顯示對(duì)系統(tǒng)的溫度設(shè)定,也選用3位顯示設(shè)定值,顯示范圍為0到100。由于LED顯示電路較多選用動(dòng)態(tài)掃描方式,為了實(shí)現(xiàn)LED顯示器的動(dòng)態(tài)掃描,除了要給顯示器提供段的輸入外,還要對(duì)顯示器的位進(jìn)行控制,即段控和位控。所以需要用P1口輸出8條段控線;位控線由挑選的P2.1、P2.2、P2.3、P3.0、P3.1和P3.2輸出,其中P2.1、P2.2和P2.3用于驅(qū)動(dòng)鍵盤(pán)輸入的設(shè)定值和數(shù)碼管位控線,其余用于驅(qū)動(dòng)顯示A/D轉(zhuǎn)換數(shù)碼管的數(shù)據(jù)碼位控線,位控線的數(shù)目等于數(shù)碼管顯示的位數(shù)。P1接口最多可連接8個(gè)LED顯示器。為提高顯示亮度,通常加74HC05進(jìn)行段控輸出驅(qū)動(dòng),與7段數(shù)碼管的段碼驅(qū)動(dòng)輸入端相連,由于位控的驅(qū)動(dòng)電流較大,8段全亮需40到60mA,所以用三極管9012提高驅(qū)動(dòng)能力,其集電極接到7段數(shù)碼管的位碼驅(qū)動(dòng)輸入端,三極管的發(fā)射極接地,將AT89S51的P3.0、P3.1、P3.2分別與一個(gè)2k的電阻連接到三極管的基極,用于驅(qū)動(dòng)采樣值顯示數(shù)碼管,將AT89S51的P2.0、P2.1和P2.2口分別與一個(gè)2k的電阻連接到三極管的基極,用于驅(qū)動(dòng)設(shè)定值顯示數(shù)碼管。顯示電路如圖3-4所示。圖3-4 顯示電路3.5 溫度控制電路系統(tǒng)的電阻絲和風(fēng)扇均采用如圖3-5所示的電路形式。此電路采用晶體管驅(qū)動(dòng)固態(tài)繼電器。當(dāng)P3.4為低電平,繼電器RL1吸合;當(dāng)P3.4或P3.5為高電平時(shí),繼電器RL1釋放。采用這種控制邏輯可以使繼電器在上電復(fù)位或單片機(jī)復(fù)位時(shí)不吸合。繼電器由晶體管2N2222A驅(qū)動(dòng),它可以提供所需的驅(qū)動(dòng)電流。圖3-5 繼電器控制電路 PT100溫度測(cè)控系統(tǒng)的完整電路如圖3-6所示。圖3-6 溫度測(cè)控系統(tǒng)電路圖4 程序設(shè)計(jì)4.1 程序整體設(shè)計(jì)程序的控制思想:設(shè)置目標(biāo)溫度后,系統(tǒng)采樣水溫,并通過(guò)預(yù)設(shè)溫度、當(dāng)前溫度、歷史偏差等進(jìn)行PID運(yùn)算產(chǎn)生fout輸出參數(shù),通過(guò)該參數(shù)控制加熱時(shí)間,從而調(diào)節(jié)加熱器的平均功率,實(shí)現(xiàn)系統(tǒng)的PID控制。整體功能通過(guò)主程序和中斷服務(wù)程序配合實(shí)現(xiàn)。主程序流程:系統(tǒng)首先初始化I/O、定時(shí)器,之后進(jìn)入主循環(huán),進(jìn)行溫度采樣和相關(guān)處理。在系統(tǒng)運(yùn)行過(guò)程中通過(guò)按鍵重新設(shè)置目標(biāo)溫度值。PT100溫度測(cè)控系統(tǒng)的主程序流程圖如圖4-1所示。圖4-1 溫度測(cè)控系統(tǒng)主程序4.2 子程序設(shè)計(jì) 1.PID控制的實(shí)現(xiàn) (1)PID簡(jiǎn)介。PID(Proportional Integral Derivative)控制是控制工程中技術(shù)成熟、應(yīng)用廣泛的一種控制策略,經(jīng)過(guò)長(zhǎng)期的工程實(shí)踐,已形成了一套完整的控制算法和典型的結(jié)構(gòu)。它不僅適用于數(shù)學(xué)模型已知的控制系統(tǒng),而且對(duì)于大多數(shù)數(shù)學(xué)模型難以確定的工業(yè)過(guò)程也可以應(yīng)用,在眾多工業(yè)過(guò)程控制中取得了滿意的應(yīng)用效果。 (2)PID工作原理。由于來(lái)自外界的各種擾動(dòng)不斷產(chǎn)生,要想達(dá)到現(xiàn)場(chǎng)控制對(duì)象值保持恒定的目的控制作用就必須不斷地進(jìn)行。若擾動(dòng)出現(xiàn)使得現(xiàn)場(chǎng)控制對(duì)象(以下簡(jiǎn)稱(chēng)被控參數(shù))發(fā)生變化,現(xiàn)場(chǎng)檢測(cè)元件就會(huì)將這種變化采集后經(jīng)變送器送到PID控制器的輸入端,并與其給定值(以下簡(jiǎn)稱(chēng)SP值)進(jìn)行比較得到偏差值(以下簡(jiǎn)稱(chēng)e值),調(diào)節(jié)器按此偏差并以預(yù)先設(shè)定的整定參數(shù)控制規(guī)律發(fā)出控制信號(hào),去改變調(diào)節(jié)器的開(kāi)度,使調(diào)節(jié)器的開(kāi)度增加或減小,從而使現(xiàn)場(chǎng)控制對(duì)象值發(fā)生改變,并趨向于給定值(SP值),以達(dá)到控制的目的,如圖4-2所示。其實(shí)PID的實(shí)質(zhì)就是對(duì)偏差(e)值進(jìn)行比例、積分、微分運(yùn)算,根據(jù)運(yùn)算結(jié)果控制執(zhí)行部件的過(guò)程。圖4-2 模擬PID控制系統(tǒng)原理圖 PID控制器的控制規(guī)律可以描述為: (4-1)比例(P)控制能迅速反應(yīng)誤差,從而減小穩(wěn)態(tài)誤差。但是,比例控制不能消除穩(wěn)態(tài)誤差。比例放大系數(shù)的放大,會(huì)引起系統(tǒng)的不穩(wěn)定。積分(I)控制的作用是:只要系統(tǒng)有誤差存在,積分控制器就不斷的積累,輸出控制量,以消除誤差。因而,只要有足夠的時(shí)間,積分控制就能完全消除誤差,使系統(tǒng)誤差為零,從而消除穩(wěn)態(tài)誤差。積分作用太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)震蕩。微分(D)控制可以減小超調(diào)量,克服振蕩,使系統(tǒng)的穩(wěn)定性提高,同時(shí)加快系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,減小調(diào)整時(shí)間,從而改善系統(tǒng)的動(dòng)態(tài)性能。根據(jù)不同被控對(duì)象的控制特性,又可以分為P、PI、PD、PID等不同的控制模型。 (3)數(shù)字PID的實(shí)現(xiàn)。在連續(xù)時(shí)間控制系統(tǒng)(模擬PID控制系統(tǒng))中,PID控制器的應(yīng)用非常廣泛。其設(shè)計(jì)技術(shù)成熟,長(zhǎng)期以來(lái)形成了典型的結(jié)構(gòu),參數(shù)整定方便,結(jié)構(gòu)更改靈活,能滿足一般的控制要求。隨著計(jì)算機(jī)的快速發(fā)展,人們將計(jì)算機(jī)引入到PID控制領(lǐng)域,也就出現(xiàn)了數(shù)字式PID控制。由于計(jì)算機(jī)基于采樣控制理論,計(jì)算方法也不能沿襲傳統(tǒng)的模擬PID控制算法,所以必須將控制模型離散化。離散化的方法為:以T為采樣周期,k為采樣序號(hào),用求和的形式代替積分,用增量的形式(求差)代替微分,這樣就可以將連續(xù)的PID計(jì)算公式離散: (4-2) 式中(4-1)就可以離散為: (4-3)或者: (4-4) 這樣就可以讓計(jì)算機(jī)或單片機(jī)通過(guò)采樣的方式實(shí)現(xiàn)PID控制。具體的PID控制又分為位置式PID控制和增量式PID控制,(4-4)給出了控制量的全部大小,所以稱(chēng)為全量式或位置式控制。如果計(jì)算機(jī)只對(duì)相鄰的兩次做計(jì)算,只考慮在前一次基礎(chǔ)上計(jì)算機(jī)輸出量的大小變化,而不是全部輸出信息的計(jì)算,這種控制叫做增量式PID控制算法,其實(shí)質(zhì)就是求的大小。而,所示將式(4-4)作自減變換有: (4-5) 式中: 2.溫度控制PID算法設(shè)計(jì) 本系統(tǒng)利用上面所介紹的位置式PID算法,將溫度傳感器采樣輸入作為當(dāng)前輸入,與設(shè)定值進(jìn)行相減得到偏差ek,然后再對(duì)其進(jìn)行PID運(yùn)算產(chǎn)生輸出結(jié)果fout,最后讓fout控制繼電器的時(shí)間進(jìn)而控制加熱器。為了方便PID運(yùn)算,首先建立一個(gè)PID的結(jié)構(gòu)體數(shù)據(jù)類(lèi)型。該數(shù)據(jù)類(lèi)型用于保護(hù)PID運(yùn)算所需要的P、I、D系數(shù),以及設(shè)定值、歷史誤差的累加和等信息。Typedef struct PID float SetPoint; float Proportion; float Integral; float Derivative; int LastError; Int SumError;PID;PIDstPID; 下面是PID運(yùn)算的算法程序,通過(guò)PID運(yùn)算返回fout,fout的值決定是否加熱、加熱時(shí)間是多少。PID運(yùn)算的實(shí)現(xiàn)代碼如下:Float PIDCalc(PID *pp,int NextPoint) Int dError,Error; Error=pp-SetPoint*10-NextPoint; pp-SumError + =Error; dError =Error - pp -LastError; pp-PrevError =pp-LastError; pp-LastError = Error; return(pp-Proportion*Error +pp-Integral*pp-SumError -pp-Derivative*dError);在實(shí)際運(yùn)算時(shí),由于水具有很大的熱慣性,而且PID運(yùn)算中的1(積分項(xiàng))具有非常明顯的延遲效應(yīng),不能保留,所以必須把積分項(xiàng)去掉。相反,D(微分項(xiàng))有很強(qiáng)的預(yù)見(jiàn)性,能夠加快反應(yīng)速度,抑制超調(diào)量,因此微分作用應(yīng)該適當(dāng)加強(qiáng)才能達(dá)到較佳的控制效果,系統(tǒng)最終選擇PD控制方案。下面是PD控制的實(shí)現(xiàn)過(guò)程:Float PIDCalc(PID*pp,int NextPoint) Int dError,Error; Error=pp-SetPoint*10-NextPoint; dError=Error-pp-LastError; pp-PrevError=pp-LastError; pp-LastError=Error return(pp-Proportion*Error -pp-Derivative*dError );3.溫度控制的實(shí)現(xiàn) 通過(guò)溫度的PID運(yùn)算,產(chǎn)生結(jié)果fmin,該參數(shù)決定是否加熱。加熱時(shí)間多長(zhǎng)。 stPID.Proportion=2; stPID.Integral=0; stPID.Derivative=5; fOut=PIDCalc(&stPID,(int)(fT*10); if(fOut=0) *p_IOA_Buffer&=0ff7f; Else *p_IOA_Buffer=00080;加熱時(shí)間由主函數(shù)計(jì)算。主程序中通過(guò)PIDCalc函數(shù)得到fmin參數(shù)。若該參數(shù)大于零,則開(kāi)啟加熱器。如果PIDCalc計(jì)算結(jié)果比較大說(shuō)明離目標(biāo)溫度相差較大,則加熱時(shí)間比較長(zhǎng);如果計(jì)算結(jié)果比較小,說(shuō)明離目標(biāo)溫度相差較小,加熱時(shí)間相對(duì)較短。 4.PID參數(shù)的整定 由PID控制原理知:比例(P)控制能迅速反映誤差,減小穩(wěn)態(tài)誤差;比例作用的加大會(huì)引起系統(tǒng)的穩(wěn)定。積分(1)控制的作用,只要系統(tǒng)有偏差存在,積分作用就不斷地積累,輸出控制量以消除誤差;積分作用太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)震蕩。微分(D)控制可以減小超調(diào)量,克服震蕩,使系統(tǒng)的穩(wěn)定性提高。同時(shí)加快系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,減小調(diào)整時(shí)間,從而改善系統(tǒng)的動(dòng)態(tài)性能??刂频哪繕?biāo)就是:反應(yīng)速度盡可能快,超調(diào)量盡可能小,穩(wěn)態(tài)誤差趨近于零。5.A/D轉(zhuǎn)換子程序 先送地址鎖存允許信號(hào)ALE一個(gè)上升沿,是A.B.C地址狀態(tài)送入地址鎖存器中,然后送START一個(gè)上升沿是內(nèi)部寄存器清0,再給其一個(gè)下降沿,開(kāi)始進(jìn)行A/D轉(zhuǎn)換。之后判斷轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)EOC是否為1,為0則繼續(xù)等待轉(zhuǎn)換,為1則將轉(zhuǎn)換好的數(shù)字量經(jīng)ADC0808的8個(gè)數(shù)據(jù)輸出端D0D7送到AT89S51的P0口。轉(zhuǎn)換流程圖如圖4-3所示。 圖4-3 A/D轉(zhuǎn)換子程序流程圖6.鍵盤(pán)處理子程序 按鍵處理子程序流程圖如圖4-4所示。7.溫度標(biāo)定轉(zhuǎn)換模塊 控制系統(tǒng)在讀入被測(cè)模擬信號(hào)并轉(zhuǎn)換成數(shù)字量后,需要轉(zhuǎn)換成人們所熟悉的物理量,這種轉(zhuǎn)換就是標(biāo)度變換。線性標(biāo)度變換公式為: Y=(Ymax-Ymin)(X-Nmin)/(Nmax-Nmin)+Ymin式中,Y為參數(shù)測(cè)量值;Ymax為測(cè)量范圍最大值;Ymin為測(cè)量范圍最小值;Nmin為對(duì)應(yīng)的A/D轉(zhuǎn)換值;Nmin為Ymin對(duì)應(yīng)的A/D轉(zhuǎn)換值;X為測(cè)量值Y對(duì)應(yīng)的A/D轉(zhuǎn)換值。 本系統(tǒng)中,Ymin=0,Ymax=100,Nmin=0,Nmax=255,則 Y=(100-0)(X-0)/(255-0)+0=a1X+a0式中,a1=0.39,a0=0。由于x的系數(shù)為小數(shù),在單片機(jī)中編制像0.39這樣的小數(shù)的乘法程序很難實(shí)現(xiàn),如果將其取近似值0.4,則乘以最大A/D轉(zhuǎn)換值后,會(huì)產(chǎn)生0.01255=2.55的誤差。所以設(shè)線性系數(shù)為a1,最終轉(zhuǎn)化的結(jié)果為100,通過(guò)a1=100256/255=100.39可確定系數(shù)。是四舍五入取100時(shí),顯示最高只能顯示99,所以選用101。 8.顯示子程序 顯示模塊的功能為:使第1個(gè)數(shù)碼管顯示A/D轉(zhuǎn)換數(shù)據(jù)采集的采樣值,而第2個(gè)數(shù)碼管顯示由按鍵輸入的設(shè)定值,用于顯示對(duì)系統(tǒng)的溫度設(shè)定,在整個(gè)系統(tǒng)進(jìn)行測(cè)控的過(guò)程中,兩個(gè)數(shù)碼管同時(shí)顯示,顯示程序中采樣值顯示采用了常規(guī)的顯示程序,不再贅述。這里只談編寫(xiě)顯示程序中鍵盤(pán)顯示時(shí)主要注意的一點(diǎn)。由于最后生成的設(shè)定值是有十位或個(gè)位的加一和十位或個(gè)位的減一鍵輸入,須嚴(yán)格區(qū)分才可以編制其顯示程序,此處采用的方法是將個(gè)位的加一、減一鍵輸入的值存放在28H,而十位的加一、減一鍵輸入的值存放在34H,然后驅(qū)動(dòng)不同的位碼即可正常顯示。流程圖如圖4-5所示。圖4-4 按鍵處理子程序流程圖圖4-5 顯示處理子程序流程圖 4.3 源程序設(shè)計(jì) ORG 0000HJMP STARTORG 0040HSTART:LCALL ZHUANHUAN SETB P3.0 SETB P3.1 SETB P3.2 SETB P2.0 SETB P2.1 SETB P2.2 LCALL DELAY1 MOV 34H,#05 MOV 35H,#05 MOV 28H,#05 MOV 29H,#05LLL:LCALL ZHUANHUAN MOV 31H,A LCALL DELAY4 LCALL ZHUANHUAN MOV 32H,A LCALL DELAY4 LCALL ZHUANHUAN MOV 33H,A LCALL FILTER LCALL CHNTER LCALL SHOW JB P2.4,KONGZHI1KEY0: JB P2.4,LLL LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY1: JB P2.5,KEY51 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY2: JB P2.7,KEY3 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW DEC 34H MOV A,34H MOV 35H,34H CJNE A,#0FFH,KEY22 MOV 34H,#05H LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY22: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY2KONGZHI1: LJMP KONGZHIKEY51: LJMP KEY5KEY3: JB P2.6,KEY02 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 INC 35H MOV A,35H MOV 34H,35H LCALL DELAY4 CJNE A,#0AH,KEY33 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 MOV 35H,#04 LCALL DELAY4KEY33: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY3KEY02: LJMP KEY0KEY5: JB P2.7,KEY6 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW DEC 28H MOV A,28H MOV 29H,28H CJNE A,#0FFH,KEY55 MOV 28H,#05 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY55: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY5KEY6: JB P2.6,KEY01 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 INC 29H MOV A,29H MOV 28H,29H LCALL DELAY4 CJNE A,#9,KEY66 MOV 29H,#04 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 KEY66: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY6 KEY01: LJMP KEY0 KONGZHI: LCALL ZHUANHUAN LCALL CHNTER LCALL WUCHA MOV A,2EH MOV 39H,A LCALL MULT1 LCALL DELAY1 LCALL DELAY1 LCALL SHOW LCALL DELAY1 LCALL DELAY1 LCALL ZHUANHUAN LCALL FILTER LCALL CHNTER LCALL WUCHA MOV 3AH,A MOV A,39H MOV B,3AH CLR C SUBB A,B MOV 3BH,A LCALL MULT2 ZZP:MOV A,37H XRL A,#00H JB ACC.7,ZZP1 LJMP ZZP2ZZP1:MOV A,37H CJNE A,#0FFH,ZZP3 LJMP ZZP4ZZP2:MOV A,37H CJNE A,#03H,ZZP5 LJMP ZZP6ZZP3:JC ZZP7 LJMP ZZP37ZZP4:MOV A,36H XRL A,#00H JB ACC.7,ZZP8LJMP ZZP9ZZP5:JC ZZP10 LJMP ZZPP5ZZPP5:MOV A,36H XRL A,#00H JB ACC.7,ZZPP51 LJMP WU5ZZPP51:MOV A,36H CJNE A,#0FEH,ZZPP52 LJMP WU5ZZPP52:JC ZZPP521LJMP WU5ZZPP521:LJMP WU0ZZP6:MOV A,36HXRL A,#00HJB ACC.7,ZZP11LJMP WU5ZZP7:MOV A,37H CJNE A,#0FEH,ZZP12 LJMP ZZP13ZZP8:MOV A,36H CJNE A,#0FBH,ZZP14 LJMP WU4ZZP9:MOV A,36H CJNE A,#00H,ZZP15 LJMP WU1ZZP10:MOV A,37H CJNE A,#02H,ZZP16 LJMP ZZP17ZZP11:MOV A,36H CJNE A,#0F8H,ZZP18 LJMP WU1ZZP12:JC ZZP19 LJMP ZZP4ZZP13:MOV A,36H XRL A,#00H JB ACC.7,ZZP20LJMP ZZP21ZZP14:JC zzp141 LJMP ZZP22zzp141:LJMP WU4ZZP15:JC ZZP151 LJMP WU0ZZP151:LJMP WU1ZZP16:JC ZZP23 LJMP ZZP17ZZP17:MOV A,36H XRL A,#00H JB ACC.7,ZZP24 LJMP ZZPP17ZZPP17:MOV A,36H CJNE A,#01H,ZZPP171 LJMP WU5ZZPP171:JC ZZPP1711LJMP WU5ZZPP1711:LJMP WU0ZZP18:JC ZZP181 LJMP WU0ZZP181:LJMP WU1ZZP19:MOV A,37H CJNE A,#0FDH,ZZP25 LJMP ZZP26ZZP20:MOV A,36H CJNE A,#0FBH,ZZP27 LJMP WU4ZZP21:MOV A,36H CJNE A,#00H,ZZP28 LJMP WU2ZZP22:MOV A,36H CJNE A,#0FFH,ZZP29 LJMP WU2ZZP23:MOV A,37H CJNE A,#01H,ZZP30 LJMP ZZP31ZZP24:MOV A,36H CJNE A,#0F7H,ZZP32 LJMP WU1ZZP25:JC ZZP33 LJMP ZZP13ZZP26:MOV A,36H XRL A,#00H JB ACC.7,ZZP34LJMP ZZP35ZZP27:JC ZZP271 LJMP WU3ZZP271:LJMP WU4ZZP28:MOV A,36H CJNE A,#03H,ZZP36 LJMP WU0ZZP29:JC ZZP291 LJMP WU1ZZP291:LJMP WU3ZZP30:JNC ZZP301 LJMP ZZP37ZZP301:LJMP ZZP31ZZP31:MOV A,36H XRL A,#00H JB ACC.7,ZZP38LJMP ZZP39ZZP32:JC ZZP321 LJMP ZZP40ZZP321:LJMP WU2ZZP33:MOV A,36H XRL A,#00H JB ACC.7,ZZP331 LJMP ZZP41ZZP331:LJMP WU4ZZP34:MOV A,36H CJNE A,#0FDH,ZZP42 LJMP WU4ZZP35:MOV A,36H CJNE A,#00H,ZZP43 LJMP WU2ZZP36:JC ZZP361 LJMP WU0ZZP361:LJMP WU1ZZP37:MOV A,36H XRL A,#00H JB ACC.7,ZZP44 LJMP ZZP39ZZP38:MOV A,36H CJNE A,#0FBH,ZZP45 LJMP WU3ZZP39:MOV A,36H CJNE A,#03H,ZZPP39 LJMP WU5ZZPP39:JC ZZP391LJMP WU5ZZP391:LJMP WU0ZZP40:MOV A,36H CJNE A,#0FFH,ZZP46 LJMP WU0ZZP41:MOV A,36HCJNE A,#00H,ZZP47 LJMP WU3ZZP42:JC ZZP421 LJMP WU3ZZP421:LJMP WU4ZZP43:MOV A,36H CJNE A,#05H,ZZP48 LJMP WU0ZZP44:MOV A,36H CJNE A,#0FBH,ZZP49 LJMP WU4ZZP45:JC ZZP451 LJMP ZZP50ZZP451:LJMP WU3ZZP46:JC ZZP461 LJMP WU0ZZP461:LJMP WU1ZZP47:MOV A,36H CJNE A,#00H,ZZP51 LJMPWU3ZZP48:JC ZZP481 LJMP WU0ZZP481:LJMP WU1ZZP49:JC ZZP491 LJMP ZZP52ZZP491:LJMP WU4ZZP50:MOV A,36H CJNE A,#0FEH,ZZP53 LJMP WU1ZZP51:MOV A,36H CJNE A,#01H,ZZP54 LJMP WU2ZZP52:MOV A,36H CJNE A,#0FEH,ZZP55 LJMP WU2ZZP53:JC ZZP531 LJMP WU0ZZP531:LJMP WU2ZZP54:JC ZZP541 LJMP ZZP56ZZP541:LJMP WU2ZZP55:JC ZZP551 LCALLWU1ZZP551:LJMP WU3ZZP56:MOV A,36H CJNE A,#05H,ZZP57 LJMP WU0ZZP57:JC ZZP571 LJMP WU0ZZP571:LJMP WU1WU0:MOV T

注意事項(xiàng)

本文(基于PID控制算法的溫度控制系統(tǒng)的設(shè)計(jì)與仿真.doc)為本站會(huì)員(xin****828)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!