武汉理工大学《计算机控制技术》课程设计说明书
摘要
随着科学技术的迅猛发展,各个领域对温度控制系统的精度、稳定性等要求越来越高,
控制系统也千变万化。电阻炉广泛应用于各行各业, 其温度控制通常采用模拟或数字调
节仪表进行调节,但存在着某些固有的缺点。而采用单片机进行炉温控制,可大大地提高
控制质量和自动化水平, 具有良好的经济效益和推广价值。
本设计以 89C51 单片机为核心控制器件,以 ADC0809 作为 A/D 转换器件,采用闭环
直接数字控制算法,通过控制可控硅来控制热电阻,进而控制电炉温度,最终设计了一个
满足要求的电阻炉微型计算机温度控制系统。
关键字:电阻炉 89C51 单片机 温度控制 A/D 转换
1
武汉理工大学《计算机控制技术》课程设计说明书
电阻炉温度控制系统
1 系统的描述与分析
1.1 系统的介绍
该系统的被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两
端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。可控硅控制器
输入为0~5伏时对应电炉温度0~500℃,温度传感器测量值对应也为0~5伏,对象的特性为
带有纯滞后环节的一阶惯性系统,这里惯性时间常数取T1=30秒,滞后时间常数取τ=10
秒。
该系统利用单片机可以方便地实现对 PID 参数的选择与设定,实现工业过程中 PID 控
制。它采用温度传感器热电偶将检测到的实际炉温进行 A/D 转换,再送入计算机中,与设
定值进行比较,得出偏差。对此偏差按 PID 规律进行调整,得出对应的控制量来控制驱动
电路,调节电炉的加热功率,从而实现对炉温的控制。利用单片机实现温度智能控制,能
自动完成数据采集、处理、转换、并进行 PID 控制和键盘终端处理(各参数数值的修正)
及显示。在设计中应该注意,采样周期不能太短,否则会使调节过程过于频繁,这样,不
但执行机构不能反应,而且计算机的利用率也大为降低;采样周期不能太长, 否则会使
干扰无法及时消除,使调节品质下降。
1.2 技术指标
设计一个基于闭环直接数字控制算法的电阻炉温度控制系统具体化技术指标如下:
1.电阻炉温度控制在 0~500℃;
2. 加热过程中恒温控制,误差为±2℃;
3. LED 实时显示系统温度,用键盘输入温度,精度为 1℃;
4. 采用直接数字控制算法,要求误差小,平稳性好;
5. 温度超出预置温度±5℃时发出报警。
2
武汉理工大学《计算机控制技术》课程设计说明书
2 方案的比较和确定
方案一
系统采用 8031 作为系统的微处理器。温度信号由热电偶检测后转换为电信号经过预
处理(放大)送到 A/D 转换器,转换后的数字信号再送到 8031 内部进行判断或计算。从
而输出的控制信号来控制锅炉是否加热。但对于 8031 来说,其内部只有 128 个字节的 RAM,
没有程序存储器,并且系统的程序很多,要完成键盘、显示等功能就必须对 8031 进行存
储器扩展和 I/O 口扩展,并且需要容量较大的程序存储器,外扩时占用的 I/O 口较多,使
系统的设计复杂化。
方案二
系统采用 89C51 作为系统的微处理器来完成对炉温的控制和键盘显示功能。8051 片内
除了 128KB 的 RAM 外,片内又集成了 4KB 的 ROM 作为程序存储器,是一个程序不超过
4K 字节的小系统。系统程序较多时,只需要外扩一个容量较小的程序存储器,占用的 I/O
口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。
因此 89C51 可以完成设计要求。
综上所述的二种方案,该设计选用方案二比较合适。
3 控制算法
3.1 控制算法的确定
PID 调节是连续系统中技术最成熟的、应用最广泛的一种控制算方法。它结构灵活,
不仅可以用常规的 PID 调节,而且可以根据系统的要求,采用各种 PID 的变型,如 PI、PD
控制及改进的 PID 控制等。它具有许多特点,如不需要求出数学模型、控制效果好等,特
别是在微机控制系统中,对于时间常数比较大的被控制对象来说,数字 PID 完全可以代替
模拟 PID 调节器,应用更加灵活,使用性更强。所以该系统采用 PID 控制算法。系统的结
构框图如图 3-1 所示:
3
武汉理工大学《计算机控制技术》课程设计说明书
图 3-1 系统结构框图
3.2 数学模型的建立
具有一阶惯性纯滞后特性的电阻炉系统,其数学模型可表示为:
( )
G s
sKe
1
T s
1
(2-1)
在 PID 调节中,比例控制能迅速反应误差,从而减小误差,但比例控制不能消除稳态
误差, pK 的加大,会引起系统的不稳定;积分控制的作用是:只要系统存在误差,积分控
制作用就不断地积累,输出控制量以消除误差,因而,只要有足够的时间,积分控制将能
完全消除误差,积分作用太强会使系统超调加大,甚至使系统出现振荡;微分控制可以使
减小超调量,克服振荡,提高系统的稳定性,同时加快系统的动态响应速度,减小调整时
间,从而改善系统的动态性能。将 P、I、D 三种调节规律结合在一起,可以使系统既快速
敏捷,又平稳准确,只要三者强度配合适当,便可获得满意的调节效果。
模拟 PID 控制规律为:
( )
u t
[ ( )
K e t
p
1
T
I
t
0
( )
e t dt T
D
( )
de t
dt
]
(2-2)
( )
r t
( )
y t
式中: ( )
e t
称为偏差值,可作为温度调节器的输入信号,其中 ( )r t 为给定
值, ( )y t 为被测变量值; pK 为比例系数; IT 为积分时间常数; DT 为微分时间常数; ( )u t 为
调节器的输出控制电压信号。
因为计算机只能处理数字信号,故上述数字方程式必须加以变换。设采样周期为 T,
第 k 次采样得到的输入偏差为 ( )
e k ,调节器的输出为 ( )u k ,作如下近似:
( )
de t
dt
(用差分代替微分)
( )
e k
1)
(
e k
T
4
武汉理工大学《计算机控制技术》课程设计说明书
t
0
( )
e t dt
k
i
1
( )
Te i
(用求和代替积分)
这样,式(2-2)便可改写为:
( )
u k
[ ( )
K e k
p
1
T
I
k
i
1
( )
Te i
T
D
( )
e k
1)
]
(
e k
T
(2-3)
其中, ( )u k 为调节器第 k 次输出值; ( )
e k 分别为第 k 次和第 1k 次采样时
刻的偏差值。由式可知: ( )u k 是全量值输出,每次的输出值都与执行机构的位置一一对
应,所以称之为位置型 PID 算法。在这种位置型控制算法中,由于算式中存在累加项,而
e k 、 (
1)
且输出的控制量不仅与本次偏差有关,还与过去历次采样偏差有关,使得产生大幅度变化,
这样会引起系统冲击,甚至造成事故。所以在实际中当执行机构需要的不是控制量的绝对
值,而是其增量时,可采用增量型 PID 算法。当控制系统中的执行器为步进电机、电动调
节阀、多圈电位器等具有保持历史位置的功能的这类装置时,一般均采用增量型 PID 控制
算法。
与位置算法相比,增量型 PID 算法有如下优点:
(1)位置型算式每次输出与整个过程状态字有关,计算式中要用到过去偏差的累加
值 ,容易产生较大的累积计算误差;而在增量型算式中由于消去了积分项,从而可消除
调节器的积分饱和,在精度不足时,计算误差对控制量的影响较小,容易取得较好的控制
效果。
(2)为实现手动—自动无忧切换,在切换瞬时,计算机的输出值应设置为原始阀门
开度 ,若采用增量型算法,其输出对应与阀门位置的变化部分,即算式中不出现 项,所
以易于实现从手动到自动得的无忧动切换。
(3)采用增量型算法时所用的执行器本身都具有寄存作用,所以即使计算机发生故
障,执行器仍能保持在原位,不会对生产造成恶劣影响。
正因为具有上述优点,在实际控制中,增量型算法要比位置算法应用更加广泛。利用
位置型 PID 控制算法,可得到增量型 PID 控制算法的递推形式为:
p
( )
u k
[ ( )
K e k
(
e k
式中, pK 为比例增益; I
K
为了编程方便,可将式(2-4)整理成如下形式:
I
K T T
I
( )
K e k
1)]
D
K e k
[ ( ) 2 (
e k
1)
(
e k
2)]
(2-4)
p
K
为积分系数; D
K T T
p D
为微分系数。
( )
u k
( )
q e k
0
(
q e k
1
1)
(
q e k
2
2)
(2-5)
5
武汉理工大学《计算机控制技术》课程设计说明书
式中:
q
0
K
p
(1
T
T
I
T
)D
T
q
1
K
p
(1 2
T
)D
T
q
2
K
p
T
D
T
4 系统软硬件设计
4.1 总体设计
系统的硬件包括微控制器部分(主机)、温度检测、温度控制、人机对话(键盘/显示/
报警)4 个主要部分,系统的结构框图如图 4-1 所示。
系统程序采用模块化设计方法,程序有主程序、中断服务子程序和各功能模块程序组
成,各功能模块可直接调用。
报警电路
光耦驱动电路
可控硅控制器
电阻炉
按键控制
单片机
显示电路
A/D转换器
温度传感器
图 4-1 系统结构框图
该部分电路主要包括 89C51 主程序的工作情况,主程序完成系统的初始化,温度预置
及其合法性检测。预置温度的显示及定时器 T0 的初始化设置等。T0 中断服务程序是温度
控制体系的主体,用于温度检测、控制和报警。主程序和中断服务子程序的流程图如图 4-2
所示。
6
武汉理工大学《计算机控制技术》课程设计说明书
主程序如下:
TEMP1
TEMP2
ST1
ST2
T100
T10
T
BT1
BT2
ADIN0
F0
TEMP1
00H
EQU 50H
EQU TEMQ1+1
EQU 52H
EQU 53H
EQU 54H
EQU T100+1
EQU T100+2
EQU 57H
EQU BT1+1
EQU 7FF8H
BIT PSW.5
;当前检测温度(高位)
;当前检测温度(低位)
;预置温度(高位)
;预置温度(低位)
;温度 BCD 码显示缓冲区(百位)
;温度 BCD 码显示缓冲区(十位)
;温度 BCD 码显示缓冲区(个位)
;温度二进制码显示缓冲区(高位)
;温度二进制码显示缓冲区(低位)
;ADC 0809 通道 IN0 的端口地址
;报警允许标志
00H , 00H , 00H , 00H , 00H , 00H , 00H , 00H ,
DB
;50H~58H 单元初始化(清零)
ORG 0000H
AJMP MAIN
ORG 00BH
AJMP PT0
ORG 0030H
MAIN: MOV SP,#59H
CLR F0
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#3CH
MOV R7,#150
SETB ET0
SETB EA
SETB TRO
;转主程序
;转 T0 中断服务子程序
;设堆栈标志
;报警标志清零
;定时器 0 初始化(方式 1)
;定时器 100ms 定时常数
;置 15s 软计数器初值
;允许定时器 0 中断
;开中断
;启动定时器 0
MAIN1:ACALL KIN
;调键盘管理子程序
7
武汉理工大学《计算机控制技术》课程设计说明书
;调用显示子程序
ACALL DISP
SJMP MAIN1
定时器 0 中断服务子程序 PT0:
PT0: MOV TL0,#0BOH
MOV TH0,#3CH
DJNZ R7,BACK
MOV R7,#150
ACALL TIN
MOV BT1,TEMP1
MOV BT0,TEMP0
ACALL DISP
ACALL CONT
ACALL ALARM
;重置定时器 0 初值
;15s 到否,不到返回
;重置软计数器初值
;温度检测
;当前温度送到显示缓冲区
;显示当前温度
;温度控制
;温度越限报警
BACK:RETI
8