基于大林算法的炉温控制系统.doc_第1页
基于大林算法的炉温控制系统.doc_第2页
基于大林算法的炉温控制系统.doc_第3页
基于大林算法的炉温控制系统.doc_第4页
基于大林算法的炉温控制系统.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

计算机控制技术课程设计2015/2016学年第二学期设计课题:基于大林算法的炉温控制系统目 录1 课题简介11.1课题目的11.2课题任务11.3设计要求12 大林算法控制系统方案设计12.1大林算法总体介绍12.2振铃现象及其消除22.2.1振铃现象产生的根源22.2.2振铃现象的消除22.3系统闭环工作原理22.4系统的结构框图23 大林算法控制系统硬件电路设计23.1 A/D采样电路33.2 D/A输出电路33.3 驱动电路设计33.4给定对象硬件电路设计33.5总硬件图44 大林算法控制系统算法设计44.1 控制算法的原理44.2 控制器的设计过程44.3 计算机实现的计算机公式推导55 大林算法控制系统仿真55.2大林算法仿真代码65.3波形图及性能分析65.4 大林算法SIMULINK仿真结构图及波形76 小结与体会8参考文献10附录111 课题简介1.1课题目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。计算机控制系统是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。1.2课题任务设计以89C51单片机和AD、DA驱动电路、控制电路、滤波电路、被控对象电路等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。1. 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用DAC0832和运放等);由运放实现的被控对象。2. 控制算法:大林控制算法。3. 软件设计:主程序、中断程序、A/D转换程序、大林算法控制程序、D/A输出程序等。4.仿真设计:用Matlab仿真闭环控制系统。1.3设计要求1. 模入电路能接受双极性电压输入(-5V+5V),模出电路能输出双极性电压(-5V+5V)。2. 模入电路用两个通道分别采集被控对象的输出和给定信号。3. 选择被控对象:4. 对象的纯延迟环节用软件通过数组单元移位实现。5. 定时中断间隔选取50ms,采样周期T既要是采样中断间隔的整数倍,又满足。6. 闭环系统时间常数按0.3-0.5倍的被控对象最大时间常数选择。2 大林算法控制系统方案设计2.1大林算法总体介绍图2-1 大林算法设计的闭环控制系统方框图在控制系统设计中,纯滞后往往是影响系统动态特性的不利因素,这种系统如果控制器设计不当,常常会引起系统产生大的超调或振荡。对这类系统的控制要求,快速性是次要的,而主要要求系统没有超调或很少的超调。大林(Dahlin)算法就是一种专门针对工业生产过程中含有纯滞后控制对象的直接数字设计算法。2.2振铃现象及其消除所谓振铃(Ringing)现象,是指数字控制器的输出u(k)以2T 大幅度上下摆动。振铃现象会引起采样点间系统输出纹波,增加执行机构的磨损,影响多参数系统稳定性。振铃现象与被控对象的特性、闭环时间常数、采样时间、纯滞后时间的大小等有关。 2.2.1振铃现象产生的根源由于,得,则对单位阶跃输入,它有极点z =1,如果的极点在负实轴上,且与z = -1接近,则上述两个极点造成的输出瞬态项在不同的时刻可能叠加也可能抵消,导致输出出现波动。 2.2.2振铃现象的消除找出D(z)中引起振铃的因子(z = -1附近的极点),令其中的z = 1。取消了这个极点,可以消除振铃。系统稳态值不变,但瞬态特性会变化,数字控制器的动态性能也会有影响。根据终值定理,时,对应,因此这样处理不影响输出的稳态值。注意:大林算法由于修改了控制器的结构,使系统闭环传函(z) 也发生了变化,一般应检查其在改变后是否稳定。大林算法只适合于稳定的对象。如果广义对象的Z传函G(z)中出现了单位圆外的零点,它将引起不稳定的控制,在这种情况下,相应于控制器中的这一不稳定极点,可采用前面消除振铃极点相同的办法来处理。2.3系统闭环工作原理在本次大林算法控制系统中,系统先进行A/D采样,将给定值采样值取到单片机内,之后单片机会选择另外一路通道,进行输出值即反馈值的采样。将输出值采样到单片机内后,在单片机中进行差值E(k)计算,再通过单片机中的算法程序得到输出量U(k),再经过D/A变换器,将输出结果作用于被控对象。经被控对象的输出值又将作为反馈值被采样到单片机内。2.4系统的结构框图电加热炉控制系统的硬件结构框图如图:驱动电路温度控制系统ADC0809AT89C51电加热炉 键盘DAC0832图2-2 系统的总体结构框图3 大林算法控制系统硬件电路设计3.1 A/D采样电路 图3-1 A/D采样硬件电路图3.2 D/A输出电路图3-2 D/A输出电路3.3 驱动电路设计图3-3 驱动电路电路图3.4给定对象硬件电路设计 图3-4 给定对象硬件电路图3.5总硬件图图3-5 总硬件图4 大林算法控制系统算法设计4.1 控制算法的原理设计数字控制器使系统的闭环传函为具有纯滞后的一阶惯性环节,且其滞后时间等于被控对象的滞后时间。并希望整个闭环系统的纯滞后时间和被控对象的纯滞后时间相同。其中为闭环系统的时间常数,纯滞后时间与采样周期T有整数倍关系。4.2 控制器的设计过程 首先被控对象的传递函数: (4-1)其中,。经计算: (4-2) (4-3) (4-4) (4-5) (4-6)4.3 计算机实现的计算机公式推导 (4-7)程序中,。4.4 采样周期的选择在本实验中,定时中断间隔选取50ms,由被控对象的表达式可知,N=1,。5 大林算法控制系统仿真开始5.1系统仿流程图计算计算b2E(k-N-1)计算计算b1E(k-1)计算a0E(k)R3通道数计算偏差E(k)=U(k)-R(k)计算a1E(k-1)计算a0E(k)-a1E(k-1)传送数据,为下次采样计算做准备调用D/A输出子程序8通道均控制完否?返回图51 程序设计流程图宋体五号,居中,位于5.2仿真代码r=500;T=10;sys=tf(12,400 1,inputdelay,60)sys=c2d(sys,T,zoh);num,den=tfdata(sys,v);Tf=input(仿真时间Tf=);Tm=input(采样周期Tm=);a0=1/12;a1=exp(-Tm/400)/12;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;for i=1:Tf/Tm e=r-y(end); u=a0*e-a1*e1+b1*u1+b2*u7;for j=1:Tm/T y=y,-den(2)*y1+num(1)*u6+num(2)*u7; t=t,t(end)+T;endu7=u6;u6=u5;u5=u4;u4=u3;u3=u2;u2=u1;u1=u;y1=y(end);e1=e;endplot(t,y) 5.3波形图及性能分析图5-2 大林算法实现炉温控制波形图基于大林算法的炉温控制系统仿真时,可以调节温控炉时间常数T使闭环系统的指标达到最佳。当T很小时,响应很快但稳定性不好系统会产生震荡;当T增大,系统的响应变慢,但稳定性很好。而且由波形图可见大林控制算法下系统几乎无超调,精度设计时候是300,最终通过仿真也是,因此精度是1。误差计算为:设系统在输入信号的作用下时,所以系统的误差为 (5-2)5.4 大林算法SIMULINK仿真结构图及波形当炉温为300时,图53 大林算法实现炉温300控制的SIMULINK仿真结构图图54 大林算法实现炉温300控制的SIMULINK仿真波形图当炉温为500时,图55 大林算法实现炉温500控制的SIMULINK仿真结构图图56 大林算法实现炉温500控制的SIMULINK仿真波形图当炉温为200时,图57 大林算法实现炉温200控制的SIMULINK仿真结构图图58 大林算法实现炉温200控制的SIMULINK仿真结构图6 小结与体会在这个维持近两周的计算机课设的过程中,我们是两个同学为一个小组进行这次课设任务,我主要任务是负责仿真部分,而另外一位同学负责的是其他部分。因为一开始老师给的课题种类较丰富,比如有从对象上分类就有温度、电机等等其他种类,然后从算法上又可以分为大林算法,PID算法,最少拍算法等等,所以在和同学一起查阅相关资料,再结合我们平时所学习的并且已经掌握的书本知识的前提下,我们选择了基于大林算法的炉温控制系统这一课设主题。通过已经学习的知识,如数电,自动控制原理,计算机控制等科目,加上自己在网上查找资料、参考论文,和自己在图书馆找书自学Matlab软件才完成了这次的课程的仿真设计。在设计的过程中,也不是从头到尾就一帆风顺,没有困难。在自学仿真软件的过程中,我遇到如下问题:1.安装软件过程中,通过软件自带的说明,才成功安装。在熟悉软件的过程中,通过网上查阅资料,逐步了解软件运行过程和问题处理方案。2.第一周末画波形图,在波形图的绘制过程中,需要自己编程序,我在网上找到了一些程序,在仔细甄别以后,开始尝试画图,但由于程序依旧出现问题,我就自己尝试修改,一次又一次的尝试以后,功夫不负有心人,终于出现结果。 3.第二周伊始,开始学习用大林算法实现炉温控制的SIMULINK仿真,一开始找元件时不熟练,不了解元件所在库,在参考文献中找到类似的控制回路。按照书上的图连,终于出现正确图像。在进行大林算法的设计过程相对容易些,因为基本上是一些计算为主,只要理论知识掌握的较扎实,结合那些大林算法的基础公式,问题就可以解决一大半了,再加上计算的时候仔细一点,不要出现计算上的错误这种常识性的问题,那这一块问题也得到了解决。这些问题让我更加深刻的体会到,仅仅靠学习书上的知识是远远不够的,解决实际的问题,是需要真正理解知识,联系相关学科。在考虑问题时候,认真考虑每个细节,思考其可行性,如主电路中电感的取值会间接影响到最后系统的稳定性等。如何正确的确定每个参数,是能否达到最优设计的关键。除此之外,此次课程设计还提高了我查阅资料的能力,有些知识并不能在现有书本上找到,需要自己去借阅图书或是上网查找其他的学术文章作为参考。最后这次课设与以往的课设不同的地方就是,这次是两个人的共同合作而不是往常的都是我们个人完成的任务。因此在完成这一课设的过程中,要十分感谢另一位同学相互之间的帮助,可以说没有另外一位同学,就没有这个最终报告的形成,所以这就是人们常说的合作精神把,相信这个合作精神对以后的学习、工作生活中的影响一定有着潜移默化的作用。总的来说,这次课设一方面培养了我专业知识技能,弥补了以前学习过程中没有注意之处;另外一方面就是培养了与他人的合作精神,所以最后的最后很感谢老师给了我们这样的一次体验的经历,可以说是为我们的毕业设计奠定了基础。参考文献1 梅丽凤,单片机原理及接口技术,北京:清华大学出版社,2004:19-48,81-932 周继明,江世明,传感技术与应用M,长沙:中南大学出版社,2005:45-563 张毅刚,单片机原理及应用,北京:高等教育出版社,2003:126-1354 顾兴源,计算机控制系统,北京:冶金工业出版社, 1981:25-405 张连华,单片机应用系统设计方法,北京: 科学之友, 2010, 07 :27-286楼然苗,51 系列单片机设计实例,北京:北京航空航天出版社, 2003.3-357李生明,单片机LED显示接口技术,长江职工大学学报,2003,(4):18-248袁强, 基于单片机89C51和89C2051点阵LED图文显示,工程地质计算机应用 2006,(4):5-559刘昆山, 如何快速入门单片机,电子制作, 2010, (01):64-6610刘昆山,用单片机控制一个LED,电子制作, 2010, (02) :58-6111 俞荣, 赵子真, 单片机自动控制应用系统的设计探讨,机械管理开发, 2010, (01): 201-20412 何立民, 我国单片机技术的应用与发展, 电子报, 2001,(09):01-0713 袁龙.,MCS-51系列单片机指令快速记忆法, 电子报, 2005,(011):5-15附录:大林算法控制系统软件编程设计部分控制程序代码1.主程序部分源码:void main(void) TMOD = 0x01;t0_h = (65536-15536)/256;/计算定时器0初值t0_l = (65536-15536)%256;t0_l = t0_l+20;/修正因初值重装而引起的定时误差TH0 = t0_h;TL0 = t0_l;IT1 = 1;/边沿触发中断EX1 = 1;/开外部中断1ET0 = 1;/开定时中断0TR0 = 1;/启动定时器TC = 1;DAC_1= 0x80;/D/A清零UK = UK_1 = UK_2 = UK_3 = 0;/变量清零EK = EK_1 = EK_2 = EK_3 = 0; RK = RK_1 = RK_2 = RK_3 = 0;bb = 0;EA = 1;/开总中断FLG = 0;DOUT0 = 0;while(1);主程序的功能主要是:对定时器的赋值、开外中断、初始各变量,其中while(1)是使主程序进入死循环,等待中断到来。 2. 采样中断程序的部分源码: (1)判断同步信号程序:DIN0 = 1;/读取输入前,先输出高电平 if(DIN0)/判同步信号到否UK = UK_1 = UK_2 = UK_3 = 0; EK = EK_1 = EK_2 = EK_3 = 0;RK = RK_1 = RK_2 = RK_3 = 0; DAC_1 = 0x80;/D/A输出零TC = 1; (2)双通道采样: TC-;/判采样周期到否 if(TC=0) if(FLG=0) RK=ADC_7-128;/采样当前的给定值DOUT0 = 1; FLG = 1; TC = TK; else FLG = 0;UK = ADC_7-128;/采样当前的输出值,并计算偏差的变化量 DOUT0 = 0;EK = RK-UK;EK_1 = RK_1-UK_1;EK_2 = RK_2-UK_2;EK_3 = RK_3-UK_3; i=KK*0EK*+KK1*EK_1+EK_2*KK2j = PP1*UK_1 + PP2*UK_2 + PP3*UK_3;UK = G*i + j

温馨提示

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

评论

0/150

提交评论