电阻炉温度控制系统设计_第1页
电阻炉温度控制系统设计_第2页
电阻炉温度控制系统设计_第3页
电阻炉温度控制系统设计_第4页
电阻炉温度控制系统设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录TOC o 1-3 h z u HYPERLINK l _Toc296512496 摘要 PAGEREF _Toc296512496 h 三 HYPERLINK l _Toc296512497 一、总体设计及系统原理 PAGEREF _Toc296512497 h 三 HYPERLINK l _Toc296512498 2.硬件电路设计 PAGEREF _Toc296512498 h 四 HYPERLINK l _Toc296512499 2.1 主机电路 PAGEREF _Toc296512499 h 四的设计 HYPERLINK l _Toc296512500 2.2 数据采集电路设计

2、 PAGEREF _Toc296512500 h 五 HYPERLINK l _Toc296512501 2.3 电控执行电路设计 PAGEREF _Toc296512501 h 五 HYPERLINK l _Toc296512502 2.4 键盘显示 PAGEREF _Toc296512502 h 六设计 HYPERLINK l _Toc296512503 3.系统软件设计。 PAGEREF _Toc296512503 h 七 HYPERLINK l _Toc296512504 3.1 主程序模块 PAGEREF _Toc296512504 h 七 HYPERLINK l _Toc29651

3、2505 3.2 功能实现模块 PAGEREF _Toc296512505 h 八 HYPERLINK l _Toc296512506 3.2.1 T0中断子程序 PAGEREF _Toc296512506 h 八 HYPERLINK l _Toc296512507 3.2.2 T1中断程序 PAGEREF _Toc296512507 h 九 HYPERLINK l _Toc296512508 3.3 运行控制模块 PAGEREF _Toc296512508 h 九 HYPERLINK l _Toc296512509 3.3.1 比例转换子程序 PAGEREF _Toc296512509 h

4、九 HYPERLINK l _Toc296512510 3.3.2 PID算法子程序 PAGEREF _Toc296512510 h 九 HYPERLINK l _Toc296512511 4.源代码 PAGEREF _Toc296512511 h 10 HYPERLINK l _Toc296512512 5、结果分析与讨论。 PAGEREF _Toc296512512 h 15 HYPERLINK l _Toc296512513 6. 参考文献 PAGEREF _Toc296512513 h 15摘要电阻炉是一种工业炉,是一种利用电流通过电热元件将电能转化为热能,加热或熔化元件或材料的热加工

5、设备。电阻炉由炉体、电气控制系统和辅助系统组成。炉体由炉壳、加热器、炉衬(含隔热罩)等部件组成。由于炉子的种类不同,所用的燃料和加热方式也不同;由于工艺不同,所需温度不同,所采用的测温元件和方法也不同。不同的产品对控温精度的要求不同,所以控制系统的组成也不同。电气控制系统包括主机及外围电路、仪表显示等。辅助系统通常指传动系统、真空系统、冷却系统等,随炉型不同而有所差异。介绍了基于AT89S52单片机的温度控制器的设计。本设计采用高精度温度传感器AD590实时测量电锅炉温度,采用超低温漂高精度运算放大器OP07放大温度-电压信号,即然后送入12位AD进行A/D转换,从而实现自动检测、实时显示和超

6、限报警。控制部分采用PID算法,实时更新PWM控制的输出参数,控制可控硅的通断时间,最终实现炉温的高精度控制。574A一、总体设计及系统原理温度控制是工业生产中常见的过程控制。一些工艺流程的控温效果直接影响产品的质量,因此设计一个理想的控温系统非常有价值。根据课题要求,电锅炉温度控制系统由核心处理模块、温度采集模块、键盘显示模块、控制执行模块组成。电路以AT89S52单片机为控制核心,采用12位高精度模数转换器AD进行数据转换。 PWM用于控制电路中可控硅的通断,以连续控制锅炉温度。温度控制采用改进的PID数字控制算法,显示采用3位LED静态显示。设计结构简单,控制算法新颖,控制精度高,通用性

7、强,因此系统设计总体框图如下:574AAT5189CSingle-Chip Microcomputerkeyboardshowsensorelectric resistance furnaceTemperature detectioncircuitTemperature control图(1)系统设计总体框图2、硬件电路设计2.1 主机电路设计选用ATMEL公司的51系列单片机AT89S52作为主机。凭借单片机软件编程灵活、自由度大的特点,试图通过软件来完善各种控制算法和逻辑控制。本系统选用的AT89S52芯片时钟为12MHz,运算速度快,控制功能完善。一部分有128字节的RAM,一部分包含4

