基于大林算法的炉温控制系统

合集下载

基于大林算法的温度控制系统设计说明

基于大林算法的温度控制系统设计说明

计算机控制技术课程设计2015/2016学年第二学期设计课题:基于大林算法的电路温度控制系统的设计专业:__ __班级: __ _学号:___ _______姓名:_______ _ _____2016年5月目录第一章课题简介 (1)1.1课题的目的 (1)1.1.1 本机实现的功能 (1)1.1.2 扩展功能: (1)1.2课题的任务及要求 (1)第二章系统方案设计 (2)2.1 水温控制系统的总体介绍 (2)2.2 系统框图 (2)2.3 闭环系统的工作原理 (2)第三章系统硬件设计 (3)3.1 系统原理图 (3)3.2 单片机最小系统设计 (3)第四章大林控制算法设计 (5)4.1 大林控制算法原理: (5)4.2 控制器的设计及公式推导过程 (6)4.3 采样周期的选择: (7)第五章水温控制系统的仿真 (7)5.1振铃现象 (7)5.2 Matlab仿真 (9)5.2 大林算法控制系统编程设计: (10)5.3各模块子程序设计 (11)5.3.1主程序设计 (11)5.3.2读出温度子程序 (12)5.5.3数码管显示模块 (13)5.5.4温度处理程序 (14)第六章小结与体会 (15)第七章参考文献 (16)第八章附录 (17)第一章课题简介1.1课题的目的1.1.1 本机实现的功能(1)利用温度传感器采集到当前的温度,通过AT89S52单片机进行控制,最后通过LED数码管以串行口传送数据实现温度显示。

(2)可以通过按键任意设定一个恒定的温度。

(3)将水环境数据与所设置的数据进行比较,当水温低于设定值时,开启加热设备,进行加热;当水温高于设定温度时,停止加热,从而实现对水温的自动控制。

(4)当系统出现故障,超出控制温度围时,自动蜂鸣报警。

1.1.2 扩展功能:(1)具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备。

(2)采用适当的控制方法实现当设定温度或环境温度突变时,减小系统的调节时间和超调量。

基于大林算法电加热炉温度控制系统设计

基于大林算法电加热炉温度控制系统设计

基于大林算法电加热炉温度控制系统设计电加热炉温度控制系统设计是现代工业生产中非常重要的一环,它关乎着工作环境的安全和产品质量的稳定性。

在这一设计过程中,大林算法被广泛应用于温度控制系统中,以实现精确、稳定和可靠的温度控制。

本文将介绍电加热炉温度控制系统设计的基本原理和过程,并重点阐述大林算法在该系统中的应用。

首先,要了解电加热炉温度控制系统的基本原理。

该系统主要由温度传感器、控制器和执行器组成。

温度传感器负责将电加热炉内的温度信号转化为电信号,控制器则接收并处理这些电信号,并通过执行器调节电加热炉的功率,以维持设定的温度。

在传统的温度控制系统设计中,一般采用PID(比例、积分、微分)控制算法。

然而,PID算法并不能完全满足电加热炉温度控制的要求。

因此,大林算法成为了一个更好的选择。

大林算法是一种自适应控制算法,它能够根据炉内温度的变化自动调整控制参数,以提供更加精确和稳定的控制效果。

接着,我们来具体介绍大林算法在电加热炉温度控制系统设计中的应用。

首先,大林算法通过建立一个数学模型来描述电加热炉的温度特性。

这个模型包括了电加热炉的热容、传热系数、功率等参数。

基于这个模型,大林算法可以根据炉内温度的变化预测未来的温度变化,并相应地调整控制参数。

在实际应用中,大林算法将炉内温度信号作为输入,经过计算得到一个误差信号。

根据这个误差信号,大林算法会自动调整比例、积分、微分参数,并通过控制器向执行器发出相应的命令,以调节电加热炉的功率。

通过这种自适应的控制方式,大林算法能够快速响应温度变化,并在不断迭代过程中逐步调整控制参数,以达到最佳的温度控制效果。

同时,大林算法还具有自学习的功能。

在系统运行的过程中,大林算法会根据反馈信号和期望信号之间的差异不断优化控制参数,以提高控制效果。

这种自学习的特性使得大林算法在应对复杂的工艺和环境变化时也能够取得良好的控制效果。

综上所述,大林算法在电加热炉温度控制系统设计中具有重要意义。

基于大林算法的温度控制系统设计

基于大林算法的温度控制系统设计

