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

上传人:b****2 文档编号:2778707 上传时间:2023-05-04 格式:DOCX 页数:18 大小:192.33KB
下载 相关 举报
基于大林算法的电阻炉温度控制系统设计.docx_第1页
第1页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第2页
第2页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第3页
第3页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第4页
第4页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第5页
第5页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第6页
第6页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第7页
第7页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第8页
第8页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第9页
第9页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第10页
第10页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第11页
第11页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第12页
第12页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第13页
第13页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第14页
第14页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第15页
第15页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第16页
第16页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第17页
第17页 / 共18页
基于大林算法的电阻炉温度控制系统设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《基于大林算法的电阻炉温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于大林算法的电阻炉温度控制系统设计.docx(18页珍藏版)》请在冰点文库上搜索。

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

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

课程设计任务书

学院

专业

学生姓名

班级学号

课程设计题目

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

实践教学要求与任务:

1)构成电阻炉温度控制系统

2)大林算法设计

3)硬软件设计

4)实验研究

5)THFCS-1现场总线控制系统实验

6)撰写实验报告

 

工作计划与进度安排:

1)第1~2天,查阅文献,构成闭环温度控制系统

2)第3天,大林算法设计

3)第4~5天,硬软件设计

4)第6天,实验研究

5)第7~9天,THFCS-1现场总线控制系统实验

6)第10天,撰写实验报告

指导教师:

201年月日

专业负责人:

201年月日

学院教学副院长:

201年月日

目录

摘要1

1.课题简介2

1.1课题目的2

1.2课题内容2

1.3课题要求2

2.大林算法控制系统方案设计3

2.1控制系统总体介绍3

2.2控制系统闭环工作原理3

3.大林算法控制系统硬件电路设计4

3.1A/D采样电路4

3.2D/A输出电路5

3.3给定对象硬件电路设计6

3.4总硬件图7

4.大林算法控制系统算法设计8

4.1控制算法的原理8

4.2计算机实现的计算机公式推导8

4.3采样周期的选择9

5.大林算法控制系统软件编程设计10

5.1主程序与中断流程图10

5.2部分控制程序代码11

6.结论15

7.小结与体会16

参考文献17

摘要

电阻加热炉用于合金钢产品热力特性实验,电加热炉用电炉丝提供功率,使其在预定的时间内将炉内温度稳定到给定的温度值。

在本控制对象电阻加热炉功率为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课题要求

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

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

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-2

5.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秒输出;最后就是通过递推公式,计算实现输出信号的不断优化。

该程序实现的功能是对定时器的重新装值,同时,当采样周期到时,启动A/D,用于对转换反馈信号进行A/D转换。

6.结论

无振铃

7.小结与体会

课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它有利于我们全面牢固地掌握课堂教学内容、培养我们的实践和实际动手能力。

这次的课程设计,让我对《计算机控制技术》这门课和课程设计有了一个全新的认识,也有了很多的体会和心得。

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

计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。

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

通过这次的课程设计,我认识到任何课程的学习都需要理论结合实际,这样才能更好地掌握所学的知识并将它很好地应用于实践中。

同时,在实践过程中,可以通过查找资料、分析资料和请教老师和同学,使一些不清楚的问题得以解决,这样的话,可以起到事半功倍的效果。

当然,最关键的还是靠自己亲自去思考问题、解决问题,掌握独自面对各类的问题的方法。

总之,这次的课程设计给了我很多的体会和心得。

让我们有机会去锻炼和提升自己,收获很多。

 

参考文献

[1]于海生主编,微型计算机控制技术,北京:

清华大学出版社,2009

[2]张艳兵等编著,计算机控制技术,北京:

国防工业出版社,2008

[3]张毅刚主编,单片机原理及应用,北京:

高等教育出版社,2004

[4]陈涛编著,单片机应用及C51程序设计,北京:

机械工业出版社,2008

[5]楼然苗,李光飞编著,单片机课程设计指导,北京:

北京航空航天大学出版社,2007

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2