温度控制系统设计报告.doc_第1页
温度控制系统设计报告.doc_第2页
温度控制系统设计报告.doc_第3页
温度控制系统设计报告.doc_第4页
温度控制系统设计报告.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

温度控制系统设计报告TEMPERATURE AUTOCONTROL SYSTEM 中国焦作 王文涛、陈志超、喻伟2009-8-8摘要本系统主要基于DS18B20和51单片机为核心来实现系统的温度自动化控制,通过使用PID算法和PWM脉宽调制实现温度的精确控制,由温度传感器返回温度值后与设定温度比较,经过单片机的处理后发出相应的控制信号使一定空间范围内的温度保持基本恒定,通过实际应用加深对系统设计和PID算法的理解,提高应用能力。关键词: PID算法 DS18B20 温度控制 51单片机Abstract: This system mainly based on DS18B20 and 51 single-chip microcomputer as the core to realize automation control system of temperature, through the use of PID algorithm and PWM pulse width modulation realize accurate temperature control of the temperature sensor, the temperature and the temperature returned after comparison, through the processing chip out the corresponding control signal after that certain space within the scope of the temperature is kept constant, through the actual application of the basic of system design and PID algorithm of understanding, improve application ability.Keyword:PID algorithm DS18B20 temperature control 51-series microcomputer设计要求:1、基本要求容器内环境温度设定范围:,最小区分度为1;当容器内环境温度降低时(例如用电风扇降温),温度控制的静态误差1;显示容器内环境的实际温度。2、发挥部分采用适当的控制方法,当设定容器内环境温度突变(由30提高到50)时,减小系统的调节时间和超调量,同时自动打印其温度随时间变化的曲线;温度控制的静态误差0.2;采用发光二极管光柱形式和数码形式显示白炽灯灯壁上的温度;其它。基本设计思路:由题目要求可知,本系统对温度控制的精度要求比较高,因此考虑使用PID控制来控制系统温度,而热源的控制采用PWM波来进行精确控制。由温度传感器来传回温度数据,由单片机处理数据并发出相应的动作,从而保证温度的恒定。89S52单片机温度信号采集电路温度控制驱动电路电热元件单片机控制部分供电加热部分供电方案论证:(1)温度传感器方案一: 采用AD590作温度传感器,AD590是一种恒流源形式的温度传感器,只要在其二端加上一定工作电压,则其输出电流随温度变化而变化,其线性电流输出为1uA/K,电流信号再由运放转换为电压信号,通过A/D转换器将输入的模拟电压量转换为数字量,并通过并行接口芯片将数字量送给计算机。具体接口电路如下:方案二: DS18B20是达拉斯公司生产的数字温度传感器,测温范围在55125,采用单总线通信微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。精度可以达到0.0625。因此由以上来看我们选用方案二18B20足以满足系统要求而且使设计更加简单可行。(2)主控芯片方案一: 51系列的8位单片机方案二: DSP、ARM等高速数据处理器本系统对主控芯片的要求不是太高,51系列单片机足以胜任,因此选用方案一51系列的AT89S52。(3)显示及键盘 方案一:八位数码管显示。 方案二:LCD1602液晶显示。由于需要显示的数据比较多,为电路设计简便起见,我们选用方案二。系统设计概要:(1)系统外形缩略图恒温箱控制器热源18B20(3)PID算法PID算法是本程序中的核心部分。我们采用PID模糊控制技术,通过Pvar、Ivar、Dvar(比例、积分、微分)三方面的结合调整形成一个模糊控制来解决惯性温度误差问题。其原理如下:本系统的温度控制器的电热元件之一是发热丝。发热丝通过电流加热时,内部温度都很高。当容器内温度升高至设定温度时,温度控制器会发出信号停止加热。但这时发热丝的温度会高于设定温度,发热丝还将会对被加热的器件进行加热,即使温度控制器发出信号停止加热,被加热器件的温度还往往继续上升几度,然后才开始下降。当下降到设定温度的下限时,温度控制器又开始发出加热的信号,开始加热,但发热丝要把温度传递到被加热器件需要一定的时候,这就要视发热丝与被加热器件之间的介质情况而定。通常开始重新加热时,温度继续下降几度。所以,传统的定点开关控制温度会有正负误差几度的现象,但这不是温度控制器本身的问题,而是整个热系统的结构性问题,使温度控制器控温产生一种惯性温度误差。增量式PID算法的输出量为 Un = Kp(en-en-1)+(T/Ti)en+(Td/T)(en-2*en-1+en-2)式中,en、en-1、en-2分别为第n次、n-1次和n-2次的偏差值,Kp、Ti、Td分别为比例系数、积分系数和微分系数,T为采样周期。计算机每隔固定时间 T将现场温度与用户设定目标温度的差值带入增量式PID算法公式,由公式输出量决定PWM方波的占空比,后续加热电路根据此PWM方波的占空比决定加热功率。现场温度与目标温度的偏差大则占空比大,加热电路的加热功率大,使温度的实测值与设定值的偏差迅速减少;反之,二者的偏差小则占空比减小,加热电路加热功率减少,直至目标值与实测值相等,达到自动控制的目的。 硬件设计1、单片机最小系统单元 主控机系统采用了Atmel 公司生产的 AT89S52单片机,它含有256 字节数据存储器,内置8K 的电可擦除FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。复位电路和晶振电路是AT89S52 工作所需的最简外围电路。单片机最小系统电路图如下图所示。单片机最小系统图 AT89S52 的复位端是一个史密特触发输入,高电平有效。RST端若由低电平上升到高电平并持续2个周期,系统将实现一次复位操作。在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接24M 晶振和两个30pF 电容组成系统的内部时钟电路。2、18B20温度传感器美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与CPU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上可以挂接多个DS18820,便于多点测量且易于扩展。由图可知,18B20只占用一个IO口,只要将传感器的第二脚接到单片机的P3.7口即可向单片机传输数据。3、键盘显示部分电路独立按键设计比起中断键盘相对简单很多,因为本系统只有两个按键,及用程序扫描键盘即可,液晶的八个数据口接P0口,三个控制端口R/S、R/W、E分别接P1.2、P1.3、P1.4。4、PWM驱动电路驱动部分主要采用IRF540N场效应管,它最大可以通过28A电流,驱动能力相当强悍,由R3的的一端接单片机I/O口,高压部分和低压部分使用用光电耦合器隔离,信号单向传输,输入端与输出端完全实现了电气隔离隔离,输出信号对输入端无影响,抗干扰能力强,工作稳定,无触点,使用寿命长,传输效率高。5、光柱部分电路光柱由74HC373来驱动,由于锁存器可以灌输较大的电流,从而可以保证LED灯的亮度,通过LE锁存端得锁存作用,可以防止灯柱因IO口电平快速变化而造成灯柱闪烁。当锁存端LE为高电平时,锁存器直通,灯柱跟随IO口的电平变化,结束后LE变回低电平锁存数据。软件设计1、系统主程序本系统的系统主程序采用C语言编写,基本流程如下: 检测系统温度向液晶输出当前温度键盘扫描响铃2S定时器0、1初始化液晶初始化是否达到设定温度PID控制输出量灯柱控制StartEND是否有按键按下温度设定值步进1是否是否主程序开始后进行各个模块初始化,启动定时器0和定时器1分别用作PWM发生器和响铃时间控制器,而后18B20开始检测系统环境温度,液晶显示函数输出当前的系统温度,接着键盘扫描函数开始扫描键盘,判断是否有按键按下,并且判断提高设定温度还是降低设定温度,响铃控制函数判断温度是否已达到设定温度,当达到时开启蜂鸣器响铃2S,PID控制器通过18B20的返回值和设定值相比较,通过改变PWM的占空比来改变输出量的大小。灯柱显示当前的PWM波的占空比。(1) 定时器0中断程序 在定时器0中断程序中加入控制PWM占空比的计数变量,当这个变量值在1至71,在PID控制函数中只要改变这个变量的值就可以改变输出PWM的占空比。变量取1时占空比最小,此时输出功率最小,当变量取70时占空比最大,此时的输出功率最大。(2) 蜂鸣器响铃程序 如果响铃程序仅仅简单的判断是否达到设定温度响铃的话,铃声可能就会响很长时间,这是我们不愿看到的情况,因此响铃程序是这样实现的:响亮标志flag=1响铃2S系统温度高于设定温度&flag=0为真温度低于设定温度响铃标志flag=0是否是否响铃标志flag=1通过响铃标志位flag的作用,只有温度从低温到达高温的时候系统才会响铃。(3) 灯柱控制函数 灯柱所显示的就是当前PWM的占空比,当占空比越高的时候灯柱上的灯亮的越多,为实现这个功能我们采用了多分枝判断函数,具体流程如下:PWM占空比小于25%是否PWM占空比25%50%PWM占空比50%75%PWM占空比75%100%否否点亮四个LED点亮两个LED灯不亮点亮六个LED是是是 (4) PID控制程序 PID及Pvar、Ivar、Dvar(比例、积分、微分),通过PID控制器来控制的灯泡的发热量,测温系统的返回值作为PID控制函数的输入值,经过函数的处理得到相应的控制量,具体函数处理过程为,由测温系统的返回值Temperature,和设定温度Set的差值计算出误差量Error,Error*Kp得出比例项输出量PID1,积分项变量Integral=Error,从而得出积分项输出量PID2=Integral*Ti,对本系统实验证明,单用PI控制已经满足要求,因此我们没有再加入微分项。系统调试与校准测试环境温度()测试仪器测试仪器量程()测试仪器分度()温度计误差()32液体酒精温度计010010.52.5(1)18B20校准因为18B20是存在误差,因此需要与标准温度计做矫正。第一次测量数据:18B20()T1温度计温度()T2误差()T2-T129.80300.2030.78310.2231.80320.2032.50330.5033.44340.5634.25350.7535.28360.7236.00371.0036.90381.1037.50391.5038.38401.62第二次测量数据:18B20()T1温度计温度()T2误差()T2-T130.8131.50.6930.78310.2231.80320.2032.50330.5033.44340.5634.13350.8735.436.20.8036.0036.90.9037.0638.00.9438.0039.81.8039.0040.41.40测量误差曲线:较正后测量数据:18B20()T1温度计温度()T2误差()T2-T130.1530-0.150 31.1131-0.110 32.132-0.100 33.1233-0.120 34.0734-0.070 34.98350.020 36.0136-0.010 37.1537-0.150 38.1338-0.130 39.0239-0.020 40.0840-0.080 (2)误差产生原因 1、本系统中误差,一部分来自18B20的设计误差,18B20的理论设计上的误差曲线如下: 我们的系统工作在3040之间,理论典型误差基本应在0.2。因此Error1是由18B20本身所产生的。 2、第二部分的系统误差来自于温度计,由于我们使用的是液体酒精温度计其本身就有很大的误差,它的分度值为1,十分位上会存在估读误差而温度计的误差有在0.52.5之间,但为标准统一起见我们以温度计的读书为准校对18B20。3、空气的比热约1.40 Cv,当温度传感器所感受的的温度到达设定值得时候,由于热量分布不均匀,温度计和温度传感器之间有一定的距离这也会造成测量温度误差。(3)减小误差的方法1、DS18B20的设计误差无法避免,要提精度必须采用更高精度的温度传感器。2、根据误差度数做出温度误差曲线,根据曲线的近似斜率对18B20进行相应的温度补偿,尽量减小系统误差。3、温度传感器和温度计尽量靠近,以减小热量分布不均匀所产生的误差。系统设计总结:本系统主要由王文涛和陈志超完成,在制作阶段陈

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论