计较机控制技巧课程设计之五兆芳芳创作2015/2016学年第二学期设计课题:基于大林算法的电路温度控制系统的设计专业:____班级:___学号:___ _______姓名:________ _____2016年5月目录第一章课题简介11.1.1 本机实现的功效11.1.2 扩展功效:1第二章系统计划设计22.1 水温控制系统的总体介绍22.2 系统框图22.3 闭环系统的任务原理2第三章系统硬件设计33.1 系统原理图33.2 单片机最小系统设计3第四章大林控制算法设计54.1 大林控制算法原理:54.2 控制器的设计及公式推导进程6 4.3 采样周期的选择:7第五章水温控制系统的仿真75.2 Matlab仿真95.2 大林算法控制系统编程设计:10第六章小结与体会15第七章参考文献16第八章附录17第一章课题简介课题的目的1.1.1 本机实现的功效(1)利用温度传感器收集到当前的温度,通过AT89S52单片机进行控制,最后通过LED数码管以串行口传送数据实现温度显示.(2)可以通过按键任意设定一个恒定的温度.(3)将水情况数据与所设置的数据进行比较,当水温低于设定值时,开启加热设备,进行加热;当水温高于设定温度时,停止加热,从而实现对水温的自动控制.(4)当系统出现毛病,超出控制温度规模时,自动蜂鸣报警.1.1.2 扩展功效:(1)具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备. (2)采取适当的控制办法实现当设定温度或情况温度突变时,减小系统的调节时间和超调量.(3)温度控制的静态误差.1.2课题的任务及要求一升水由800W的电热设备加热,要求水温可以在一定规模内由人工设定,并能在情况温度下降时实现自动调整,以保持设定的温度根本不变.(1)温度丈量规模:10~100℃,最小区分度不大于1℃.℃以内,温度控制的静态误差小于1℃.(3)用十进制数码管显示实际水温.第二章系统计划设计2.1 水温控制系统的总体介绍本次设计采取采样值和键盘设定值进行比较运算的办法来复杂精确地控制温度.先通过键盘输入设定温度,保管在AT89S52单片机的指定单元中,再利用温度传感器DS18B20进行信号的收集,送入单片机中,保管在采样值单元.然后把采样值与设定值进行比较运算,得出控制量,从而调节继电器触发端的通断,来实现将水温控制在一定的规模内.当水温超出单片机预存温度时,蜂鸣器进行报警.单片机控制系统是一个完整的智能化的集数据收集、显示、处理、控制于一体的系统.由传感器、LED显示单片机及执行机构控制部分等组成2.3 闭环系统的任务原理本设计以AT89S52单片机系统进行温度收集与控制.温度信号由模拟温度传感器DS18B20收集输入AT89S52,利用温度传感器收集到当前的温度,通过AT89S52单片机进行控制,最后通过LED数码管以串行口传送数据实现温度显示.可以通过按键任意设定一个恒定的温度.将水情况数据与所设置的数据进行比较,当水温低于设定值时,开启加热设备,进行加热;当水温高于设定温度时,停止加热,从而实现对水温的自动控制.当系统出现毛病,超出控制温度规模时,自动蜂鸣报警.用单片机控制水温可以在一定规模内设定,并能在情况温度变更时保持温度不变.第三章系统硬件设计在温度丈量控制系统中,实际温度值由PT100恒流任务调理电路进行丈量.为了克服PT100线性度欠好的缺点,在信号调理电路中参加负反应非线性校正网络;调理电路的输出电压经ADC0808转换后送入单片机AT89S51;对采样数据进行滤涉及标定处理后,由3位7段数码管显示.输入的设定值由4位独立按键电路进行设定,可辨别对设定值的十位和个位进行加1、减1操纵.设定值送入单片机后,由另外一组3位7段数码管显示.数码管的段码由74HC05驱动,位码由三极管2N2222A驱动.系统采取PID闭环控制计划.将预置初值与温度传感器反应信号比较得到偏差(e)进行PID运算处理得到控制量(u),通过此量来控制加热器的加热时间,从而控制加热功率.由于水自己具有很大的热惯性,所以必须对水温的变更趋势作出预测,并且按照需要实时反标的目的抑制,以避免出现较大的超调量的动摇.在PID控制中,积分环节(I)具有很强的滞后效应,而微分环节(D)具有预见性,所以该计划最终采取PD算法,能够很好的控制超调,并且稳态误差也很小.图3-1 系统原理图单片机最小系统设计根本的AVR硬件线路,包含以下几部分:(1)复位线路的设计AT89S52已经内置了上电复位设计.并且在熔丝位里,可以控制复位时的额定时间,故AVR外部的复位线路在上电时,可以设计得很复杂:直接拉一只10K的电阻到VCC便可(R6).为了可靠,再加上一只的电容(C0)以消除搅扰、杂波.D3(1N4148)的作用有两个:作用一是将复位输入的最高电压钳在Vcc+0.5V 左右,另一作用是系统断电时,将R1(10K)电阻短路,让C0快速放电,让下一次来电时,能产生有效的复位.当AVR在任务时,按下S0开关时,复位脚酿成低电平,触发AVR芯片复位.重要说明:实际应用时,如果你不需要复位按钮,复位脚可以不接任何的零件,AVR芯片也能稳定任务.即这部分不需要任何的外围零件.图3-2 复位电路设计(2)晶振电路的设计Mega16已经内置RC振荡线路,可以产生1M、2M、4M、8M的振荡频率.不过,内置的究竟是RC振荡,在一些要求较高的场合,比方要与RS232通信需要比较精确的波特率时,建议使用外部的晶振线路.早期的90S系列,晶振两端均需要接22pF左右的电容.Mega系列实际使用时,这两只小电容不接也能正常任务.不过为了线路的标准化,我们仍建议接上.重要说明:实际应用时,如果你不需要太高精度的频率,可以使用内部RC振荡.即这部分不需要任何的外围零件.图3-3 晶振电路设计(3)电源设计AVR单片机最经常使用的是5V与两种电压.本线路以转换成5V直流电压,电路需要变压器把220交换电压转换成28V交换电,再通过整流器,把交换电转化成直流电,通过7809和7805三端正电源稳压电路转化成直流5V.电源如图3-4.图3-4电源电路设计图第四章大林控制算法设计4.1 大林控制算法原理:在许多产业进程中,被控对象一般都有纯滞后特性,并且经常遇到纯滞后较大的对象.美国IBM公司的大林,在1968年提出了一种针对产业生产进程中,含有纯滞后对象的控制算法,具有较好的效果.假定带有纯滞后的一阶、二阶惯性环节的对象为:K为缩小系数.,N为正整数.大林算法的设计目标是设计适合的数字控制器,使整个闭环系统的传递函数为具有时间纯滞后的一阶惯性环节,并且要求闭环系统的纯滞后时间等于对象的纯滞后时间.4.2 控制器的设计及公式推导进程采样周期T=1s,系统狭义对象的脉冲传递函数为:当输入为单位阶跃时,输出为:控制量的输出为:4.3 采样周期的选择:在本实验中,定时中断距离选取100ms ,采样周期T 要求既是采样中断距离的整数倍,又要满足,而由被控对象的表达式可知,所以取N=1,取T=1s.T=1s ,定时中断为1s ,就是说1个定时中断落后行采样.第五章水温控制系统的仿真直接用上述控制算法组成闭环控制系统时,人们发明数字控制器输出U(z)会以1/2采样频率大幅度上下摆动.这种现象称为振铃现象.振铃现象与被控对象的特性、闭环时间常数、采样周期、纯滞后时间的大小等都有关系.振铃现象中的振荡是衰减的,并且于由被控对象中惯性环节的低通特性,使得这种振荡对系统的输出几近无任何影响,但是振铃现象却会增加执行机构的磨损.在交互作用的多参数控制系统中,振铃现象还有可能影响到系统的稳定性,所以,在系统设计中,应设法消除振铃现象.可引入振铃幅度RA来权衡振荡的强烈程度.振铃幅度RA的定义为:在单位阶跃信号的作用下,数字控制器D(z)的第0次输出与第1次输出之差值.设数字控制器D(z)可以暗示为:5-1)其中5-2)那么,数字控制器D(z)输出幅度的变更完全取决于Q(z),则在单位阶跃信号的作用下的输出为:5-3)按照振铃的定义,可得:5-4)上述标明,产生振铃现象的原因是数字控制器D(z)在z平面上位于z=-1邻近有顶点.当z=-1时,振铃现象最严重.在单位圆内离z=-1越远,振铃现象越弱.在单位圆内右半平面的顶点会削弱振铃现象,而在单位圆内右半平面的零点会加重振铃现象.由于振铃现象容易损坏系统的执行机构,因此,应设法消除振铃现象.大林提出了一个消除振铃的复杂可行的办法,就是先找造成振铃现象的因子,然后令该因子中的z=1.这样就相当于取消了该因子产生振铃的可能性.按照终值定理,这样处理后,不会影响输出的稳态值.本设计的被控对象是含有纯滞后的一阶惯性环节,大林算法求得的数字控制器为式:5-5)有可暗示为式3-14所示:5-6)可能引起振铃现象的因子是式3-15所示:5-7)其振铃的幅度为:5-8)按照r值的不合,有一下几种情况:(1)当r=0时,不存在振铃顶点因子,此时不产生振铃现象(2)当r=1时,存在一个顶点;当τz≈-1,存在严重的振铃.当r=2时,存在顶点当τ<<T时,z≈1时,存在振铃现象.对于r=2时的振铃顶点,令Z=1代入式中可得:此时就求得的消除振铃的数字控制器D(z)表达式为atlab仿真Matlab仿真图(无振铃现象)5.2 大林算法控制系统编程设计:按照系统的总体功效和键盘设置选择一种最适合的监控程序结构,然后按照实时性的要求,公道地安插监控软件和各执行模块之间地调度关系.本部分详细介绍了基于AT89S52单片机的多路温度收集控制系统的软件设计.按照系统功效,可以将系统设计分为若干个子程序进行设计,如温度收集子程序,数据处理子程序、显示子程序、执行子程序.采取Keil uVision3集成编译情况和C语言来进行系统软件的设计.本章从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一阐发各模块程序算法的实现,最终编写出满足任务需求的程序.收集到当前的温度,通过LED数码管实现温度显示.通过按键任意设定一个恒定的温度将水情况数据与所设置的数据进行比较.当水温低于设定值时,开启加热设备,进行加热;当水温高于设定温度时,停止加热.当系统出现毛病,超出控制温度规模时,自动蜂鸣报警并对温度进行实时显示.采取C语言编写代码,鉴于篇幅限制及DS18B20的应用已经标准和成熟,本文仅就主程序流程图和显示子程序流程图及其代码进行说明.通过定时器口的定时来实现,在此不再赘述.有关DS18B20的读写程序,编程时序阐发等请见附录三.功效主程序流程图主程序通过调用温度收集子程序完成温度数据收集,然后调用温度转换子程序转换读取温度数据,调用显示子程序进行温度显示和判断温度数据.主程序(见附录二)调用四个子程序,辨别是温度收集程序、数码管显示程序、温度处理程序和数据存储程序.温度收集程序:对温度芯片送过去的数据进行处理,进行判断和显示.数码管显示程序:向数码的显示送数,控制系统的显示部分.温度处理程序:对收集到的温度和设置的上、下限进行比较,做出判断,向继电器输出关断或闭合指令.数据存储程序:对键盘的设置的数据进行存储.图1 系统总流程图设计主程序的主要功效是担任温度的实时显示、读出并处理DS18B20的丈量的当前温度值,温度丈量每1s进行一次.这样可以在一秒之内丈量一次被测温度,其程序流程见图2所示.通过调用读温度子程序把存入内存储中的整数部分与小数部分分隔存放在不合的两个单元中,然后通过调用显示子程序显示出来.图2 主程序流程图读出温度子程序的主要功效是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写.DS18B20的各个命令对时序的要求特别严格,所以必须依照所要求的时序才干达到预期的目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位,还有一位符号位.DS18B20的数据读写是通过期序处理位来确认信息互换的.当总线控制器倡议读时序时,DS18B20仅被用来传输数据给控制器.因此,总线控制器在收回读暂存器指令[BEh]或读电源模式指令[B4H]后必须立刻开始读时序,DS18B20可以提供请求信息.所有读时序必须最少60us,包含两个读周期间至少1us的恢复时间.当总线控制器把数据线从高电平拉到低电平时,读时序开始,数据线必须至少保持1us,然后总线被释放在总线控制器收回读时序后,DS18B20通过拉高或拉低总线上来传输1或0.当传输逻辑0结束后,总线将被释放,通过上拉电阻回到上升沿状态.从DS18B20输出的数据在读时序的下降沿出现后15us 内有效.因此,总线控制器在读时序开始后必须停止把I/O脚驱动为低电平15us,以读取I/O脚状态.图3 读出温度子程序本系统采取八位共阳极数码管,用模拟串口的动态显示数据.其流程图如图4所示:图4 数码管显示流程图基于单片机水温控制系统通过DS18B20温度传感器收集到的温度和设置的温度上、下限进行比较得出结果.如果低于下限温度或是高于上限温度,则报警器进行进行报警.第六章小结与体会这次的课程设计分派到两团体一组完成,虽然只有短短的两周时间,但是通过这些天的学习使我收获巨大,让我加倍深刻的温习了课本知识,使得自己在专业技巧和动手能力方面有了很大的提高,为以后自己进入社会打下了一个良好的根本.在这次的课程设计进程中,我与周航一组,我很感激老师对我的指导及同学的帮忙,我主要担任软件的仿真,周航担任硬件系统的设计.在大林控制算法的设计中,遇到了许多的难题,对于原理概念十分模糊,一些公式也忘了如何去使用,拿出了以前的课本对遗忘的知识进行了回首,在同学的帮忙下,与周航的讨论中一步一步的完成了控制器的设计和大林算法公式的推导.使得我能够顺利的完成此次的课程设计,通过完成这次的课程设计,使我深刻的体会到了团队的重要性,这次的课程设计很,但两人一组的团队的协作使课程设计复杂了许多,每团体都有明确的分工,这样,再加上自己的努力终能取得成功.感激此次的课程设计让我收获良多!第七章参考文献[1]于海生主编,微型计较机控制技巧[M],北京:清华大学出版社,2009[2]李小坚,赵山林,冯晓军,龙怀冰.Protel DXP电路设计与制版实用教程(第2版).北京:人民邮电出版社.2009选编(第一届-第五届).北京: 北京理工大学出版社.2004[4]张琳娜,刘武发.传感检测技巧及应用.北京:中国计量出版社.1999[5]沈德金,陈粤初. MCS-51系列单片机接口电路与应用程序实例.北京:北京航空航天大学出版社.1990[6]型80C51单片机速成与实战.北京:北京航空航天大学出版社.C语言应用程序设计.北京:北京航空航天大学出版社社.199[8]胡汉才.单片机原理及接口技巧.北京:清华大学出版社社.1996[9]李志全等.智能仪表设计原理及应用.北京:国防产业出版社.[10]何立民.MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社.1990.1第八章附录附录一:系统程序#include <reg52.h> //52系列头文件#include <stdio.h>#define uchar unsigned char#define uint unsigned intsbit ds=P3^4;sbit dula=P2^6;sbit beep=P1^4; //定义蜂鸣器sbit led=P1^1;sbit jdq=P1^0;uint temp,t,w; //定义整型的温度数据uchar flag;float f_temp; //定义浮点型的温度数据uint low; //定义温度下限值是温度乘以10后的结果uint high; //定义温度的上限值sbit led1=P1^0; //控制发光二极管sbit led2=P1^1; //控制发光二极管sbit s1=P3^5;sbit s2=P3^6;sbit s3=P3^7;uchar flag1,flag2,flag3,flag4,s1num,qian,bai,shi,ge;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc6}; //共阳数码管段码表uchar code table1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//带小数点的编码void delay(uchar z) //延时函数{uchar a,b;for(a=z;a>0;a--)for(b=100;b>0;b--);}void init(){EA=1;ET1=1;TR1=1;TMOD=0x10;TH1=(65536-4000)/256;TL1=(65536-4000)%256;flag=0;high=100;jdq=1;}void didi(){beep=0;led=0;delay(500);beep=1;led=1;delay(500);}void dsreset(void) //DS18b20复位,初始化函数{uint i;ds=0;i=103; //延时最短480uswhile(i>0) i--;ds=1; //等待16-60us,收到低电平一个约60-240us则复位成功i=4;while(i>0) i--;}bit tempreadbit(void) //读1位数据函数{uint i;bit dat;ds=0;i++;ds=1;i++;i++; //i++起到延时作用dat=ds;i=8;while(i>0)i--;return(dat);}uchar tempread(void) //读1字节的数据函数{uint i,j,dat;dat=0;for(i=1;i<=8;i++){j=tempreadbit();dat=(j<<7)|(dat>>1);//读出的数据最低位在最前面,这样恰好一个字节在dat里}return(dat);}void tempwritebyte(uchar dat) //向DS18B20写一个字节的数据函数{uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb) //写1{ds=0;i++;i++;ds=1;i=8;while(i>0)i--;}else //写0{ds=0;i=8;while(i>0) i--;ds=1;i++;i++;}}}void tempchange(void) //DS18B20开始获得温度并转换{dsreset();delay(1);tempwritebyte(0xcc); //写跳过读ROM指令tempwritebyte(0x44); //写温度转换指令}uint get_temp() //读取存放器中存储的温度数据{uchar a,b;dsreset();delay(1);tempwritebyte(0xcc); //写跳过读ROM指令tempwritebyte(0xbe); //写温度转换指令a=tempread(); //读低8位b=tempread(); //读高8位temp=256*b+a;f_temp=temp*0.0625; //温度在存放器中为12位,分辩率为 temp=f_temp*10+0.5; //乘以10暗示小数点前面只取一位return temp; //temp是整型}void keyscan(){if(s1==0){P2=0xff;delay(5);if(s1==0){while(!s1);s1num++;if(s1num==1){flag=1;}if(s1num==2){s1num=0;flag=0;}}}if(s1num==1){flag=1;if(s2==0){delay(5);if(s2==0){while(!s2);high+=10;if(high==1000)high=100;}}if(s3==0){delay(5);if(s3==0){while(!s3);high-=10;if(high==0)high=100;}}}}void main() //主函数{init();while(1){tempchange(); //温度转换函数if(temp<high-10){jdq=0;didi();}if((temp>=high-10)&&(temp<=high)){jdq=0;beep=1;}if((temp>high)&&(temp<=high+10)){jdq=1;beep=1;}if(temp>high+10){jdq=1;didi();}}}void time1() interrupt 3{TH1=(65536-4000)/256;TL1=(65536-4000)%256;t++;keyscan();if(flag==0){if(t==4) t=0;switch(t){case 1:P0=table[get_temp()/100]; P2=0xfd;break;case 2:P0=table1[get_temp()%100/10];P2=0xfb;break; case 3:P0=table[get_temp()%10]; P2=0xf7;break;}}if(flag==1){if(t==4) t=0;switch(t){case 0:P0=0xff; P2=0xfe;break;case 1:P0=0xff; P2=0xfd;break;case 2:P0=table[high/100]; P2=0xfb;break;case 3:P0=table[high%100/10]; P2=0xf7;break; }}}班级:姓名:学号:1.扼要叙述系统的任务原理.2.简述复位电路设计原理.3.系统如何产生报警?4.简述大林算法的原理.5.采样周期如何确立?。

