基于大林算法的炉温操纵仿真_第1页
基于大林算法的炉温操纵仿真_第2页
基于大林算法的炉温操纵仿真_第3页
基于大林算法的炉温操纵仿真_第4页
基于大林算法的炉温操纵仿真_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电气工程及自动化学院课程设计报告(操纵基础实践)题 目:基于大林算法的炉温操纵仿真专业班级:自动化 101班 姓 名:周强学号:33号 指导教师:杨国亮2021年12月22日摘要电阻炉在化工、冶金等行业应用普遍,因此温度操纵在工业生产和科学研究 中具有重要意义。其操纵系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线 性等特点,致使传统操纵方式超调大、调剂时刻长、操纵精度低。采纳单片机进 行炉温操纵,具有电路设计简单、精度高、操纵成效好等优势,对提高生产效率、 增进科技进步等方面具有重要的现实意义。常规的温度操纵方式以设定温度为临界点, 超出设定许诺范围即进行温度调 控:低于设定值就加热,反之就

2、停止或降温。这种方式实现简单、本钱低,但操 纵成效不睬想,操纵温度精度不高、容易引发震荡,达到稳固点的时刻也长,因 此,只能用在精度要求不高的场合。电加热炉是典型的工业进程操纵对象,在我国应用普遍。电加热炉的温度操 纵具有升温单向性,大惯性,大滞后,时变性等特点。具升温、保温是依托电阻 丝加热,降温那么是依托环境自然冷却。当其温度一旦超调就无法用操纵手腕使 其降温,因此很难用数学方式成立精准的模型和确信参数,应用传统的操纵理论和方式难以达到理想的操纵。在温度操纵技术领域中,一般采纳PID操纵算法。可是在一些具有纯滞后环 节的系统中,PID操纵很难兼顾动、静两方面的性能,而且多参数整定也很难实

3、现最正确操纵。假设采纳大林算法,可做到无或小超调,无或小稳态误差。大林算法是运用于自动操纵领域中的一种算法, 是一种先设计好闭环系统的 响应再反过来综合调剂器的方式。设计的(算法)使闭环系统的特性为具有时刻 滞后的一阶惯性环节,且滞后时刻与被控对象的滞后时刻相同。 此算法具有排除 余差、对纯滞后有补偿作用等特点。本设计要紧采纳大林算法来实现炉温操纵,并与PID算法进行比较。关键词:PID操纵;大林算法;操纵算法;MATLAB目录第一章 系统方案 错误!未定义书签。设计任务和要求 错误!未定义书签。大林算法 错误!未定义书签。PID算法 错误!未定义书签。第二章 设计流程 错误!未定义书签。大林

4、算法软件设计流程图 错误!未定义书签。PID算法程序设计流程图 错误!未定义书签。第三章 设计进程及结果 错误!未定义书签。GUI界面设计 错误!未定义书签。GUI界面的成立 错误!未定义书签。制作GUI界面 错误!未定义书签。Simulink 设计 错误!未定义书签。大林算法Simulink 错误!未定义书签。PID操纵算法Simulink 错误!未定义书签。程序设计 错误!未定义书签。大林算法编程 错误!未定义书签。PID操纵算法编程 错误!未定义书签。两种算法的比较 错误!未定义书签。第四章总结 错误!未定义书签。致谢 错误!未定义书签。参考文献 错误!未定义书签。附录 201、大林算法

5、程序 错误!未定义书签。2、PID操纵器算法程序 错误!未定义书签。第一章系统方案设计任务和要求60,电阻炉的温度设定为1000c .已知电阻炉对象数学模型为其中,k=12, T=400,要求:(1)设计大林操纵算法; 设计PID操纵器,并与PID算法进行比较;(3)改变模型参数,考察模型扰动下系统性能转变情形。大林算法在一些实际工程中,常常碰到纯滞后调剂系统,它们的滞后时刻比较长。关于如此的系统,往往许诺系统存在适当的超调量,以尽可能地缩短调剂时刻。人们更感爱好的是要求系统没有超调量或只有很小超调量,而调剂时刻那么许诺在 较多的采样周期内终止。也确实是说,超调是要紧设计指标。关于如此的系统,

