基于模糊PID算法的電阻爐溫度控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
引言
電加熱爐是典型工業(yè)過程控制對(duì)象,其溫度控制具有升溫單向性,大慣性,純滯后,時(shí)變性等特點(diǎn),很難用數(shù)學(xué)方法建立精確的模型和確定參數(shù)。而PID控制因其成熟,容易實(shí)現(xiàn),并具有可消除穩(wěn)態(tài)誤差的優(yōu)點(diǎn),在大多數(shù)情況下可以滿足系統(tǒng)性能要求,但其性能取決于參數(shù)的整定情況。且快速性和超調(diào)量之間存在矛盾,使其不一定滿足快速升溫、超調(diào)小的技術(shù)要求。模糊控制在快速性和保持較小的超調(diào)量方面有著自身的優(yōu)勢(shì),但其理論并不完善,算法復(fù)雜,控制過程會(huì)存在穩(wěn)態(tài)誤差。
將模糊控制算法引入傳統(tǒng)的加熱爐控制系統(tǒng)構(gòu)成智能模糊控制系統(tǒng),利用模糊控制規(guī)則自適應(yīng)在線修改PID參數(shù),構(gòu)成模糊自整定:PID控制系統(tǒng),借此提高其控制效果。基于PID控制算法,以ADuC845單片機(jī)為主體,構(gòu)成一個(gè)能處理較復(fù)雜數(shù)據(jù)和控制功能的智能控制器,使其既可作為獨(dú)立的單片機(jī)控制系統(tǒng),又可與微機(jī)配合構(gòu)成兩級(jí)控制系統(tǒng)。該控制器控制精度高,具有較高的靈活性和可靠性。
2溫度控制系統(tǒng)硬件設(shè)計(jì)
該系統(tǒng)設(shè)計(jì)的硬件設(shè)計(jì)主要由單片機(jī)主控、前向通道、后向通道、人機(jī)接口和接口擴(kuò)展等模塊組成,如圖l所示。由圖1可見,以內(nèi)含C52兼容單片機(jī)的ADuC845為控制核心.配有640KB的非易失RAM數(shù)據(jù)存儲(chǔ)器、外擴(kuò)鍵盤輸人、320x240點(diǎn)陣的圖形液晶顯示器進(jìn)行漢字、圖形、曲線和數(shù)據(jù)顯示,超溫報(bào)警裝置等外圍電路;預(yù)留微型打印機(jī)接口,可以現(xiàn)場(chǎng)打印輸出結(jié)果;預(yù)留RS232接口,能和PC機(jī)聯(lián)機(jī),將現(xiàn)場(chǎng)檢測(cè)的數(shù)據(jù)傳輸至PC機(jī)來進(jìn)一步處理、顯示、打印和存檔。
電阻爐的溫度先由熱電偶溫度傳感器檢測(cè)并轉(zhuǎn)換成微弱的電壓信號(hào),溫度變送器將此弱信號(hào)進(jìn)行非線性校正及電壓放大后,由單片機(jī)內(nèi)部A/D轉(zhuǎn)換器將其轉(zhuǎn)換成數(shù)字量。此數(shù)字量經(jīng)數(shù)字濾波、誤差校正、標(biāo)度變換、線性擬合、查表等處理后。一方面將爐窯溫度經(jīng)人機(jī)面板上的LCD顯示:另一方面將該溫度值與被控制值(由鍵盤輸入的設(shè)定溫度值)比較,根據(jù)其偏差值的大小,提供給控制算法進(jìn)行運(yùn)算,最后輸出移相控制脈沖,放大后觸發(fā)可控硅導(dǎo)通(即控制電阻爐平均功率)。達(dá)到控制電爐溫度的目的。如果實(shí)際測(cè)得的溫度值超過了該系統(tǒng)所要求的溫度范圍,單片機(jī)就向報(bào)警裝置發(fā)出指令,系統(tǒng)進(jìn)行報(bào)警。
2.1系統(tǒng)主控模塊
系統(tǒng)主控模塊電路如圖2所示,它主要由CPU及數(shù)據(jù)存儲(chǔ)器,晶體振蕩器、復(fù)位電路、圖形液晶顯示器(LCD)及控制電路、微型打印機(jī)接口控制電路、實(shí)時(shí)日歷時(shí)鐘,熱電偶信號(hào)處理電路等構(gòu)成。這里,該系統(tǒng)設(shè)計(jì)可測(cè)量3點(diǎn)溫度。傳感器選擇K型(鎳鉻-鎳硅)熱電偶,可用于從室溫到1200°C的溫度測(cè)量,測(cè)量范圍寬,精度高。在溫度測(cè)量范圍內(nèi)K型熱電偶的輸出熱電勢(shì)只有0~45.119mV,為了和ADuC845的A/D轉(zhuǎn)換器相匹配,采用ACl226和1B51作為信號(hào)調(diào)理電路,由AC1226、1B51構(gòu)成熱電偶冷端溫度補(bǔ)償及信號(hào)調(diào)理器電路。當(dāng)熱端距測(cè)溫儀表較遠(yuǎn)時(shí),需利用熱電偶匹配導(dǎo)線將冷端延長。CD4051為多路模擬開關(guān),由ABC控制接通,當(dāng)5~3接通時(shí),輸入接地,UO輸出UOmin,用于零點(diǎn)校準(zhǔn);當(dāng)4~3接通時(shí),單片機(jī)1.25V穩(wěn)定參考電壓Uref,再經(jīng)電阻R1、R2分壓,得到毫伏級(jí)參考輸入電壓,UO輸出UOmax,用于增益校準(zhǔn);當(dāng)2~3、1~3、12~3分別分時(shí)接通時(shí),依次輸入3個(gè)熱電偶正常測(cè)溫所得變換電壓,UO從而輸出3個(gè)溫度點(diǎn)所對(duì)應(yīng)的電壓UOA,UOB,UOC。在HI端與+UISO端之間串上一只220MΩ上拉電阻,一旦熱電偶開路,HI端即被偏置為+UISO,迫使1B51的輸出電壓超量程,由此判定熱電偶已開路。多路模擬開關(guān)和測(cè)量數(shù)據(jù)采集過程在單片機(jī)協(xié)調(diào)下工作,每次數(shù)據(jù)采集都進(jìn)行自動(dòng)判斷和校準(zhǔn)閣。
2.2控制輸出驅(qū)動(dòng)電路
對(duì)溫度的控制是通過可控硅調(diào)功器電路實(shí)現(xiàn),如圖3所示。雙向可控硅管和硅碳棒串接在交流220V、50Hz交流市電回路中,圖3中只給出了A相。移相觸發(fā)脈沖由ADuC845用軟件在P1.3引腳上產(chǎn)生的,零同步脈沖同步后,經(jīng)光耦合管和驅(qū)動(dòng)器輸出送到可控硅的控制極。過零同步脈沖由過零觸發(fā)電路產(chǎn)生,利用同步變壓器和電壓比較器LM311組成正弦交流電的正半波過零檢測(cè)電路,它在交流電每一個(gè)正半周的起始零點(diǎn)處產(chǎn)生上升沿.并在正半周回零處產(chǎn)生一個(gè)下降沿,電壓比較器LM311用于把50Hz正弦交流電壓變成方波。方波的正邊沿和負(fù)邊沿分別作為兩個(gè)單穩(wěn)態(tài)觸發(fā)器的輸入觸發(fā)信號(hào),單穩(wěn)態(tài)觸發(fā)器輸出的2個(gè)窄脈沖經(jīng)二極管或門混合后通過可重復(fù)觸發(fā)集成單穩(wěn)態(tài)觸發(fā)器MC14528,單穩(wěn)態(tài)輸出的兩路窄脈沖再疊加,就可得到對(duì)應(yīng)于交流市電的100Hz過零同步脈沖。脈沖寬度可由MC14528的外接電阻R4和外接電容C1、C2調(diào)節(jié)。此脈沖加到ADUC845的TO作為計(jì)數(shù)脈沖和INT1中斷口觸發(fā)INT1中斷。可控硅的過流、過壓保護(hù)采用一般阻容保護(hù)電路。R5是觸發(fā)器輸出限流電阻,R3用以消除漏電流,防止KP150的誤觸發(fā)。
3溫度控制系統(tǒng)軟件設(shè)計(jì)
3.1主程序及其功能
軟件設(shè)計(jì)采用模塊化設(shè)計(jì)原則??刂瞥绦蛑饕蓽y(cè)量采樣操作,溫度參數(shù)設(shè)置界面的顯示,操作按鍵的管理,測(cè)量過程,數(shù)據(jù)算法處理,輸出控制的處理及測(cè)量結(jié)果顯示等模塊組成。主模塊是為其他模塊構(gòu)建整體框架及初始化工作。調(diào)用運(yùn)算和顯示構(gòu)成一個(gè)無限循環(huán)圈,溫控的所有功能都在該循環(huán)圈中周而復(fù)始有選擇執(zhí)行。除非掉電或復(fù)位,否則系統(tǒng)程序不會(huì)跳出該循環(huán)圈。因浮點(diǎn)數(shù)運(yùn)算占用時(shí)間較多,應(yīng)將其作為單獨(dú)模塊??刂扑惴K包括:PID運(yùn)算模塊和PID參數(shù)自整定模塊兩部分,主要是相應(yīng)控制算法的初始化及運(yùn)算程序。數(shù)學(xué)運(yùn)算模塊主要包括諸如帶符號(hào)浮點(diǎn)數(shù)求補(bǔ)運(yùn)算、帶符號(hào)浮點(diǎn)數(shù)乘法、無符號(hào)浮點(diǎn)數(shù)除法以及浮點(diǎn)數(shù)加減法等運(yùn)算子程序,供其他模塊根據(jù)算法的需要隨時(shí)調(diào)用。顯示設(shè)定和操作界面由菜單顯示,用INTO中斷完成。界面中用線框框起來的符號(hào)和漢字表示當(dāng)前起作用的按鍵,用“上下左右”按鍵移動(dòng)光標(biāo)和改變數(shù)據(jù),按下確認(rèn)鍵后選中有效,開始執(zhí)行所選功能,按下返回鍵就回到上一級(jí)界面(菜單)。數(shù)據(jù)的采集及預(yù)處理模塊由TO計(jì)數(shù)定時(shí)產(chǎn)生中斷,包括數(shù)字濾波、標(biāo)度變換、顯示刷新等部分,完成數(shù)據(jù)預(yù)處理及人機(jī)交互功能。過零同步由交流過零觸發(fā)產(chǎn)生INT1中斷,并確定移相順序,觸發(fā)T1定時(shí),產(chǎn)生移相脈沖,控制輸出。一旦中斷,首先判斷具體的中斷源。若是定時(shí)中斷,則調(diào)用相應(yīng)的模塊完成定時(shí)服務(wù);若是人機(jī)面板的按鍵中斷,則在識(shí)別按鍵后,進(jìn)入散轉(zhuǎn)程序,隨之調(diào)用相應(yīng)的鍵盤處理服務(wù)模塊。無論是哪一個(gè)中斷源產(chǎn)生中斷,執(zhí)行完相應(yīng)的程序后均返回主模塊,必要時(shí)修改顯示內(nèi)容,并開始下一輪循環(huán)。圖4所示為系統(tǒng)軟件主程序流程。
3.2模糊自整定PID算法程序
模糊自整定PID算法程序程序的總流程為:首先模糊整定,然后根據(jù)誤差和誤差變化率對(duì)PID的3個(gè)參數(shù)進(jìn)行在線調(diào)整,把經(jīng)過模糊調(diào)整后的PID參數(shù)作為最終的控制參數(shù)進(jìn)行PID控制。溫度誤差e和溫度誤差變化率△e的最壞情況值均取為100℃,在此建立的溫度誤差e和溫度誤差變化率△e的基本論域,數(shù)字量化確定e(k)的論域區(qū)間為[-128,128]。這樣就必須對(duì)溫度誤差e和溫度誤差變化率△e超過100°C.變換后的e和△e其動(dòng)態(tài)范圍限幅壓縮,這樣就可以使溫度誤差和溫度誤差變化率△e在整個(gè)測(cè)控溫度變化范圍[0℃,1112°C]內(nèi),控制量都可以起到作用。圖5為模糊PID控制流程。
4結(jié)語
pid控制器相關(guān)文章:pid控制器原理
評(píng)論