基于PID控制算法的溫度控制系統(tǒng)的設(shè)計與仿真之歐陽家百創(chuàng)編_第1頁
基于PID控制算法的溫度控制系統(tǒng)的設(shè)計與仿真之歐陽家百創(chuàng)編_第2頁
基于PID控制算法的溫度控制系統(tǒng)的設(shè)計與仿真之歐陽家百創(chuàng)編_第3頁
基于PID控制算法的溫度控制系統(tǒng)的設(shè)計與仿真之歐陽家百創(chuàng)編_第4頁
基于PID控制算法的溫度控制系統(tǒng)的設(shè)計與仿真之歐陽家百創(chuàng)編_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

歐陽家百創(chuàng)編歐陽家百創(chuàng)編歐陽家百創(chuàng)編摘要本設(shè)計是一種溫度控制系統(tǒng),溫度控制在工業(yè)生產(chǎn)和科學(xué)研究中具有重要意義。其控制系統(tǒng)屬于一階純滯后環(huán)節(jié),具有大慣性、純滯后、非線性等特點,導(dǎo)致傳統(tǒng)控制方式超調(diào)大、調(diào)節(jié)時間長、控制精度低。采用單片機進行爐溫控制,具有電路設(shè)計簡單、精度高、控制效果好等優(yōu)點,對提高生產(chǎn)效率、促進科技進步等具有重要的現(xiàn)實意義。PID控制法最為常見,控制輸出采用PWM波觸發(fā)可控硅來控制加熱通斷。使系統(tǒng)具有較高的測量精度和控制精度。單片機控制部分采用AT89S51單片機為核心,采用Keil軟件進行編程,同時采用分塊的模式,對整個系統(tǒng)的硬件設(shè)計進行分析,分別給出了系統(tǒng)的總體框圖、溫度檢測調(diào)理電路、A/D轉(zhuǎn)換接口電路,按鍵輸入電路以及顯示電路,并對相應(yīng)電路進行相關(guān)的闡述軟件采曲ID算法進行了建模和編程,在Proteus環(huán)境中進行了仿真。關(guān)鍵詞:PID;單片機;溫度控制;Keil;Proteus歐陽家百創(chuàng)編AbstractThisdesignisakindoftemperaturecontrolsystem,Thetemperaturecontrolinindustrialproductionandscientificresearchisofgreatsignificance.Belongstopurefirst-orderlaglink,thecontrolsystemhasthecharacteristicsofbiginertia,purelagandnonlinear,thetraditionalcontrolovershootandadjustmenttimeislong,lowcontrolprecision.Bysinglechipmicrocomputertemperaturecontrol,hassimplecircuitdesign,highaccuracyandgoodcontroleffect,toimprovetheproductionefficiency,promotetheprogressofscienceandtechnologyhasimportantpracticalsignificance.PIDcontrolisthemostcommon,thecontroloutputPWMwavetriggeringthyristorisusedtocontroltheheatingonandoff.Makethesystemhashighaccuracyofmeasurementandcontrolprecision.Single-chipmicrocomputercontrolpartadoptssinglechipmicrocomputerAT89S51asthecore,UsingKeilsoftwareprogramming,Usingblockpatternatthesametime,analyzesthehardwaredesignofthewholesystem,respectively,oftheoverallsystemblockdiagramisgiven,thetemperaturedetectioncircuit,A/Dconversioninterfacecircuit,keyinputcircuitanddisplaycircuit,andthecorrespondingcircuitarerelatedinthispaper,thesoftware,thePIDalgorithmisusedKeywords:Keywords:PID;Singlechipmicrocomputer;Thetemperaturecontrol;Keil;Proteus歐陽家百創(chuàng)編目錄1091234歐陽家百創(chuàng)編歐陽家百創(chuàng)編歐陽家百創(chuàng)編歐陽家百創(chuàng)編歐陽家百創(chuàng)編歐陽家百創(chuàng)編歐陽家百創(chuàng)編歐陽家百創(chuàng)編1緒論現(xiàn)代工業(yè)生產(chǎn)過程中,用于熱處理的加熱爐,需要消耗大量的電能,而且溫度控制是純滯后的一階大慣性環(huán)節(jié)?,F(xiàn)有企業(yè)多采用常規(guī)儀表加接觸器的斷續(xù)控制,隨著科技進步和生產(chǎn)的發(fā)展,這類設(shè)備對溫度的控制要求越來越高,除控溫精度外,對溫度上升速度及下降速度也提出了可控要求,顯而易見常規(guī)控制難于滿足這些工藝要求。隨著微電子技術(shù)的發(fā)展,采用功能強、體積小、價格低的智能化溫度控制裝置控制加熱爐已成為現(xiàn)實。采用單片機來對溫度進行控制不僅具有控制方便、簡單靈活性等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量,比過去單純采用電子線路進行山調(diào)節(jié)的控制效果要好的多。微機控制系統(tǒng)的快速計算、靈活多樣的邏輯判斷和高效的信息加工能力使自動控制進入了更高一級的領(lǐng)域,提高了生產(chǎn)過程的自動化程度,減少了人工干預(yù),并不斷地完善和滿足工農(nóng)業(yè)生產(chǎn)和國防科技日益增長的需要。微機控制系統(tǒng)由于具有成本低、體積小、功耗小、可靠性高和使用靈活等特點,因而廣泛的應(yīng)用于工農(nóng)業(yè)生產(chǎn)、交通運輸、國防建設(shè)和空間技術(shù)等各個領(lǐng)域。其控制對象已從單一的工廠流程擴展到企業(yè)生產(chǎn)過程的管理和控制。隨著微機和單片機的推廣使用,實現(xiàn)信息自動化與過程控制相結(jié)合的分級分布式計算機控制,使計算機控制技術(shù)的水平發(fā)展到一個嶄新的階段?,F(xiàn)在,許多常規(guī)的控制儀表和調(diào)節(jié)器已經(jīng)為計算機所取代。計算機不斷地監(jiān)視整個生產(chǎn)過程,對生產(chǎn)中的各個參數(shù)進行采樣,迅速進行復(fù)雜的數(shù)據(jù)處理,打印和顯示工藝過程的統(tǒng)計數(shù)字和參數(shù),并發(fā)出各種控制命令。溫度控制是工業(yè)生產(chǎn)過程中經(jīng)常遇到的過程控制,有些工藝過程對其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計一種較為理想的溫度控制系統(tǒng)是非常有價值的。2設(shè)計方案在溫度測量控制系統(tǒng)中,實際溫度值由PT100恒流工作調(diào)理電路進行測量。為了克服PT100線性度不好的缺點,在信號調(diào)理電路中加入負反饋非線性校正網(wǎng)絡(luò);調(diào)理電路的輸出電壓經(jīng)ADC0808轉(zhuǎn)換后送入單片機AT89S51;對采樣數(shù)據(jù)進行濾波及標(biāo)定處理后,由3位7段數(shù)碼管顯示。輸入的設(shè)定值由4位獨立按鍵電路進行設(shè)定,可分別對設(shè)定值的十位和個位進行加1、減1操作。設(shè)定值送入單片機后,由另外一組3位7段數(shù)碼管顯示。數(shù)碼管的段碼由74HC05驅(qū)動,位碼由三極管2N2222A驅(qū)動。為了使兩組數(shù)碼管實時顯示,對兩組數(shù)碼管進行動態(tài)掃描。整體的電路原理框圖如圖1-1所示。按鍵輸入+單片機*控制信號輸出?按鍵輸入+單片機*控制信號輸出?固態(tài)繼電器*控制對象信號放大調(diào)理電路AQ轉(zhuǎn)投電3各一溫度傳感器圖1-1整體電路原理框圖系統(tǒng)采用PID閉環(huán)控制方案。如圖1-2所示,將預(yù)置初值與溫度傳感器反饋信號比較得到偏差⑹進行PID運算處理得到控制量(u),通過此量來控制加熱器的加熱時間,從而控制加熱功率。由于水本身具有很大的熱慣性,所以必須對水溫的變化趨勢作出預(yù)測,并且根據(jù)需要及時反方向抑制,以防止出現(xiàn)較大的超調(diào)量的波動。在PID控制中,積分環(huán)節(jié)(I)具有很強的滯后效應(yīng),而微分環(huán)節(jié)(D)具有預(yù)見性,所以該方案最終采用PD算法,能夠很好的控制超調(diào),并且穩(wěn)態(tài)誤差也很小。圖1-2系統(tǒng)控制方案傳感器反饋*被控又攝圖1-2系統(tǒng)控制方案傳感器反饋*被控又攝執(zhí)行部件FD運算3系統(tǒng)硬件仿真電路3.1溫度測量調(diào)理電路圖3-1溫度測量調(diào)理電路本系統(tǒng)采用恒流工作調(diào)理電路,鉑電阻選用標(biāo)稱值為100Q的PT100作為溫度傳感器。A1、A2、A3采用低漂移運放OP07C,由于有電流經(jīng)PT100傳感器,所以當(dāng)溫度為0℃時,在PT100傳感器上有電壓降,這個電壓為PT100傳感器的偏置電壓,是運放A1輸出電壓的一部分,使恒流工作調(diào)理電路的輸出實際不為零。所以需要對這個偏置電壓調(diào)零,R3為調(diào)零電阻,其作用為當(dāng)溫度為0℃時,將恒流工作調(diào)理電路的輸出調(diào)到零。又因為PT100的電阻特性為非線性,PT100在0至U100℃變化范圍內(nèi)非線性誤差為0.4%(0.4℃),由于本系統(tǒng)無小數(shù)顯示,0.4℃的誤差本身不會對A/D量化和數(shù)碼管顯示造成影響,但由于軟件編制中,對標(biāo)度變化程序中的變換系數(shù)做了近似處理,使得非線性誤差接近0.79%(0.79℃),就有可能對A/D量化和數(shù)碼管顯示造成影響,所以加進了線性化電路,運放A3及電阻R1、R4和R6一同構(gòu)成了負反饋非線性校正網(wǎng)絡(luò)。R5用于調(diào)整運放A2的增益。電路的調(diào)整方法如下(用普通電阻代替PT100進行調(diào)整):(1)接入相當(dāng)于0℃的100Q的電阻,用于R3調(diào)零。(2)接入相當(dāng)于50℃的119.70^的電阻,用于R5調(diào)整增益。(3)接入相當(dāng)于100℃的139.10Q的電阻,用于R1或R4調(diào)整線性。反復(fù)調(diào)整多次,在0到100℃溫度范圍內(nèi)適宜為止。以溫度值為橫坐標(biāo),電壓值為縱坐標(biāo),由表3-1分析非線性誤差可知:在50℃時,存在最大偏差為0.005℃,故非線性校正后非線性誤差變?yōu)?.1%(0.1℃),A/D量化及數(shù)碼管顯示不會產(chǎn)生誤操作。表3-1顯示對照表理想溫度值0102030405060708090100對應(yīng)電阻值100103.9107.9111.8115.7119.7123.9127.4131.3135.2139.1實際輸出電壓0.0020.5021.0041.5022.0042.5053.0013.5024.0014.4984.996顯示溫度值0102030405060708090100注釋1;溫度單位/℃;電阻值單位/Q;電壓單位/V。A/D轉(zhuǎn)換電路本系統(tǒng)采用5V的電壓源,用PT100電阻傳感器組成的信號調(diào)理電路作為信號的輸入裝置,當(dāng)PT100傳感器置于溫度場時,調(diào)理電路將根據(jù)PT100的阻值輸出相應(yīng)的電壓值。將該輸出電壓送到ADC0808的模擬量輸入通道IN0,經(jīng)ADC0808進行模數(shù)轉(zhuǎn)換,將標(biāo)準(zhǔn)的模擬信號轉(zhuǎn)換為等價的數(shù)字信號。本設(shè)計選用IN0作為模擬量輸入通道,則將ADC0808的A、B、C三條地址線均置為低電平。轉(zhuǎn)換啟動信號START接到AT89S51的P2.0口,轉(zhuǎn)換結(jié)束狀態(tài)信號EOC接P3.7口,輸出允許信號OE接P3.6口,地址鎖存允許信號ALE接P3.3口,由于ADC0808內(nèi)部沒有時鐘電路,所以用AT89S51的ALE經(jīng)二分頻接ADC0808的CLK端,VREF-接地,VREF+接+5V電壓。ADC0808的轉(zhuǎn)換結(jié)果輸出到AT89S51的P0.0到P0.7口,作為AT89S51的輸入信號。A/D轉(zhuǎn)換接口電路如圖3-2所示。

j:::7T?L1panaHi4]pn.ii'HiiiPUWH口工:-:T?12pna-HM陌.網(wǎng)”pni'.HMpa.a-.AMR!=Tpn.vr.Hii?FS.IiWP2SACj:::7T?L1panaHi4]pn.ii'HiiiPUWH口工:-:T?12pna-HM陌.網(wǎng)”pni'.HMpa.a-.AMR!=Tpn.vr.Hii?FS.IiWP2SACP>=:9PSiAHALEPS.+i'AE目.PSjJACP2.i'A1+PN7次Kp1Q11mplKDPiipj[EQp12PlJ/NILIp13pj1nthp1jl.pi4/nip運P3ST1piap17P^.TiTO-s3-<一遑i-<=s=ff1D111213UFFF吟口叫加STOTT[:= U2ILl.i!:LC-i::k上一&ThFTr3132ll£

pppA-4>oEijUTiY6UT2t0UT3-:GUT,-:OUTF-;0UTC-:0UT?-;0im-:0E[>cTippT+TElE,TTlH

HUUUUUUUU

BododooooINDIN1I股IN3IN?IHIHEIN7-HEIDQ.H[?DCALEVP.EFWVP.EFC-)11例卬<一1一「宣±圖3-2A/D轉(zhuǎn)換接口電路按鍵輸入電路本系統(tǒng)采用4個按鍵搭建鍵盤電路,如圖3-3所示。第一個按鍵用來判斷是轉(zhuǎn)入控制處理程序運行,還是轉(zhuǎn)入鍵盤處理子程序運行;若未按下則轉(zhuǎn)入控制處理子程序運行,按下則轉(zhuǎn)入鍵盤處理子程序運行;若第一個按鍵按下,則第二個按鍵開始起作用,用第二個按鍵來判斷是十位進行加減操作。若第二個按鍵未按下,轉(zhuǎn)十位進行加減操作,否則轉(zhuǎn)個位進行加減操作;第三個按鍵為減一操作,第四個按鍵為加一操作。為了方便按鍵操作,將個位和十位的設(shè)定值均設(shè)置為5,如果加一操作結(jié)果等于11,給加一單元重新賦值5,如果減一操作結(jié)果等于0FFH,給減一單元重新賦值5。這樣考慮最壞情況,即用鍵盤設(shè)置離初始設(shè)定值最遠的值,第三個按鍵最多按5次,第四個按鍵最多按5次。從而大大減少了按鍵次數(shù),且更方便地給出設(shè)定值。第一個鍵和第二個鍵的加入,也充分考慮了總程序的整體調(diào)度。

U1怕>XTAL1PO.O/ADOXTAL2RSTFSENALEEAU1怕>XTAL1PO.O/ADOXTAL2RSTFSENALEEAF11.0FTdF11.2F11.3P-1.4PO.VAC'1P0.2MD2F,0.3;AD3PU.4/AD4PU.5/AD5PO.CWC'BPU.77AD7F2.0/A8P2.1/A9F2.2/A1QP2.3XAHP2.4-A12P2.6XA14P2.7XA15F3.0/RXDF3.-I/TXDF3.2/INTUF3.3/INT1P3.4^TOF11.5P3.5fT1F-1.6P11.7P3.6JWRP3.7/RD189-1工3三~0~ATS9C51<TEXT>29ST-匯圖3-3按鍵輸入電路數(shù)碼管顯示電路顯示電路采用兩個4位LED顯示數(shù)碼管,共陰極接法。第一個數(shù)碼管顯示A/D轉(zhuǎn)換數(shù)據(jù)采集的采樣值,選用3位顯示采樣值,顯示范圍為0到100;第二個數(shù)碼管顯示由鍵盤輸入的設(shè)定值,用于顯示對系統(tǒng)的溫度設(shè)定,也選用3位顯示設(shè)定值,顯示范圍為0到100。由于LED顯示電路較多選用動態(tài)掃描方式,為了實現(xiàn)LED顯示器的動態(tài)掃描,除了要給顯示器提供段的輸入外,還要對顯示器的位進行控制,即段控和位控。所以需要用P1口輸出8條段控線;位控線由挑選的P2.1、P2.2、P2.3、P3.0、P3.1和P3.2輸出,其中P2.1、P2.2和P2.3用于驅(qū)動鍵盤輸入的設(shè)定值和數(shù)碼管位控線,其余用于驅(qū)動顯示A/D轉(zhuǎn)換數(shù)碼管的數(shù)據(jù)碼位控線,位控線的數(shù)目等于數(shù)碼管顯示的位數(shù)。P1接口最多可連接8個LED顯示器。為提高顯示亮度,通常加74HC05進行段控輸出驅(qū)動,與7段數(shù)碼管的段碼驅(qū)動輸入端相連,由于位控的驅(qū)動電流較大,8段全亮需40到60mA,所以用三極管9012提高驅(qū)動能力,其集電極接到7段數(shù)碼管的位碼驅(qū)動輸入端,三極管的發(fā)射極接地,將AT89S51的P3.0、P3.1、P3.2分別與一個2kQ的電阻連接到三極管的基極,用于驅(qū)動采樣值

顯示數(shù)碼管,將AT89S51的P2.0、P2.1和P2.2口分別與一個2kQ的電阻連接到三極管的基極,用于驅(qū)動設(shè)定值顯示數(shù)碼管。顯示電路如圖3-4所示。圖3-4顯示電路溫度控制電路系統(tǒng)的電阻絲和風(fēng)扇均采用如圖3-5所示的電路形式。此電路采用晶體管驅(qū)動固態(tài)繼電器。當(dāng)P3.4為低電平,繼電器RL1吸合;當(dāng)P3.4或P3.5為高電平時,繼電器RL1釋放。采用這種控制邏輯可以使繼電器在上電復(fù)位或單片機復(fù)位時不吸合。繼電器由晶體管2N2222A驅(qū)動,它可以提供所需的驅(qū)動電流。圖3-5繼電器控制電路PT100溫度測控系統(tǒng)的完整電路如圖3-6所示。圖3-6溫度測控系統(tǒng)電路圖圖3-6溫度測控系統(tǒng)電路圖4程序設(shè)計程序整體設(shè)計程序的控制思想:設(shè)置目標(biāo)溫度后,系統(tǒng)采樣水溫,并通過預(yù)設(shè)溫度、當(dāng)前溫度、歷史偏差等進行PID運算產(chǎn)生f輸出參數(shù),通過該參數(shù)控制加熱時間,從而調(diào)節(jié)加熱器的平均功率,實現(xiàn)系統(tǒng)的PID控制。整體功能通過主程序和中斷服務(wù)程序配合實現(xiàn)。主程序流程:系統(tǒng)首先初始化I/O、定時器,之后進入主循環(huán),進行溫度采樣和相關(guān)處理。在系統(tǒng)運行過程中通過按鍵重新設(shè)置目標(biāo)溫度值。\PT100溫度測控系統(tǒng)的主程序流程圖如圖4-1所示。

XI按下* 按鍵處理誤差變化率處理獺據(jù)采集誤差處理賦初值啟動AD數(shù)字濾波控制維電器數(shù)據(jù)采集溫度標(biāo)定XI按下* 按鍵處理誤差變化率處理獺據(jù)采集誤差處理賦初值啟動AD數(shù)字濾波控制維電器數(shù)據(jù)采集溫度標(biāo)定溫度變化圖4-1溫度測控系統(tǒng)主程序子程序設(shè)計1.PID控制的實現(xiàn)Integral(1)PID簡介。PID(Proportional

IntegralDerivative)控制是控制工程中技術(shù)成熟、應(yīng)用廣泛的一種控制策略,經(jīng)過長期的工程實踐,已形成了一套完整的控制算法和典型的結(jié)構(gòu)。它不僅適用于數(shù)學(xué)模型已知的控制系統(tǒng),而且對于大多數(shù)數(shù)學(xué)模型難以確定的工業(yè)過程也可以應(yīng)用,在眾多工業(yè)過程控制中取得了滿意的應(yīng)用效果。(2)PID工作原理。由于來自外界的各種擾動不斷產(chǎn)生,要想達到現(xiàn)場控制對象值保持恒定的目的控制作用就必須不斷地進行。若擾動出現(xiàn)使得現(xiàn)場控制對象(以下簡稱被控參數(shù))發(fā)生變化,現(xiàn)場檢測元件就會將這種變化采集后經(jīng)變送器送到PID控制器的輸入端,并與其給定值(以下簡稱SP值)進行比較得到偏差值(以下簡稱e值),調(diào)節(jié)器按此偏差并以預(yù)先設(shè)定的整定參數(shù)控制規(guī)律發(fā)出控制信號,去改變調(diào)節(jié)器的開度,使調(diào)節(jié)器的開度增加或減小,從而使現(xiàn)場控制對象值發(fā)生改變,并趨向于給定值(SP值),以達到控制的目的,如圖4-2所示。其實PID的實質(zhì)就是對偏差(e)值進行比例、積分、微分運算,根據(jù)運算結(jié)果控制執(zhí)行部件的過程。阿(I)筋(D)圖阿(I)筋(D)圖4-2模擬PID控制系統(tǒng)原理圖執(zhí)行部件PID控制器的控制規(guī)律可以描述為:|Ll(t)=pe(|Ll(t)=pe(t)dt+Tde(t)dt+L0(4-1)比例(P)控制能迅速反應(yīng)誤差,從而減小穩(wěn)態(tài)誤差。但是,比例控制不能消除穩(wěn)態(tài)誤差。比例放大系數(shù)的放大,會引起系統(tǒng)的不穩(wěn)定。積分(I)控制的作用是:只要系統(tǒng)有誤差存在,積分控制器就不斷的積累,輸出控制量,以消除誤差。因而,只要有足夠的時間,積分控制就能完全消除誤差,使系統(tǒng)誤差為零,從而消除穩(wěn)態(tài)誤差。積分作用太強會使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)震蕩。微分(D)控制可以減小超調(diào)量,克服振蕩,使系統(tǒng)的穩(wěn)定性提高,同時加快系統(tǒng)的動態(tài)響應(yīng)速度,減小調(diào)整時間,從而改善系統(tǒng)的動態(tài)性能。根據(jù)不同被控對象的控制特性,又可以分為P、PI、PD、PID等不同的控制模型。(3)數(shù)字PID的實現(xiàn)。在連續(xù)時間控制系統(tǒng)(模擬PID控制系統(tǒng))中,PID控制器的應(yīng)用非常廣泛。其設(shè)計技術(shù)成熟,長期以來形成了典型的結(jié)構(gòu),參數(shù)整定

方便,結(jié)構(gòu)更改靈活,能滿足一般的控制要求。隨著計算機的快速發(fā)展,人們將計算機引入到PID控制領(lǐng)域,也就出現(xiàn)了數(shù)字式PID控制。由于計算機基于采樣控制理論,計算方法也不能沿襲傳統(tǒng)的模擬PID控制算法,所以必須將控制模型離散化。離散化的方法為:以T為采樣周期,k為采樣序號,用求和的形式代替積分,用增量的形式(求差)代替微分,這樣就可以將連續(xù)的PID計算公式離散:t六kT(k=0,1,2)Jte(t)x0£e(jj=0)=£e(j)j=0(4-2)de(t)e(kT)-e[(k-1)T] X dt式中(Jte(t)x0£e(jj=0)=£e(j)j=0(4-2)de(t)e(kT)-e[(k-1)T] X dt式中(4-1)T就可以離散為:e-e—k~k-1T或者:日二KkpT^+乙TIj=0Te+t(e-e)jTkk-1+R0(4-3)|LX=K

ke+KEe+K(e-e)+^pkIjDkk-1 0j=0(4-4)這樣就可以讓計算機或單片機通過采樣的方式實現(xiàn)PID控制。具體的PID控制又分為位置式PID控制和增量式PID控制,(4-4)給出了控制量的全部大小,所以稱為全量式或位置式控制。如果計算機只對相鄰的兩次做計算,只考慮在前一次基礎(chǔ)上計算機輸出量的大小變化,而不是全部輸出信息的計算這種控制叫做增量式百口控制算法,其實質(zhì)就是求ARk的大小。而kk-1所示將式(4-4)作自減變換有:Ar=r-rkkk-1=Kpe-ekk-1T

+—eTkIT+f(e-e+e)Tkk-1 k-2(4-5)(T

=K1+—+ITiTTr(2T\e-K1+—kpe+Kk-1pTDeTk-2=Ae+Be+Cekk-1 k-2式中:(TA=K1+—+(TA=K1+—+ITi(2T\B=-K1+一pIT)TC=KdpT2.溫度控制PID算法設(shè)計本系統(tǒng)利用上面所介紹的位置式PID算法,將溫度傳感器采樣輸入作為當(dāng)前輸入,與設(shè)定值進行相減得到偏差ek,然后再對其進行PID運算產(chǎn)生輸出結(jié)果f而,最后讓f向控制繼電器的時間進而控制加熱器。為了方便PID運算,首先建立一個PID的結(jié)構(gòu)體數(shù)據(jù)類型。該數(shù)據(jù)類型用于保護PID運算所需要的P、I、D系數(shù),以及設(shè)定值、歷史誤差的累加和等信息。TypedefstructPID{floatSetPoint;floatProportion;floatIntegral;floatDerivative;intLastError;IntSumError;}PID;PIDstPID;下面是PID運算的算法程序,通過PID運算返回f向,fout的值決定是否加熱、加熱時間是多少。PID運算的實現(xiàn)代碼如下:FloatPIDCalc(PID*pp,intNextPoint){IntdError,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);}在實際運算時,由于水具有很大的熱慣性,而且PID運算中的1(積分項)具有非常明顯的延遲效應(yīng),不能保留,所以必須把積分項去掉。相反,D(微分項)有很強的預(yù)見性,能夠加快反應(yīng)速度,抑制超調(diào)量,因此微分作用應(yīng)該適當(dāng)加強才能達到較佳的控制效果,系統(tǒng)最終選擇PD控制方案。下面是PD控制的實現(xiàn)過程:FloatPIDCalc(PID*pp,intNextPoint)IntdError,Error;Error=pp-〉SetPoint*10-NextPoint;dError=Error-pp-〉LastError;pp-〉PrevError=pp-〉LastError;pp-〉LastError=Errorreturn(pp-〉Proportion*Error-pp-〉Derivative*dError);3.溫度控制的實現(xiàn)通過溫度的PID運算,產(chǎn)生結(jié)果fmin,該參數(shù)決定是否加熱。加熱時間多長。stPID.Proportion=2;stPID.Integral=0;stPID.Derivative=5;fOut=PIDCalc(&stPID,(int)(fT*10));if(fOut〈=0)*p_IOA_Buffer&=0xff7f;Else*p_IOA_Buffer=0x0080;加熱時間由主函數(shù)計算。主程序中通過PIDCalc函數(shù)得到fmin參數(shù)。若該參數(shù)大于零,則開啟加熱器。如果PIDCalc計算結(jié)果比較大說明離目標(biāo)溫度相差較大,則加熱時間比較長;如果計算結(jié)果比較小,說明離目標(biāo)溫度相差較小,加熱時間相對較短。.PID參數(shù)的整定由PID控制原理知:比例(P)控制能迅速反映誤差,減小穩(wěn)態(tài)誤差;比例作用的加大會引起系統(tǒng)的穩(wěn)定。積分(1)控制的作用,只要系統(tǒng)有偏差存在,積分作用就不斷地積累,輸出控制量以消除誤差;積分作用太強會使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)震蕩。微分(D)控制可以減小超調(diào)量,克服震蕩,使系統(tǒng)的穩(wěn)

定性提高。同時加快系統(tǒng)的動態(tài)響應(yīng)速度,減小調(diào)整時間,從而改善系統(tǒng)的動態(tài)性能??刂频哪繕?biāo)就是:反應(yīng)速度盡可能快,超調(diào)量盡可能小,穩(wěn)態(tài)誤差趨近于零。.A/D轉(zhuǎn)換子程序先送地址鎖存允許信號ALE一個上升沿,是A.B.C地址狀態(tài)送入地址鎖存器中,然后送START一個上升沿是內(nèi)部寄存器清0,再給其一個下降沿,開始進行A/D轉(zhuǎn)換。之后判斷轉(zhuǎn)換結(jié)束狀態(tài)信號EOC是否為1,為0則繼續(xù)等待轉(zhuǎn)換,為1則將轉(zhuǎn)換好的數(shù)字量經(jīng)ADC0808的8個數(shù)據(jù)輸出端D0~D7送到AT89S51的P0口。轉(zhuǎn)換流程圖如圖4-3所示。圖4-3A/D圖4-3A/D轉(zhuǎn)換子程序流程圖.鍵盤處理子程序按鍵處理子程序流程圖如圖4-4所示。.溫度標(biāo)定轉(zhuǎn)換模塊控制系統(tǒng)在讀入被測模擬信號并轉(zhuǎn)換成數(shù)字量后,需要轉(zhuǎn)換成人們所熟悉的物理量,這種轉(zhuǎn)換就是標(biāo)度變換。線性標(biāo)度變換公式為:Y=(Ymax-YminY=(Ymax-Ymin)(X-Nmin)/(Nmax-Nmin)+Ymin式中,Y為參數(shù)測量值;Ymax為測量范圍最大值;Ymin為測量范圍最小值;Nmin為對應(yīng)的A/D轉(zhuǎn)換值;Nmin為Ymin對應(yīng)的A/D轉(zhuǎn)換值;X為測量值Y對應(yīng)的A/D轉(zhuǎn)換值。本系統(tǒng)中,Ymin=0℃,Ymax=100℃,,『0,^_=255,則Y=(100-0)(X-0)/(255-0)+0=a1X+a0式中,a1=0.39,a0=0。由于x的系數(shù)為小數(shù),在單片機中編制像0.39這樣的小數(shù)的乘法程序很難實現(xiàn),如果將其取近似值0.4,則乘以最大A/D轉(zhuǎn)換值后,會產(chǎn)生0.01*255=2.55的誤差。所以設(shè)線性系數(shù)為a1,最終轉(zhuǎn)化的結(jié)果為100,通過丐=100*256/255=100.39可確定系數(shù)。是四舍五入取100時,顯示最高只能顯示99,所以選用101。.顯示子程序顯示模塊的功能為:使第1個數(shù)碼管顯示A/D轉(zhuǎn)換數(shù)據(jù)采集的采樣值,而第2個數(shù)碼管顯示由按鍵輸入的設(shè)定值,用于顯示對系統(tǒng)的溫度設(shè)定,在整個系統(tǒng)進行測控的過程中,兩個數(shù)碼管同時顯示,顯示程序中采樣值顯示采用了常規(guī)的顯示程序,不再贅述。這里只談編寫顯示程序中鍵盤顯示時主要注意的一點。由于最后生成的設(shè)定值是有十位或個位的加一和十位或個位的減一鍵輸入,須嚴格區(qū)分才可以編制其顯示程序,此處采用的方法是將個位的加一、減一鍵輸入的值存放在28H,而十位的加一、減一鍵輸入的值存放在34H,然后驅(qū)動不同的位碼即可正常顯示。流程圖如圖4-5所示。圖4-4按鍵處理子程序流程圖I〈J

二進制轉(zhuǎn)換為十進制送AD采篋百位顯示延時送A/D采集十位顯示延時送AD采篋個位顯示延時送鍵盤處理百位數(shù)顯示延時送鍵盤處理十位氮顯示延時送鍵盤處理個位數(shù)顯示延時(蠢)圖4-5顯示處理子程序流程圖4.3源程序設(shè)計ORG0000HJMPSTARTORG0040HSTART:LCALLZHUANHUANTOC\o"1-5"\h\zSETB P3.0SETB P3.1SETB P3.2SETB P2.0SETB P2.1SETB P2.2LCALLDELAY1MOV34H,#05MOV35H,#05MOV28H,#05MOV29H,#05LLL:LCALLZHUANHUANMOV31H,ALCALLDELAY4LCALLZHUANHUANMOV32H,ALCALLDELAY4LCALLZHUANHUANMOV33H,ALCALLFILTERLCALLCHNTERLCALLSHOWJBP2.4,KONGZHI1KEY0:JBP2.4,LLLLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4KEY1:JBP2.5,KEY51LCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4KEY2:JBP2.7,KEY3LCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWDEC34HMOVA,34HMOV35H,34HCJNEA,#0FFH,KEY22MOV34H,#05HLCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4KEY22:LCALLZHUANHUANLCALLCHNTERLCALLSHOWAJMPKEY2KONGZHI1:LJMPKONGZHIKEY51:LJMPKEY5KEY3:JBP2.6,KEY02LCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4INC35HMOVA,35HMOV34H,35HLCALLDELAY4CJNEA,#0AH,KEY33LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4MOV35H,#04LCALLDELAY4KEY33:LCALLZHUANHUANLCALLCHNTERLCALLSHOWAJMPKEY3KEY02:LJMPKEY0KEY5:JBP2.7,KEY6LCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWDEC28HMOVA,28HMOV29H,28HCJNEA,#0FFH,KEY55MOV28H,#05LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4KEY55:LCALLZHUANHUANLCALLCHNTERLCALLSHOWAJMPKEY5KEY6:JBP2.6,KEY01LCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALL SHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4INC29HMOVA,29HMOV28H,29HLCALLDELAY4CJNEA,#9,KEY66MOV29H,#04LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4LCALLZHUANHUANLCALLCHNTERLCALLSHOWLCALLDELAY4KEY66:LCALLZHUANHUANLCALLCHNTERLCALLSHOWAJMPKEY6KEY01:LJMPKEY0KONGZHI:LCALLZHUANHUANLCALLCHNTERLCALLWUCHAMOVA,2EHMOV39H,ALCALLMULT1LCALLDELAY1LCALLDELAY1L

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論