一个基于BP神经网络的PID温度控制系统的研究与实现

   文章以注塑机温度控制系统为应用背景,研究了一个基于BP神经网络的PID温度控制系统。
关键词温度控制系统;研究;实现
国内市场中的注塑机温度控制系统大多采用比例积分微分(PID)控制和模糊控制。在塑料机械中,料桶的温度控制非常关键,低于或者高于塑料的 适宜熔融标准都会影响产品的最终成型质量。由于产品成型过程复杂而且可影响因素多,如果可以做好料桶的温控就可以对整个生产起到事半功倍的效果。但是这几 种控制方式都需建立精确的数学模型,而注塑机温度控制系统是一个大滞后、强耦合、非线性的时变系统,建立精确的数学模型是非常困难的,因此PID温控系 统的效果并不是很理想,鉴于这种情况,本文引入一个基于BP神经网络的温度PID控制系统来改善注塑机温度控制。神经网络具有表达任意非线性映射的能力, 能够对非线性系统进行建模。利用神经网络的这一特点建立动态模型,作为预测控制器的预测模型,可用于热力过程的预测和控制,应用BP神经网络,通过学习和 训练逼近对象的真实模型。对温度控制的各相关指标的相对权重确定。影响温度变化各相关因素在输入预测和评估模型时, 需一组决定其相对重性的初始权重,权重的确定需基本的原则作支持。例如确定温度的上限及下限,纯加热控制段的比例,不同位置的温度控制段的默认 PID参数等。目前本文使用的是基于经验的三层架构的BP神经网络架构,通过输入层对采样数据的输入,隐含层的各种计算,并把计算结果通过输出传递出去, 这样经过在线指导后,可以满足BPN-PIDS系统的算法的实现。其中各层的连接权值首先通过随机赋值的方式进行,然后根据各指导案例的学习,得到健壮的 权重值。
本文的主工作是设计并实现了一个基于BP神经网络的温度PID控制系统(BP neural network PID system简称为BPN-PIDS),其核心是 PID神经网络,如图1-2 BPN-PIDS控制算法所示。本文主参考了如下的相关技术PID控制原理,BP神经网络(如图1-1神经网络图所示),MATLAB软件,B/S软 件架构以及ASP开发工具,XML数据库存储以及OPC行业标准。对于具有多变量强耦合时变特性的温度控制系统,本文所构建的PID神经网络可以通过在线 学习建立科学的预测和评估指标体系及设计相应的模型计算方法与学习参数;同时,根据对象参数发生变化时对系统输出性能的影响来调整连接权值,改变网络中比 例、积分和微分作用的强弱,使系统具备良好的动态和静态性能,达到系统解耦和温度控制的目的。本文结合不同塑料的具体实际特性, 对指标和模型体系进行了实证分析, 解决了普通PID控制系统的非确定性、非固定性元素。
BPN-PIDS系统已借助MATLAB软件进行了仿真与实现。系统架构如图1-3系统框架所示,包括服务器应用端程序,注塑机端相应的应用。
服务器应用端分为通讯模块,控制功能模块与数据库服务,其中控制功能模块为核心。
通讯模块的作用为服务器应用端与注塑机端的通讯并传递相应数据。
控制功能模块为核心模块,通过对传递到的数据分析与运算,进行整个系统的控制。
数据库服务则为控制功能模块服务,它将数据存储到数据库中,需的时候则可以取出来。
注塑机端应用分为上位机应用,下位机应用其中,上位机应用主作用是采集下位机的数据,经过处理后通过通讯模块给应用程序控制模块进行相应的分析,然后接受控制模块的输出指令,传递给下位机。
下位机的主作用是通过A/D模块采集料筒的实际温度,然后传递给上位机。再接受上位机的控制指令,对料筒进行是否加热的指令。
由于采用了C/S结构,本文中注塑机端最多可以接连255个客户端。
i)总体结构
设BP神经网络是一个采用三层BP结构,它有m个输入节点,其中,根据算法结构,m=3,q个隐含节点,3个输出节点。输入节点对应所选的系 统运行状态量,如系统不同时刻和输入量和输出等,必时进行归一化处理。输出节点分别对应PID控制器的三个参数Kp、Ki、Kd,由于这三个参数都不能 为负,所以输出层神经元激活函数一定取非负的Sigmoid函数。此处根据经验,当q值过小,则算法有可能失败,当q值过大,则算法速度太慢,同时占用 资源过多,所以取q=5。
ii)学习算法请参看图1-4 BP神经网络学习算法
(a)、确定BP网络结构,即确定输入层节点数m和隐含层节点数q,并给出各层的加权系数的初值,选定学习速率η和惯性系数α。初值随机赋值,学习速率与惯性系数取习惯值,此时k=1。
(b)、采样得r(k)和y(k),计算该时刻误差e(k)=r(k)-y(k)
(c)、计算神经网络各层神经元得输入、输出,NN得输出即为PID控制器得三个可调参数Kp、Ki、Kd。
(d)、根据增量式算法计算PID得输出u(k)。
(e)、进行神经网络得学习,通过数据库的存储读取,离线调整加权系数,实现PID控制器参数得自适应调整置,重复步骤(b)-(e)。
(f)、置k=k+1,返回到b步骤
在仿真中,比较常规PID与BPN-PIDS系统仿真。从中可以得知通过优化和混合仿真传统PID控制器能够获得很好的系统性能,BPN- PIDS获得了平滑的变换,但存在静态误差。当模型参数变化时,比较两者的鲁棒性,显示了当时延增大时,传统PID出现了振荡。传统PID控制在注塑机温 度控制系统中能达到较好的控制性能和控制精度。但是,当系统的参数发生变化时,常规PID的鲁棒性就很差了。而神经PID虽然存在静态误差,但仍然有很稳 定的平滑性。BPN-PIDS同样也能获得更为平滑的过渡过程,但是系统存在着静态误差。BPN-PIDS具有自学习和自调整的能力,当模型参数改变 时,BPN-PIDS仍然有平滑的过渡过程,这就证明BPN-PIDS的鲁棒性比传统PID更强,适应能力更强。通过MATLAB实现了BPN-PIDS 算法,解决了普通PID控制方法中的非确定性,非固定的问题,通过BP神经网络的在线自学习能力,为今后不同材料,不同模具的应用达到了良好,健壮的温度 控制。
  从图1-5信号跟踪图中可以看出控制变量u变化规则,扰动较小,跟踪曲线光滑,跟踪误差小,达到稳定状态后,误差波动小。
