APP下载

电阻炉温度控制系统设计

2021-05-08朱露洁唐海波

中国新技术新产品 2021年4期
关键词:电阻炉隔离器子程序

朱露洁 唐海波

(湖南科技大学,湖南 湘潭 411201)

0 引言

在高度自动化的时代,自动调节温度系统得到了广泛的应用。电阻炉可以适用于家电、食品、汽车、材料以及电力电子等行业。随着现代科技的发展,温度测量控制技术的重要性也更加明显。在使用电阻炉生产产品的过程中,准确地测量和控制温度能够提高生产效率、节约资源,并且极大地影响了产品的质量。因此,精度、稳定且可靠地控制电阻炉的温度是非常有必要的。以前人们只能够应用模拟调节器去控制温度,但是用该方法控制温度会出现延时大、系统震荡的问题。现如今,利用单片机可以很方便地解决该问题,同时单片机还具有智能化和自动化程度高、编程灵活以及扩展性好等优点。

因此,该文设计了1个自动化温度控制设备,它是以单片机AT89C51为中心,通过传感器来检测温度。利用PID控制、PWM脉冲调制反馈系统,自动实现高精度、及时的温度控制。同时,设计的温度报警电路能够及时监测工厂电阻炉的运行状况,最大限度地消除安全隐患。

1 硬件设计

1.1 系统硬件设计方案

该设计的核心处理器为AT89C51,其他组成部分有温度传感器模块、温度控制模块、数据处理模块、温度显示模块以及键盘调节模块。该设计的核心部件为中央处理器,主要负责处理数据、控制温度控制模块、控制显示模块和控制报警模块等。中央处理器有很多选择,经过比较,该文的设计方案采用AT89C51单片机作为中央处理器。

1.2 单片复位电路与机时钟电路的设计

1.2.1 复位电路设计

当系统出现故障处于死锁状态时,可以按下按键,从而重新启动电路。

1.2.2 时钟电路设计

时钟电路晶振频率的大小会直接影响单片机的运行速度和质量。该设计采用内部震荡的方式,选择微调电容为100 pF、频率为12 MHz的晶振,使电路简单且符合实际要求。

1.3 温度采样电路的设计与选择

温度采样电路的设计与选择有以下2种方法:1)选择温度传感器DS18B20,它能够把模拟信号转换为数字信号,不占空间且测量的准确性较高,能够适用于多种场合,使用起来非常方便[1]。2) 由于该系统设置的特殊性,还可以通过对加热器输出的温度模拟信号进行模数转换,从而获得数字的温度信息。该文选择了第二种方法,采用数模转换器MCP3204,MCP3204的功耗非常低、工作方式灵活且性价比高[2]。

1.4 人机交互电路

随着科技的发展,在高度自动化的时代,人机交互在生活中随处可见。外设是构成人机交互系统配置的主要部分。它的实现方法有以下2种:1) 通过单片机的I/O端口驱动芯片来实现,单片机没有液晶显示LCD的驱动功能。2) 单片机本身具有驱动的功能,能够直接控制键盘和LCD,还可以实现人机对话[3]。

1.4.1 按键接口电路设计

温度的设定值以及控制参数的数值都是由按键来调节的,按键是现阶段电子设计中最常用、最实用的输入设备。单片机通过读取I/O口的状态来判断按键是否按下,一般来说有扫描法、线翻转法、中断法等。键盘可以实现人机对话,还可以通过输入命令实现输入数据的功能。在该设计中,采用独立式键盘结构,设计了4个按键:1) 第一个按键,设定的温度值加1。2) 第二个按键,设定的温度值减。3) 第三个按键,设定的控制参数P加1。4) 第四个按键,设定的控制参数P减1。

1.4.2 显示电路设计

显示电路选用LCD1602,但是在Proteus仿真中没有LCD1602,只能找对应的LM016L,实际上LM016L与LCD1602的原理是相同的,并且利用上拉电阻使P0口的电压增大,从而驱动LCD。

1.4.3 报警电路的设计

