基于大林算法的电阻炉温度控制系统设计_第1页
基于大林算法的电阻炉温度控制系统设计_第2页
基于大林算法的电阻炉温度控制系统设计_第3页
基于大林算法的电阻炉温度控制系统设计_第4页
基于大林算法的电阻炉温度控制系统设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1课程设计任务书学院专业学生姓名班级学号课程设计题目基于大林算法的电阻炉温度控制系统设计实践教学要求与任务:构成电阻炉温度控制系统大林算法设计硬软件设计实验研究THFCS-1现场总线控制系统实验撰写实验报告工作计划与进度安排:第1~2天,查阅文献,构成闭环温度控制系统第3天,大林算法设计第4~5天,硬软件设计第6天,实验研究第7~9天,THFCS-1现场总线控制系统实验第10天,撰写实验报告指导教师:201年月日专业负责人:201年月日学院教学副院长:201年月日目录摘要 11.课题简介 21.1课题目的 21.2课题内容 21.3课题要求 22.大林算法控制系统方案设计 32.1控制系统总体介绍 32.2控制系统闭环工作原理 33.大林算法控制系统硬件电路设计 43.1A/D采样电路 43.2D/A输出电路 53.3给定对象硬件电路设计 63.4总硬件图 74.大林算法控制系统算法设计 84.1控制算法的原理 84.2计算机实现的计算机公式推导 84.3采样周期的选择 95.大林算法控制系统软件编程设计 105.1主程序与中断流程图 105.2部分控制程序代码 116.结论 157.小结与体会 16参考文献 17PAGE16摘要电阻加热炉用于合金钢产品热力特性实验,电加热炉用电炉丝提供功率,使其在预定的时间内将炉内温度稳定到给定的温度值。在本控制对象电阻加热炉功率为20KW,有220V交流电源供电,采用双向可控硅进行控制。本设计针对一个温区进行控制,要求控制温度范围50~350℃,保温阶段温度控制精度为±1℃。选择合适的传感器,计算机输出信号经转换后通过双向可控硅控制器控制加热电阻两端的电压,其对象温控数学模型为:其中:时间常数=350秒,放大系数=50,滞后时间τ=10秒,控制算法选用大林算法。关键词:单片机;A/D、D/A;大林算法;传感器;炉温控制1.课题简介1.1课题目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。《计算机控制系统》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。1.2课题内容设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。1.硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。2.控制算法:大林控制算法。3.软件设计:主程序、中断程序、A/D转换程序、大林算法控制程序、D/A输出程序等。1.3课题要求模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。模入电路用两个通道分别采集被控对象的输出和给定信号。3.选择被控对象:4.对象的纯延迟环节用软件通过数组单元移位实现。5.定时中断间隔选取50ms,采样周期T要求既是采样中断间隔的整数倍,又满足。6.闭环系统时间常数按的被控对象最大时间常数选择。2.大林算法控制系统方案设计2.1控制系统总体介绍图2.1-1大林算法设计的闭环控制系统方框图大多数工业对象具有较大的纯滞后时间,可以近似用一阶或二阶惯性环节加纯滞后环节来表示,其传递函数为一阶对象:,二阶对象:,大林算法的设计目标是使整个闭环系统所期望的传递函数Φ(s)相当于一个纯滞后环节和一个惯性环节相串联,即,并希望整个闭环系统的纯滞后时间和被控对象的纯滞后时间相同。其中为闭环系统的时间常数,纯滞后时间与采样周期T有整数倍关系,(N=1,2﹒﹒﹒﹒)。2.2控制系统闭环工作原理在本次大林算法控制系统中,系统先进行A/D采样,将给定值采样值取到单片机内,之后单片机会选择另外一路通道,进行输出值即反馈值的采样。将输出值采样到单片机内后,在单片机中进行差值E(k)计算,再通过单片机中的算法程序得到输出量U(k),再经过D/A变换器,将输出结果作用于被控对象。经被控对象的输出值又将作为反馈值被采样到单片机内。3.大林算法控制系统硬件电路设计3.1A/D采样电路该实验的A/D采样硬件电路如图3-1所示图3-1A/D采样硬件电路图上图所示的是ADC0809与8051连接的硬件电路图,其中在ADC0809中,IN-6、IN-7分别采样给定信号和反馈信号,A\D转换器的引脚A接单片机的P1^6,用于选择采样通道。控制计算机的定时器作为基准时钟(初始化为50ms),在第一次启动A/D转换时,此时P1^6=0,选择的IN-6,采样的是给定信号,当采样周期到时,此时P1^6=1,同时在定时器中启动A/D转换,此时采样的是反馈信号,给定信号和反馈信号的采样值分别存储在程序的RK和UK1中。模数单元采用ADC0809芯片,主要包括多路模拟开关和A/D转换器两部分。其主要特点为:单电源供电、工作始终CLOCK最高可达1200KHz、8位分辨率、8个单端模拟输入端(IN0~IN7)、TTL电平兼容等,可以很方便地和微处理器接口。通过三端地址译码A、B、C多路开关可选通8路模拟输入的任何一路进行A/D变换。其中IN1~IN5的模拟量输入允许范围:0V~4.98V,对应数字量为00H~FFH,2.5V对应80H;IN6和IN7两路由于接了上拉电阻,所以模拟量输入允许范围:-5V~+4.98V,对应数字量00H~FFH,0V对应80H。在设计过程中使用的TD-ACC+教学系统中的ADC0809芯片,其输出八位数据线以及CLOCK线已连到控制计算机的数据线及系统应用时钟1MCLK(1MHz)上。其它控制线根据实验要求可另外连接(A、B、C、STR、/OE、EOC、IN0~IN7),如图3-1(2)所示。其中IN6和IN7可以测量-5V~+5V的量,主要是因为加了外部电路。如图所示,在IN6和IN7的实际输入端其输入范围为0~5V,在外围电路中,采用两个相同电阻分压的方式,因为给了一个5V的电压,当输入端为-5V时,0809的实际输入端为两者相加之和的一半,为0V,在0809采样电压的范围以内。但将该采样值取进单片机内后,其表示范围为-128~127,对应为0~5V的电压,所以我们需要在程序里将采样值减去128以使采样值与设定值相对应。因此加了外部电路,0809就可以采集-5~+5V的电压了。3.2D/A输出电路数模转换单元采用TLC7528芯片,它是8位、并行、两路、电压型输出模数转换器。其主要参数如下:转换时间100ns,满量程误差1/2LBS,参考电压-10V~+10V,供电电压+5V~+15V,输入逻辑电平与TTL兼容。输入数字范围为00H~FFH,80H对应于0V,输出电压为-5V~+4、96V。在课程设计过程中采用的TD-ACC+教学系统中的TLC7528,其输入数字量得八位数据线、写线和通道选择控制线已经接至控制计算机的总线上。片选线预留出待实验中连接到相应的I/O片选上,如图3-2。图3-2D/A输出电路该芯片TLC7528可以双极性输出,但须在单片机中将D/A的输出值加128后再交给TLC7528芯片进行D/A输出。3.3给定对象硬件电路设计图3-3给定对象硬件电路图如图3-3所示,为被控对象的硬件电路的设计图,在本次的课程设计中的被控对象传递函数:,其中比例部分由两个运算放大器组合实现,即,第一个运算放大器的积分部分为,实现被控对象的第一部分,第二个运算放大器的积分部分为,实现被控对象的第二部分。3.4总硬件图图3-4总硬件图4.大林算法控制系统算法设计4.1控制算法的原理实验算法中,用脉冲传递函数近似法求得对应的闭环脉冲传递函数:,将代入,并进行Z变换:式中,经计算,无振铃时,有,于是对应的递推公式为则程序中

