徐智勇,李金铖,罗 辉,吴晗平
(1.武汉工程大学 光电信息与能源工程学院,湖北 武汉 430205;2.武汉工程大学 光电子系统技术研究所,湖北 武汉 430205)
由于现在大部分冷库采用的是传统机械控温等方式,当温度高于或低于用户设定温度时,制冷机开启或停止,频繁启停可能会造成温度变化大,电力消耗大,一方面造成浪费,且达不到食物保鲜的效果,另一方面会造成器件的损耗,减小产品的使用寿命。由于冷库存放的物品不同、环境不同、开关门也会造成温度的变化,难以建立一个准确的数学模型,一般的控制方式很难达到想要的控制效果,而模糊控制在对多变量、非线性、不确定的复杂系统中却能取得较好的控制效果。目前有部分冰库采用有线传输方式传输节点温度,此方法需要人为的在附近监控冰库状况且布线复杂、可维护性差,采用 WiFi的方式实现远程监控可节约人力成本且布线简单。为此本文研究基于WiFi的大型冷库温度模糊控制系统设计方法。
对于大型工业冷库,单个监测点不足以描述整个冷库的温度状况,采用多点式检测能够更加准确的测量温度,并且可以避免了繁杂的布线过程。将整个系统分为感知层、网络层、平台层和应用层。感知层采用DS18B20温度传感器及主控芯片,网络层采用HC-08WiFi模块,平台层使用OneNET物联网平台,应用层使用基于 OneNET云平台开发的移动端应用。系统总体设计框架如图1所示。
图1 系统总体设计框架Fig.1 System overall design framework
采用12位数字型温度传感器DS18B20,连接ESP8266作为独立节点,由于 ESP8266内置 32位低功耗MCU,能够对传感器数据做简单处理打包上传到OneNET物联网平台
冷库控制系统是以STM32F4为主控芯片,外围电路做辅助的微型计算机控制系统。单片机根据编写好的程序对从物联网平台接收到的各节点的温度、设定温度做数据处理,根据模糊控制方法对电机进行控制。同时可以上传报警数据、电机挡位数据给物联网平台,能实现实时可靠的监控功能。
模糊控制器主要分为四个步骤:模糊化和量化因子的选择、隶属函数的确定、模糊规则的建立、模糊控制查询表的建立。
在模糊控制器的设计当中,通常将模糊控制器的输入个数称为模糊控制器的维数。由于一维控制器的输入变量只有一个,所以这种控制器的控制性能不强,而多维的模糊控制器由于输入变量过多,系统复杂往往难以设计。所以本系统采用二维模糊控制器,将温度值与设定温度的差和温度的变化量作为模糊控制的输入。二维模糊控制模型如图2所示。
图2 二维模糊控制器模型Fig.2 Two-dimensional fuzzy controller model
把精确的输入量转换成模糊集合的隶属函数称为精确量的模糊化。模糊控制器的输入变量(常取偏差、偏差变化率)和输出变量(常取控制量)均用自然语言形成给出,它不是以数值形式给出,因此它不是数值变量,而是语言变量。
在模糊控制算法中,我们把温度偏差和温度变化量的实际变化范围叫做输入变量的基本论域,基本论域常用区间表示,通用公式为[–x x],其中的量为精确量。在冷箱控制系统中,实际温度与设定温度差值的基本论域为[–3 3],因为单片机一秒采集一次温度数据,所以温度变化量不会很大,温度变化量的基本论域为[–1.5 1.5]。当温度的偏差大于–3或3时,按照最小输出或最大输出处理。
与基本论域对应的是模糊集的论域,通常表示为[–n,–n+1,…0,…,n–1,n]。可以通过量化因子k将基本论域中的偏差转化到模糊集的论域上来。由于n值过大会使控制规则变得复杂,太小又会使模糊处理结果粗糙而影响控制精度。
本系统选择温度差和温度变化量模糊集论域的 n=3,即[–3,–2,–1,0,1,2,3]。
根据模糊化处理将数值变量以语言变量的形式给出,将论域划分为{NB,NM,NS,Z,PS,PM,PB}即对应{负大,负中,负小,零,正小,正中,正大}。
本系统输出的对应电机的转速,通过脉宽调制的方式改变电机输入电压从而改变电机转速,根据实际需要将电机分为4个挡位,即基本论域和模糊集论域都为[0,1,2,3,4],
对应的语言变量为{Z,S,M,B,VB}或{关闭,一档,二档,三档,四档}
有量化因子K的定义:K=n/x
可得温度差和温度变化量的量化因子 Ke、Kec分别为1、2,输出K为1。
为方便设计及程序的编写,温度差、温度变化量、输出的隶属函数全部采用三角形隶属函数,三角形隶属函数有方便计算、易于实现、控制性能较好的优点且在论域范围内等距离、均匀分布。温度差、温度变化率隶属函数如图3、图4所示。
图3 偏差E隶属函数图Fig.3 Deviation E membership function diagram
图4 变化量EC隶属函数图Fig.4 Deviation EC membership function diagram
模糊控制规则是模糊控制器知识库的基础,建立在语言变量的基础上,是模糊控制器的核心。模糊控制规则建立是否符合实际使用、是否正确都直接影响系统的精度,其数目的多寡也是衡量控制器性能的一个重要因素,数量越多意味着系统越复杂同时精度越高,数量少,系统设计简便但精度低。
根据温度差为主要因素,温度变化量为次要因素的原则,当温度偏差过大,及时开启大挡位制冷,当温度差偏小时注意系统稳定,制定模糊规则表如表1所示。
表1 输出OUT模糊控制规则Tab.1 Output OUT fuzzy control rules
要执行模糊控制可以在数字计算机中就使用一定的算法来实现。这些模糊控制算法的目的是从输入的连续精确量中,通过模糊推理的算法过程,从而求出相应的精确控制值来。模糊控制算法有多种实现形式,常用的方法有合成推理的关系矩阵法,合成推理的查表法,合成推理的解析公式等。
计算机控制变量、模糊量化处理、模糊控制规则、模糊决策、非模糊化处理理论上由单片机处理,但每次温度值的变化都进行模糊处理,会占用单片机大量资源,拖慢单片机运算速度,对系统控制有一定影响。为解决这一问题,一般由Matlab的模糊控制工具箱算出模糊控制查询表,以查表的方式进行模糊控制。
通过Matlab的fuzzy control工具箱,设定好需要的输入输出隶属函数,将上述模糊规则改为if..and..then..的形式编入控制器,经过计算可以导出输入输出对应的 3D曲面图。输入输出关系图如图5所示。
图5 输入输出曲面图Fig.5 Input and output surface diagram
在设定好模糊控制器温度差、温度变化量参数后,通过simulink建立双输入单输出的模糊控制器模型,在测试页面可以计算出模糊控制查询表如表2所示。
表2 模糊控制查询表Tab.2 Fuzzy control query table
模糊控制器功能的实现是整个控制系统的核心,除了完成系统所需要的模糊控制算法外,还要设计与上位机进行实时通讯及完成系统所需的其他各项功能。
由于模糊算法采用查表的方式实现,将计算机控制变量、模糊量化处理、模糊控制规则、模糊决策、非模糊化处理通过matlab导出模糊查询表,对于单片机算力的要求不高,因此 32位的STM32能够满足系统要求。其片上资源丰富,有利于系统模块化设计。各个功能模块硬件设计主要包括STM32最小系统(晶振电路、复位电路)以及WiFi通信模块、IIC总线的DS18B20测温模块、键盘模块、显示模块、电机驱动模块等。控制器硬件如图6所示。
图6 控制器硬件结构图Fig.6 Controller hardware structure diagram
STM32最小系统是保证系统基本运行的需要,在此基础上实现功能扩展。WiFi模块采用ESP8266模块,该模块具有连接距离远、信号收敛性好、无杂散、频谱干净、分离度好等优点,它是上位机与STM32实时通信的桥梁,能够实时传输温度等数据。本系统采用DS18B20可编程总线型数字温度传感器,此传感器电路简单,无需温度标定,其测温范围从–55℃到+125℃,最高测量精度可以达到 0.0625℃。单片机通过采集温度数据,进行模糊控制输出相应的 PWM(Pulse width modulation,脉冲宽度调制)波,在经过功率放大器来对直流电机进行调速控制。
控制系统的软件设计分为上位机和下位机两部分。
下位机程序按照模块化的程序思想进行设计,可以分为几个不同的功能模块:主程序模块,主要包括各模块芯片初始化、中断初始化等;模糊控制算法子程序模块;测温模块;WiFi通信模块等。其主流程图如图7所示。
图7 主程序流程图Fig.7 Main program flow chart
模糊控制输出不同占空比的波形进行调速是整个控制系统软件设计的重点。将模糊控制输出表作为二维数组置入STM32中,在对数据进行模糊化处理后,将温度差和温度变化率与模糊控制输出表进行对应,输出对应的电机挡位进行控制。其一个周期内的流程如图8所示。
图8 模糊控制子程序流程Fig.8 Fuzzy control subroutine flow
在 WiFi通信中,为了使 ESP8266能可靠的与云平台进行连接,实现断开自动连接功能。采用将WiFi信息存入Flash的方式,在断电后也不会抹去。通过 SmartConfig手机配网后,将获取到的WiFi名称、密码保存到主控芯片内部Flash中,若下次开机或者中途断开,会直接从 Flash中读取WiFi信息,实现自动联网。
为了建立可靠的数据传输,ESP8266与云平台采用MQTT协议进行传输,MQTT协议具有轻量、简单、开放和易于实现的特点,适合物联网等场景。由于 ESP8266内部已集成 TCP/IP协议栈,所以只需进行应用层协议封装,就可以实现MQTT协议。先使用AT指令先使ESP8266以TCP协议去连接服务器,连接成功后模块进入透传状态,然后封装 MQTT协议格式的数据,通过ESP8266和MQTT服务器进行交互。
移动端使用OneNET物联网平台内置的应用设计,使用平台应用能够快速的开发应用界面,实现数据流绑定,方便工作人员远程实时的对冷库进行监控。为了便于用户设计,以及工作人员查看、分析数据,平台提供了丰富的数据显示方式,如折线图、柱状图、表盘等各种方式。在该应用中,用户可以对冷库开启停止以及设定温度进行控制,也可以查看各节点温度和温度变化折线。本设计冷库温度远程监控系统的移动端界面如图9所示。
图9 移动端应用界面Fig.9 Mobile application interface
本文阐述了模糊控制在工业冷库应用上的可行性,分析了应用模糊控制的优缺点,模糊控制在应对无法建立准确的数学模型的情况时,能够简单、较准确的对系统进行自动控制。本系统采用STM32芯片,由于系统无需大量计算和内存,所以STM32的内存完全满足系统要求,根据模糊控制理论及合理的软硬件设计,可实现可靠、稳定的工业冷库模糊控制系统,实现工业冷库温度的自动控制。上位机采用OneNET物联网平台实现了快速开发,为数据传输、远程监控提供了有力保障。主控芯片采用C语言编程,具有规范的格式,可分为不同模块,是程序结构化、模块化。编程及程序调试时间缩短,效率高,可移植性好,为以后程序的扩展提供了条件。
徐智勇(1998–),男,硕士研究生。研究方向:自动控制技术。
李金铖(1996–),男,硕士研究生。研究方向:无线传感与控制技术。
罗辉(1993–),男,硕士研究生。研究方向:紫外通信光电信号处理。
吴晗平(1964–),男,工学博士,教授,博士生导师。研究方向:光电系统总体技术与设计,红外与紫外技术,自由空间非可见光通信,图像处理与目标识别等。