8、KB的flash ROM,无需外接扩展存储器,使系统的整体结构更加简单实用。其示意图如下:图(2)单片机最小系统2.2 数据采集电路设计就本系统而言,需要实时采集水温数据,然后通过A/D转换成数字信号,发送到单片机中的特定单元,再进行一部分被送去展示;另一部分与设定值比较,通过PID算法得到控制量,单片机的输出用于控制电锅炉的加热或冷却。数据采集电路主要由AD590、0P07、74LS373、AD等组成。由于要求控制精度为0.1度,考虑到测量干扰和数据处理误差,温度传感器和AD转换器的精度要更高保证控制精度的实现,可大致设定在0.1度。因此,温度传感器需要能够区分0.1度;至于AD转换器,由于

9、测量范围为40-90度,响应的AD判别要求为0.1度,所以AD需要区分(90-40)/0.1=500个数字量,显然需要10多个AD转换器。因此选择高精度的 12 位 AD。为了满足高测量精度的要求,选用温度传感器ad590,它具有较高的精度和重复性(重复性优于0。其良好的非线性可以保证测量精度优于0。测量精度可以通过非线性补偿。)超低温漂高精度运算放大器0P07对温度-电压信号进行放大,便于A/D转换,提高了温度采集电路的可靠性。模拟电路的硬件部分如下图所示:574A574A110.1图 3. 温度-电压转换电路2.3 电控执行电路设计输出控制电炉,电炉可近似建立为具有滞后的一阶惯性链接数学模

10、型。其传递函数形式为: QUOTE 其中时间常数T=350秒,放大系数K=50,滞后时间t=10秒。 SCR可以被认为是控制炉温的线性链接。单片机的输出和电炉的电源分别属于弱电和强电,需要隔离。这里控制部分采用光耦合元件TLP521进行光电隔离,采用变压器隔离实现弱电和强电的电源隔离。当单片机PWM输出电平为0时,光耦合元件导通,使三极管有效偏置导通。通过整流桥的电压经过集电极电阻向发射极反方向偏置,在双向晶闸管的控制端加一个7V左右的电压,使晶闸管导通,交流通路形成,电阻炉工作。反之,当单片机输出电平为0时,光耦元件不能导通,三极管不能有效偏置关断,晶闸管端电压几乎为零,晶闸管关断切断交流通

11、道,电炉停止工作。另外,有超限报警,当温度低于下限时,LED灯亮;当上限高时,蜂鸣器响起。控制执行部分的硬件电路如下图所示。图 4 控制执行部分电路2.4 键盘显示设计按键的响应是通过中断来实现的。 AN3按键与P3.2相连,采用外部中断方式,优先级最高; AN5、AN4按键分别接P1.7、P1.6,通过软件查询。 1为硬件复位键,与R、C组成复位电路。其功能定义如表1所示。按钮键名功能AN1重置键重置系统AN4添加密钥设定温度逐渐增加一。AN5减一键设定温度逐渐减一。1 表键功能采用3位共阳极LED静态显示方式,显示温度值的十位、一位、小数点后一位,只能使用P3.0(RXD)口输出温度值显示

12、数据,从而节省单片机的端口资源。在P1.4端口和P3.1(TXD)的控制下,由74LS164实现3位静态显示。数字电路的硬件部分如图5所示:图(5)数字硬件电路示意图3.系统软件设计。系统软件由三个模块组成:主程序模块、功能实现模块和运行控制模块。3.1 主程序模块主程序流程图如图6所示:图(6)主程序流程图3.2 功能实现模块功能模块主要由A/D转换子程序、中断处理子程序、键盘处理子程序、显示子程序等组成,用于控制可控硅和电炉。3.2.1T0 中断子程序该中断是单片机的100ms定时中断,优先级最高,是最重要的子程序。在这个中断响应中,单片机应该完成调用PID算法子程序和输出PID计算结果的

13、功能。流程图如下:图 7:t0 中断子程序3.2.2T1中断子程序T1 中断用于调制PWM 信号,其优先级低于T 0 中断。其时序初值由PID算法子程序提供的输出转换而来,T1中断响应时间用于输出控制信号。流程图如图(8)所示:图(8)T1中断子程序3.3 运行控制模块3.3.1比例转换子程序该子程序的作用是将温度信号(00HFFH)转换为相应的温度值,以显示或与同维度的设定值进行比较。使用的线性尺度变换公式为:式中,Ax:实测温度值; Nx:A/D转换后的温度; Am =90; Ao=40; Nm =FEH; No=01H。 单片机采用定点计算,高温区和低温区分别用程序进行校正。3.3.2

14、PID算法子程序系统控制采用工业上常用的位置PID数字控制,并结合具体系统对算法进行改进,形成变速积分PID与积分分离PID控制相结合的自动辨识控制算法。该方法不仅大大降低了超调,而且有效地克服了积分饱和的影响,大大提高了控制精度。由上式得到的PID参数为u(k)=Q0e(k)+Q1E(k-1)+Q2e(k-2),因此可以计算出数字PID增量控制算法的参数:q0=120 , q1=-240, q2=120。 PID控制算法流程图如下(9):图 9 为 9)PID 控制算法流程图4. 源代码#include #include PID.h#define AD_Data P0无符号字符 ADConv

