吴承启
(商洛职业技术学院,陕西 商洛 726000)
电阻炉是一种广泛应用于工业生产的设备,其温度控制有效性将直接关系到生产效率和产品品质,其对温度稳定控制系统具有高标准的配置要求。因此,因此,设计一套高精度、高可靠性的电阻炉温控系统十分必要。如今,在各种电子设备中,单片机的应用场景也愈渐广泛,由于它可以克服以往模拟调节器延时和系统振荡等缺点,常被用于工业生产中的炉温控制[1-3]。基于这种技术背景,本文以AT89C52单片机为核心,利用 PID控制和 PWM脉宽调制反馈控制技术,设计了一种电阻炉智能温度控制系统,具有较高的精度和良好的控制效果,对提高工业生产效益、推动产业技术进步具有一定的实践价值。
该电阻炉智能温度控制系统是以AT89C52单片机为核心,搭配K型热电偶温度传感器,外加屏幕现实及越线报警电路、晶闸管温度控制电路等部件:可实现以下功能:①实时监测功能:通过LCD大屏幕液晶显示屏显示各设定参数和实测参数;②安全报警功能:采用超温偏差保护,超温报警,传感器故障报警等,触发报警电路后,直至温度降低至阀值,停止报警;③断电复原功能:当外部电源突然断电,并再次启动时,设备可以按照原来的程序,自动地继续工作;④温度控制功能:通过菜单、选项、数字、确认等手动按钮设置系统的温度阀值,使智能温控具有更高的可操作性和实用性。基于上述要求:本设计系统包括AT89C52单片机、温度传感器、LCD显示模块、报警模块四个部分,系统设计框架图如图1所示。
图1 系统结构框架图
电阻炉智能温度控制系统的硬件组成有四个部分,即单片机应用模块、温度检测模块、数据输出入模块、温度控制模块[4-6]。单片机应用系统是由AT89C52单片机构成,温度检测通道由K型热电偶温度传感器完成。
单片机的最小系统是指能够维持单片机正常工作的最小单元,主要由AT89C52、时钟电路、复位组构成。其中,复位组(即复位电路)包括案件、电阻、电解电容;时钟电路的晶体振荡器的频率为12.000 MHz,12.000 MHz晶振振荡器可以产生定期重复、高度稳定的信号,它与单片机中的一个高增益反向放大器一起构成了单片机的时钟方式,给CPU提供高稳定的时钟信号。电容C19、C20具备调频功能,电容值选择20pF。电容C5和电阻R42构成复位组电路。当电源接通时,电容器C5被供电,并在CPU重置端产生一个高脉冲。CPU可以在高电平持续时间超过2个机器循环(24个振荡周期)的情况下重置。二极管VD1用于在电源切断时快速地释放存储在电容器C5中的电荷,从而在下一次充电时安全地复位。C5电容能有效地过滤高频干扰,避免单片机的错误复位。按键S3及电阻器R9组成按键复位电路。
时钟电路本质上是一个振荡电路,它能如同时钟一样精准运动。温度控制系统中的每一项作业都有先后次序,而时钟电路就是用来生成该系统专属时间的工具;如果时钟电路出错则会造成整个控制系统的紊乱。通常,时钟电路包括三个部分,即晶体振荡器、晶震控制芯片和电容。本文设计以晶振为时钟脉冲的时钟电路。在定时器时钟设计时,选取12 MHz的石英晶体振荡器来实现。该电路由单片机内部的振荡器外接电容构成了内部振荡电路,通过外部输入时钟信号,连接方式如图2所示。
图2 时钟电路连接方式
复位电路又称初始化电路,单片机在接通电源后,会发出复位信号,使单片机开始启动、达到起始工作的状态。另外也可以通过人工按键,生成重置信号,完成微处理器的起动和判断。一般在在单片机程序紊乱或“死机”时,启动人工复位,可实现单片机“重启”。复位电路连接方式如图3所示。
图3 复位电路连接方式
温度检测电路包括温度采集电路和报警指示灯电路[7]。温度采集模块采用K型热电偶温度传感器,同时与显示仪表、记录仪表和电子调节器配套使用,其温度测量范围为-50~1 300 ℃,基本误差限为±0.75%t。因为热电偶的灵敏度相当低(在每摄氏度几十微伏的量级上),所以需要利用放大器来产生可用的输出电压。本文将MAX31855作为热电偶冷端补偿芯片,配以脉冲蓄能14位模数转换器(ADC)。在热电偶引线之间添加一个0.01 μF电容器,有利于排除环境干扰带来的数据误差。芯片不仅拥有冷端温度补偿和修正电路的功能,还可根据不同热电偶提供SPI通信接口。通过SPI总线可以读取32位的温度数据(包括14位测量端温度数据和12位的冷端温度数据)。由热电偶转化得来的温度精度可达到0.25 ℃,读数温度上限可达到1 800 ℃,读数温度下限则达到-270 ℃。一般的K型热电偶的测温范围为-100 ℃~500 ℃,精度为±2 ℃,输出范围为-6~20 mV。图4为MAX31855应用电路图,表1为其引脚功能说明。
图4 MAX31855实际应用电路图
表1 MAX31855引脚功能简述
温度设定值及浮动范围可以遵循当前电子设计中最普遍和实用的方式,用按键作为各参数的输入设备。通过读出输入/输出端口的状态,单片机判断是否执行按键功能,一般通过扫描、反转顺序和中断等方法来完成。键盘则实现人机交互的功能,通过输入数据项程序发送指令,本设计使用了具有四个按键的独立键盘结构,键1以1为差逐次递增温度值,键2以1为差逐次递减温度值,键3以1为差逐次递增控制参数,键4以1为差逐次递减控制参数。
显示部分选用LCD12864显示电路,可同时显示字母、数字及其他字符。AT89C52的P0.0-P0.7引脚连接LCD12864 DB0-DB7接口相连,屏幕显示内容为128列×64行。
当温度值超过程序设置的阀值时,系统通过LED闪烁灯(包括两个LED灯,即上限灯和下限灯)、蜂鸣器进行报警提示,同时立即停止加热直至操作人员将电阻炉温度调整至正常范围。蜂鸣器电路由一个220欧的电阻,三极管8550,及蜂鸣器组成,将单片机输入/输出口的控制引脚P3.7与三极管和蜂鸣器相连,通过控制三极管的导通和截止来实现蜂鸣器的响与不响。
利用PID温度控制器,通过温度传感器对温度进行检测,把检测到的温度转化为电信号,并将其与控制温度的信号进行比较。根据比较结果来判断是否已经达到了所设定的温度目标,若尚未达到要求,则根据两者之间的差值进行再调整,直至达到所设定的温度要求为止[8-10]。
该方法把单片机的PWM方波经光电耦合器变换成晶闸管的精密开关,由此来实现对电热丝功率的调整。当单片机引脚P1.7的输出为低电平时,双向晶闸管接通,电阻炉开始执行加热任务;当单片机引脚P1.7的输出为高电平时,电阻炉中的电热丝断电,系统停止加热。
本文基于Windows 10系统,采用集源代码、功能导航器、模板编辑等功能于一体的Keil uVision 5,为AT89C52单片机开发配置环境,编程语言为C语言。本系统采用模块化设计的方式,将系统软件分为主程序、温度监测子程序、显示子程序、控制子程序和报警子程序等[11-12]。
图5为系统的主程序流程图,当系统上电启动时,首先进行初始化操作,初始化对象包括单片机I/O卡、K型温度传感器及MAX31855热电偶芯片、LCD显示器、三极管等部件。初始化结束后,系统开始读区热电偶传感器数据,通过显示器程序输出温度值,接着系统开始根据事先设定的温度阀值判断实时温度是否处于控制范围。当温度值越线时,触动报警程序发出蜂鸣声并闪烁相关指示灯。当操作人员通过按键输出温度值和控制参数时,系统将暂停程序运行,输入中断,进入菜单栏进行设置,直至接收到“确定”命令,重新执行主程序[13-15]。
图5 主程序流程图
温度监测子程序是通过K型温度传感器、放大器和数字转化器将温度值传输给单片机,经过单片机的数据处理后由LCD显示屏显示出来。LCD12864显示子程序将单片机处理过的温度值输送到相应位置循环显示。报警程序则是将实时温度值与系统设定的温度阀值进行比较,若出现越线情况,去动继电器闭合,外部蜂鸣器和LED灯开始工作。PID模糊控制算法子程序采用增量式算法,其控制规律为
式中:Kp为比例系数;Ti为积分时间常数;TD为微分时间常数。各矫正环节如下:
(1)比例环节:成比例地反映控制系统的偏差信号error(t)、error(t)、error(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越小,反之则越强。
(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
通过硬件检测和软件检测两部分来完成本系统的实现和调试工作[16-17]。硬件电路调试的具体方法如下:首先使用万能表对电路板进行仔细检查,查看是否短路或断路;电源接通后,若有芯片温度急速升高,应立刻切断电源,并检查线路合理性;为了确保系统芯片的正常工作,电源板必须具有很好的稳压性能,所以应细致地测试各电路板的输出电压,以确保其满足系统的设计需求;接着检查石英晶体的信号稳定性,是否可以提供稳定、精确的脉冲;明确系统复位对象后,确定系统的机械初始位置,查看各个对象复位是否正常;万用表直流电压档,用于测量直流电源电压和周边元件的工作电压;对 IC各个引脚接地的 DC电压进行测量,并将其与正常值进行对比,从而缩小故障区域,检查损坏的部件。