APP下载

基于AT89C52单片机的电阻炉温控系统设计研究

2023-05-06于天成

工业加热 2023年3期
关键词:电阻炉热电偶控制算法

于天成

(中国人民解放军91550部队 42分队,辽宁 大连 116023)

随着现代科技的飞速发展,温度测量控制技术的重要性得到凸显。电阻炉在高度自动化时代得到了广泛应用,其温度控制效果可直接决定产品的生产效率与质量。为实现电阻炉工作效率的提高,在使用电阻炉过程中,需要精准测量和控制温度。传统电阻炉温度控制主要采用模拟调节器进行实现,但该方法存在延时大、系统振荡等问题,无法保证温度的控制精度。为解决该问题,本研究采用单片机作为核心设备,设计出电阻炉温度控制系统,有利于提高电阻炉的智能化和自动化程度,最大限度地消除安全隐患。

1 基于单片机的电阻炉控制系统设计原理

电阻炉控制系统的设计原理为:首先,利用温度传感器K型热电偶对电阻炉内部温度数据进行采集;其次,将采集成功的温度模拟信号传输至MAX6675芯片中,利用该芯片将信号转换成数字温度信号;最后将信号数据传输至AT89C52单片机中,数据结果在LCD显示屏上显示。电阻炉控制系统工作原理如图1所示。

图1 电阻炉控制系统工作原理图

电阻炉控制系统在运行过程中,可利用键盘对电阻炉的温度数据进行设置,单片机可采用对比运算的方式比较电阻炉实际温度和预设温度,再通过数字PID控制算法对PWM方波的输出宽度进行控制。为实现电热丝加热功率的有效调节,可精准控制双向晶闸管的导通与关断,有利于快速提高电阻炉的温度,使电阻炉温度处于恒定不变的状态。当电阻炉温度超过系统设定的温度数值时,系统可自动采取报警模式,提供工作人员对电阻炉的运行状态进行查看[1]。

2 基于单片机的电阻炉控制系统硬件设计

本研究对电阻炉控制系统的硬件部分进行设计时,将其划分为温度采集(传感器)模块、温度显示和键盘模块以及温度控制模块三部分。温度显示模块和键盘模块包含了温度报警功能,当电阻炉温度超过系统设定数值时,可立即采取报警模式。

2.1 温度采集模块

该模块的核心设备为K型热电偶温度传感器和K型热电偶串行模数转换器MAX6675,通过温度传感器和串行模数转换器MAX6675对电阻炉内部温度数据进行采集。MAX6675在该模块中主要负责信号转换,将热电偶的毫伏级模拟信号转换成12bit的数字信号,并对电阻炉进行冷端补偿。MAX6675转换后的数据可上传至AT89C52单片机,由AT89C52单片机的P1.0接口负责接收数据,该单片机的P1.1和P1.2口可为MAX6675提供串行时钟与片选信号[2]。

2.2 温度显示与键盘模块

温度显示模块由显示和设定两部分共同组成,显示部分的核心设备为LM016L液晶显示器,该显示器可显示字符与数字,数据在显示器中排列为2行,每行包含16个字符。设定部分主要由PLAS(加)、SUBS(减)、START(开始)三个按键共同组成,可通过键盘完成数据的输入,当电阻炉控制系统处于运行状态时,可将系统默认温度设定为30 ℃,按下PLAS按键时,可升高电阻炉温度,按下SUBS按键时,可降低电阻炉温度,按下START按键时,电阻炉开始加热。

AT89C52单片机的P0.0~P0.7口可将输出信号传输至LM016L液晶显示器的D0~D7数据总线中,当P0口作为系统的通用I/O接口时,需要在系统中增加上拉电阻,并将P3.2和P3.3分别接在键盘的两端,便于系统使用P3口的第二功能。

