利用STM单片机的自动温度感知与控制系统
2023-02-27蒋鸣东
蒋鸣东,刘 岩
(1.安徽工业经济职业技术学院 电气工程学院,安徽 合肥 230051;2.福建师范大学 地理科学学院,福建 福州 350117)
温控数值在较多领域和行业内都作为核心参数,若温控数值一旦偏离设定的预期数值,将会造成不良后果[1]。例如,在农业温室种植中,每一种作物需要生长在适宜的温度范围下,一旦温室内温度超过该范围就会直接影响作物的正常生长;在塑料加工生产中,塑料在成型前,需要将料筒中的物料进行加热熔化,这一环节中温度控制至关重要,温度过高会使塑料分解现象加剧,导致塑料成品变色、起泡,温度过低则会导致塑料的黏流程度不够,无法顺利挤出、塑化;在食品加工过程中,温度控制同样重要且有着更为严格的要求,一旦温度控制不精准,可能会造成食品质量不合格,还可能造成食品变质,进而出现有害、有毒物质。此外,在实验研究、石油化工、环境保护等领域,温度同样也是一个不可忽略的重要物理参数。
目前,与温控相关的控制算法主要有PID控制、模糊控制及混合控制3种方法。陈文科等[2]运用PID控制,将挤塑机实际工作温度与预期工作温度之间的差值作为输入量,通过比例、微分、积分3个运算得出控制量,进而实现挤塑机对温度的精准控制。但由于PID控制的误差较高,当对数值精度要求较高时,PID控制难以满足实际需求。王国杰等[3]使用模糊控制,通过模糊逻辑推理将误差信号离散化为温度控制变量,实现了对食品干燥温度的精准控制。但模糊规则的制定和实施都有较高难度,同时去模糊环节无法控制精度持续降低等问题。因而混合控制是在上述2种控制方法的基础上进一步优化的方法,肖亚宁等[4]利用BP神经网络对PID进行优化,实现了对PID 3个参数的整定。杨云鹏等[5]结合模糊与PID控制,在室内空调温度控制应用中实现优势互补。但混合控制算法无法解决大规模数据集情况下,温度控制精度过低等问题。为此,本文基于STM32单片机和优化的模糊神经网络,设计了一种自动温度感知与控制系统进行系统框架搭建、硬件设计以及软件设计,并在实际应用中测试了所设计系统的温度控制效果。
1 自动温度感知与控制系统设计
1.1 系统框架设计
自动温度感知与控制系统框架结构包含4层,每层结构对应不同的任务,各层具体任务如下:
1)温度感知层:实时感知监测目标的温度信息并将其传输给上位机。
2)信息通信层:负责传递温度信息给上层,并负责转发上层命令至下层。
3)控制调节层:判断是否需要进行温度调节,生成温度控制方案,发出温度控制指令、接收和发送信息等。该层是系统的核心层,负责处理的任务较多[6]。
4)人机交互层:提供用户与系统交互的窗口,展示系统工作成果,传递用户指令。
1.2 硬件系统
硬件系统主要包括温度感知器模块、STM单片机和通信模块这3个部分。
1.2.1 温度感知器模块
要实现温度控制的前提是了解当下时刻的温度数值,判断该数值是否在预期温度限值内,因此,实时感知现场的温度信息是系统设计中的重要部分[7]。本研究的温控系统选用GWD90型电阻式温度传感器作为温度感知模块。该传感器使用U形接线端子,端子电阻小,可减少对测温精度的影响,还能实现多点位同时感知温度测温。GWD90型温度传感器电路设计如图1所示。
(1)
1.2.2 STM单片机
单片机是温控系统的核心部分[9],STM32 L4型号单片机具有功耗低、连接性稳定、图形处理功能丰富等特性,因而选用该单片机作为核心元件设计系统控制器。该芯片配置高,可在120 MHz CPU频率下性能峰值达到100 DMIPS,通过FLASH指令性能可达150 DMIPS/409 Core Mark,并具有大容量内置存储器(2 MB Flash存储器和640 KB SRAM)。STM32 L4单片机电路图设计如图2所示。
1.2.3 通信传输模块设计
现场温度传感器与后台控制器之间以及控制器与现场温度调节器之间都需要建立通信网络才能实现系统统一的信息传输及指令传递[10]。本研究使用ZigBee通信技术建立无线通信网络。网络结构如图3所示。
由图3可知,无线通信网络主要由协调器节点、路由器和终端节点这3类节点构成。其中,终端节点是指现场布设的温度传感器或者温度调节器:当通信距离较近时,温度值可直接发送至协调器,再由协调器通过RS232接口最后发送给STM32 L4单片机控制器;当通信距离较远时,温度传感器是无法与协调器直接通信的,需要借助 ZigBee路由设备逐步跳转到达协调器,再由协调器进行信息传输。本研究选用R9965路由器,其支持5G SA/NSA组网,向下兼容4G/3G/2G网络,为远程设备和数据中心之间的联网提供安全高速的无线连接。
1.3 系统软件
软件系统主要包含温度感知程序、组网与通信程序和温度控制程序。
1.3.1 温度感知程序
在现场布设温度传感器之后,首先需要将其加入ZigBee无线通信网络当中进行联网,然后调试并启动温度传感器进行定期温度采样,周期上报温度数据[11]。温度感知程序流程如图4所示。
1.3.2 组网与通信程序
通过无线网络可将温度数据传输给控制器,组网与通信过程如下:
步骤1:协调器启动。
步骤2:协议栈初始化。
步骤3:协调器组建无线通信网络并建网成功。
步骤4:允许终端设备节点(传感器节点)加入网络。
步骤5:当协调器收到入网请求后,发送入网响应。
步骤6:当地址空间已满时,则入网失败;否则,分配网络地址,则入网成功。
步骤7:终端设备节点与协调器相互绑定连接。
步骤8:终端设备节点将感知到的数据发送至协调器或者经过路由器发送至协调器。
步骤9:协调器接收温度数据。
步骤10:协调器通过RS232通信串口将数据帧发送至控制器[12]。
1.3.3 温度控制程序
根据STM32 L4单片机控制器读取无线通信网络传输的温度数据,设计温度控制程序。该程序引入一种混合控制模型,由模糊控制算法和神经网络算法组成,简称模糊神经网络模型。温度控制程序流程如下:
步骤1:计算t时刻实际温度Ct与预期温度C之间的误差Gt及误差变化率H,计算公式为
Gt=C-Ct,
(2)
H=Gt-Gt-1。
(3)
(4)
(5)
(6)
式中:f(·)为隶属函数,P为推理规则,w为网络权值,b为偏置项,f1、f2为隶属函数的中心和宽度。
2 系统测试
2.1 测试环境
本文选用一个农业种植温室作为系统测试的实验现场,将GWD90温度传感器布设在该现场并进行ZigBee无线通信联网,与后台控制器形成一个完整的控制系统。
2.2 测试结果与分析
将GWD90温度传感器感知到的5 h温室大棚内的温度变化情况进行记录与分析,温度感知结果如图5所示。
由图5可知,传感器在温度感知区间采集到的数值集中在15~25 ℃,在不同的时间段呈现出密集波动的情况。
2.3 预期温度设置
根据不同的温度控制需求,设置3种不同预期温度及它们的变化趋势,视为3种调节工况模式,结果如图6所示。
在图6中,工况1为恒温设置,即通过控制系统始终确保室内恒温;工况2根据具体的温控要求由高到低进行温控;工况3温度从高至低,再由低提升。3种工况下的温控调试能够更全面地检测温控系统的性能。
2.4 温度控制结果
将实际温度和预期温度的温度误差及误差变化率输入模糊神经网络模型进行温度控制与调节,结果如图7所示。
由图7可知,基于STM32 L4单片机控制下真实的温控结果与预期走势相近,证明本文系统能够获得良好的温控效果。
2.5 温度控制精准度分析
为进一步证明本文系统的温度控制精度,将统计温度控制后的结果与预期结果之间的超调量作为精准度评判指标,将PID控制、模糊控制、模糊PID控制与本文系统控制算法进行对比分析。3种温度调节工况下温度控制精准度统计结果见表1。
表1 温度控制精准度统计结果 单位:℃
由表1可知,与 PID控制、模糊控制以及模糊PID控制相比,本文系统的超调量要相对更小,可说明本文系统控制能够让温度更接近预期值,证明本文控制系统的精准度更高,控制效果更好。
3 结语
本文设计了一种基于STM单片机的自动温度感知与控制系统,以STM32 L4单片机为硬件核心部分,以模糊神经网络控制算法为核心,通过感知实际温度与预期温度之间的差值实现控制。模拟测试结果证明了所设计系统的有效性和可靠性。