您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于大林算法的炉温控制仿真
电气工程及自动化学院课程设计报告(控制基础实践)题目:基于大林算法的炉温控制仿真专业班级:自动化101班姓名:周强学号:33号指导老师:杨国亮2012年12月22日摘要电阻炉在化工、冶金等行业应用广泛,因此温度控制在工业生产和科学研究中具有重要意义。其控制系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。采用单片机进行炉温控制,具有电路设计简单、精度高、控制效果好等优点,对提高生产效率、促进科技进步等方面具有重要的现实意义。常规的温度控制方法以设定温度为临界点,超出设定允许范围即进行温度调控:低于设定值就加热,反之就停止或降温。这种方法实现简单、成本低,但控制效果不理想,控制温度精度不高、容易引起震荡,达到稳定点的时间也长,因此,只能用在精度要求不高的场合。电加热炉是典型的工业过程控制对象,在我国应用广泛。电加热炉的温度控制具有升温单向性,大惯性,大滞后,时变性等特点。其升温、保温是依靠电阻丝加热,降温则是依靠环境自然冷却。当其温度一旦超调就无法用控制手段使其降温,因而很难用数学方法建立精确的模型和确定参数,应用传统的控制理论和方法难以达到理想的控制。在温度控制技术领域中,普通采用PID控制算法。但是在一些具有纯滞后环节的系统中,PID控制很难兼顾动、静两方面的性能,而且多参数整定也很难实现最佳控制。若采用大林算法,可做到无或者小超调,无或小稳态误差。大林算法是运用于自动控制领域中的一种算法,是一种先设计好闭环系统的响应再反过来综合调节器的方法。设计的数字控制器(算法)使闭环系统的特性为具有时间滞后的一阶惯性环节,且滞后时间与被控对象的滞后时间相同。此算法具有消除余差、对纯滞后有补偿作用等特点。本设计主要采用大林算法来实现炉温控制,并与PID算法进行比较。关键词:PID控制;大林算法;控制算法;MATLAB目录第一章系统方案11.1设计任务和要求11.2大林算法11.3PID算法3第二章设计流程52.1大林算法软件设计流程图52.2PID算法程序设计流程图5第三章设计过程及结果73.1GUI界面设计73.1.1GUI界面的建立73.1.2制作GUI界面93.2Simulink设计103.2.1大林算法Simulink103.2.2PID控制算法Simulink113.3程序设计123.3.1大林算法编程123.3.2PID控制算法编程143.4两种算法的比较16第四章总结17致谢18参考文献19附录201、大林算法程序192、PID控制器算法程序20第一章系统方案1.1设计任务和要求已知电阻炉对象数学模型为1)(TskesGs其中,k=12,T=400,60,电阻炉的温度设定为1000℃.要求:(1)设计大林控制算法;(2)设计PID控制器,并与PID算法进行比较;(3)改变模型参数,考察模型扰动下系统性能变化情况。1.2大林算法在一些实际工程中,经常遇到纯滞后调节系统,它们的滞后时间比较长。对于这样的系统,往往允许系统存在适当的超调量,以尽可能地缩短调节时间。人们更感兴趣的是要求系统没有超调量或只有很小超调量,而调节时间则允许在较多的采样周期内结束。也就是说,超调是主要设计指标。对于这样的系统,用一般的随动系统设计方法是不行的,用PID算法效果也欠佳。针对这一要求,IBM公司的大林(Dahlin)在1968年提出了一种针对工业生产过程中含有纯滞后对象的控制算法。其目标就是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节。该算法具有良好的控制效果。大林算法中D(z)的基本形式设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节,其传递函数分别为:(1-1)(1-2)其中为被控对象的时间常数,为被控对象的纯延迟时间,为了简化,设其为采样周期的整数倍,即N为正整数。由于大林算法的设计目标是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节,即,其中由于一般控制对象均与一个零阶保持器相串联,所以相应的整个闭环系统的脉冲传递函数是(1-3)于是数字控制器的脉冲传递函数为(1-4)D(z)可由计算机程序实现。由上式可知,它与被控对象有关。下面分别对一阶或二阶纯滞后环节进行讨论。一阶惯性环节的大林算法的D(z)基本形式当被控对象是带有纯滞后的一阶惯性环节时,由式(1-1)的传递函数可知,其脉冲传递函数为:将此式代入(2-4),可得(1-5)式中:T——采样周期:———被控对象的时间常数;———闭环系统的时间常数。二阶惯性环节大林算法的D(z)基本形式当被控对象为带有纯滞后的二阶惯性环节时,由式(1-1)的传递函数可知,其脉冲传递函数为其中,将式G(z)代入式(1-3)即可求出数字控制器的模型:(1-6)由此,我们可以设计出控制器的传递函数,利用MATLAB工具在SIMULINK里画出整个控制系统,给定一个阶跃信号就可得到整个控制系统的响应曲线。1.3PID算法根据偏差的比例(P)、积分(I)、微分(D)进行控制(简称PID控制),是控制系统中应用最为广泛的一种控制规律。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能得到满意的效果。不过,用计算机实现PID控制,不是简单地把模拟PID控制规律数字化,而是进一步与计算机的逻辑判断功能结合,使PID控制更加灵活,更能满足生产过程提出的要求。它的结构如图1.1所示:图1-1PID结构图在计算机控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。数字PID增量型控制算式为)2()1(2)()()1()()1()()(ukekekeKkeKkekeKkukukDIP(2-7)式中1PK称为比例增益;IPITTKK称为积分系数;TTKKDPD称为微分系数。为了编程方便,可将式整理成如下形式)2()1()()(210keqkeqkeqku(1-8)其中TTKqTTKqTTTTKqDPDPDIP210)21()1((1-9)第二章设计流程2.1大林算法软件设计流程图数字控制器是控制系统的核心,用它对被测参数进行自动调节,这里采用直接程序设计法继续设计。程序设计流程图如图1。初始化采集被控对象的输出InputfInputf延迟N步求E(k)=温度设定值-InputfU(k)=a0E(k)-a1E(k-1)+b1U(k-1)+b0U(k-U-1)输出U(k)E(k)1=E(k)U(k-N-1)更新画被控对象第J点输出InputfJ+1JPoint结束开始YN图2-1大林算法设计程序流程图2.2PID算法程序设计流程图PID控制算法种类繁多,各种控制条件下产生的响应又是有区别的。在本设计中采用的是普通PID控制算法。PID算法程序设计流程图如图2。图2-2PID算法程序设计流程图第三章设计过程及结果3.1GUI界面设计MATLAB可以创建图形用户界面GUI(GraphicalUserInterface),它是用户和计算机之间交流的工具。MATLAB将所有GUI支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。由窗口、光标、按键、菜单、文字说明等对象(Ob2ject)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。假如科技工作者仅仅执行数据分析、解方程等工作,一般不会考虑GUI的制作。但是如果想向客户提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面是最好的选择之一。Matlab为表现其基本功能而设计的演示程序demo是使用图形界面的最好范例。Matlab的用户在指令窗口中运行demo打开图形界面后,只要用鼠标进行选择和点击,就可浏览丰富多彩的内容。开发实际的应用程序时应该尽量保持程序的界面友好,因为程序界面是应用程序和用户进行交互的环境。在当前情况下,使用图形用户界面是最常用的方法。提供图形用户界面可使用户更方便地使用应用程序,不需要了解应用程序怎样执行各种命令,只需要了解图形界面组件的使用方法;同时,不需要了解各种命令是如何执行的,只要通过用户界面进行交互操作就可以正确执行程序3.1.1GUI界面的建立1、打开GUI或在MATLAB指令窗中运行guide得到如图3-1所示:图3-1创建GUI2、选则BlankGUI空白GUI设计工作台,如下图所示,包含以下4个功能区:菜单条、编辑工具条、控件模板区、设计工作区。图形用户界面设计在该区域进行,引出图所示的界面设计工具。用鼠标拖动“工作区”右下角的“小黑块”,使工作区的大小与图与图大小相当。点击“轴Axes”控件图标,然后在工作区中的适当位置,拉出适当大小的绘图区。类似上步操作,通过点击相应的“静态文本StaticText”、可编辑文本“EditText”、按键“PushButton”用鼠标拖拉出相应的控件,如图图3-2GUI空白页3、图形窗口和控件的某些参数进行设置双击工作区或控件可引出图形和相应控件的“属性编辑框PropertyInspector”。图显示的是轴属性的编辑框。图3-3属性框4、创建菜单点击“菜单编辑器”图标,引出空白菜单编辑对话窗点击“菜单编辑对话窗”最左上方的“新菜单NewMenu”图标,在左侧空白窗口中,出现“Untitled1”图标;再点击此图标,就在右侧引出类似于图右侧的填写栏;在“Lable”中填写Options;在“Tag”中填写optios;于是左侧的“Untiled1”图标变成“Options”图标。先点亮左侧的“Options”图标,再点击菜单编辑对话窗上的“心菜单项NewMenuIterm”图标,就引出待定义的菜单项;在左侧的“Lable”填写Boxon,在“Tag”填写box_on。重复该小步的操作,建立另一个菜单项Boxoff,如图:图3-4菜单项界面的激活和回调函数生成经以上操作后,工作台上所制作的界面外形及所含构件已经符合设计要求,但这个界面各构件之间的通讯还没有建立,为此必须激活处理。点击工作台上“激活ActivateFigure”工具图标,就引出2个界面:名为Myguil的图形用户界面;展示名为myguil的M函数文件的文件编辑器界面。在此同时,在当前目录上,由MATLAB自动生成2个文件,即Myguil.fig和目myguil.m。3.1.2制作GUI界面首先找到所需要的相应控件,然后根据自己的设计想法进行摆正控件。本设计中所需要的控件主要是按钮,文本,波形图以及输入框。按照自己的思路摆放成的总结面如下:图3-5大林算法总界面图3-6PID控制总界面3.2Simulink设计3.2.1大林算法Simulink根据设计任务要求,进行数学建模。首先是大林算法的,根据第一章介绍的算法过程中所得到的,进行数据代入,算出D(z)的最终表达式。并根据任务要求进行参数的填入,如图所示:设置控制温度为1000℃,系统时间周期为10,时间常数为60,最后得到大林算法的Simulink图:图3-7大林算法Simulink图运行得到波形图:图3-8大林算法Simulink下的波形图3.2.2PID控制算法Simulink同理进行PID控制器的Simulink进行设计,根据第一章所得到的公式)2()1(2)()()1()()1()()(ukekekeKkeKkekeKkukukDIP和TTKqTTKqTTTTKqDPDPDIP210)21()1(进行参数数据的定义。给出q0=P,q1=I,q2=D的数值,时间周期为10,时间常数为60,最后的Simulink仿真图为:图3-9PID控制算法Simulink图运行得到波形图:图3-10PID控制算法Simulink下的波形图
本文标题:基于大林算法的炉温控制仿真
链接地址:https://www.777doc.com/doc-6694382 .html