劉嘉 李俊 苗濤
(南京工業(yè)大學自動化與電氣工程學院,江蘇 南京 211816)
隨著IT技術(shù)的發(fā)展,自動化控制系統(tǒng)的應(yīng)用范圍更加廣泛。石化、煤礦、醫(yī)藥、海上鉆油平臺等高危產(chǎn)業(yè)的發(fā)展也依賴自控系統(tǒng)的安全投入。在化工生產(chǎn)和石油化工等危險場合的自控系統(tǒng)設(shè)備中,為更好地發(fā)揮整個控制系統(tǒng)的安全性、高效性和經(jīng)濟性,需要實時檢測環(huán)境信息并采取相應(yīng)控制操作。
目前,主流的控制方式為PID控制、遲滯控制。本文擬研究一種以DSP為核心的防爆正壓柜控制器,并在此基礎(chǔ)上基于粒子群算法實現(xiàn)PID控制參數(shù)的自整定,以提高正壓柜的控制性能。
防爆正壓柜通過在密閉機箱內(nèi)充滿安全氣體使箱內(nèi)對箱外呈現(xiàn)正壓狀態(tài),從而避免危險氣體侵入,創(chuàng)造了箱內(nèi)安全空間[1-2]。防爆正壓柜控制系統(tǒng)整體結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)整體結(jié)構(gòu)圖Fig.1 Overall structure of the system
系統(tǒng)通過DSP的GPIO端口讀取移位寄存器中撥碼開關(guān)輸入值,以確定工作方式,并參考ADC端口輸入值,以驅(qū)動外部繼電器工作。控制方式采用基于粒子群算法的自整定參數(shù)PID調(diào)節(jié),具有使用方便、適應(yīng)性強、魯棒性強、抗干擾能力強等優(yōu)點。此外,系統(tǒng)通過LCD屏實現(xiàn)現(xiàn)場狀態(tài)的顯示功能。
系統(tǒng)采用數(shù)字溫度傳感器DS18B20和Honeywell公司的DC0001壓力傳感器實現(xiàn)現(xiàn)場信息采集,并將采集信息送入DSP芯片的ADC端口內(nèi)。
控制器采用TI公司的C2000系列的F2812型號DSP芯片,具體完成信息采集、邏輯比較、算法調(diào)整和PID控制輸出等功能。
變壓器輸出+15 V電壓,經(jīng)過LM2575調(diào)壓為+5 V電壓,用于DSP控制系統(tǒng)以及LCD顯示屏供電,并通過加裝安全柵實現(xiàn)本安電路與非本安電路的隔離[3]。
防爆正壓柜控制系統(tǒng)工作原理如圖2所示。為防止系統(tǒng)供電電源對控制信號的干擾,將系統(tǒng)分為圖中所示包含變壓整流、電源轉(zhuǎn)換電路以及繼電器在內(nèi)的電源模塊與以F2812最小系統(tǒng)為主的控制模塊。

圖2 系統(tǒng)工作原理圖Fig.2 Operational principle of the system
控制模塊以DSP為主控制芯片,通過采集外部實時壓力信號和溫度信號,并驅(qū)動外部控壓電磁閥以實現(xiàn)正壓柜恒壓功能。
電源模塊前級采用整流變壓器實現(xiàn)AC/DC變換,輸出直流電壓+15 V,后級通過開關(guān)穩(wěn)壓集成電路LM7812和LM2575完成電平轉(zhuǎn)換功能。+15 V電壓經(jīng)過LM7812轉(zhuǎn)換生成+12 V電壓,用于繼電器的控制線圈供電。當系統(tǒng)控制信號J1為低電平時,通過光耦隔離驅(qū)動三極管導(dǎo)通,實現(xiàn)繼電器的常開觸點閉合,外部調(diào)壓電路工作。
具體驅(qū)動電路如圖3所示。

