电阻加热炉
电阻加热炉
2.1 电阻炉温度控制系统的结构工作原理
整个系统由四部分组成,即:单片机系统;温度检测通道;输出控制通道。工作时,温度由集成温度传感器AD590转换成电流信号,经运放放大至0-5v的电压信号,由ADC0809转换成单片机所能接受的数字信号,此信号与温度的给定值比较得到温度的偏差,通过PID控制器运算,此控制量经可控硅控制加在电阻炉上的电压的通断时间,以达到控温目的。
系统的给定值、PID参数由键盘输入,并可以随时修改,给温度和采样温度同时显示在LED上
2.2 系统硬件结构
以AT89C51单片机为该控制系统的核心,实现对温度的采集、检测和控制。该系统的工作流程如图2所示。系统由变送器经A/D转换器构成输入通道,用于采集炉内的温度信号。变送器可以选用DBW,型号,它将热电偶信号(温度信号)变为0~5 V电压信号,以供A/D转换用。转换后的数字量与炉温数字化后的给定值进行比较,即可得到实际炉温和给定炉温的偏差及温度的变化率。炉温的设定值由BCD 拨码盘输入。由AT89C51构成的核心控制器按智能控制算法进行推算,得出所需要的控制量。由单片机的输出通过调节可控硅管的接通时间,改变电炉的输出功率,起到调温的作用。
一、输入通道
a、温度检测及放大
在温度控制系统中,温度检测及放大任务通常用温度变送器来完成。为了降低成本,简化结构,本系统采用了 OP07型温度变送器的输入回路部份,这输入回路是一平衡电桥,它与AD590热电偶配合使用,实现温度零点迁移。不平衡电桥的输出信号经精密放大器放大到A/D转换所需标准信号,根据热电偶分度号和量程的不同,可选择和调整放大器的反馈电阻以改变放大倍数,从而实现了温度标准信号的转换。A/D转换功能由AD0809完成,它是一种逐次逼近式8路模拟输入、 8位数字量输出的A/D转换器。在这里我们将 接到AT89C51的 转换结束信号OEC经一个与非门接AT89C51的.INT0 ,置外部中断为边沿触发方式,这样,每次A/D转换结素时都将结果送入数据存贮区。
由于炉温度化缓慢,输入通道中没有设置采样保持器。
二、 输出通道
执行机构采用可控硅控制器,单片机只须输出能改变可控硅控制周期内的通断时间就行了,因此省去了D/A转换器,仅用了一条I/O线,通过软件支持,在这条I/O线上输出一个高电平宽度在控制周期内随调节值变化的方波信号,从而达到控温的目的。
2.3 系统硬件的选择
a)微型计算机的选择:选择AT89C51单片机构成炉温控制系统。它具有8位CPU,3 2根I/O线,4 kB片内ROM存储器,128 kB的RAM存储器。AT89C51对温度是通过可控硅调功器实现的。在系统开
发过程中修改程序容易,可以大大缩短开发周期。同时,系统工作过程中能有效地保存一些数据信息,不受系统掉电或断电等突发情况的影响。AT89C51单片机内部有128 B的RAM存储器,不够本系统使用,因此,采用6264(8 kB)的RAM作为外部数据存储器。
b)热电偶的选择:本设计采用 DBW型热电偶--镍络-镍硅(线性度较好,热电势较大,灵敏度较高,稳定性和复现性较好,抗氧化性强,价格便宜)对温度进行检测。由于温度是非线性输出的,而与输入的mV信号成线性关系,所以在软件上将此非线性关系加以修正,以便正确反映输入mV信号与温度之间的关系。ADC0809把检测到的连续变化的温度模拟量转换成离散的数字量,输人到单片机中进行处理。
c)键盘输入的选择:采用4片BCD拨码盘作为温度设定的输入单元,输入范围为0~9999,可满足本系统的要求。每位BCD码盘占4条线,通过上拉电阻接入8255可编程并行I/O扩展口。4片BCD码盘占8255的 A、B两口,8255工作方式设为"0 模式",A、B两口均为输入方式。开机后,CPU读8255口操作,即可将BCD码盘的设定温度读入并存人相应的存储单元。
d) 显示器的选择:采用字符型LCD(液晶显示器)模块TC1602A,并且它把LCD控制器、ROM和LCD显示器用PCB(印制板)连接到一起,只要向 LCD送人相应的命令和数据便可实现所需要的显示,使用特别方便灵活。第1行显示设定温度,第2行显示实际温度,这样,温差一目了然,方便控制。
2.4 系统软件设计
本系统的应用程序主要由主程序、中断服务程序和子程序组成。主程序的任务是对系统进
行初始化,实现参数输入,并控制电加热炉的正常运行。主程序主要由系统初始化、数据采集及处理、智能推理等部分组成。系统初始化包括设置栈底、工作寄存器组、控制量的初始值、采样周期、中断方式和状态、定时器的工作方式以及8255的初始化、TC1602A的初始化等。数据采集及处理主要包括实时采集电加热炉的炉温信号,计算出实际炉温与理想值的差值以及温差的变化率,并对炉温信号进行滤波和限幅处理。。中断服务程序实现定时采样和输出控制。AT89C51共有6个中断源:2个外部中断、2个定时器溢出中断及2个串行中断。
子程序主要有采样子程序、数字滤波子程序、控制算法子程序、数字转换子程序、显示子程序等。在采样程序中包括对A/D启动、读结果及把A/D结果转换成为实际温度值。由于热电偶本身的非线性及模拟输人通道存在的非线性,需要将A/D值与温度值之间对应关系以表格形式存于EPROM中。数字滤波子程序是将 A/D转换成的数字量提取有用的量,一方面通过TC1602ALCD模块显示出来;另一方面将该温度值与被控温度值进行比较,根据其偏差值的大小及温度的变化率,通过智能控制器来改变可控硅管的接通时间,从而达到改变电加热炉的输出功率,即控制算法子程序是控制器中最重要的一部分,它的原理将在第4节介绍。
2.5 智能控制算法
考虑到电加热炉是一个非线性、时变和分布参数系统,所以本文采用一种新型的智能控制算法。它充分吸取数学和自动控制理论成果,与定性知识相结合,做到取长补短,在实时控制中取得较好的成果。
本系统的智能控制器由数据库、知识库、推理机、学习环节、修正环节和黑板组成。数据库中存放各个时刻的采样值y(k)、偏差e(k)、控制量u(k)和生成控制量u(k),所用的控制规则序号、每条控制规则的加权系数a都是以数组的形式存放。
知识库中知识由产生式规则生成,其规则集都是按顺序排列的。当求得偏差e(k)和被调整量y(k)后,借助黑板进行正向推理,从上到下顺序地搜索知识库中的匹配模式,一旦找到匹配规则,即可求出控制量u(k)。
学习过程是通过修正规则加权系数a,使各种控制规则产生的控制量随环境和控制量效果变化进行修正,从而实现自学习的功能。由于被控制对象具有d步时延,因此,y(k)是由(k-d)时刻及其以前所有控制量作用的结果,则应修正控制量u(k-d)的控制规则所对应的控制规则加权系数a[num(k- d)]。
系统炉温控制过程是一个慢过程,一般采样间隔长,在此间隔时间内,被控对象可能受内部参数变化或随机干扰影响,因而町能导致(k+1)时刻发出的控制量使控制效果变差,影响系统的控制性能。为
补充这一不足,这里引入动态修正环节为:
式中:0
最后由修正量和黑板给出的u(k)叠加,得到总输出控制量为:
式中:β取0.8~0.9。