APP下载

基于BP神经网络自整定的PID温度控制系统的设计*

2015-02-28王先全朱桂林张虹光雷毅谈

电子器件 2015年6期
关键词:子程序温度控制偏差

余 尧,王先全,朱桂林,张虹光,雷毅谈

(重庆理工大学机械检测技术与装备教育部工程研究中心,时栅传感及先进检测技术重庆市重点实验室,重庆 400054)

PID控制是最早发展起来的控制策略之一。目前的工业控制中仍然用着PID控制器,或者改进型的PID控制器,在这些PID控制器中,温度控制具有大滞后、大惯性、时变性,升温单向性等特点,因此传统的PID控制不能实现有效的温度控制[1]。该系统设计用于新型的烟熏治疗仪,我们知道烟熏治疗仪用于眼耳鼻等人体脆弱敏感的部位,所以对治疗药雾的温度稳定性能提出了较高的要求,温度太高会灼伤人体敏感部位,温度太低又会影响药剂的治疗效果。经多次试验,最终选定神经网络PID控制算法作为本系统控制的核心算法,才将温度控制在要求的范围内。

1 PID控制的基本原理

PID工作基理:由于来自外界的各种扰动不断产生,要想达到现场控制对象值保持恒定的目的,控制作用就必须不断的进行。若扰动出现使得现场控制对象值(以下简称被控参数)发生变化,现场检测元件就会将这种变化采集后经变送器送至PID控制器的输入端,并与其给定值(以下简称SP值)进行比较得到偏差值Error(以下简称e值),调节器按此偏差并以我们预先设定的整定参数控制规律发出控制信号,去改变调节器的开度,使调节器的开度增加或减少,从而使现场控制对象值发生改变,并趋向于给定值(SP值),以达到控制目的[2-4]。控制方式如图1所示。

图1 PID控制的基本原理图

PID控制是随着PID系数的变化而改变的,也就是说PID控制是一种线性的控制方式,输入值r(t)与输出值y(t)构成输入偏差e(t),然后偏差输入e(t)经过比例,积分和微分作用,将3种作用结果叠加就得到了PID控制器的控制输出值U(t)。

本控制系统采用的数字PID控制的数学表达式:

式中:KP为比例系数;Ki为积分系Ki=Ti/T;Kd为微分系数,Kd=Td/T;u(k)为第K次PID控制器的输出值;e(k)为第K次采样控制器的输入偏差值;e(k-1)为第K-1次采样控制器的输入偏差值;T为数据采样周期值。

2 BP神经网络对传统PID的改进

传统PID温控系统中,由于参数不能在线进行实时调整,所以在控制过程中存在很大的滞后,控制时间长且稳定度不高,在工业生产中达不到理想的效果。基于此,本控制系统采用BP神经网络对PID参数进行自整定的方法,在温度控制过程中可以根据当前温度值与设定温度值的偏差值的大小对PID参数进行实时调整,从而实现以最快的速度稳定达到设定值。

利用BP神经网络整定的PID控制方式如下如图2所示。

图2 BP神经网络控制方式

本系统采用最简的3层BP神经网络,结构如图3所示。

图3 三层BP神经网络结构图

三层BP神经网络结构网络输入层节点的输出为:

式中:η为学习速率,α为惯性系数。

在本控制系统中把当前温度TEM,用户设定温度SET,和两者的偏差Error作为神经网络的输入层,x1,x2,x3.然后通过神经网络自整定输出控制电压U,以U值作为PWM波的占空比对温度进行调节,最后不断的通过自整定使得当前温度与用户设定温度值的偏差为0.通过仿真可以看到BP神经网络的PID控制响应速度快,温度控制稳定性高,所以从方法上来说BP神经网络的PID控制具有优越的性能,对本控制系统具有良好的优化作用,基于此,本系统最终采用了BP神经网络PID控制作为本温度控制系统的控制算法。

3 系统的硬件设计

控制系统的硬件主要由温度传感器AD590,OP07信号放大电路,A/D采样输入,ARM控制系统,人机交互,控制输出等6部分组成。其中人机交互由键盘输入和PC图形数值显示组成,控制输出部分主要有ARM输出的PWM控制信号和开关控制电路部分组成,系统结构框图如图4所示。

图4 温控系统框图