圖3 繼電器驅(qū)動電路Fig.3 Relay driving circuit
軟件系統(tǒng)的任務(wù)主要有撥碼開關(guān)數(shù)值讀取、溫度和壓力信號讀取、調(diào)整控制等功能。系統(tǒng)加電后,首先完成系統(tǒng)初始化;待初始化完成后,讀取移位寄存器的數(shù)值,以確定撥碼開關(guān)的選擇值。根據(jù)采樣值與撥碼開關(guān)設(shè)定值,采用粒子群算法優(yōu)化PID參數(shù),實現(xiàn)PID調(diào)控。
主程序流程如圖4所示。

圖4 主程序流程圖Fig.4 Flowchart of the main program
外部溫度傳感器為數(shù)字傳感器,其精度較高,而壓力傳感器為模擬傳感器,需要使用DSP的ADC轉(zhuǎn)換模塊。F2812具有12位的ADC模塊,但是在實際應(yīng)用過程中,ADC模塊的精度難以達到,有時采樣值與實際值之間的誤差最大甚至會超過15%。由于ADC模塊的轉(zhuǎn)換特性是線性的,因此由轉(zhuǎn)換特性引起的誤差可以通過適當?shù)拇胧┻M行補償[5]。
假設(shè)理想狀態(tài)下DSP的ADC轉(zhuǎn)換特性為mi,偏移量b為零,模擬輸入量x與數(shù)字輸出量y之間的關(guān)系為:

考慮DSP的ADC實際轉(zhuǎn)換增益為m和偏移量為b,分別為 DSP的任意兩個ADC端口供電2.5 V和1.8 V,得到以下公式:

通過讀取ADC的轉(zhuǎn)換結(jié)果y1和y2,可以求得轉(zhuǎn)換增益m和偏移誤差b,并得出系統(tǒng)的轉(zhuǎn)換特性,如式(3)所示:

為了保證DSP采樣的準確性和較高的精度,通過ADC連續(xù)10次采樣并進行排序,使用中值濾波法進行采集信號濾波,根據(jù)系統(tǒng)轉(zhuǎn)換特性得出輸入模擬量值。
(比例-積分-微分)PID控制器作為最早實用化的控制器已有70多年歷史,現(xiàn)在仍然是應(yīng)用較廣泛的工業(yè)控制器。PID控制器簡單易懂,使用中不需精確的系統(tǒng)模型等先決條件,因而成為應(yīng)用較為廣泛的控制器[6-7]。PID控制器的一般形式為:

PID控制器結(jié)構(gòu)如圖5所示。

圖5 PID控制系統(tǒng)結(jié)構(gòu)圖Fig.5 Structure of the PID control system
PID控制的性能取決于Kp、Ki和Kd的選取,因此優(yōu)化PID控制器的參數(shù)具有重要意義。目前,PID參數(shù)主要是人工調(diào)整,這種方法不僅費時而且性能難以保證。
粒子群算法最初是為了圖形化地模擬鳥群優(yōu)美而不可預(yù)測的運動,人們通過對動物社會行為的觀察,發(fā)現(xiàn)在群體中對信息的社會共享有利于在演化中獲得優(yōu)勢,并以此作為開發(fā)粒子群優(yōu)化(particle swarm optimization,PSO)算法的基礎(chǔ)。同時,引入慣性權(quán)重以更好地控制開發(fā)和探索,形成當前的常規(guī)粒子群算法。粒子群算法對隨機初始粒子具有一定的魯棒性,并具有更快的收斂速度和更高的效率以及全局收斂性,是一種適用于工程應(yīng)用的參數(shù)尋優(yōu)方法[8]。
防爆正壓柜采用PID控制,為保證其控制性能,采用基于粒子群算法的尋優(yōu)方式優(yōu)化PID參數(shù),達到最佳參數(shù)設(shè)置,實現(xiàn)最優(yōu)控制。
鑒于PID控制器的設(shè)計實際上是多維函數(shù)優(yōu)化問題,粒子群算法采用實數(shù)編碼,對于PID參數(shù)尋優(yōu)中的粒子可直接編碼為(Kp,Ki,Kd)。控制參數(shù)優(yōu)化旨在使控制偏差趨于零、有較快的響應(yīng)速度和較小的超調(diào)量。本文采用如下適應(yīng)度函數(shù):

在每次迭代時粒子通過個體極值與群體極值更新自身的速度與位置,即:

