王欣峰 任淑萍
摘 要: 傳統(tǒng)溫度控制系統(tǒng)對(duì)時(shí)變非線性溫度缺乏彈性控制效果,因此提出基于模糊PID的AVR單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì)。根據(jù)模糊PID語言和規(guī)則描述整個(gè)系統(tǒng)動(dòng)態(tài)特性和靜態(tài)各個(gè)組件性能指標(biāo),完成系統(tǒng)原理結(jié)構(gòu)圖的設(shè)計(jì),依據(jù)AVR單片機(jī)兼容性架構(gòu)智能溫度控制系統(tǒng)硬件框圖,實(shí)現(xiàn)人機(jī)交互操作。采用模塊化思想,將系統(tǒng)軟件劃分為4個(gè)部分,由此進(jìn)行軟件主流程設(shè)計(jì),經(jīng)過模糊化處理可獲得輸入與輸出變量隸屬函數(shù)曲線,通過對(duì)不同模糊PID參數(shù)控制可確定溫度控制規(guī)則。通過實(shí)驗(yàn)驗(yàn)證可知,該系統(tǒng)設(shè)計(jì)具有合理性,且對(duì)時(shí)變非線性溫度的彈性控制效果良好。
關(guān)鍵詞: 模糊PID; AVR單片機(jī); 智能; 溫度; 彈性控制; 隸屬函數(shù)
中圖分類號(hào): TN876?34; TK323.1 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)15?0179?04
Design of fuzzy PID based intelligent temperature control system by means
of AVR microcontroller
WANG Xinfeng1, REN Shuping 2
(1. Department of Automation, Shanxi University, Taiyuan 030013, China;
2. Department of Electronic Information Engineering, Shanxi University, Taiyuan 030013, China)
Abstract: The traditional temperature control system has poor elastic control effect for time?varying nonlinear temperature. A fuzzy PID based intelligent temperature control system is designed by means of AVR microcontroller. The fuzzy PID language and rules are used to describe the dynamic characteristic of the whole system and static performance index of each component to complete the design of system principle structure. According to the compatibility of AVR microcontroller, the hardware block diagram of the intelligent temperature control system is constructed to realize the man?machine interactive operation. The thought of modular is used to divide the system software into four parts to design the main process of software. The deviation and deviation rate of the input signal are processed with fuzzification to obtain the membership function curve of input and output variables. The different fuzzy PID parameters are controlled to determine the temperature control rules. The experimental results show that the design of the system is reasonable, and has perfect elastic control effect for the time?varying nonlinear temperature.
Keywords: fuzzy PID; AVR microcontroller; intelligence; temperature; elastic control; membership function
溫度作為控制系統(tǒng)的基本組成元素,對(duì)系統(tǒng)內(nèi)部維持狀態(tài)具有較大影響。目前,溫度控制系統(tǒng)已經(jīng)在我國(guó)各個(gè)地區(qū)廣泛應(yīng)用,具有良好的發(fā)展前景。但是在實(shí)際應(yīng)用中,有些部門或者企業(yè)對(duì)于溫度變化控制的要求十分嚴(yán)格,為此對(duì)溫度控制系統(tǒng)必須實(shí)施嚴(yán)密監(jiān)控操作,當(dāng)前AVR單片機(jī)已經(jīng)成為該領(lǐng)域的核心元件[1]。對(duì)于AVR單片機(jī)智能溫度控制系統(tǒng)的設(shè)計(jì)也成為目前人們熱烈討論的話題。傳統(tǒng)系統(tǒng)雖然是應(yīng)用最廣泛的系統(tǒng)之一,但是其對(duì)時(shí)變非線性的系統(tǒng)來說,對(duì)溫度進(jìn)行彈性控制卻很難達(dá)到效果,而且溫度信號(hào)還容易出現(xiàn)延遲性和滯后性,模型也具有不確定性,為此提出基于模糊PID的AVR單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì)。
由于PID算法具有高穩(wěn)定性和強(qiáng)魯棒性,為此在硬件設(shè)計(jì)方面可伴隨電子技術(shù)的發(fā)展而得到有效技術(shù)支持。通過對(duì)系統(tǒng)進(jìn)行實(shí)驗(yàn)驗(yàn)證可知,該系統(tǒng)的設(shè)計(jì)具有合理性,且彈性較好,能夠?qū)囟冗M(jìn)行彈性控制。
模糊控制使用模糊語言和規(guī)則描述整個(gè)系統(tǒng)的動(dòng)態(tài)特性和靜態(tài)各個(gè)組件性能指標(biāo)。該系統(tǒng)的特點(diǎn)是在未知被控制對(duì)象的情況下,對(duì)模型進(jìn)行精確描述,方便控制不確定對(duì)象和非線性對(duì)象,被控制對(duì)象的參數(shù)具有強(qiáng)魯棒性,針對(duì)干擾因素具有較強(qiáng)的抑制能力。但是模糊控制僅僅局限于對(duì)控制系統(tǒng)缺乏分析和標(biāo)準(zhǔn)設(shè)計(jì)步驟,而且規(guī)則庫數(shù)據(jù)也缺乏完整性,沒有確切的控制結(jié)構(gòu)。采用PID控制器簡(jiǎn)單結(jié)構(gòu)能夠滿足大量工業(yè)生產(chǎn)的需求[2]。由于PID本質(zhì)上具有線性控制屬性,而模糊控制也具有智能屬性,這兩者都屬于非線性領(lǐng)域,為此,將模糊控制與PID結(jié)合能夠使系統(tǒng)同時(shí)具備這兩種優(yōu)點(diǎn)。
系統(tǒng)由電源、PID控制算法、溫度檢測(cè)儀器、鍵盤、顯示屏、上位機(jī)和開關(guān)組成,系統(tǒng)原理結(jié)構(gòu)如圖1所示。
1) 系統(tǒng)電源部分利用變壓器將外部電線產(chǎn)生的交流電壓220 V變?yōu)?0 V,然后利用整流器件將直流電壓進(jìn)行整流,供AVR單片機(jī)系統(tǒng)使用。
2) 主控制部分采用AVR單片機(jī),該單片機(jī)是一個(gè)具有2 Kb FLASH可編程和可擦除的存儲(chǔ)器,并在低壓條件下可對(duì)高性能單片機(jī)進(jìn)行設(shè)置。
3) 溫度測(cè)試儀采用單線數(shù)字的溫度傳感器,該傳感器溫度測(cè)試范圍為-500~1 250 ℃,現(xiàn)場(chǎng)溫度直接以“一線總線”數(shù)字方式進(jìn)行傳輸,進(jìn)而大大提高了系統(tǒng)抗干擾性[3]。
4) 鍵盤可直接利用3個(gè)按鍵實(shí)現(xiàn)操作,其中1個(gè)按鍵能夠?qū)崿F(xiàn)控制溫度與實(shí)際溫度的彈性切換,其余2個(gè)按鍵的實(shí)現(xiàn)是在溫度增加或減少上進(jìn)行特定值設(shè)置,再次按下切換鍵能夠返回到當(dāng)前需要控制的溫度。
5) 顯示屏設(shè)計(jì)利用42寸大屏幕的164位單片機(jī),將其中的1位輸入變成8位,其次將輸出數(shù)據(jù)傳送到LED中進(jìn)行顯示[4]。
6) 系統(tǒng)采用MAX232芯片直接與上位機(jī)通信。
7) 輸出部分采用固態(tài)繼電器連接方式直接將AVR單片機(jī)數(shù)據(jù)輸出,轉(zhuǎn)換為20 V交流電,可用來控制系統(tǒng)開關(guān)通斷性,從而達(dá)到控制溫度智能變化的目的。
AVR單片機(jī)與系統(tǒng)內(nèi)核指令能夠完全兼容微控制器,單片機(jī)內(nèi)部可以集成控制系統(tǒng),針對(duì)數(shù)據(jù)采集可以使用模擬部件實(shí)現(xiàn)數(shù)字功能,而且該功能還具有標(biāo)準(zhǔn)的數(shù)字外部組件,可將AVR單片機(jī)標(biāo)記為獨(dú)立管理模擬系統(tǒng),關(guān)閉單個(gè)或者全部功能可降低系統(tǒng)溫度能量損耗[5]。FLASH存儲(chǔ)器具有強(qiáng)大的在線編輯能力,也可作為存儲(chǔ)器將不易丟失數(shù)據(jù)進(jìn)行存儲(chǔ)。經(jīng)過對(duì)比組件之間的性能發(fā)現(xiàn),溫度控制系統(tǒng)設(shè)計(jì)的難度也得到了較大程度的緩解。隨著AVR單片機(jī)被成功納入8位單片機(jī)中,可根據(jù)系統(tǒng)實(shí)際需求,將單片機(jī)作為系統(tǒng)核心控制組件。主要硬件結(jié)構(gòu)框架如圖2所示。
由于單片機(jī)內(nèi)部具有A/D轉(zhuǎn)換器,能夠滿足溫度控制彈性要求,因此在該系統(tǒng)中無需借助外部器件進(jìn)行通知,輸出的控制電路可作用于單片機(jī)輸出模擬信號(hào),并對(duì)其進(jìn)行隔離等操作[6]。前置電路能夠?qū)崿F(xiàn)對(duì)溫度傳感器所傳達(dá)的微小信號(hào)的過濾,在執(zhí)行時(shí),可實(shí)現(xiàn)電能與機(jī)械能之間的能量轉(zhuǎn)換,并將機(jī)械能作為主要能量實(shí)現(xiàn)溫度的智能控制動(dòng)作操作,根據(jù)控制系統(tǒng)中的組件差異選擇合適的控制類型。根據(jù)AVR單片機(jī)中的USB功能,借助接口可實(shí)現(xiàn)與U盤之間的信息交換,進(jìn)而達(dá)到溫度數(shù)據(jù)保存、倒出與調(diào)整[7]。
為了實(shí)現(xiàn)人機(jī)交互操作,在系統(tǒng)中引入鍵盤、顯示器和蜂鳴器實(shí)現(xiàn)具體操作,設(shè)定特定鍵盤輸入符號(hào),根據(jù)不同的功能鍵和數(shù)字鍵,用戶可借助鍵盤完成數(shù)據(jù)的編輯和參數(shù)設(shè)置。顯示屏可協(xié)助鍵盤完成人機(jī)之間的操作,還可對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)控制,進(jìn)而實(shí)現(xiàn)人機(jī)交互的功能。蜂鳴器和指示燈可根據(jù)溫度變化規(guī)則設(shè)定預(yù)定值,如果超出預(yù)定值則發(fā)出報(bào)警聲[8]。微型機(jī)可拷貝輸出的溫度數(shù)據(jù),并控制記錄。
溫度控制系統(tǒng)軟件部分采用模塊化思想,可分成4個(gè)部分,分別是數(shù)據(jù)采集模塊、輸出控制模塊、數(shù)據(jù)交互模塊和人機(jī)接口模塊。其中,數(shù)據(jù)采集模塊使用AVR單片機(jī)自帶的A/D轉(zhuǎn)換器,將模擬量轉(zhuǎn)換為數(shù)字形式進(jìn)行濾波處理;輸出控制模塊使用PID模糊算法,根據(jù)數(shù)據(jù)采樣值和用戶設(shè)定的數(shù)值進(jìn)行計(jì)算,并利用單片機(jī)中自帶的A/D轉(zhuǎn)換器轉(zhuǎn)變成模擬量;數(shù)據(jù)交互模塊通過USB接口與AVR單片機(jī)中的芯片進(jìn)行連接,從而獲取U盤數(shù)據(jù);人機(jī)接口模塊主要負(fù)責(zé)鍵盤、顯示屏和打印機(jī)之間數(shù)據(jù)的轉(zhuǎn)換與處理,其中蜂鳴器和指示燈的數(shù)據(jù)需要處理才可進(jìn)行下一步操作[9]。軟件部分的監(jiān)控任務(wù)需要AVR單片機(jī)自帶的看門狗完成。
系統(tǒng)軟件部分設(shè)計(jì)流程如圖3所示。
智能溫度控制系統(tǒng)將獲取的信號(hào)轉(zhuǎn)換成數(shù)字形式,設(shè)定溫度值并輸入到語言變量溫度差中,與偏差變化率進(jìn)行比較,并將輸出的信號(hào)變量作為PID參數(shù)進(jìn)行調(diào)節(jié),實(shí)現(xiàn)模糊PID溫度實(shí)時(shí)調(diào)節(jié)功能。如果要對(duì)輸入信號(hào)偏差和偏差變化率進(jìn)行模糊化處理,那么在進(jìn)行處理時(shí),需設(shè)置偏差的基本論域以及偏差模糊集合論域。模糊偏差變化率基本論域是在偏差所取范圍內(nèi)的集合,經(jīng)過計(jì)算獲取偏差精準(zhǔn)量,然后將精準(zhǔn)量進(jìn)行離散處理,經(jīng)過離散后的偏差具有連續(xù)性,可進(jìn)行檔數(shù)等級(jí)劃分[10]。為了實(shí)現(xiàn)模糊化處理,需將輸入量從基本論域轉(zhuǎn)變?yōu)槟:险撚颍谡麄€(gè)轉(zhuǎn)換過程中,需借助量化因子完成。
根據(jù)上述PID模糊化處理,可以獲得輸入值和輸出值,其中模糊子集包括{負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大},由此可獲得隸屬函數(shù)曲線。輸入、輸出變量隸屬函數(shù)曲線如圖4,圖5所示。
為了獲取溫度控制良好的動(dòng)靜態(tài)特性,利用模糊PID參數(shù)設(shè)置在不同輸入?yún)^(qū)域內(nèi)選取不同參數(shù),從系統(tǒng)設(shè)計(jì)穩(wěn)定性、持續(xù)響應(yīng)時(shí)間、穩(wěn)態(tài)精準(zhǔn)度等角度出發(fā),通過對(duì)不同參數(shù)進(jìn)行控制可影響整個(gè)系統(tǒng)的性能。經(jīng)過歸納可得到以下模糊PID溫度控制規(guī)則:
1) 如果偏差較大,那么系統(tǒng)為了縮短持續(xù)響應(yīng)時(shí)間,需加快響應(yīng)速度,預(yù)防偏差產(chǎn)生。一旦偏差出現(xiàn),那么系統(tǒng)很有可能會(huì)因?yàn)檫^分飽和而出現(xiàn)控制失效的現(xiàn)象,為此針對(duì)PID參數(shù)選取,應(yīng)選擇一個(gè)較大參數(shù)作為上限,一個(gè)較小參數(shù)作為下限,另一個(gè)參數(shù)為0。
2) 如果偏差和偏差變化率都為中等大小,為了使系統(tǒng)溫度調(diào)節(jié)控制在一定范圍內(nèi),需保證響應(yīng)速度一定,在該情況下,應(yīng)選取兩個(gè)較小參數(shù)和一個(gè)中等值參數(shù)。
3) 如果偏差較小,為了保證系統(tǒng)穩(wěn)定性較強(qiáng),應(yīng)選擇兩個(gè)較大參數(shù)值,同時(shí),為了避免輸出響應(yīng)值與設(shè)定值接近,應(yīng)增強(qiáng)系統(tǒng)的抗干擾能力,適當(dāng)選取參數(shù)。當(dāng)偏差率較小時(shí),參數(shù)選擇最大值;當(dāng)偏差率較大時(shí),參數(shù)選擇最小值[11]。
為了驗(yàn)證基于模糊PID的AVR單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì)的合理性,進(jìn)行對(duì)比實(shí)驗(yàn)。
模糊PID參數(shù)設(shè)定的目的是方便找出PID參數(shù)與誤差[s]和誤差變化[ss]之間的模糊關(guān)系,并在實(shí)驗(yàn)過程中不斷對(duì)誤差情況進(jìn)行檢驗(yàn);其次根據(jù)模糊控制原理對(duì)實(shí)驗(yàn)參數(shù)進(jìn)行在線修改,可滿足不同誤差[s]和誤差變化[ss]對(duì)控制器參數(shù)的不同要求,致使被控制AVR單片機(jī)能夠具有良好的動(dòng)靜智能溫度控制性能,計(jì)算量小,方便單片機(jī)智能溫度控制實(shí)現(xiàn)。模糊自整定的PID控制系統(tǒng)實(shí)驗(yàn)流程如圖6所示。
由圖6可知,模糊控制器是溫度智能控制系統(tǒng)的核心部分,通過計(jì)算機(jī)相應(yīng)程序能夠?qū)崿F(xiàn)模糊控制規(guī)律。
采用二維模糊控制方法,再次將輸入誤差[s]和誤差變化[ss]作為輸入變量,將PID整定的參數(shù)作為控制變量,將傳統(tǒng)控制系統(tǒng)與本文控制系統(tǒng)進(jìn)行對(duì)比,可有效驗(yàn)證本文系統(tǒng)設(shè)計(jì)的合理性。
實(shí)驗(yàn)流程是由[n]個(gè)文件進(jìn)行編寫的,對(duì)傳遞函數(shù)需要進(jìn)行離散化處理,將0.001 s設(shè)為一個(gè)步長(zhǎng),實(shí)驗(yàn)時(shí)長(zhǎng)共0.5 s,其中在第200個(gè)采樣瞬間進(jìn)行脈沖加載來驗(yàn)證系統(tǒng)抗擾動(dòng)性。通過實(shí)驗(yàn)調(diào)整可知,當(dāng)初始PID參數(shù)分別為a=0.4,b=0.0,c=1.0時(shí),智能溫度控制曲線能夠充分表現(xiàn)出理想效果,將傳統(tǒng)控制系統(tǒng)與本文控制系統(tǒng)的階躍響應(yīng)情況進(jìn)行對(duì)比,結(jié)果如圖7所示。
通過圖7可知,當(dāng)溫度控制時(shí)間為0.05 s時(shí),傳統(tǒng)系統(tǒng)持續(xù)響應(yīng)時(shí)間為0.6 s,本文系統(tǒng)持續(xù)響應(yīng)時(shí)間為1.1 s,此時(shí)兩種系統(tǒng)持續(xù)響應(yīng)時(shí)間最長(zhǎng);當(dāng)溫度控制時(shí)間為0.2 s時(shí),傳統(tǒng)系統(tǒng)持續(xù)響應(yīng)時(shí)間為0.2 s,本文系統(tǒng)持續(xù)響應(yīng)時(shí)間為0.98 s,此時(shí)兩種系統(tǒng)持續(xù)響應(yīng)時(shí)間較短。由此可知,本文系統(tǒng)設(shè)計(jì)的智能溫度控制能夠使系統(tǒng)持續(xù)響應(yīng)時(shí)間延長(zhǎng),使控制過程在充足時(shí)間內(nèi)完成。
在充足時(shí)間內(nèi),驗(yàn)證兩種系統(tǒng)對(duì)溫度控制的彈性,結(jié)果如表1所示。由表1可知,在相同時(shí)間下,所需溫度一定,傳統(tǒng)系統(tǒng)隨著時(shí)間增加,溫度控制彈性較差,不能與所需溫度匹配;而本文系統(tǒng)隨著時(shí)間增加,溫度控制彈性較好,能夠與所需溫度保持一致。
本文根據(jù)AVR單片機(jī)智能溫度變化特點(diǎn),將PID動(dòng)態(tài)模糊技術(shù)應(yīng)用到其中,設(shè)計(jì)具有良好性能的單片機(jī)智能溫度控制系統(tǒng)。該系統(tǒng)可采用模糊PID方式輔助系統(tǒng)完成設(shè)計(jì),并將單片機(jī)作為系統(tǒng)控制核心部分,能夠彌補(bǔ)傳統(tǒng)溫度控制系統(tǒng)存在溫度控制彈性差的問題。此外,PID控制系統(tǒng)還具有靈活性,能夠?qū)崿F(xiàn)數(shù)據(jù)自動(dòng)采集與處理,進(jìn)而為溫度控制提供有效依據(jù),優(yōu)化工藝操作,降低生產(chǎn)成本,得到良好的生產(chǎn)效益。
參考文獻(xiàn)
[1] 張英坤,劉會(huì)忠.基于模糊PID的石墨化爐溫度控制系統(tǒng)[J].炭素技術(shù),2015,34(5):49?51.
ZHANG Yingkun, LIU Huizhong. Temperature control system of graphitization furnace based on fuzzy PID [J]. Industrial furnace, 2015, 34(5): 49?51.
[2] 馬小雨.基于自適應(yīng)遺傳算法的DFB激光器模糊PID溫控系統(tǒng)[J].沈陽工業(yè)大學(xué)學(xué)報(bào),2017,39(4):454?458.
MA Xiaoyu. Fuzzy PID temperature control system for DFB laser based on adaptive genetic algorithm [J]. Journal of Shenyang University of Technology, 2017, 39(4): 454?458.
[3] 蔡紅梅,張光利.基于模糊PID控制算法的回轉(zhuǎn)窯溫度控制系統(tǒng)的研究[J].現(xiàn)代電子技術(shù),2015,38(23):167?170.
CAI Hongmei, ZHANG Guangli. Study on rotary kiln temperature control system based on fuzzy PID control algorithm [J]. Modern electronics technique, 2015, 38(23): 167?170.
[4] 蔣思中.基于模糊PID算法的鋁棒溫度控制系統(tǒng)研究[J].科技通報(bào),2017,33(10):121?124.
JIANG Sizhong. Research of aluminum bar temperature control system based on fuzzy PID algorithm [J]. Bulletin of science and technology, 2017, 33(10): 121?124.
[5] 劉菲.基于單片機(jī)的鍍液溫度智能控制系統(tǒng)設(shè)計(jì)[J].電鍍與環(huán)保,2016,36(2):43?45.
LIU Fei. Design of intelligent temperature control system for plating solution based on single chip microcomputer [J]. Electroplating & pollution control, 2016, 36(2): 43?45.
[6] 劉丹.塑料擠出機(jī)智能溫度控制系統(tǒng)的研究[J].塑料工業(yè),2017,45(5):61?64.
LIU Dan. Investigation of temperature control system of plastic extrusion machine [J]. China plastics industry, 2017, 45(5): 61?64.
[7] 王朋朋,黃海龍.模糊PID在糧食烘干爐溫度控制系統(tǒng)中的應(yīng)用研究[J].機(jī)械設(shè)計(jì)與制造,2017,35(2):40?42.
WANG Pengpeng, HUANG Hailong. The application study of fuzzy PID in the temperature control system of grain drying oven [J]. Machinery design & manufacture, 2017, 35(2): 40?42.
[8] 宋健.基于AVR單片機(jī)的云臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(13):160?162.
SONG Jian. Design and implementation of PTZ control system based on AVR microcontroller [J]. Modern electronics technique, 2016, 39(13): 160?162.
[9] 史曉娟,李松博.基于AVR單片機(jī)的嵌入式可編程控制系統(tǒng)[J].儀表技術(shù)與傳感器,2017,20(6):54?58.
SHI Xiaojuan, LI Songbo. Embedded PLC based on AVR microcontroller [J]. Instrument technique and sensor, 2017, 20(6): 54?58.
[10] CHEN Peng, DUAN Fengyang, ZHANG Qingjie, et al. Design of UAV attitude controller based on fuzzy PID [J]. Journal of projectiles, rockets, missiles and guidance, 2015, 2(1): 9?11.
[11] WANG Weibing, ZHANG Hui, XU Qian. The design of fuzzy PID controller for temperature and pressure reducing system [J]. Journal of Harbin University of Science and Technology, 2016, 21(5): 96?100.