小型开水房锅炉自动控制设计文档格式.docx
《小型开水房锅炉自动控制设计文档格式.docx》由会员分享,可在线阅读,更多相关《小型开水房锅炉自动控制设计文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
目前,集成温度传感器在温度检测系统中应用越来越多,而其输出信号形式大致有电压、电流和数字三类。
(a)正电源供电(b)负电源供电(c)输出极性颠倒
图3AN6700S的连接方式
方案一:
采用输出电压式集成温度传感器AN6700S
电压式温度传感器AN6700S是日本松下公司研制的一种具有灵敏度高、线性
度好、高精度和快速响应的特点的电压输出型集成温度传感器,它有四个引脚,其接线方式有三种:
正电源供电、负电源供电、输出极性颠倒,如图3.2所示。
其中1、2脚为输出端,3、4接外部校正电阻RC,用来调整25C下的输出电压,使其等于5V,RC的阻值在3~30k范围内。
这时灵敏度可达109~+110mV/C,在-10~80C范围内基本误差不超过1C,温度的分辨率可达0.1C。
这种集成传感器在静止空气中的时间常数为24s,在流动空气中为11s。
电源电压在5-15V间变化,所引起的测温误差一般不超过2C。
整个集成电路的电流值一般为0.4mA,最大不超过0.8mA(RL=∞时)。
实验证明:
如果环境温度为20C,当RC=1k时,AN6700S输出电压为3.189V;
当RC=10k时,AN6700S输出电压为4.792V;
当RC=100k时,AN6700S输出电压为6.175V。
因此,使用AN6700S检测一般环境温度时,适当调整校正电阻RC,不用放大器可直接将输出信号送入A/D转换器,再给微处理器进行处理、显示、打印或存储等。
AN6700S虽然灵敏度高,响应速度快,但用于测量水温,相对测温范围过窄[2]。
方案二:
采用输出数字式集成温度传感器DS18B20
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9—112位的数字值读数方式。
DS18B20的性能特点如下:
◆独特的单线接口仅需要一个端口引脚进行通信;
◆多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
◆无须外部器件;
◆可通过数据线供电,电压范围为3.0—5.5V;
◆零待机功耗;
◆温度以9或者说12位数字量读出;
◆用户可定义的非易失性温度报警设置;
◆报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
◆负电压性,电源杉性接反时,温度计不会发热而烧毁,但不能正常工作。
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图4所示[3]。
其特点是:
可将被测温度直接转换成计算机能识别的9到12位(最高位为符号位,即“1”为正温度,“2”为负温度)二进制数字信号输出;
精度高;
信息传送只需一根信号线;
每个DS18B20包括一个全球唯一的64位长的序列号,其中开始的8位是产品的类型编号(28H),接着的48位是每个器件唯一的序号,最后的8位是前56位的CRC(循环冗余校验)码;
且有数据总线供电和外部供电(电源电压范围为3.0~5.5V)两种供电方式。
单线式数字温度传感器DS18B20测温范围为-55~125C,精度为2C,而在-10~85C范围内,其精度为0.5C,其转换时间与温度分辨率设置组合关系如表1所示。
图4DS18B20内部结构
表1分辨率设置与转换时间关系
R1
R2
分辨率设置
转换时间(ms)
9位
93.75
1
10位
187.5
11位
375
12位
750
DS18B20的测温原理如图5所示。
图中低温度系数晶振的振荡频率受温度影响极小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。
计数门的开启时间由高温度系数振荡吕来决定,每次测量前,首先将-55C所对应的一个基数分别置入减法计数器1、温度寄存器中,减法计数器1和温度寄存器被在-55C所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被
装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
图5DS18B20测温原理
3.2水位检测与控制
所谓水位控制,是通过设定水位,实现当锅炉里实际水位低于设定的水位下限时自动加水和当实际水位高于设定的水位上限时自动停水的功能,其控制过程如图6所示。
图6水位控制过程
用压力传感器检测水位
用压力传感器来检测锅炉里的水位,需要机械辅助部件,而机械部件结构过于复杂。
用光敏三极管检测水位
用高亮二极管与光敏三极管3DU配合检测水位,不透明悬浮物随水位而上下移动,其示意图如图7所示。
以安装在最下面的高亮二极管和三极管为例,来说明其检测水位的原理。
当水位未到达安装位置时,高亮二极管发出的光就能透过玻璃管和水到达光敏三极管,此时光敏三极管就会导通;
当水位到达安装位置时,不透明悬浮物就会挡住高亮二极管发出的光,此时光敏三极管不导通[4]。
3.3单片机选择
单片机具有体积小、功能强、可靠性高、价格低廉等一系列优点,而且种类很多,可以有以下几种方案。
采用8051作为开水房开水控制系统的单片机
8051片内有4kROM,无需外接存储器和逻辑电路373,更能体现“单片”的简练。
但是我们编写的程序无法自己烧写到其ROM中,只有将程序交芯片厂代我们烧写,并且是一次性的,今后我们和芯片厂都不能改写其内容。
图7水位检测示意图
采用AT89C51作为开水房开水控制系统的单片机
在众多的51系列单片机中,要算ATMEL公司的AT89C51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为ATMELAT89Cx做的均带有这些功能。
显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。
写入单片机
内的程序还可以进行加密,这又很好地
保护了你的劳动成果。
何况,AT89C51目前的售价比8031还低,市场供应也很充足。
单对AT89C51来说,在实际电路中可以直接互换8051或8751,替换8031只是第31脚有区别,8031因内部没有ROM,31脚需接地(GND),单片机在启动后就到外面程序存储器读取指令;
而8051、8751和AT89C51因内部有程序存储器,31脚接高电平(VCC),单片机启动后直接在内部读取指令。
也就是51芯片的31脚控制着单片机程序从内部读取还是从外部读取,31脚接电源,程序从内部读取,31脚接地,程序从外部读取。
其他无须改动。
另外,AT89C51替换8031后因不用外存储器,不必安装原电路的外存储器和373芯片。
方案三:
采用AT89S852作为开水房开水控制系统的单片机
单片机AT89S52是ATMEL公司在单片机AT89C51的基础上推出的更新产品。
以前的开发要用EPROM,需要编程器把程序写入EPROM中。
重新写入时,需要用紫外线灯(EPROM擦除器)擦除,擦完后还要校验,非常不便。
现在片内带有EEPROM的单片机AT89S52开发起来真是方便多了,EEPROM既像静态RAM那样读写简便,又在掉电时数据不会丢失的,大大简化应用系统结构。
另外一般EPROM中的程序很容易被复制,OTP单片机可以把保密熔丝烧断以保密,而有的EEPROM单片机有种“锁”,使别人无法读取其中的程序,若要读,EEPROM中原来的信息会自动销毁,就达到了保密的目的。
目前很多单片机都支持在系统编程。
8051系列单片机支持在系统编程的也很多,但大多数是支持通过PC机的串口对单片机进行编程。
这样有四个不方便的地方:
一是项目本身与PC机串行通信不方便;
二是要增加1片MAX232电平转换芯片;
三是有的芯片要按特定的步骤进入下载模式,编程过程需要手工干预;
四是有的芯片需要固件(定制的程序)的支持,如果不小心损坏了固件,则芯片的在系统编程功能也没有了。
而AT89S52可通过SPI接口在系统串行编程。
经过仔细比较,ATMEL公司生产的AT89s52是一种比较理想的芯片。
此芯片有如下特点:
◆与8051兼容;
◆内含4KB的Flash程序存储器;
◆可通过SPI接口在系统串行编程,与8051兼容;
◆串行编程时有自动擦写周期,在调试大程序时可以分段下载,节约时间;
◆低电压下载,无需12V编程电压。
3.4显示模块
用单片机进行数码显示应具有显示器件,显示器件是人与开水房控制系统沟通的重要媒介,目前比较常见的显示器件有LED显示模块和LCD显示模块。
采用LED显示模块
在单片机系统中,通常用LED数码显示模块来显示各种数字或符号。
由于它具有显示清晰、性能好、亮度高、使用电压低、光电转换效能高、寿命长的特点,
因此使用非常广泛。
LED数码显示模块又称七段数码管,习惯上说是七段,实际含小数点是八段。
八段LED显示器由八个发光二极管组成,其结构如图8(a)所示。
基中7个长条形的发光管排列成“日”字形,另一个圆点形的发光管在显示器的右下角作为显示小数点用。
它能显示各种数字及部份英文字母。
LED显示器有两种不同的形式:
一种是八个发光二极管的阳极都连在一起的,称之为共阳极LED显示器,其连接方式如图8(b)所示;
另一种是八个发光二极管的阴极都连在一起的,称之为共阴极LED显示器,
其连接方式如图8(c)所示。
共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。
当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。
八个笔划段h、g、f、e、d、c、b、a对应于一个字节(八位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用八位二进制码就可以表示欲显示字符的字形代码。
采用LCD显示模块
LCD显示模块有如下特点:
◆功率消耗小;
◆体积小;
◆显示质量高;
◆可以和单片机AT89C51直接接口。
图8八段数码管结构示意图
液晶显示模块以其微功耗、“身材”匀称小巧、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
只是其价格稍高于LED显示模块。
本设计拟采用了LCD显示模块,但由于没有及时购买到就选用了LED显示模块用单片机进行数码显示应具有显示器件,显示器件是人与开水房控制系统沟通的重要媒介,目前比较常见的显示器件有LED显示模块和LCD显示模块。
3.5按键模块
三个控制按键用按钮开关来实现,如图9所示。
标“R”字母的按键用来使系统手动复位。
标“S”字母的按键用来设定锅炉里水的温度,同时有取消报警
3.6电源模块
本控制系统采用5V直流稳压电源供电,即220V电压经变压器降压,然后整流、滤波,最后经7805管稳压后给系统供电,从而实现弱电控制强电,如图10所示。
图10电源模块原理图
的功能。
标“+”和“-”符号的按键分别用来增减设定温度值,步进值为一摄
氏度。
标“-”符号的按键还有恢复报警的功能。
不在设置功能时,“-”有手动与自动的切换功能。
手动时,标“S”字母的按键还有加水的功能,标“+”的按键有还热的功能。
4系统的具体设计与实现
单片机系统是整个开水房开水控制系统的核心,他既是整个系统工作的控制器,又是数据的处理器,具体电路如图11(a)所示,其制板图如图11(b)所示。
4.1温度控制模块
DS18B20有三脚TO-92封装和八脚SOIC封装两种,本设计所用的DS18B20为TO-92封装。
由于其输出是数字信号,且是TTL电平,因此,使用非常方便。
图12以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。
图
12(a)中DS18B20采用寄生电源方式,其VDD和GND端均接地,图12(b)中DS18B20采用外接电源方式,其VDD端用3V~5.5V电源供电。
本设计采用寄生电源方式,由单片机的P1.7口与DS18B20组成温度检测系统,具体电路如图13所示[5]。
4.2水位控制模块
发射、接收的具体电路如图13所示,R1、R2均起降压限流保护作用。
四对高亮二极管和光敏三极管分别安装在四个不同的位置,由上至下四个输出端口分别接单片机的P1.0、P1.1、P1.2、P1.3口,实时对锅炉里的水位进行检测。
当水位到达某一光敏三极管的位置时,其输出端口就向单片机输出高电平;
当水位低于此光敏三极管的位置时,其输出端口就向单片机输出低电平。
由上至下的第一个位置为水位上限报警线,即当水位高于此位置时,开水房控制系统就会自动
图11(a)原理图
图11(b)PCB图
报警,提醒工作人员注意,加水电磁阀有可能出故障;
第二个位置是自动停止加水线,即当水位高于此位置时,控制系统会自动关闭加水电磁阀,停止加水;
第三个位置是自动加水线,即当水位低于此位置时,控制系统会自动接通加水电磁阀,开水加水;
第四个位置是水位下限报警线,即当水位低于此位置时,开水房控制系统就会自动报警,提醒工作人员注意,加水电磁阀可能出故障。
4.3显示模块
在单片机应用系统中,LED显示模块显示常用两种方法:
静态显示和动态扫描显示。
所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电
路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。
可以提供单独锁存的I/O接口电路很多,串并转换电路74LS164最为常用。
MCS-51单片机串行口方式1为移位寄存器方式,外接三片74LS164作为三位LED显示器的静态显示接口,把AT89S8252的RXD作为数据输出线,TXD作为移位时钟脉冲。
74LS164为TTL单向位移位寄存器,可实现串行输入,并
图12DS18B20的典型连接
行输出。
其中A、B(第1、2脚)为串
行数
图13水位信号采集电路
据输入端,两个引脚按逻辑与运算
规律输入信号,共一个输入信号时可并接。
CLK(第8脚)为时钟输入端,可连接到串行口的TXD端。
每一个时钟信号的上升沿加到CLK端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。
(第9脚)为复位端,当
=0时,移位寄存
器各位复0,只有当
=1时,时钟脉冲才起作用。
Q0、Q1、Q2、Q3、Q4、Q5、Q6、Q7并行输出端分别接LED显示模块的e、d、c、dp、b、a、f、g各段对应的引脚上。
三片7LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第三个8个脉冲完成后,首次送出的数据被送到了第三片
74LS164中,其他数据依次出现在第一、二、三片74LS164中。
在第一个脉冲到来时,除了第一片74LS164中接收数据外,其他两片也在接收数据,因为它们的时钟端都是被接在一起的,可是数据还没有送到其他各片呢,它们在接收什么数据呢?
其实所谓数据不过是一种说法而已,实际就是电平的高低,当第一个脉冲到来时,第一片164固然是从单片机接收数据了,而其它各片也接到前一片的Q7上,而Q7是一根电线,在数字电路中它只可能有两种状态:
低电平或高电平,也就是“0”或“1”。
所以它的下一片74LS164也相当于是在接收数据。
只是接收的全部是0或1而已。
显示电路由共阳数码管和74LS164组成,采用静态显示方式显示测量温度,具体电路如图14所示。
图14(a)原理图
图14(b)PCB图
4.4执行模块
开水房控制系统执行机构通过继电器来控制加热电热丝和水泵来实现水位和水温的自动控制,具体电路如图15所示。
5软件设计
5.1系统总软件流程图
系统软件流程图如图16所示。
5.2温度测量部分
5.2.1温度部分主程序
图15(a)执行部分原理图
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1S进行一次。
其程序流程图见图17(附录一)。
5.2.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图18所示(附录一)。
5.2.3温度转换命令子程序
图15(b)PCB图
温度转换命令子程式序主要是发温度转换开
始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1S显示程序延时法等待转换的完成。
温度转换命令子程序流程图如图19所示(附录一)。
5.3显示部分
单片机对三个数码管传送数据并进行显示,其软件流程图如图20所示(附录一)。
6结束语
本文介绍了单片机在小型开水房系统中的应用,采用数字温度传感器和光敏三极管使系统硬件大为简化,系统动作准确,提高了资源的利用率,大有推广应用的价值。
由于系统工作的场合不确定,干扰信号也不一样,在干扰较强时,系统工作不够稳定,在以后的研究中应从系统的抗干扰方面努力,使系统实现无人值守工作,也可以节约人力资源。
谢辞
在本系统设计过程中,要特别感谢指导老师刘法治在设计时耐心的指导并在系统整体设计方面给予的很多宝贵的意见和建议。
另外,在设计过程中还得到了李国厚老师和邵锋老师以及其它同学的帮助,在此表示忠心的感谢。
参考文献
[1]魏庆涛.单片机在炉温控制中的应用[J],现代电子技术,2006,7,119-120
[2]李小玲.传感器与检测技术在机电一体化系统中的应用[J].现代电子技术,2006,1,121-122
[3]金伟正.单线数字温度传感器的原理及用[M].电子工业出版社,2000
[4]张洪润,张亚凡.传感技术与应用教程[M].清华大学出版社,2005
[5]李光飞,楼然苗.单片机课程设计实例指导[M].北京航空航天大学出版社,2004
[6]刘星平.基于PLC及其网络的智能炉温控制系统[J].电气应用,2006.320-22
[7]松井邦彦[日]著,梁瑞林译.传感器实用电路设计—制作[M].科学出版社,2005
[8]李明,徐向东.用容错技术提高锅炉控制系统的可靠性[J].清华大学学报,1999,(39)3,88-91
[9]王永平,陈建华.基于S7—200PLC的高性能电热锅炉控制系统[J].仪表技术与传感器,2002,(3)26-28
[10]吴春旺,陈霞.锅炉汽包水位调节控制系统设计[J].电工技术,2006,3,71-72
[11]杨 智,明丽萍,吕雪艳.21世纪燃气锅炉在中国的发展前景[J].锅炉制造,2001,7
[12]宋书中,葛玻.通用型工业过程控制器及在温控中的应用[J].电气自动验化,2000,6,34-36
附录一
附录二
程序:
S1OKEQU5FH
TEMPUTEREQU39H
TEMPHEQU5EH
TEMPLEQU5DH
MS50EQU5CH
SIGNEQU5BH
S1BITP1.0
S2BITP1.1
S3BITP1.2
S4BITP1.3
ORG0000H
LJMPMAIN
ORG000BH
LJMPTOIT
ORG0030H
MAIN:
MOVSP,#60H
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBET0
SETBTR0
SETBEA
MOVTEMPH,#35
MOVTEMPL,#25
MOVTEMPUTER,#30;
温度最始值
MOVS1OK,#00H
MOVSIGN,#00H
MOV38H,#00H
MOV37H,#00H
MOV36H,#00H
ACALLDISP
ACALLT1S
;
主程序
START:
ACALLZHIXING
JBS1,NET1
ACALLT12MS
JNBS1,$
INCSIGN
MOVA,SIGN
CJNEA,#1,TIAO
ACALLTIAOTL
TIAO:
CJ