2018年3月 第1期 河北水利电力学院学报 J0uRNAL OF HEBEI uNIVERsITY OF wATER RESOURCES AND ELECTRIc ENGINEERING Mar.2018 No.1 文章编号:1008—3782(2018)01一OO52一O5 基于Arduino单片机的太阳能热水器控制系统设计 王建强,张春茜 (河北水利电力学院电气自动化系,河北省沧州市重庆路1号061001) 摘要:为了适应不同地域的日照特点,有效利用太阳能,保证太阳能热水系统的运行稳定,设计了一种使用Arduino单片机检 测液位、温度,使用昆仑通泰触摸屏显示、控制的太阳能热水器控制系统。系统采用rnodbus485协议实现单片机与触摸屏的通 信,能根据系统时间自适应选择适合的季节运行模式,根据检测到的各项温度、液位值自动运行,包括电辅热自动接入、长期 停运时进入防冻循环等。为了适应不同的地域及用户需要,系统还可以根据需要及现场的情况由用户设定各项参数。根据实 际运行结果看,该系统能够有效保证热水供应,并减少电能的消耗。 关键词:太阳能;Arduino;触摸屏;液位;温度 中图分类号:TP273.5 文献标识码:A DOI:lO.16046/j.cnki.issn1008—3782.2018.01.011 近年来我国太阳能热水技术发展迅速,各式各样的热水器产品很多,但是同国外相比,无论在工艺、控制 器和功能设计上仍有相当的差距_】]。大部分的热水器都是采用单片机控制板作为控制器,控制模式简单、单 一;参数一经设定就很难更改,或者至少需要重新载人程序 。太阳能热水器的使用受季节的影响较大 ], 如果单纯地设定一个控制策略很难适应四季的日照变化,也不能使太阳能的利用率达到最高。而且我国幅员 辽阔,各地的气候情况不尽相同,也使依靠单一的控制模式不能达到好的控制效果。文中设计了一个使用 Arduino Mega 2560单片机系统作为检测液位和温度的核心板,使用昆仑通泰触摸屏作为控制单元的太阳 能热水器控制系统,不仅降低了控制器的成本,而且触摸屏的内置时钟可以为系统控制提供精确的时间参 数。该系统可根据时间选择对应四季的控制模式,当选定模式后还可以很方便地在触摸屏上更改控制系统的 各项参数,达到根据现场情况实时调整控制策略的目的;同时四季模式之间的切换时间也可以更改,以适应 不同地域的需要。现从控制系统的硬件、软件两个方面对该太阳能热水器控制系统的设计思路进行说明。 1 系统硬件设计 控制系统硬件包括检测模块、继电器、modbus485通信模块、触摸屏以及终端控制设备,系统原理框图 如图1所示。 由图1可知,检测模块由温度传感器和液位传感器以及Arduino核心板组成。检测模块检测的参数为温 度和液位,测温的传感器采用数字温度传感器DS18B20,主要测量太阳能集热器、水箱、上水管道、出水管 道、用户管道等7个部位的温度。DS18B20测量温度范围为一55。C~+125。C之间,每个传感器都有一个独 一无二的序列号,允许使用序列号查询不同的传感器,可以以菊花链的方式连在一起,几乎没有数量的限制, 而所有的传感器只占用一个Arduino的引脚,但是其与单片机连接需要一个上拉电阻,原理图中的上拉电阻 阻值为4.7 kQ。 为了准确显示液位,采用5个开关量液位传感器,分别显示水箱液位的1O ,30 ,6O ,9O ,100;,5。5 个开关量液位传感器分别接图1中的7~11引脚。 单片机采集到的传感器数据只是暂存在寄存器中,要实现单片机和触摸屏的信息交互,就要实现单片机 收稿臼期:201 7-11-30 修回日期:2018—01~09 基金项目:河北水利电力学院校级自然科学项目“基于网络通信的太阳能采暖系统研究”(SYKJ1701) 第一作者简介:王建强(1982一),男,河北行唐人,河北水利电力学院实验师,研究方向:智能控制、智能家居。E—mail wjqkaoshi@l63.corn 第1期 王建强等:基于Arduino单片机的太阳能热水器控制系统设计 53 同触摸屏的通信。系统采用modbus 185通信模块,单片 ̄-TL Ft'J,引脚输tB为T FI 电平,它的凄、写引脚不能直接 和触摸屏通信,需要一个TTI 转RS485的电平互换模块,将它的RX引脚接单』j 机的TX引脚 TX引脚接 片机的RX引脚,电源和接地对应相连。 图l 热水器系统原理图 系统的工作原理:检测模块将检测剑的温度和液位数值送到核心板,存放在指定寄存器巾,通过mod— bus,185协议 :实现触摸屏和核心板的通信.触摸屏滨取指定寄存器的监测数据后在屏上实时显示,并根据 控制策略更改单片机中相应寄存器的值,从而达到改变输出以控制继电器的目的。继电器与终端设备连接· 继电器控制的终端设备包括控制电加热器的接触器及水泵、电磁阀等。 2 控制系统软件设计 系统的软件包括2个部分:单片机程序和触摸屏程序。触摸屏中的程序主要实现系统的自动控制功能· 片机程序实现modbus485通信和8路DS18B20温度采集。 董 2.1 自动控制系统设计 触摸屏是系统的控制单元,采用MC( S的 TPC7062Z’X七寸屏。单片机检测到各部位的温 度值后传给触摸驿,触摸屏根据系统时间确定控 {序号l 没备通道 {谤写类型 谈写数据{寰写数据谤与数据琅写数据i裳写数据设写数据谈弓数据i 写数据诲写数据馕写数据谤写数据谜写数据;女 制策略并将控制数据发送给单片机以实现对继电 器的控制。传感器采集到的温度、液位等数据暂存 在单片机的奇存器中,要实现触摸屏同单片机的 信息交互就要使触摸屏的读写设备通道同单片机 的奇存器捆埘应.并设段为相同的数据格式。为_, 方便系统设计.将Arduino单片机中的1~200寄 ll ! 写4WUO000' 2 l 鸟4"W'UBOOOZ { ,I谴 4WUBO003 ;4 I谈写4WUB0004 5 i谤蜀4l" ̄VU80005 6 l涟写4lWUI ̄O006 7 I请写4WU80007 0 l谴写41% ̄J00008 g I 写4[3DOORS' {1 0}1 DO001t 11 f 1鸯写4DO001 3 1 2 I 写4DD001 5 —- I I } I I I l { I l l } ^l1nn }. 存器作为数据暂存的寄存器。将触摸屏的数据格 式设定为第|4区双字节读写型。部分数据设援如 图2所示. .确认州 取捎Jcl 帮助 图2触摸屏数据格式设置 太阳能热水器的效果受目照的影响差别 夫,而日照主要受时间、地域、季节的影响。所以要想得到较好 的控制效果.就要考虑这些因素。控制系统的流程如图3所示。 54 河北水利电力学院学报 从图3可以看出,系统在开始的时候检测日期,当 到达对应的月、日后则进入相应的季节模式。每个季节 模式又包括各自的自动运行模式和特有模式,根据系 统时间进入相应的模式。而日期和时间都可以在触摸 屏的参数设置界面方便地设置,使用户可以根据现场 情况自主设定,从而达到适应不同地域不同用户需要 的目的。各个季节模式的区别主要是电辅热的介入程 度及水泵、阀门的开关时间等。季节特有模式主要是针 对夏季的防炸管模式和冬季的防冻模式。比如某地某 用户在冬季晚上17:OO点后进入用热水高峰时间,在 晚上23:30后,就不再使用热水,则可以设定相应的时 间,当检测到进入冬季日期后则系统进入冬季模式,当 时间到达17:OO点后就进入冬季自动运行模式,当时 间到达23:3O后,由于室外温度低,且已不再使用热 水,就需要自动进入防冻模式。而夏季模式在相应时间 如果没有用户用水就只需要停止运行即可。 图3控制系统流程图 2.2单片机检测模块程序设计 单片机的程序主要实现DS18B20测温、modbus485通信协议以及继电器的控制端口设置等。其主要工 作过程为:单片机读取DS18B20检测到的温度,经过运算得到摄氏温度值后暂存在单片机的寄存器中,这些 寄存器同触摸屏的数据T1~T7对应;通过modbus485通信协议实现数据在触摸屏中的显示和赋值;触摸 屏处理数据得到的输出也要暂存在单片机的寄存器中,单片机根据相关寄存器的变化改变对应引脚的电平, 达到控制继电器的目的。单片机部分源程序如下: #include<0neWire.h> #include<SimpleModbusSlave.h> int cewen pin=13; float celsius,fahrenheit; enUrn { ADC—VAI , PWM—VAI , HOLDING REGS SIZE }; int holdingRegs[2 OO]; const int buttonPin一22: void setup(void){ Seria1.begin(9600); modbusconfigure(b-Serial,9600,SERIAL8El,1,2,200,holdingRegs); pinMode(buttonPin,OUTPUT); pinMode(24,OUTPUT); pinMode(26,OUTPUT); pinMode(28,OUTPUT); pinMode(3O,OUTPUT); pinMode(32,OUTPUT); 第1期 王建强等:基于Arduino单片机的太阳能热水器控制系统设计 55 pinMode(34.0UTPUT): pinMode(36。OUTPUT): int sensorValue—analogRead(A0); float sensorValueDianya—scnsorValue*50/1 024.0: .int seI1sorValueI)ianya10一sensorValueDianya*10; holdingRegs:30:一sensorValuer)ianya1o; cewenp[n一13; inputSet(); modbus update(); f 其中void setup(void)为ARDUIN()单片机编程语言的设置程序,void loop() 函数为程序运行循环部分。 3运行效果分析 根据上述的热水器控制系统功能.设计热水器控制系统的自动控制界面。运行效果如图4所示。 图 控制系统自动运行界面 通过实际运行可以看到系统的出水温度始终保持恒定.而且在进入夜晚以后就自动进入循环模式以节 省电能。在夏季的时候当热水器巾的水温超过设定值时也不再循环.起到了防炸管的作用。通过验证得出. 文中设计的热水器控制系统在冬季防冻、夏季防炸管的功能显著.在晚上根据用户自主设定时间自动停止运 行 能够有效W省电能。 .4 结论 文中在分析已有太阳能热水器控制系统的不足的基础上,设计了一种使用Arduino Mega 2560检测温 度、液位-使用昆仑通泰触摸屏作为控制 元,采用modbus485通信的太阳能热水器控制系统._井给出了系 统的硬件原理 和控制系统流程图。该系统能根据设定的日期自动进入适合的季节运行模式,根据现场的气 候特点及使用情况自主设置运行参数。从而达到即满足供应热水需要又尽叮能地利用太阳能资源节约电能 56 河北水利电力学院学报 2018 的目的。这套系统在实验室环境中运行良好,经过近一年的运行检验,其效果稳定,能够满足实际运行的 需要。 参 考 文 献 [1 赖晓勇,姜周曙.多模式多策略太阳能热水控制器的设计f-J].现代电子技术,2014(12):150—153. E2] 王公堂.基于PIC16C72A的太阳能热水工程控制器的设计_J].现代电子技术,2008(13):1i0一ll3. [3] 侯志敏,夏薇,黄波.大型太阳能热水工程控制系统设计口].现代电子技术,2011(18):204—206. [4] 张瑞芳,赵杰.国内外太阳能热水系统控制器对比[J].太阳能,2011(12):50—51. [5] 关健,蔡声镇.面向集群应用的太阳能中央热水工程控制器的设计与实现Ij],福建师范大学学报(自然科学版),2011,27 (2):66—69. 6] 孔祥强,郝天熙,李瑛,等.全玻璃真空管太阳能热水系统实验平台设计Lr-J q.实验室研究与探索,2016,35(7):56—59. [7] 岳效龙.太阳能热水系统运行保证率影响因素分析FA].给水排水,2016,42(7):81—83. [8 吴志杰,王新霞,孔凡敏,等.多路隔离的Modbus协议转换器的设计[J]_电子技术应用,2016,42(1o):77—79. [9] 鲁刚强,王万岗,冉会中,等.一种RS485总线通讯终端的设计[J].中国农机化学报,2016,37(5):227—231. Design of Solar Water Heater Control System Based on Arduino Singl e Chip M icrocomputer WANG Jian-qiang,ZHANG Chun—qian (Department of Electrical Automation.Hebei University of Water Resources and Electric Engineering,061001,Cangzhou.Hebei,China) Abstract:In order to adapt to the characteristics of sunshine in different regions,and effectively use the solar energy to ensure the stabile operation of solar hot water system,a solar water heater control sys— tem is designed by using Arduino microcomputer to test level,temperature,and by using Kunlun Wotai touch screen to display and contro1.The system adopts modbus485 protocol to realize the communication between SCM and touch screen.According to the system time,it can select the suitable seasonal operation mode adaptively.According to the detected temperature and liquid level,the system runs automatically, including automatic access of electric auxiliary heat and long—term outage into the antifreeze cycle.In order to adapt to different regions and user needs,the system can also ensure the users to set up the parameters based on the needs and site conditions.According to the actual operation results,it can effectively guaran— tee the hot water supply,and reduce the use of electricity. Keywords:solar energy;Arduino;touch screen;liquid level;temperature (责任编辑:姜久超)