式中:i為粒子的個數(shù);d為選取粒子的維數(shù);rand為[0,1]區(qū)間內(nèi)的動態(tài)隨機因子;c1、c2為學習因子;ω為慣性權(quán)重;pbest為粒子最優(yōu)值;gbest為粒子群群體最優(yōu)值[9-12]。
具體粒子群優(yōu)化(PSO)算法步驟如下。
①初始化粒子群,隨機產(chǎn)生所有的粒子位置和速度。
②對每個粒子進行適應(yīng)度計算,并與該粒子的歷史最優(yōu)值作對比,實時更新最優(yōu)個體粒子最優(yōu)值與粒子位置。
③每個粒子的最優(yōu)值與群體最優(yōu)值作比較,實時更新群體最優(yōu)值和最優(yōu)值位置。
④每個粒子按照公式更新自己的速度和位置。
⑤判斷是否完成所有迭代,若是,則返回最優(yōu)值,否則返回步驟②。
設(shè)定學習因子c1=2、c2=2,迭代次數(shù)為100次,通過Matlab仿真到的PID參數(shù)優(yōu)化曲線和適應(yīng)度曲線如圖6和圖7所示。


通過仿真可得,當 Kp=33.65、Ki=0.17、Kd=38.79時,J取最小值1.058。其對應(yīng)單位階躍相應(yīng)曲線如圖8所示。

圖8 單位階躍相應(yīng)曲線Fig.8 Response curve of unit step
通過以上仿真可以看出,粒子群優(yōu)化算法能在有限的迭代次數(shù)內(nèi)實現(xiàn)適應(yīng)度函數(shù)J的PID參數(shù)最優(yōu)化選取。從算法的解群隨進化代數(shù)的變化情況可以看出,當?shù)螖?shù)為30次時,解群趨于收斂,粒子群算法的收斂速度較快。
本文介紹的以DSP芯片為控制核心的防爆正壓柜控制器,可以保證外部調(diào)壓設(shè)備在準確的時間進行調(diào)壓工作。系統(tǒng)采用PID控制方法,并通過粒子群算法優(yōu)化PID參數(shù),仿真驗證了基于粒子群算法實現(xiàn)的PID參數(shù)優(yōu)化方法在減小系統(tǒng)超調(diào)、減小穩(wěn)態(tài)誤差等方面都起到了較好的作用。
[1]朱國英.正壓防爆技術(shù)在自控設(shè)備中的應(yīng)用[J].自動化儀表,2012,33(5):81-83.
[2]范東英,孫曉偉.基于STC單片機正壓防爆控制系統(tǒng)的設(shè)計[J].化工自動化及儀表,2012,39(5):612-613.
[3]陳澤文,王德芳,劉涯.二極管齊納安全柵電路的設(shè)計與分析[J].電氣防爆,2011(2):25-26.
[4]張曦,李長坤.二極管安全柵和安全分流器的型式試驗探討[J].電氣防爆,2010(2):41-42.
[5]顧衛(wèi)鋼.手把手教你單片機[M].北京:北京航空航天大學出版社,2011:320-322.
[6]徐余法.智能計算方法若干研究及其應(yīng)用[D].上海:華東理工大學,2007.
[7]張修榮.采煤機滾筒自適應(yīng)液壓調(diào)高系統(tǒng)研究[D].西安:西安科技大學,2009.
[8]丁華.非直井井跡優(yōu)化設(shè)計與決策分析應(yīng)用研究[D].大連:大連理工大學,2004.
[9]王介生,王金城,王偉.基于粒子群算法的PID控制器參數(shù)自整定[J].控制與決策,2005,20(1):75-76.
[10]史峰,王輝,郁磊,等.MATLAB智能算法30個案例分析[M].北京:北京航空航天大學出版社,2011:130-143.
[11]劉暾東,陳得寶,李素文,等.基于自適應(yīng)認知域的粒子群性能改進方法[J].模式識別與人工智能,2009,22(5):727-728.
[12]張燦斌,段世忠,趙書敏.改進適應(yīng)度函數(shù)的陣列綜合粒子群算法[J].雷達科學與技術(shù),2011(3):281-285.