因为电阻炉的温度是决定电子元件制成品质的重要因素,温度不合适就会影响元件的品质;所以设置报警电路,当|T实际值-T设定值|≥3 ℃时(为电阻炉当前的温度;为预设的电阻炉的温度),报警电路开始工作,蜂鸣器开始鸣响,警示灯开始闪烁。

1.4.4 控制电路的设计

该设计对电阻炉的温度控制实际上是对电阻炉输入功率大小的调控;因此采用光耦隔离器,光耦隔离相当于把2个电路分开,利用光耦隔离器发光的一端来控制另一端电流的大小。

1.4.5 光耦隔离器非线性消除问题

该设计利用2个光耦隔离器去消除它原本的非线性。用α1(I1)和α2(I1)分别表示2个光耦隔离器的非线性传输特性,I1是流过光电耦合器中二极管的电流。如果它们是由同一个厂家生产的,那么就可以认为它们的非线性传输特性完全相同,即:α1(I1)=α2(I1)。

则放大器的电压增益G,如公式(1)所示。

式中:U0为输出电压;Ui为输入电压;I2和I3分别为流过2个光耦隔离器中三极管集电极的电流;R2和R3为接在2个三极管发射极的电阻。

综上所述,可以利用电流传输特性的对称性和反馈原理消除光电耦合器的非线性[4]。

2 软件设计

该部分采用Keil uVision5集成编译环境和C语言来对系统软件进行设计。该设计完成了对温度信号的测量和控制。它需要的基本功能包括温度信号采集、A/D转换、信号处理、温度显示和数据传输。温度采集模块需要完成温度测量和A/D转换。温度采集程序需要完成初始化传感器、写命令、写数据以及读数据等。数据处理程序主要是对测量到的二进制数据进行处理,将其转变为十进制。主程序要完成初始化系统和控制电阻炉开关的工作;子程序需要完成测量炉温、输入键盘、显示LCD、控制PID和控制PWM等工作。

2.1 LM016L显示模块程序

与七段数码管相比,液晶屏LM016L可以把测量值、设定值、文字以及PID的参数都显示到屏幕上,使工作人员更直观地观测到所需要的信息。但是LM016L的编程复杂,LM016L进行初始化的流程如下:1) 先延时,写0X38命令字。2) 再进行延时。3) 写0X0C命令字。4) 写0X06命令字。5) 写0X01命令字。6) 写0X80命令字。

2.2 键盘输入模块程序

键盘输入作为人机交互电路中的输入模块,在系统中起了很大的作用,它可以用来控制基于电阻炉的输入以及调节控制参数。键盘输入模块的流程图如图1所示。

2.3 算法控制子程序

控制子程序包括PWM技术和PID算法。PWM技术是1种脉冲宽度调制技术。利用PWM技术可以对幅值相同的脉冲的宽度进行调制,改变输出电压的大小,从而可以根据不同实际温度与目标温度的差来改变电阻炉输出的功率[5]。

PID算法是1种控制算法,其中P是指比例,I是指积分,D是指微分。温度控制系统利用测量的实际温度与初始温度值进行比较,并将它们的差作为PID控制的输入。设时间为t,e(t)为实际温度与设定温度值的偏差,则其输出温度u(t)与e(t)的关系,如公式(2)所示。

传递函数G(s),如公式(3)所示。

式中:Kp为比例系数;s为复频;Ti为积分时间常数;Td为微分时间常数;U(s)为u(t)的拉普拉斯变换;E(s)为e(t)的拉普拉斯变换。想要合理地控制温度就要合理地设置比例系数,比例系数过大或者过小都不是设置比例系数的最佳选择,比例系数偏大会导致系统调制过快,因此会产生较大的震荡,从而导致系统不稳定。比例系数过小又会使系统的调节过慢。2种选择都会使系统的性能变差。因此比例系数太大或太小都不是最佳选择,应该根据情况选择最合适的方法[6]。

图1 键盘输入模块流程图

2.4 主程序

