logo资料库

温度控制器毕业设计(完整版附图源程序).doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
电热锅炉温度控制器的设计 【摘要】 本文介绍了以 AT89S51 单片机为核心的温度控制器的设计,在该设计中采用高精度的温度传感器 AD590 对电热锅炉的温度进行实时精确测量,用超低温漂移高精度运算放大器 OP07 将温度-电压信号进行放 大,再送入 12 位的 AD574A 进行 A\D 转换,从而实现自动检测,实时显示及越限报警。控制部分采用 PID 算法, 实时更新 PWM 控制输出参数,控制可控硅的通断时间,最终实现对炉温的高精度控制。 【关键词】 水温控制系统 PID 控制单片机 温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质 量,因而设计一种较为理想的温度控制系统是非常有价值的。 一 系统设计方案的论证与比较 根据题目要求,电热锅炉温度控制系统由核心处理模块、温度采集模块、键盘显示模块、及控制执行模块等 组成。 方案一 采用 8031 作为控制核心,以使用最为普遍的器件 ADC0809 作模数转换,控制上使用对电阻丝加 电使其升温和开动风扇使其降温。此方案简易可行,器件的价格便宜,但 8031 内部没有程序存储器,需要扩 展,增加了电路的复杂性,且 ADC0809 是 8 位的模数转换,不能满足本题目的精度要求。 方案二 采用比较流行的 AT89S51 作为电路的控制核心,使用 12 位的高精度模数转换器 AD574A 进行数 据转换,控制电路部分采用 PWM 控制可控硅的通断以实行对锅炉温度的连续控制,此方案电路简单并且可以 满足题目中的各项要求的精度。 综上分析,我们采用方案二。系统设计总体框图如下。 图 1 控制器设计总体框图
根据温度变化慢,并且控制精度不易掌握的特点,我们设计了以 AT89S51 单片机为检测控制中心的电热锅炉 温度自动控制系统。温度控制采用改进的 PID 数字控制算法,显示采用 3 位 LED 静态显示。该设计结构简单, 控制算法新颖,控制精度高,有较强的通用性。所设计的控制系统有以下功能: · 温度控制设定波动范围小于±1%,测量精度小于±1%,控制精度小于±2%,超调整量小于±4%; · 实现控制可以升温也可以降温; · 实时显示当前温度值; · 按键控制:设置复位键、运行键、功能转换键、加一键、减一键; · 越限报警。 二 硬件电路设计 硬件电路主要有两大部分组成:模拟部分和数字部分:从功能模块上来分有:主机电路、数据采集电路、 键盘显示电路、控制执行电路。 1 主机电路的设计 主机选用 ATMEL 公司的 51 系列单片机 AT89S51 来实现,利用单片机软件编程灵活、自由度大的特点,力求用 软件完善各种控制算法和逻辑控制。本系统选用的 AT89S51 芯片时钟可达 12MHz,运算速度快,控制功能完 善。其内部具有 128 字节 RAM,而且内部含有 4KB 的 flash ROM 不需要外扩展存储器,可使系统整体结构更 为简单、实用。 2 I/0 通道的硬件电路的设计 就本系统来说,需要实时采集水温数据,然后经过 A/D 转换为数字信号,送入单片机中的特定单元,然后一 部分送去显示;另一部分与设定值进行比较,通过 PID 算法得到控制量并经由单片机输出去控制电热锅炉加 热或降温。 2.1 数据采集电路的设计 数据采集电路主要由 AD590, 0P07,74LS373,AD574A 等组成。由于控制精度要求为 0.1 度,而考虑到测量干 扰和数据处理误差,则温度传感器和 AD 转化器的精度应更高才能保证控制精度的实现,这个精度可处粗略 定为 0.1 度。故温度传感器需要能够区分 0.1 度;而对于 AD 转换器,由于测量范围为 40-90 度,以 0.1 度 作为响应的 AD 区分度要求,则 AD 需要区分(90-40)/0.1=500 个数字量,显然需要 10 位以上的 AD 转换器。 为此,选用高精度的 12 位 AD574A。 为了达到测量高精度的要求,选用温度传感器 AD590,AD590 具有较高精度和重复性(重复性优于 0.1℃,其 良好的非线形可以保证优于 0.1℃ 的测量精度,利用其重复性较好的特点,通过非线形补偿,可以达到
0.1℃测量精度.)超低温漂移高精度运算放大器 0P07 将温度一电压信号进行放大,便于 A/D 进行转换,以提 高温度采集电路的可靠性。模拟电路硬件部分见图 2。 图 2 温度电压转换电路 2.2 电控制执行电路的设计 由输出来控制电炉,电炉可以近似建立为具有滞后性质的一阶惯性环节数学模型。其传递函数形式为: 可控硅可以认为是线形环节实现对水温的控制。单片机输出与电炉功率分别属于弱电与强电部分,需要进行 隔离处理,这里采用光耦元件 TLP521 在控制部分进行光电隔离,此外采用变压器隔离实现弱强电的电源隔 离。 单片机 PWM 输出电平为 0 时,光耦元件导通,从而使三极管形成有效偏置而导通,通过整流桥的电压经过集 电极电阻以及射集反向偏压,有 7V 左右的电压加在双向可控硅控制端,从而使可控硅导通,交流通路形成, 电阻炉工作;反之单片机输出电平为 0 时,光耦元件不能导通,三极管不能形成有效偏置而截止,可控硅控制 端电压几乎为零,可控硅截止从而截断交流通路,电炉停止工作。此外,还有越限报警,当温度低于下限时发
光二极管亮;高上限时蜂鸣器叫。控制执行部分的硬件电路如下图。 图 3 控制执行部分电路 3 键盘及显示的设计 键盘采用软件查询和外部中断相结合的方法来设计,低电平有效。图 3 中按键 AN1,AN2,AN3,AN4, AN5 的功 能定义如表 1 所示。 按键 AN3 与 P3.2 相连,采用外部中断方式,并且优先级定为最高;按键 AN5 和 AN4 分别与 P1.7 和 P1.6 相连, 采用软件查询的方式;AN1 则为硬件复位键,与 R、C 构成复位电路。 表 1 按键功能 按键 AN1 AN2 AN3 AN4 AN5 键名 复位键 运行键 功能转换键 加一键 减一键 功能 使系统复位 使系统开始数据采集 按键按下(D1 亮)时,显示温度 设定值;按键升起(D1 不亮)时, 显示前温度值 设定温度渐次加一 设定温度渐次减一
显示采用 3 位共阳 LED 静态显示方式,显示内容有温度值的十位、个位及小数点后一位,这样可以只用 P3.0(RXD)口来输出显示数据,从而节省了单片机端口资源,在 P1.4 口和 P3.1(TXD)的控制下通过 74LS164 来实现 3 位静态显示。数字电路硬件部分见图 4. 图 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。 图 5 主程序流程图 图 6 键盘及中断程序图 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 算法; e(k) <ε使用变速积分 PID 算法。
分享到:
收藏