基于单片机的温度控制系统设计

  • 格式:doc
  • 大小:497.50 KB
  • 文档页数:23

目录一引言 (1)二系统方案 (2)1水温控制系统设计任务和要求 (2)2水温控制系统部分 (2)(1)CPU中央处理器 (2)(2)温度控制系统算法分析 (3)(3)控制方式 (4)三系统硬件设计 (4)1总体设计框图及说明 (4)2外部电路设计 (5)(1)温度采集电路 (5)(2)温度控制电路 (5)3 单片机系统电路设计 (6)(1)系统框图 (6)(2)A/D转换电路 (7)(3)键盘设置电路 (8)(4)数码显示电路 (8)四系统软件设计 (8)1 程序框架结构 (8)2 程序流程图及部分程序 (9)(1)主程序模块 (9)(2)系统初始化 (10)(3)按键程序 (10)(4)A/D采样数据处理 (10)(5)PID计算 (11)(6)继电器控制 (12)(7)单片机最小系统 (12)五系统安装调试与测试 (13)结论 (14)参考文献 (14)附件1(程序代码) (15)附件2(电路原理图) (21)基于单片机的水温控制系统【摘要】温度是工业控制对象主要被控参数之一,在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。

为了实现高精度的水温测量和控制,本文介绍了一种以Atmel公司的低功耗高性能CMOS单片机为核心,以PID算法控制以及PID 参数整定相结合的控制方法来实现的水温控制系统,其硬件电路还包括温度采集、温度控制、温度显示、键盘输入以及RS232接口等电路。

该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。

【关键词】AT89C51;温度控制;PT1000;PID一引言目前,温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。

现在,我国在这方面总体技术水平处于20世纪80年代中后期水平。

成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。

随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。

本文主要介绍单片机温度控制系统的设计过程,其中涉及系统结构设计、元器件的选取和控制算法的选择、程序的调试和系统参数的整定。

以AT89C51为CPU,温度信号由PT1000和电压放大电路提供。

电压放大电路用超低温漂移高精度运算放大器OP07将温度--电压信号进行放大,用单片机控制SSR固态继电器的通断时间以控制水温,系统控制对象为1升净水,容器为搪瓷器皿。

水温可以在环境温度降低时实现自动控制,以保持设定的温度基本不变,具有较好的快速性与较小的超调。

二系统方案1.水温控制系统设计任务和要求设计一个水温自动控制系统,控制对象为1升净水,水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变,系统设计具体要求:温度设定范围为40℃,目标温度的±5℃;加热棒功率2KW,控制器为继电器;用十进制数码管显示水的实际温度。

2.水温控制系统部分水温控制系统是一个过程控制系统,组成框图如图1所示,由控制器、执行器、被控对象其反馈作用的测量变送组成。

图1 控制系统框图(1) CPU中央处理器方案一:采用8031作为控制核心,使用最为普遍的器件ADC0804作模数转换,控制上使用对加热棒加电对水槽里的水升温。

此方案简易可行,器件价格便宜,但8031内部没有程序存储器需扩展,增加了电路的复杂性。

方案二:此方案采用8951单片机实现,可用编程实现各种控制算法和逻辑控制。

进行数据转换,控制电路部分采用SSR固态继电器控制加热棒的通断,此方案电路简单并且可以满足题目中的各项要求的精度。

比较两个方案可知,采用Atmel单片机来实现本题目,不管是从结构上,还是从工作量上都占有很大的优势,所以最后决定使用AT89C51作为该控制系统的核心。

根据温度变化慢,并且控制精度不易掌握的特点,设计了水箱温度自动控制系统,总体框图如图2所示。

温度控制采用改进的PID 数字控制算法,显示采用3位LED静态显示。

图2 控制器设计总体框图(2) 温度控制系统算法分析系统算法控制采用工业上常用的位置型PID 数字控制,并且结合特定的系统加以算法的改进,形成了变速积分PID —积分分离PID 控制相结合的自动识别的控制算法。

该方法不仅大大减小了超调量,而且有效地克服了积分饱和的影响,使控制精度大大提高。

PID 控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。

PID 调节器有三个可设定参数,即比例放大系数p K 、积分时间常数i K 、微分时间常数d K 。

比例调节的作用是使调节过程趋于稳定,但会产生稳态误差;积分作用可消除被调量的稳态误差,但可能会使系统振荡甚至使系统不稳定;微分作用能有效的减小动态偏差。

如图3所示。

图3 比例积分微分控制由图4可知PID 调节器是一种线性调节器,这种调节器是将设定值w 与实际输出值y 进行比较构成偏差e=w-y 。

并将其比例、积分、微分通过线性组合构成控制量。

