基于IOT 云平台的水温测控系统设计
2023-09-27刘伟
刘伟
(贵州电子科技职业学院,贵州贵阳,550025)
0 引言
水温控制产品已广泛应用于人们日常的生产生活中,从热水器、电饭煲、饮水机等家电产品到工业生产中的水温控制器,人们对精确的水温监测控制和智能化交互的需求越来越迫切。随着智能家居和工业云控制技术的迅猛发展,物联网云平台技术也迅速融入了我们的生活之中,各种智能家居、智能家电产品不断出现,针对水温控制系统的控制精度和智能化交互水平较低的问题,本文提出基于物联网云平台和ZigBee 模块的水温控制系统设计。主要利用ZigBee 模块、DS18B20 温度传感器和云平台,实现基于IOT 云平台远程实时监测水温,利用PID 算法对水温进行控制,经实验分析表明,所设计的系统在20℃~90℃范围内,水温控制精度达到±0.1℃,并利用云服务器和手机终端实现交互的智能化。
1 系统构成及控制原理
如图1 所示为所设计系统的组成框图,包括系统主控CC2530F256 模块、温度传感器、无线传输模块、加热控制电路、上位机、手机端APP 和云平台组成,通过上位机设定所需加热温度,控制器与传感器实时数据做PID加热控制,最后达到所需温度并提示温度达到。
图1 水温监测控制系统组成框图
系统控制利用PID 闭环控制算法,通过上位机软件设定一个所需温度,主控芯片采集温度的传感器数据并将结果反馈到PID 控制路线上控制加热器,实现温度的PID 闭环控制,达到稳定后将温度发给云平台或手机APP。如图2所示为系统PID 闭环控制原理框图[1~2]。
图2 系统PID 闭环控制原理框图
系统PID 控制其输出信号u(t) 为:
其中:Er(t) 为温度变化量;u(t) 为控制温度量。
对(2)式进行拉普拉斯变换,得到系统PID 调节器的传递函数G(s) 为:
其中:Kp为比例系数,Ki为积分系数,Kd为微分系数。
PID 温度控制算法在C 语言程序中实现,首先假设系统采样时间为T,则在第t 时刻温度偏差为Er(t),积分控制环节用偏差累加用表示,微分控制环节用[Er(t)-Er(t-1)]/T斜率的形式表示,从而可以得到PID 离散表示形式。
然后,将(2)式离散化得到(4)式:
最后,再将(1)式代入(4)式,得到:
其中:JF 为积分前项值。
所设计系统通过PWM 来控制加热控制器工作,需要确定PID 控制的三个参数Kp、Ki、Kd。
设定系统的温度传感器的采样时间T=1s,在开环状态之下,上位机记录温度随时间变化的数据,采用在不同温度下重复试验的方法,记录温度数据并得到实验曲线,图3为开环控制时温度曲线。
图3 开环控制时温度曲线
图中可知,上位机设定温度为30℃,初始温度为20℃,稳定后的温度与设置温度存在1.3℃的误差。通过Matlab 软件输入温度控制模型并建立PID 温度控制模块,从而得到仿真温控曲线,来确定温控系统的PID参数。
2 系统硬件设计
系统设计分为硬件系统设计和软件设计,首先系统硬件部分是主控芯片选用TI 公司的CC2530F256,该芯片内部集成了低功耗、高性能的8051 内核,支持8KB 的SRAM、256 KB 的Flash,12 位ADC、2个USART串口、DMA 和ZigBee 协议栈等功能,本系统主控硬件设计原理图,如图4 所示。
图4 系统主控电路原理图
温度传感器采用数字式温度传感器BS18B20、温度传感器与CC2530F256 芯片的P0_7 相连接,加热控制器与主控P0_1、P0_2 I/O 口相连接。系统的无线传输模块ESP8266,它内置超低功耗32位RISC 处理器,时钟速度最快为160MHz,支持实时操作系统和TCP/IP 协议,通过WiFi 网络来连接云平台和手机端APP,实现多平台交互功能。本系统主控无线模块连接原理图[3~6],如图5 所示。
图5 无线传输模块原理图
如图5所示,无 线传输模块ESP8266 与主控CC2530F256的I/O 口P0_2、P0_3、VCC 和GND相连接,通过串口AT 指令主控向无线模块发送命令,系统上电后设置工作模式、WiFi 名称和密码、云平台地址和服务器端口等。
3 系统软件设计
系统软件由主控程序设计和上位机、云平台和手机端APP 设计三个部分组成。
本系统主控程序设计由IAR 平台开发,首先系统开始进行系统初始化,包括CC2530I/O 口、定时器、中断和串口的初始化、ESP8266WiFi 网络的初始化、温度传感器的初始化操作,具体的流程框图如图6 所示。
图6 系统软件流程框图
主控的CC2530 实时读取温度传感器的信息,并通过RS232 串口与PC 端上位机通信设置所需温度值,得到传感器实时值和设定值之后进行PID 控制加热器工作,直到得到所需温度值,CC2530 单片机再将所得到温度数据,通过WIFI 无线网络利用HTTP 的POST 协议送入云平台实现云端实时显示[7]。
上位机软件采用Visual Studio 软件利用C#语言进行开发,主要是由串口通信、温度数据显示、实时曲线显示、温度数据设置和温度数据保存等功能模块构成。上位机软件界面如图7 所示。
图7 系统上位机界面
系统云平台部分,选用中国移动的PaaS 物联网开放平台—OneNET 云平台,它可以利用MQTT 协议、HTTP、EDP、MODBUS 或多协议方式实现智能设备接入与开发部署,为智能家居产品及远程控制提供完善的物联网解决方案。
本系统通过无线与OneNET 云平台连接,从云端对温度进行远程监测显示、温度数据存储和远程控制功能,实现所设计系统的智能化交互控制[8]。系统云平台操作界面如图8 所示。
图8 云平台操作界面
4 系统验证
为了验证所设计系统控制温度的精度,通过系统水温加热控制的温度输出与标准温度计作对比试验。实验分别选取20℃~30℃、20℃~40℃、20℃~60℃、20℃~70℃、20℃~80℃、20℃~90℃的六组数据进行对比实验,当标准温度计在达到系统所设定温度值时,记录PID 控制输出的温度值,重复对比实验三次记录温度稳定后平均误差,具体实验数据如表1 所示。
表1 系统对比实验数据
同时,在上述条件之下,将使用PID 控制和未使用PID控制的输出温度进行对比,具体实验数据如表2 所示。
表2 PID控制对比实验数据
由表2 可知,在使用和未使用PID 控制的情况下的输出温度的误差值对比,如图9 所示。
图9 PID 控制对比实验误差
5 结论
本文针对现有水温控制系统的控制精度和智能化交互水平较低的问题,提出了基于物联网OneNET 云平台的水温控制系统设计方法,通过系统硬软件的设计和实验验证,实现在水温控制系统的智能化交互控制,并在温度控制上加入PID 闭环控制,使得在20°C~90°C 的温度范围内,水温的控制精度能达到±0.1℃,具有一定的实际应用价值。