基于STM32的燃气和太阳能热水器控制系统设计
2019-04-15周先飞夏跃武崔涛
周先飞 夏跃武 崔涛
基于STM32的燃气和太阳能热水器控制系统设计
周先飞 夏跃武 崔涛
(芜湖职业技术学院,安徽芜湖,241006)
就一种燃气和太阳能热水器控制系统的设计而言,传感器采集的太阳能存水箱的液位和水温数据,由单片机STM32F103RC进行数据分析和处理后,通过ESP8266的无线通信模块上传至云服务器,可实现远程查询与控制。本系统具有电路简单、集成度高、工作稳定、调试方便、检测精度高的优点,可通过WIFI模块联网以便实时观看数据,具有一定的使用价值。
控制系统;无线传输;ESP8266;微信小程序。
现在随着太阳能热水器技术的不断发展,壁挂式太阳能热水器在城市的新建建筑上的安装获得普及。但是,由于太阳能热水器受日照、气温等自然条件制约以及储水空间有限、电辅助加热相对较慢等原因,导致太阳能热水器提供稳定连续的热水能力不足。而燃气热水器通过可以提供持续稳定的热水,但能源环保方面不如太阳能热水器。基于此,许多家庭同时安装壁挂式太阳能热水器和燃气热水器,通过人工手动开关阀门的方式在两种热水器之间进行切换使用。但手动操作比较繁琐,且如果误操作或者漏操作会对热水器产生不良影响。
本研究的控制器系统利用了原有的太阳能热水器上的温度传感器和液位传感器,通过该控制器,实现了燃气热水器和太阳能热水器出水的自动切换,保证了出水口一直有热水可用。同时可以将当前的状态信息发送到云平台,实现远程控制,本系统具有创新性和应用性。
1. 本系统的总体设计方案
本系统设计的总体架构图如图1所示。主要分为三个部分,下位机的控制部分,数据传送过程和上位机的显示过程。
本设计中,下位机利用按键输入预设水温和水位、通过家用太阳能热水器中水温及水位传感器检测实际水温和液位数据,并在显示模块中显示;单片机对设定参数和测量参数的智能化处理后驱动水阀控制继电器控制进水阀、出水阀、热水阀的开闭,从而实现太阳能热水器和燃气热水器供水的全自动切换。下位机可以通过串口将数据传送到配网成功的ESP8266-01S模块,将数据上传至onenet服务器上,移动端通过获取服务器上的数据并显示在微信小程序的窗口中。实现了远程的控制和查询功能。
图1 系统的总体框架图
2. 系统的硬件设计
系统的下位机部分主要包括控制模块、温度液位检测模块、显示模块等。下位机控制模块采用STM32F103RCT6作为主控芯片,温度液位检测模块采用电阻式温度液位传感器检测家用热水器中的水温及水位,并传递给单片机,单片机控制显示模块1.8寸TFT屏显示家用热水器中水温及水位。当水位低于预设值,单片机发送电信号给继电器1打开,出水阀关闭,进水阀打开,如果水温低于预设值,继电器2打开,热水阀打开。通过串口,下位机可以将此时的热水器中的水温水位通过ESP8266-01S模块使用MQTT协议递给云服务器(ONENET),上位机实时获取服务器上的温度液位数据,实时在窗口显示。
无线传输模块采用ESP8266-01S,它是一款超低功耗的UART-WiFi透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能[1]。其引脚功能如表1[3]所示。
表1 ESP8266引脚功能表
将ESP8266-01S模块的RX引脚与单片机串口2的TX引脚(PA2)相接,TX引脚与串口的RX引脚(PA3)相接,供电VCC3.3V,并将模块的使能引脚CH端口与VCC3.3V相接拉高使能,将IO2引脚与单片机共地,完成模块与单片机芯片的连接。其硬件连接图如图2所示:
图2 ESP8266-01S硬件连接图
对ESP8266-01S模块,刷入基于MQTT(Message Queuing Telemetry Transport)协议的MQTT的AT指令,将JSON数据报文上传至创建的个人ONENET服务器。基于JSON格式的AT指令配置如表2所示。
表2 发送的JSON报文格式表
3. 系统软件设计
3.1 下位机设计
软件部分采用C语言进行编写,开发环境选择Keil5采用单片机进行采集温度液位信号。
温度采集采用电阻式温度传感器的ADC采集口,液位为电阻式液位传感器的ADC采集口。单片机将采集到的幅值通过公式转换为相应的温度值,液位为比例显示。
下位机设计燃气和太阳能热水器控制系统,该控制器控制设备包括1阀:进水阀;2阀:热水阀;3阀:出水阀;继电器1:R1;继电器2:R2;控制物理量包括温度:T;液位:L;并可以在控制行设定预设温度:YT;预设液位YL。
通过单片机直接控制继电器间接控制电磁阀,当液位低于预设值时,继电器1打开,控制进水阀打开,出水阀关闭;当温度低于预设值时,继电器2打开,控制热水阀打开,将燃气热水器中的热水注入太阳的热水器中,使水温达到适宜洗澡的温度。采用单片机与传感器的使用,通过继电器智能控制阀门的开关状态,可以让人们随时洗上热水澡,而不要花费太多时间去等待上水加热过程。表3为控制系统自动切换的的状态判断表,下位机的程序按该表进行编程实现。
表3 控制系统不同水温水位的继电器、阀门状态表
系统上电开始最初对系统初始化、外设初始化,传感器读取家用热水器中的温度液位值,通过TFT显示屏显示读取到的温度液位值和当前预设水水位、当前工作模式等,根据ADC采集的后利用公式转换后得到的温度液位值与预设值做对比并控制继电器的开关,从而控制电磁阀的开关。读取温度液位的同时,串口也会将温度液位信息发送给配好网络的ESP8266-01S模块,从而将数据上传至云服务器(ONENET)。下位机的程序流程图如图3所示。
图3 下位机控制程序流程图
3.2 上位机设计
图4 上位机控制程序流程图
在程序中设置下列变量:Apikey 为Esp8266发送的JSON指令报文的password,deviceid为JSON指令报文的设备ID,再定义一个状态变量deviceConnected和两个URL字符串变量deviceInfoURL、getDataStreamURL用来访问ONENET服务器和获取服务器上的数据流。
软件主要分为三个部分,主体程序如下:
①连接OneNet服务器:
通过wx.reques接口方法的实现,url请求定义好的deviceInfoURL(服务器中创建产品的地址)。hender中修改连接类型,和连接服务器设备所需要的APIkey。
②获取服务器数据:
通过wx.reques接口方法的实现,url请求获取定义好的getDataStreamURL(服务器产品中指定设备地址)设备中的数据。hender中修改连接类型,和连接服务器产品所需要的APIkey。
③更新窗口数据:
通过setData()方法,将读取到服务器指定的温度液位数据更新显示到wxml中所定义的'value.TempValue'和'value.HumdValue'的值并显示在小程序窗口上,达到实时更新显示的效果。上位机程序运行界面如图所示。
图5 上位机软件截面图
4. 结语
本控制系统的设计包括下位机和上位机部分,本系统电路设计简单、集成度高、调试响应速度大,精度达到了家用的正常水平,并通过WIFI模块将系统联网实时观看数据,具有一定的使用价值和应用价值。
[1]马天月. 基于ESP8266Wi-Fi芯片的物联网模块的设计与实现[D]. 上海交通大学, 2017.
[2]王荣海,罗金生,等. 基于STM32的网络天气预报系统的设计与实现[J]. 电子世界, 2019:110-113.
[3]曾庆源,谭万威,苏木雄.基于深度学习的便携式慢性疾病预测仪[J]. 计算机产品与流通, 2018:136-137.
[4]付雪松. 基于无线传输的光纤光栅传感系统技术研究[D]. 南昌:南昌航空大学, 2019.
[5]陈文澄,张辉,张晋滔. ESP8266 Wi-Fi模块在智能小车控制中的应用[J]. 工业控制计算机, 2019(7):134-136.
[6]张延顺,景加荣,等. 基于ESP8266的分子泵无线监控系统设计与实现[J]. 工业仪表与自动化装置, 2019(3):106-110.
Design of Gas and Solar Water Heater Control System Based on STM32
ZHOU Xian-fei & XIA Yue-wu & CUI Tao
For the design of a gas and solar water heater control system is designed, the data of liquid level and water temperature of the solar water storage tank collected by the sensor, through analysis and processing by the single-chip computer STM32f103rc, can be uploaded to the cloud server with the wireless communication module of ESP8266 for remote query and control. The aforementioned system has the advantages of simple circuit, high integration, stable operation, convenient commissioning and high detection accuracy. It can be connected to the Internet through WIFI module for watching the data in real time, which has a certain value in use.
control system; wireless transmission; ESP8266; wechat applet.
TP273+.5
A
1009-1114(2019)04-0044-04
2019-10-19
1. 周先飞(1982—),安徽繁昌人,副教授,主要研究方向为计算机测控等。
2019芜湖职业技术学院大学生创新创业项目成果转化计划(Wzcxcyzh201906);安徽省高校自然科学研究重点项目(KJ2018A0699);2019安徽省优秀青年人才资助计划(gxyq2019200);2018芜湖职业技术学院专业综合改革试点项目;2016安徽省大学生创客实验室建设计划(2016ckjh230)。
文稿责编 钱峰