劉嘉 李俊 苗濤
(南京工業(yè)大學(xué)自動(dòng)化與電氣工程學(xué)院,江蘇 南京 211816)
隨著IT技術(shù)的發(fā)展,自動(dòng)化控制系統(tǒng)的應(yīng)用范圍更加廣泛。石化、煤礦、醫(yī)藥、海上鉆油平臺(tái)等高危產(chǎn)業(yè)的發(fā)展也依賴(lài)自控系統(tǒng)的安全投入。在化工生產(chǎn)和石油化工等危險(xiǎn)場(chǎng)合的自控系統(tǒng)設(shè)備中,為更好地發(fā)揮整個(gè)控制系統(tǒng)的安全性、高效性和經(jīng)濟(jì)性,需要實(shí)時(shí)檢測(cè)環(huán)境信息并采取相應(yīng)控制操作。
目前,主流的控制方式為PID控制、遲滯控制。本文擬研究一種以DSP為核心的防爆正壓柜控制器,并在此基礎(chǔ)上基于粒子群算法實(shí)現(xiàn)PID控制參數(shù)的自整定,以提高正壓柜的控制性能。
防爆正壓柜通過(guò)在密閉機(jī)箱內(nèi)充滿(mǎn)安全氣體使箱內(nèi)對(duì)箱外呈現(xiàn)正壓狀態(tài),從而避免危險(xiǎn)氣體侵入,創(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)通過(guò)DSP的GPIO端口讀取移位寄存器中撥碼開(kāi)關(guān)輸入值,以確定工作方式,并參考ADC端口輸入值,以驅(qū)動(dòng)外部繼電器工作??刂品绞讲捎没诹W尤核惴ǖ淖哉▍?shù)PID調(diào)節(jié),具有使用方便、適應(yīng)性強(qiáng)、魯棒性強(qiáng)、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。此外,系統(tǒng)通過(guò)LCD屏實(shí)現(xiàn)現(xiàn)場(chǎng)狀態(tài)的顯示功能。
系統(tǒng)采用數(shù)字溫度傳感器DS18B20和Honeywell公司的DC0001壓力傳感器實(shí)現(xiàn)現(xiàn)場(chǎng)信息采集,并將采集信息送入DSP芯片的ADC端口內(nèi)。
控制器采用TI公司的C2000系列的F2812型號(hào)DSP芯片,具體完成信息采集、邏輯比較、算法調(diào)整和PID控制輸出等功能。
變壓器輸出+15 V電壓,經(jīng)過(guò)LM2575調(diào)壓為+5 V電壓,用于DSP控制系統(tǒng)以及LCD顯示屏供電,并通過(guò)加裝安全柵實(shí)現(xiàn)本安電路與非本安電路的隔離[3]。
防爆正壓柜控制系統(tǒng)工作原理如圖2所示。為防止系統(tǒng)供電電源對(duì)控制信號(hào)的干擾,將系統(tǒng)分為圖中所示包含變壓整流、電源轉(zhuǎn)換電路以及繼電器在內(nèi)的電源模塊與以F2812最小系統(tǒng)為主的控制模塊。
圖2 系統(tǒng)工作原理圖Fig.2 Operational principle of the system
控制模塊以DSP為主控制芯片,通過(guò)采集外部實(shí)時(shí)壓力信號(hào)和溫度信號(hào),并驅(qū)動(dòng)外部控壓電磁閥以實(shí)現(xiàn)正壓柜恒壓功能。
電源模塊前級(jí)采用整流變壓器實(shí)現(xiàn)AC/DC變換,輸出直流電壓+15 V,后級(jí)通過(guò)開(kāi)關(guān)穩(wěn)壓集成電路LM7812和LM2575完成電平轉(zhuǎn)換功能。+15 V電壓經(jīng)過(guò)LM7812轉(zhuǎn)換生成+12 V電壓,用于繼電器的控制線(xiàn)圈供電。當(dāng)系統(tǒng)控制信號(hào)J1為低電平時(shí),通過(guò)光耦隔離驅(qū)動(dòng)三極管導(dǎo)通,實(shí)現(xiàn)繼電器的常開(kāi)觸點(diǎn)閉合,外部調(diào)壓電路工作。
具體驅(qū)動(dòng)電路如圖3所示。
圖3 繼電器驅(qū)動(dòng)電路Fig.3 Relay driving circuit
軟件系統(tǒng)的任務(wù)主要有撥碼開(kāi)關(guān)數(shù)值讀取、溫度和壓力信號(hào)讀取、調(diào)整控制等功能。系統(tǒng)加電后,首先完成系統(tǒng)初始化;待初始化完成后,讀取移位寄存器的數(shù)值,以確定撥碼開(kāi)關(guān)的選擇值。根據(jù)采樣值與撥碼開(kāi)關(guān)設(shè)定值,采用粒子群算法優(yōu)化PID參數(shù),實(shí)現(xiàn)PID調(diào)控。
主程序流程如圖4所示。
圖4 主程序流程圖Fig.4 Flowchart of the main program
外部溫度傳感器為數(shù)字傳感器,其精度較高,而壓力傳感器為模擬傳感器,需要使用DSP的ADC轉(zhuǎn)換模塊。F2812具有12位的ADC模塊,但是在實(shí)際應(yīng)用過(guò)程中,ADC模塊的精度難以達(dá)到,有時(shí)采樣值與實(shí)際值之間的誤差最大甚至?xí)^(guò)15%。由于ADC模塊的轉(zhuǎn)換特性是線(xiàn)性的,因此由轉(zhuǎn)換特性引起的誤差可以通過(guò)適當(dāng)?shù)拇胧┻M(jìn)行補(bǔ)償[5]。
假設(shè)理想狀態(tài)下DSP的ADC轉(zhuǎn)換特性為mi,偏移量b為零,模擬輸入量x與數(shù)字輸出量y之間的關(guān)系為:
考慮DSP的ADC實(shí)際轉(zhuǎn)換增益為m和偏移量為b,分別為 DSP的任意兩個(gè)ADC端口供電2.5 V和1.8 V,得到以下公式:
通過(guò)讀取ADC的轉(zhuǎn)換結(jié)果y1和y2,可以求得轉(zhuǎn)換增益m和偏移誤差b,并得出系統(tǒng)的轉(zhuǎn)換特性,如式(3)所示:
為了保證DSP采樣的準(zhǔn)確性和較高的精度,通過(guò)ADC連續(xù)10次采樣并進(jìn)行排序,使用中值濾波法進(jìn)行采集信號(hào)濾波,根據(jù)系統(tǒng)轉(zhuǎn)換特性得出輸入模擬量值。
(比例-積分-微分)PID控制器作為最早實(shí)用化的控制器已有70多年歷史,現(xiàn)在仍然是應(yīng)用較廣泛的工業(yè)控制器。PID控制器簡(jiǎn)單易懂,使用中不需精確的系統(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)整,這種方法不僅費(fèi)時(shí)而且性能難以保證。
粒子群算法最初是為了圖形化地模擬鳥(niǎo)群優(yōu)美而不可預(yù)測(cè)的運(yùn)動(dòng),人們通過(guò)對(duì)動(dòng)物社會(huì)行為的觀察,發(fā)現(xiàn)在群體中對(duì)信息的社會(huì)共享有利于在演化中獲得優(yōu)勢(shì),并以此作為開(kāi)發(fā)粒子群優(yōu)化(particle swarm optimization,PSO)算法的基礎(chǔ)。同時(shí),引入慣性權(quán)重以更好地控制開(kāi)發(fā)和探索,形成當(dāng)前的常規(guī)粒子群算法。粒子群算法對(duì)隨機(jī)初始粒子具有一定的魯棒性,并具有更快的收斂速度和更高的效率以及全局收斂性,是一種適用于工程應(yīng)用的參數(shù)尋優(yōu)方法[8]。
防爆正壓柜采用PID控制,為保證其控制性能,采用基于粒子群算法的尋優(yōu)方式優(yōu)化PID參數(shù),達(dá)到最佳參數(shù)設(shè)置,實(shí)現(xiàn)最優(yōu)控制。
鑒于PID控制器的設(shè)計(jì)實(shí)際上是多維函數(shù)優(yōu)化問(wèn)題,粒子群算法采用實(shí)數(shù)編碼,對(duì)于PID參數(shù)尋優(yōu)中的粒子可直接編碼為(Kp,Ki,Kd)??刂茀?shù)優(yōu)化旨在使控制偏差趨于零、有較快的響應(yīng)速度和較小的超調(diào)量。本文采用如下適應(yīng)度函數(shù):
在每次迭代時(shí)粒子通過(guò)個(gè)體極值與群體極值更新自身的速度與位置,即:
式中:i為粒子的個(gè)數(shù);d為選取粒子的維數(shù);rand為[0,1]區(qū)間內(nèi)的動(dòng)態(tài)隨機(jī)因子;c1、c2為學(xué)習(xí)因子;ω為慣性權(quán)重;pbest為粒子最優(yōu)值;gbest為粒子群群體最優(yōu)值[9-12]。
具體粒子群優(yōu)化(PSO)算法步驟如下。
①初始化粒子群,隨機(jī)產(chǎn)生所有的粒子位置和速度。
②對(duì)每個(gè)粒子進(jìn)行適應(yīng)度計(jì)算,并與該粒子的歷史最優(yōu)值作對(duì)比,實(shí)時(shí)更新最優(yōu)個(gè)體粒子最優(yōu)值與粒子位置。
③每個(gè)粒子的最優(yōu)值與群體最優(yōu)值作比較,實(shí)時(shí)更新群體最優(yōu)值和最優(yōu)值位置。
④每個(gè)粒子按照公式更新自己的速度和位置。
⑤判斷是否完成所有迭代,若是,則返回最優(yōu)值,否則返回步驟②。
設(shè)定學(xué)習(xí)因子c1=2、c2=2,迭代次數(shù)為100次,通過(guò)Matlab仿真到的PID參數(shù)優(yōu)化曲線(xiàn)和適應(yīng)度曲線(xiàn)如圖6和圖7所示。
通過(guò)仿真可得,當(dāng) Kp=33.65、Ki=0.17、Kd=38.79時(shí),J取最小值1.058。其對(duì)應(yīng)單位階躍相應(yīng)曲線(xiàn)如圖8所示。
圖8 單位階躍相應(yīng)曲線(xiàn)Fig.8 Response curve of unit step
通過(guò)以上仿真可以看出,粒子群優(yōu)化算法能在有限的迭代次數(shù)內(nèi)實(shí)現(xiàn)適應(yīng)度函數(shù)J的PID參數(shù)最優(yōu)化選取。從算法的解群隨進(jìn)化代數(shù)的變化情況可以看出,當(dāng)?shù)螖?shù)為30次時(shí),解群趨于收斂,粒子群算法的收斂速度較快。
本文介紹的以DSP芯片為控制核心的防爆正壓柜控制器,可以保證外部調(diào)壓設(shè)備在準(zhǔn)確的時(shí)間進(jìn)行調(diào)壓工作。系統(tǒng)采用PID控制方法,并通過(guò)粒子群算法優(yōu)化PID參數(shù),仿真驗(yàn)證了基于粒子群算法實(shí)現(xiàn)的PID參數(shù)優(yōu)化方法在減小系統(tǒng)超調(diào)、減小穩(wěn)態(tài)誤差等方面都起到了較好的作用。
[1]朱國(guó)英.正壓防爆技術(shù)在自控設(shè)備中的應(yīng)用[J].自動(dòng)化儀表,2012,33(5):81-83.
[2]范東英,孫曉偉.基于STC單片機(jī)正壓防爆控制系統(tǒng)的設(shè)計(jì)[J].化工自動(dòng)化及儀表,2012,39(5):612-613.
[3]陳澤文,王德芳,劉涯.二極管齊納安全柵電路的設(shè)計(jì)與分析[J].電氣防爆,2011(2):25-26.
[4]張曦,李長(zhǎng)坤.二極管安全柵和安全分流器的型式試驗(yàn)探討[J].電氣防爆,2010(2):41-42.
[5]顧衛(wèi)鋼.手把手教你單片機(jī)[M].北京:北京航空航天大學(xué)出版社,2011:320-322.
[6]徐余法.智能計(jì)算方法若干研究及其應(yīng)用[D].上海:華東理工大學(xué),2007.
[7]張修榮.采煤機(jī)滾筒自適應(yīng)液壓調(diào)高系統(tǒng)研究[D].西安:西安科技大學(xué),2009.
[8]丁華.非直井井跡優(yōu)化設(shè)計(jì)與決策分析應(yīng)用研究[D].大連:大連理工大學(xué),2004.
[9]王介生,王金城,王偉.基于粒子群算法的PID控制器參數(shù)自整定[J].控制與決策,2005,20(1):75-76.
[10]史峰,王輝,郁磊,等.MATLAB智能算法30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2011:130-143.
[11]劉暾東,陳得寶,李素文,等.基于自適應(yīng)認(rèn)知域的粒子群性能改進(jìn)方法[J].模式識(shí)別與人工智能,2009,22(5):727-728.
[12]張燦斌,段世忠,趙書(shū)敏.改進(jìn)適應(yīng)度函數(shù)的陣列綜合粒子群算法[J].雷達(dá)科學(xué)與技術(shù),2011(3):281-285.