6、 用一样的随动系统设计方式是不行的,用PID算法成效也欠佳。针对这一要求,旧M公司的大林(Dahlin)在1968年提出了一种针对工业生 产进程中含有纯滞后对象的操纵算法。 其目标确实是使整个闭环系统的传递函数 相当于一个带有纯滞后的一阶惯性环节。该算法具有良好的操纵成效。大林算法中D(z)的大体形式设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节,其传递函数别离为:(1-1)(1-2)其中力归为被控对象的时刻常数,日二丸?为被控对象的纯延迟时刻,为了简化,设其为采样周期的整数倍,即 N为正整数。由于大林算法的设计目标是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节,即由于一样操

7、纵对象均与一个零阶维持器相串联,因此相应的整个闭环系统的 脉冲传递函数是1-产产S T-S + 1产10_产工1 一天的(1-3)于是数字操纵器的脉冲传递函数为(1-4)D(z)可由运算机程序实现。由上式可知,它与被控对象有关。下面别离对一 阶或二阶纯滞后环节进行讨论。一阶惯性环节的大林算法的D(z)大体形式当被控对象是带有纯滞后的一阶惯性环节时,由式(1-1)的传递函数可知, 其脉冲传递函数为:必必型-N s(tLl?+ 1) sfinS + 1)J餐I11 产-hr 1i-r1二反口-小,9-L jl-z 1& z1 -Tin=4 3T 1- ? Z将此式代入(2-4),可得口上)=0_白

8、-门为)(_色一门工)(1-5)Kfl一色一小)口 -符*一】(I 衣口式中:T-一采样周期:被控对象的时刻常数;二闭环系统的时刻常数。二阶惯性环节大林算法的D(z)大体形式当被控对象为带有纯滞后的二阶惯性环节时,由式(1-1)的传递函数可知, 其脉冲传递函数为-JBS(五 + 1)(1aE+1)It (q-QG-JFR (马可)”1小的9+皿 (1-b门红7)口-/飞二)Cl-F(工1丁丁气.叼J. 其中, -C小 W 田川十- w -JJ ”将式G(z)代入式(1-3)即可求出数字操纵器的模型:_。7-门11一7门可小)。一中5一】)(1-6) .+ 57)1 - 产小-Q -产工、产由此

9、,咱们能够设计出操纵器的传递函数, 利用MATLAB:具在SIMULINK 画出整个操纵系统,给定一个阶跃信号就可取得整个操纵系统的响应曲线。PID算法依照误差白比例(P)、积分(I)、微分(D)进行操纵(简称PID操纵),是 操纵系统中应用最为普遍的一种操纵规律。实际运行的体会和理论的分析都说 明,运用这种操纵规律对许多工业进程进行操纵时,都能取得中意的成效。只是, 用运算机实现PID操纵,不是简单地把模拟PID操纵规律数字化,而是进一步与 运算机的逻辑判定功能结合,使PID操纵加倍灵活,更能知足生产进程提出的要 求。它的结构如下图:图1-1 PID结构图在运算机操纵系统中,PID操纵规律的

10、实现必需用数值逼近的方式。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变成差分方程。数字P ID增量型操纵算式为u(k) u(k) u(k 1)Kp e(k) e(k 1) Ke(k)Kd e(k) 2e(k 1) e(k 2)(2-7)式中1Kp 一称为比例增益;KiTK p Ti称为积分系数;Kd称为微分系数。为了编程方便,可将式整理成如下形式(1-8)u(k)q0e(k) qe(k 1) q?e(k 2)qo Kp(1 ZT) Ti T2Tnq1Kp(1 寸)/ Td q2 Kp 其中(1-9)第二章设计流程大林算法软件设计流程图数字操纵器是操纵系统的核心,

11、用它对被测参数进行自动调剂,那个地址采纳直接程序设计法继续设计。程序设计流程图如图 1。图2-1大林算法设计程序流程图PID算法程序设计流程图PID操纵算法种类繁多,各类操纵条件下产生的响应又是有区别的。在本设 计中采纳的是一般PID操纵算法。PID算法程序设计流程图如图2。图2-2 PID算法程序设计流程图第三章设计进程及结果GUI界面设计MATLAUt够创建图形用户界面 GUI (GraphicalUserInterface ),它是用户 和运算机之间交流的工具。MATLAB等所有GUI支持的用户控件都集成在那个环 境中并提供界面外观、属性和行为响应方式的设置方式,随着版本的提高,这种能力

