刘嘉 李俊 苗涛
(南京工业大学自动化与电气工程学院,江苏 南京 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.