基于模糊控制算法的温度控制系统的设计 自动化专业毕业设计 毕业论文.docx
《基于模糊控制算法的温度控制系统的设计 自动化专业毕业设计 毕业论文.docx》由会员分享,可在线阅读,更多相关《基于模糊控制算法的温度控制系统的设计 自动化专业毕业设计 毕业论文.docx(9页珍藏版)》请在冰点文库上搜索。
基于模糊控制算法的温度控制系统的设计自动化专业毕业设计毕业论文
基于模糊控制算法的温度控制系统的设计自动化专业毕业设计毕业论文
基于模糊控制算法的温度控制系统的设计
电气自动化专业
摘要:
以AT89C2051单片机为模糊控制器,结合温度传感变送器、A/D转换器、LED显示器、固态继电器等,组成一个基于模糊控制算法的温度控制系统。
在此系统中,单片机将给定的温度与测量温度的相比较,得出偏差量。
然后根据模糊控制算法得出控制量。
采用模拟的PWM控制方法,改变同一个周期中固态继电器的导通时间,从而调节电炉温度,达到控制的目的。
从仿真结果可以看出,系统达到了预期目标。
关键词:
单片机;模糊控制;测量变送
Abstract:
UsingtheAT89C2051singlechipcomputerastheFuzzycontroller,withtemperaturemeasureandadjust-convectioninstrument,A/Dtransformer,LEDdisplayer,solidswitchandsoon,formatemperaturecontrolwhichbasedonFuzzycontrolarithmetic.
Insuchsystem,thesinglechipcomputereducethecontrolvaluebasedonthedifferencebetweentheinitializationandthemeasurevalue.SolidswitchusedasaanalogPWMconverterexecutor,changetheclosetimeinadecidedperiods,whichaimedatcontrolthetemperature.
Seenfromtheemulationresult,systemhasreachthetarget.
Keywords:
Singlechipmicrocomputer,Fuzzycontrol,measureandadjust-convection
1引言
温度控制在工业自动化控制中占有非常重要的地位。
但是其控制对象存在着很大的时滞性和对象模型的不精确性[1],采用一般的控制方法如PID控制,都不能很好地满足要求。
将模糊控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重的滞后现象,在提高采样频率的基础上可以很大程度的提高控制效果和控制精度[2]。
基于模糊控制算法的温度控制系统的设计达到的目标:
(1)被控对象可以是电炉或燃烧炉,温度控制在0~100℃,误差为±0.5℃;
(2)恒温控制;
(3)LED实时显示系统温度,用键盘输入温度;
(4)采用模糊算法,要求误差小,平稳性好。
2模糊温度控制系统的组成
TL2551
89C2051
固态继电器
LED显示
DDZ—Ⅲ热电偶温度变送器
键盘
电炉
温度
图1模糊温度控制系统的组成
2.1硬件组成
系统硬件由单片机、A/D转换器、LED显示器、集成的热电偶温度变送器、固态继电器、大功率发热器、LED显示器等组成。
如图1所示。
2.2工作原理
由集成的热电偶变送器对系统温度进行检测,并完成信号标准化、变送功能。
单片机执行模糊控制功能、由固态继电器控制大功率发热器电源的导通与断开,从而达到控制温度的目的[3]。
其主要特点有:
(1)在完成所要求的任务的基础之上还有着结构简单、明了的特点,很容易实现,而且在一定的程度上节约成本。
(2)由于采用了离线的方法进行模糊运算,实现起来较容易。
(3)采用了无污染能源,保护环境。
同时也省去了为建造燃料供应子系统的费用,节约了成本。
采用了模拟的PWM变换,和固态继电器。
可以将采样频率提高到很多的水平,使控制精度更高、实时性更好。
3系统设计
整个系统由软件和硬件两部分组成。
3.1硬件设计
系统硬件由电源电路,温度检测变送电路、模数接口转换电路、单片机最小系统和人机接口等部分组成。
系统原理框图如图2所示。
3.1.1温度检测与变送环节
DDZШ热电偶温度变送器可以把温度转换成统一的标准信号(DC4~20mA或DC1~5V),其输出送显示仪表或调节器,调节器实现对温度的显示或自动控制。
DDZ-Ш热电偶温度变送器具有热电偶冷端温度补偿、零点调整、零点迁移、量程调整以及线性化等重功能[4]。
3.1.2模数转换接口电路
按照设计指标,精度要求在±0.5℃。
用12位A/D器,其输入电压为0~5V时对应的输出为0~4096,设计要求温度控制在0~100℃。
我们可以将100℃时A/D输出为1000,这样其精度可以达到0.1℃,完全满足设计的要求。
前面已经说明变送器的输出为1~5V,所以可以调节送器的量程,0℃时变送器输出为1.22V,而A/D转换的输出为1000;100℃时输出2.44V,A/D输出为2000。
通过以上设定,在保证了很大的裕量的同时又减小了其计算的复杂性。
其输出值=温度×10,运算的时候根本不用采用浮点数运算,只要一个双字节无符号数减法、除法即可以完成,且在显示的时候也可以精确显示到小数点后面一位[4]。
3.1.3人机交互接口
(1)本显示电路共设了四位,分别用于显示温度的百、十、个、小数位。
所以显示的温度可以精确到小数点后一位,即0.1℃。
(2)键盘在系统功能的实现过程中起着不可或缺的作用。
在硬件上,采用串行接口,由一个74HC164,其8个输出口作为矩阵键盘的列线,再由89C2051的P1.1、P1.2作为行线组成,每根线上都加一个上拉电阻,用于减小干扰。
整个键盘共设16个键。
0~9数字键、设定、上限、下限温度键、下翻、关机键、确认键[5]。
(3)为使系统的人机交互界面更好,设置了两路报警信号,显示越限报警(当系统温度超过或低于上、下温度时)和误输入报警(发生无输入报警时)。
3.1.4执行机构
执行机构为一个固态继电器,程序中采用了模拟的PWM变换方法。
通过控制固态继电器的导通与关断达到控制电炉的通电和断电的目的。
开始
初始化,开中断
移入设定值并显示
调用键盘子程序
结束
图3主程序流程图
3.2软件设计
系统的软件部分以主程序为入口,在初始化之后调用键盘管理程序,完成对键盘的扫描,读入键值,并根据相应的键值进行各类操作。
温度采样频率由定时器控制,在每一次采样完成之后进行模糊控制时间的计算和显示刷新。
3.2.1主程序
主程序作为程序的入口,控制各类程序的调用。
在系统中其主要的任务是调用键盘管理程序。
键盘管理程序再扫描键盘完成用户要求的任务。
如图3所示。
3.2.2串行A/D转换芯片的驱动和其输出值的量化
(1)TLC2551的驱动
前面已经说明系统中采用的A/D转换芯片是串行的,所以在使用时必须按照其时序一步步的完成,由图可以看出,在第6个脉冲时将12位的高4位移入存储器中,到第14个脉冲时移入低8位脉冲。
时序如图4所示。
(2)A/D转换值到温度的量化子程序
当读入A/D转换值后,将转换值减去1000,再将其结果除以10,取商和余数。
分别作为温度的整数部分和小数部分,然后用同样的办法求出个、十、百位。
3.2.3键盘管理子程序
键盘有数字键和功能键。
此程序用于判断输入的键是功能键还是数字键,如果是功能键则选择相应的功能或者在误输入的情况下报警,提醒操作者。
3.2.4定时中断应答子程序
(1)定时中断0中断服务子程序
定时中断0用于等周期的进行A/D转换(即温度的采样点数固定),并将采样后的值作为模糊输入量,再由模糊控制程序实现由输入量到输出量的计算,再将计算出的控制量存储在fuzztime寄存器中。
并调用显示程序刷新当前系统的温度。
整个程序为顺序执行。
(2)定时器1中断服务子程序
定时器实现了模拟的PWM变换。
即定时器1中存在一个周期时间(为20*10ms)。
在这个时间内定时器1在fuzztime个周期的时间内将执行器通电,其余的周期时间(20-fuzztime)执行器不通电。
3.2.5模糊运算子程序
模糊运算程序实现了由A/D转换值到模糊控制值的运算。
其中包含了求差量化和查模糊表等子程序。
偏差e=现行温度值─设定温度值,其模糊集合可以表示为{负大(NB)、负小(NS)、零(Z0)、正小(PS)、正大(PB)}并将其大小量化为九个等级:
-4,-3,-2,-1,0,+1,+2,+3,+4。
其论域E为E={-4,-3,-2,-1,0,+1,+2,+3,+4}。
根据熟练操作人员手工控制经验,模糊控制规则如下:
1)IFE=NBTHENU=PB
2)IFE=NSTHENU=PS
3)IFE=ZOTHENU=ZO
4)IFE=PSTHENU=NS
5)IFE=PBTHENU=NB
上述模糊控制规则为一多重模糊条件语句,则由偏差量E到控制量U的模糊关系R可以表示为:
实际运用过程中,可以将-4~4量化为0~8,减少符号数的运算。
另外为了减少程序,可由差值e量化后直接求出控制量,而不必要对控制量进行反量化,具体过程如表1所示。
表1简化后的实际温差与实际输出的关系表
实际温差(℃)
-5
-0.5
-0.2
-0.1
0
+0.1
+0.2
+0.5
+5
e
0
1
2
3
4
5
6
7
8
实际输出
20
10
5
3
2
1
0
0
0
注:
数值为每20个周期内的导通周期数
模糊运算子程序与求差量化子程序的流程图如图6和图7所示。
此外还包含了各类子程序如用于读写片外E2PROM的读写程序及键盘扫描程序、显示数据的显示子程序及配合芯片时序的延时子程序等,这里不一一详述。
4系统仿真与分析
系统仿真结果如图8所示。
(1)可以看出当第一次测试时,由于参数不准,所以出现了误差较大,达不到系统指标。
而经过不断调整参数,系统达到了预期的控制效果。
(2)当参数调好后,重新设置输入温度。
可以看出在t1以前系统全速加热,但由于自然散热,曲线并不是直线。
而温度上升到48℃时上升斜率减小,到相差0.5℃时更小,最终系统误差在0.5℃以内。
综上所述,系统采用模糊控制算法,在控制精度上完全达到了控制要求。
5结论
基于模糊算法的温度控制系统,利用温度传感变送器,将采样到的温度信号输入到单片机中,再由单片机作为模糊控制器,根据测量温度与设定温度的差值和模糊算法生成控制信号,控制电炉的通电与断电。
整个系统结构紧凑、所用芯片少、控制精度高。
在键盘、A/D转换、显示电路上都采用了串行方式,从而减小了单片机口线的使用,也使使用口线小的单片机成为可能,减小了成本开支。
很显然,基于模糊算法的温度控制系统能够满足一般温度控制系统的要求,其有着控制精度高、算法简单、成本低的优点,有着很大的市场前景。
当然,系统同时也存在几点缺点。
在选择模糊控制器时用了速度相对较慢的单片机,而没有采用速度更快的工控机,一定程度上降低了采样频率。
采用了89C2051,一方面系统更紧凑但同时系统的可扩展性大大降低;采用了经典的模糊控制理论,虽然算法简单,但如果采用更先进的模糊算法,如模糊PID,则控制精度会更高。
参考文献
[1]章卫国.模糊控制理论与应用[M].陕西:
西北工业大学出版社,1999.10:
10-12,78-79
[2]刘曙光,魏俊民.模糊控制技术[M].北京:
中国防治出版社,2001.6:
20,24
[3]LeonhardW.ControlofElectricalDrivesSpringer-Verlag,1985:
73
[4]郁有文,程继红.传感器原理及工程应用[M].西安:
西安电子科技大学出版社,2003.7:
20-30
[5]吴炳胜,王桂梅.80C51单片机原理与应用[M].北京:
冶金工业出版社2001:
3-4
[6]赵晶.PROTEL高级应用[M]:
人发邮电出版社,2002.12:
224-226