基于神经网络PID的温湿度控制系统设计∗

2021-06-29 08:41张桂堂
计算机与数字工程 2021年6期
关键词:网络结构温湿度湿度

李 锋 张桂堂 梁 辉

(青岛科技大学机电工程学院 青岛 266061)

1 引言

随着生活水平的提高,越来越多的人已经不满足于当季蔬菜的食用,他们更希望可以吃到一些新鲜的反季节蔬菜,这不禁要依靠于室内温湿度控制技术的发展。以往的室内测温技术采用分布式多点测温,需要在室内各处安装测温装置,安装过程复杂,并且该电路传递的是模拟信号,成本较高且传递过程中可能出现信号干扰等情况。本设计采用一种数字化单总线测温技术,该技术可以很好地解决以往设计中的问题。本次设计采用单片机系统作为基础,STM32F407ZGT6作为该系统的控制核心,STM32类属于ARM系列单片机,相较于C51系列单片机,其交互界面更友好,处理速度更快,运算能力更强[6~10]。此外,该系统还可以实时监测室内的温湿度,并通过AM2305数字传感器将测得的温湿度信号,转化为电流信号,再转化为电压信号,最后经过单片机的处理,由LCD1602显示元件将其显示。并且还辅之以BT神经网络PID算法,该算法可以将单片机系统进行调节和优化,使得该系统更加智能化、精细化,从而更好地保证作物的生长和便于科研人员的管理。

2 系统的工作原理设计

本系统以一台主控计算机作为上位机,以多台STM32单片机作为下位机组合成一个多分布式的分布系统。该系统工作原理:给上位机输入一个编写好的程序,上位机经过一系列的运算处理,给下位机发送启动命令。下位机接收到命令后,一方面控制其下属的DS18B20温度传感器[2]和AM2305数字温湿度传感器进行温度与湿度的实时检测;另一方面将采集到的温湿度信号转化为电压信号,上传给上位机进行显示,储存,以及与程序给定的标准数据相对比。如果温度和湿度与给定的标准值偏差过大,则由上位机传递信号给下位机控制报警系统进行报警提示,当温度过高且湿度过低时,由室内的喷洒装置进行加湿降温,反之则进行升温操作,从而可以实时控制室内的温湿度。此外,通过BT神经网络PID算法对下位机进行优化调节,使得室内温湿度始终处于最佳状态,系统硬件电路原理如图1所示。

3 系统硬件电路

3.1 温湿度检测电路

该系统采用DS18B20智能温度传感器来对室内的温度进行实时的检测,采用AM2305数字温湿度传感器对室内的湿度进行检测。DS18B20的特点在于其采用特殊的单总线设计思路[2],既可以与串行口线连接,也可与I/O口线连接,使用更加方便。此外,其温度变化区间为-55℃~+125℃,完全满足室内的温度变化。而AM2305数字传感器的特点在于测量更加精确[4],结构比较简单,便于安装。单总线测温结构如图2,DS18B20的结构原理如图3,AM2305电路控制如图4。

图2 单总线测温系统结构图

图3 DS18B20结构原理图

图4 AM2305电路控制图

3.2 声光报警系统

当室内温度高于系统设定的上限值,或者湿度低于系统设定的下限值时,触发声光报警装置,此时报警系统会发出响声和亮光,并由单片机控制室内的喷洒装置进行降温加湿,直到温湿度都回归到系统设定的合理区间内,再由单片机控制喷洒装置关闭。相反,当室内温度低于系统设定的下限值,或者湿度高于系统设定的上限值时,也会触发声光报警装置,此时报警系统也会发出响声和亮光,并由单片机控制室内的空调机进行升温操作,直至温湿度回归到系统设定的合理区间内,再由单片机控制空调机关闭,声光报警电路如图5所示。

图5 声光报警电路控制图

4 BP神经网络PID算法的运用

通过对传统的PID算法进行研究[3],了解到其中存在着很大的不足,主要体现在其算法的单一性和不灵活性。传统的PID算法主要依靠比例(KP),积分(KI),微分(KD)这三个参数进行算法的整合,但是针对温室系统这种既要求控制温度,又要控制湿度的多变量程序,就很好地暴露出了它的不灵活性。因此,本次设计采用更加灵活的BP神经网络PID算法,该算法具有很好的自学能力,并且可以进行任意的非线性运算,可以在众多的组合结果中,找到最优解,然后将得到的结果参数kp,ki,kd传递给PID算法,这样就可以灵活的控制室内的温湿度变化,并且随着其不断地算法训练,其结果会越来越精确。BP神经网络PID控制器结构原理如图6所示,三层BP网络结构原理如图7所示。

图6 BP神经网络PID控制器结构原理图