其动态方程为: t ydt t de K dt t e K t e K t u d i p )()()()(⎰++= (其中Kp 为比例放大系数;Ki 为积分时间常数;Kd 为微分时间常数)PID 调节器的离散化表达式为;)]1()([)()()(--++=k e k e T K k Te K k e K k u d i p 其增量表达形式为(T 为采样周期):)1()()(--=∆k u k u k u)]2()1(2)([/)()]1()([-+--++--=k e k e k e T K k Te K k e k e K d i p图4 模拟PID 控制3. 控制方式该控制系统是把输出量检测出来,经过物理量的转换,再反馈到输入端去与给定量进行比较(综合),并利用控制器形成的控制信号通过执行机构SSR对控制对象进行控制,抑制内部或外部扰动对输出量的影响,减小输出量的误差,达到控制目的。

在此控制系统中单片机就相当于常规控制系统中的运算器控制器,它对过程变量的实测值和设定位之间的误差信号进行运算然后给出控制信息,单片机的运算规则称为控制法则或控制算法。

三 系统硬件设计1. 总体设计框图及说明本系统是一个简单的单回路控制系统,总体框图如图2所示。

单片机系统是整个控制系统的核心,AT89C51可以提供系统控制所需的I/O口、中断、定时及存放中间结果的RAM 电路;前向通道是信息采集的通道,主要包括传感器、信号放大、A/D 转换等电路;由于水温变化是一个相对缓慢的过程,因此前向通道中没有使用采样保持电路;信号的滤波可由软件实现,以简化硬件、降低硬件成本。

键盘设定:用于温度设定,共三个按键。

数据采样:将由传感器及相关电路采集到的温度转为电压信号,经A/D 转换后,送入AT89C51相应接口中,换算成温度值,用于控制和显示。

数据显示:采用了共阴极数码管LED 进行显示设置温度与测量温度。

继电器/加热棒:通过三极管控制继电器的开关来完成对加热棒的控制。

2. 外部电路设计(1) 温度采集电路采用温度传感器铂电阻Pt1000,对于温度的精密测量而言,温度测量部分是整个系统设计的第一步。

温度传感器的选择是这块电路的关键,它是直接影响整个系统的性能与效果的关键因素之一。

这里采用的是精密级铂电阻温度传感器Pt1000,它的金属铂含量达99. 9999%,因为铂电阻的物理和化学性能在高温和氧化介质中很稳定、价格又便宜,常用作工业测量元件,以铂电阻温度计作基准器线性好,温度系数分散性小,在0~100摄氏度时,最大非线性偏差小于0.5摄氏度,性能稳定,广泛用于精密温度测量和标定。

铂热电阻与温度关系式)1(20Bt At R R t ++=,其中:t R --温度为t 摄氏度时的电阻; 0R --温度为0摄氏度时的电阻;A 、B--温度系数 A=3.94*102/℃;其中B=-)(710*84.5-/℃;T--任意温度。

(2) 温度控制电路此部分通过控制继电器的通断从而控制加热棒,采用对加在加热棒两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而达到对水温控制的目的,即在闭环控制系统中对被控对象实施控制。

此部分的继电器采用的是SSR 继电器,即固态继电器,主要由输入(控制)电路,驱动电路和输出(负载)电路三部分组成。

固态继电器的输入电路是为输入控制信号提供一个回路,使之成为固态继电器的触发信号源。

固态继电器的输出电路是在触发信号的控制下,实现固态继电器的通断切换。

输出电路主要由输出器件(芯片)和起瞬态抑制作用的吸收回路组成,固态继电器(SSR )是一种全电子电路组合的元件,它依靠半导体器件和电子元件的电、磁和光特性来完成其隔离和继电切换功能。

图5是它的工作原理框图,图11中的部件①-④构成交流SSR的主体,从整体上看,SSR只有两个输入端(A和B)及两个输出端(C和D),是一种四端器件。

工作时只要在A、B上加上一定的控制信号,就可以控制C、D两端之间的“通”和“断”,实现“开关”的功能。

图5 SSR结构图由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。

为使其实现过零控制,就是要实现工频电压的过零检测,并给出脉冲信号,由单片机控制可控硅过零脉冲数目。

当在其输入端加入控制信号时,输出端接通,从而使得加热棒加热以致温度上升;当此时撤离控制信号时,输出端断开,而使加热棒停止加热从而温度下降。

图6 加热棒控制电路3.单片机系统电路设计(1)系统框图图7 系统框图(2)A/D 转换电路ADC0804是CMOS 集成工艺制成的逐次比较型A/D 转换器芯片。

分辨率为8位,转换时间为100μs ,输出电压范围为0~5V ,增加某些外部电路后,输入模拟电压可为±5V 。

该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接到CPU 的数据总线上,无需附加逻辑接口电路。

1234567891011121314151617181920CS RD WR CLKIN INTR AGND DGND V CLKR D D D D D D D D IN+IN-R EF/2V V V C C 01234567ADC0804100μs 输出高阻CS RD WR INTR 读数数据图8 ADC0804引脚图 图9 ADC0804控制信号的时序图采集数据时,首先微处理器执行一条传送指令,在指令执行过程中,微处理器在控制总线的同时产生CS1、WR1低电平信号,启动A/D 转换器工作,ADC0804经100μS 后将输入模拟信号转换为数字信号存于输出锁存器,并在INTR 端产生低电平表示转换结束,并通知微处理器可来取数。