摘 要: 针对水温控制系统的控制对象具有热存储能力大、惯性大、时变的特点,使用常规的PID调节器难以实现水温稳定的自动控制。设计一种以STC89C52单片机为核心、采用模糊控制算法的水温控制系统,并阐述模糊控制理论的思想和系统的硬、软件设计。实验表明,该系统具有良好的控制性能,能够实现温度的准确测量及稳定自动控制,能够推广应用于工业控制系统以及热带鱼养殖的恒温环境中。
关键词: 水温控制;模糊控制;STC89C52单片机;LCD1602;DS18B20
温度控制系统属于纯滞后系统,采用经典控制理论设计的控制器会因实际的工业生产当中有许多系统难以建立准确的数学模型而难以实现温度稳定的自动控制[1-2]。模糊控制应用在具有明显的非线性系统以及滞后环节(如水温控制系统)中可以获得很好的控制性能。
由于水在加热过程中难以获得精确的数学模型,控制参数变化范围大,采用传统PID控制难以解决系统稳定性和准确性的问题[3]。本系统充分发挥模糊控制的鲁棒性好、动态响应好、上升时间快和超调小的特点,在实际应用中取得了较好的效果。系统还具有成本低、可移植性强等特点。
1系统硬件设计
系统选用与MCS-51系列兼容的STC89C52单片机,它是一种低功耗、高性能、CMOS 8位微处理器[4]。本文就通过STC89C52单片机来实现自动控制水温系统的设计,使水温能够在30℃~90℃实现恒定温度调节。该自动控制水温系统能及时反映当前系统工作区的温度信息,温度信息通过液晶屏直观地显示给用户,用户可根据自己对水温的实用要求,通过键盘自行设定温度,还设置了温度超限报警,系统结构如图1。
1.1 电源模块
本次设计涉及的电压有直流5 V、12 V及交流220 V三种电压。为节约硬件资源,简化电路,利用变压器降压经过桥式整流后通过三端稳压管得到5 V和12 V的电压。采用L7805稳压模块进行稳压,经过L7805降压至5 V直接为单片机供电,线路简单,如图2所示,单片机工作稳定,不会因电压不稳定而出现反复复位的情况。
1.2 系统电路设计
系统采用按键输入设定温度,液晶显示屏LCD1602上实时显示预设温度和由DS18B20测得的实时水温。通过测取温度误差,经过模糊算法来控制执行器件的具体操作。当控制温度低于30℃或是高于90℃时,系统会通过蜂鸣器报警。系统控制电路设计如图3所示。
2 系统软件设计
2.1 模糊控制的原理
模糊控制理论的基础是模糊集合理论,由美国加尼亚大学ZADEH L A教授于1965年首先提出,1973年他给出了模糊控制的定义及相关定理[5]。1974年,英国MAMDANI E H首先用模糊控制语句设计模糊控制器,并成功用于锅炉和蒸汽机的控制,这一工作标志着模糊控制理论的诞生[6]。模糊控制系统基本结构如图4所示。
由于人的经验一般是用自然语言来描述的,因此,基于经验的规则也只能是语言化的、模糊的。运用模糊理论、模糊语言变量和模糊逻辑推理的知识,就可以把这些模糊的语言规则上升为数值运算,从而能够利用计算机来完成对这些规则的具体实现,达到以机器代替人对某些对象进行自动控制的目的[7]。
在整个模糊控制系统中,其控制步骤为:计算机中断采样获取被控制量的精确值,然后将此量与给定值比较得到误差信号e。一般选取误差e作为模糊控制器的一个输入量。把误差信号e的精确量进行模糊化得到模糊量,误差的模糊量可用相应的模糊语言来表示。至此,得到了误差e的模糊语言集合的一个子集E,再由E和模糊控制规则R(模糊关系),根据推理的合成规则进行模糊决策,得到模糊控制量U为:
其中,U为一个模糊量。为了对被控对象施加精确的控制,还需将模糊量U转化为精确量,这一步称为去模糊化处理。得到了精确的数字控制量后,经数模转换为精确的模拟量送给执行机构,对被控对象进行控制。然后,不断中断对被控量进行采集和控制,就实现了对被控对象的模糊控制。
2.2 模糊控制器的设计
容器内水的温度通过脉宽调制PWM(Pulse-Width Modulation)技术调节电热丝上的发热功率,从而实现温度的自动控制[8]。模糊控制器的输入和输出均为精确的物理量。对于输入量,其变化范围一般为(-x,x), 。通常直接测取值为(a,b),并非完全对称,但总可经过式(2)转换成(-n,n)的连续变化量,其中(采用四舍五入取整处理),对于输出量也可作同样处理[9]。
根据水箱水温变化特点,设当前测量温度值为Ti、设定温度值为Ts、当前偏差为e(e=Ti-Ts),将e的结果划分为负大(记为NLe)、负中(记为NMe)、负小(负小NSe)、相等(记为Oe)、正小(记为PSe)、正中(记为PMe)、正大(记为PLe)7个等级,将所得的偏差范围按照式(2)进行论域规范化,得到X={-4,-3,-2,-1,0,1,2,3,4}共9个等级。
整个水箱的模糊控制系统结构示意图如图5所示。
模糊集合完全由隶属函数所表征,不同的隶属函数决定不同的隶属度,隶属度的大小能够比较正确、直观地反映事物的本质特征。本文采用正态形隶属函数分布,如图6所示。
建立当前偏差e的模糊集合,如表1所示。
将模糊控制输出量记为u,同理将输出u的变化范围进行规范化分为共9个等级,则U的模糊集合如表2所示。
模糊语言控制规则可归纳为:
将模糊关系集合记为R,为多段型[8],则R为:
采用四舍五入取整后的结果u'=-2,即在当前温度测量值Ti远高于温度设定值Ts时,采用PWM控制技术能比较大幅度地减小电热丝的发热功率,甚至开通制冷设备。
3 系统测试及结果分析
校验温度计:采用YAOHUA QUANQIN红色酒精液柱温度计,精度为±1℃,测温范围0℃~100℃,插入到水中与DS18B20处于相同水深。表3为系统测量温度与标准酒精温度计测量温度的对比。
对比表3中的实测温度与系统显示值数据可知,该系统的误差均控制在0.5 ℃以内。在对于存在干扰的状况,如突然加入冷水或热水,由于热量交换而导致的大延时情况下,控制系统具有较好的抗干扰能力,抑制非线性变化带来的影响。综合以上数据,此测温方法能够满足系统的需要,系统总体稳态性能良好。测试实物图如图7所示。
本文针对水温控制系统的控制对象具有热存储能力大、惯性大、时变的特点,使用常规的PID调节器难以实现水温稳定的自动控制。设计了一种以STC89C52单片机为核心、采用模糊控制算法的水温控制系统,建立并实现了简单易行、适合在单片机系统运行的模糊控制算法,系统可移植性强,硬件电路简单。经实验表明,算法水箱水温的控制精度、响应速度以及稳定性能等表现良好,可广泛推广和移植到工业以及热带鱼养殖恒温系统中。
参考文献
[1] 黎惠成,曾碧,吴清泉,等. 一种基于模糊控制的温度控制系统设计[J].计算机技术与发展,2009(19):236-239.
[2] 于光普,黎东升,尤传富. 智能水温控制系统的设计与实现[J].长春工业大学学报,2011(32):30-32.
[3] 张小娟. 一种基于模糊控制的温度控制系统设计[J].仪表技术与传感器,2010(11):76-78.
[4] 余永权,曾碧. 单片机模糊逻辑控制[M].北京:北京航空航天大学出版社,1995.
[5] 张恩勤,施颂椒,高卫华,等. 模糊控制系统近年来的研究与发展[J].控制理论与应用,2001(18):7-11.
[6] 郑亚林,黄德隆,郭健. Fuzzy推理的Mamdani算法[J].宝鸡文理学院学报(自然科学版),2001(21):168-173.
[7] 王春林,任洪波. 烟叶烤房温度模糊控制[J].控制工程,2012(19):1157-1160.
[8] 王兆安,刘进军. 电力电子技术(第五版)[M].北京:机械工业出版社,2009.
[9] 曹谢东. 模糊信息处理及应用[J].北京:科学出版社,2003:137-149.