中北大学信息商务学院第1页共11页引言随着科学技术的迅猛发展,各个领域对温度控制系统的精度、稳定性等要求越来越高,控制系统也千变万化。电阻炉广泛应用于各行各业,其温度控制通常采用模拟或数字调节仪表进行调节,但存在着某些固有的缺点。而采用单片机进行炉温控制,可大大地提高控制质量和自动化水平,具有良好的经济效益和推广价值。1.系统的描述与分析1.1系统的介绍该系统的被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器输入为0~5伏时对应电炉温度0~200℃,温度传感器测量值对应也为0~5伏,对象的特性为带有纯滞后环节的一阶惯性系统,这里惯性时间常数取T1=30秒,滞后时间常数取τ=10秒。该系统利用单片机可以方便地实现对PID参数的选择与设定,实现工业过程中PID控制。它采用温度传感器热电偶将检测到的实际炉温进行A/D转换,再送入计算机中,与设定值进行比较,得出偏差。对此偏差按PID规律进行调整,得出对应的控制量来控制驱动电路,调节电炉的加热功率,从而实现对炉温的控制。利用单片机实现温度智能控制,能自动完成数据采集、处理、转换、并进行PID控制和键盘终端处理(各参数数值的修正)及显示。在设计中应该注意,采样周期不能太短,否则会使调节过程过于频繁,这样,不但执行机构不能反应,而且计算机的利用率也大为降低;采样周期不能太长,否则会使干扰无法及时消除,使调节品质下降。1.2技术指标设计一个基于闭环直接数字控制算法的电阻炉温度控制系统具体化技术指标如下:1.电阻炉温度控制在0~200℃。2.加热过程中恒温控制,误差为±1℃。中北大学信息商务学院第2页共11页3.LED实时显示系统温度,用键盘输入温度,精度为1℃。4.设计控制和驱动电路,实现炉温的自动控制,使其最终稳定在150℃。5.采用直接数字控制算法,要求误差小,平稳性好。6.温度超出预置温度±5℃时发出报警。2.设计方案系统采用89C51作为系统的微处理器来完成对炉温的控制和键盘显示功能。8051片内除了128KB的RAM外,片内又集成了4KB的ROM作为程序存储器,是一个程序不超过4K字节的小系统。系统程序较多时,只需要外扩一个容量较小的程序存储器,占用的I/O口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。因此89C51可以完成设计要求。3.控制算法PID调节是连续系统中技术最成熟的、应用最广泛的一种控制算方法。它结构灵活,不仅可以用常规的PID调节,而且可以根据系统的要求,采用各种PID的变型,如PI、PD控制及改进的PID控制等。它具有许多特点,如不需要求出数学模型、控制效果好等,特别是在微机控制系统中,对于时间常数比较大的被控制对象来说,数字PID完全可以代替模拟PID调节器,应用更加灵活,使用性更强。所以该系统采用PID控制算法。系统结构框图4.系统软硬件设计4.1总体设计中北大学信息商务学院第3页共11页系统的硬件包括微控制器部分(主机)、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分,系统程序采用模块化设计方法,程序有主程序、中断服务子程序和各功能模块程序组成,各功能模块可直接调用。单片机显示电路按键控制报警电路光耦驱动电路可控硅控制器温度传感器电阻炉A/D转换器系统结构框图该部分电路主要包括89C51主程序的工作情况,主程序完成系统的初始化,温度预置及其合法性检测。预置温度的显示及定时器T0的初始化设置等。T0中断服务程序是温度控制体系的主体,用于温度检测、控制和报警。主程序如下:TEMP1EQU50H;当前检测温度(高位)TEMP2EQUTEMQ1+1;当前检测温度(低位)ST1EQU52H;预置温度(高位)ST2EQU53H;预置温度(低位)T100EQU54H;温度BCD码显示缓冲区(百位)T10EQUT100+1;温度BCD码显示缓冲区(十位)TEQUT100+2;温度BCD码显示缓冲区(个位)BT1EQU57H;温度二进制码显示缓冲区(高位)BT2EQUBT1+1;温度二进制码显示缓冲区(低位)ADIN0EQU7FF8H;ADC0809通道IN0的端口地址F0BITPSW.5;报警允许标志TEMP1DB00H,00H,00H,00H,00H,00H,00H,00H,00H;50H~58H单元初始化(清零)ORG0000HAJMPMAIN;转主程序ORG00BH中北大学信息商务学院第4页共11页AJMPPT0;转T0中断服务子程序ORG0030HMAIN:MOVSP,#59H;设堆栈标志CLRF0;报警标志清零MOVTMOD,#01H;定时器0初始化(方式1)MOVTL0,#0B0H;定时器100ms定时常数MOVTH0,#3CHMOVR7,#150;置15s软计数器初值SETBET0;允许定时器0中断SETBEA;开中断SETBTRO;启动定时器0MAIN1:ACALLKIN;调键盘管理子程序ACALLDISP;调用显示子程序SJMPMAIN1定时器0中断服务子程序PT0:PT0:MOVTL0,#0BOHMOVTH0,#3CH;重置定时器0初值DJNZR7,BACK;15s到否,不到返回MOVR7,#150;重置软计数器初值ACALLTIN;温度检测MOVBT1,TEMP1;当前温度送到显示缓冲区MOVBT0,TEMP0ACALLDISP;显示当前温度ACALLCONT;温度控制ACALLALARM;温度越限报警BACK:RETI4.2温度检测电路温度检测电路包括温度传感器、变送器和A/D转换三部分。传感器选用型号为WZB-003的铂热电阻,可满足本系统0~200℃测量范围的要求。变送器将电中北大学信息商务学院第5页共11页阻信号转换成与温度成正比的电压,当温度在0~200℃时变送器输出0~4.9v左右的电压。A/D转换可采用ADC0809进行,亦可采用单片机内部A/D功能进行。电路设计好后调整变送器的输出,使0~200℃的温度变化对应于0~4.9v的输出,则A/D转换对应的数字量位00H~FAH,即0~150℃,转换结果乘以2正好是温度值。用这种方法一方面可以减少标度变换的工作量,另一方面还可以避免标度变换带来的计算误差。本设计A/D转换采用查询方式(由P1.4查询ADC0809的ECO转换结束信号)。为提高采样的可靠性,对采样温度进行数字滤波。数字滤波的方法很多,这里采用4次采样取平均值的方法。因此,4次采样的数字量之和除以2就是检测的当前温度。开始检测结果缓冲区清零采样次数4送R2启动A/D转换累加采样结果结果低8位送51H高8位送50H转换结束?(R2)-1送R2R2=0?4次累加结果除以2送检测结果缓冲区返回YNYN温度检测子程序流程图4.3温度控制电路控制电路采用可控硅来实现,双向可控硅SCR和电路电阻丝串接在交流220V市电回路中,单片机信号通过光电隔离器和驱动电路送到可控硅的控制端,由端口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电路中北大学信息商务学院第6页共11页保持原来状态;当温度降低到比预置温度低1℃时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。由于电炉加热时,当前温度有可能低于报警下限,为防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志位F0。开始当前温度与预设温度比较开电炉关电炉置允许报警标志返回当前温度预设温度?当前温度预设温度-2?NNYY温度控制模块流程图4.4人机对话电路4.4.1键盘管理为使系统简单紧凑,键盘只设置四个功能键,分别是“启动键”、“百位”、“十位”和“个位”。由P1口低四位作为键盘接口。利用数字键可以分别对预置温度的百位、十位和个位进行0~200℃的温度设置。程序设有预置温度合法检测报警,当预置温度超过150℃时会报警并且将温度设为150℃。中北大学信息商务学院第7页共11页开始预置温度合法检查预置温度送显示缓冲区调用显示子程序有键闭合?有键闭合?P1.1=0?P1.2=1?P1.3=1?P1.0=1?启动加热百位键输入值处理百位键输入值处理百位键输入值处理保存新的温度预设值返回YYYYYYNNNNNN键盘管理子程序流程图4.4.2数码显示本系统设有3位LED数码显示器,用于显示电阻炉的设定温度和实际温度。采用串行口扩展的静态显示电路作为显示接口电路。显示子程序DISP如下:DISP:ACALLHTB;调用将显示数据转换成BCD码的子程序HTBMOVSCON,#00H;置串行口为方式0MOVR2,#03H;显示位数送R2MOVR0,#T100;显示缓冲区首地址送R0LD:MOVDPTR,#TAB;指向字符码表首地址MOVA,@R0;取出显示数据MOVCA,@A+DPTR;查表MOVSBUF,A;字符码送串行口WAIT:JBCTI,NEXT;发送结束转下一个数据并清除中断标志SJMPWAIT;发送未完等待中北大学信息商务学院第8页共11页NEXT:INCR0;修改显示缓冲区指针DJNZR2,LD;判断3位显示完否,未完继续RETTAB:…;字符码表4.4.3报警报警功能由蜂鸣器实现,当由于意外因素导致电阻炉温度高于设置温度时,单片机驱动蜂鸣器鸣叫报警。报警上限温度值为预置温度+1℃,即当前温度上升到高于预置温度+1℃时报警,并停止加热;报警下限温度值设为预置温度-1℃,即当前温度下降到低于预置温度-1℃,且报警允许时报警,这是为了防止开始从较低温度加温时误报警。报警的同时也关闭电电炉。5.心得体会课程设计是对我们在这学期学到的微型计算机控制技术这门课的理论知识的一个综合测评,是对我们将理论结合时间的综合能力的考查,是培养我们发现问题、解决问题的能力,是激发我们内在创新意识的途径。在此在课程设计中学习了很多相关知识:单片机系统的开发与可行性分析、电炉的设计与制作、器件的选型、程序的设计与调试、系统的调试以及平时没有接触到的在线编程与相关软件等等。在设计过程中我遇到了许多难以解决的问题,通过去图书馆看书、上网查资料以及请教同学,努力最终一步一步得以解决。通过这次课程设计,不仅锻炼了我的动手能力,更培养了我发现问题、解决问题的能力,巩固了我以前学过的专业知识,促进了我的自学能力。中北大学信息商务学院第9页共11页附图A中北大学信息商务学院第10页共11页附图B中北大学信息商务学院第11页共11页参考文献[1]潘新民、王燕芳微型计算机控制技术。电子工业出版社2010.7[2]林锦国、张利、李丽娟过程控制(第三版)。东南大学出版社2009.8[3]谢维成、杨加国单片机原理与应用。清华大学出版社2009.7[4]吴金戌、沈庆阳、郭庭吉8051单片机实践与应用。清华大学出版社2000.[5]李建忠单片机原理及应用。西安电子科技大学出版社2001.[6]潘新民、王燕芳微型计算机控制技术。高等教育出版社2001.[7]何立民单片机应用系统设计。北京航空航天大学出版社2000[8]韩志军、沈晋源、王振波单片机应用系统设计。机械工业出版社,2005.[9]宋书中自动化技术工程设计实践。武汉理工大学出版社2004.[10]周航慈单片机程序设计基础。北京航空航天大学出版社,2000.