发电厂燃煤锅炉燃烧单片机控制系统设计模板.docx
《发电厂燃煤锅炉燃烧单片机控制系统设计模板.docx》由会员分享,可在线阅读,更多相关《发电厂燃煤锅炉燃烧单片机控制系统设计模板.docx(23页珍藏版)》请在冰豆网上搜索。
发电厂燃煤锅炉燃烧单片机控制系统设计模板
发电厂燃煤锅炉燃烧单片机控制系统设计
第一章绪论
1.1锅炉燃烧控制的背景和意义
电力的产生便捷了人们的生活起居,发电的方式随着时代不断的进步也变得多种多样,其中主要以火力发电为主,但是这种火力发电的形式有着很多的隐患,比如煤炭燃烧后所排放的尾气和污水都对环境造成了一定的损害。
环境的保护和科技的发展需要共同进步,我们既要金山银山也要绿水青山,这需要我们不断的改革和优化发电厂锅炉燃烧技术等方面。
发电厂生产系统主要有四板块,分别为水处理板块、锅炉燃烧板块、汽轮机发电板块、供配电板块。
其中锅炉是发电进程中最重要的板块,它通过化学燃料的燃烧为其整个发电提供能源动力。
锅炉的控制大致可以分为燃烧控制和汽包水控制两大模块,随着时代的发展,和各种精密测量仪器的技术的成熟,使人们对于锅炉内燃烧控制状况的掌控大大提高,并且随着不断对锅炉的大力发展和探索,对于锅炉内的控制技术越来越娴熟,但是可靠程度却还不是很高,同国外一些锅炉的自动控制还存在着一定的距离,下面我列举了以下两个缺点:
(1)控制自动化程度不高,方案不够合理,锅炉控制需要人工操作,危险系数较大,一旦控制过程中某个环节出现故障,锅炉系统中的传感器无法达到正常稳定的预估设定值。
(2)现在很多锅炉燃烧的控制很简单,操作也很方便,但是其中大多数的控制都是开关矢量,不能长时间准确无误的进行工作,导致偏差存在不能及时的调整,降低了控制的准确度。
该文主要控制元件是单片机,控制方式严格按照锅炉燃烧控制系统,精确的设计了该控制系统,设计的目的是为了让控制方式更加的便捷,提高控制的准确度,同时也保护了我国青山绿水,让环境和发展共同进步。
1.2锅炉燃烧控制的国内外研究现状
锅炉自动化控制很早就出现了,在哪个时代还存在着大多数是单控制系统,控制的变量只有一个,但是随着时代科研不断的探索和进步,随着时代发展的日新月异,很多的国家大力发展重工业,于是对锅炉的最优化控制开始逐步研究探索,但是当时的科技化程度并不是很高,人们对于自动化控制事物的了解也很低,在当时人们对锅炉的控制还驻足在气动变送仪表的阶段,而且当时说是锅炉控制,其实其中占相当大的一部分还停留在对于变量的检测上,不进行自主的调节和修正。
随后由于计算机的发明,让人们对于控制系统的设计有了新的想法,锅炉用计算机进行调控成为了发展的趋势,直到现在计算机自动控制仍然是控制领域内一大热点,当然硬件上的突破很快提高了人们对于控制理论的认识,如当中的最优控制、多变量频域、模糊控制等方法。
随着时代发展一系列的改变,使锅炉炉膛燃料的热利用率变高了,节约了成本,人们对于燃烧后尾气的处理也愈发成熟,保护了环境的安全。
国际上控制技术发展的飞快,但是在国内,因为技术等一系列条件的限制,阻碍了自动控制的发展水平,使大多数锅炉控制的水平没有达到自动化的水平,还需要人工对于仪器进行操作,随着时代的需要,锅炉自动化控制已经成为一个趋势,利用单片机,计算机等硬件设备,逐步改造原有的人工控制。
单片机现如今已经受到了广泛的运用,计算机工业上都运用的比较多,单片机高性能低价格,小小的一块元件,集成了很多的功能,由于单片机的内部结构很特殊,使它工作起来很稳定,近年来单片机CMOS化,除了低耗能之外,还具有控制耗能多少的能力,使单片机可以长时间处在在精密控制的状态,工作正常使用电压范围越来越宽,一般在3-6V,半导体集成工艺的迅速发展也迎来了单片机发展的高峰。
经过上面叙述,单片机控制已经成为一个常用的控制方法,锅炉燃烧控制系统中亦是一样,我们还需要努力,运用此技术不断更新和创造,让该技术更加的成熟和便捷,在实际生活中创造更大的价值。
第二章方案拟定
2.1研究对象
本次实验研究的是一所县级中等发电厂,利用的是锅炉燃烧的生产方法,锅炉燃烧原料就是煤,由运煤车将煤倒入磨煤系统,使煤研磨成粉末,运输至给煤机,加强鼓风机同初步鼓风机为锅炉提供新鲜的氧气,以保持锅炉持久燃烧,煤同热空气在锅炉中混合,进行充分的化学反应,由于燃烧产生的尾气,通过燃烧净化系统,随着烟筒排出,上面这几个过程就初步完成了对燃料的传递和焚烧、冷凝、净化和排放,然后锅炉过热器因为燃烧化学能转化为蒸汽的热能,蒸汽通过管道进入汽轮机进行做功,从而带动发电机发电。
系统由于高温,需要冷凝系统进行降温处理,这个系统就是水处理系统,处理后的水,经过气泡,通过加热器进入汽轮机,从汽轮机排出的气进入冷凝阀,冷凝过后的水称为主凝结水,通过处理之后继续为锅炉中加水,使其成为一个完整的循环,这就就是循环冷却水系统。
图2-1锅炉燃烧系统流程
2.2锅炉燃烧系统控制方式的选择
在热发电厂中,有两大类控制方式,可分别以水位和锅炉内的变量为控制对象。
这样以水位为控制变量的为锅炉汽包水位控制系统,以锅炉内部变量为控制对象的为燃烧控制系统。
其中燃烧控制系统大类又分为三小类,分别以锅炉内部蒸汽压力、温度和炉膛负压为控制对象,下图为锅炉控制系统具体分类:
图2-2锅炉控制系统
1.汽包水位控制
水位的变化,在锅炉控制当中是判断是否正常工作的一个重要的依据,造成水位变化的因素很多,如锅炉内燃料燃烧是否充分、及给负荷大小等,这些因素的变化,都会对锅炉控制产生影响。
汽包水位也经常发生变化过高的现象,水位过高会影响汽水分离,造成锅炉用电设备发生损坏,而过低水位就会导致汽水循环不能正常的运行,长时间不正常的工作将导致锅炉爆炸,锅炉水位自动控制的目的,就是使水流量的由于燃烧而被蒸发的占比到达一个正常的程度,均衡汽包水位内水位在容许的范围内变动。
所以汽包水位对锅炉安全运行有着很大的影响,或高或低都不能使锅炉安全有效的运行。
汽包水位的内部扰动也有很多,如给水方面的扰动或者蒸汽负荷的变化,都会影响锅炉汽包水位,在控制系统中也应当注意并且排除这些不利因素。
图2-2-1汽包水位控制
如图所示为单回路控制系统,系统结构简单,采用单参数控制,进行比列微分积分调节,这也是常用的控制方式,可以达到需要指标。
当然有利有弊,该系统优点是组成构造比较简单,但是在其他方面,抑制给水自发性干扰和负荷干扰的效果较差,在蒸汽负荷快速升高的情形下,由于汽包液位“虚假”水位现象,控制器不能增加调节阀的开度,提高给水量,相反会减少调节阀的开度,降低给水量。
等到“虚假”液位消逝后,因为蒸汽体积的增加,送水量反而会降低,使液位迅速下降,产生剧烈的波动,造成严重的安全事故,使整个系统不能正常运行。
2.蒸汽压力控制
蒸汽压力控制也是锅炉燃烧控制的一个重要指标,主要是用来衡量锅炉内蒸汽压力的高低,蒸汽压力的或高或低都关乎内部金属导管和负荷设备的正常运行,因此,蒸汽压力的调节对于锅炉正常工作起着很大的影响。
锅炉压力的控制图如下,采纳的是比列积分微分前馈串级调节方式,主环压力控制是对内部蒸汽实际值的一个测定,将所测定实际蒸汽压力值同正常运行值作比较,不断的补充和消减来调节燃料,用来保证压力的稳定,其中副环燃料控制也按照规定的工作,控制燃料运输到锅炉当中的量,使锅炉中的压力维持在可行的工作区域内。
图2-2-2蒸汽压力控制
3.炉膛负压控制
炉膛负压通常采用纳两台引风机、或者液偶处理机构来控制。
控制引风系统需要注意很多方面,具体如下:
(1)信号处理
炉膛负压需要调节数大多数采用三取中选择性模块,让我们关注的是对所需要测试的点一定要在炉膛内的两侧炉膛负压具有小浮动的特性,我们还必须要对信号进行滤波处理。
(2)前馈、超迟、闭锁
负压前馈控制能够比较内外部干扰来进行设置。
设置超迟系统主要起保护作用,防止炉膛内部负压过低导致爆炸。
闭锁功能同超迟系统一样,在危险低压发生时减加引风机构,保证安全性。
4.炉膛温度控制
锅炉炉膛对温度的控制尤为重要,关乎着生产工艺的好坏和工人的安全,温度或高或低都有着较大的影响,燃烧的过程就是炉膛和汽包之间的传热过程,其中的流程也是很复杂的,我们通常把炉膛内温度看作为动态非线性过程,采用串级回路控制的方法,该系统主副回路根据实际值与给定值的偏差,有PID调节规律进行适度控制调节。
通过上面四个控制系统,可以看出锅炉的燃烧控制内部的复杂性和炉内温度对于燃烧的重要性,所以接下来采取炉膛温度控制系统进行研究和设计。
第三章锅炉燃烧系统构成及系统框架图
3.1系统框架图
系统的运行的示意图如图所示:
图3-1锅炉系统框架图
3.2工作原理
由图3.1可以看出锅炉系统是怎样运行的,煤斗中的煤由传送带运至燃烧室,燃烧室下方有一台鼓风机,为燃烧室内提供持续的氧气,燃烧后的残渣经过履带进行过滤,而燃料燃烧所产生的高温蒸汽向燃烧室四周传递热量,炉膛的上方的给水和回水管都装有温度传感器,实时的监测温度状况,进行实时的调整,炉膛内燃烧烟气一部分进防渣管进入对流烟道。
另一部分通过引风机和烟囱排入大气,燃料所产生的热能被利用程度越多,锅炉产生的热动能就越高。
3.3锅炉系统控制对象
通过以上叙述,我们可以得知温度对于锅炉燃烧的重要性,所以接下来我们将围绕温度方面设计控制电路。
第四章锅炉燃烧系统的设计
4.1单片机介绍及芯片的选择
单片机是一类内部结构复杂的集成电路芯片,单片机的主要运行靠CPU,主要存储靠RAM和ROM,内部还包含多种I/O接口、定时计数器等。
工业控制的很多地方都能看到它的身影。
ATMEL公司世界有名,其产品高性能、低功耗,因而广泛运用。
其中推行出来的AT89S系列,在运算速度上相比以前要快上许多,在结构上的改变也使AT89S系列更加的适合多种工业场地,本文就是采用此AT89S系列单片机。
4.2单片机的基本结构
AT89s51单片机是一个8位的单片机,工作频率为33MHz,4k字节闪烁存储器,128字节随机存取数据存储器,具有双工UART串行通道,32条可编程I/O线,5个中断源,有高级低级2级中断嵌套中断,高级中断可以嵌套到低级中断中,WDT电路可以在无人的时候继续保持工作,2个定时计数器分别对单片机内部时钟和外部事件脉冲进行计数,2个全双工串行通信口可以用作通信也可以作为同步移位寄存器。
51单片机还可以根据工作需要设置想要的省电模式通过设计和配置振荡频率来实现。
下图就是AT89s51单片机及各个引脚:
图4-1AT89s51单片机引脚
4.3DS18B20温度传感器
DS18B20是常用的温度传感器,具有体积小,抗干扰能力强的特点,其中与单片机的接口也比较简单,适合大多数单片机接口,由于DS18B20数字温度传感器封装简单,可应对场合需要做成任何所需要的类型。
DS18B20测温,对高温系数敏感很高的高温度系数晶振,计数器2专门接收其脉冲输入。
其中对温度敏感率并不是很高的低温度系数的晶振产生的脉冲信号,减法计数器1专门接收其产生的脉冲信号。
减法计数器1、减法计数器2和温度寄存器中都预置了一个基值,用于计数减法运算,斜率累加器主要作用于减法计算器1,修正减法计数器1的预置基值。
在工作的时,低温度系数振荡器所发出的信号被减法计数器1接收到,随即对所接收的信号进行处理,当减法计数器1的基值减到0时,温度寄存器的预置值将加1,同时减法计数器1将复位,预置的基值也将恢复,重新对低温信号进行处理,不断的进行工作,在此期间减法计数器2对预置的基值也进行减法的运算,直到预置基值减到0的时候,温度寄存器将停止来自减法计数器脉冲的接收,此时温度寄存器中的数值即为所需要测定的温度。
图4-3DS18B20测温原理
4.4控制电路的设计
4.41单片机基本系统电路
图4-4-1单片机基本系统电路图
上图为单片机基本系统电路,图中红色标志由四条长短不一的横线组成的符号,为接地符号,目的是保障电路的安全。
上图还包含了两个电容、三个电阻和一个开关,这些都是单片机外部电路所必须的设备器件。
当然单片机内部各个引脚也有不同的作用,其中VCC为单片机提供持续的电压,P1口可作用输入,P2口主要作用于输出,输出特殊功能寄存器里面的内容,主要接收高八位信号和指令信号,P3口主要作为输入,还可以作为普通的I/O接口,RST是复位输入,PSEN是作为外部程序的选通信号,XTAL1是工作电路的输入,XTAL2是工作电路的输出,EA/VPP是内外ROM选择/片内EPROM编程电源。
4.42显示电路
由于是对锅炉内温度的掌控,显示温度器那是必不可少的,如图所示:
图4-4-2显示电路
4.43温度电路
锅炉内最难控制的就是温度,温度的高低都会影响着炉膛内燃烧的效率,运用单片机同报警设备的连接,对炉内温度的变化做出及时的反应和报警,单片机将驱动蜂鸣器进行报警。
当控制温度过高的时候,单片机将通过P1.4接口输出控制信号,P1.4接口将电信号传达给D1三极管,D1三极管得电,触发高温控制警报,J1降温设备将会得电开始工作,使温度降下去。
当控制温度过低的时候,单片机将通过P1.5端口输出电信号,电信号将驱动三极管D2,让K2线圈得电,升温设备工作,开启升温模式。
下图为温度控制报警电路:
图4-4-3温度电路图
第五章温度控制及编程
5.1系统软件的设计整体思路
现如今,科学技术飞速发展,越来越多的工业控制都偏向于智能化,把原来繁杂的多种硬件电路,浓缩成一个小小的集成电路块,通过软件编程来实现控制,输入程序实现了最简化、高效率的控制。
程序语言的设计可以分为:
高级语言、汇编语言和机器语言。
机器语言是完完全全用0和1表示的语言,是电脑可以读取识别的语言。
汇编语言和高级语言相对来说需要繁琐一点,它需要通过人为经过编译,才能被计算机读取和识别。
高级语言可移植性特别的大,是以人的想法逻辑来描述电脑运行的语言,完全脱离了CPU的处理模式。
MCS-51单片机指令系统中的指令,描述了不同的操作,不同的操作对应不同的指令,每条指令中都包含操作码和操作数。
MCS-51单片机指令有无操作数、单操作数、双操作数三种情况。
其中51单片机同其他单片机反应相比灵敏度高、控制及时、体积小汇编语言简明等优点
5.2系统程序流图
本装置的软件包括复位应答子程序、写入子程序、读出温度子程序、主程序、以及有关DS18B20的程序。
5.3系统主程序
系统开始,初始化DS18B20温度控制软件,通过该软件来设置锅炉内温度的最高值和最低值,此设置用来维持锅炉内正常温度的区域值,保障安全、高效率的运行。
通过温度检测装置检测当前温度值,判断当前的温度为多少,如果超过设定温度的上限的话,高温预警红灯将会闪烁提示,此时需要立刻启动降温设备,在降温的过程中,及时观察炉内温度的变化,反应到当前温度,然后在比较设定的温度,完成了一个及时反馈的过程。
同样,当检测温度较低,低于设定温度的时候,低温报警绿灯将会闪烁提示,立刻启动升温装置,将完成一个同样的操作,以维持炉内的温度。
通过这两个温度的反馈,做到了随时的温度检测和校准,保持了炉内高效率安全的运行,下图就是温度控制的主流程图:
图5-3系统主程序图
5.4读出温度子程序
图5-4读出温度子程序图
DS18B20温度检测器,对程序的顺序和指令的要求是非常严格的,如上图所示,为基本内部运行状态,首先对DS18B20初始程序进行复位,然后总线控制器不需要提供64位ROM编码就可以直接获取存储器操作命令,这样在单点总线的情况下可以大大的节约时间,读取DS18B20暂存器温度,将其写入数据,可以在任何时候发出复位命令来终止读取,随即读取寄存器里面的内容,按字节顺序读取,如果不想读取所有字节,控制器可以发出命令来进行终止,这样就完成了一个周期的操作。
5.5复位、应答子程序
图5-5复位、应答子程序图
如上图所示,该流程图为复位、应答的子程序,该过程是由单片机的引脚P1.0完成,程序开始,P1.0引脚口清零,进行延时处理,537微秒过后,P1.0口置1,然后进行与或非的判断,50微秒是否具有低电平,进行判断,如果有的话,标志位置1,继续进行判断,是否234微秒后具有低电平,如果没有的话,直接终止,无需判断是否234微秒后具有低电平,如果234微秒后具有低电平,P1.0口置1,然后程序进行终止。
5.6写入子程序
如下图所示,为子程序基本运行状态:
图5-6写入子程序图
上图所示的程序框图就是单片机的基本运行状态,开始的时候,进位C清0,P1.0口清0,进行初步延时12微秒,带进位右移,然后再进行一般延迟46微秒,使P1.0口置0,然后判断R2是否为0,如果是,将会回到开始,重新进行程序,如果不是,将直接终止程序。
5.7系统调试
系统设置完毕后需要进行调试,通过DS18B20温度检测器设定上下限温度,然后进行加热,将设定的温度同实际所测得的温度进行比较,通过DS18B20温度检测器连接报警装置对锅炉内温度进行实时报警。
如果遇到温度异常不能实时报警,对锅炉进行软件硬件初步排查,检查单片机内部程序是否正常运行,检查设备机器是否完好,对系统进行调试。
结束语
随着时代不断的进步和发展,自动化技术越来越完善,越来越方便。
本文的发电厂锅炉燃烧的控制摒弃了传统的控制方式,采用先进传感器DS18B20温度传感器进行测温,具有时刻性和安全性,便捷的操作让使用使锅炉燃烧的技术的快速的发展。
本次设计是采用单片机进行设计,先通过锅炉燃烧的工作原理和一些基本的流程,对研究对象有个初步大概的了解,然后对对象提出问题,就是本文中温度控制方面的问题,然后对所提出问题的方面进行设计,因为该设计是单片机设计的,所以需要运用一些基本常规的单片机知识,在单片机软件上进行编程和操作,然后对本次设计进行调试,完成设计。
附录
系统总程序代码:
ORG0000H
TEMPER_LEQU29H
TEMPER_HEQU28H
FLAG1EQU38H;是否检测到DS18B20标志位
A_BITEQU20H;数码管个位数存放内存位置
B_BITEQU21H;数码管十位数存放内存位置
XSEQU30H
MOVA,#00H
MOVP2,A
MAIN:
LCALLGET_TEMPER;调用读温度子程序
MOVA,29H
MOVB,A
CLRC
RLCA
SWAPA
MOV31H,A
MOVA,B
MOVC,40H
RRCA
MOVC,41H
RRCA
MOVC,42H
RRCA
MOVC,43H
RRCA
MOV29H,A
LCALLDISPLAY;调用数码管显示子程序
AJMPMAIN;这是DS18B20复位初始化子程序
INIT_1820:
SETBP1.0
NOP
CLRP1.0
MOVR1,#3
TSR1:
MOVR0,#107
DJNZR0,$
DJNZR1,TSR1
SETBP1.0
NOP
MOVR0,#25H
TSR2:
JNBP1.0,TSR3;等待DS18B20回应
DJNZR0,TSR2
LJMPTSR4;延时
TSR3:
SETBFLAG1
LJMPTSR5
TSR4:
CLRFLAG1LJMPTSR7
TSR5:
MOVR0,#117
TSR6:
DJNZR0,TSR6;时序要求延时一段时间
TSR7:
SETBP1.0
RET;读出转换后的温度值
GET_TEMPER:
SETBP1.0
LCALLINIT_1820;先复位DS18B20
JBFLAG1,TSS2
RET;判断DS1820是否存在?
若DS18B20不存在则返回
TSS2:
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820
MOVA,#44H;发出温度转换命令
LCALLWRITE_1820转换结束,12位的话750微秒
LCALLDISPLAY
LCALLINIT_1820;准备读温度前先复位
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820
MOVA,#0BEH;发出读温度命令
LCALLWRITE_1820
LCALLREAD_18200;将读出的温度数据保存到35H/36H
RET;写DS18B20的子程序(有具体的时序要求)
WRITE_1820:
MOVR2,#8
CLRC
WR1:
CLRP1.0
MOVR3,#6
DJNZR3,$
RRCA
MOVP1.0,C
MOVR3,#23
DJNZR3,$
SETBP1.0
NOP
DJNZR2,WR1
RET;读DS18B20的程序,从DS18B20中读出两个字节的温度数据
READ_18200:
MOVR4,#2;将温度高位和低位从DS18B20中读出
MOVR1,#29H
RE00:
MOVR2,#8;数据一共有8位
RE01:
CLRC
SETBP1.0
NOP
CLRP1.0
NOP
SETBP1.0
MOVR3,#9
RE10:
DJNZR3,RE10
MOVC,P1.0
MOVR3,#23
RE20:
DJNZR3,RE20
RRCA
DJNZR2,RE01
MOV@R1,A
DECR1
DJNZR4,RE00
RET
DISPLAY:
CLRC
SUBBA,#30
JNBCY,T1
MOVA,B
CLRC
SUBBA,#25
JNBCY,XIANSHI
CLRP1.1
LJMPXIANSHI
T1:
CLRP1.2
XIANSHI:
MOVA,B
MOVB,#10;10进制/10=10进制
DIVAB
MOVB_BIT,A;十位在A
MOVA_BIT,B;个位在B
MOVR0,#4
DPL1:
MOVR1,#250;显示1000次
DPLOP:
MOVDPTR,#NUMTAB1
MOVA,A_BIT;取个位数
MOVCA,@A+DPTR;查个位数的7段代码
MOVP0,A;送出个位的7段代码
CLRP2.1;开个位显示
ACALLD1MS;显示1MS
SETBP2.1
MOVDPTR,#NUMTAB
MOVA,B_BIT;取十位数
MOVCA,@A+DPTR;查十位数的7段代码
MOVP0,A;送出十位的7段代码
CLRP2.2;开十位显示
ACALLD1MS;显示1MS
SETBP2.2
MOVA,31H
MOVB,#160
DIVAB
MOVXS,B
XSW:
MOVA,XS
MOVCA,@A+DPTR
MOVP0,A
CLRP2.0
ACALLD1MS
SETBP2.0
DJNZR1,DPLOP
DJNZR0,DPL1
RET
D1MS:
MOVR7,#80
DJNZR7,$
RET
NUMTAB:
DB3FH,06H