大林算法在温度控制中的应用.ppt

大林算法在温度控制中的应用.ppt

引言随着现代科学技术水品格发展,与其是近年来,电力工业的迅速发展,工业电阻炉尤其是钟罩式真空电阻炉越来越受人们的青睐。

工业钟罩式真空电阻炉是一种重要的热处理设备,它能使被加热零件脱气、脱氧、脱硫,以及能使有害杂质蒸发分离,避免零件氧化污染,而且它的温度容易调节,相对其它电阻炉来讲热惯性小升温时间短,它在工业中被广泛采用。

他一般具有较大的时间常数和一定的纯滞后时间,且滞后时间比较长,我们知道这样的系统村不利于现代化工业生产自动化水平提高,不利于产品质量和生产效率的提高。

但是一般来讲,对这样的系统在工业生产中要求没有超调量或超调量很小,调节时间希望在确定的采样时间内结束(虽然也希望尽快结束过渡过程,但是这是第二位的)。

因此超调试主要的设计目标,用一般的控制系统设计方法是不行的,用模拟仪表控制算法效果也欠佳。

IBM公司的大林于1968年提出一种针对工业生产过程中含有纯滞后的控制对象的控制算法,即大林算法。

它具有良好的效果,采用大林算法的意义在于大林控制算法能在一些具有纯滞后环节的系统中兼顾动静两方面的性能,可做到小超调小稳态误差。

