过程控制系统课程设计(锅炉汽包温度控制系统论文)Word下载.doc
《过程控制系统课程设计(锅炉汽包温度控制系统论文)Word下载.doc》由会员分享,可在线阅读,更多相关《过程控制系统课程设计(锅炉汽包温度控制系统论文)Word下载.doc(17页珍藏版)》请在冰豆网上搜索。
学号
学生姓名
张朝阳
专业班级
课程设计(论文)题目
锅炉汽包温度控制系统
选择控制对象,组成相应串级控制系统,要求完成:
1、确定控制目标。
2、选择测量参数(被调量)、操纵变量。
根据自己选定的系统来确定。
3、确定控制方案。
要求有所选控制方案的说明,简单论证。
4、选择控制算法。
确定控制方案后,要求完成调器选节型、调节器参数整定。
5、根据整定后的调节器参数及调节器类型确定控制算法,编制程序流程图、控制算法程序。
6、选择执行器。
7、控制系统调试及实验。
要求有设计完成后的系统的调试步骤的说明,实验结果的说明及实验数据。
8、按照学院课程设计要求,撰写课程设计说明书。
指导教师评语及成绩
成绩:
指导教师签字:
年月日
辽宁工业大学课程设计说明书(论文)
目录
第1章锅炉汽包温度控制系统设计方案 1
1.1系统设计方案概述 1
1.2锅炉汽包温度串级控制系统仿真 2
第2章锅炉汽包温度控制系统硬件设计 3
2.1系统对象特性设计 3
2.2系统检测回路设计 3
2.3控制器设计 5
2.4执行器选择 8
第3章锅炉汽包温度控制系统软件设计 9
3.1程序设计 9
3.2温度控制算法程序设计 10
第4章设计结论 13
参考文献 14
第1章锅炉汽包温度控制系统设计方案
1.1系统设计方案概述
本次设计采用串级控制系统对锅炉汽包温度进行控制。
过程控制系统由过程检测、变送和控制仪表、执行装置等组成,通过各种类型的仪表完成对过程变量的检测、变送和控制,并经执行装置作用于生产过程。
串级控制系统是两只调节器串联起来工作,其中一个调节器的输出作为另一个调节器的给定值的系统。
此系统改善了过程的动态特性,提高了系统控制质量,能迅速克服进入副回路的二次扰动,提高了系统的工作频率,对负荷变化的适应性较强。
串级控制系统工程应用场合如下:
(1)应用于容量滞后较大的过程。
(2)应用于纯时延较大的过程。
(3)应用于扰动变化激烈而且幅度大的过程。
(4)应用于参数互相关联的过程。
(5)应用于非线性过程。
正因为串级控制系统具有上述特点,所以本次设计采用串级控制系统对锅炉汽包温度进行控制。
采用单片机作为主控制器,锅炉汽包温度为主被控对象,上水的流量为副被控对象,电磁阀为执行器,利用AD590传感器检测汽包温度,利用流量传感器检测上水流量。
锅炉汽包温度串级控制系统框图如图1.1所示,系统原理图如图1.2所示。
图1.1锅炉汽包温度串级控制系统框图
图1.2锅炉汽包温度串级控制系统原理图
1.2锅炉汽包温度串级控制系统仿真
锅炉汽包温度串级控制系统仿真,积分环节Initial=0,两个检测变送环节参数设定时间常数T=0.01s,扰动通道传函为时间常数T=2s。
输入信号和扰动信号皆为单位阶跃信号。
扰动作用时间F1为steptime=50s,
仿真波形如图1.2所示。
图1.2串级控制系统仿真波形
第2章锅炉汽包温度控制系统硬件设计
2.1系统对象特性设计
锅炉汽包温度串级控制系统选择锅炉汽包温度为主被控对象,副被控对象为上水流量。
当锅炉汽包温度变化的时候,通过控制上水流量改变汽包温度,并最终使其恒定。
主被控对象:
锅炉汽包温度
=(2—1)
副被控对象:
上水流量
=(2—2)
2.2系统检测回路设计
2.2.1主控、副控回路检测环节传感器选择
主控对象检测元件选择为温度传感器AD590。
AD590是美国模拟器件公司生产的单片集成两端感温电流源。
它的主要特性如下:
1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:
mA/K式中:
—流过器件(AD590)的电流,单位为mA;
T—热力学温度,单位为K。
2、AD590的测温范围为-55℃~+150℃。
3、AD590的电源电压范围为4V~30V。
电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
4、输出电阻为710MW。
5、精度高。
副控回路检测元件选择电磁式流量传感器。
导电性的液体在流动时切割磁力线,也会产生感生电动势。
因此可应用电磁感应定律来测定流速,电磁流量传感器就是根据这一原理制成的。
虽然电磁流量传感器的使用条件是要求流体是导电的,但它还是有许多优点。
由于电极的距离正好为导管的内径,因此没有妨碍流体流动的障碍,压力损失极小。
能够得到与容积流量成正比的输出信号。
测量结果不受流体粘度的影响。
由于电动势是在包含电极的导管的断面处作为平均流速测得的,因此受流速分布影响较小。
测量范围宽,测量精度高。
2.2.2采样检测电路设计
为了达到测量高精度的要求,选用温度传感器AD590,AD590具有较高精度和重复性,超低温漂移高精度运算放大器0P07将温度一电压信号进行放大,便于A/D进行转换,以提高温度采集电路的可靠性。
采样检测电路如图2.1示。
图2.1采样检测电路
2.2.3A/D转换电路
A/D转换电路采用ADC0809转换器。
将采集来的模拟信号转换成数字信号输出转换完成的信号EOC经反相器接单片机的P3.2口,A/D转换电路如图2.2所示。
图2.2A/D转换电路
2.3控制器设计
选用单片机作为控制器,对锅炉汽包温度进行控制。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。
在温度控制系统中,单片机更是起到了不可替代的核心作用。
2.3.1CPU选择
单片机接受A/D转换电路输入的数字信号,并将输入的信号进行处理和运算,以控制控制电流或者控制电压的形式输出给被控制的电路,完成控电磁阀的任务。
本设计的单片机选用Atmel公司的AT89C51单片机,采用双列直插封装(DIP),有40个引脚与MCS—51系列单片机的指令和引脚设置兼容。
AT89C51引脚图,如图2.3所示。
图2.3AT89C51引脚图
2.3.2时钟电路
单片机的时钟信号用来提供单片机片内各种操作的时间基准。
AT89C51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1(X1)和XTAL2(X2)分别是此放大电器的输入端和输出端。
该反向放大器可配置为内部振荡。
在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,时钟电路如图2.4所示。
图2.4时钟电路
2.3.3复位电路
单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。
为了保证系统可靠复位,在设计复位电路时,一般使RESET引脚保持10ms以上的高电平,单片机就能实现复位。
复位操作有两种情况,即上电复位和手动(开关)复位。
本系统采用手动复位方式,复位电路如图2.5所示。
图2.5复位电路
2.3.4电源设计
由10V交流电供电,经过桥式整流,电容滤波,得到12V的直流电压,12V的直流电压与MC7805T芯片,以及电容相接,产生+5V电压,给系统供电。
图2.6电源电路
2.3.5单片机最小系统设计
单片机最小系统如图2.7所示。
图2.7单片机最小系统
2.4执行器选择
执行器选择气开型电磁阀,通过控制阀的开度来实现流量控制。
气开型是当膜头上空气压力增加时,阀门向增加开度方向动作,当达到输入气压上限时,阀门处于全开状态。
反过来,当空气压力减小时,阀门向关闭方向动作,在没有输入空气时,阀门全闭。
故有时气开型阀门又称故障关闭型。
气关型动作方向正好与气开型相反。
当空气压力增加时,阀门向关闭方向动作,空气压力减小或没有时,阀门向开启方向或全开为止。
故有时又称为故障开启型。
气动调节阀的气开或气关,通常是通过执行机构的正反作用和阀态结构的不同组装方式实现。
气开气关的选择是根据工艺生产的安全角度出发来考虑。
当气源切断时,调节阀是处于关闭位置安全还是开启位置安全。
本系统选择的阀为DFD系列液、气电磁阀其型号为DFD-15,其外形图如图2.8所示。
图2.8气开电磁阀外形图
第3章锅炉汽包温度控制系统软件设计
3.1程序设计
主程开始
初始化
采集温度
e=0?
调主PID控制程序
N
Y
输出
结束
采样流量
调副控制器算法程序
输出执行器
序流程图如图3.1所示。
图3.1锅炉汽包温度控制系统主程序流程图
3.2温度控制算法程序设计
本次设计采用增量式PID控制算法,来实现温度控制。
增量式PID控制算法公式如下:
(3-1)
程序流程图如图3.2所示。
图3.2温度控制算法程序
子程序入口
计算ee
计算
子程序返回
温度控制算法程序如下:
/*PIDFunction
ThePID(比例、积分、微分)functionisusedinmainlycontrolapplications.
PIDCalcperformsoneiterationofthePIDalgorithm.
WhilethePIDfunctionworks,mainisjustadummyprogramshowingatypicalusage.*/
typedefstructPID
{
intSetPoint;
//设定目标DesiredValue
longSumError;
//误差累计
doubleProportion;
//比例常数ProportionalConst
doubleIntegral;
//积分常数IntegralConst
doubleDerivative;
//微分常数DerivativeConst
intLastError;
//Error[-1]
intPrevError;
//Error[-2]
}PID;
staticPIDsPID;
staticPID*sptr=&
sP