您的位置:首页单片机51单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

电热锅炉温度控制器的设计

[日期:2008-01-30 ] [来源:网络 作者:佚名] [字体: (投递新闻)
摘要】本文介绍了以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相连,采用外部中断方式,并且优先级定为最高;按键an5an4分别与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. 电热锅炉温度控制器的设计

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算法。

在此只给出本算法的控制结果曲线(见下图9)。电热锅炉温度控制器的设计

 

阅读:
录入:petta

推荐 】 【 打印
本文评论
      全部评论
     于16日评论道: 查看全部评论  
为什么不写程序呢 ?
     于16日评论道: 查看全部评论  
程序呢 ?大哥
发表评论


点评: 字数
姓名:
站长推荐