图7 三层BP网络结构图

PID增量式控制算法公式:

公式中变量分别为比例(KP),积分(KI),微分(KD),PID的输出变量(uk),升温装置的加权位移值(y(k)),系统温度的标准值(r(k)),k时的系统位移标准值与加权位移值的偏差(e(k))。

三层BP网络结构输入层输入公式[10~16]:

三层BP网络结构隐含层各点的输入和输出公式:

公式中各变量含义:隐含层中的加权系数值();需要输入的神经元节点个数为4;i表示隐含层神经元节点的次序;公式中右上角的数字标号(1),(2),(3)分别表示三层BP网络结构中的输入层、隐含层和输出层;隐含层输入函数(),隐含层输出函数()。

隐含层的正负对称Sigmoid函数为激活函数:

神经网络的输出层的输入、输出各为

公式中各变量含义:输出层的加权系数值为();神经元输出函数();输出层数(l);神经元节点次序数(I)。

输出层神经元非负Sigmoid函数为活化函数[6~10]:

性能指标函数:

公式中各变量含义:算法设定的标准值(rp),实际检测值(yp)。

BP神经网络结构的权限值采用梯度法来调节,从当前点出发,取函数在该点处下降速度最快的方向(加权系数的减小方向)进行搜索,此外,给该函数一个惯性变量使搜索速度加快,进而推出以下公式:

公式中各变量含义:学习速率(η),平滑因子(α)。

由式(14)及PID增量式控制算法公式可得:

综上可得,输出层的加权系数学习算法为

隐含层的加权系数学习算法:

BP神经网络PID算法的步骤总结。

1)明确BP神经网络的结构原理,将三层网络结构的各加权系数值,控制变量以及输入变量的误差都初始化,将控制器输出均初始化为零[5]。

2)用下位机处理检测到的温湿度数据,从而得到rp(k)和yp(k),再由BP神经网络算法计算出其所需的E(k)。

3)以三层网络结构的各加权系数值为基础,推算出各层结构的输入与输出值,再由BP神经网络算法计算出PID算法所需的三个基本参数值:比例(KP),积分(KI),微分(KD),最后由PID增量式控制算法公式得出最后的控制变量值。

4)由于输出层跟隐含层的学习算法具自主学习,自动调节的功能。因此,该算法的加入就很好的改善了传统PID算法运算性能单一,算法不灵活的缺点,使得控温湿能力显著提高。

5)重复以上步骤。

5 实验分析

为了检验BP神经网络PID算法的调节能力,现以一个种植有黄瓜的温室为例进行测试。测试的时间选在黄瓜的坐果期,该温室的面积为60m×20m,选择该时期的主要原因在于,这一时期的黄瓜对于室内的温湿度变化比较敏感,所以要保证室内的温湿度变化在一个合理的范围内,否则就会影响作物的产量,这就可以很好地测试本系统的有效性。由已有的实验数据可知,该时期的温湿度要求为白天的温度范围为26℃~29℃,夜间的温度范围为12℃~16℃,空气内的水分含有率保持在45%~55%[1]。现将该区域划分为三小块,每块区域的面积为20m×20m,每块区域内都放置有相同的温湿度传感器,并由相同算法控制。一切准备就绪后,分别测试了白天(8:00~18:00)以及晚上(20:00~5:00)的温湿度变化情况。测试结果如表1,表2。由表可知,运用BP神经网络算法后,棚内温湿度可以控制在合理的范围内,满足预期的要求。

表1 棚内黄瓜坐果期温湿度测试结果(8:00~18:00)

区域编号 棚内湿度 棚内最大 棚内最小 有无报警均值/%RH湿度/%RH湿度/%RH 150.2652.5448.56无250.6852.6348.23无350.9852.8948.68无

表2 棚内黄瓜坐果期温湿度测试结果(20:00~5:00)

6 结语

本设计在传统室内温湿度控制的基础上,增加了以STM32F407ZGT6为控制核心的单片机系统和BP神经网络PID算法,在很大程度上改善了室内的温湿度控制。并且由于BP神经网络PID算法具有自适应学习能力、抗干扰能力以及任意非线性运算能力,所以可以很好地优化系统的功能,使得下位机的温湿度控制能力更加完善,科研人员的管理更加方便,在农业生产方面具有很大的应用前景。

猜你喜欢
网络结构温湿度湿度
湿度变送器测量结果不确定度评定
蛋鸡育雏育成舍环境控制技术
加湿器用不对 警惕肺炎缠身
档案库房温湿度记录统计及调控
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析
带有双检测结构的电缆接头保护装置
变电站高压配电智能温湿度控制装置的研发与应用
跟踪导练(二)(2)
非常规突发事件跨组织合作网络结构演化机理研究