资源描述
合肥工业大学
《计算机控制技术》课程设计
——电阻炉温度控制系统设计
学院专业
姓 名
学 号_______ ________ _
完成时间
摘 要:电阻炉类型依据其热量产生方法不一样,可分为间接加热式和直接加热式两大类。间接加热式电阻炉,就是在炉子内部有专用电阻材料制作加热元件,电流经过加热元件时产生热量,再经过热传导、对流、辐射而使放置在炉中炉料被加热。直接加热式电阻炉,是将电源直接接在所需加热材料上,让强大电流直接流过所需加热材料,使材料本身发烧从而达成加热效果。工业电阻炉,大部分采取间接加热式,只有一小部分采取直接加热式。因为电阻炉含有热效率高、热量损失小、加热方法简单、温度场分布 均匀、环境保护等优点,应用十分广泛。
关键词:炉温控制;高效率;加热
一、总体方案设计
此次课程设计关键就是使用计算机和对应部件组成电阻炉炉温自动控制系统,从而使系统达成工艺要求性能指标。
1、 设计内容及要求
电阻加热炉用于合金钢产品热力特征试验,电加热炉用电炉丝提供功率,使其在预定时间内将炉内温度稳定到给定温度值。在本控制对象电阻加热炉功率为8KW,有220V交流电源供电,采取双向可控硅进行控制。
2、工艺要求及要求实现基础功效
本系统中所选择加热炉为间接加热式电阻炉,控制要求为采取一台主机控制8个一样规格电阻炉温度;电炉额定功率为20 kW;)恒温正常工作温度为1000℃,控温精度为±1%;电阻炉温度按预定规律改变,超调量应尽可能小,且含有良好稳定性;含有温度、曲线自动显示和打印功效,显示精度为±1℃;含有报警、参数设定、温度曲线修改设置等功效。
3、控制系统整体设计
电阻炉温度计算机控制系统关键由主机、温度检测装置、A/D转换器、实施机构及辅助电路组成。系统中主机能够选择工业控制计算机、单片微型计算机或可编程序控制器中一个作为控制器,再依据系统控制要求,选择一个合理控制算法对电阻炉温度进行控制。控制系统组成框图图11-1所表示。采取热电偶作为测温元件,经变送器及A/D转换电路对测得温度信号进行处理,送入主机和给定值比较,按控制算法计算后输出控制量,经过固态继电器实现对电阻炉加热功率调整,使炉温按设定温度曲线改变。各部分方案以下:
(1)控制系统主机
考虑到MCS-51系列单片机已经过长久应用,性能比较稳定,其功效完全能够满足本系统控制要求,大家对它又比较熟悉,所以主机采取AT89C51单片机。
(2)检测装置
系统选择镍铬-镍硅热电偶作为测温元件检测炉膛中温度。镍铬-镍硅热电偶测温范围为-200~+1200℃(分度号为k)。它线性度很好,价格廉价,输出热电动势较大(40μA/℃),便于测量放大器选配。热电偶冷端温度赔偿采取集成温度传感器AD590。变送器采取两级放大,第一级选择高稳定性运放ICL7650,第二级由通用型集成运算放大器μA741组成。
(3)实施机构
采取交流过零触发型固态继电器控制电路。这种控制方法和传统采取移相触发电路改变晶闸管导通角双向晶闸管(SCR)控制方法相比,含有稳定、可靠、优异等优点。
(4)模/数转换器(A/D转换器)
选择AD574A模/数转换器实现对温度信号转换。AD574A是12位逐次迫近型A/D转换器,转换时间为25μs,转换精度为0.05%。
二、数字控制器设计
理论分析和试验结果表明,电阻炉是一个含有自平衡能力对象,能够近似为带有纯滞后一阶惯性步骤。由被控对象试验得到飞升曲线,确定出被控对象纯滞后时间τ=1.2 min和被控对象惯性时间常数TP=1.2 min。当τ/TP≤0.5时,可采取PID算法控制;当τ/TP> 0.5时,可采取达林算法控制,本系统τ/TTP>0.5,故采取达林算法控制。
三、硬件设计和实现
1、温度检测及功率放大电路
本系统采取镍铬-镍硅热电偶检测电阻炉中温度,热电偶测温是基于物体热电效 应,它由两种不一样金属或合金组成,其优点是结构简单,可将温度信号转换成电压信号,测温范围广、精度高,可实现远距离测量和传送,使用稳定、可靠,所以被广泛应用。其不足之处是测温精度受冷端温度(即环境温度)影响,为了提升热电偶测温精度,需要在热电偶冷端进行温度赔偿。温度检测电路及功率放大电路图所表示。热电偶冷端温度赔偿采取是集成温度传感器AD590,流过AD590电流Iu=273μA+ T0×1μA/℃,式中,T0为室温。负载电阻R3上输出电压UOUT= Iu R3,选择电阻R3使UOUT在AD590许可输入电压范围内。本系统选择R3=10 kΩ。这种测量方法冷端温度正确,克服了常规方法赔偿误差大和不方便缺点。
热电偶传感器输出电压信号较为微弱(只有几毫伏到几十毫伏),所以在进行A/D转换之前必需进行信号变送,由高放大倍数电路将它放大到A/D转换器通常所要求电压范围,热电偶输出热电势为0~56 mV。本系统前级选择自稳态高精度斩波运放 ICL7650,输入信号为差动信号,放大倍数为15倍。后级运放选择较廉价μA741,放大倍数可调,最大可达100倍,关键完成反相功效。ICL7650输入端钳位二极管起保护作用,避免输入线路发生故障时瞬态尖峰干扰损坏运放,输入电压可直接送入AD574A进行转换。
2、AD574A模/数转换电路
以下图所表示,AD574A工作在12位状态,转换值分两次输出,高8位从DB4~DB11输出,低4位从DB0~DB3输出,并直接和单片机数据线相连,AD574A片选端接锁存器Q7端,低电平有效;CE为片选使能端,高电平有效;CS 和CE共同用于片选控制,只有当两个信号同时有效时,才能选中本芯片工作。A0端接锁存器74LS373Q1端。A0=0时开启A/D转换。R/接锁存器74LS373Q0端。R/=0时,开启A/D转换;R/=1时,许可读出转换后数据。AT89C51和经“和非”门74LS00和AD574ACE端相接。12/8接地表示AT89C51要分两次从AD574A读出A/D转换12位数字量。
3、实施机构
传统SSR控制采取移相触发电路,经过改变晶闸管导通角大小来调整输出功率,从而达成自动控温目标。这种移相方法输出一个非正弦波,实践表明这种控制方法产生相当大中频干扰,并经过电网传输给电力系统造成“公害”。本系统采取单片机控制固态继电器控温电路,其波形为完整正弦波,对电阻炉这么惯性较大被控对象,是一个稳定、可靠、较合理控制方法。
调功原理为:设电网连续 N个完整周波为一个控制周期TC,则
TC=
式中,f为电网频率。
若在设定控制周期TC内控制主回路导通 n(n≤N)个完整周波,则负载功率为
P=
式中,U为电网电压有效值; 为负载有效电阻。
所以,控制在设定周期TC内主回路导通周波数 n个数,就可调整负载功率P。采取交流过零型固态继电器控温时需交流过零检测电路,此电路输出对应于50 Hz交流电压过零时刻脉冲,在交流电压过零时刻导通。图11-4所表示是一个由两个光电耦合器和一个单稳态电路组成交流过零检测电路。
其中,GD1、GD2为光电耦合器,含有检零和隔离功效,R10为限流电阻。在交流正半周,GD1导通,GD2截止,VA为低电平;在交流负半周,GD1截止,GD2导通,VA仍为低电平。只有在交流过零点时,GD1和GD2均截止,VA为高电平。VA再经过74LS123单稳态电路整形,得到一过零脉冲序列VB,VB波形图11-5所表示。VB脉冲序列再和单片机P1.X输出触发脉冲信号进行“和非”运算后得到控制信号。用它来控制固态继电器,从而调整电阻炉温度。
交流过零检测电路
4、报警电路设计:
正常运行时绿灯亮,在保温阶段炉内温度超出系统允差范围,就要进行报警。报警时报警红灯亮,电笛响,同时发送中止信号至CPU进行处理。图2-3
图2-3加热炉报警系统图
5、设计输入输出通道
输入通道:因为所控实际温度在50 ~ 350℃,即(350-50)=300所以选择8位A/D转换器,其分辨率约为1.5℃/字,再加放大器偏置方法实现。(经过调整放大器零点来实现偏置)这里采取通常中速芯片ADC0809。ADC0809是带有8位A/D转换器,8路多路开关和微型计算机兼容控制逻辑CMOS组件,其转换方法为逐次迫近型。8路模拟开关由地址锁存器和译码器控制,能够在8个通道中任意访问一个通道模拟信号。这种器件无需进行零位和满量程调整。因为多路开关地址输入部分能够进行锁存和译码,而且其三态TTL输出也能够锁存,所以它易于和微型计算机接口。其含有较高转换速度和精度,受温度影响较小,能较长时间确保精度,重现性好,功耗较低,故用于过程控制是比较理想器件。
图2-4ADC0809应用接线图
输出通道:据其实际情况,D/A转换器位数可低于A/D转换器位数,因为通常控制系统对输出通道分辨率要求比输入通道低,所以这里采取常见DAC0832芯片
DAC0832是8位D/A转换器,和微处理器完全兼容。期间采取优异CMOS工艺,所以功耗低,输出漏电流误差较小。它内部含有两级输入数据缓冲器和一个R-2RT型电阻网络,因DAC0832电流输出型D/A转换芯片,为了取得电压输出,需在电流输出端接运算放大器,Rf为为运算放大器反馈电阻端。
双极性电压输出D/A转换电路通常采取偏移二进制码、补码二进制码和符号一数值编码。只要在单极性电压输出基础上再加一级电压放大器,并配以相关电阻网络就能够组成双极性电压输出。在上图中,运算放大器A2作用是把运算放大器A1单向输出电压转变为双向输出。
三、数字控制器设计
1、控制算法:
电阻加热炉温度控制系统框图:.
大林算法设计目标是设计一个适宜数字控制器,使整个闭环系统传输函数相当于一个带有纯滞后一阶惯性步骤,即:
通常认为对象和一个零阶保持器相串联。
四、软件设计
1、系统程序步骤图
系统主程序框图 A/D转换子程序步骤图
c、LED显示步骤图
d、报警程序步骤图
e、数字控制算法子程序步骤图
2、程序清单
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP KEYS
ORG 000BH
AJMP PIT0
ORG 001BH
AJMP PIT1 ;中止入口及优先级
MAIN: MOV SP,#00H
CLR 5FH :清上下限越限标志
MOV A,#00H
MOV R7,#09H
MOV R0,#28H
LP1: MOV @R0,A
INC R0
DJNZ R7,LP1
MOV R7,#06H
MOV R0,#39H
LP2: MOV @R0,A
INC R0
DJNZ R7,LP2
MOV R7,#06H
MOV RO,#50H
LP3: MOV @R0,A
INC R0
DINZ R7,LP3 ;清显示缓冲区
MOV 33H,#00H
MOV 34H,#00H ;赋KP高低字节
MOV 35H,#00H
MOV 36H,#00H ; 赋KI高低字节
MOV 37H,#00H
MOV 38H,#00H ; 赋KD高低字节
MOV 42H,#00H
MOV 43H,#00H ;赋K高低字节
MOV TMOD,#56H ;T0方法2,T1方法1计数
MOV TLO,#06H
MOV THO,#06H
MOV 25H,#163H ;设定值默认值350
SETB TR0 ;键盘高优先级
SETB ET0
SETB EX0
SETB EA ;开键盘T0。T1中止
LOOP: MOV R0,#56H
MOV R1,#55H
LCALL SCACOV ;标度转化
MOV R0,#53H
LCALL DIR
NOP
LCALL DLY10MS
NOP
LCALL DLY10MS
AJMP LOOP ;等中止
键盘子程序
KEYS: CLR EX0
CLR EA
PUSH PSW
PUSH ACC ;关中止
LCALL DLY10MS ;消抖
CC: JB P3.2 AA
SETB 5DH ;置“显示设定值温度值标志”
MOV A,25H ;取运算位值
MOV B,#10H ;BCD码转化
DIV A B
MOV 52H,A
MOV A, B
MOV 51H, A
MOV R0,#50H
LCALL DIR ;显示设定温度
NOP
LCALL DLY10MS
NOP
LCALL DLY10MS
JB P1.7 ,BB
MOV R1,#25H
LCALL DAAD1
NOP
LCALL DLY10MS
AJMP CC
BB: JB P1.6 CC
MOV R1,#25H
LCALL DEEC1
NOP
LCALL DLY10MS
AJMP CC
AA: POP ACC
POP PSW
SETB EX0
SETB EA ;出栈
RETI
显示子程序
DIR: MOV SCON ,#00H ;置串行口移位寄存器状态
SETB P1.4 ;开显示
JB 5DH,DL1 ;显示设定温度
DL2: MOV DPTR,#SEGT
DL0: MOV A,@R0
MOVC A,@A+DPTR
MOV SBUF ,A
LOOP1: JNB TI, LOOP1
CLR TI
INC R0
MOV A,@R0
MOVC A,@A+DPTR
ANL A, #7FH ;使数带小数点
MOV SBUF ,A
LOOP2: JNB TI,LOOP2
CLR TI
INC R0
MOV A,@R0
MOVC A,@A+DPTR
MOV SBUF,A
LOOP3: JNB TI,LOOP3
CLR TI
CLR P1.4
CLR 5DH
RET
DL1: MOV 50H,#0AH ;小数位黑屏
AJMP DL2
SEGT: DB 0C0H ,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
加一子程序
DAAD1: MOV A,#00H
ORL A,@R1
ADD A,#01H
CJNE A,#30H,DAAD2 ;超出48度了吗?
DAAD3: MOV @R1,A
DAA: RET
DAAD2: JC DAAD3
MOV @R1,#15EH ;超出48则转回到355
AJMP DAA
减一子程序
DEEC1: MOV A,@R1
DEC A
CJNE A,#15EH,DEEC2 ;低于355度了吗?
DEEC3: MOV @R1,A
DEE : RET
DEEC2: JNC DEEC3
MOV @R1,#30H ;低于355则转回到48
AJMP DEE
T0中止子程序
PTT0: CLR EA
PUSH ACC
PUSH PSW
PUAH DPL
PUSH DPH
SETB EA ;压栈后开中止响应键盘
PPP: LCALL SMAP ;采样数据
LCALL FILTER ;数字滤波
MOV A,2AH ;取采样值
CJNE A,#07H,AAA ;下限48比较
AJMP BBB
AAA: JC CCC ;小于48度转
CJNE A,#0FEH ,DDD ;上限355比较
AJMP BBB ;转至48~355正常范围处理
DDD: JC BB
CLR P1.2 ;大于355黄灯亮
SETB 5EH
CLR P1.1 ;置标志 开启风扇
AJMP PPP
CCC: CLR P1.3 ;小于48红灯亮
SETB 5FH
BBB: CLR P1.0 ;置标志开启电炉
AJMP PPP
SETB P1.0
SETB P1.1
SETB P1.2
SETB P1.3
CLR 5EH
CLR 5FH ;50~350之间正常
LCALL PID
JNB 20H,EEF ;设定温度小于实际值转到风扇
MOV A,29H
LCALL FFF
CLR P1.0
LOOP10: MOV R0,#56H ;存放相乘结果首址
MOV R1,#55H ;赋显示缓冲区最高位地址
LCALL SCACOV ;标度转化
MOV R0,#53H ;;赋显示首址
CLR DIR
JB D5H,LOOP10 ;等候T1中止
CLR EA
POP DPH
POP DPL
POP PSW
SETB EA
POP ACC
RETI
EEE: MOV A,28H ;风扇处理
LCALL FFF
CLR P1.1
AJMP LOOP10
FFF: CRL A ;依据PID结果计算T1初值
INC A
MOV TL1,A
MOV TH1,#0FFH
SETB PI1
SETB TR1
SETB ET1
RET
采样子程序
SWAP: MOV R0,#20H
MOV R1,#03H
SAW1: MOV DPTR,#7FF8H
MOVX @DPTR A ;A/D转化
MOV R2,#20H
DLY: DJNZ R2,DLY ;延时
HERE: JB P3.3 ,HERE
MOV DPTR,#7FF8H
MOVX A,@DPTR ;读转化结果
MOV @R0,A
INC R0
DJNZ R1,SAM1
RET
数字滤波
FILTER: MOV A, 20H
CJNE A,2DH CMP1
AJMP CMP2
CMP1: JNC CMP2
XCH A,2DH
XCH A,2CH
CMP2: MOV A,2DH
CJNE A,22EH,CMP3
MOV 2AH,A
AJMP RR
CMP3: JC CMP4
MOV 2AH,A
AJMP RR
CMP4: MOV A,2EH
CJNE A,2CH,CMP5
MOV 2AH ,A
AJMP RR
CMP5: JC CMP6
XCH A,2CH
CMP6: MOV 2AH,A
RR: RET
T1中止
PIT1: CLR 00H
JB 20H, GGG
SETB P1.0 ;关闭电炉
GG: CLR PT1
RETI
GGG: SETB P1.1 ;关闭风扇
CLR 20H
AJMP GG
展开阅读全文