要实现对电阻炉温度的控制,就要完成主程序元器件的初始化、定时器的初始化、调用子程序、LCD子程序、温度控制电路以及报警等工作,同时让循环在允许的范围内运转,并在恰当的时刻跳出循环。

由此可以得出主函数的程序流程如下:1) 先进行初始化。2) 启动键盘扫描程序。3) 启动AD采样子程序。4) 启动温度显示子程序。5) 检测温度是否越界,如果越界,那么报警电路开始工作;如果温度没有越界,则报警电路不工作。6) 完成PID子程序和PWM子程序,完成对温度的反馈和调控。7) 控制电路的输出电压以及控制温度的变化。

3 仿真分析

用Proteus软件仿真,仿真结果如图2所示。图2中,按键K0和电容C1组成了复位电路模块。晶振X1、电容C2和C3组成了时钟电路模块。单片机AT89C51的引脚功能如下:VCC/GND,供电电源;RST为复位;ALE为地址锁存允许/输入编程脉冲;PSEN为外部程序存储器的选通信号;EA/VPP为内部锁定为RESET或内部程序存储器/12 V电源;XTAL1为反向振荡放大器的内部时钟工作电路的输入;XTAL2为反向振荡器的输出。

数字温度传感器DS18B20、液晶显示器LCD1602和排阻RP1构成了温度检测和显示电路,能够检测电路温度值,并可以直观地读出温度值。因此,在LCD1602上可以看见以下3个数值:1) 设定的默认温度为100 ℃,即目标温度。2) 加热炉的初始温度为90 ℃。3) 比例系数P=35。蜂鸣器SPEAKER和LED灯组成报警电路模块,报警电路能够监测温度是否在正常范围内运行,并且可以在超出设定温度范围时报警。图2中,当温度差值超过3 ℃时,蜂鸣器开始鸣叫,警报灯开始闪烁。当电阻炉的温度达到97 ℃时,蜂鸣器不再鸣叫,警报灯不再闪烁。2个光耦隔离器U1和U2、电阻炉Heater以及数模转换器MCP3204组成了控制电路模块,能够控制、反馈和调节电阻炉的温度。其中MCP3204的引脚功能如下:VDD为+2.7 V~5.5 V电源;AGND为模拟地;CH0-CH7为模拟输入;CLK为时钟;DIN为数据输入;DOUT为数据输出;CS/SHDN为片选 / 关断输入;VREF为电压输入。

图2 设定温度100 ℃、初值90 ℃且P=35的仿真图

在仿真中,加热炉从原本的90 ℃加热到100 ℃;在该过程中,控制电路控制电阻炉的电压,从而能够控制电阻炉的输出功率,进而使电阻炉的温度得到控制。当电阻炉的温度为100 ℃时,电阻炉停止加热,经过多次仿真,得到的最终的电阻炉温度会控制在99.09 ℃~100.01 ℃,精度为0.01 ℃;多次仿真发现,从99 ℃~100 ℃大约只需要10 s。4个按键K1~K4组成键盘输入模块,能够设置预设温度以及调控速度。如果将比例系数调大,可以使电阻炉更快地升温。

4 结论

该温度控制系统是以单片机为核心,应用PID算法和PWM技术对电阻炉温度进行调控,可以通过按键来设定需要的温度值,可以通过LCD来显示温度值和其他参量,它还具有1个报警电路,该系统的功能比较完善。该设计具有性价比高、体积小、抗干扰能力强、制作简单以及精度高等优势,且能够人为调节参数,符合工业生产中对人性化的要求。

猜你喜欢

电阻炉隔离器子程序
电阻炉温度智能控制系统优化
基于AT89C52单片机的电阻炉温控系统设计研究
基于热电偶实现精确校验电阻炉设计的思考
浅谈无菌检查用隔离器
箱式电阻炉校准方法中存在的问题及解决方法
浅谈鸡负压隔离器的安装及使用
一种实验动物新型隔离器系统的研制
基于石墨烯的隔离器理论设计与分析
子程序在数控车加工槽中的应用探索
简化编程与子程序嵌套的应用