裴潤有 宏 巖
(長慶油田技術(shù)監(jiān)測中心,西安 710062)
壓力測量儀表是工業(yè)生產(chǎn)過程中不可缺少的測量設(shè)備,大量應(yīng)用于各種生產(chǎn)中。為了保證壓力測量儀表的準(zhǔn)確、可靠,必須對壓力測量儀表進(jìn)行定期檢定。針對油田壓力儀表現(xiàn)場校驗的特殊需要,提出開發(fā)一種內(nèi)嵌壓力源、能全自動完成校驗過程的一體化壓力表自動校驗系統(tǒng)。對于壓力表自動校驗系統(tǒng)來說,產(chǎn)生高精度的、穩(wěn)定的定點壓力是整個壓力表自動檢定系統(tǒng)的關(guān)鍵。本文將 EDA 技術(shù)與控制理論相結(jié)合,以 FPGA 為硬件核心,提出了一種基于模糊自整定PID(Proportional Integral Derivation) 算法的壓力表自動校驗系統(tǒng)。
本系統(tǒng)采用基于Altera公司的Cyclone II系列的 EP2C35 FPGA芯片作為校驗系統(tǒng)的控制核心,負(fù)責(zé)與外設(shè)的接口控制和自身的邏輯運算。因為標(biāo)準(zhǔn)壓力表輸出的4~20mA是模擬信號,不能直接輸入FPGA,通過AD轉(zhuǎn)換模塊,將模擬信號轉(zhuǎn)換成數(shù)字信號,F(xiàn)PGA讀入壓力信號和通過鍵盤輸入的控制命令,通過內(nèi)部的基于模糊自整定 PID 算法,輸出一定的脈沖給步進(jìn)電機(jī)控制器,驅(qū)動電機(jī)工作產(chǎn)生需要的定點壓力,并經(jīng)過液晶模塊實時顯示相應(yīng)的壓力數(shù)值。下面在系統(tǒng)總體組成框圖的基礎(chǔ)上簡要介紹幾個主要部分的方案設(shè)計。系統(tǒng)總體組成框圖如圖1所示。
圖1 系統(tǒng)總框圖
經(jīng)過十幾年的發(fā)展,許多公司都開發(fā)出了多種可編程邏輯器件。Altera公司是最大的可編程邏輯器件供應(yīng)商之一,本設(shè)計采用Altera公司的 Cyclone II系列的 EP2C35作為FPGA芯片。該芯片容量為33216個邏輯單元,門電路高達(dá)70萬門,擁有 484K 片內(nèi)RAM,具有上百個 I/O 口;除此之外,還提供了鎖相環(huán)及運行頻率能高達(dá)250MHz的內(nèi)嵌乘法器。
選擇標(biāo)準(zhǔn)壓力表應(yīng)考慮以下幾個因素:首先是壓力表的精度,標(biāo)準(zhǔn)壓力表的精度應(yīng)盡可能的高,至少應(yīng)比被測儀表高兩個數(shù)量級。其次是標(biāo)準(zhǔn)壓力表的可靠性要高,要經(jīng)久耐用。基于以上原則,我們選擇北京康斯特儀表科技有限公司的CONST211系列的數(shù)字壓力表,測量精度為0.02%FS~0.2%FS。完全滿足精密壓力測量和一般壓力表、精密壓力表等壓力儀表的校驗工作。
產(chǎn)生高精度的、穩(wěn)定的定點壓力是整個壓力表自動檢定系統(tǒng)的關(guān)鍵,標(biāo)準(zhǔn)壓力控制的難點在于如何兼顧壓力產(chǎn)生的精度及速度。目前,PID控制一直是比較常用的控制方法,優(yōu)點在于其穩(wěn)定性比較好,結(jié)構(gòu)相對簡單。但另一方面,對于具有時變或者滯后等特點的復(fù)雜系統(tǒng),PID控制器就難以發(fā)揮其特長。模糊控制理論的出現(xiàn),解決了PID在這方面的弱點。自從模糊控制理論提出以后,其發(fā)展非常迅速,但控制規(guī)則也隨之變得復(fù)雜,使得系統(tǒng)的軟硬件也相對變得復(fù)雜,因此對速度的要求也隨之變高了。在EDA(Electronic Design Automation)技術(shù)不斷發(fā)展的基礎(chǔ)上,現(xiàn)場可編程門陣列FPGA (Filed Programmable Gate Array)技術(shù)也日趨發(fā)展成熟。設(shè)計的靈活性、集成度和可靠性得到了空前提高。因此利用FPGA技術(shù)實現(xiàn)PID控制器及模糊PID控制器具有現(xiàn)實的意義。
模糊PID控制是以模糊集合論,模糊語言變量和模糊邏輯推理為基礎(chǔ)的一種數(shù)字控制,它以誤差e和誤差變化ec作為輸入,利用模糊控制規(guī)則在線對PID參數(shù)進(jìn)行修改,以滿足不同誤差e和誤差變化ec對控制參數(shù)的不同要求,使被控對象有良好的動、靜態(tài)性能。模糊PID控制系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
圖2 模糊PID控制系統(tǒng)結(jié)構(gòu)框圖
FPGA 中實現(xiàn)模糊控制可用2種方法:一種是直接用硬件實現(xiàn)模糊算法,但設(shè)計復(fù)雜,硬件消耗大; 另一種是采用MATLAB離線設(shè)計,得出模糊控制表,然后通過快速查表法實現(xiàn)模糊控制。這里采用后者。
圖3 快速查表法結(jié)構(gòu)圖
快速查表法的基本思想是通過離線計算取得kp、ki、kd的模糊控制表,并將這些模糊控制表存放在內(nèi)存中。當(dāng)模糊PID控制器工作時,只需根據(jù)當(dāng)前時刻的誤差和誤差變化來找出當(dāng)前時刻的kp、ki、kd的值,快速查表法結(jié)構(gòu)圖如圖3所示。
快速查表法設(shè)計的關(guān)鍵在于kp、ki、kd的模糊控制表,求取模糊控制表的流程如圖4所示。
圖4 模糊控制表計算流程
快速查表法設(shè)計模糊PID控制器的具體步驟如下:
1)確定模糊PID控制器的變量
本設(shè)計是一個兩輸入三輸出的系統(tǒng),選取壓力設(shè)定值和測量值的誤差e和誤差變化ec作為輸入,PID控制參數(shù)kp、ki、kd作為輸出。
2)確定論域和量化等級
取誤差e和誤差變化ec的論域為[-6,6],kp、ki、kd的論域也為[-6,6]。所有語言變量的量化等級都為13級,即{-6,-5,-4,-3,-2,-l,0,1,2,3,4,5,6}。
3)確定模糊子集和隸屬度函數(shù)
取輸入語言變量的模糊子集為負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大,分別用NB,NM,NS,ZO,PS,PM,PB表示;輸出語言變量的模糊子集也為負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大,分別用NB,NM,NS,ZO,PS,PM,PB表示,隸屬度函數(shù)如表1所示。
表1隸屬度函數(shù)
4)確定kp、ki、kd模糊控制規(guī)則
模糊控制規(guī)則實質(zhì)上是將技術(shù)人員的控制經(jīng)驗加以總結(jié)而得出一條條模糊條件語句的集合。確定模糊控制規(guī)則的原則是必須保證控制器的輸出能夠使系統(tǒng)的動靜態(tài)特性達(dá)到最佳。所以模糊控制規(guī)則是決定控制器性能的關(guān)鍵因素,一般根據(jù)設(shè)計者現(xiàn)場經(jīng)驗和專家的經(jīng)驗來設(shè)計。kp、ki、kd的模糊控制規(guī)則表如表2、表3、表4所示。
表2kp模糊控制規(guī)則表
表3ki模糊控制規(guī)則表
表4kd模糊控制規(guī)則表
5)求取kp、ki、kd模糊控制表
模糊推理方法有Zadeh推理法、Mamdani推理法和Baldwin推理法等,本設(shè)計采用Mamdani推理法的Max-Min模糊合成算法進(jìn)行推理。以kp為例:設(shè)系統(tǒng)誤差e的量化值為l,誤差變化ec的量化值為-2,則由表1可知相應(yīng)的隸屬度值。
對于誤差e:
UZO(1)=0.5
UPS(1)=0.5
對于誤差變化ec:UNS(-2)=1
根據(jù)此輸入狀態(tài),由kp的模糊控制規(guī)則表可知,只有以下兩條規(guī)則有效:
第一條:如果誤差e是ZO且誤差變化ec是NS,則控制量kp為PS。
第二條:如果誤差e是PS,且誤差變化ec是NS,則控制量kp為ZO。
由極大極小推理法可得kp輸出模糊集為:
UPS(1,-2)=min(0.5,l)=0.5
UZO(l,-2)=min(0.5,1)=0.5
最后將每一條模糊控制規(guī)則得到的模糊子集進(jìn)行“并”運算,再由重心法計算出kp的精確量。
kp=(1×0.5+2×0.5+3×0.5-1×0.5+0
×0.5+1×0.5)/ (0.5+0.5+0.5+0.5
+0.5+0.5)=1
同樣,對輸入論域中的所有組合計算出相應(yīng)的kp的精確量,便可構(gòu)成kp的模糊控制表,如表5所示。同理,可以計算出ki和kd的模糊控制表。
表5Kp的模糊控制表
硬件系統(tǒng)測試:焊接硬件電路后,分模塊進(jìn)行測試,每個模塊焊接完成后,采用自制電源給硬件電路供電。
軟件系統(tǒng)測試:采用自下而上調(diào)試的方法,先對每個編程模塊進(jìn)行測試,最后組合每個模塊的功能進(jìn)行軟件部分整體測試。
整體功能測試:精密壓力表實時數(shù)據(jù)通過AD模塊采集進(jìn)入FPGA,通過按鍵實現(xiàn)設(shè)定壓力的輸入,啟動步進(jìn)電機(jī)實現(xiàn)打壓操作,觀察打壓的過程是否平穩(wěn)快速,壓力是否有超調(diào)。
通過對若干組不同量程、不同廠家的壓力表的測試,當(dāng)采用傳統(tǒng)PID控制方法時,為了避免超調(diào),kp值一般選擇較小,這樣打壓過程時間不免延長,同時控制精度也很難有保證。當(dāng)采用模糊PID控制時,控制系統(tǒng)兼顧了壓力產(chǎn)生的精度及速度,檢定裝置在升壓或降壓時,沒有沖擊和回程現(xiàn)象,例如壓力產(chǎn)生系統(tǒng)在產(chǎn)生20MPa壓力時,系統(tǒng)能夠?qū)崿F(xiàn)在30s內(nèi)壓力值單向遞增或遞減地靠近該點,系統(tǒng)超調(diào)量減少,控制精度有較大提高,同時操作時間大大縮短。
本文設(shè)計并實現(xiàn)了一種基于FPGA的壓力表自動校驗系統(tǒng),設(shè)計結(jié)合了通用處理器軟件設(shè)計的靈活性和專用芯片上的運算速度的快速性兩個優(yōu)點,在FPGA上實現(xiàn)了一種較優(yōu)的PID硬件運算結(jié)構(gòu)。本設(shè)計達(dá)到壓力表檢定及不確定度規(guī)范要求,作為檢定儀器,其具有較高的精度等級,同時操作簡單,性能穩(wěn)定,重復(fù)測量能力較強(qiáng),一定程度的減小了勞動強(qiáng)度,且勞動效率也大大提高,實驗結(jié)果表明該測量系統(tǒng)具有價格低廉、效率高、適應(yīng)性強(qiáng)、可靠性好等優(yōu)點,故有良好的推廣和使用價值。
[1] 黃志文,邵平,扈曉蘭.基于FPGA的PXI高速數(shù)據(jù)采集系統(tǒng)設(shè)計[J].化工自動化及儀表,2010,37(05):60-63
[2] 程素娥.基于FPGA的智能壓力傳感器系統(tǒng)[J].化工自動化及儀表,2010,37(08):53-55
[3] 陳世偉,李世平,管京周.指針式電壓表精度自動化檢定系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)測量與控制,2005(11):192-194
[4] 馬克文,朱立.檢定一般壓力表標(biāo)準(zhǔn)器的選擇方法[J].計量技術(shù),2005(8):46-46
[5] 李景平.精密壓力儀表儀器半自動化檢定系統(tǒng) [J].計量技術(shù),2002(2):37-38
[6] 周愛民.氣控壓力表檢定裝置的制作[J].計量技術(shù),2005(6):61-62