电气工程及自动化学院课程设计报告(控制基础实践)题目:基于大林算法的炉温控制仿真专业班级:自动化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大林算法Simulink.....................................103.2.2PID控制算法Simulink..................................113.3程序设计...................................................123.3.1大林算法编程..........................................123.3.2PID控制算法编程......................................143.4两种算法的比较.............................................16第四章总结.......................................................17致谢...............................................................18参考文献..........................................................19附录...............................................................201、大林算法程序................................................202、PID控制器算法程序...........................................20基于大林算法的炉温控制仿真实践1第一章系统方案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为正整数。由于大林算法的设计目标是使整个闭环系统的传递函数相当于一个带有纯基于大林算法的炉温控制仿真实践2滞后的一阶惯性环节,即,其中由于一般控制对象均与一个零阶保持器相串联,所以相应的整个闭环系统的脉冲传递函数是(1-3)于是数字控制器的脉冲传递函数为(1-4)D(z)可由计算机程序实现。由上式可知,它与被控对象有关。下面分别对一阶或二阶纯滞后环节进行讨论。一阶惯性环节的大林算法的D(z)基本形式当被控对象是带有纯滞后的一阶惯性环节时,由式(1-1)的传递函数可知,其脉冲传递函数为:将此式代入(2-4),可得(1-5)式中:T——采样周期:———被控对象的时间常数;———闭环系统的时间常数。二阶惯性环节大林算法的D(z)基本形式当被控对象为带有纯滞后的二阶惯性环节时,由式(1-1)的传递函数可知,其脉冲传递函数为基于大林算法的炉温控制仿真实践3其中,将式G(z)代入式(1-3)即可求出数字控制器的模型:(1-6)由此,我们可以设计出控制器的传递函数,利用MATLAB工具在SIMULINK里画出整个控制系统,给定一个阶跃信号就可得到整个控制系统的响应曲线。1.3PID算法根据偏差的比例(P)、积分(I)、微分(D)进行控制(简称PID控制),是控制系统中应用最为广泛的一种控制规律。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能得到满意的效果。不过,用计算机实现PID控制,不是简单地把模拟PID控制规律数字化,而是进一步与计算机的逻辑判断功能结合,使PID控制更加灵活,更能满足生产过程提出的要求。它的结构如图1.1所示:图1-1PID结构图在计算机控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为基于大林算法的炉温控制仿真实践4差分方程。数字PID增量型控制算式为)2()1(2)()()1()()1()()(ukekekeKkeKkekeKkukukDIP(2-7)式中1PK称为比例增益;IPITTKK称为积分系数;TTKKDPD称为微分系数。为了编程方便,可将式整理成如下形式)2()1()()(210keqkeqkeqku(1-8)其中TTKqTTKqTTTTKqDPDPDIP210)21()1((1-9)基于大林算法的炉温控制仿真实践5第二章设计流程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。基于大林算法的炉温控制仿真实践6图2-2PID算法程序设计流程图基于大林算法的炉温控制仿真实践7第三章设计过程及结果3.1GUI界面设计MATLAB可以创建图形用户界面GUI(GraphicalUserInterface),它是用户和计算机之间交流的工具。MATLAB将所有GUI支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。由窗口、光标、按键、菜单、文字说明等对象(Ob2ject)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。假如科技工作者仅仅执行数据分析、解方程等工作,一般不会考虑GUI的制作。但是如果想向客户提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面是最好的选择之一。Matlab为表现其基本功能而设计的演示程序demo是使用图形界面的最好范例。Matlab的用户在指令窗口中运行demo打开图形界面后,只要用鼠标进行选择和点击,就可浏览丰富多彩的内容。开发实际的应用程序时应该尽量保持程序的界面友好,因为程序界面是应用程序和用户进行交互的环境。在当前情况下,使用图形用户界面是最常用的方法。提供图形用户界面可使用户更方便地使用应用程序,不需要了解应用程序怎样执行各种命令,只需要了解图形界面组件的使用方法;同时,不需要了解各种命令是如何执行的,只要通过用户界面进行交互操作就可以正确执行程序3.1.1GUI界面的建立1、打开GUI或在MATLAB指令窗中运行guide得到如图3-1所示:图3-1创建GUI基于大林算法的炉温控制仿真实践82、选则BlankGUI空白GUI设计工作台,如下图所示,包含以下4个功能区:菜单条、编辑工具条、控件模板区、设计工作区。图形用户界面设计在该区域进行,引出图所示的界面设计工具。用鼠标拖动“工作区”右下角的“小黑块”,使工作区的大小与图与图大小相当。点击“轴Axes”控件图标,然后在工作区中的适当位置,拉出适当大小的绘图区。类似上步操作,通过