苏力,雷瑛
(1.西安航空学院 电子工程学院,陕西 西安 710077; 2.西安交通工程学院 机械工程学院,陕西 西安 710300)
温度作为工业生产过程中最重要的参数之一,对绝大多数化学及物理反应有着决定性作用,直接影响反应的成败,从而决定了生产工艺的好坏以及产品质量的高低,甚至决定了生产过程的安全问题。因此如何对温度进行精确检测和控制也成为人类不断研究探索的领域[1-5]。
温度控制的核心问题便是温度控制环节控制算法的设计。在控制温度过程中,由于被控对象的本质属性及其所处外界环境等各种因素的影响,设计一个通用的温度控制系统是十分艰难的[6-7]。国内武汉新美亚科技开发公司推出的开放式面板数字温控器5 R 7-570,通过LED显示屏显示当前温度(4位数)并可远程设置目标温度和旋钮刻度盘,制冷制热模式可通过LED颜色加以区分,具有断路保护的功能,其温控范围为20~150 ℃,误差范围为±0.1 ℃[8]。成都业贤科技有限公司生产的TCM系列温控模块,延长了制冷片的寿命并提高了稳定性[9-12]。
在合理设计恒温箱的机械结构,减弱外界环境温度变化对箱内温度的影响的基础上,设计高精度温度测量与控制系统,其主要功能是根据上位机发送的指令精确控制恒温箱内的温度,使温度波动范围在目标温度±0.02 ℃内。系统总体设计结构如图1所示。
图1 系统总体设计框图
图1中温度测量环节主要包括两部分:①温度传感器,将温度值转化为电压信号,以便后续器件识别和转换;②A/D转换电路,将所得电压信号转换为相应的数字信号,以供控制器运算和处理。
系统的软件部分采用C语言编写,以嵌入式操作系统μC/OSII为基础进行扩展开发。软件系统主要可分为温度测量、温度控制和通信模块三个部分,其组成如图2所示。
图2 软件系统组成框图
温度信号的精确测量对后续的温度控制等至关重要,温度测量部分主要由信号采集和数字滤波两部分组成,包括校准温度传感器的阻值,编写A/D转换器的读写函数以及数字滤波算法等。信号采集的过程可由图3表示。
图3 信号采集流程图
恒温箱内的温度场受到外界环境温度,箱内空气对流情况,以及加热或制冷元件工作功率等因素的综合影响,是一个典型的非线性系统。温度控制过程中,加热或制冷效果充满整个箱内空间也需要一定的时间,恒温箱温度控制具有一定的滞后性,提前做出预测可以进行超前控制,削弱滞后性。本文正是从这两方面出发,利用BP神经网络算法设计出恒温箱温度预测系统。经过多次尝试后,最终确定本预测系统神经元个数为7个。温度预测系统的输入输出如表1所示。
表1 温度预测系统的输入输出
确定BP网络隐含层激活函数f为Log-Sigmoid函数,最终,本文采用的温度预测系统的BP神经网络结构模型,如图4所示。
图4 恒温箱温度预测系统BP神经网络结构
将输入数据映射到[-1,1]之间,此步骤称为归一化处理,是为了便于后续对数据的运算和处理,达到提高训练效果的目的,归一化处理公式如式(1):
(1)
式中:x为原始数据;y为归一化后的数据;xmax和xmin分别为原始数据的最大值和最小值。
神经网络相关参数确定后,利用MATLAB实现BP算法,训练数据直至达到性能指标要求,从而建立温控系统的预测模型。BP神经网络的性能指标用式(2)表示。
(2)
式中:EN为N个样本在网络中的总误差;tnk为第n个样本的第k维对应标准值;onk为第n个样本的第k维网络输出值。
选择Levenberg-Marquardt算法对本BP神经网络进行训练,此时网络权值和偏置值的调整公式为:
(3)
式中:k为迭代次数;xk和xk+1分别为当前的权值或偏置值以及迭代产生下一次的权值或偏置值;Δxk为网络权值或偏置值的调整量;Je为雅可比矩阵;λ为调整系数;I为单位矩阵;e为网络误差向量。
选择温度范围较大的500组样本数据并进行归一化处理,训练样本占比70%,测试样本占比15%,剩余15%为验证样本,设置训练步数为1 000步,最大性能误差为10-7。
为验证BP网络预测训练结果准确性,将20组数据作为验证样本。图5为预测温度曲线图,图6为绝对误差变化图。经计算可知,预测温度的绝对误差的最大值为0.237 20 ℃,平均值为0.102 71 ℃,均方差为0.063 96 ℃。从预测结果来看,箱内温度的预测可以通过BP神经网络预测模型来实现。
图5 BP网络预测值与实际值比较
图6 预测值与实际值的绝对误差
(1)基于上述恒温箱箱内情况和高精度的控制要求,系统采用STM 32 F 103系列芯片作为主控制器,基于C语言在Keil平台实现。
(2)将由外界环境温度经BP神经网络预测并计算得到的温度变化率作为模糊控制的其中一维输入,使控制器具有超前控制的作用。
(3)预测温度的绝对误差的最大值为0.237 20 ℃,平均值为0.102 71 ℃,均方差为0.063 96 ℃。从预测结果来看,箱内温度的预测可以通过BP神经网络预测模型来实现。