温度控制的PID算法的C语言程序 - 图文(6)

2019-04-14 22:56

图3 中按键AN1,AN2,AN3,AN4, AN5 键盘采用软件查询和外部中断相结合的方法来设计,低电平有效。的功能定义如表1所示。

按键AN3与P3.2相连,采用外部中断方式,并且优先级定为最高;按键AN5和AN4分别与P1.7和P1.6相连,采用软件查询的方式;AN1则为硬件复位键,与R、C构成复位电路。

表1 按键功能

按键 AN1 AN2 AN3 键名 复位键 运行键 功能转换键 功能 使系统复位 使系统开始数据采集 按键按下(D1亮)时,显示温度设定值;按键升起(D1不亮)时,显示前温度值 AN4 AN5 加一键 减一键 设定温度渐次加一 设定温度渐次减一 显示采用3位共阳LED静态显示方式,显示内容有温度值的十位、个位及小数点后一位,这样可以只用P3.0(RXD)口来输出显示数据,从而节省了单片机端口资源,在P1.4 口和P3.1(TXD)的控制下通过74LS164来实现3位静态显示。数字电路硬件部分见图:

图4 数字硬件电路示意图

三 系统软件设计

系统的软件由三大模块组成:主程序模块、功能实现模块和运算控制模块。

1 主程序模块

在主程序中首先给定PID算法的参数值,然后通过循环显示当前温度,并且设定键盘外部中断为最高优先级,以便能实时响应键盘处理;软件设定定时器T0为5秒定时,在无键盘响应时每隔5秒响应一次,以用来采集经过A/D转换的温度信号;设定定时器T1为嵌套在T0之中的定时中断,初值由PID算法子程序提供。在主程序中必须分配好每一部分子程序的起始地址,形式如下:

ORG 0000H

AJMP MAIN

ORG 0003H

AJMP INTO

ORG 000BH

AJMP TT0

ORG 001BH

AJMP TT1

主程序流程图见图5。

2 功能实现模块

以用来执行对可控硅及电炉的控制。功能实现模块主要由A/D转换子程序、中断处理子程序、键盘处理子程序、显示子程序等部分组成。

2.1 T0中断子程序

该中断是单片机内部5s定时中断,优先级设为最低,但却是最重要的子程序。在该中断响应中,单片机要完成A/D数据采集转换、数字滤波、判断是否越限、标度转换处理、继续显示当前温度、与设定值进行比较,调用PID算法子程序并输出控制信号等功能。

2.3 T1中断子程序

T1定时中断嵌套在T 中断之中,优先级高于T 中断,其定时初值由PID算法子程序提供,T1中断响应的

时间用于输出可控硅(电炉)的控制信号。

3 运算控制模块

运算控制模块涉及标度转换、PID算法、以及该算法调用到的乘法子程序等。

3.1 标度转换子程序

该子程序作用是将温度信号(00H~FFH)转换为对应的温度值,以便送显示或与设定值在相同量纲下进行比较。所用线形标度变换公式为:

式中,Ax: 实际测量的温度值;Nx:经过A/D转换的温度量;

Am =90; Ao=40; Nm =FEH; No=01H;

单片机运算采用定点数运算,并且在高温区和低温区分别用程序作矫正处理,温度计测量值与LED显示见图7。

3.2 PID算法子程序

系统算法控制采用工业上常用的位置型PID数字控制,并且结合特定的系统加以算法的改进,形成了变速积分PID一积分分离PID控制相结合的自动识别的控制算法。该方法不仅大大减小了超调量(见图9),而且有效地克服了积分饱和的影响,使控制精度大大提高。PID控制算法的流程图如图8。

图7 温度计测量值与报警方式图

图8 PID控制算法流程图

图9中,初始水温为26 C。实现思想:Ui(k)为第k次采样温度值,Ur 为设定值。

e(k) ≥ε 使用PD算法;


温度控制的PID算法的C语言程序 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:集输工高级工理论题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: