智能家居太阳能热水器控制系统设计

2019-10-23 03:20孙浩文
微型电脑应用 2019年10期
关键词:模糊控制热水器触摸屏

孙浩文

(陕西国防工业职业技术学院 电子工程学院, 西安 710300)

0 引言

快速发展的科学技术为生活水平的提高提供了强大支撑,智能家居系统随之逐渐发展并完善起来,智能家居领域中的智能平台呈现丰富多样的发展趋势,新的智能家居开放平台框架不断完善,在环保节能的大背景下,家居市场对太阳能等可再生环保能源的重视程度不断提升,太阳能作为清洁能源的一种,太阳能热水器逐渐得以广泛应用,太阳能热水器技术得以迅速发展,为满足智能家居控制需求,对热水器的智能控制是目前研究的重点之一。目前的太阳能热水器存在水箱容量与升温速度同步性较差问题,且易受阴雨天气影响,为满足多样化的生活需求,其加热控制多采用光电双能的方式,本文主要对太阳能热水器的智能控制过程进行了研究和设计[1]。

1 太阳能热水器控制系统设计

天气和季节变化会对太阳能强弱产生直接影响,为使全天候热水使用得以有效实现需对太阳能热水器添加辅助加热装置,目前开关式或PID控制为电辅助加热大多采用的方式,太阳能作为时变的复杂非线性变量的一种,使精确的使用数学模型描述太阳能热水器的工作过程难度加大(以集热和辅助加热为主),传统控制方式易出现难以满足实际控制需求的情况,而模糊控制作为非线性控制方法的一种,其智能化程度较高,在家用电器控制系统中应用较为广泛,控制效果较佳。本文主要对太阳能热水器控制系统进行设计,以太阳能热水器的实际应用情况为依据,完成了模糊智能太阳能热水器控制系统的设计,该系统的控制器采用单片机STC89C52RC,通过数字温度传感器(DS18B20)的使用完成温度测量,系统高精度时钟由DS12C887提供,控制量结合使用模糊控制算法获取,对水温的控制则通过PWM波对过零继电器进行控制进而控制加热棒的功率的方法实现[2]。

(1) 单片机系统

本文所设计的系统的智能控制器选用了单片机STC89C52RC(8051内核),由于在对太阳能热水器进行控制时,系统涉及的运算量较小,需要处理及保存的中间数据较少,因此无需外扩数据存储器,所使用的单片机内部RAM及E2 PROM即可满足需求。

(2) 温度控制执行器

本文系统通过使用零固态继电器(输入控制端为3~32 V、输出端为5 A/380 V/50~60 Hz)和加热棒(功率为 500~1 000 W)执行水温控制过程,通过对PWM波的占空比(由单片机产生)进行控制进而完成对交流过零继电器通断频率的控制,最终控制加热棒的功率完成温度控制过程[3]。

(3) 温度测量

选用具有较强抗干扰能力的DS18B20(数字温度传感器的一种),无需标定不必要温度,数据通信过程通过传感器的单总线接口并结合使用单片机分时复用原理实现。

(4) 时钟电路设计

以实现热水器热水的全天供应,本系统的控制器采用实时时钟完成准确的基准时间的提供,具体通过采用CMOS技术的DS12C887时钟芯片完成,在芯片内部集成时钟芯片所需的晶振、电池及电路,在降低系统功耗的基础上实现了时间的高精度控制,此外该时钟芯片还具备外围接口,可根据实际需要对时间进行设计,显著提高了系统的稳定性和时效性[3]。

2 模糊控制器设计

2.1 模糊控制原理

采用模糊语言变量的模糊控制器以模糊逻辑推理为主,太阳能热水器控制系统的控制器需以精确的数值表示输入、输出量,因此需完成精确量的模糊化(即输入变量到模糊语言变量的转换过程),在此基础上进行模糊推理以形成控制策略后,再进行去模糊化处理,完成控制策略到精确的控制变量值的的转换过程,同时控制输出控制变量,系统具体模糊控制过程如图1所示[4]。

图1 模糊控制系统结构

2.2 模糊控制器的实现

