倪 涛
(黄冈职业技术学院,湖北 黄冈 438002)
随着新能源的不断开发与利用,太阳能热水器已经大量普及使用。太阳能热水器在晴天利用太阳能进行加热,而在冬天或阴雨天等阳光不足的情况下,就需要使用有电能进行辅助加热。辅助加热控制系统有很多种,比较传统的是PID控制或开关控制,这两种控制方法都存在着明显的缺陷,首先是控制精度差,其次是控制效果不理想。模糊控制相对传统模式具有很强的优越性,对时滞性、非线性和大时变的控制都比较理想,随着家电产品中对模糊控制技术运用的越来越深入,模糊控制技术将成为智能家电的发展方向。本文利用单片机代替传统的开关控制系统,以控制电辅助加热,这种方法的优点有:稳态温度波动小、抗干扰能力强、达到设定温度的时间短、节省电能和反应灵敏等优点。
相比传统热水器温度控制系统,利用单片机对太阳能水温进行智能调节控制效果更明显且性能更为先进。而且,很稳控制系统可以解决冬天和雨天太阳能不足所导致的热水不足的问题。
本文所设计的恒温控制系统的控制中心为高性能单片机,型号为12C5A(宏晶公司生产),系统功能实现依赖于硬件设计和软件编程。前者主要包括四部分:控制模块、温度采集电路模块、液晶显示模块、预置电路模块;后者即软件编程采用单输入双输出的形式的控制算法来实现。
根据上述整体设计的要求和太阳能的工作特点,首先需要对水温进行实时检测,这项任务由温度传感器来完成,当热水器水温与用户设定的水温不同时,自动启动水温模糊控制系统。水温模糊控制系统控制精度高且响应速度快。如下图,该图为水温温度控制系统结构框图。从图1可知,热水器温度控制系统主要包括以下部分:温度采集电路、液晶显示、电源、预置电路、加热器及控制电路等,如图1。
图1 水温温度控制系统结构框图
本设计将温度检测单元置于热水器的开关,并在左侧、右侧和底部分别安装一个加热片,这样可以提高温度检测的准确性,避免加热不均所带来的温度检测误差。温度采集模块采集实时水温,当水温低于设定温度值则加热装置自动启动,相反,当水温高于设定温度值则加热装置自动关闭。本文采用DS18B20作为温度采集模块 来。该型号的智能温度传感器经过的一定的改进,温度测控范围广:为-55~125℃,温度检测精度高:可以精确到0.0675℃,本文拟设计的温度控制系统水温变动范围为 10~60℃,水温测控精度为 1℃,使用 DS18B20可以很好的满足该系统。DS18B20体积小,电压适用范围宽,可以直接读取被测物体的温度值,该温度传感器除了能够和传统的热敏电阻一样直接读出被测温度,还可以通过一定的编程实现数字值读数。
本文所设计的水温控制系统以单片机为控制中心,通过单片机控制继电器的通断最后控制加热棒的工作。具体方式是采用通断连接加热棒两端电压的方法进行控制,以实现对水加热;温度采集模块采集的实时温度值达到用户设定值时,单片机作为控制中心首先作用于继电器,再用继电器作用于自制恒温箱,当温度过高是还要作用于制冷片以达到水温降低的目的,这样就实现了对水温控制。
本文设计的温度控制系统键盘采用扫描键盘(3*3),将键盘模块与单片机进行连接,用引脚P1.0-P1.6就可以输入00.0-99.9℃范围温度设定值,也可以根据用户的要求随时对设定值进行更改。
显示模块由温度显示模块和始终显示模块两个部分组成。本系统采用MS12864R液晶屏作为温度显示模块,单片机的P2.3连接该液晶屏的RS引脚,单片机的P3.6连接EN引脚,单片机的P3.7连接RW引脚,时间、传感器检测温度值以及输入温度数值的显示都是通过该液晶屏实现的。
温度值的输入通过键盘实现,输入精度为0.1℃,本设计采用的是3*3键盘,键盘包括9个按键,每个按键的用途如下:按键1表示将水温温度十位数加1,按键2表示将水温温度个位数加1,按键3表示将水温温度小数点后一位加1,按键4表示将水温温度十位数减1,按键5表示将水温温度个位数减1,按键6表示将水温温度小数点后一位减1,按键7表示计时时间开始,按键8表示时间计时结束,按键9表示输入结束,进入控制。为了方便操作,键盘的输入同时会有提示声。
以上便是该温度控制系统的主要硬件部分,硬件搭配完成以后,温度控制系统功能的实现还依赖于软件的设计。
该系统的软件设计采用C51编程语言来实现,首先对模块进行初始化,然后调用读温度、处理温度、显示、按键和继电器各模块,最后实现对每一个模块的控制。如图2所示。
由图2可知,初始化时首先通过3*3的键盘系统进行输入设定,然后对否设定结束进行判断,判断设定完成则进入控制系统,该过程中采用模糊控制算法,对温度进行实时检测并将检测值显示于液晶屏,如果实时检测温度与用户设定值相同则控制过程结束并进入恒温保持阶段。
虽然该系统的控制中心12C5A系列单片机,具有高性价和高速度的特点,但是依然难于通过建立精确数学模型来达到控制温度的目的,这主要是因为两个原因:首先是无法直接精确检测热水器出口温度,然后是超调现象在系统温度加热时普遍存在。基于这些原因本文设计的控制系统对温度恒温控制的实现采用模糊控制算法。模糊控制中输入信号为温度偏差量和加热时间,输出量为不同温度调节器的工作状态,该模糊控制器设计为双输入单输出,如图3所示。
图2 水温控制系统主程序流程图
图3 模糊控制器示意图
以一个实例来说明模糊控制方式如何自动调节以实现水温恒温:现在家丁用户的设定温度值为61℃,温度收集模块的实时检测温度值为29℃,运用该设计通过实验从29℃至61℃的耗时平均为6分29秒,加热过程中,当温度收集模块的实时检测值显示超过61℃后加热系统就会停止工作,水温不再上升,然后温度降至60.8℃并一直保持在该温度。通过实验数据可以看出,模糊控制算法具有精度高、反应灵敏和高稳定性等优点。
[1]赵娜,赵刚,于正珠,等.基于51单片机的温度测量系统[J].微计算机信息,2007(1/2):146-148.
[2]赵亮,侯国瑞.单片机C语言编程与实例[M].北京:人民邮电出版社,2003:307-311.
[3]全国大学生电子设计竞赛组委会.基于单片机水温恒温控制系统[C]//全国大学生电子设计竞赛获奖作品汇编,2010.
[4]杨恒玲,胡燕瑜.基于单片机水温恒温控制系统[J].科技创新导报,2009,32(37):43-44.
[5]张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2006:55-78.