12、还会不断增强。由窗口、光标、按键、菜单、文字说明等对象(Ob2ject)组成的一个用户界面。用户通过必然的方式(如鼠标或键盘)选择、激活这些图形对 象,使运算机产生某种动作或转变,比如实现计算、画图等。假设科技工作者仅仅 执行数据分析、解方程等工作,一样可不能考虑GUI的制作。可是若是想向客户 提供给用程序,想进行某种技术、方式的演示,想制作一个供反复利用且操作简单 的专用工具,那么图形用户界面是最好的选择之一。Matlab为表现其大体功能而 设计的演示程序demoll利用图形界面的最好范例。Matlab的用户在指令窗口中 运行demo打开图形界面后,只要用鼠标进行选择和点击,就可阅读丰硕多彩

13、的内 容。开发实际的应用程序时应该尽可能维持程序的界面友好,因为程序界面是应 用程序和用户进行交互的环境。在当前情形下 ,利用图形用户界面是最经常使用 的方式。提供图形用户界面可利用户更方便地利用应用程序,不需要了解应用程序如何执行各类命令,只需要了解图形界面组件的利用方式;同时,不需要了解各 类命令是如何执行的,只要通过用户界面进行交互操作就能够够正确执行程序GUI界面的成立一、打开GUI或在MATLA指令窗中运行guide取得如图3-1所示:图3-1创建GUI二、选那么 Blank GUI空白GUI设计工作台,如以下图所示,包括以下 4个功能区:菜单条、编辑工具条、控件模板区、设计工作区。

14、图形用户界面设计在该区域进行,引出图所示的界面设计工具。用鼠标拖动“工作区”右下角的“小黑块”,使工作区的大小与图与图大小 相当。点击“轴Axes”控件图标,然后在工作区中的适当位置,拉出适当大小的 画图区。类似上步操作,通过点击相应的“静态文本Static Text”、可编辑文本Edit Text、按键“Push Button ”用鼠标拖沓出相应的控件,如图图3-2 GUI空白页3、图形窗口和控件的某些参数进行设置双击工作区或控件可引出图形和相应控件的“属性编辑框PropertyInspector图显示的是轴属性的编辑框。DockControkonTFileNameHandeVsitNlit

15、/callbackTHitTestonVIntegerHardleoffTInterruptibleon.InvertHardtopy0nTKeyPreEsFon成 ,/KeyReleseFiTi够享MenuEarnone,NameUntitled,图3-3属性框4、创建菜单点击“菜单编辑器”图标,引出空白菜单编辑对话窗点击”菜单编辑对话窗”最左上方的“新菜单New Menu图标,在左侧空白窗口中,显现“ Untitledl ”图标;再点击此图标,就在右边引出类似于图右 边的填写栏;在“ Lable”中填写Options ;在“Tag”中填写optios ;于是左侧 的“Untiled1 ”图

16、标变成“ Options”图标。先点亮左侧的“Options”图标,再点击菜单编辑对话窗上的“心菜单项New Menu Iterm ”图标,就引出待概念的菜单项;在左侧的“ Lable ”填写Box on,在 “Tag”填写box_on。重复该小步的操作,成立另一个菜单项Box off,如图:图3-4菜单项界面的激活和回调函数生成经以上操作后,工作台上所制作的界面外形及所含构件已经符合设计要求, 但那个界面各构件之间的通信尚未成立,为此必需激活处置。点击工作台上“激活 Activate Figure ”工具图标,就引出2个界面:名为 Myguil的图形用户界面;展现名为 myguil的M函数文