电阻炉控制系统将温度的上限值设定为100 ℃,当电阻炉内部温度超过100 ℃时,应立即停止加热,并向操作人员发送提示信息。温度报警装置的核心设备为蜂鸣器,该设备可有效控制电阻炉的温度,在温度超过上限值时,可通过报警的方式控制温度。将蜂鸣器的两端分别与电源和PNP三极管的发射极建立连接,三极管的基极可通过电阻与单片机的P1.3端口连接在一起,当P1.3端口处于低电平状态时,PNP三极管处于导通状态,此时蜂鸣器采取鸣音模式;当P1.3端口处于高电平状态时,PNP三极管处于关断状态,此时蜂鸣器关闭鸣音模式[3]。

2.3 温度控制模块

该模块为电阻炉控制系统的执行机构,为实现电热丝功率的精准控制,可通过光电耦合器将单片机端口输出的PWM方波转换成晶闸管的开端。当P1.7端口输出低电平时,双向晶闸管处于导通状态,此时电热丝通电,并开始加热;当P1.7端口输出高电平时,双向晶闸管处于截止状态,此时电热丝断电,并停止加热。

3 基于单片机的电阻炉控制系统控制策略

3.1 电阻炉数学模型

电阻炉具有非线性特点,将电阻炉作为控制对象时,可增大系统控制难度以及复杂性,但电阻炉自身具有自平衡能力,理想的电阻炉数学模型为

(1)

式中:K为比例增益,表示电阻炉自平衡能力的大小;T为时间常量,可代表电阻炉的惯性;τ为纯滞后常量[4]。

电阻炉在正常运行时,其内部工件的热导率、装入量以及加热温度之间存在较大差异性,易造成电阻炉模型参数的变化。因此,理想的电阻炉数学模型建立的难度较大。

3.2 模糊PID控制

PID控制是当前应用范围最广且适用性最强的控制算法,该算法可充分利用比例、积分以及微分等运算方式,将系统的期望值与实际输出数值之间存在偏差构建成控制量。PID控制算法在应用过程中存在精准的可调节参数,但理想电阻炉数学模型的建立难度较大,并且该模型的控制参数需要在一定范围内缓慢调节,当模型的控制参数超过该范围时,应立即加速调节。本研究为实现电阻炉温度的精准控制,将模糊控制与PID控制算法结合在一起,形成模糊PID控制算法,通过该算法实现电阻炉温度控制。

模糊PID控制算法的核心设备为模糊控制器,在应用该算法时,将输入信号偏差e的大小、方向以及变化趋势等特征作为主要依据,同时结合模糊化、模糊推理以及模糊决策等方式,以此实现PID比例、积分、微分参数的在线整定。模糊PID控制器是一种智能的控制系统,该控制器的结构如图2所示[5]。

图2 模糊PID控制结构

模糊PID控制器结构中E和Ec为模糊输入,kp、ki、kd均为控制器的模糊输出,分别代表的含义为比例系数、积分时间常数、微分时间常数,模糊比例系数可采用Ge、Gc表示。本研究设计模糊推理系统时,将其设置为2输入、3输出,输入指的是偏差e和偏差变化率ec,输出指的是ΔKp、ΔKi、ΔKd,3个输出分别对kp、ki、kd的数值进行调节。

4 基于单片机的电阻炉控制系统软件设计

本研究在对电阻炉控制系统的软件部分进行设计时,将K型热电偶作为核心设备,通过该设备检测电阻炉内部温度,结合加热控制软件对电阻炉的温度进行恒定控制,最终控制结果显示在LCD显示屏上,操作人员可通过键盘对电阻炉温度的增加或减少进行设定。

4.1 电阻炉控制系统主程序

该程序由系统初始化、采样温度值、扫描键盘以及显示模块等部分共同组成,电阻炉控制系统主程序流程如图3所示。

图3 电阻炉控制系统主程序流程图

主程序的工作流程为:首先,对系统内部RAM和显示功能进行初始化,若初始化后存在KEY,则需要对其进行相应的处理,若不存在KEY,则返回上一级重新判断;其次,判断确认键是否按下,若确认键被按下,则需要测量电阻炉的温度,并在LCD显示屏上显示温度数据;最后,当电阻炉温度超过系统设定的上限值时,系统可立即采取报警模式,并结束程序运行,若电阻炉温度未超过系统设定的上限值,需要对系统是否到达控制时刻进行判断,在到达控温时刻时,则可对其进行PID控制,在未到达控温时刻的情况下,应重新对电阻炉的温度进行测量[6]。

