微型计算机控制技术课程设计电阻炉温度控制系统1摘要:本设计采用直接数字控制(DDC)对加热炉进行控制,使其温度稳定在在某一个值上。并且具有键盘输入温度给定值,LED数码管显示温度值和温度达到极限时提醒操作人员注意的功能。一.概述温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等;控制方案有直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(ExpertControl),鲁棒控制(RobustControl),推理控制等。本设计的控制对象为一电加热炉,输入为加在电阻丝两断的电压,输出为电加热炉内的温度。输入和输出的传递函数为:G(s)=2/(s(s+1))。控温范围为100~500℃,所采用的控制方案为直接数字控制(DDC)中的最少拍控制。二.温度控制系统的组成框图采用典型的反馈式温度控制系统,组成部分见下图。其中数字控制器的功能由微型机算机实现。三.温度控制系统结构图及总述图中由4~20mA变送器,I/V,A/D转换器构成输入通道,用于采集炉内的温度信号。其中,变送器选用XTR101,它将热电偶信号(温度信号)变为4~20mA电流输出,再由高精密电流/电压变换器RCV420将4~20mA电流信号变为0~5V标准电压信号,以供A/D转换用。转换后的数字量与与炉温的给定值数字化后进行比较,即可得到实际炉温和给定炉温的偏差。炉温的设定值由键盘输入。由微型计算机构成的数字控制器按最小拍进行运算,计算出所需要的控制量。数字控制器的输出经标度变换后送给8253,由8253定时计数器转变为高低电平的不同持续时间,送至SCR触发电路,触发晶闸管并改变其导通角大小,从而8086CPU定时计数器SCR触发回路SCR主回路电加热炉4~20mA变送器I/VA/D数字滤波微型计算机控制技术课程设计电阻炉温度控制系统2控制电加热炉的加热电压,起到调温的作用。四.温度控制系统硬件与其详细功能介绍1.微型计算机的选择选择8086微处理器构成炉温控制系统,使其工作于最小方式下。并配备以8284A——时钟发生器,8282——带三态缓冲器的通用8位地址锁存器,8286——具有三态输出的8位双极型总线收发器。其中,时钟发生器8284A为CPU提供时钟信号,经时钟同步的系统复位信号RESET和准备就绪信号READY;地址锁存器8282是针对于8086CPU地址/数据线分时复用而设计配备的,它可以在8086CPU总线周期的T1状态,利用ALE信号的下降沿将地址信息锁存于其中;总线收发器8286是为了提高8086CPU数据总线的驱动能力2.SCR触发回路和主回路如图所示为一晶闸管触发电路。包括脉冲触发器(单稳态电路,由IC1和IC2组成),控制门,光电耦合器4N25,放大器和双向晶闸管。由全波整流电路得到的同步电压使晶体管BG1每半波导通一次。当控制端为“1”高电平的时候,BG1的每次导通都会经由单稳电路由IC2输出一个负脉冲,该脉冲经IC3反向后由光电耦合器和放大电路发大后触发晶闸管,在这一半周内晶闸管基本上处于全导通状态。若控制端为“0”低电平的时候,则单稳态电路不输出脉冲,在这一半周内晶闸管也不导通。因此,可以改变控制端的电平,控制单稳态电路每秒输出的脉冲数,从而改变晶闸管每秒钟内导通的时间,达到调压的目的。与以下的电路相比较第一个电路的优点在于晶闸管导通时基本处于全导通状态,因此波形较好,包含的谐波成分较少,因此对系统的干扰也较小。而第二个电路的缺点是加热电阻两端电压波形很差,包含了较多的谐波成分,当晶闸关导通角较小时由为如此,这些些波电压可能微型计算机控制技术课程设计电阻炉温度控制系统3会对周围系统产生影响。3.热电偶的选择热电偶是常用的测温元件,它利用不同材料的导体一端紧密连接在一起产生的热电势效应将温度信号转换为电势信号。本设计采用K型热电偶——镍络-镍硅(线性度较好,热电势较大,灵敏度较高,稳定性和复现性较好,抗氧化性强,价格便宜)对温度进行检测,参比端温度为20℃。由以下公式可以计算出K型热电偶分别在100℃,200℃,300℃,400℃,500℃时候的输出电势:E(100,20)=E(100,0)-E(20,0)=4.096mV-0.798mV=3.298mVE(200,20)=E(200,0)-E(20,0)=8.138mV-0.798mV=7.34mVE(300,20)=E(300,0)-E(20,0)=12.209mV-0.798mV=11.411mVE(400,20)=E(400,0)-E(20,0)=16.397mV-0.798mV=15.599mVE(500,20)=E(500,0)-E(20,0)=20.644mV-0.798mV=19.846mV4.4~20mA变送器XTR101XTR101为4~20mA线性化变送器,它可与镍络-镍硅测温传感器构成精密的T/I变换。器件中的放大器适合很宽的测温范围,在-40℃~+85℃的工作温度内,传送电流的总误差不超过1%,供电电源可以从11.6V到40V,输入失调电压±2.5mV,输入失调电流20nA。XTR101外形采用标准的14脚DIP封装。(芯片内部结构与封装见附录)XTR101有如下两种应用于转换温度信号的典型电路:5.I/V转换器RCV420RCV420是一种精密电流/电压变换器,它能将4~20mA的环路电流变为0~5V的电微型计算机控制技术课程设计电阻炉温度控制系统4压输出,并且具有可靠的性能和很低的成本。除具有精密运放和电阻网络外,还集成有10V基准电源。对环路电流由很好的变换能力。具有-25℃~+85℃和0℃~70℃的工作温度范围,输入失调电压1mA,总的变换误差0.1%,电源电压范围±5~±18V。RCV420的外形采用标准的16脚DIP封装。(芯片内部结构与封装见附录)它的典型应用如下:6.A/D转换器ADC0809ADC0809是美国国家半导体公司的CMOS型8位28条引脚A/D转换器。采用逐次逼近技术,输出的数字信号由TTL三态缓冲器顺序控制,可以直接与数据总线相连。分辨率为8位,精度为7位,时钟频率范围在10~1280kHz之间,单一+5V电源供电,数据具有三态输出能力,易于和微处理器相连。(芯片内部结构与封装见附录)ADC0809的典型应用如下:7.定时计数器82538253是Intel公司的使用单一+5V电源供电,NMOS工艺制成的24条引脚的双列直插式芯片。具有3个独立的计数器,每一个都可以单独作为定时器或者计数器使用,且都可以按照二进制或者十进制计数,每个计数器计数速率高达2MHz,最高的技术速率可达2.6MHz。所有的输入输出引脚都与TTL电平兼容。(芯片内部结构与封装见附录)8253典型应用如下图所示:微型计算机控制技术课程设计电阻炉温度控制系统58.LED数码管驱动芯片ICM7218AICM7218是一种多功能LED数码管驱动芯片,能驱动8位共阳或者共阴数码管,且输出可以直接驱动LED显示器。其内部主要由控制器,8*8静态RAM,BCS译码,B码和显示字段译码器,扫描振荡控制电路和显示驱动器等组成。ICM7218的外引线有写入控制线2条:WR和MODE;数据线8条:ID0~ID7;LED显示驱动线16条;电源线2条。WR为写选通信号,低电平有效。MODE为写入控制字的写入显示数据控制线,当MODE=1时,写控制字;当MODE=0是,写数据。(芯片内部结构与封装见附录)典型应用如下图所示:9.可编程并行I/O接口芯片82C55A82C55A是Intel公司的并行I/O接口芯片,40条引脚,双列直插式封装。D0~D7位三态,双向数据线,可与CPU总线直接相连。内部由3个端口A,B,C。三个端口都具有8位数据输出锁存器,只有A端口具有输入所锁存器。(芯片内部结构与封装见微型计算机控制技术课程设计电阻炉温度控制系统6附录)典型应用如下图所示:10.硬件地址分配列表五.温度控制系统软件设计1.温度控制系统软件结构图A7A6A5A4A3A2A1A082C55AA口0001000010HB口0001001012HC口0001010014H控制口0001011016H8253计数器00000100004H控制口000011100EHADC0809START0000011006HOE000111101EHICM7218控制口0010000020H写数据0000000000H微型计算机控制技术课程设计电阻炉温度控制系统7上图所示的是单回路闭环温度控制系统,虚线框内的某些功能有计算机来完成。2.总体流程图YN开始初始化82C55A,8253,ICM7218,数据段从键盘读入要设定的温度值送到SE初始化82C55A,8253,ICM7218,数据段T单元启动A/D转换数字滤波算法A/D转换结果经数字滤波后送入NX单元NX-FF=0?最小拍控制算法标度变换变换结果送入8253作为计数初值红灯响,警笛鸣,提醒操作人员工程量变换变换结果送入WN温度的非线性转换转换后温度值送入TEM单元显示微型计算机控制技术课程设计电阻炉温度控制系统83.模块程序流程图i.数字滤波(采用程序判断滤波的限速滤波)NYYN注:C1,C2,C3分别为第一次采样,第二次采样,第三次采样值ii.工程量变换程序模块变送器XTR101输出4~20mADC,温度起点为100℃,满量程为500℃。8位A/DADC0809输出数字量00H~FFH(0~5V),应用以下变换公式进行变换:AX=A0+(AM-A0)(NX-N0)/(NM-N0)式中,A0为一次测量仪表的下限AM为一次测量仪表的上限AX实际测量值N0仪表下限对应的数字量NM仪表上限对应的数字量NX测量值对应的数字量限速滤波程序计算∣C1-C2∣计算∣C2-C3∣计算△C=(∣C1-C2∣+∣C2-C3∣)/2∣C2-C1∣≤△C?C2送入NX单元∣C3-C2∣≤△C?(C2+C3)/2送入NX单元C3送入NX单元微型计算机控制技术课程设计电阻炉温度控制系统9流程图如下:iii.温度非线性转换程序模块采用折线拟合法进行线性化处理如下图所示,分为以下几段:当3.298mV≤WN7.34mV时,T℃=24.47*WN+18.41当7.34mV≤WN11.411mV时,T℃=24.56*WN+19.70当11.411mV≤WN15.599mV时,T℃=23.88*WN+27.53当15.599mV≤WN19.846mV时,T℃=23.55*WN+32.71当19.846mV≤WN时,T℃=500℃分段如下图所示:热电偶电势与温度关系折线拟合3.2987.3411.41115.59919.8463.2987.3411.41115.59919.84601002003004005006003.2987.3411.41115.59919.846V/mVT/℃系列1系列2工程量变换AM送入AL,A0送入BL计算AM-A0NX采样值送入BL计算(AM-A0)*NX/NM计算A0+(AM-A0)*NX/NMAX内容送入WN单元微型计算机控制技术课程设计电阻炉温度控制系统10流程图如下所示:YNYNYNYN4.源程序STACKSEGMENTSTACKDW256DUP(?)STACKENDSDATASEGMENTSAVEBUFFDB256DUP(00H)TKDB64HK0DB00H,54H,35HK1DB01H,20H,00HK2DB00H,00H,00HK3DB00H,00H,00HP1DB00H,71H,70HP2DB00H,00H,00HP3DB00H,00H,00HSAVEMARKDB00HSAVEADDRDB0FFHCONTROLMARKDB00HEKBDB00HK