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

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

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

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

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

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

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

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

PID控制器結構如圖5所示。

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

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

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


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

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