基于ARM9的甲醇合成塔神经网络控制系统
2014-08-03贾默伊赵文斌
贾默伊 赵文斌
(河北联合大学电气工程学院,河北 唐山 063000)
甲醇是多种有机产品的基本原料和重要有机溶剂,广泛应用于有机合成、染料、医药、涂料及国防等领域。甲醇对人体有很强的毒性,故其生产装置的安全稳定运行至关重要。甲醇生产装置中部分输送介质对环境的影响较大,崔正堂在某新建甲醇生产项目中将无泄漏磁力驱动泵应用于介质输送环节,解决了可能污染环境的问题[1];为保证甲醇制烯烃装置的长周期稳定运转,许德建等将急冷水旋流分离器应用于急冷水处理环节,并阐述了堵塞旋流分离器的检修方法和过程[2];何明珍分析了甲醇联合压缩机运转过程中推力瓦温度过高的原因,并给出了解决办法[3]。
随着化工技术的发展和能源结构的改变,由甲醇转化为汽油的研究成果,开辟了由煤转化为汽车燃料的新途径。在焦炉煤气制甲醇的生产过程中,甲醇合成塔的塔内温度具有非线性、大时滞及不确定等特点,常规PID控制无法解决稳定性与准确性之间的矛盾。传统PID算法难以达到甲醇合成精确控温的要求[4~9]。并且,目前常用的PLC控制器体积大、成本高且兼容性差,功能拓展还需增加较多的模块。笔者将神经网络与常规PID控制相结合,设计基于ARM9的温度控制系统,以实现对甲醇合成塔的温度控制。
1 甲醇生产工艺简介①
甲醇生产工艺流程中,由焦化厂送出的焦炉气经粗脱硫、压缩、精脱硫、转化、合成及精馏等主要工段处理,其中甲醇合成是甲醇生产的关键工序,对于合成塔的控制效果会直接影响甲醇产品的质量与产量。
低压甲醇合成工艺采用列管式反应器,合成塔为管壳式,CuO/ZnO催化剂全部装填在列管式固定床中,由脱碳工段来的高氢气体与循环气混合后进入循环机加压,再与脱硫后的气体混合,经换热器预热至225℃进入管壳型甲醇合成塔的列管内,在铜基催化剂的作用下,于5MPa、220~260℃环境下进行甲醇合成反应。主要反应方程式如下[10]:
反应放出的热被列管间的沸水带走,并产生副产蒸汽,反应后出塔气体与进塔气体换热后温度降至95℃,经冷水器冷却到40℃后进入甲醇分离器,分离出来的气体大部分回到循环机入口,少部分无污染排放。
2 合成塔温度控制流程
甲醇生产装置中合成塔的列管温度和压力是甲醇合成系统的重要参数,它直接影响甲醇的质量与产量。甲醇合成是放热反应,生产中要将反应放出的热量不断移出,否则随着反应的进行催化剂温度也会逐渐升高,严重时会烧毁催化剂。因此,及时移出反应热、合理控制塔内温度是提高甲醇合成率和催化剂使用寿命的前提条件。甲醇合成是体积缩小的反应,因此增加压力可以提高甲醇的平衡产率。但合成压力与选用的催化剂、温度、空间速度及碳氢比等因素都有关,所以要将塔内压力控制在稳定的范围内。
在列管式甲醇合成塔的温度控制过程中,当塔内压力稳定在5MPa设定值时,合成塔内反应温度为220~260℃,此时甲醇气体出塔温度控制在216.2℃左右。由于甲醇气体出塔温度与塔内温度有直接关系,因而检测出塔温度,通过调节汽包的饱和蒸汽排气阀开度即可调节蒸汽的流出量,也就可以控制塔内反应温度,使塔内温度趋于平稳。甲醇合成塔温度控制流程如图1所示,适当开大塔顶汽包蒸汽排气阀,加快沸水循环速度,则塔内温度降低;适当调小塔顶汽包蒸汽排气阀,减慢沸水循环速度,则塔内温度升高。
3 温控系统
以ARM9作为控制器,实现甲醇合成塔的排气温度控制,使其恒定在设定值,以保证得到高纯度的甲醇产品;系统是在塔内压力不变的前提下,设定温度通过控制面板向ARM9输入,温度传感器对合成气体温度进行测量,经A/D转换
图1 甲醇合成塔塔温控制流程简图
后将实时数字测量值送回ARM9;ARM9将测量值与设定值进行比较,经控制算法处理后通过驱动电路将控制信号传给执行机构,通过控制饱和蒸汽流量达到控制温度的目的,其整体系统如图2所示。
图2 甲醇合成塔温控系统框图
甲醇合成塔温控系统的硬件电路主要包括:ARM9以及外部电源电路、驱动电路、温度测量电路、控制按键和LCD显示,硬件结构如图3所示。ARM9芯片是Samsung公司的16/32位RISC微处理器S3C2440,系统所需电源由外部电源电路提供;外部振荡器为ARM9提供主时钟;控制面板由开关和控制按键组成,开关用来控制LCD显示,控制按键向ARM9输入设定温度并利用驱动电路驱动汽包出水阀。
图3 硬件结构框图
4 神经网络PID控制算法设计
神经网络PID控制是神经网络应用于PID控制并与传统PID控制器相结合而产生的一种改进型控制方法,是对传统PID控制的一种改进和优化。神经网络PID控制器有两个神经网络:系统在线辨识器(NNI)和自适应PID控制器(NNC)。PID控制器NNC由动态神经网络组成,包括数值积分器、一步滞后环节z-1和自适应线性神经元,其系统工作原理:由NNI对被控对象进行在线辨识的基础上,通过对NNC的权进行实时调整,使系统具有自适应性,从而达到有效控制的目的[11]。
已知传统的PID控制器算式如下:
(1)
相应的离散算式为:
(2)
其中e(k)为第k次采样的输入偏差值,u(k)为第k次采样时刻的输出值,而它的增量式PID控制算法为:
Δu(k)=KPΔe(k)+KIe(k)+KD[Δe(k)-Δe(k-1)]
=u1(k)+u2(k)+u3(k)
(3)
根据式(3),用一个单神经元构造PID控制器,其网络输入为:
x1(k)=e(k)
x2(k)=Δe(k)=e(k)-e(k-1)
x3(k)=Δ2e(k)=e(k)-2e(k-1)+e(k-2)
e(k)=r(k)-y(k)
(4)
其网络输出为:
u(k)=v1x1(k)+v2x2(k)+v3x3(k)
(5)
其中vi(i=1,2,3)为控制器的加权系数,相当于PID控制器中的比例、积分、微分系数KP、KI和KD,但与传统的PID控制器不同的是,参数vi可以在线修正。通过不断调整vi使之达到最优值v*,从而实现改善控制系统控制性能的目的。
5 仿真
利用图形化工具函数Simulink进行神经网络控制器的仿真设计。由于Simulink中不含神经网络PID控制器的应用模块,因此如果简单地应用Simulink将无法对其进行仿真,为此笔者引入S函数来创建一个新的神经网络PID控制模块[12],向其写入S函数:
Function[sys,x0]=neuro[t,x,u,flag,ηI,ηP,ηD,k]
if flag==2 sys(1)=x(1)+ηI*u(1)*u(1)
sys(2)=x(2)+ηP*u(1)*u(2)
sys(3)=x(3)+ηD*u(1)*u(3)
if flag==3
sys=k*(x(1)*u(1)+x(2)*u(2)+x(3)*u(3))/(x(1)+x(2)+x(3));
else if flag==0
sys=[0,3,1,3,0,0]
x0=[0.1,0.1,0.1]
else
sys=[];
end
end
end
在控制器中,神经元权值wi(i=1,2,3)的初始值分别设定为0.1,0.1,0.1。ηI,ηP,ηD和k分别为神经元的比例学习速率、积分学习速率、微分学习速率和比例系数。搭建好的控制系统的仿真结构如图4所示。
图4 Simulink仿真结构
为了对比神经网络PID与传统PID控制的效果,采集甲醇合成塔的生产数据。在合成塔的实际生产过程中,影响塔温的因素有很多,正常生产时注意调整以下各项指标以保证系统的稳定运行:
a. 塔顶汽包进水温度180~190℃;
b. 塔顶汽包液位为汽包容量的60%;
c. 合成塔塔内催化剂工作温度220~260℃;
d. 合成塔列管内气压5MPa;
e. 合成塔气体出口温度216.2℃;
f. 合成塔塔内循环水压37.1~37.3kPa。
图5 控制器响应曲线
由图5可以看出,神经网络PID控制与传统PID控制相比,超调量小、调节快速且调整时间短,说明其具有更好的控制特性;另外,稳态误差也比传统PID控制下的稳态误差小,说明神经网络PID比传统PID控制的控制精度更高。其仿真对比结果见表1,可以看出,神经网络PID控制几乎不产生超调,整个过渡过程更加平稳,且其响应时间也大为缩短,控制性能明显优于常规PID控制。
表1 两种算法比较
6 结束语
笔者基于ARM9处理器和神经网络PID控制算法,设计了甲醇合成温度控制系统。仿真结果表明,该系统表现出了较强的鲁棒性和抗干扰能力,能够有效克服甲醇排气温度的时变、非线性与大迟延特性,提高了控制品质。