电加热炉温度微机控制系统设计.docx
《电加热炉温度微机控制系统设计.docx》由会员分享,可在线阅读,更多相关《电加热炉温度微机控制系统设计.docx(20页珍藏版)》请在冰点文库上搜索。
电加热炉温度微机控制系统设计
天津工业大学
毕业设计(论文)
电加热炉温度微机控制系统
姓名李顺
学院继续教育学院
专业电气工程及其自动化
指导教师贾文民
职称讲师
2014年4月20日
电加热炉温度微机控制系统
摘要
温度是工业对象中的很重要参数的之一。
广泛应用在冶金、化工、机械各类加热炉热、处理炉和反应炉等工业中。
电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、机械等各类工业控制中得到了广泛应用,并且在国民经济中占有举足轻重的地位。
对于这样一个具有非线性、大滞后、大惯性、时变性、升温单向性等特点的控制对象,很难用数学方法建立精确的数学模型,因此用传统的控制理论和方法很难达到好的控制效果。
关键词:
加热炉;PID;单片机
ABSTRACT
Temperatureisoneoftheimportantparametersintheindustrialobject.Widelyusedinmetallurgy,chemicalindustry,machineryandallkindsofheatingfurnace,heattreatmentfurnaceandfurnaceindustryetc..Electricheatingfurnacewiththedevelopmentofscienceandtechnologyandindustrialproductionlevel,hasbeenwidelyusedinmetallurgy,chemical,machineryandotherkindsofindustrialcontrol,andhasplayadecisiveroleinthenationaleconomystatus.Forsuchanonlinear,largedelay,largeinertia,time-varying,unidirectionalrising,controlobject,itisdifficulttoestablishaccuratemathematicalmodel,sothetraditionalcontroltheoriesandmethodsaredifficulttoachievegoodcontroleffect.
Keywords:
Heatingfurnace;PID;MCU
目录
第一章绪论1
第二章系统工作原理2
第三章硬件的设计与实现3
3.1系统硬件设计3
3.2单片机最小系统3
3.3A/D转换器4
3.4LED数码管5
3.5键盘电路6
3.6晶闸管及其控制电路6
3.7炉温检测电路7
第四章系统控制流程及软件设计9
4.1总体流程图9
4.2程序块流程图9
第五章心得体会17
参考文献18
谢辞19
第一章绪论
温度是工业对象中主要的被控参数之一。
为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度,节约能源,对加热用的各种电炉要求在一定条件下保持恒温,不能随电源电压波动或炉内物体而变化,或者有的电炉的炉温根据工艺要求按照某个指定的升温或保温规律而变化,等等。
工业生产过程中,用模拟控制来控制电加热炉温已经取得了较为成熟的经验,但他的控制精度较低,显示操作不方便,为此引入了计算机控制系统对温度进行数字算法控制。
由于电炉加热的时间常数相对于采样周期来说很大,所以电炉加热控制系统的动态特性可以看作一阶滞后环节来近似,在控制算法上可采用PID控制或其他纯滞后补偿算法。
本课程设计所控制的电加热炉的加热能源是热阻丝,根据控制系统要求,设计控制方案和主电路及各检测控制模块电路,然后针对温度控制要求计算电路元件所需参数,应用PID控制算法,实现温箱的闭环控制。
进而了解温度控制系统的特点及运用计算机设计控制程序实现计算机自动控制温度的方法。
第二章系统工作原理
整个加热炉的温度控制系统采用典型的反馈式闭环控制,系统结构框图如图2.1所示。
图2.1电加热炉计算机控制系统框图
数字控制器的功能采用单片机AT89c51实现,执行器的作用由可控硅实现,温度有采样与测量采用热电偶及变送器实现。
数字控制器的设计:
在温度调节系统中,由于加热炉温度的时间常数很大(相对于采样周期而言),所以其闭环调节可以用一个一阶滞后环节来近似。
可以采用直数字控制,也可以采用模糊控制和PID控制,本设计中采用PID控制,其控制系统的调节原理如图2.2所示:
图2.2电加热炉计算机控制系统的调节原理可控硅触发信号
炉温控制的基本原理是:
改变可控硅的导通角即改变电热炉加热丝两端的有效电压,有效电压可在0—140V内变化。
温度传感器是通过一只热敏电阻及其放大电路组成,温度越高其输出电压越小。
外部LED灯的亮灭表示可控硅的导通与关断的占空比时间,如果炉温低于设定值则可控硅导通,系统加热,否则系统停止加热,炉温自然冷却到设定值。
第三章硬件的设计与实现
3.1系统硬件设计
本系统的硬件设计主要包括:
单片机最小系统、模数转换器、温度变送器、控制键盘、LED显示数码管、光电隔离可控硅触发电路。
硬件系统框图如图3.1所示:
图3.1电加热炉计算机控制系统硬件框
3.2单片机最小系统
本系统采用AT89C51单片机作为该控制系统的核心,实现对温度的采集、检测和控制。
单片机控制A/D转换器,接收由A/D转换器转换得到的二进制温度数据,并对其进行数字滤波、标度变换并与输入的参照温度相比较,得出误差,根椐PID算法求出控制温度达到期望值所需要的控制量。
通过调节高低电平输出时间,控制可控硅的接通时间,从而改变电炉的输出功率,达到调温的作用。
单片机及其接口电路图如图3.2所示:
图3.2单片机最小系统及其外围电路接口图
3.3A/D转换器
A/D转换器在该系统中的功能是将温度变送器输出的1—5V电压信号转换为单片机能识别的二进制代码,供给单片机做进一步的处理。
电热炉的温度变化范围为室温到1000℃,将控制精度确定限定在5℃范围内,则可选择8位A/D转换器,其最小精度可以达到1000℃÷256=3.921℃<5℃,则选择ADC0808或ADC0809均可满足设计要求,这里选择ADC0809。
ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成,其内部结构如图3.3所示。
ADC0809的工作过程:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
本设计中只需要用到ADC0809的一个通道即可,故将ADC0809的输入通道选通地址A、B、C均接地(即只使用输入通道IN0)。
ADC0809的工作时钟为500KHz,由于单片机的ALE能自动输出单片机时钟频率的1/6(即当单片机的时钟晶振选择12MHz时,ALE自动输出2MHz时钟信号),ADC0809的时钟信号通过对单片机ALE的输出时钟进行四分频得到,进行四分频的器件可采用集成有两个二分频器的74LS74。
单片机的PA口作ADC0809的控制口,P0口作转换结束后转换数据的接收口。
ADC0809与单片机的接口电路如图3.4所示。
图3.3ADC0809内部结构图
图3.4ADC0809与单片机接口电路
3.4LED数码管
数码管主要用以显示设定温度值与实际测量温度值。
数码管根据其连接方式可以分为共阴数码管与共阳数码管,根据其显示的段数可以分为七段数码管和八段数码管,其中八段数码管相比七段数码管要多一个小数位。
由于本设计所需用到的最大温度值为1000,故需选用4位数码,在这里选用4位共阴8段数码管作为本设计的LED显示。
四位共阴数码管的引脚图如图3.5所示,数码管与单片机的接口电路如图3.6所示。
图3.5四位共阴数码管引脚图
图3.6数码管与单片机接口电路
3.5键盘电路
键盘主要用来完成对系统参数的设置和启动及停止计算机自动控制系统。
本系统主要采用四位独立键盘完成上述控制功能。
键盘电路如图3.7所示,其中,S1、S2对预温度进行设置,S2为数码管移位选择按扭,被选中的数位小数点被点亮,此时再按S1,可以使被选中位从0—9依次循环,循环到所需要值的时候,再按S2移到下一位,依次设置完4位数码管组成的预设温度值。
S3、S4分别为启动和停止计算机自动控制系统,当S3有按下信号时,单片机开始对系统进行自动调节控制,当S4有输入信号时,退出自动控制。
图3.7键盘电路
3.6晶闸管及其控制电路
晶闸管属于半控器件,当在基极输入电流触发信号满足其导通电流强度时,晶闸管即导通,且导通后触发信号将失去作用。
要使晶闸管关断,第一可以不断减小电源电压或是加大回路电阻,使阳极电流Ia低于维持电流IH之下,晶闸管即可恢复关断;第二可以给晶闸管施加反电压,使晶闸管自行关断。
本系统中晶闸管的关断方式采用第二种,由于我们生活所用的交流电是频率为50Hz的正弦交变电压,系统所要求晶闸管控制电压有效值在0—140V内变化,故采用如图3.8所示的电路接线方式。
当电源电压处于正弦变化的正半周的时修,通过调节晶闸管的导通角,即可改变电阻两端的电压有效值,当电源电压处于正弦负半周的时候,加在晶闸管两端的反电压使晶闸管自动关断。
由于触发晶闸管导通的电流信号是模拟信号,故需要采取隔离措施,使数字控制电路与模拟负载电路隔离开,防止模拟信号串入数字电路造成误动作或损坏数字电路。
这里采用的隔离措施是使用光电隔离器4N25,当P1.7输出高电平时,经7404反向为低电平,发光二极管发光触发模拟电路部分导通,晶闸管IRF640得到触发信号从而导通。
根据单片机发出脉冲的间隔时间不同,即可改变晶闸管的导通角,从而起到调压的作用。
图3.8晶闸管及其控制电路
3.7炉温检测电路
电炉的温度先由热电偶温度传感器检测并转换成微弱的电压信号,温度变送器将此弱信号进行非线性校正及电压放大后,送至A/D转换器转换为数字量,此数字量经过单片机数字滤波误差校正及查表等处理后,得到电炉内的实测温度值。
温度检测原理结构如图3.9所示:
图3.9温度检测原理图
第四章系统控制流程及软件设计
4.1总体流程图
单闭环电加热炉温度计算机控制系统总体流程如图4.1所示
图4.1程序总体流程图
4.2程序块流程图
4.2.1温度控制系统主程序及流程图
图4.2.1主程序流程图
主程序主要进行初始化,定义I/O端口及定时器参数,调用子程序以便为系统正常工作创造条件。
主程序如下,主程序流程序如图4.2.1所示:
#include
#include
/*.....定义四位数码管的位选脚.....*/
sbitw1=P3^0;
sbitw2=P3^1;
sbitw3=P3^2;
sbitw4=P3^3;
/*.....定义AD转换器的启动引脚.....*/
sbitST=P1^1;
/*.....定义AD转换器的控制脚.....*/
sbitEOC=P1^2;
sbitOE=P1^3;
/*.....定义0~9十个数字代码.....*/
unsignedcharwu_ds[]=
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
/*.....定义按键引脚.....*/
SbitS1=P3.4;
SbitS2=P3.5;
SbitS3=P3.6;
SbitS4=P3.7;
/*.....声明程序中将会调用到的子程序.....*/
voiddelay(intt);//声明程序延时子程序
intset_temp(ints);//声明设置初始值子程序
voidstart_temp(void);//声明启动A/D转换器子程序
void_PID_(inty,intz);//声明PID控制程序
/*.....开始主函数.....*/
voidmain()
{
intdata_in;//定义一个用来存放AD转换器转换结果的变量
inta1,a2,a3,a4,m,t;
m=set_temp(0);
P0=0xFF;//初始化AD转换器数据端口
while
(1)
{
cont_temp(data_in);
display(a1,a2,a3,a4);//调用数码管分时显示函数显示测得温度
t=a1*1000+a2*100+a3*10+a4;
_PID_(m,t);
}
}
4.2.2LED数码管显示子程序及其流程图
8段LED显示屏是最常用的显示器件,分为共阳极和共阴极两种形式。
共阳极LED将所有发光二极管的阳极接在一起作为公共端,当公共端接高电平,某一段的发光二极管阴极接低电平时,相应的字段就被点亮。
共阴极LED将所有发光二极管的阴极接在一起作为公共端,当公共端接低电平,某一段的发光二极管阳极接高电平时,相应的字段就被点亮。
LED数码管的显示方法动态显示:
动态扫描,分时循环;静态显示:
一次输出,结果保持
(1)动态显示
动态显示,就是微型机定时地对显示器件扫描,在这种方法中,显示器件
分时工作,每次只能一个器件显示。
但由于人视觉的暂留现象,所以,仍感觉
所有的器件都在显示。
(2)静态显示
静态显示,是由微型机一次输出显示后,就能保持该显示结果,直到下次送新的显示模型为止。
这种显示占用机时少,显示可靠。
通过比较及对程序的分析,本设计当中两组数码管均采用了共阴极静态显示。
本系统采用4位共阴数码管用动态显示的方式显示预设值和测得温度值,其动态扫显示程序如下,程序流程图如图4.2.2所示:
voiddisplay(longinta,longintb,longintc,longintd)
{
P0=0;//先关闭全部数码管
w1=0;//显示千位数,从左到右
P0=wu_ds[a];
delay(3);
w1=1;
P0=0;
w2=0;
P0=you_ds[b];显示百位数
delay(3);
w2=1;
P0=0;
w3=0;
P0=wu_ds[c];显示十位数
delay(3);
w3=1;
P0=0;
w4=0;
P0=wu_ds[d];显示个位数
delay(3);
w4=1;
}
图4.2.2显示程序流程图
4.2.3A/D转换程序及流程图
转换程序及流程图转换程序及流程图转换程序及流程图本系统所使用的A/D转换器ADC0809接线图如图3.4所示,控制其启动及转换程序如下,启动A/D转换流程图如图4.2.3所示:
voidstart_temp(void)
{
ALE=1;_nop_();_nop_();ALE=0;//锁存通道地址,这里采用通道IN0
ST=1;_nop_();_nop_();ST=0;
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();//START下降沿,开始进行A/D转换while(EOC==0)//转换时间约为100us,在转换期间EOC为低电平,利用条件延时
{
_nop_();
}
OE=1;//转换结束,给OE高电平,请求输出转换结果
data_in=P3;//用P3口来接收AD转换器的转换结果,将结果存入data_in
OE=0;
}
图4.2.3A/D转换程序流程图
4.2.4数字控制器设计
数字控制器是本控制系统的核心,用它对被测参数进行自动调节,这里采用PID程序设计法进行设计。
根据位置型PID设计方法可写出表达式4-1
P(k)=PP(k)+PI(k)+PD(k)式4-1
PP(k)=KPE(k)
PI(k)=KI
=KIE(k)+KI
=KIE(k)+PI(k-1)
PD(k)=KD[E(k)-E(k-1)]
根据4-1式和图2.2所示的PID调节控制图可得PID数字控制程序的流程图如图4.2.4所示:
图4.2.4位置型PID运算程序流程图
4.2.5键盘控制流程图
在本次设计当中,输入设备采用4*4矩阵键盘。
当“设定”键按下时触发
键盘中断服务程序,由程序程控扫描法确定那个键按下并执行相应的动作。
程
控扫描的任务是:
(1)首先判断是否有键按下。
方法:
使所有的行输出均为低电平,然后从端口A读入列值。
如果没有键按下,则读人值为FFH.如果有链按下.则不为FFH。
(2)去除键抖动。
方法:
延时10—20ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上确实有键处于稳定闭合期。
(3)若有键闭合,则求出闭合键的键值。
方法:
对键盘逐行扫描。
(4)程序中需等闭合键释放后才对其进行处理。
键盘控制程序采用定时器延时扫描的方法控制,当按键被按下时输入一个低电平,其流程图如图4.2.5所示:
图4.2.5键盘程序流程图
第五章心得体会
通过对电加热炉计算机温度控制系统的设计,使我对实际工程中的自动控制系统的应用有了初步的设计理念。
理论与实践的结合,使我对自算机控制系统的特点以及其组成原理与应用程序有了更进一步的学习,通过对整个系统的设计,使我更进一步的巩固了专业基础知识,提高了用理论知识解决实际问题的实践能力。
通过资料的收集及整理,也使我学到了许多相关专业课程的知识,并从中分析得到启发,确立系统方案。
通过对数字控制器的设计,使我掌握了运用单片机实现PID算法控制、单片机与A/D转换器的接口电路、键盘与单片机的接口电路、LED与单片机的接口电路以及编程实现数码管的动态显示、A/D转换器的编程、键盘控制的编程和通过单片机触发可控硅导通的方法。
这次对计算机自动控制系统的设计更加深了我对闭环控制系统的了解,使我对小型计算机控制系统的硬件及软件设计有了综合分析、独立思考的能力。
参考文献
[1]潘新民.微型计算机控制技术.第2版.电子工业出版社.2011
[2]林锦国.过程控制.第3版.东南大学出版社.2011
[3]郁有文.传感器原理及工程应用.第3版.西安电子科技大学出版社.2010
[4]谢维成.单片机原理与应用及C51程序设计.第2版.清华大学出版社.2009
[5]阎石.数字电子技术基础.第5版.高等教育出版社.2009
[6]谭浩强.C程序设计.第3版.清华大学出版社.2008
[7]张荣标.微型计算机原理与接口技术.第2版.机械工业出版社.2010
[8]王兆安.电力电子技术.第5版.机械工业出版社.2010
谢辞
此次毕业实习、毕业设计撰写过程中,得到了多位老师、同学、朋友的关心、指导和帮助。
入学以来,各位老师一直以来的辛勤工作和教诲使我能顺利地度过这难忘的三年,使我在综合素质提高、专业理论知识学习和实践工作能力等各方面受益匪浅。