为了达到控制精度在0.5℃的的要求,选用温度传感器AD590,AD590具有较高精度和重复性,利用其重复性良好的特性,通过线性补偿可以达到0.5℃的测量精度。超低温漂移高精度运算放大器0P07将温度一电压信号进行放大,便于A/D进行转换,以提高温度采集电路的可靠性,其电路如图5所示。

图5 温度电压转换电路

控制输出部分主要由ARM内部自带的PWM控制模块产生PWM控制信号,通过控制硅片继电器通断加热来实现温度的稳定控制其电路如图6所示。

图6 开关控制电路

4 系统的软件设计

软件程序是本控制系统的核心,它包括从温度采样到信号输出的整个流程控制,控制流程如图7所示。

图7 控制系统流程图

程序功能主要由以下几部分组成:

(1)系统初始化:设置各种参数初始值,设定定时器及外部中断。

(2)BP/PID算法子程序:这是本系统软件的核心部分,主要是通过算法产生控制信号。

(3)PWM控制子程序:产生不同占空比的PWM控制信号,控制开关电路的通断。

(4)按键子程序:用于用户设置温度。

(5)A/D转换子程序:将AD590温度传感器采集的信号转换成数字信号。

(6)温度采集子程序:控制传感器采集温度信号。

(7)无线发送/接收子程序:用于ARM与PC机之间的通信。

(8)PC显示子程序:PC机图形和数值显示子程序。

5 MATLA仿真结果对比和实验结果分析

以下PID控制以sys=tf(50,[0.125,7,0])系统为控制模型,取采样时间为 1 ms,Kp=2.4,Ki=6.6,Kd=1.5,对神经网络BP-PID控制时取学习速率η=0.2,惯性系数取α=0.01,层与层之间的初始值取[-0.5,0.5]上的随机数对PID控制在MATLAB里进行仿真,得到输入输出曲线如图8所示。

以下用1.5 kW的加热片对500 ML容器中的艾叶燃烧气体气进行温度控制实验,在实验过程中分别给芯片烧写不同的算法进行PID控制,结果如表1所示。

由MATLAB仿真和实验结果可知BP神经网络PID控制比普通PID控制调节时间更短,超调量更小,并且在稳定性方面神经网络PID具有明显的优势,从表1可知,利用神经网络PID控制算法刚好能达到系统误差设计的要求,范围可以控制在±0.5℃范围内。

图8 PID阶跃响应曲线

表1 PID控制实验结果

6 总结与结论

通过MATLAB仿真和实验结果验证表明基于BP神经网络的PID控制系统比普通控制系统性能更优越,具有更高的准确性和鲁棒性。本控制系统的开发几经周折,最终落脚于BP神经网络的PID控制才使得系统温度误差控制在±0.5℃范围内,符合药雾温度使用要求。

[1]欧阳磊.基于自整定PID控制器的温度控制系统研究[D].安徽:安徽理工大学,2009:5-8.

[2]赵红艳.基于参数自整定模糊PID的飞机液压能源油温[J].控制计算机测量与控制,2014,22(5):1403-1408.

[3]葛朋.基于神经网络的PID算法在加热炉温度控制中的应用研究[D].东北大学,2005:10-15.

[4]董春霞.神经网络模糊PID控制在加热炉温度控制中的应用[D].河北:河北工业大学,2004:8-12.

[5]吴占雄,王友钊.基于80C51单片机的智能PID控制器的设计与实现[J].电子器件,2006,29(3):972-975.

[6]陈立,李治.采用遗传算法优化PID参数的锅炉计算机控制系统[J].电子器件,1997,20(1):5-7.

[7]张晨.基于BP神经网络的PID控制及其在发气仪中的应用[D].华中科技大学,2012:7-13.

[8]STMicroelectronics.STM32F415xx[S][EB/OL].www.st.com,2012.

王先全(1968-),男,汉族,四川,重庆理工大学教授,硕士生导师,主要从事信号检测与处理,智能仪器,计算机软件等研究,wangxq@cqut.edu.cn;

余 尧(1989-),男,汉族,湖北,重庆理工大学研究生,主要从事嵌入式和传感器研究,1024110332@qq.com.。

猜你喜欢

子程序温度控制偏差
船舶主机温度控制方法优化
如何走出文章立意偏差的误区
两矩形上的全偏差
锻造温度控制
基于模糊控制的PLC在温度控制中的应用
关于均数与偏差
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
基于模糊PID算法的空调机组温度控制