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