15、ert(void);sbit AD_Start=P20;位 AD_EOC=P21;位 Ctrl=P34;位 SW=P23;sbit outpin=P10;unsigned char const DisCode10 = 0 x,0 x06,0 x5B,0 x,0 x66,0 x6D,0 x7D,0 x07,0 x,0 x,;3F4F7F6F无符号字符常量状态10 = 0 xb7,0 xf8,0 xf3; /n,t,p,i,d ,0 xb0,0 xdeunsigned int tep,step=300,s_ulCycle,s_uiHighTime,s_uiLowTime,Freq,value,Sc

16、ale;无符号长 longtemp,longtemp1,longtemp2;无符号字符 i=0;位 s_bStatus=0;无符号字符 ADConvert(void);无效显示(无符号整数 num1,无符号整数 num2);无效延迟(无符号整数延迟时间);无效 EX_init();void PWM_Set(unsigned int uiFreq, unsigned char ucScale);主要的()无符号长温度=0,温度1=0;Ctrl=0;EX_init();初始化_pid_value();而(1)温度=ADConvert();温度=温度*400/256;if(温度360)|(温度 10

17、0) / 占空比不能大于 100%返回;s_ulCycle = 921600/uiFreq;longtemp1 = s_ulCycle;longtemp2 = ucScale;longtemp = 65535-(longtemp1*longtemp2/100);s_uiHighTime =longtemp;longtemp = 65535-(longtemp1*(100 - longtemp2)/100);s_uiLowTime = longtemp;无效 PWM_Tm1ISR(无效) 中断 1TR0 = 0;s_bStatus= s_bStatus; /取反标志位,表示本次输出的高电平或低电

18、平。if(s_bStatus) /输出高电平TH0 = s_uiHighTime8;TL0 = s_uiHighTime;输出 = 1;else /输出低电平TH0 = s_uiLowTime8;TL0 = s_uiLowTime;输出 = 0;TR0 = 1;无效 EX_init()EA=1;TMOD=0 x11; /T0,T1都使用16位定时器,不受外部引脚电平控制。ET0=1;ET1=1;EX0=1;IT0=1;EX1=1;IT1=1;TH0=s_uiLowTime8;TL0=s_uiLowTime; /Timer0 给出初始值。TR0=1; /启动定时器0TH1=0 x4b;TL1=0

19、 xff; /定时50msTR1=1;void PID_Ctrler(void) 中断 3TH0=0 x4b;TL0=0 xff;如果(i=1)i=0;值=ypid(步,步); 否则我+;void EX0_int(void) 中断 0如果(SW)步骤+;否则步骤+=10;void EX1_int(void) 中断 2如果(SW)步;否则步骤-=10;无效显示(无符号整数 num1,无符号整数 num2)P2=0 xa0;延迟(5); SBUF=DisCodenum1/100;延迟(100);P2=0 x20;延迟(5); SBUF=DisCodenum1%100/10;延迟(100);P2=0

20、 xc0;延迟(5); SBUF=DisCodenum1%10;延迟(100);P2=0 x40;延迟(5); SBUF=DisCodenum2/100;延迟(100);P2=0 x80;延迟(5); SBUF=DisCodenum2%100/10;延迟(100);P2=0 x00;延迟(5); SBUF=DisCodenum2%10;延迟(100);P2=0 xe0;延迟(5); SBUF=状态0;延迟(100);P2=0 x60;延迟(5); SBUF=状态1;延迟(100);无符号字符 ADConvert(void)无符号整数电压;AD_Start=0;AD_开始=1;AD_Start=

21、0;延迟(10);电压=AD_Data;返回电压;无效延迟(无符号整数延迟时间)而(延迟时间-);PID.h:/* * 功能说明:主要用于PI运算,通过给定和反馈计算输出*入口:ifin,give(反馈,给定)*退出:退出* 全局变量:lasterror,lastout; * 调用模块:无 * */int idata lerror1,lastout; /,out_max,you5,lyrk,yrk,;无符号字符 xi,xp,xd;无符号字符常量 UPPER_LIMIT=400;字符 p;unsigned int ypid(unsigned int give,unsigned int feedback)整数错误1,错误2,输出;error1=反馈; /计算积分偏差错误2=错误1-lerror1; /计算比例偏差lerror1=错误1; /更新e(k-1)输出=最后输出+error1/xi+error2*xp; /计算PI控制值如果(错误1=0)输出=输出; /计算不敏感区域的操作补偿。否则如果(错误1-8)如果(错误1 0)输出=输出+1;否则 out=out-1;否则如果(错误1-16)如果(错误1 0)输出=输出+2;否则 out=out-2;如果(输出UPPER_LIMIT)输出=UPPER_LIMIT; /控制输出值的上限

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论