控制效果比较理想。

对工程实际应用具有很大的意义。

第一章钟罩式真空电阻炉1.1钟罩式真空电阻炉钟罩式真空电阻炉所谓钟罩式系指炉膛位于工作台面以上,钟罩可以升降,由侧面装卸工件,所以又称侧装式。

图1-1所示为双位钟罩式真空炉。

这种型式的炉子其加热器有两种安装方式:一种是装在钟罩内,随钟罩升降,这时,固定在炉盖上的电极汇流排5也要随盖运动。

另一种是固定在静止的台面板上,电极汇流排需从机架下方引入。

钟罩式真空电阻炉的基本参数见表1-1所示。

图1-1 双位钟罩式真空电阻炉1-机架;2-真空系统;3-观察孔;4炉体;5-汇流排;6-电气部分;7-变压器;8-升降机构。

表1-1 钟罩式真空电阻炉的基本参数(SJ861-74)1.2钟罩式真空电阻炉的结构1.2.1钟罩式真空电阻炉的隔热屏隔热屏是一种炉衬形式,常用于周期作业真空电阻炉,其特点是热惯性很小而透热性很大。

基于大林算法的燃气热水器温度Fuzzy-PID控制方法

基于大林算法的燃气热水器温度Fuzzy-PID控制方法
3 基于大林算法的燃气供应量控制律 . 1
大林算法 的设计 目标是将 期望的 闭环 响应设 计成一 阶惯性 加纯滞后 ,然后 反过来得到能满足这 种闭环 响应
的控 制器 。
冷 _ _ _ ( J
燃气
— — — —
I 热元 _ 敏件 I f 、

” …

— — — —
方法 ] 。
在 温度控制技术领域 中, 普遍采用 PD控 制算法 。 I 但
是在 一些具有纯滞后环节 的系统 中,PD 控 制很难 兼顾 I 动 、静两方面 的性 能,而且多参数整定也很难 实现最佳
控制 。若采用大林算法 ,可做 到无或者小超调 ,无或小
稳态误 差,控 制效果 比较理想 。大林算法是 由美 国 IM B
法 的燃气供应量控制律式 ( ) 8。
32 基 于模糊 -I 控制律 的 目标燃 气供应 量 的控 制 . PD
式 ()是基于大林 算法使得 期望温度 时的现场燃气 8
供 应量得 以确定 ,但 目标燃气供应量是需要 控制燃气 比 例 阀开 口大小来实现 ,同样 比例 阀开 口大小在 燃气供应
参考文献 :
【]陈庭根,管志川.钻井工程理论与技术 [ 。东营 :中国石 1 M1
探讨 [ .海洋石油 ,2 0 ,2 2:8 一3 J ] 06 6() O8 .
[】吕英民. 4 材料力学 [ .东营:石油大学 出版社 ,19 . M] 93 []李克 向. 5 钻井手册 ( 甲方)上册 [ . 京:石油工 业出版 M1 北
社 , 19 :3 93 3 9 0 3 —4 .
[]杜晓瑞,王桂文,王德 良. 6 钻井工具手册 [ .北京:石油 M】
工 业 出版 社 , 2 0 : 64 00 3.

基于大林算法的电加热炉温度控制系统设计.

基于大林算法的电加热炉温度控制系统设计.

基于大林算法的电加热炉温度控制系统设计.电加热炉是一种用于加热加工材料、提高材料温度的设备,是冶金、化工、机械等领域常用的加热设备。

电加热炉的温度控制系统的设计是保证加热炉稳定运行的关键。

在本文中,我们将基于大林算法设计电加热炉温度控制系统。

1. 大林算法简介大林算法是一种基于神经网络的优化算法,它通过自适应学习的方式来实现非线性函数优化。

它的基本思想是将问题转化为一组神经网络模型,然后通过自适应学习来不断优化这个模型,直到达到最优解。

大林算法的核心是自适应学习函数。

电加热炉温度控制系统的设计包括硬件和软件两个部分。

硬件主要包括温度传感器、控制器、执行机构等组成,软件主要包括控制算法、数据处理与通信等部分。

在本文中,我们将重点讨论软件部分的设计。

2.1 环境参数检测在温度控制系统中,环境参数的检测非常重要。

环境参数包括加热炉内部温度、加热炉外部环境温度等参数。

我们需要通过传感器来检测这些参数,并将数据传输给控制算法进行处理。

2.2 控制算法选择在温度控制系统中,控制算法的选择是非常重要的,不同的算法有着不同的特点和适用场景。

在这里,我们将采用大林算法。

2.3 大林算法的实现2.3.1 神经网络模型的设计大林算法的核心是神经网络模型,我们需要设计一个适合于电加热炉温度控制的神经网络模型。

神经网络模型的输入主要包括环境参数和控制器采集到的数据。

环境参数包括加热炉内部温度、加热炉外部环境温度等。

控制器采集到的数据包括加热炉内部温度、控制器输出电压等。

神经网络模型的输出为控制器的输出电压。

我们可以根据输入和输出建立一个适合于电加热炉温度控制的神经网络模型。

2.3.2 自适应学习函数设计2.4 控制器设计控制器是电加热炉温度控制系统的中心,它负责接收传感器的信号,处理数据,并输出相应的控制信号。

在本系统中,我们将采用PID控制器来实现温度的控制。

PID控制器中的P表示比例控制,I表示积分控制,D表示微分控制,通过对这三个方面的优化,实现温度的控制。

基于某大林算法地炉温控制仿真

基于某大林算法地炉温控制仿真

电气工程及自动化学院课程设计报告(控制基础实践)题目:基于大林算法的炉温控制仿真专业班级:自动化101班姓名:周强学号:33号指导老师:国亮2012年12月22日电阻炉在化工、冶金等行业应用广泛,因此温度控制在工业生产和科学研究中具有重要意义。

其控制系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。

采用单片机进行炉温控制,具有电路设计简单、精度高、控制效果好等优点,对提高生产效率、促进科技进步等方面具有重要的现实意义。

常规的温度控制方法以设定温度为临界点,超出设定允许围即进行温度调控:低于设定值就加热,反之就停止或降温。

这种方法实现简单、成本低,但控制效果不理想,控制温度精度不高、容易引起震荡,达到稳定点的时间也长,因此,只能用在精度要求不高的场合。

电加热炉是典型的工业过程控制对象,在我国应用广泛。

电加热炉的温度控制具有升温单向性,大惯性,大滞后,时变性等特点。

其升温、保温是依靠电阻丝加热,降温则是依靠环境自然冷却。

当其温度一旦超调就无法用控制手段使其降温,因而很难用数学方法建立精确的模型和确定参数,应用传统的控制理论和方法难以达到理想的控制。

在温度控制技术领域中,普通采用PID控制算法。

但是在一些具有纯滞后环节的系统中,PID控制很难兼顾动、静两方面的性能,而且多参数整定也很难实现最佳控制。

若采用大林算法,可做到无或者小超调,无或小稳态误差。

大林算法是运用于自动控制领域中的一种算法,是一种先设计好闭环系统的响应再反过来综合调节器的方法。

设计的数字控制器(算法)使闭环系统的特性为具有时间滞后的一阶惯性环节,且滞后时间与被控对象的滞后时间相同。

此算法具有消除余差、对纯滞后有补偿作用等特点。

本设计主要采用大林算法来实现炉温控制,并与PID算法进行比较。

关键词:PID控制;大林算法;控制算法;MATLAB第一章系统方案 (1)1.1设计任务和要求 (1)1.2大林算法 (1)1.3 PID算法 (3)第二章设计流程 (4)2.1大林算法软件设计流程图 (5)2.2 PID算法程序设计流程图 (5)第三章设计过程及结果 (6)3.1 GUI界面设计 (6)3.1.1 GUI界面的建立 (7)3.1.2 制作GUI界面 (9)3.2 Simulink设计 (10)3.2.1 大林算法Simulink (10)3.2.2 PID控制算法Simulink (11)3.3 程序设计 (12)3.3.1 大林算法编程 (12)3.3.2 PID控制算法编程 (14)3.4 两种算法的比较 (16)第四章总结 (17)致 (18)参考文献 (19)附录 (20)1、大林算法程序 (20)2、PID控制器算法程序 (20)第一章 系统方案1.1设计任务和要求已知电阻炉对象数学模型为1)(+=-Ts ke s G sτ 其中,k=12, T=400, 60=τ,电阻炉的温度设定为1000℃.要求:(1)设计大林控制算法;(2)设计PID 控制器,并与PID 算法进行比较;(3)改变模型参数,考察模型扰动下系统性能变化情况。

基于大林算法的热压炉炉温PLC控制研究

基于大林算法的热压炉炉温PLC控制研究

基于大林算法的热压炉炉温PLC控制研究作者:辛海燕来源:《河南科技》2018年第01期摘要:本文以金属基复合材料制备中的热压炉为研究对象,分别采用传统PID控制和大林算法进行仿真研究。

结果表明,大林算法较传统的PID控制可以更稳定地控制热压炉温度,而且大林算法在被控对象模型失配时,仍然可以得到较好的控制效果。

关键词:热压炉;炉温;大林算法;PID;模型失配中图分类号:TK323 文献标识码:A 文章编号:1003-5168(2018)01-0148-02Research on PLC Control of Furnace Temperature of Hot PressingFurnace Based on Daolin AlgorithmXIN Haiyan(School of Electronics and Computer Engineering, Southeast University Chengxian College,Nanjing Jiangsu 210088)Abstract: In this paper, the hot pressing furnace in the preparation of metal matrix composites was taken as the research object, the traditional PID and Dalin algorithm were used to control the simulation, and the Daolin algorithm control system was test. The results showed that the Daolin algorithm could control the temperature of the hot stamping furnace more strictly than the traditional PID control, and the Dalin algorithm could get the better control effect when the controlled object model was mismatched.Keywords: hot pressing furnace;furnace temperature;Dalin algorithm;PID;model mismatch热压炉是金属基复合材料制备中应用最多的加热设备,用于对材料的分断加热和冷却等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机控制技术课程设计2015/2016学年第二学期设计课题:基于大林算法的炉温控制系统目录1 课题简介课题目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

《计算机控制系统》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。

通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。

课题任务设计以89C51单片机和AD 、DA 驱动电路、控制电路、滤波电路、被控对象电路等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。

1. 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用DAC0832和运放等);由运放实现的被控对象。

2. 控制算法:大林控制算法。

3. 软件设计:主程序、中断程序、A/D 转换程序、大林算法控制程序、D/A 输出程序等。

4.仿真设计:用Matlab 仿真闭环控制系统。

设计要求1. 模入电路能接受双极性电压输入(-5V~+5V ),模出电路能输出双极性电压(-5V~+5V )。

2. 模入电路用两个通道分别采集被控对象的输出和给定信号。

3. 选择被控对象:G (),3.341sc e s T s τ-==+ 4. 对象的纯延迟环节seτ-用软件通过数组单元移位实现。

5. 定时中断间隔选取50ms ,采样周期T 既要是采样中断间隔的整数倍,又满足(0.2~1)T τ=。

6. 闭环系统时间常数T τ按倍的被控对象最大时间常数选择。

2 大林算法控制系统方案设计大林算法总体介绍+)(r t )(t e D(Z)U(Z)se Ts--1G(S)C(T)-图2-1 大林算法设计的闭环控制系统方框图在控制系统设计中,纯滞后往往是影响系统动态特性的不利因素,这种系统如果控制器设计不当,常常会引起系统产生大的超调或振荡。

对这类系统的控制要求,快速性是次要的,而主要要求系统没有超调或很少的超调。

大林(Dahlin )算法就是一种专门针对工业生产过程中含有纯滞后控制对象的直接数字设计算法。

振铃现象及其消除所谓振铃(Ringing )现象,是指数字控制器的输出u(k)以2T 大幅度上下摆动。

振铃现象会引起采样点间系统输出纹波,增加执行机构的磨损,影响多参数系统稳定性。

振铃现象与被控对象的特性、闭环时间常数、采样时间、纯滞后时间的大小等有关。

2.2.1振铃现象产生的根源由于()()()()()Y z R z z U z G z φ==,()()()u z z G z φφ=,得()()()u U z z R z φ=,则对单位阶跃输入11()1R z z-=-,它有极点z =1,如果()u z φ的极点在负实轴上,且与z = -1接近,则上述两个极点造成的输出瞬态项在不同的时刻可能叠加也可能抵消,导致输出出现波动。

2.2.2振铃现象的消除找出D(z)中引起振铃的因子(z = -1附近的极点),令其中的z = 1。

取消了这个极点,可以消除振铃。

系统稳态值不变,但瞬态特性会变化,数字控制器的动态性能也会有影响。

根据终值定理,t →∞时,对应1z →,因此这样处理不影响输出的稳态值。

注意:大林算法由于修改了控制器的结构,使系统闭环传函φ(z) 也发生了变化,一般应检查其在改变后是否稳定。

大林算法只适合于稳定的对象。

如果广义对象的Z 传函G(z)中出现了单位圆外的零点,它将引起不稳定的控制,在这种情况下,相应于控制器中的这一不稳定极点,可采用前面消除振铃极点相同的办法来处理。

系统闭环工作原理在本次大林算法控制系统中,系统先进行A/D 采样,将给定值采样值取到单片机内,之后单片机会选择另外一路通道,进行输出值即反馈值的采样。

将输出值采样到单片机内后,在单片机中进行差值E(K )计算,再通过单片机中的算法程序得到输出量U(K ),再经过D/A 变换器,将输出结果作用于被控对象。

经被控对象的输出值又将作为反馈值被采样到单片机内。

系统的结构框图电加热炉控制系统的硬件结构框图如图:图2-2 系统的总体结构框图3 大林算法控制系统硬件电路设计驱动电路温度控制系统ADC0809AT89C51电加热炉键盘DAC0833.1 A/D采样电路图3-1 A/D采样硬件电路图 D/A输出电路图3-2 D/A输出电路驱动电路设计图3-3 驱动电路电路图给定对象硬件电路设计图3-4 给定对象硬件电路图总硬件图图3-5 总硬件图4 大林算法控制系统算法设计控制算法的原理设计数字控制器使系统的闭环传函为具有纯滞后的一阶惯性环节,且其滞后时间等于被控对象的滞后时间。

并希望整个闭环系统的纯滞后时间和被控对象的纯滞后时间相同。

其中为闭环系统的时间常数,纯滞后时间与采样周期T 有整数倍关系。

控制器的设计过程首先被控对象的传递函数:(),3.341sC e G s T s τ-==+ (4-1) 其中1T s =,2T s τ=。

经计算: 210.2587z ()10.7413G z z --=- (4-2)210.3935() 10.6065z z z --Φ=- (4-3)1111.5211(10.7413)()(1)(10.3935)z D z z z ----=-+ (4-4)2345()0.39350.63220.77690.8647Y z zz z z ----=-+++L (4-5)1234() 1.5228 1.3175 1.193 1.1176 1.0718U z z z z z ----=+++++L (4-6)计算机实现的计算机公式推导() 1.5228() 1.1289(1)()0.8735(1)0.5711(2)0.4446(3)U k u k u k e k e k e k e k =--+----+- (4-7)程序中00.087,10.6544,20.1054kk kk kk ==-=,10.1353,20.8647,30pp pp pp ===。

采样周期的选择在本实验中,定时中断间隔选取50ms ,由被控对象的表达式可知,N=1,1T 1s s ττ=T ==,,取。

5 大林算法控制系统仿真系统仿流程图图5—1 程序设计流程图R3→通道数 计算偏差计算a1E(k-1) 计算a0E(k)-a1E(k-1) 传送数据,为下次采样计算做准备调用D/A 输出子程序8通道均控制完否?返回计算a0E(k) 计算b1E(k-1)计算011()(1)(1)a E k a E k b E k --+-计算b2E(k-N-1)计算0112()(1)(1)(1)a E k a E k b E k b E k N --+-+--开始仿真代码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/Ty=[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-2 大林算法实现炉温控制波形图基于大林算法的炉温控制系统仿真时,可以调节温控炉时间常数T 使闭环系统的指标达到最佳。

当T 很小时,响应很快但稳定性不好系统会产生震荡;当T 增大,系统的响应变慢,但稳定性很好。

而且由波形图可见大林控制算法下系统几乎无超调,精度设计时候是300℃,最终通过仿真也是,因此精度是1。

误差计算为:设系统在输入信号的作用下时,21()R s s,所以系统的误差为1()()()0.471()limlim lim r sr sr t s s e e t sE s sR sG s →∞→→====+ (5-2)大林算法SIMULINK 仿真结构图及波形当炉温为300℃时,图5—3 大林算法实现炉温300℃控制的SIMULINK 仿真结构图图5—4 大林算法实现炉温300℃控制的SIMULINK 仿真波形图当炉温为500℃时,图5—5 大林算法实现炉温500℃控制的SIMULINK 仿真结构图图5—6 大林算法实现炉温500℃控制的SIMULINK仿真波形图当炉温为200℃时,图5—7 大林算法实现炉温200℃控制的SIMULINK仿真结构图图5—8 大林算法实现炉温200℃控制的SIMULINK仿真结构图6 小结与体会在这个维持近两周的计算机课设的过程中,我们是两个同学为一个小组进行这次课设任务,我主要任务是负责仿真部分,而另外一位同学负责的是其他部分。

因为一开始老师给的课题种类较丰富,比如有从对象上分类就有温度、电机等等其他种类,然后从算法上又可以分为大林算法,PID算法,最少拍算法等等,所以在和同学一起查阅相关资料,再结合我们平时所学习的并且已经掌握的书本知识的前提下,我们选择了基于大林算法的炉温控制系统这一课设主题。

通过已经学习的知识,如数电,自动控制原理,计算机控制等科目,加上自己在网上查找资料、参考论文,和自己在图书馆找书自学Matlab软件才完成了这次的课程的仿真设计。

在设计的过程中,也不是从头到尾就一帆风顺,没有困难。

在自学仿真软件的过程中,我遇到如下问题:1.安装软件过程中,通过软件自带的说明,才成功安装。

在熟悉软件的过程中,通过网上查阅资料,逐步了解软件运行过程和问题处理方案。

2.第一周末画波形图,在波形图的绘制过程中,需要自己编程序,我在网上找到了一些程序,在仔细甄别以后,开始尝试画图,但由于程序依旧出现问题,我就自己尝试修改,一次又一次的尝试以后,功夫不负有心人,终于出现结果。

相关文档
最新文档