本文在设计太阳能热水器控制系统时采用了二维模糊控制器,模糊控制器的输入信号采用温度误差(由e表示)及误差变化率(由ec表示),输出控制量由U表示,单片机以获取的U值为依据完成输出PWM波的占空比的确定;输入信号还包括时间设置值,负责在时间上优化占空比。系统中变量的基本论域为输入/出变量的实际变化范围,本系统中e的基本论域为[-2,+2]、ec的基本论域为[-0.2,+0.2]、 控制量u的基本论域为[0%,100%]。

误差语言变量(由E表示)的模糊集合的论域取值范围为[-10,+10],误差语言变量的变化率(由EC表示)的模糊集合的论域取值范围为[-5,+5],控制量语言变量的模糊集合的论域取值范围为[0,5] 。控制系统的输出语言变量(由U表示)取 6 个的语言值,单片机PWM脚在U= 0 时输出低电平,交流过零固态继电器不导通(此时PWM波的占空比为零),因此不产生加热功率;PWM 波的占空比在U= 1 时为20%,依次类推到U= 5。本文通过使用Fuzzy Logic Toolbox(位于Matlab模糊逻辑工具箱)及预设模糊规则完成了模糊控制表的制定(即可适用于单片机C程序),程序只需完成E和EC的计算,在此基础上通过查表获取对应的控制量U,以有效满足实际程序设计需求,模糊控制程序具体流程如图2所示[5]。

图2 模糊控制程序流程

2.3 功率-时间控制的实现

太阳能热水器在未加入功率控制时的初始温度在18~25 ℃,通过上述模糊控制加热方式的使用需10~15 分钟完成到设定值(45℃)的加热过程。假设,水箱中水的质量由M表示,常压下水的比热容由C表示,模糊控制量为U,实际控制功率由P表示,加热器额定功率由P0表示,当时间设定(由t0表示)为15 min时,如式(1)、式(2)。

(1)

P=P0·U/5

(2)

系统向环境中的散热作用当水温较低时(最高温度Tmax不超过45 ℃)暂时可忽略不计,可得到式(3)。

(3)

实现温度-时间控制的关键在于确保ΔT在初始温度和设置时间条件不同的情况下大致保持定值,使用在不考虑散热影响的情况下,可对时间进行分档,具体档位表示为t=15k(min),需缩减功率为15分钟控制时的1/k(对于相应的功率控制), 当t=15k(min)时如式(4)。

(4)

在对初始温度的差异及散热影响(即不同环境下)进行考虑时,如果初始温度较高,本文程序中T0设定为超过22℃,此时的实时输出功率需在式(4)基础上进行略微减小,将k改为k+a(需在实际调试中以具体的水箱对象为依据同时结合控制过程采用的中断时间倍率确定a的值),针对PWM波中断时间单元为15 ms,设定其高电平持续最小时间为150ms,倍率为10,a的取值范围在0.2~0.6,因此有式(5)。

(5)

等号两边积分后为初始温度较高时温度控制式[6],表达式如式(6)。

(6)

3 系统的软件设计与实现

系统软件由单片机和触摸屏两个程序构成,系统自动控制功能由触摸屏中的程序实现,通信过程及DS18B20温度采集则由单片机程序实现。

3.1 自动控制系统设计与实现

作为太阳能热水器系统的控制单元,本文选用TPC7062TX屏(MCGS)作为触摸屏,由单片机完成检测到的各部位的温度值会传给触摸屏,触摸屏以系统时间为依据完成控制策略的确定后,向单片机传送控制数据,从而完成对继电器的控制。单片机的寄存器能够暂时存储相关数据(包括传感器采集到的温度、液位等),将单片机的寄存器对应上触摸屏的读写设备通道(设置为相同的数据格式)即可实现二者间的信息交互。为简化系统设计过程,本文以第4区双字节读写型作为触摸屏的数据格式。系统在运行初始时会对日期进行自动检测,根据系统检测到的月份进入对应的季节模式(包括自动运行模式和特有模式),用户可以现场情况为依据在触摸屏的参数设置界面自主设置日期和时间,从而使不同用户的多样性需求得以有效满足,不同的季节模式(针对夏季的防炸管及冬季防冻)以电辅热介入程度、水泵和阀门的开关时间等作为主要区别。如在冬季晚上某用户用热水高峰时间为从晚五点到11点,11点后则不再使用热水,此时可对相应的时间进行设定,系统检测到冬季日期及时间后自动切换到冬季运行模式,11点后则自动进入防冻模式。

