计算机控制课程设计电阻炉温度控制系统定稿版.docx
《计算机控制课程设计电阻炉温度控制系统定稿版.docx》由会员分享,可在线阅读,更多相关《计算机控制课程设计电阻炉温度控制系统定稿版.docx(13页珍藏版)》请在冰点文库上搜索。
计算机控制课程设计电阻炉温度控制系统定稿版
IBMsystemofficeroom【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】
计算机控制课程设计电阻炉温度控制系统精编WORD版
计算机控制课程设计
报告
设计题目:
电阻炉温度控制系统设计
年级专业:
09级测控技术与仪器
姓名:
武帆
学号:
P60914001
任课教师:
谢芳
电阻炉温度控制系统设计
0.前言
随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,特别是微型计算机的出现使现代的科学研究得到了质的飞跃,利用单片机来改造落后的设备具有性价比高、提高设备的使用寿命、提高设备的自动化程度的特点。
温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。
温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量。
因而设计一种较为理想的温度控制系统是非常有价值的。
本设计就是利用单片机来控制高温加热炉的温度,传统的以普通双向晶闸管(SCR)控制的高温电加热炉采用移相触发电路改变晶闸管导通角的大小来调节输出功率,达到自动控制电加热炉温度的目的。
这种移相方式输出一种非正弦波,实践表明这种控制方式产生相当大的中频干扰,并通过电网传输,给电力系统造成“公害”。
采用固态继电器控温电路,通过单片机控制固态继电器,其波形为完整的正弦波,是一种稳定、可靠、较先进的控制方法。
为了降低成本和保证较高的控温精度,采用普通的ADC0809芯片和具有零点迁移、冷端补偿功能的温度变送器桥路,使实际测温范围缩小。
温度控制系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。
采用单片机进行温度控制,具有电路设计简单、精度高、控制效果好等优点,对提高生产效率、促进科技进步等方面具有重要的现实意义随着单片机技术的迅速兴起与蓬勃发展,其稳定、安全、高效、经济等优点十分突出,所以其应用也十分广泛。
单片机已经无处不在、与我们生活息息相关,并且渗透到生活的方方面面。
1.课程设计任务
项目设计:
电阻炉温度控制系统设计
以在工业领域中应用较为广泛的电阻炉为被控对象,采用MCS—52单片机实现电阻炉温度计算机控制系统的设计,介绍电阻炉温度计算机控制系统的组成,并完成系统总体控制方案和达林算法控制器的设计,给出系统硬件原理框图和软件设计流程图等。
1.1电阻炉组成及其加热方式
电阻炉是工业炉的一种,是利用电流通过电热体元件将电能转化为热能来加热或者熔化元件或物料的热加工设备。
电阻炉由炉体、电气控制系统和辅助系统组成,炉体由炉壳、加热器、炉衬(包括隔热屏)等部件组成。
由于炉子的种类不同,因而所使用的燃料和加热方法也不同;由于工艺不同,所要求的温度高低不同,因而所采用的测温元件和测温方法也不同;产品工艺不同,对控温精度要求不同,因而控制系统的组成也不相同。
电气控制系统包括主机与外围电路、仪表显示等。
辅助系统通常指传动系统、真空系统、冷却系统等,因炉种的不同而各异。
电阻炉的类型根据其热量产生的方式不同,可分为间接加热式和直接加热式两大类。
间接加热式电阻炉,就是在炉子内部有专用的电阻材料制作的加热元件,电流通过加热元件时产生热量,再通过热的传导、对流、辐射而使放置在炉中的炉料被加热。
直接加热式电阻炉,是将电源直接接在所需加热的材料上,让强大的电流直接流过所需加热的材料,使材料本身发热从而达到加热的效果。
工业电阻炉,大部分采用间接加热式,只有一小部分采用直接加热式。
由于电阻炉具有热效率高、热量损失小、加热方式简单、温度场分布均匀、环保等优点,应用十分广泛。
1.2控制要求
本系统中所选用的加热炉为间接加热式电阻炉,控制要求为:
(1)采用一台主机控制8个同样规格的电阻炉温度;
(2)电炉额定功率为20kW;
(3)恒温正常工作温度为1000℃,控温精度为±1%;
(4)电阻炉温度按预定的规律变化,超调量应尽可能小,且具有良好的稳定性;
(5)具有温度、曲线自动显示和打印功能,显示精度为±1℃;
(6)具有报警、参数设定、温度曲线修改设置等功能。
二、系统总体设计
根据题目要求,电热锅炉温度控制系统由核心处理模块、温度采集模块、键盘显示模块、及控制执行模块等组成。
采用比较流行的AT89S52作为电路的控制核心,使用8位的模数转换器AD0808进行数据转换,控制电路部分采用PWM通过AC-SSR实现锅炉温度的连续控制,此方案电路简单并且可以满足题目中的各项要求的精度。
系统总体框图如下。
2.1核心处理模块——单片机
该部分的功能不仅包括向温度传感器写入各种控制命令、读取温度数据、数据处理,同时还要对执行单元进行控制。
单片机是整个系统的控制核心及数据处理核心。
选择单片机的理由:
单片机的特点是体积较小,也就是其集成特性,其内部结构是普通计算机系统的简化,增加一些外围电路,就能够组成一个完整的小系统,单片机具有很强的可扩展性。
它具有和普通计算机类似的、强大的数据处理功能,通过使用一些科学的算法,可以获得很强的数据处理能力。
所以单片机在工业应用中,可以极大地提高工业设备的智能化、数据处理能力和处理效率,而且单片机无需占用很大的空间。
2.2温度信号采集与传感器
本部分的主要作用是用传感器检测模拟环境中的温度信号,温度传感器上电流将随环境温度值线性变化。
再把电流信号转换成电压信号,使用A/D转换器将模拟电压信号转换成单片机能够进行数据处理的数字电压信号,本设计采用的是数字温度传感器,以上过程都在温度传感器内部完成。
2.3人机交互及串口通信
人机交换的目的是为了提高系统的可用性和实用性。
主要包括按键输入、输出显示。
通过按键输入完成系统参数设置,而输出显示则完成数据的显示和系统提示信息的输出,串口通信的主要功能是完成单片机与上位机的通信,便于进行温度数据统计,为将来系统功能的扩展做好基础工作。
2.4控制执行单元
是单片机的输出控制执行部分,根据单片机数据处理的结果,驱动继电器控制外部设备,可以达到超温报警及升温或者降温目的,使环境温度始终保持在一个范围之内。
根据温度变化慢,并且控制精度不易掌握的特点,我们设计了以AT89S52单片机为检测控制中心的电热锅炉温度自动控制系统。
温度控制采用改进的PID数字控制算法,显示采用8位LED动态显示。
三、硬件电路设计
硬件电路如图所示:
硬件系统主要由AT89S52单片机、温度采集、A/D转换、键盘显示电路、报警等功能电路组成。
3.1、核心部分单片机
AT89S52单片机为主控制单元。
AT89S52单片机首先根据炉温的给定值和测量值计算出温度偏差,然后进行PID控制并计算出相应的控制数据由P1.0口输出。
最后将P1.0口输出的控制数据送往光电耦合隔离器的输入端,利用PWM脉冲调制技术调整占空比,达到使炉温控制在某一设定温度。
AT89S52单片机还负责按键处理、温度显示以及与上位机进行通信等工作。
4位高亮度LED用于显示设定温度或实测温度。
3.2、温度采集转换模块
温度采集电路主要由铂铑-铂热电偶LB-3。
LB-3热电偶可以在1300℃高温下长时间工作,满足常规处理工艺要求。
测温时,热电阻输出mV热电势,必须经过变送器变换成0-5V的标准信号。
本系统选用DWB型温度变送器,并将其直接安装在热电偶的接线盒内,构成一体化的温度变送器,不仅可以节省补偿导线,而且可以减少温度信号在传递过程中产生的失真和干扰。
电阻炉炉温信号是一种变换缓慢的信号。
这种信号在进行A/D转换时,对转换速度要求不高。
因此为了减低成本以及方便选材,可以选用廉价的、常用的A/D芯片ADC0809,ADC0809是一种逐次逼近式8路模拟输入、8为数字输出地A/D转换器件,转换时间为100us,完全满足系统设计的要求。
经过ADC0809转换所得到的实测炉温数据直接送入AT89S52单片机中进行数据处理。
此外,为了防止断偶或者炉温越限,产生热处理质量事故;同时为了提高温控系统的智能化控制性能,降低热处理操作人员的劳动强度,本系统特别设置了断偶或炉温越限自动报警电路。
在热处理生产过程中,当发生断偶或炉温越限等异常现象时,主控单元AT89S52单片机自动启动报警电路进行声、光报警,以便操作人员快速处理,防止炉内工件过热,破坏金属组织结构。
3.3、AC—SSR交流功率调节电路
由输出来控制电炉,电炉可以近似建立为具有滞后性质的一阶惯性环节数学模型。
其传递函数形式为:
其中时间常数T=350秒,放大系数K=50,滞后时间t=10秒。
为了避免交流接触器等机械触电因频繁通断产生电弧,烧坏触电或者干扰其他设备正常工作,本系统选用AC-SSR交流功率调节器作为PID控制系统的执行机构。
AT89S52单片机P1.0口输出的温度控制信号经过光电耦合器件隔离,送至过零检测电路。
过零检测电路产生脉冲控制AC-SSR调功电路。
当实测温度偏低时,单片机输出的控制信号使得双向可控硅的导通角减小,导通时间变短,加热器功率降低炉温适当降低。
通过控制输入到加热器平均功率的大小达到控制电阻炉炉温的目的。
控制执行部分的硬件电路如下图
3.4键盘模块电路
采用4×4矩阵键盘接单片机的P1口,然后实现对设定温度的修改,将它与实际温度进行对比,实现要求的功能。
矩阵键盘如下图3所示:
3.5A/D转换电路
如图所示:
3.6变送电路
XTR101为4~20mA线性化变送器,它可与镍络-镍硅测温传感器构成精密的T/I变换。
器件中的放大器适合很宽的测温范围,在-40℃~+85℃的工作温度内,传送电流的总误差不超过1%,供电电源可以从11.6V到40V,输入失调电压<±2.5mV,输入失调电流<20nA。
XTR101外形采用标准的14脚DIP封装。
XTR101有如下两种应用于转换温度信号的典型电路:
RCV420是一种精密电流/电压变换器,它能将4~20mA的环路电流变为0~5V的电压输出,并且具有可靠的性能和很低的成本。
除具有精密运放和电阻网络外,还集成有10V基准电源。
对环路电流由很好的变换能力。
具有-25℃~+85℃和0℃~70℃的工作温度范围,输入失调电压<1mA,总的变换误差<0.1%,电源电压范围±5~±18V。
RCV420的外形采用标准的16脚DIP封装。
它的典型应用如下:
四、系统软件设计
系统的软件由三大模块组成:
主程序模块、功能实现模块和运算控制模块。
4.1主程序模块
主程序流程图
4.2功能实现模块
以用来执行对可控硅及电炉的控制。
功能实现模块主要由A/D转换子程序、中断处理子程序、键盘处理子程序、显示子程序等部分组成。
该中断是单片机内部100ms定时中断,优先级设为最高,是最重要的子程序。
在该中断响应中,单片机要完成调用PID算法子程序且输出PID计算结果等功能。
其流程图如下:
T0中断子程序
4.2.2T1中断子程序
T1定时中断用于调制PWM信号,优先级低于T0中断,其定时初值由PID算法子程序提供的输出转化而来,T1中断响应的时间用于输出控制信号。
其流程图如下:
T1中断子程序
4.3运算控制模块
运算控制模块涉及标度转换、PID算法、以及该算法调用到的乘法子程序等。
该子程序作用是将温度信号(00H~FFH)转换为对应的温度值,以便送显示或与设定值在相同量纲下进行比较。
所用线形标度变换公式为:
式中,Ax:
实际测量的温度值;Nx:
经过A/D转换的温度量;
Am=90;Ao=40;Nm=FEH;No=01H;
单片机运算采用定点数运算,并且在高温区和低温区分别用程序作矫正处理。
4.4控制算法:
PID算法
积分分离控制的基本思路是:
当偏差e(k)绝对值较大时。
取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当偏差e(k)绝对值小于某一设定值M时,引入积分控制,以便消除静差,提高控制精度,
PID算法的表达式为:
式中u(t):
调节器的输出信号;
e(t):
偏差信号;
:
调节器的比例系数;
TI:
调节器的积分时间;
TD:
调节器的微分时间。
在计算机控制中,为实现数字控制,必须对上式进行离散化处理。
用数字形式的差分方程代替连续系统的微分方程。
设系统的采样周期为T,在t=kT时刻进行采样,
式中e(k):
根据本次采样值所得到的偏差;
e(k-1):
由上次采样所得到的偏差。
将上面的三个式子代入,则有
式中,T为采样时间,
项为积分项的开关系数
积分分离PID控制算法程序流程图如图10所示。
积分分离PID控制算法程序流程图
参考文献
[1]张艳兵,王忠庆,鲜浩编着,计算机控制技术.北京:
国防工业出版社,2006
[2]于海生编着,微型计算机控制技术.北京:
清华大学出版社,1999
[3]杨进才,沈显君,刘蓉编着,C++语言程序设计教程.北京:
清华大学出版社,2006
[4]夏云龙编着,最新VisualC++使用手册.北京:
电子工业出版社,2005
[5]黄迪明,许家珆,胡德昆编着,C语言程序设计.成都:
电子科技大学出版社,2008
[6]颜永军等,Protel99电路设计与应用,国防工业出版社,2001
[7]楼然苗,李光飞,51系列单片机设计实例(第二版),2006
[8]李朝青单片机原理及接口技术.北京航空航天大学出版社
[9]刘洪恩.利用热电偶转换器的单片机温度测控系统[J]仪表技术,2005.2:
29-30。
[10]孙凯,李元科.电阻炉温度控制系统[J].传感器技术,2003.2:
50-52.。
附录
主程序
ORG0400H
DISM0DATA78H
DISM1DATA79H
DISM2DATA7AH
DISM3DATA7BH
DISM4DATA7CH
DISM5DATA7DH
MOVSP,#50H;50H送SP
CLR5EH;清本次越限标志
CLR5FH;清上次越限标志
CLRA;清累加器A
MOV2FH,A;
MOV30H,A;
MOV3BH,A;
MOV3CH,A;
MOV3DH,A;清暂存单元
MOV3EH,A;
MOV44H,A;
MOVDISM0,A;
MOVDISM1,A;
MOVDISM2,A;
MOVDISM3,A;清显示缓冲区
MOVDISM4,A;
MOVDISM5,A;
MOVTMOD,#56H;设T0为计数器方式2,T1为方式1
MOVTL0,#06H;
MOVTH0,06H;T0赋初值
CLRPT0;令T0为低中断优先级
SETBTR0;启动T0工作
SETBET0;允许T0中断
SETBEA;开CPU中断
LOOP:
ACALLDISPLY;调用显示程序
ACALLSCAN;调用扫描程序
AJMPLOOP;等待中断
T0中断服务程序
ORG000BH
AJMPCT0
ORG0100H
CT0:
PUSHACC;
PUSHDPL;保护现场
PUSHDPH;
SETBD5H;置标志
ACALLSAMP;调用采样子程序
ACALLFILTER;调用数字滤波程序
CJNEA,42H,TPL;若Ui(k)不等于Umax,则TPL
WL:
MOVC,5EH;
MOV5FH,C;5EH送5FH
CLR5EH;清5EH单元
ACALLUPL;转上限处理程序
POPDPH
POPDPL
POPACC
RETI;中断返回
TPL:
JNCTPL1;若Ui(k)大等Umax,则TPL1
CLR5FH;清上次越限标志
CJNEA,43H,MTPL;若Ui(k)不等于Umin,则MTPL
HAT:
SETBP1.1;若温度不越限则令绿灯亮
ACALLPID;调用计算PID子程序
MOVA,2FH;PID值送A
CPLA;
INCA;对PID值求补,作为TL1值
NM:
SETBP1.3;令p1.3输出高电平脉冲
MOVTL1,A;
MOVTH1,#0FFH;T1赋初值
SETBPT1;T1高优先级中断
SETBTR1;启动T1
SETBET1;允许T1中断
ACALLTRAST;调用标度转换程序
LOOP:
ACALLDISPLY;显示温度
JBD5H,LOOP;等待T1中断
POPDPH;
POPDPL;恢复现场
POPACC;
RETI;中断返回
MTPL:
JNCHAT;若Ui(k)大于Umin,则HAT
SETBP1.0;否则越下限声光报警
MOVA,45H;取PID最大值输出
CPLA;
INCA;对PID值求补,作为TL1
AJMPNM;转NM执行
TPL1:
SETB5EH;若Ui(k)大于Umax,则5EH单元置位
JNB5FH,WL;若上次未越限,则转WL
INC44H;越限计数器加1
MOVA,44H
CLRC
SUBBA,#N;越限N次?
JNZWL;越限小于N次,则WL
SETBP1.2;否则,越上限声光报警
CLR5EH;
CLR5FH;清越限标志
POPDPH;
POPDPL;恢复现场
POPACC;
RETI;中断返回
T1中断服务程序
ORG001BH
AJMPCT1
ORG0200H
CT1:
CLRD5H;清标志
CLRP1.3;令p1.3变为低电平
RETI;中断返回