图1-6误差曲线图为系统的误差曲线,可以看出,系统跟踪误差非常小大约在(.8~-.8 内),跟踪效果很理想。
图1-7 PID参数变化图反映了整个过程中参数kp,ki,kd 随时间变化的情况,可以看出, kp,ki,kd 在不断调整,从而使控制效果最佳。
本文以基于神经网络的解耦控制和PID控制作为研究的出发点,经过查阅资料、理论研究以及实际测试,取得的研究结论可简的归纳如下
(1)就基于神经网络的参数自适应PID控制算法进行了分析研究。利用神经网络所具有的任意性表达能力,通过对系统的学习来实现具有最佳组合的PID控制。避免了凭经验选取PID控制参数的不确定性,而且可以实现控制器参数的在线调整和整定。算法主由两个部分组成
a.经典的PID控制器,控制算法为经典增量式。直接对被控对象进行闭环控制,而且三个参数为在线调整方式。
b.神经网络,根据系统的运行情况,根据学习算法,在线调整PID控制的参数使得给定性能指标最优,输出层神经元的输出状态读对应于PID控制器的三个可调参数。
(2)给出了一种基于神经网络的分散解耦算法BPN-PIDS算法。这种分散解耦算法从本质上仍属于串联解耦的一种特殊情况,但他与串联解耦又有所不同。
(3)将基于神经网络的参数自适应PID控制算法与分散解耦算法结合,并能过MATLAB软件中实现了BPN-PIDS算法,并实现了在线的 整定的算法,既避免了当单独采用自适应PID算法时,如多变量被控对象耦合严重,则控制效果不佳的问题;又避免了当采用分散解耦算法时,如出现多变量被控 对象模型参数发生变化,原有的控制器参数不能适应变化后的对性的问题。将该算法应用与料筒的温度控制,结果表明可以取得较为满意的控制效果。
本文工作对具有多变量强耦合时变特性的控制系统的设计与实现具有较好的参考价值。
参考文献
1(美)Martin T.Hagan,等.神经网络设计M.机械工业出版社,22)9).
2吴启迪.反馈式神经网络智能控制M.上海科技教育出版社,24.
3刘金馄.先进PID控制MATLAB仿真M.电子工业出版社,24.