4.2 电阻炉控制系统温度采集子程序

本研究在检测电阻炉的温度数据时,采用K型热电偶作为核心设备,并利用MAX6675将温度模拟信号转换成数字信号。温度采集流程如图4所示。

图4 电阻炉控制系统温度采集流程图

电阻炉温度采集流程为:①对系统内变量进行初始化,并完成电阻炉温度数据的转换;②读取系统中含有的16位二进制温度数值,若CS置高,则需要开始新的温度转换,将其转换成对应的十进制;③读出电阻炉的温度数值。

4.3 PID控制算法子程序

本研究对该程序进行设计时,将增量式算法作为该系统的核心算法,该算法的表达式为

(2)

式中:Δui为第i-1次输出基础上的增加或减少量。可将式(2)称作增量式PID控制算式,将系统的采样周期设置为T,在时刻t=iT时完成温度数据的采集。为降低计算过程的复杂程度,对式(2)进行简化,简化后的式子可演变为

Δui=K(ei-ei-1)+KIei+KD[(ei-ei-1)-(ei-ei-2)]

(3)

由于K、TI、TD、T均为常数,则KP、KI、KD同样为常数。为求得系统偏差ei,可采用系统给定值减去经中值滤波处理后的检测值,在初值设为零的情况下,将得到的偏差结果与上次偏差ei-1相减,即可得到ei-ei-1。为计算出Δui的数值,同样将初值设为零,由上次偏差ei-1减去前次偏差ei-2,最终得到ei-1-ei-2,Δui加上ui-1即可得到ui[7]。

5 基于单片机的电阻炉控制系统仿真测试

本研究为验证电阻炉控制系统的有效性,利用Proteus软件对系统进行仿真测试。Proteus软件的仿真能力较强,将其应用于电阻炉控制系统的仿真测试中,有利于提高仿真结果的精准性。但该软件的仿真条件存在一定限制,为解决该问题,将温度采集模块中的MAX6675芯片替换成DS18B20芯片。采用DS18B20芯片实现温度数据的采集时,操作人员可利用该芯片有效完成温度的更改,LM06L液晶显示屏上第一行可显示设定值,第二行显示系统当前温度数值。为精准控制电阻炉的温度,将报警上限值设置为100 ℃,当电阻炉内部温度超过上限值时,蜂鸣器处于报警状态。设置单片机端口为高电平,并触发光电耦合器,当P1.7端口输出高电平时,电阻炉的电热丝开始加热,此时按下plus按键,电阻炉的温度设定值增加1;按下subs按键时,电阻炉的温度设定值减少1;按下start按键时,系统开始加热。系统的程序均采用Kei14平台进行编辑,在实际仿真过程中,将电阻炉的温度设定为90 ℃[8]。

通过对仿真结果进行分析可知,电阻炉温度控制系统可有效减小热电偶的滞后性,该系统测量的温度误差不超过±0.5 ℃,符合工业领域对电阻炉的控制要求。

6 结 语

本研究为实现电阻炉温度的精准控制,将AT89C52单片机作为核心设备,设计了电阻炉温度控制系统。为提高系统的控制精度,向系统内部引入PID控制算法,在该算法的计算上加入模糊控制算法,将二者充分结合,构成精度更高的模糊PID控制器。该控制器可充分融入PID控制算法与模糊控制的优势,以此实现电阻炉温度的在线整定。为验证系统的控制精度,采用Proteus软件对系统进行仿真测试,测试结果显示,系统的测量误差不超过±0.5 ℃,符合工业要求。

猜你喜欢

电阻炉热电偶控制算法
基于单片机的电阻炉控制系统设计与实现
自适应模糊PID控制的工业电阻炉温度控制系统设计与实现
基于热电偶实现精确校验电阻炉设计的思考
箱式电阻炉校准方法中存在的问题及解决方法
一种热电偶在燃烧室出口温度场的测量应用
热电偶时间常数检测分拣系统设计
基于ARM+FPGA的模块化同步控制算法研究
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
一种非圆旋转工件支撑装置控制算法
刍议热电偶测温原理和应用