【《基于AT89C52单片机的锅炉恒温控制系统设计》7700字】_第1页
【《基于AT89C52单片机的锅炉恒温控制系统设计》7700字】_第2页
【《基于AT89C52单片机的锅炉恒温控制系统设计》7700字】_第3页
【《基于AT89C52单片机的锅炉恒温控制系统设计》7700字】_第4页
【《基于AT89C52单片机的锅炉恒温控制系统设计》7700字】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

基于AT89C52单片机的锅炉恒温控制系统设计摘要近些年来,温度控制在生活和工业生产方面广泛应用,在这些领域中,可以看到温度控制是较为常见的控制。为了防止锅炉超温超压造成爆炸事故,它也是保障锅炉安全运行的重要因素之一,所以温度控制中的恒温控制就更为重要了。因此,现在越来越多的人对一些设备的恒温控制有了更多的研究,由此利用温度传感器把锅炉温度信号传给单片机,用PID算法控制温度,达到恒温的目的。本课题采用Protues进行仿真模拟同时制作实物进行研究,使用AT89C52单片机进行温度控制,锅炉内的温度读取使用温度传感器可以达到最准确的数据,锅炉内的水温使用按键来进行设定,锅炉内的水温使用内部加热棒进行加热,使用PID控制方式,从而完成对锅炉温度的控制。用LCD1602液晶来显示当前的温度和设定温度。通过对仿真模拟和实物测试的结果表明,该系统完全能够实现锅炉的恒温控制功能。关键字:温度控制;PID控制;温度检测;锅炉控制;LCD显示目录TOC\o"1-2"\h\u绪论 11锅炉恒温控制系统总体概述 21.1锅炉恒温控制系统的工作原理 21.2锅炉恒温控制系统的方案设计 22锅炉恒温控制系统硬件设计 42.1AT89C52单片机最小系统设计 42.2加热电路设计 62.3温度检测电路设计 62.4液晶显示电路设计 72.5按键电路电路设计 83系统软件设计 103.1系统软件总体设计 103.2温度控制程序设计 103.3液晶显示子程序设计 123.4按键输入子程序设计 133.5PID控制子程序设计 134系统测试结果 15总结与展望 16参考文献 17附录一、电路原理图 18附录二、程序源码 19绪论锅炉温度有多种控制系统,分别有位式控制、PID控制、在线非接触式温度控制方式等。下面对锅炉温度控制方式进行介绍:(1)位式控制:这种控制方法简单可靠,适合用于传导型或对流型加热的锅炉,位式控制的工作原理是当设定温度小于实际温度时,关闭加热器,当设定温度大于实际温度时,打开加热器,这种控制系统可以使温度能在设定的范围内进行上下浮动。(2)PID控制:PID控制是在当出现负载变化较大的情况时,可以使系统维持一个稳定的控制值,使用一个或者更多的传感器来实现PD/PI控制,在温度还未发生变化时就能及时地调整控制量,确保温度的稳定,相比较更适合本课题的研究。(3)在线非接触式温度控制:它主要应用于在线检测和控制具有运动特性的工艺温度过程,如控制滚动物体、移动物体的工作温度等其他场合。美国等发达国家对于锅炉温度控制系统的在很早就开始了。在锅炉温度控制系统的研究史中,美国是最早投入科学研究的国家,温度控制系统的原理是将锅炉温度控制系统通过温度反馈实现单闭环控制系统;有一种智能锅炉温度控制系统是日本研究出来的,它是在温度控制系统领域应用中,通过多变量输出和多变量输入实现线性系统;德国研制了基于PLC的预埋总线与集中控制的技术的温度控制方案,实现锅炉温度控制,但由于系统复杂且成本比较高,无法进行推广。国内对锅炉温度控制研究比较滞后,操作性能与使用性差不便于产品进行推广或扩充,不能实现较好的控制效果。我国对于锅炉温度控制的研究方面也是比较重视的,并取得了一定的成就,但是我国的锅炉温度控制与发达国家的锅炉温度控制相比还是有一定的差距。我国现在正在培养和引进相关领域的人才,加大对温度控制的研发的支持力度,提高技术水平,研发国产的锅炉温度控制系统,缩小与发达国家的差距。1锅炉恒温控制系统总体概述锅炉恒温控制系统的工作原理锅炉恒温控制主要在生活、工业的安全和使用方便等具体方面有所体现,对于锅炉来说,安全是第一位的是最最重要的因素,锅炉安全平稳地运行当然要通过温度来进行保障。温度控制滞后性严重,所以在选择控制算法的时候可采用PID控制,它可以较好地消除偏差,适当地扩大控制速度。控制器的选择有很多种,我这里选择单片机进行控制,锅炉温度信号传给单片机是用温度传感器来完成的,让设定值与当前值进行比较之后再根据PID算法自调整得到的信号反馈给控制器,通过对锅炉进行加热调节,反复循环,从而达到恒温控制的要求。这里需要完成恒温控制系统的软硬件设计,同时还要进行仿真测试,对系统进行功能验证。1.2锅炉恒温控制系统的方案设计本课题采用的是AT89C52单片机运行温度控制程序,整个锅炉温度控制系统由温度检测模块、按键输入模块、加热模块和显示模块构成。其中温度检测模块使用DS18B20温度传感器,实现锅炉内的温度读取。按键模块可以设定当前锅炉内的水温,加热模块主要由加热锅炉实现,通过内部加热丝进行加热,加热的控制量由温度检测模块进行反馈,结合PID控制,实现锅炉温度的控制。显示模块的作用是来显示设定的温度和实际的温度,在这里,我选用的LCD1602液晶显示器。其系统整体框图如图1所示。图SEQ图\*ARABIC1系统框图单片机采用的是AT89C52芯片来做控制器,它是基于MSC-51内核,是由AT公司生产的8位单片机,内核的时钟频率最高可达到24Mhz,最低运行频率可以实现内核时钟停止,外设停止运行。AT89C52可通过寄存器配置其工作方式和运行模式等。PID算法运用比例、积分、微分算法,可以通过数学运算来对回路中的偏差进行一定的处理,把运算出来的结果作为信号形式送给执行器,让执行器进行参数的调节,让测量值较稳定地保持在设定值周围,由此实现对某一参数控制的功能。PID控制的选择:(1)PI(比例积分控制):此控制方式可以根据时间的增多来控制,由此可以做到减小或消除静差,因此它的缺点是有可能会出现控制作用较缓慢,控制不及时的现象。(2)PD(比例微分控制):此控制方式在一定的条件下,既可以提高控制质量,也可以增加控制速度,此外还具备减小偏差和控制时间的优点,适用于容量滞后较大的对象。(3)PID(比例积分微分控制):它集结了三部分的优点,优点分别为控制速度快,可以消除余差,具备较好的控制性能。综上所述,选择PID控制为最佳控制方式。2锅炉恒温控制系统硬件设计2.1AT89C52单片机最小系统设计单片机的最小系统是保证CPU运行程序的最小设计单元,任何处理器都需要设计相应的芯片最小系统,确保CPU进行正常的运行,这些电路是保证CPU运行的最小电路。AT89C52单片机的最小电路设计十分简明,需要设计外围的时钟电路和复位电路。时钟电路主要是为单片机提供时钟信号,为单片机内的核心和外设提供时间基准,保证指令正常执行;复位电路使内部的SP指针、PC指针和中断复位,也可以在系统异常工作后实现手动复位,重新运行程序。下面对时钟电路和复位电路的设计和工作原理进行详细的阐述:时钟电路又称晶振电路,本系统硬件设计使用的时钟电路如图2所示,电路设计中电容C2和C3是帮助石英晶体进行正常起振,要想让电容可以在电路中正常工作,电容的容值需要在20-70pf范围之内进行选择,在本次设计中实际使用的是22pf电容。电容C2的一个引脚连接到晶振的引脚,另一个引脚连接到GND上;C3的两个引脚,一个引脚连接到晶振的引脚,另一个引脚连接到GND上。晶振的输出端连接第18和19脚(XTAL1和XTAL2引脚),从18/19引脚进行时钟信号输入。石英晶振产生的振荡信号十分微弱,极易受到外部电路和环境的影响,因此在电路布局中晶振电路要尽量靠近单片机的第18、19引脚,避免出现电磁干扰。图SEQ图\*ARABIC2时钟电路原理图复位电路在单片机的启动、调试、运行和抗干扰等方面具有重要的作用。对于复位电路可以采用专用的复位芯片,如MAX809,也可以由其他电阻电容构成复位电路。结合实际情况,本设计使用的复位电路(阻容复位)电路,是由电阻和电容构成的。阻容复位电路是常用的复位电路,它具备了元件少、工作稳定、复位可靠性高的三个性能,如图3所示。电容C1是充放电电容,其中一端连接电源,另外一端连接电阻R9,R9的另外一端连接地线,电容和电阻的连接抽头连接单片机的第9脚RST引脚。电路的运行原理:当给电路通上电时,其中电阻R9作为充电电阻,电容C1开始充电,这时侯RST端为高电平,当电容充满电以后,电容为断路状态,RST引脚变为低电平并保持当时状态,由此在RST引脚上就形成了高脉冲信号,实现单片机的复位。当复位的高脉冲周期大于单片机的2个时钟周期,触发单片机复位。电容C1充放电公式为t=RCLn[E/(E-Vt)],电容充满电所需要的时间t=2RC,即电容和电阻的值需要满足t>2,本设计选用的电容的容值为10uf,电阻的阻值为10k,这种参数选择满足系统的复位时间。图SEQ图\*ARABIC3复位电路原理图复位电路中并联一个轻触按键,用于实现手动复位功能,在程序进行调试时候,出现调试问题,可以直接进行复位,方便调试。按键复位的原理为:按下按键之后,RST引脚直接连接到VCC上,状态为高电平,松开按键之后,通过电阻将RST信号状态转换为低电平,按键的按下时间一般都是百毫秒级别的,远远超过了单片机的复位时间要求,由此实现了手动复位功能。时钟电路、复位电路和单片机构成了最小系统,可以运行内部ROM存储器的程序,最小系统的电路原理图如图4所示。图SEQ图\*ARABIC4最小系统原理图2.2加热电路设计本设计使用直流5V继电器,继电器的作用是控制加热丝进行加热,继电器是一种单片机控制强电系统的元件,实现高电压系统控制,并且使强电和弱电隔离,保护电路,电器是弱电控制强电的电子元件,本设计是单片机通过三极管驱动继电器,通过继电器控制强电器件,电路图如图5。驱动电路是三极管放大开关电路,图中是S8050型三极管,限流电阻R1串联在单片机P3.4口和三极管的基极之间,实现限流作用。三极管的射极、继电器内部电磁线圈、电源VCC通过串接方式连接在一起,三极管的集电极与系统的GND连接。继电器内部衔铁隔离开关,当线圈未通电时,触点K1与常闭触点连接,当线圈通电时,触点K1与常开触点连接。此电路图的工作原理为:当单片机的IO口的正常输出为低电平时,即三极管为导通状态,该系统工作时继电器通电;反之,单片机的IO口输出为高电平,即三极管为截止状态,继电器停止工作,系统停止加热工作。因为继电器为塑封外壳,表面看不到其工作状态,LED1和R2够成了发光二极管电路,实现继电器工作指示。图SEQ图\*ARABIC5模拟加热锅炉电路图2.3温度检测电路设计DS18B20是一种常用的能够采集当前环境温度信息的数字式温度探头,在调整好PID最佳参数的情况下,这款温度传感器的误差可达到0.001℃。DS18B20内部具有一个温度敏感电阻和一个A/D转换,转换器的精度为12位,且具有温度补偿电路和温度寄存器,能够适应大多数测温应用。温度传感器DS18B20具有三个功能引脚,其中第1、3引脚为电源引脚使用2-5.5V电压供电,分别连接电源正负极。第2引脚为数据输入输出的通信引脚,通过这3个引脚可以访问内部ROM区,读取传感器的状态和温度数据。在本次设计中DS18B20的数据引脚连接单片机的P2.5口,作用是通过这个引脚读取温度数据。原则上,在通信数据线上加入一个上拉电阻R5,其阻值为10K欧姆,这样保证单总线驱动能力增强,读取数据更稳定,温度采集电路如图6。图SEQ图\*ARABIC6温度采集电路图2.4液晶显示电路设计LCD1602显示器是一种薄膜晶体显示器,通过薄膜液晶控制方式进行显示字符,液晶的工作情况可以在单片机的控制下显示指定的文字。LCD1602型显示器的主要参数有:(1)显示字符的数量:液晶显示器可以显示2行32个字符。(2)显示器具有16个对外接口,可以通过8线或者4线形式进行控制。(3)显示器的大小为:2.95×4.35(长×宽)mm。液晶显示器是一款具有16个对应的引脚功能的器件,表1为引脚功能的具体介绍。表SEQ表\*ARABIC1LCD1602引脚接口说明LCD1602外围电路设计如图7所示,液晶显示器的供电电源和LED背光电源使用的就是5V供电电源。本设计使用单片机的P0.0-P0.7一组IO口并口连接LCD1602的8位数据并口,它的作用是进行传输命令字节和数据字节。单片机的P2.0、P2.1和P2.2三个引脚分别连接液晶显示器的E、RW和RS三个控制端口,用于控制通信时序过程,通信过程在软件部分进行详细描述。LCD1602的VO接口连接单片机的P2.3,,实现LCD1602显示器对比度调节。图SEQ图\*ARABIC7LCD1602电路原理图2.5按键电路电路设计根据实际需求,本设计用4个按键,对系统温度设定和PID参数的调节,4个按键功能是温度设定+、温度设定-、控制参数P+和控制参数P-。4个按键对应的每一个引脚分别连接在单片机的P1.3-P1.6引脚,通过IO口读取键值,按键的另外一个引脚与GND连接,按键电路如图8所示。图SEQ图\*ARABIC8按键输入电路原理图3系统软件设计3.1系统软件总体设计系统软件部分是由系统初始化子程序、温度设定子程序、PID子程序、温度检测子程序和显示子程序几个部分组成的。单片机通电之后就开始运行程序,程序开始运行时,进行系统的初始化,系统初始化之后,首先进行读取设定的温度,接着将设定温度和当前温度进行比较,然后运行PID子程序,最后生成PWM控制信号,对锅炉进行加热调节。最后将设定温度和当前的温度显示在LCD1602上,之后系统返回PID子程序进行调节,继续循环。主流程图如图9所示。图SEQ图\*ARABIC9系统软件总流程图3.2温度控制程序设计加热子程序使用定时器1计时产生2路PWM信号,本设计中定时器1设定为16位模式,在计数器达到65535最高值时候,实现一个1ms计时,每一次中断都实现了一次1ms的溢出中断。在中断函数中对Time变量进行自加,当其值大于100以后,表示周期为100ms,进行Time清零,实现重新计数。在每次中断过程中,Time值与设定值进行比较,当小于占空比数值时,输出高电平,反之输出低电平,这样实现了PWM的周期输出过程。图SEQ图\*ARABIC10PWM软件子程序流程图锅炉温度是通过MCP3204子程序读取的,然后根据传感器的的特性将AD数据转换成实际的参数。ADC子程序第一步对MCP3204初始化,保证内部ADC稳定,通过DI选择MCP3204的转换通道,可以选着CH0-CH4任何一个通道,然后等待A/D转换完成,转换完成后通过MCP3204的时序进行读取数据。这样主程序通过调取AD读取函数即可获得A/D转换的数值。然后经过公式计算和转换即可以获得传感器的实际物理量数据,子程序流程图如图11所示。图SEQ图\*ARABIC11锅炉温度读取子程序流程图MCP3204核心通信子程序是读取一个字节的AD转换数据,其子程序如图12所示。读取一个字节数据首先需要使能MCP3204即CS=0,芯片可以进行收发数据。之后在单片机控制作用下,顺序产生时钟序列,在时钟的协调下,DO口连续输出8个bit的位数据。在整个过程中使用for循环读取一个AD转换后的结果,得到数据以后,需要在接收校验数据,对数据进行校验,校验之后就可以得到转换以后的AD数据。图SEQ图\*ARABIC12MCP3204读取字节子程序流程图3.3液晶显示子程序设计LCD1602软件设计是对液晶进行读写过程,读液晶是从显示器内部的RAM中读取存储的数据,写液晶是将需要显示的字符写入内部RAM地址,液晶显示屏上自动会显示出来。在本次设计中,只需要显示字符,不需要读字符,根据两幅各自的波形图比较可以发现只有R/W信号线不同,其他都是相同的通信过程。软件程序主要函数为初始化函数、write_cmd和write_data三个函数。初始化函数主要是配置液晶的控制模式,写命令函数write_cmd主要是控制LCD1602的输入指令和控制显示字符的位置,写数据函数write_cmd主要是向液晶显示器传输需要显示的字符ASCII码,流程图如图13所示。每次在写数据和写命令之前都要进行液晶状态判断,如果液晶LCD1602忙状态,表示无法接收数据,这时需要等待;当显示器空闲才可以进行数据的传输过程。图SEQ图\*ARABIC13LCD1602子程序流程图3.4按键输入子程序设计独立按键的子程序十分简单,子程序流程图如图14,子程序需要使用if语句对IO口的状态进行判断,进而获得按键状态。如果读取与按键连接的IO口的寄存器为0,则表示按键处于按下状态;如果寄存器对应数据为1,则表示按键处于松开状态。通过对三个IO口进行查询,可以判断这几个按键的状态,对键值的反馈值传输给调用的函数,进而对阈值进行设置。图SEQ图\*ARABIC14按键子程序流程图3.5PID控制子程序设计系统软件程序设计首先通过加热锅炉的温度敏感电阻输出得锅炉温度信息,然后计算温度误差,之后输入到PID函数中,锅炉加热得到的PWM可以很好的对锅炉内部温度进行加热,进一步控制温度,软件流程图如图15所示。图SEQ图\*ARABIC15PID子程序流程图PID子程序通过运行PID算法能实现较好的控制效果,是需要对PID的参数进行一定的调整,程序如下:intPIDcontrol(floatReal_temp,floatTarget,floatK_P,floatK_D) //设定目标Desiredvalue{ staticfloatP;//比例常数ProportionalConst// staticfloatI;//积分常数IntegralConst staticfloatD;//微分常数DerivativeConst staticfloatErr,PreErr;//Error intPWM_dat; P=K_P; D=K_D; Err=Target-Real_temp; if((Err>-1)&&(Err<1))Err=0; PWM_dat=P*Err+D*(Err-PreErr); PreErr=Err; if((PWM_dat>-5)&&(PWM_dat<5))PWM_dat=0; //死区; if(PWM_dat>100)PWM_dat=100; if(PWM_dat<-80)PWM_dat=-80; returnPWM_dat;}4仿真测试本设计使用仿真软件Protues进行温度控制仿真,图中设定的温度为15.00摄氏度,当前调节后实际温度为13.25摄氏度。加热炉进行温度调节,当实际温度与设定温度发生偏离,产生一个偏差信号,这一偏差信号作为PID的输入值,PID结合自身的算法,产生一个PWM波形图的输出,进行温度的调节,随着温度升高,PWM是增大的,仿真结果如图16所示,图中示波器窗口显示了温度PWM控制的波形图。图SEQ图\*ARABIC16温度控制仿真运行图当实际温度逐渐接近设定温度时,PWM逐渐减小,最后,实际温度与设定温度几乎一致时,波形就成为一条直线,停止加热,仿真结果如图17所示。本次仿真软件设计有1摄氏度左右的误差。图SEQ图\*ARABIC17仿真软件运行图在仿真软件模拟测试之后,按照电路原理图焊接各个元器件,检查无误后,对实物进行通电使用。图中设定值为32摄氏度,当前温度为29摄氏度,继电器工作,指示灯闪烁,随着当前温度越来越接近设定温度,指示灯闪烁频率越快。如图18所示。图SEQ图\*ARABIC18实物加热运行图当前温度等于设定温度时,指示灯熄灭,继电器不工作,如图19所示。一旦当前温度低于设定温度时,电路立刻加热,一直这样循环工作,实现了恒温的功能。图SEQ图\*ARABIC19恒温控制运行图总结与展望本次毕业设计通过完成软件和硬件模拟测试,实现了一部分的功能。首先对锅炉温度控制系统的发展背景和国内外现状进行了详细的介绍,对本设计的的工作原理和方案设计进行论述,接下来进一步对温度检测、显示电路、温度控制电路等模块进行详细的分析,然后对电路各个部分元件和电路结构进行阐述,完成了对软件子程序的设计分析,最后进行了测试,达到了一开始实际要求的效果。虽然仿真软件和实物测试的结果完成了大部分的要求,但是由于我在某些部分考虑得不全面导致此次设计没有那么完美,还有很大的进步空间,在今后的学习和工作中,继续努力继续完善。对于锅炉温度控制系统设计,可以进行加入大数据分析功能,可以得到更加有效的信息,在广大样本中找到一些数据规律。这是恒温控制发展的一种方向,但是要较多的时间进行研究。参考文献[1]李盛伟,张来,梁海深.基于串级PID的相变储能电锅炉温度控制技术[J].热能动力工程,2020,35(08):85-89.[2]张琦,史林军.工业锅炉温度控制系统设计与实现[J].自动化技术与应用,2020,39(08):25-28.[3]李元伟.基于自适应神经网络的供热锅炉温度解耦控制系统研究[J]

温馨提示

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

评论

0/150

提交评论