4.2计算机实现的计算机公式推导在4、1中得到了D(z)的最终表达式,而在本实验中,被控对象为

从而可以知道被控对象的时间常数为,增益K=8,根据按最大时间常数取值,取=0.4s。将各个参数代入计算:KK0=0.077,KK1=-0.9085,KK3=0.0017864,PP1=-0.3495,PP2=0.95436,PP3=0.039514。对应的递推公式:u(k)=-0.3495u(k-1)+0.95436u(k-2)+0.039514u(k-3)+0.077e(k)-0.9085e(k-1)+0.0017864e(k-2)由于在二阶对象中是引起振铃的极点因子,令z=1,于是可以得到u(k)=0.0821u(k-1)+0.9179u(k-2)+0.0821e(k)-0.0303e(k-1)+0.0019e(k-2)在程序中:KK0=0.0821,KK1=-0.0303,KK2=0.0019,PP0=0.0821,PP1=0.9179,PP2=0。4.3采样周期的选择在本实验中,定时中断间隔选取50ms,采样周期T要求既是采样中断间隔的整数倍,又要满足,而由被控对象的表达式可知,所以取N=1,。5.大林算法控制系统软件编程设计5.1主程序与中断流程图主程序流程图:图5.1-1采样中断服务程序流程图:图5.1-25.2部分控制程序代码1.主程序部分源码:voidmain(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; //开外部中断1 ET0=1; //开定时中断0 TR0=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*KK2 j=PP1*UK_1+PP2*UK_2+PP3*UK_3; UK=G*i+j; if(UK>0) //判控制量是否溢出,溢出赋极值 { if(UK>127) aa=127; else aa=(char)UK; } else { if(UK<-128) aa=-128; else aa=(char)UK; } DAC_1=bb+128; //D/A输出控制量 bb=aa; UK_3=UK_2; //控制量递推 UK_2=UK_1; UK_1=UK; EK_3=EK_2; //偏差递推 EK_2=EK_1; EK_1=EK; TC=TK; //采样周期变量恢复 } } }}双通道采样原理说明:由于在主程序中,将DOUT2置“0”,已经选择了采样通道IN6,第一次进行A/D转换时,对给定信号进行采样,并将采样值存储在RK中,同时将DOUT2置“1”,这时将A/D通道IN7选中,等待采样周期到时,则采样反馈信号,并将采样值存储在UK1中,在变量定义中,已经将P1.6定义为DOUT2,故改变DOUT2值就改变了P1.6。中断程序实现的功能:对给定信号进行采样,并将采样值存储在RK中,同时将DOUT2置“1”,将A/D通道IN7选中,待采样周期到时,则采样反馈信号,并将采样值存储在UK1中,接下来便是计算偏差E(k),计算U(k),将值通过端口DAC_1在下一周期到来时输出;再次在该中断程序中,增加一个变量bb1,用于存储前一周期的输出值,这样使得输出量能够延迟1秒输出;最后就是通过递推公式,计算实现输出

温馨提示

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

评论

0/150

提交评论