本科毕业论文温度控制系统资料.docx
《本科毕业论文温度控制系统资料.docx》由会员分享,可在线阅读,更多相关《本科毕业论文温度控制系统资料.docx(32页珍藏版)》请在冰豆网上搜索。
本科毕业论文温度控制系统资料
第一章设计背景及设计意义………………………………………2
第二章系统方案设计…………………………………………………3
第三章硬件……………………………………………………………….5
3.1温度检测和变送器……………………………………………………5
3.2温度控制电路…………………………………………………………6
3.3A/D转换电路…………………………………………………………7
3.4报警电路…………………………………………………………8
3.5看门狗电路……………………………………………………………8
3.6显示电路……………………………………………………………10
3.7电源电路………………………………………………………………12
第四章软件设计………………………………………………………14
4.1软件实现方法………………………………………………………14
4.2总体程序流程图……………………………………………………15
4.3程序清单……………………………………………………………19
第五章设计感想…………………………………………………………29
第六章参考文献……………………………………………………………30
第七章附录…………………………………………………………………31
7.1硬件清单……………………………………………………………31
7.2硬件布线图…………………………………………………………31
第一章设计背景及研究意义
机械制造行业中,用于金属热处理的加热炉,需要消耗大量的电能,而且温度控制是纯滞后的一阶惯性环节。
现有企业多采用常规仪表加接触器的断续控制,随着科技进步和生产的发展,这类设备对温度的控制要求越来越高,除控温精度外,对温度上升速度及下降速度也提出了可控要求,显而易见常规控制难于满足这些工艺要求。
随着微电子技术及电力电子技术的发展,采用功能强、体积小、价格低的智能化温度控制装置控制加热炉已成为现实。
自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。
随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向。
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
例如:
在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
对工件的处理温度要求严格控制,计算机温度控制系统使温度控制指标得到了大幅度提高。
采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
,
第二章系统方案的设计
这次课程设计题目为热电偶构成的热处理炉的温度控制系统,
技术要求:
1.设定温度范围为0~999°
2.温度显示为0~999°
3.到设定温度报警
热处理炉炉温控制系统的控制过程是:
单片机定时对炉温进行检测,经A/D转换芯片得到相应的数字量,经过计算机进行数据转换,得到应有的控制量,去控制加热功率,从而实现对温度的控制。
如下图所示:
进行系统设计时应考虑如下问题:
1.炉温变化规律的控制,即炉温按预定的温度——时间关系变化。
2.温度控制范围:
如0~1000℃,这就涉及到测温元件、电炉功率的选择等。
3.控制精度、超调量等指标,这涉及到A/D转换精度、控制规律选择等。
温控系统主要由温度传感器、温度调节仪、执行装置、被控对象四个部分组成,其系统结构图如图1所示。
被控制对象是大容量、大惯性的电热炉温度对象,是典型的多阶容积迟后特性,在工程上往往近似为包含有纯滞后的二阶容积迟后;由于被控对象电容量大,通常采用可控硅作调节器的执行器,其具体的电路图如图2所示。
调节加热炉的温度,在工业上是通过在设定周期范围内,将电路接通几个周波,然后断开几个周波,改变晶闸管在设定周期内通断时间的比例,来调节负载两端交流平均电压即负载功率,这就是通常所说的调功器或周波控制器;调功器是在电源电压过零时触发晶闸管导通的,所以负载上得到的是完整的正弦波,调节的只是设定周期Tc内导通的电压周波。
如图3所示,设周期Tc内导通的周期的波数为n,每个周波的周期为T,则调功器的输出功率为P=n×T×Pn/Tc,Pn为设定周期Tc内电压全通过时装置的输出功率。
第三章硬件的设计
3.1温度检测和变送器
温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。
镍铬/镍铝热电偶适用于0℃-1000℃的温度检测范围,相应输出电压为0mV-41.32mV。
变送器由毫伏变送器和电流/电压变送器组成:
毫伏变送器用于把热电偶输出的0mV-41.32mV变换成4mA-20mA的电流;电流/电压变送器用于把毫伏变送器输出的4mA-20mA电流变换成0-5V的电压。
为了提高测量精度,变送器可以进行零点迁移。
例如:
若温度测量范围为500℃-1000℃,则热电偶输出为20.6mV-41.32mV,毫伏变送器零点迁移后输出4mA-20mA范围电流。
这样,采用8位A/D转换器就可使量化温度达到1.96℃以内。
其在控制系统的作用如下图所示:
热处理炉
图1:
温度检测电路
3.2温度控制电路
8051对温度的控制是通过双向可控硅实现的。
如图一所示,双向可控硅管和加热丝串接在交流220V、50Hz市电回路。
在给定周期T内,8051只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。
可控硅接通时间可以通过可控硅控制极上触发脉冲控制。
该触发脉冲由8051用软件在P2.1引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控控制系统的制极上。
图1:
调温电路
3.3A/D转换电路
ADC0809是一种比较典型的8位8通道逐次逼近式A/D转换器,CMOS工艺,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,其转换时间为100μs左右,采用双排28引脚封装,其主要性能指标如下:
1、分辨率为8位二进制数;
2、电压范围在0~+5V,对应A/D值00H~FFH;
3、每路A/D转换完成时间100ms;
4、可分时进行8路A/D转换;
5、工作频率500KHz(本电路由8051ALE端输出经4分频后得到)。
引脚功能如下:
IN0~IN7:
8路0~+5V模拟电压输入(用IN0端);
DB7~DB0:
8位数字输出线,输出8位A/D转换值;
STAST:
启动A/D转换端;
EOC:
A/D转换完成端;
OE:
允许数字量输出信号;
CLOCK:
时钟500KHz;
ADDA、B、C:
IN0~IN7地址选择线;
ALE:
地址锁存允许输入信号。
A/D转换器0809与放大电路连接较简单,运放接成比例放大形式,放大倍数可调,总体A/D转换与8051接口电路如下:
3.4报警电路
报警电路的作用主要是在温度超过规定的温度或低于下限温度或达到预定温度时,报警子程序就会控制报警信号的输出,温度低与或高于规定的温度范围以及达到规定的温度时,音频装置就会发出不同频率的告警信号,同时相应的LED显示,到底是高了还是低了,以便与自动调节。
报警电路如下图:
图1:
报警电路
3.5看门狗电路
计算机看门狗控制卡是为了使计算机或工控机在系统出现异常时,能自动控制计算机进行重新启动,使系统恢复正常运行,保证系统24小时不间断正常工作。
该控制卡可运用于无人职守的场所。
像采用计算机作为存储设备的数字硬盘录像系统,公路卡口监控记录设备等。
特点:
●可固定在计算机内部并且不占用计算机任何插槽。
●借电方便,可利用计算机本身的软驱电源接口。
●通过计算机并口或者串口跟计算机通讯。
●计算机操作系统发生死机后,30秒(时间可设置)内控制卡控制计算机重新启动。
●控制卡内有信号灯,在正常工作时有频率稳定持续的灯光闪动。
●提供开发控件,可启动看门狗功能、停止看门狗功能、设置串口还是并口。
●有两种型号的控制卡,有自带RS232转485的功能的控制卡。
现以MAX706监控电路为例(见图1)来说明“看门狗”硬件电路的工作过程,我们知道,MAX706是一种性能优良的低功耗CMOS监控电路芯片,其内部电路由上电复位、可重触发“看门狗”定时器及电压比较器等组成[2]。
MAX706只要在1.6秒时间内检测到WCI引脚有高低电平跳变信号,则“看门狗”定时器清零并重新开始计时;若超出1.6秒后,WCI引脚仍无高低电平跳变信号,则“看门狗”定时器溢出,WDO引脚输出低电平,进而触发MR手动复位引脚,使MAC706复位,从而使“看门狗”定时器清零并重新开始计时,WDO引脚输出高电平,MAX706的RST复位输出引脚输出大约200毫秒宽度的低电平脉冲,使单片机控制系统可靠复位,重新投入正常运行。
图1:
看门狗电路
3.6显示电路
单片机与显示器的接口电路图
图MC14495内部逻辑结构及引脚
图用MC14495组成多位LED静态显示器接口
程序:
DIR:
SETBRS0;保护第0组工作寄存器
PUSHA;保护现场
MOVR2,#03H;显示位数计数
MOVR1,#00H;设位码初值,初态从LED7开始
MOVR0,#DIS7;显示缓冲区末地址送R0
DIR0:
MOVA,@RO;取待显示的数据
ANDA,#07H;屏蔽高3位,保留低4位BCD码
MOVR3,A;暂存R3中
MOVA,R1;位选码值送A
SWAPA;位码交换到高4位
ADDA,R3;合并形成输出的BCD码和位选码
MOVP1,A;输出到P1口
INCR1;位码加1指向下一位
DJNZR2,DIR0;8个位未显示完重复
CLRRS0;显示完恢复第0组工作寄存器
POPA
RET;返回主程序
3.7电源电路
本模块将交流220V输入电压变为3组直流电压,其中5V电压为CPU等数字电路提供电源;±15V电压为运放等模拟芯片提供电源;24V电压为温度变送器提供电源。
220v市电经变压器输出两组独立的25v交流,桥堆整流,大电容滤波得到+35v直流,再加一个0.1uF小电容滤出电源中的高频分量。
考虑到制作过程中电源空载似的电容放电可在输出电容并上1k大功率电阻。
另外这组直流还要给7812、7912来获得+12v。
电源模块如下图:
图1:
5V直流稳压源电路
图2:
+12V/24V直流稳压源的原理电路
第四章软件的设计
4.1软件实现方法
根据热处理炉在上电复位后先处于停止加热状态,这时可以用“+1”键设定预置温度,显示器显示预定温度;温度设定好后就可以按启动键启动系统工作了。
温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限(比预定值低3℃)时再启动加热。
这样不断重复上述过程,使温度保持在预定温度范围之内。
启动后不能再修改预置温度,必须按复位/停止键回到停止加热状态再重新设定预置温度。
炉温控制是这样一个反馈调节过程,比较实际炉温和需要炉温得到偏差,通过对偏差的处理获得控制信号,去调节电阻炉的热功率,从而实现对炉温的控制。
按照偏差的比例、积分和微分产生控制作用(PID控制),是过程控制中应用最广泛的一种控制形式。
系统控制程序采用两重中断嵌套方式设计。
首先使T0计数器产生定时中断,作为本系统的采样周期。
在中断服务程序中启动A/D,读入采样数据,进行数字滤波、上下限报警处理,PID计算,然后输出控制脉冲信号。
脉冲宽度由T1计数器溢出中断决定。
在等待T1中断时,将本次采样值转换成对应的温度值放入显示缓冲区,然后调用显示子程序。
从T1中断返回后,再从T0中断返回主程序并且、继续显示本次采样温度,等待下次T0中断。
1)二位式调节--它只有开、关两种状态,当炉温低于限给定值时执行器全开;当炉温高于给定值时执行器全闭。
(执行器一般选用接触器)
2)三位式调节--它有上下限两个给定值,当炉温低于下限给定值时招待器全开;当炉温在上、下限给定值之间时执行器部分开启;当炉温超过上限给定值时执行器全闭。
3)比例调节(P调节)--调节器的输出信号(M)和偏差输入(e)成比例。
即:
M=ke。
式中:
K-----比例系数
比例调节器的输入、输出量之间任何时刻都存在--对应的比例关系,因此炉温变化经比例调节达到平衡时,炉温不能加复到给定值时的偏差--称“静差”
4)比例积分(PI)调节--为了“静差”,在比例调节中添加积分(I)调节积分,调节是指调节器的输出信号与偏差存在随时间的增长而增强,直到偏差消除才无输出信号,故能消除“静差”比例调节和积分调节的组合称为比例积分调节.
5)比例积分微分(PID)调节--比例积分调节会使调节过程增长,温度的波动幅值增大,为此再引入微分(D)调节。
微分调节是指调节器的输出与偏差对时间的微分成比例,微分调节器在温度有变化“苗头”时就有调节信号输出,变化速度越快、输出信号越强,故能加快调节速度,降低温度波动幅度,比例调节、积分调节和微分调节的组合称为比例积分微分调节。
(一般采用晶闸管调节器为执行器)。
根据生产现场的运行情况,这种控温方法,精度比较高,系统性能稳定,满足生产的实际需要。
主要设备:
热电偶或热电阻,智能PID温控仪,可控硅触发调功器等。
4.2总体程序流程图
温度控制程序的设计应考虑如下:
1)键盘扫描、键码识别和温度显示;2)炉温采样、数字滤波;3)数据处理;4)越限报警和处理;5)PID计算、温度标度转换
4.2.1主程序框图
主程序包括8051本身的初始化等等。
大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、T0初始化、CPU开中断、温度显示和键盘扫描程序
主程序
在主程序中首先给定PID算法的参数值,然后通过循环显示当前温度,并且设定键盘外部中断为最高优先级,以便能实时响应键盘处理;软件设定定时器T0为5秒定时,在无键盘响应时每隔5秒响应一次,以用来采集经过A/D转换的温度信号;设定定时器T1为嵌套在T0之中的定时中断,初值由PID算法子程序提供。
在主程序中必须分配好每一部分子程序的起始地址,形式如下:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INTO
ORG 000BH
AJMP TT0
ORG 001BH
AJMP TT1
4.2.2中断服务程序框图
T0中断服务程序是温度控制系统的主体程序,用于启动数/模转换器、读入采样数据、数字滤波、越限温度报警和越限处理、PID计算和输出可控硅的触发脉冲等。
P1.3引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制,8051利用等待T1溢出中断的空闲时间(形成P1.3输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示单元缓冲区和调用温度显示程序。
8051从T1中断服务程序返回后即可恢复现场和返回主程序。
系统软件采用中断方式编程,主要部分是时钟中断程序,主要由输入处理程序、控制算法程序、显示处理、输出处理和自诊断程序等组成,其流程图如图2所示。
仪表通电启动后,初始化程序进行时间给定,每隔500ms时钟中断一次,中断后进入时钟中断处理。
对于纯滞后,大惯性环节控制对象,一般采用积分分离PID控制算法。
在一般的PID控制中,当系统有较大的扰动或设定值较大幅度提降时,由于偏差较大及系统存在惯性和滞后,在积分项的作用下,会产生较大的超调和长时间波动,在温度缓慢变化过程中这一现象尤为严重,为此采用积分分离措施,即在偏差较大时,取消积分作用,偏差较小时,才将积分作用投入。
中断服务程序框图
4.3程序清单
4.3.1报警电路子程序
1.子程序框图
2.报警子程序:
FLAGBIT00H
ORG00H
START:
JBP1.7,START
JNBFLAG,NEXT
MOVR2,#200
DV:
CPLP2.2
LCALLDELY500
LCALLDELY500
DJNZR2,DV
CPLFLAG
NEXT:
MOVR2,#200
DV1:
CPLP1.0
LCALLDELY500
DJNZR2,DV1
CPLFLAG
SJMPSTART
DELY500:
MOVR7,#250
LOOP:
NOP
DJNZR7,LOOP
RET
END
4.3.2键盘显示管理程序。
为了使8279具有合适的键盘、显示功能,首先要对芯片初始化。
可适当地挑选8279的控制字,例如:
使8279具有8位显示、右端输入、编码键盘、双键锁定时可选控制字10H.这时每次按键都将产生键特征码,并且存放在FIFOROM中,同时使8279的IRQ引脚变为高电平,可作为向CPU申请中断信号,如果CPU是中断开放的,则转向中断服务程序,可在中断服务程序中读取特征码。
每当CPU读取FIFOROM中的数据后,8279自动撤消IRQ信号,IRQ引脚变为低电平。
CPU返回主程序后,可由键特征码来决定程序的流向。
问题是,当CPU从8279的FIFOROM中读取键特征码后,IRQ虽然恢复底电平,但FIFOROM中的数据并没有消失,仍保存在里面,这时即使使用对改8279清除的指令D3H,也不能将FIFOROM中的数改变,只有按其它键才能改变FIFOROM中的数据,因这样是无法实现按钮功能的。
为了使键盘具有按钮功能,应该利用8279的传感方式功能,在传感器方式中,8279每当检测到传感状态变化时,IRQ就变为高电平,图1是以8051CPU构成的系统为例,说明IRQ引脚电平的翻新过程。
8279的IRQ端经反相器接到8051的INT1端(即P3.3引脚)。
先将8279设置成编码键盘,允许INT1中断,当键按下时,反相器输出低电平,CPU进入中断服务程序,读取键特征码后,又为高电平。
返回主程序后,转向功能程序(例如调模进)。
输出控制信号(例如P1.0为“1”时调模进电磁阀得电)后,将8279设置为传感器方式,并且不允许INT1中断,然后调试P3.3是否为低电平。
如果按键松开,8279将测出传感器状态发生变化,而使IRQ由低电平转为高电平。
也就是说P3.3脚为低电平时,按键已经松开,程序重新设置8279为编码键盘,INT1中断开放,以便使键盘脱离按钮功能。
程序清单如下:
ORG0000H
MOVDPTR,#7000H;指向8279数据口
INCDPTR;指向8279控制口
MOVA,#00H;设定8279工作方式
M0VX@DPTR,A
MOVA,#0GFH;清除8279内部显示RAM状态
MOVX@DPTR,A
MOVA,#22H
MOVX@DPTR,A;设定8279分频系数
LOOP:
MOVXA,@DPTR
JBACC.7,LOOP;显示RAM清除完毕吗?
MOVA,80H;指向第一位数码管
MOVX@DPTR,A
MOVA,9FH;输出"1"一个字形
MOVDPTR,#7000H
MOVX@DPTR,A
INCDPTR
LOOP1:
M0VXA,@DPTR
ANDA,#07H
CJNEA,#00H,L00P2
AJMPLOOP1;无键按下转
LOOP2:
MOVDPTR,#7000H
MOVXA,@DPTR;有键按下将键值送累加器A
键值,由8279的行扫描信号(SL0-SL3)与列信号(RL0-RL4)组成,不同组合的矩阵将得到不同键,但
在同一矩阵中不会有相同的键值,这对初学者编制键显示程序大为方便.下表是通用键盘板键值:
名称0123456789
键值C1C8C9D0D8E0C2CAD1D9
名称状态切换清除
键值DAC3
4.3.2.1判定有无闭合键的子程序:
判定有无闭合键的子程序为KSI,供在键盘扫描程序中调用。
程序如下:
4.3.2.2键盘扫描程序
如前所述,在单片机应用系统中常常是键盘和显示器同时存在,因此可以把键盘扫描程序和显示程序配合起来使用,即:
把显示程序作为键扫描程序的延时子程序。
这样做既省去了一个专门的延时子程序,又能保证显示器常亮的可观效果。
假定本系统中显示程序为DIR,执行时间约为6ms。
键盘扫描程序如下:
KEY1:
ACALLKSI;检查是否有键闭合
JNZLK1;A非“0”则转移
ACALLDIR;显示一次(“延时6s)
AJMPKEY1
LK1:
ACALLDIR;有键闭合二次延时
ACALLDIR;共12ms去抖动
ACALLKSI;再检查是否有键闭合
JNZLK2;有键闭合转移到LK2
ACALLDIR
AJMPKEY;无键闭合,延时6ms后转KEY1
LK2:
MOVR,#0FEH;扫描初值送R2
MOVR,#00H;扫描列号送R4
LK4:
MOVDPTR,#0101H;A口地址
MOVA,R
MOVX@DPTR,A;扫描初值送A口
INCDPTR
INCDPTR;C口地址
MOVXA,@DPTR;读C口
JBACC.0,LONE;ACC.0=1,第0行无键闭合,转LONE
MOVA,#00H;装第0行值
AJMPLKP
LONE:
JBACC.1LTWO;ACC.1=1,第1行无键闭合,转LTWO
MOVA,#08H;装第1行值
AJMPLKP
LTWO:
JBACC.2,LTHR;ACC.2=1,第2行无键闭合,转LTHR
MOVA#10H
AJMPLKP
LTHR:
JBACC.3,NEXT;ACC.3=1,第3行无键闭合,转NEXT
MOVA,#18H;装第3行值
LKP:
ADDA,R;计算键码
PUSHACC;保护键码
LK3:
ACALLDIR;延时6ms
ACALLKSI;检查是否继续闭合,若闭合再延时
JNZLK3
POPACC;若键起,则键码送A
RET
NEXT:
INCR;扫描列号加1
MOVA,R
JNBACC.7,KND;若第7位=0,已扫完最高列则转KND
RLA
MOVR,A
AJMPLK4;进行下一行扫描
KND: