毕业设计(论文)一种基于smith预估器的温度控制系统.doc
淮 海 工 学 院毕业设计(论文)说明书题 目:一种基于smith预估器的温度控制系统 作 者: 学 号: 系 (院): 电子工程系 专业班级: 电子023班 指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 2006年 6月 连 云 港毕业设计(论文)中文摘要一种基于smith预估器的温控系统摘 要:随着生产过程控制要求的不断提高以及控制理论与控制技术的不断发展和进步,自动化工作者不断开发出许多适应新的生产形势的控制系统。这里把他们归结为一类,称之为新型控制系统。Smith 预测控制就是其中一种,它能有效的解决控制系统中控制通道的纯滞后问题,减少超调量并加速调节过程。针对电加热炉温度控制系统的大时滞问题,提出了一种Smith预佑控制器的设计方法,并由8086微机系统实现。认为该方法能有效克服大纯滞后对控制系统稳定性的影响。计算机仿真与实验研究表明,其控制效果明显优于常规PID控制,非常适用于电加热炉的温度控制。关键词:Smith预佑器 温度控制 微机 电热炉毕业设计(论文)外文摘要A kind of temperature control system based on Smith predictAbstract: Along with the unceasing development of the unceasing raising of production course as well as control theoretical and control technology, automation worker development a lot of control systems that meet new production situation. we call them a kind of new control system. It is in which a kind of that Smith predict, it can be effective to solve the pure hysteresis problem of control passageway in control system, decreases the exceed tunequantity and accelerate regulation course.Aiming at the large delay in temperature control system of Resistance stove,Puts forwards A design mith predicting controller, realized by an 8086 micro-computer system. Holds that by this way the influence of the large pure delay on the system stability can be overcome. Computer simulation and experiment research show that it is very suitable for temperature control of heat exchangers with better effects than conventional PID control. Keywords: Smith predict;temperature control; micro-computer;Electrothermal stove .目 录1绪论.12Smith 预估器的设计.1 2.1电热炉一般控制系统1 2.2 smith预估器的控制原理.23温度控制系统组成框图.34温度控制系统结构图及总述.35温度控制系统硬件与其详细功能介绍.35.1 微型计算机的选择.35.2 SCR触发回路和主回路.45.3 热电偶的选择.45.4 420mA变送器XTR101.55.5 I/V转换器RCV420.55.6 A/D转换器ADC0809.55.7 定时计数器8253.65.8 LED数码管驱动芯片ICM7218A.65.9 可编程并行I/O接口芯片82C55A.75.10 硬件地址分配列表.8.6温度控制系统软件设计.86.1温度控制系统软件结构图86.2总体流程图96.3模块程序流程图106.3.1数字滤波106.3.2工程量变换程序模块106.3.3温度非线性转换程序模块116.4 源程序.137芯片资料.197.1 8086CPU.197.2 定时计数器8253.207.3 可编程并行I/O接口芯片82C55A217.4 LED数码管驱动芯片ICM7218A.217.5 420mA变送器XTR101.227.6 I/V转换器RCV420227.7 A/D转换器ADC0809237.8 OC门74LS06.248详细电路原理图.25总结.26致谢.27参考资料281 绪论温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程都与温度密切相关,因此温度控制是生产自动化的重要任务。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,燃料,控制方案也有所不同。例如冶金、机械、食品、化工等各类工业生产中广泛使用的各种加热炉、热处理炉、反应炉等;燃料有煤气、天然气、油、电等;控制方案有直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(Expert Control),鲁棒控制(Robust Control),推理控制等。本设计的控制对象为一电加热炉,输入为加在电阻丝两断的电压,输出为电加热炉内的温度。控温范围为100500,所采用的控制方案为预测控制控制中的smith预估控制。对加热炉进行控制,使其温度稳定在在某一个值上。并且具有键盘输入温度给定值,LED数码管显示温度值和温度达到极限时提醒操作人员注意的功能。2 Smith 预估器的设计2.1 电热炉一般温控系统根据电加热炉的结构及一般热力学原理,可得被控对象传递函数的近似表达式为式中Gp(s) 对象的传递函数; K 对象的放大系数;T 对象的时间常数;· 对象的纯时间滞后;Go(s) 对象传递函数中不含纯滞后的部分。可以看出,它是一个带纯滞后的一阶惯性环节,一般的温控系统如图3所示。图中R(s)为参考输入,C(s)为系统输出,Gc(s)为控制器传递函数,Go(s) 为被控对象的传递函数,F为系统外扰。从图3可以得出电加热炉一般温控系统闭环传递函数为: 由于特征方程里含有项,这对控制系统稳定性极其不利,若足够大,系统就很难稳定;而且由于系统中含有纯滞后环节,使控制器的设计变得复杂。2.2 Smith预估器的控制机理Smith 预估器控制的基本思路是:预先估计过程在基本扰动下的动态特性,然后由预估器进行补偿控制,力图使被延迟了的被调量提前反映到调节器,并使之动作,以此来减小超调量并加速调节过程。其控制原理图如图4所示。图中U(s)为控制器的输出,r(k)给定输入,e*(k)为控制器的误差输入G0(S)控制对象不含滞后部分,y(k)为采样值,T为采样周期。因为 e(k)=r(k)-y(k)e*(k)=e(k)-f(k)f(k)=Xm(k)-Ym(k)且Xm(k)控制器输出U(k)经不含滞后的控制对象的输出,选/T=3时 Xm(k)=y(k-3),Ym(k)=y(k);则有: f(k)=y(k-3)-y(k) 所以 e*(k)= r(k)-y(k-3) 图4可以进一步转换为图5: 可见用smith预估器补偿之后,对象的纯滞后环节被移到反馈回路之外,系统是稳定的。3 温度控制系统的组成框图用典型的反馈式温度控制系统,组成部分见下图。其中数字控制器的功能由微型机算机实现。4 温度控制系统硬件原理图及总述电加热炉SCR主回路SCR触发回路8086CPU定时计数器A/DSAAAAAAAAAA420mA变送器I/V接口电路图中由420mA变送器,I/V,A/D转换器构成输入通道,用于采集炉内的温度信号。其中,变送器选用XTR101,它将热电偶信号(温度信号)变为420mA电流输出,再由高精密电流/电压变换器RCV420将420mA电流信号变为05V标准电压信号,以供A/D转换用。转换后的数字量与与炉温的给定值数字化后进行比较,即可得到实际炉温和给定炉温的偏差。炉温的设定值由键盘输入。由微型计算机构成的数字控制器按最小拍进行运算,计算出所需要的控制量。数字控制器的输出经标度变换后送给8253,由8253定时计数器转变为高低电平的不同持续时间,送至SCR触发电路,触发晶闸管并改变其导通角大小,从而控制电加热炉的加热电压,起到调温的作用。5 温度控制系统硬件与其详细功能介绍5.1 微型计算机的选择选择8086微处理器构成炉温控制系统,使其工作于最小方式下。并配备以8284A时钟发生器,8282带三态缓冲器的通用8位地址锁存器,8286具有三态输出的8位双极型总线收发器。其中,时钟发生器8284A为CPU提供时钟信号,经时钟同步的系统复位信号RESET和准备就绪信号READY;地址锁存器8282是针对于8086CPU地址/数据线分时复用而设计配备的,它可以在8086CPU总线周期的T1状态,利用ALE信号的下降沿将地址信息锁存于其中;总线收发器8286是为了提高8086CPU数据总线的驱动能力.5.2 SCR触发回路和主回路如图所示为一晶闸管触发电路。包括脉冲触发器(单稳态电路,由IC1和IC2组成),控制门,光电耦合器4N25,放大器和双向晶闸管。由全波整流电路得到的同步电压使晶体管BG1每半波导通一次。当控制端为“1”高电平的时候,BG1的每次导通都会经由单稳电路由IC2输出一个负脉冲,该脉冲经IC3反向后由光电耦合器和放大电路发大后触发晶闸管,在这一半周内晶闸管基本上处于全导通状态。若控制端为“0”低电平的时候,则单稳态电路不输出脉冲,在这一半周内晶闸管也不导通。因此,可以改变控制端的电平,控制单稳态电路每秒输出的脉冲数,从而改变晶闸管每秒钟内导通的时间,达到调压的目的。与以下的电路相比较第一个电路的优点在于晶闸管导通时基本处于全导通状态,因此波形较好,包含的谐波成分较少,因此对系统的干扰也较小。而第二个电路的缺点是加热电阻两端电压波形很差,包含了较多的谐波成分,当晶闸关导通角较小时由为如此,这些些波电压可能会对周围系统产生影响。5.3 热电偶的选择热电偶是常用的测温元件,它利用不同材料的导体一端紧密连接在一起产生的热电势效应将温度信号转换为电势信号。本设计采用K型热电偶镍络-镍硅(线性度较好,热电势较大,灵敏度较高,稳定性和复现性较好,抗氧化性强,价格便宜)对温度进行检测,参比端温度为20。由以下公式可以计算出K型热电偶分别在100,200,300,400,500时候的输出电势:E(100,20)=E(100,0)-E(20,0)=4.096mV-0.798 mV=3.298 mVE(200,20)=E(200,0)-E(20,0)=8.138mV-0.798 mV=7.34 mVE(300,20)=E(300,0)-E(20,0)=12.209mV-0.798 mV=11.411 mVE(400,20)=E(400,0)-E(20,0)=16.397mV-0.798 mV=15.599 mVE(500,20)=E(500,0)-E(20,0)=20.644mV-0.798 mV=19.846 mV5.4 420mA变送器XTR101XTR101为420mA线性化变送器,它可与镍络-镍硅测温传感器构成精密的T/I变换。器件中的放大器适合很宽的测温范围,在-40+85的工作温度内,传送电流的总误差不超过1%,供电电源可以从11.6V到40V,输入失调电压<±2.5mV,输入失调电流<20nA。XTR101外形采用标准的14脚DIP封装。(芯片内部结构与封装见第七章)XTR101转换温度信号的典型电路:5.5 I/V转换器RCV420RCV420是一种精密电流/电压变换器,它能将420mA的环路电流变为05V的电压输出,并且具有可靠的性能和很低的成本。除具有精密运放和电阻网络外,还集成有10V基准电源。对环路电流由很好的变换能力。具有-25+85和070的工作温度范围,输入失调电压<1mA,总的变换误差<0.1%,电源电压范围±5±18V。RCV420的外形采用标准的16脚DIP封装。(芯片内部结构与封装见后)它的典型应用如下:5.6 转换器ADC0809ADC0809是美国国家半导体公司的CMOS型8位28条引脚A/D转换器。采用逐次逼近技术,输出的数字信号由TTL三态缓冲器顺序控制,可以直接与数据总线相连。分辨率为8位,精度为7位,时钟频率范围在101280kHz之间,单一+5V电源供电,数据具有三态输出能力,易于和微处理器相连。(芯片内部结构与封装见附录)ADC0809的典型应用如下:5.7 定时计数器82538253是Intel公司的使用单一+5V电源供电,NMOS工艺制成的24条引脚的双列直插式芯片。具有3个独立的计数器,每一个都可以单独作为定时器或者计数器使用,且都可以按照二进制或者十进制计数,每个计数器计数速率高达2MHz,最高的技术速率可达2.6MHz。所有的输入输出引脚都与TTL电平兼容。(芯片内部结构与封装见附录)8253典型应用如下图所示5.8 LED数码管驱动芯片ICM7218AICM7218是一种多功能LED数码管驱动芯片,能驱动8位共阳或者共阴数码管,且输出可以直接驱动LED显示器。其内部主要由控制器,8*8静态RAM,BCS译码,B码和显示字段译码器,扫描振荡控制电路和显示驱动器等组成。ICM7218的外引线有写入控制线2条:WR和MODE;数据线8条:ID0ID7;LED显示驱动线16条;电源线2条。WR为写选通信号,低电平有效。MODE为写入控制字的写入显示数据控制线,当MODE=1时,写控制字;当MODE=0是,写数据。(芯片内部结构与封装见附录)典型应用如下图所示5.9 编程并行I/O接口芯片82C55A82C55A是Intel公司的并行I/O接口芯片,40条引脚,双列直插式封装。D0D7位三态,双向数据线,可与CPU总线直接相连。内部由3个端口A,B,C。三个端口都具有8位数据输出锁存器,只有A端口具有输入所锁存器。(芯片内部结构与封装见附录)典型应用及在本设计的应用如下图所示5.10 硬件地址分配列表A7A6A5A4A3A2A1A082C55AA口0001000010HB口0001001012HC口0001010014H控制口0001011016H8253计数器00000100004H控制口000011100EHADC0809START0000011006HOE000111101EHICM7218控制口0010000020H写数据0000000000H6 控制系统软件设计6.1 温度控制系统结构图上图所示的是单回路闭环温度控制系统,虚线框内的某些功能有计算机来完成。6.2 温度控制系统总软件流程图A/D转换结果经数字滤波后送入NX单元数字滤波算法启动A/D转换初始化82C55A,8253,ICM7218,数据段开 始从键盘读入要设定的温度值SET单元N红灯响,警笛鸣,提醒操作人员 NX-FF=0? Y取最小值输出NSmith控制器算法工程量变换标度变换变换结果送入WN温度的非线性转换变换结果送入8253作为计数初值转换后温度值送入TEM单元显 示6.3 模块程序流程图6.3.1 数字滤波(采用程序判断滤波的限速滤波)计算C=(C1-C2+C2-C3)/2计算C2-C3计算C1-C2限速滤波程序C2-C1C? N YC3-C2C?C2送入NX单元 YC3送入NX单元 N (C2+C3)/2送入NX单元注:C1,C2,C3分别为第一次采样,第二次采样, 第三次采样值6.3.2 工程量变换程序模块变送器XTR101输出420mADC,温度起点为100,满量程为500。8位A/DADC0809输出数字量00HFFH(05V),应用以下变换公式进行变换:AX=A0+(AM-A0)(NX-N0)/(NM-N0)式中,A0为一次测量仪表的下限AM为一次测量仪表的上限AX实际测量值N0仪表下限对应的数字量NM仪表上限对应的数字量NX测量值对应的数字量工程量变换流程图如下: AM送入AL,A0送入BL温度非线性转换计算AM-A0NX采样值送入BL计算(AM-A0)*NX/NM计算A0+(AM-A0)*NX/NMAX内容送入WN单元6.3.3 温度非线性转换程序模块采用折线拟合法进行线性化处理如下图所示,分为以下几段:当3.298mVWN<7.34mV时,T=24.47*WN+18.41当7.34mVWN<11.411mV时,T=24.56*WN+19.70当11.411mVWN<15.599mV时,T=23.88*WN+27.53当15.599mVWN<19.846mV时,T=23.55*WN+32.71当19.846mVWN时,T=500分段如下图所示:温度非线性转换流程图如下所示:温度非线性转换WN送入ALAL19.846?AL11.411?AL15.599?AL7.34?500送入TEMPWN=T=23.55*WN+32.71WN=T=23.88*WN+27.53WN=T=24.56*WN+19.70WN=T=24.47*WN+18.41YYYYNNNN6.3.4 Smith控制器算法流程图:Smith控制器算法置参数KP,KI,KD置初值E(K-1)=E(K-2)=0;U(K-1)Y(K-1)=Y(K-2)=Y(K-3)=0采集Y(K)求偏差E(K)=Ur-Y(K-3)计算控制增量 U(K)=KPE(K)-E(K-1)+KI*E(K) +KD*E(K)-2E(K-1)+E(K-2) 计算U(K)=U(K-1)+U(K)传递数据U(K)->U(K-1);E(K)->E(K-1) E(K-1)->E(K-2);传递数据Y(K)->Y(K-1);Y(K-1)->Y(K-2) Y(K-2)->Y(K-3)采样时间到?YN6.4 源程序:STACK SEGMENT STACK DW 256 DUP(?)STACK ENDSDATASEGMENTSAVEBUFF DB 256 DUP(00H)TK DB64HK0 DB 00H,54H,35HK1 DB 01H,20H,00HK2 DB 00H,00H,00HK3 DB 00H,00H,00HP1 DB 00H,71H,70HP2 DB 00H,00H,00HP3 DB 00H,00H,00HSAVEMARK DB00HSAVEADDR DB0FFHCONTROLMARK DB00HEKB DB00HK0_16 DB00H,00H,00HK1_16 DB00H,00H,00HK2_16 DB00H,00H,00HK3_16 DB00H,00H,00HP1_16 DB00H,00H,00HP2_16 DB00H,00H,00HP3_16 DB00H,00H,00HEK DW0000HEKK DW0000HEK_1 DW0000HEK_2 DW0000HUK DW0000HUKK DW0000HUK_1 DW0000HUK_2 DW0000HOUTPUT DW0000HALLK_ALLP DW0000HSETDB?;温度设定值NXDB?;滤波后A/D转换值WNDB?;工程量变换结果SUMDBC1,C2,C3;A/D三次采样值TEMDB?;显示温度8255PORTDW0010H,0012H,0014H,0016H;8255地址8253PORTDW0004H,000EH;8253地址0809PORTDW0006H,001EH;0809地址7218PORTDW0020H,0000H;7218地址DISPLAYDW?;显示温度二进制值DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;初始化数据段各芯片MOVDS,AXMOVBX,OFFSET 8255PORTMOVDX,BX+3MOVAL,81H;方式0,C口底四出,其余入OUTDX,ALMOVBX,OFFSET 8253PORTMOVDX,BX+1MOVAL,00HOUTDX,AL;计数器0工作于方式0,二进制计数MOVBX,OFFSET 7218PORTMOVDX,BXMOVAL,A0HOUTDX,AL;十进制软件译码KEYS:CALLKEYCHECK;键盘扫描程序JZKEYSCALL D10MSCALL KEYCHECKJZKEYSMOVAL,0FEHMOVAH,0MOVDX,BX+2OUTDX,ALMOVDX,BXINAL,DXCMPAL,1EHJZKEY1CMPAL,1DHJZKEY2CMPAL,1BHJZKEY3CMPAL,17HJZKEY4CMPAL,0FHJZKEY5JMPKEYSKEY1:MOVAH,00HJMPTRANSKEY2:MOVAH,44HJMPTRANSKEY3:MOVAH,88HJMPTRANSKEY4:MOVAH,CCHJMPTRANSKEY5:MOVAH,FFHJMPTRANSTRANS:MOVSET,AH;读设定值到SET单元ADCH:MOVBX,OFFSET 0809PORT;启动A/D转换MOVDX,BXOUTDX,ALMOVX,BX+1CHANGE:INAL,DXTESTAL,80HJZCHANGEMOVDX,BXINAL,DXMOVAH,00HMOVCX,0003HMOVBX+AH,ALINCAHLOOPADCHFILTER:LEASI,SUM;数字滤波(限速滤波)MOVAL,SI+2SUBAL,SIJNCDONE1NEGALDONE1:MOVDL,ALMOVBL,SI+3SUBBL,SI+2JNCDONE2NEGBLDONE2:ADDAL,BLSHRAL,1CMPDL,ALMOVCL,SI+2JBEDONECMPBL,ALMOVCL,SI+3JBEDONEMOVAL,SI+2ADDAL,SI+3SHRAL,1MOVSI+3,ALMOVCL,ALDONE:MOVDL,SI+2MOVSI,DLMOVDL,SI+3MOVSI+2,DLMOVNX,CLCMPNX,0FFHJECAUTION;判断是否该提醒操作人员?MOVBX,OFFSET 8255PORT;无提醒,则点亮绿灯MOVDX,BX+1MOVAL,01HOUTDX,ALCALLCONFIG;调数字控制器子程序CALLBIAODU;调标度变换子程序CALLGCBH;调工程量变换子程序CALLTEMBC;调温度非线性补偿子程序MOVBX,OFFSET PORT7218;温度显示程序MOVR1,DISPLAY;R1指向显示缓冲区MOVR208H;R2作8位显示计数器C-LOOP:MOVAL,00H;将8位显示缓冲区中的数据送ICM7218AMOVDX,BX+1OUTDX,ALINC R1DJNZR2,C-LOOPBIAODUPROCNEAR;标度变换子程序RETBIAODUENDPGCBHPROCNEAR;工程量变换子程序RETGCBHENDPTEMBC PROCNEAR;温度非线性补偿子程序RETTEMBCENDP