3.2 单片机检测模块程序

测温、通信协议由单片机的程序负责实现,此外还需设置继电器的控制端口,主要工作流程为:通过DS18B20完成温度的检测后由单片机进行读取和简单运算,然后在单片机的寄存器中暂存所获取的摄氏温度值,并且寄存器同触摸屏的数据相对应;在触摸屏中数据通过modbus485通信协议完成显示和赋值过程,处理数据获取的输出同样在单片机寄存器中暂存,单片机以寄存器的变化情况为依据完成对应引脚的电平的改变,从而实现对继电器的的控制。根据单片机编程语言其检测模块的部分源程序如下[7]。

#include

#include

Int cewen-pin=13;

Float celsius ,fahrenheit;

enum

{

ADC-VAL,

PWM-VAL,

Holding-regs-size

};

Int holding regs[200];

Const int buttonpin =22;

Void setup (void){

Serial.begin(9600);

Modbus-configure(&serial,9600,serial8e1,1,200,holdingregs);

Pinmode(buttonpin,output);

Pinmode(24,output);

Pinmode(26,output);

Pinmode(28,output);

Pinmode(30,output);

}

Void loop()

{

Int sensorvalue=analog read (A0);

Float sensor value dianya =sensor value;

Int sensor value dianya10=sensor value dianya*10;

Hold ingregs [30]=sensor vslue dianya 10;

Input set();

Modbus - update ();

}

4 系统测试

为检测本文所设计的太阳能热水器控制系统的使用效率,对热水器的实际应用情况进行检测,并同普通家用热水器在温度判断及加热结果进行对比,测试结果表明在程序中对不同初始温度进行设置的情况下完成对应调整因子a值(2.3节所述)的选择,可使温度-时间控制过程得以有效实现,需在执行该控制过程功能前检测初始温度,并选择控制模式。检测结果表明单片机在开始加热前能够快速对水温值进行一定数量的采集,以初始温度18℃为例,模糊控制效果(设置时间为15分钟)如图3所示。

图3 实际控制效果图

在完成均值滤波的基础上确定系统加热的初始温度,从而实现调整因子取值的判断,相比于普通家用热水器(从18增加到45大概需要30分钟以上的时间),本文的控制系统通过调整因子取值加热时间缩短了50%以上,显著提升了太阳能热水器的控制效率及能源利用率。

4 总结

本文主要对太阳能热水器控制系统进行设计,本文以太阳能热水器的实际应用情况为依据,完成了模糊智能太阳能热水器控制系统的设计,该系统基于单片机STC89C52RC,通过数字温度传感器的使用完成温度测量过程,采用过零固态继电器对加热棒进行控制,完成对热水器辅助加热功能的模拟过程,从而能够根据设定的时间对输出功率进行智能调整使水温达到设定值。对液位、温度进行检测时使用Arduino单片机完成,太阳能热水器控制系统通过触摸屏显示,单片机与触摸屏使用modbus485协议完成通信过程,根据检测获取的温度、液位值可自适应选择运行模式,根据实际情况由用户设定各项参数或自动接入电辅热、进入防冻循环等,该系统能够有效控制温度,在降低电能消耗的基础上,有效保证了热水供应过程。

猜你喜欢
模糊控制热水器触摸屏
制动器液冷控制系统模糊控制策略
2.5D触摸屏盖板玻璃翘曲控制技术
基于变论域模糊控制的Taylor逼近型内模PID算法
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
谁应该为毁损的热水器负责?
皮肤“长”出触摸屏
太阳能热水器
自制一个太阳能热水器
身边的太阳能
358:基于图像识别的虚拟触摸屏系统