17、件的文件编辑器界面。在 此同时,在当前目录上,由 MATLAB!动生成2个文件,即和目。制作GUI界面第一找到所需要的相应控件,然后依照自己的设计方式进行摆正控件。本设 计中所需要的控件主若是按钮,文本,波形图和输入框。依照自己的思路摆放成的总结面如下:K大雷舐5问前校tt1?J KpSimjan明算双用:LG 2040 tflFL炉由在制事第龙舟图3-5大林算法总界面图3-6 PID操纵总界面Simulink 设计大林算法Simulink依照设计任务要求,进行数学建模。第一是大林算法的,依照第一章介绍的。二算法进程中所取得的K(一方一(1一产3,进行数据代入,算出D (z)的最终表达式。并依

18、照任务要求进行参数的填入,如下图:设置操纵温度为1000 c图3-7大林算法Simulink图运行取得波形图:图3-8大林算法Simulink下的波形图PID操纵算法Simulink同理进行PID操纵器的Simulink进行设计,依照第一章所取得的公式u(k) u(k) u(k 1)Kp e(k) e(k 1) Kie(k) Kd e(k) 2e(k 1) e(k 2)和q0 KP(1*)TiT2Tdq1Kp(1 寸)q2 Kp TPropoilioral (F)i 0.3|进行参数数据的概念。给出q0=P,q1=I,q2=D的数值加工皿一叱时:。,时Janple tifheTime dela

19、y:刻周期为10面二 ,时刻常数为60随 ,最后的Simulink仿真图为:图3-9 PID操纵算法Simulink图运行取得波形图:Tlrne- offset 0图3-10 PID操纵算法Simulink下的波形图程序设计本次课程设计要紧利用的是 MATLAB编程语言。初期用于科学计算的运算机语言,由于运算机内存容量和运算速度的限制等 缘故,常常要概念常量、变量、向量和矩阵等的不同的数据类型,结果致使编程 过于复杂化。和这些语言不一样, MATLAB语言对他们进行了高度抽象,实现 了数据类型的高度统一,即常量、变量、向量和矩阵等都具有相同的数据类型。 MATLAB语言以为所有的数据都是一个对

20、象类,都具有相同的属性。因此,用 户不需要事前别离概念常量、变量、向量和矩阵等的数据类型就能够够直接利用 他们,固然MATLAB的这种设计思想是以高性能运算机的显现和普及作为前提 条件的,编程取得了专门大简化。MATLAB语言是一种“数学形式的语言”。它的操作和功能函数指令确实是 用平常运算机和数学书上的英文单词和符号来表达的,比BASIC、FORTRAN和C等语言更接近于人们书写的数学计算公式、更接近于人们进行科学计算的思维 方式。用MATLAB语言编写程序犹如在演算纸上排列公式与求解问题,故有人 称MATLAB编程语言为“演算纸”式科学算法语言。因此, MATLAB语言简单 自然,学习和利

21、用更易。MATLAB程序文件是一个纯文本文件,扩展名为.m,用任何字处置软件都 能够对它进行编辑。MATLAB本身就像一个说明系统,对其中的函数程序的执 行以一种说明执行的方式进行,程序没必要通过编译就能够够直接运行,而且能够及时报告显现的错误,进行犯错缘故分析。因此,程序调试容易、编程效率高。 MATLAB勺用户界面精致,接近 Windows的标准界面,人机交互性强,操作简单。 新版本的MATLAB1供了完整的联机查询、帮忙系统,极大地址便了用户的利用。大林算法编程第一依照所画的界面图可知,需先取得放大倍数K,时亥J常数T,仿真时刻Tf 和采样周期Tnt勺输入值,因此那个地址就用到get()

22、和str2double()两条语句, 具体程序如下:a=get,String); /取得的数值;Tf=str2double(a);/把值赋给 Tf;b=get,String);Tm=str2double(b);c=get,String);K=str2double(c);d=get,String);Ti=str2double(d);接下来确实是设计任务给定的操纵温度,及时刻周期, r=1000, T=10o数学 模型 G(s)的表达式A,B,C,D=tf2ss(K,Ti 1),G,H,Cd,Dd=c2dt(A,B,C,T,60)。然后确实是依照第一章所介绍的大林算法的计算进程进行程序编译,具体如

23、下:a0=1/8;a1=exp(-Tm/400)/8;b1=exp(-Tm/400);b2=1-exp(-Tm/400);u1=0;u2=0;u3=0;u4=0;u5=0;u6=0;u7=0;e1=0;y=0;y1=0;t=0;x=zeros(size(G,1),1);for i=1:Tf/Tme=r-y(end);u=a0*e-a1*e1+b1*u1+b2*u7;for j=1:Tm/Tx=G*x+H*u;y=y,Cd*x+Dd*u;t=t,t(end)+T;endu7=u6;u6=u5;u5=u4;u4=u3;u3=u2;u2=u1;u1=u;y1=y(end);e1=e;end最后把编出的程序放到运行按钮的callback下,即在function pushbutton1_Callback(hObject, eventdata, handles)这条语句下进行编程。完成编译,写入K=12, T=10, Tf=4000, Tm=10运行取得图形如下:图3-11大林算法波形图PID操纵算法编程与大林算法的步骤大体相同,只是在算法编程进程中改变了。那个地址一样用到get()和str2double()两条语句,并写出G(s)的表达式和 给定的操纵温度及时刻周期。具体如下:a=get, String);K=str2double(a);b=get,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论