任卫红,史君诚
(1.新疆铁道职业技术学院,新疆 乌鲁木齐 830011;2.机科发展科技股份有限公司,北京 100044)
随着自动化技术不断发展,温湿度控制系统日趋完善。一般情况下,温湿度控制系统往往由若干个传感器和数模转换器组成。与人工测量和调整方法相比,先进的温湿度控制系统可快速完成温湿度检测而且控制精度较高[1-2]。温控系统可在很大程度上降低劳动强度,提高相关行业的智能化水平。但是在实际操作过程中,一些特殊工况会导致系统可靠性降低、稳定性变差进而影响检测精度,如仪器平稳性差、灵敏度不高、灰尘和振动等。大多数温湿度系统采用热敏电阻和湿敏电容,这种模拟式温湿度传感器均需要信号调理电路,同时校验和标定过程十分复杂,因此测量精度很难保证[3-5]。除此之外,模拟式温湿度传感器还要解决线性度、重复性和互换性等问题。为解决此问题,可采用集成式温湿度传感器和单片机设计一种温湿度控制系统。温湿度信号通过总线传送到单片机并进行处理,单片机会根据处理结果得到相关控制信号,然后发送到执行模块实现相应控制;同时会将温湿度检测数值发送到LCD设备并显示;如果涉及到复杂算法,可将初步处理结果传送到上位机,由上位机进行处理[6-8]。
结合温湿度传感器和单片机设计一种温湿度控制系统,结合智能控制算法实现温湿度高精度控制,通过实验验证所述系统的可行性和有效性。
温湿度控制系统总体结构如图1所示。总体来说,该系统设计主要包括硬件系统设计和软件系统设计2部分。由图1可知,温湿度控制系统由DHT11传感器模块、液晶显示模块、驱动和执行模块、单片机主控模块、无线通信模块和上位机等组成。
图1 温湿度控制系统总体结构
温湿度传感器可实现温度、湿度的实时采集,并将其发送到主控单片机模块。选用的温湿度传感器型号为DHT11,它是一种数字型温湿度传感器,其应用专用的数字模块采集技术和温湿度传感技术,可确保产品具有比较高的可靠性和稳定性。DHT11传感器包含1个NTC测温元件和电阻式感湿元件,可灵活方便地与单片机连接。DHT11采用单排引脚封装,具有稳定性好、误差小、响应快和抗干扰能力强等优势。
主控模块选用8位ATmega16单片机,其各项性能指标比较理想。整体来说,该芯片的指令集比较丰富,功耗比较低,数据吞吐率高。全静态工作方式可确保数据的完整性。因此,该芯片能够在比较复杂的环境中稳定运行。
考虑到需要显示的内容并不是很多,系统的液晶显示模块采用低功耗LCD1602液晶显示屏即可。
无线通信模块则基于无线收发芯片CC2500PA进行设计。CC2500PA功能强大、通信距离远、稳定性高,在工业控制领域的应用十分广泛。
驱动模块可实现执行模块按照信号要求的相关操作。执行模块包括加湿装置、除湿(通风)装置、加热装置和降温装置,可以实现温度和湿度的调节[9-13]。系统主电路如图2所示。
图2 系统主电路
可选用智能控制算法实现温湿度控制。众所周知,在实际运行过程中,需要采集大量温湿度数据并及时处理,以判断和预测温湿度变化趋势。参考深度学习原理,采用深度学习网络来实现温湿度原始数据处理。目前,使用比较广泛的深度学习网络主要包括多个受限玻尔兹曼机(RBM)和单个BP神经网络。
受限玻尔兹曼机是深度学习网络的基本组件,包含2层神经元,即:显层,可作为输入用于训练数据;隐层,可用于特征提取。
假设受限玻尔兹曼机网络结构的显层节点数目为m;隐层节点数目为n,具体如图3所示。定义显层偏置向量为r=(r1,r2,…,rm)T,隐层偏置向量为s=(s1,s2,…,sn)T。
图3 受限玻尔兹曼机网络结构
受限玻尔兹曼机是基于能量的模型(EBM),需要为其定义一个能量函数,并利用能量函数引入一系列相关的概率分布函数。对于给定某一状态(r,s),可定义能量函数为
(1)
ri为第i个显层神经元的偏移量;sj为第j个隐层神经元的偏移量;u为显层状态向量;v为隐层状态向量;wij为显层和隐层节点的权重系数。
定义隐层神经元vj的激活概率为P(vj|u),其计算公式为
(2)
同理,可定义显层神经元ui的激活概率为P(ui|v),其计算公式为
(3)
如上所述,深度学习网络往往包含多个受限玻尔兹曼机,所用深度学习网络包括2层受限玻尔兹曼机和1层BP神经网络,结构如图4所示。
图4 深度学习网络结构
由图4可知,上一层受限玻尔兹曼机通过学习得到特征数值并输出,该输出可作为下一层输入,这样每层就可以很好地获取上一层特征。顶层BP神经网络以最后一个受限玻尔兹曼机输出作为输入,并对输入特征进行分类、预测。
受限玻尔兹曼机的层数和各层节点数对模型预测性能的影响比较大。大量实验表明,隐层节点过少会导致预测效果偏差;隐层节点过多会导致系统泛化能力降低,出现“过拟合”现象。
软件设计主要包括2部分,即温湿度检测部分和系统控制部分。
温湿度检测流程可描述为:系统开始运行后,首先执行系统初始化操作;如果系统运行正常,蜂鸣器就不会发出报警声;LCD液晶显示屏初始化完成后,先显示预设值然后显示传感器实时采样值;DHT11温湿度传感器实时采集工作点位的温湿度值,并通过数据转换,传送给ATmega16单片机;ATmega16单片机根据实时温湿度数值进行判断并将温湿度数据传送至上位机;上位机根据智能算法预测温湿度发展趋势。如果温湿度数值超过预设值,蜂鸣器会报警同时继电器吸合,执行加热、降温、除湿和加湿等操作。
系统控制流程可描述为:根据实时温湿度数据,单片机会判断当前温湿度是否超过预设值;上位机则会判断温湿度的发展趋势,并得到相关控制信号发送给单片机。单片机通过内部处理,实现继电器吸合控制,即加热、降温、除湿或加湿。如果温湿度数值恢复到预设范围之内,单片机就会关闭相关继电器。如此,不断开启和关闭继电器就可以实现整个环境的温湿度控制。
温湿度系统控制流程如图5所示。
图5 温湿度控制流程
为验证所述控制系统的可行性和有效性,进行了相关实验研究。
实验场所为一个面积约200 m2的温湿度大棚,在实验场所设定10个数据采集点,实时采集温湿度数据并显示。实验过程中,记录实际温湿度数值以及系统恢复稳定状态所需时间。
作为对比,设置2组实验,第1组使用普通PID控制,温度提高5 ℃,湿度提高5%,分别记录温湿度采样值和稳态时间;第2组使用本文控制算法,温度提高 5 ℃,湿度提高5%,同样记录温湿度采样值和稳态时间。实验结果如表1和表2所示。
表1 PID控制实验结果
表2 深度学习控制实验结果
从表1和表2可以看出:如果仅仅采用PID控制,如果取绝对值,温度偏差最大值为1.90 ℃,温度偏差平均值为1.52 ℃,湿度偏差最大值为2.6%,湿度偏差平均值为2.28%,稳态时间平均值为16.13 min;采用深度学习控制方法,如果取绝对值,温度偏差最大值为0.5 ℃,温度偏差平均值为0.3 ℃,湿度偏差最大值为0.9%,湿度偏差平均值为0.6%,稳态时间平均值为5.72 min。
实验结果表明,采用所述温湿度控制方法可提高温度和湿度控制精度,提高系统响应速度,降低系统达到稳态所需时间。整体来说,控制系统的性能得到了大幅提升,具有一定的使用价值和借鉴意义。
以温湿度控制为研究对象,基于单片机设计了一种温湿度控制系统。给出了基于ATmega16单片机和DHT11温湿度传感器的硬件和软件设计方法。为进一步提高温湿度控制精度,设计了一种基于深度学习的温湿度控制器。实验结果表明,所设计控制系统具有较高的控制精度和稳定性,系统整体性能大幅提高,具有一定的推广价值。