编辑: wtshxd | 2014-04-09 |
4 篇. 计算机应用 石油化工自动化,2000 ,
4 :
52 AUTOMATION IN PETRO2CHEMICAL INDUSTRY ? 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved. ADC0809 为温度测量电路输入接口 ,在P2.
5 =
0 和WR =
0 时,8031 可使 ALE 和START 变为高电 平而启动 ADC0809 工作 ;
在P2.
5 =
0 和RD =
0 时,8031 可以从 ADC0809 接收 A/ D 转换后的数字量 , 所得 ADC0809 的地址范围为 DFF8 H~ DFFFH. P1. 0~P1. 2引脚用于报警.另外 ,利用
8031 的键盘 和LED 显示子程序作为温度控制的键盘和显示使 用 ,大大地简化了接口电路. 1.
3 温度控制电路
8031 对温度的控制是通过可控硅调节器实现 的.双向可控硅管和加热电炉串联在 220V ,50Hz 交流电回路.在给定周期 T 内,8031 只要改变可 控硅管的接通时间便可以改变加热炉功率 ,以达到 调节温度的目的.可控硅接通时间可以通过可控 硅控制极上触发脉冲控制.该触发脉冲由
8031 用 软件在 P1. 3引脚上产生.受过零同步脉冲同步后 , 经光耦合管和驱动器输出送到可控硅的控制极上. 过零同步脉冲是一种 50Hz 交流电压过零时刻 的脉冲 ,可使可控硅在交流电压正弦波过零时触发 通电.另一方面还作为计数脉冲加到
8031 的T0 端和 T1 端.硬件电路略.
2 温度控制的算法和软件设计程序 2.
1 温度控制的算法 电阻炉炉温控制采用偏差控制法 ,又称为 PID 控制.PID 控制的理想微分方程为 : U ( t) = KP e ( t) +
1 Ti ∫ t
0 e ( t) d t + Td de ( t) d t (1) e ( t) = r( t) - y ( t) 称为偏差值 ,作为温度调 节器的输入信号. 式中 r( t) ― ― ― 给定量;
y ( t) ― ― ― 被测变量;
KP ― ― ― 比例系数 ;
Ti ― ― ― 积分时间常数;
Td ― ― ― 微分时间常数;
U ( t) ― ― ― 调节量. 设温度的采样周期为 T , 第n次采样得到的 输入偏差为 en ,调节量为 Un ,则有 : de ( t) d t = en - en -
1 T ( 微分用差分代替) ∫ t
0 e ( t) d t = ∑ n k =
0 ek T (积分用求和代替) 这样 ,式(1) 便可改写为 : Un = Kp en +
1 Ti ∑ n k =
0 ek T + Td en - en -
1 T (2) 写成递推形式为 : Un = Kp en - en -
1 + T Ti en + Td T ( en - 2en -
1 + en - 2) + en -
1 +
1 Ti ∑ n -
1 k =
0 ek T + Td en -
1 - en -
2 T = Un -
1 + Kp en - en -
1 + T Ti en + Td T ( en -
2 en -
1 + en - 2) 改写成 : U ( n) = U ( n - 1) + Kp E( n) - E( n - 1) + KI E( n) + KD E( n) -
2 E( n - 1) + E( n - 2) = U ( n - 1) + PP + PI + PD (3) 2.
2 温度控制程序 1) 主程序流程框图见图
2 所示. 图2主程序流程框图 2) 定时器 T0 中断服务程序和 T1 中断服务程 序见图
3 ,图4所示. 图3T1 中断服务程序 T0 中断服务程序是温度控制系统的主体程 序.用于启动 A/ D 转换 ,读入采样数据 ,数字滤 波 ,越限温度报警和越限处理 ,PID 计算和输出可 控硅的同步触发脉冲等.P1. 3引脚上输出的该同步 触发脉冲宽度由 T1 计数器的溢出中断控制 ,8031 利用等待 T1 溢出中断空隙时间完成把本次采样值 转换成显示值而放入显示缓冲区和调用温度显示 程序.8031 从T1 中断服务程序返回后便可恢复现 场和返回主程序 ,以等待下次 T0 中断. 3) PID 计算程序 ,由式(3) 可以改写成 :
3 5 第4期刘昭斌
1 利用单片机实现温度智能控制 ? 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved. 图4T0 中断服务程序流程图 P( k) = P( k - 1) + KP[ E( k) - E( k - 1) ] + KI E( k) + KD[ E( k) -